xref: /freebsd/crypto/openssl/doc/man7/EVP_KEM-ML-KEM.pod (revision e7be843b4a162e68651d3911f0357ed464915629)
1*e7be843bSPierre Pronchery=pod
2*e7be843bSPierre Pronchery
3*e7be843bSPierre Pronchery=head1 NAME
4*e7be843bSPierre Pronchery
5*e7be843bSPierre ProncheryEVP_KEM-ML-KEM-512, EVP_KEM-ML-KEM-768, EVP_KEM-ML-KEM-1024, EVP_KEM-ML-KEM
6*e7be843bSPierre Pronchery- EVP_KEM ML-KEM keytype and algorithm support
7*e7be843bSPierre Pronchery
8*e7be843bSPierre Pronchery=head1 DESCRIPTION
9*e7be843bSPierre Pronchery
10*e7be843bSPierre ProncheryThe B<ML-KEM> keytypes and parameters are described in L<EVP_PKEY-ML-KEM(7)>.
11*e7be843bSPierre ProncherySee L<EVP_PKEY_encapsulate(3)> and L<EVP_PKEY_decapsulate(3)> for more details
12*e7be843bSPierre Proncheryabout basic KEM operations.
13*e7be843bSPierre Pronchery
14*e7be843bSPierre Pronchery=head2 ML-KEM KEM parameters
15*e7be843bSPierre Pronchery
16*e7be843bSPierre Pronchery=over 4
17*e7be843bSPierre Pronchery
18*e7be843bSPierre Pronchery=item "ikme" (B<OSSL_KEM_PARAM_IKME>) <octet string>
19*e7be843bSPierre Pronchery
20*e7be843bSPierre ProncheryThe OpenSSL ML-KEM encapsulation mechanism can only be modified by
21*e7be843bSPierre Proncherysetting randomness during encapsulation, this enables testing, as per
22*e7be843bSPierre ProncheryFIPS 203, section 6.2, algorithm 17.
23*e7be843bSPierre Pronchery
24*e7be843bSPierre ProncheryThis parameter should not be used for purposes other than testing.
25*e7be843bSPierre Pronchery
26*e7be843bSPierre ProncheryWhen this parameter is not set, encapsulation proceeds as per FIPS 203,
27*e7be843bSPierre Proncherysection 7.2
28*e7be843bSPierre Pronchery
29*e7be843bSPierre ProncheryThis parameter is only settable.
30*e7be843bSPierre Pronchery
31*e7be843bSPierre Pronchery=back
32*e7be843bSPierre Pronchery
33*e7be843bSPierre ProncheryThis can be set when using EVP_PKEY_encapsulate_init().
34*e7be843bSPierre Pronchery
35*e7be843bSPierre Pronchery=head1 CONFORMING TO
36*e7be843bSPierre Pronchery
37*e7be843bSPierre Pronchery=over 4
38*e7be843bSPierre Pronchery
39*e7be843bSPierre Pronchery=item FIPS203
40*e7be843bSPierre Pronchery
41*e7be843bSPierre Pronchery=back
42*e7be843bSPierre Pronchery
43*e7be843bSPierre Pronchery=head1 SEE ALSO
44*e7be843bSPierre Pronchery
45*e7be843bSPierre ProncheryL<EVP_PKEY_encapsulate(3)>,
46*e7be843bSPierre ProncheryL<EVP_PKEY_decapsulate(3)>,
47*e7be843bSPierre ProncheryL<EVP_KEYMGMT(3)>,
48*e7be843bSPierre ProncheryL<EVP_PKEY(3)>,
49*e7be843bSPierre ProncheryL<provider-keymgmt(7)>
50*e7be843bSPierre Pronchery
51*e7be843bSPierre Pronchery=head1 HISTORY
52*e7be843bSPierre Pronchery
53*e7be843bSPierre ProncheryThis functionality was added in OpenSSL 3.5.
54*e7be843bSPierre Pronchery
55*e7be843bSPierre Pronchery=head1 COPYRIGHT
56*e7be843bSPierre Pronchery
57*e7be843bSPierre ProncheryCopyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved.
58*e7be843bSPierre Pronchery
59*e7be843bSPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
60*e7be843bSPierre Proncherythis file except in compliance with the License.  You can obtain a copy
61*e7be843bSPierre Proncheryin the file LICENSE in the source distribution or at
62*e7be843bSPierre ProncheryL<https://www.openssl.org/source/license.html>.
63*e7be843bSPierre Pronchery
64*e7be843bSPierre Pronchery=cut
65