<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-cms-frodokem-01" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="FrodoKEM in the CMS">Use of FrodoKEM in the Cryptographic Message Syntax</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-frodokem-01"/>
    <author initials="M." surname="Chen" fullname="Meiling Chen">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <city>BeiJing</city>
          <country>China</country>
        </postal>
        <email>chenmeiling@chinamobile.com</email>
      </address>
    </author>
    <author initials="L." surname="Su" fullname="Li Su">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <city>BeiJing</city>
          <country>China</country>
        </postal>
        <email>suli@chinamobile.com</email>
      </address>
    </author>
    <author initials="G." surname="Wang" fullname="Guilin Wang">
      <organization>Huawei Int. Pte Ltd</organization>
      <address>
        <postal>
          <city>Singapore</city>
          <country>Singapore</country>
        </postal>
        <email>wang.guilin@huawei.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <area>Security</area>
    <workgroup>lamps</workgroup>
    <keyword>Internet-Draft</keyword>
    <keyword>keyword2</keyword>
    <abstract>
      <?line 59?>

<t>FrodoKEM is a quantum-resistant key encapsulation mechanism (KEM) based on the standard Learning With Errors (LWE) problem，standardized by ISO. FrodoKEM offers multiple parameter sets, with the recommended sets for general use including (e)FrodoKEM-976-AES and (e)FrodoKEM-976-SHAKE for security level 3, and (e)FrodoKEM-1344-AES and (e)FrodoKEM-1344-SHAKE for security level 5. This document specifies the conventions for using FrodoKEM in the Cryptographic Message Syntax (CMS), using the KEMRecipientInfo structure defined in "Use of Key Encapsulation Mechanism (KEM) Algorithms in the Cryptographic Message Syntax (CMS)" <xref target="RFC9629"/>.</t>
    </abstract>
  </front>
  <middle>
    <?line 63?>

<section anchor="notes-of-change">

      <name>Notes of Change</name>
      <t>Changes made in version draft-ietf-lamps-cms-frodokem-01:</t>
      <ul spacing="normal">
        <li>
          <t>Remove redundant ID naming.</t>
        </li>
        <li>
          <t>Change to capital letters at frodokemCapabilities.</t>
        </li>
      </ul>
      <t>Changes made in version draft-ietf-lamps-cms-frodokem-00:</t>
      <ul spacing="normal">
        <li>
          <t>Add IANA considerations.</t>
        </li>
        <li>
          <t>Add Appendix A.</t>
        </li>
        <li>
          <t>Editorial revision.</t>
        </li>
      </ul>
      <t>Changes made in version draft-chen-lamps-cms-frodokem-01:</t>
      <ul spacing="normal">
        <li>
          <t>Update the references with two individual drafts of CFRG.</t>
        </li>
        <li>
          <t>Change the citation of FrodoKem from I-D.LBES25 to ISO18033-2-AMD2.</t>
        </li>
      </ul>
    </section>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>FrodoKEM <xref target="ISO18033-2-AMD2"/> is one of three KEMs in the process of ISO standardization [FrodoKEM]. Its security is based on a well-studied hard problem in unstructured lattices, called the learning with errors problem. There are Internet drafts on the algorithm specification of FrodoKEM <xref target="I-D.draft-longa-cfrg-frodokem"/> and how to securely use it <xref target="I-D.draft-longa-cfrg-frodokem-security-considerations"/>. FrodoKEM has both AES and SHAKE variants to offer optimized performance across different hardware platforms. AES variants are highly suitable for devices with hardware acceleration for AES (like AES-NI on Intel processors). SHAKE variants provide competitive or better performance on platforms lacking AES hardware acceleration (such as many embedded systems and general-purpose CPUs). To cover both scenarios, this specification SHALL include both variants.</t>
      <t><xref target="RFC9629"/> defines the KEMRecipientInfo structure for the use of KEM algorithms in the CMS enveloped-data, authenticated-data, and authenticated-enveloped-data content types. This document specifies the conventions for the direct use of eight recommended FrodoKEM parameter sets within the KEMRecipientInfo structure: (e)FrodoKEM-976-AES, (e)FrodoKEM-976-SHAKE, (e)FrodoKEM-1344-AES and (e)FrodoKEM-1344-SHAKE.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC8174">RFC2119</xref>.</t>
      </section>
      <section anchor="frodokem">
        <name>FrodoKEM</name>
        <t>FrodoKEM <xref target="ISO18033-2-AMD2"/> is one of three KEMs in the process of ISO standardization [FrodoKEM].  Its security is based on a well-studied hard problem in unstructured lattices, called the learning with errors problem. In total, FrodoKEM [FrodoKEM] has 12 variants.  Namely, it offers 3 NIST security levels 1, 3, and 5; the pseudorandom generator (PRG) uses AES128 or SHAKE 128; and the KEM public key can be a long-term key (standard mode) or a short-term key (ephemeral mode).</t>
        <t>According to the current standardization progress in ISO, FrodoKEM will be standardized for only 8 variants for NIST security levels 3 and 5.  Namely, there are (e)FrodoKEM-976 and (e)FrodoKEM-1344, but not (e)FrodoKEM-640 for security level 1.  To align with ISO, this specification specifies the use of (e)FrodoKEM variants for security
   levels 3 and 5 only, not variants for security level 1.</t>
        <t>Based on the above, this document specifies only eight variants of (e)FrodoKEM for Cryptographic Message Syntax.  Namely, (e)FrodoKEM-976-AES and (e)FrodoKEM-976-SHAKE for security level 3, and
   (e)FrodoKEM-1344-AES and (e)FrodoKEM-1344-SHAKE for security level 5.</t>
        <t>Key encapsulation mechanism (KEM) is a kind of key exchange, which allows one entity to encapsulate a secret under a (long-term or ephemeral) public key of another entity. By following the definition given in [W-D.K25], a KEM consists of three algorithms:</t>
        <ul spacing="normal">
          <li>
            <t>KeyGen(k) -&gt; (pk, sk): A probabilistic key generation algorithm, which generates a public encapsulation key pk and a secret decapsulation key sk, when a security parameter k is given.</t>
          </li>
          <li>
            <t>Encaps(pk) -&gt; (ct, ss): A probabilistic encapsulation algorithm, which takes as input a public encapsulation key pk and outputs a ciphertext ct and a shared secret ss.</t>
          </li>
          <li>
            <t>Decaps(sk, ct) -&gt; ss: A decapsulation algorithm, which takes as input a secret decapsulation key sk and ciphertext ct and outputs a shared secret ss.</t>
          </li>
        </ul>
        <t>FrodoKEM comes in several parameter sets, each designed to meet one of the NIST Post-Quantum Cryptography (PQC) security levels. Here is a table summarizing the key sizes for the main variants of FrodoKEM.</t>
        <artwork><![CDATA[
   +-------+----------------+--------+--------+------------+--------+
   | Level | Algorithms     | Public | Secret | Ciphertext | Shared |
   |       |                | Key pk | Key sk | ct         | Secret |
   |       |                |        |        |            | ss     |
   +-------+----------------+--------+--------+------------+--------+
   | 3     | FrodoKEM-976   | 15,632 | 31,296 | 15,792     | 24     |
   +-------+----------------+--------+--------+------------+--------+
   | 3     | eFrodoKEM-976  | 15,632 | 31,296 | 15,744     | 24     |
   +-------+----------------+--------+--------+------------+--------+
   | 5     | FrodoKEM-1344  | 21,520 | 43,088 | 21,696     | 32     |
   +-------+----------------+--------+--------+------------+--------+
   | 5     | eFrodoKEM-1344 | 21,520 | 43,088 | 21,632     | 32     |
   +-------+----------------+--------+--------+------------+--------+

   Table 1: Size (in bytes) of keys and ciphertexts of FrodoKEM
]]></artwork>
      </section>
    </section>
    <section anchor="use-of-the-frodokem-algorithm-in-the-cms">
      <name>Use of the FrodoKEM Algorithm in the CMS</name>
      <t>The FrodoKEM algorithm MAY be used for one or more recipients in the CMS enveloped-data content type <xref target="RFC5652"/>, the CMS authenticated-data content type <xref target="RFC5652"/>, or the CMS authenticated-enveloped-data content type <xref target="RFC5083"/>. In each case, the KEMRecipientInfo <xref target="RFC9629"/> structure is used with the FrodoKEM algorithm to securely transport a content-encryption key from an originator to a recipient.</t>
      <t>The steps for processing FrodoKEM with KEMRecipientInfo follow Section 2 of <xref target="RFC9629"/>. To support the FrodoKEM algorithm, a CMS originator MUST implement the Encapsulate() function, and a CMS recipient MUST implement the Decapsulate() function.</t>
      <section anchor="recipientinfo-conventions">
        <name>RecipientInfo Conventions</name>
        <t>When the FrodoKEM algorithm is used for a recipient, the RecipientInfo choice for that recipient MUST be the OtherRecipientInfo choice using the KEMRecipientInfo structure defined in <xref target="RFC9629"/>. The fields of KEMRecipientInfo have the following meanings:</t>
        <ul spacing="normal">
          <li>
            <t>version is the syntax version number; it MUST be 0.</t>
          </li>
          <li>
            <t>rid identifies the recipient's certificate or public key.</t>
          </li>
          <li>
            <t>kem identifies the KEM algorithm; it MUST contain one of id-kem-frodokem976-shake, id-kem-frodokem1344-shake, id-kem-efrodokem976-shake, id-kem-efrodokem1344-shake, id-kem-frodokem976-aes, id-kem-frodokem1344-aes, id-kem-efrodokem976-aes or id-kem-efrodokem1344-aes. These identifiers are reproduced in Section 3.</t>
          </li>
          <li>
            <t>kemct is the ciphertext generated for this recipient.</t>
          </li>
          <li>
            <t>kdf identifies the key derivation algorithm. Implementations MUST support the HKDF <xref target="RFC5869"/> with SHA-256 [FIPS180] using the id-alg-hkdf-with-sha256 KDF object identifier <xref target="RFC8619"/>. As specified in <xref target="RFC8619"/>, when this object identifier appears in an ASN.1 type AlgorithmIdentifier, the parameters field MUST be absent. Implementations MAY support other KDFs.</t>
          </li>
          <li>
            <t>kekLength is the size of the key-encryption key in octets.</t>
          </li>
          <li>
            <t>ukm is an optional input to the key derivation function. The secure use of FrodoKEM in the CMS does not depend upon the use of the ukm value, and therefore this document has no requirements for this value. See Section 3 of <xref target="RFC9629"/> for more information on the ukm parameter.</t>
          </li>
          <li>
            <t>wrap identifies the key-encryption algorithm used to encrypt the content-encryption key.  </t>
            <ul spacing="normal">
              <li>
                <t>Implementations supporting FrodoKEM-976-AES or FrodoKEM-976-SHAKE MUST support the AES-Wrap-192 Key Wrap algorithm <xref target="RFC3394"/>, using the id-aes192-wrap key-encryption algorithm object identifier <xref target="RFC3565"/>.</t>
              </li>
              <li>
                <t>Implementations supporting FrodoKEM-1344-AES or FrodoKEM-1344-SHAKE MUST support the AES-Wrap-256 Key Wrap algorithm <xref target="RFC3394"/>, using the id-aes256-wrap key-encryption algorithm object identifier <xref target="RFC3565"/>.</t>
              </li>
              <li>
                <t>Implementations MAY support other key-encryption algorithms.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="underlying-components">
        <name>Underlying Components</name>
        <t>When FrodoKEM is used in CMS, the underlying components used in the KEMRecipientInfo structure SHOULD be consistent with the desired minimum security level. To meet the requirements for the KDF and key-wrap algorithm from Section 7 of <xref target="RFC9629"/>, the table below provides the minimum requirements for the components used with FrodoKEM.</t>
        <artwork><![CDATA[
+------------+------------------+--------------+-------------+
| Security   |  Algorithm       | KDF preimage |Symmetric key|
|  Strength  |                  | strength     |encryption   |
|            |                  |              |strength     |
+------------+------------------+--------------+-------------+
| 192-bit    | FrodoKEM-976-AES | 192-bit      |192-bit      |
+------------+------------------+--------------+-------------+
| 256-bit    | FrodoKEM-1344-AES| 256-bit      |256-bit      |
+------------+------------------+--------------+-------------+
Table 2: FrodoKEM KEMRecipientInfo component security levels
]]></artwork>
      </section>
      <section anchor="use-of-the-hkdf-based-key-derivation-function">
        <name>Use of the HKDF-based Key Derivation Function</name>
        <t>The HKDF function is a composition of the HKDF-Extract and HKDF-
   Expand functions.</t>
        <t>HKDF(salt, IKM, info, L)
     = HKDF-Expand(HKDF-Extract(salt, IKM), info, L)</t>
        <t>When used with KEMRecipientInfo, the salt parameter is unused, that
   is it is the zero-length string "".  The IKM, info and L parameters
   correspond to the same KDF inputs from Section 5 of <xref target="RFC9629"/>.  The
   info parameter is independently generated by the originator and
   recipient.  Implementations MUST confirm that L is consistent with
   the key size of the key-encryption algorithm.</t>
      </section>
      <section anchor="certificate-conventions">
        <name>Certificate Conventions</name>
        <t><xref target="RFC5280"/> specifies the profile for X.509 certificates used in Internet applications. FrodoKEM requires a static public key for the recipient, which the originator obtains from the recipient's certificate. The conventions for carrying a FrodoKEM public key are specified in <xref target="I-D.draft-smyslov-lamps-frodokem-certificates"/>.</t>
      </section>
      <section anchor="smime-capabilities-attribute-conventions">
        <name>SMIME Capabilities Attribute Conventions</name>
        <t>Section 2.5.2 of <xref target="RFC8551"/> defines the SMIMECapabilities attribute for advertising a partial list of algorithms that an S/MIME implementation can support. When constructing a CMS SignedData content type <xref target="RFC5652"/>, a compliant implementation MAY include the SMIMECapabilities attribute to announce support for one or more of the FrodoKEM algorithm identifiers.</t>
        <t>The SMIMECapability SEQUENCE representing a FrodoKEM algorithm MUST contain one of the FrodoKEM object identifiers in the capabilityID field. When one of the FrodoKEM object identifiers appears in the capabilityID field, the parameters MUST NOT be present.</t>
      </section>
    </section>
    <section anchor="identifiers">
      <name>Identifiers</name>
      <t>The identifiers for indicating the use of FrodoKEM in the CMS are defined in [CSOR] and <xref target="RFC8619"/>. For convenience, they are reproduced here.</t>
      <t>frodokem OBJECT IDENTIFIER ::= { iso(1) standard(0)
     encryption-algorithms(18033) part2(2)
     key-encapsulation-mechanism(2) 7 }</t>
      <artwork><![CDATA[
 id-kem-frodokem976-shake OBJECT IDENTIFIER ::= { frodokem 1 }

 id-kem-frodokem1344-shake OBJECT IDENTIFIER ::= { frodokem 2 }

 id-kem-efrodokem976-shake OBJECT IDENTIFIER ::= { frodokem 3 }

 id-kem-efrodokem1344-shake OBJECT IDENTIFIER ::= { frodokem 4 }

 id-kem-frodokem976-aes OBJECT IDENTIFIER ::= { frodokem 5 }

 id-kem-frodokem1344-aes OBJECT IDENTIFIER ::= { frodokem 6 }

 id-kem-efrodokem976-aes OBJECT IDENTIFIER ::= { frodokem 7 }

 id-kem-efrodokem1344-aes OBJECT IDENTIFIER ::= { frodokem 8 }
]]></artwork>
      <t>id-alg-hkdf-with-sha256 OBJECT IDENTIFIER ::= { iso(1)
    member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
    smime(16) alg(3) 28 }</t>
      <t>aes OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840)
    organization(1) gov(101) csor(3) nistAlgorithm(4) 1 }</t>
      <t>hashAlgs OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840)
    organization(1) gov(101) csor(3) nistAlgorithm(4) 2 }</t>
      <t>id-shake256 OBJECT IDENTIFIER ::= { hashAlgs 12 }</t>
      <t>id-aes192-wrap OBJECT IDENTIFIER ::= { aes 25 }
id-aes256-wrap OBJECT IDENTIFIER ::= { aes 45 }</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations sections of <xref target="I-D.draft-smyslov-lamps-frodokem-certificates"/> and <xref target="RFC9629"/> apply to this specification as well.</t>
      <t>Implementations MUST protect the FrodoKEM private key, the key-encryption key, the content-encryption key, the message-authentication key, and the content-authentication-encryption key. Of these keys, all but the private key are ephemeral and MUST be erased after use. Compromise of the FrodoKEM private key can lead to the compromise of all messages protected with that key.</t>
      <t>The generation of the private key and the FrodoKEM encapsulation function depend on random numbers. The use of inadequate pseudo-random number generators (PRNGs) to generate these values can result in little or no security. Generation of high-quality random numbers is difficult; see [FRODO-SPEC] for more information.</t>
      <t>The encapsulation and decapsulation of FrodoKEM only output the shared secret and the ciphertext. Implementations MUST NOT use the intermediate values directly for any purpose. Implementations SHOULD NOT leak information about the intermediate values or computations through timing or other "side channels", as an attacker may be able to determine information about keying data and/or the recipient's private key.</t>
      <t>In general, it is good cryptographic practice to use a given FrodoKEM key pair in only one scheme. This practice avoids the risk that a vulnerability in one scheme could compromise the security of the other.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>For the ASN.1 Module in Appendix A, IANA is requested to assign an object identifier (OID) for the module identifier (TBD) with a
   Description of "id-mod-cms-frodokem-2026".  The OID for the module should be allocated in the "SMI Security for S/
   MIME Module Identifier" registry (1.2.840.113549.1.9.16.0).</t>
      <artwork><![CDATA[
+------------+------------------------------+--------------+
| Decimal    |  Description                 | Reference    |
+------------+------------------------------+--------------+
| TBD        | id-mod-cms-frodokem-2026     | This RFC     |
+------------+------------------------------+--------------+

Table 3: Object Identifier Assignments
]]></artwork>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This document borrows heavily from draft-ietf-lamps-cms-kyber-13, [RFC9690], and the original FrodoKEM specification [FRODO-SPEC]. Thanks go to the authors of those documents.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3394">
          <front>
            <title>Advanced Encryption Standard (AES) Key Wrap Algorithm</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="October" year="2002"/>
            <abstract>
              <t>The purpose of this document is to make the AES Key Wrap algorithm 
conveniently available to the Internet community. The United States 
of America has adopted AES as the new encryption standard. The AES 
Key Wrap algorithm will probably be adopted by the USA for 
encryption of AES keys. The authors took most of the text in this 
document from the draft AES Key Wrap posted by NIST.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3394"/>
          <seriesInfo name="DOI" value="10.17487/RFC3394"/>
        </reference>
        <reference anchor="RFC3565">
          <front>
            <title>Use of the Advanced Encryption Standard (AES) Encryption Algorithm in Cryptographic Message Syntax (CMS)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This document specifies the conventions for using the Advanced Encryption Standard (AES) algorithm for encryption with the Cryptographic Message Syntax (CMS). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3565"/>
          <seriesInfo name="DOI" value="10.17487/RFC3565"/>
        </reference>
        <reference anchor="RFC5083">
          <front>
            <title>Cryptographic Message Syntax (CMS) Authenticated-Enveloped-Data Content Type</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="November" year="2007"/>
            <abstract>
              <t>This document describes an additional content type for the Cryptographic Message Syntax (CMS). The authenticated-enveloped-data content type is intended for use with authenticated encryption modes. All of the various key management techniques that are supported in the CMS enveloped-data content type are also supported by the CMS authenticated-enveloped-data content type. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5083"/>
          <seriesInfo name="DOI" value="10.17487/RFC5083"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="RFC5869">
          <front>
            <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5869"/>
          <seriesInfo name="DOI" value="10.17487/RFC5869"/>
        </reference>
        <reference anchor="RFC5912">
          <front>
            <title>New ASN.1 Modules for the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Public Key Infrastructure using X.509 (PKIX) certificate format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5912"/>
          <seriesInfo name="DOI" value="10.17487/RFC5912"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8551">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Message Specification</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="B. Ramsdell" initials="B." surname="Ramsdell"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 4.0. S/MIME provides a consistent way to send and receive secure MIME data. Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality. Compression can be used to reduce data size. This document obsoletes RFC 5751.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8551"/>
          <seriesInfo name="DOI" value="10.17487/RFC8551"/>
        </reference>
        <reference anchor="RFC8619">
          <front>
            <title>Algorithm Identifiers for the HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>RFC 5869 specifies the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) algorithm. This document assigns algorithm identifiers to the HKDF algorithm when used with three common one-way hash functions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8619"/>
          <seriesInfo name="DOI" value="10.17487/RFC8619"/>
        </reference>
        <reference anchor="RFC9629">
          <front>
            <title>Using Key Encapsulation Mechanism (KEM) Algorithms in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="J. Gray" initials="J." surname="Gray"/>
            <author fullname="T. Okubo" initials="T." surname="Okubo"/>
            <date month="August" year="2024"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS) supports key transport and key agreement algorithms. In recent years, cryptographers have been specifying Key Encapsulation Mechanism (KEM) algorithms, including quantum-secure KEM algorithms. This document defines conventions for the use of KEM algorithms by the originator and recipients to encrypt and decrypt CMS content. This document updates RFC 5652.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9629"/>
          <seriesInfo name="DOI" value="10.17487/RFC9629"/>
        </reference>
        <reference anchor="ISO18033-2-AMD2" target="https://www.iso.org/standard/86890.html">
          <front>
            <title>ISO/IEC 18033-2:2006/Amd 2, Information technology—Security techniques — Encryption algorithms — Part 2:symmetric ciphers, Amendment 2</title>
            <author>
              <organization>ISO</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.draft-longa-cfrg-frodokem">
          <front>
            <title>FrodoKEM: key encapsulation from learning with errors</title>
            <author fullname="Patrick Longa" initials="P." surname="Longa">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Joppe W. Bos" initials="J. W." surname="Bos">
              <organization>NXP Semiconductors</organization>
            </author>
            <author fullname="Stephan Ehlen" initials="S." surname="Ehlen">
              <organization>Federal Office for Information Security</organization>
            </author>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <date day="22" month="June" year="2026"/>
            <abstract>
              <t>   This internet draft specifies FrodoKEM, an IND-CCA2 secure Key
   Encapsulation Mechanism (KEM).

About This Document

   This note is to be removed before publishing as an RFC.

   Status information for this document may be found at
   https://datatracker.ietf.org/doc/draft-longa-cfrg-frodokem/.

   Source for this draft and an issue tracker can be found at
   github.com/dstebila/frodokem-internet-draft.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-longa-cfrg-frodokem-03"/>
        </reference>
        <reference anchor="I-D.draft-longa-cfrg-frodokem-security-considerations">
          <front>
            <title>Security Considerations for FrodoKEM</title>
            <author fullname="Patrick Longa" initials="P." surname="Longa">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Joppe W. Bos" initials="J. W." surname="Bos">
              <organization>NXP Semiconductors</organization>
            </author>
            <author fullname="Stephan Ehlen" initials="S." surname="Ehlen">
              <organization>Federal Office for Information Security</organization>
            </author>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <date day="22" month="June" year="2026"/>
            <abstract>
              <t>   ISO standardized FrodoKEM in June 2026 [ISO18033-2-AMD2].  This
   document provides security guidance for FrodoKEM for use in
   protocols.  It explains what security claims protocol designers may
   rely on, what assumptions and conditions are required, what parameter
   sets are in scope, and what implementors need to do to use FrodoKEM
   safely.  The scope follows the current FrodoKEM Internet-Draft
   [I-D.FrodoKEM].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-longa-cfrg-frodokem-security-considerations-00"/>
        </reference>
        <reference anchor="I-D.draft-smyslov-lamps-frodokem-certificates">
          <front>
            <title>Internet X.509 Public Key Infrastructure - Algorithm Identifiers for FrodoKEM</title>
            <author fullname="Valery Smyslov" initials="V." surname="Smyslov">
              <organization>ELVIS-PLUS</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   FrodoKEM is an unstructured lattice-based Key Encapsulation Mechanism
   (KEM).  Compared to ML-KEM, FrodoKEM is considered as having more
   conservative design.  This document specifies the conventions for
   using FrodoKEM in X.509 Public Key Infrastructure.  The conventions
   for the subject public keys and private keys are also specified.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-smyslov-lamps-frodokem-certificates-03"/>
        </reference>
      </references>
    </references>
    <?line 274?>

<section anchor="appendix-a-asn1-module">
      <name>Appendix A. ASN.1 Module</name>
      <t>This appendix includes the ASN.1 module [X680] for FrodoKEM.  This module imports objects from <xref target="RFC5912"/> and <xref target="RFC9629"/>.</t>

<figure><artwork><![CDATA[
<CODE BEGINS>
CMS-FRODOKEM-2026

  { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
    pkcs-9(9) smime(16) modules(0) id-mod-cms-frodokem-2026(TBD1) }

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS
  -- Imports for S/MIME Capabilities

  SMIME-CAPS
    FROM AlgorithmInformation-2009 -- [RFC5911]
      { iso(1) identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) id-mod(0)
        id-mod-algorithmInformation-02(58) }

  -- Import for the KEM Algorithm Class

  KEM-ALGORITHM
    FROM KEMAlgorithmInformation-2023 -- [RFC9629]
      { iso(1) identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) id-mod(0)
        id-mod-kemAlgorithmInformation-2023(109) }

  -- Imports from the FrodoKEM Certificate Profile specification

  id-kem-frodokem976-shake, id-kem-frodokem1344-shake,

  id-kem-efrodokem976-shake, id-kem-efrodokem1344-shake,

  id-kem-frodokem976-aes, id-kem-frodokem1344-aes,

  id-kem-efrodokem976-aes, id-kem-efrodokem1344-aes,

  pk-frodokem976-shake, pk-frodokem1344-shake,

  pk-efrodokem976-shake, pk-efrodokem1344-shake,

  pk-frodokem976-aes, pk-frodokem1344-aes,

  pk-efrodokem976-aes, pk-efrodokem1344-aes

    FROM X509-FRODOKEM-2026 -- [I-D.smyslov-lamps-frodokem-certificates]
      { iso(1) identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) id-mod(0)
        id-mod-frodokem-kem-2026(TBD2) };

--
-- FrodoKEM Key Encapsulation Mechanism Algorithms for CMS
-- These objects bind the algorithm OIDs to their corresponding public key
-- formats for use within the KEMRecipientInfo structure.
--

kema-frodokem976-shake KEM-ALGORITHM ::= {
  IDENTIFIER    id-kem-frodokem976-shake
  PARAMS        ARE absent
  PUBLIC-KEYS   { pk-frodokem976-shake }
  UKM           ARE optional
  SMIME-CAPS    { IDENTIFIED BY id-kem-frodokem976-shake }
}

kema-frodokem1344-shake KEM-ALGORITHM ::= {
  IDENTIFIER    id-kem-frodokem1344-shake
  PARAMS        ARE absent
  PUBLIC-KEYS   { pk-frodokem1344-shake }
  UKM           ARE optional
  SMIME-CAPS    { IDENTIFIED BY id-kem-frodokem1344-shake }
}

kema-efrodokem976-shake KEM-ALGORITHM ::= {
  IDENTIFIER    id-kem-efrodokem976-shake
  PARAMS        ARE absent
  PUBLIC-KEYS   { pk-efrodokem976-shake }
  UKM           ARE optional
  SMIME-CAPS    { IDENTIFIED BY id-kem-efrodokem976-shake }
}

kema-efrodokem1344-shake KEM-ALGORITHM ::= {
  IDENTIFIER    id-kem-efrodokem1344-shake
  PARAMS        ARE absent
  PUBLIC-KEYS   { pk-efrodokem1344-shake }
  UKM           ARE optional
  SMIME-CAPS    { IDENTIFIED BY id-kem-efrodokem1344-shake }
}

kema-frodokem976-aes KEM-ALGORITHM ::= {
  IDENTIFIER    id-kem-frodokem976-aes
  PARAMS        ARE absent
  PUBLIC-KEYS   { pk-frodokem976-aes }
  UKM           ARE optional
  SMIME-CAPS    { IDENTIFIED BY id-kem-frodokem976-aes }
}

kema-frodokem1344-aes KEM-ALGORITHM ::= {
  IDENTIFIER    id-kem-frodokem1344-aes
  PARAMS        ARE absent
  PUBLIC-KEYS   { pk-frodokem1344-aes }
  UKM           ARE optional
  SMIME-CAPS    { IDENTIFIED BY id-kem-frodokem1344-aes }
}

kema-efrodokem976-aes KEM-ALGORITHM ::= {
  IDENTIFIER    id-kem-efrodokem976-aes
  PARAMS        ARE absent
  PUBLIC-KEYS   { pk-efrodokem976-aes }
  UKM           ARE optional
  SMIME-CAPS    { IDENTIFIED BY id-kem-efrodokem976-aes }
}

kema-efrodokem1344-aes KEM-ALGORITHM ::= {
  IDENTIFIER    id-kem-efrodokem1344-aes
  PARAMS        ARE absent
  PUBLIC-KEYS   { pk-efrodokem1344-aes }
  UKM           ARE optional
  SMIME-CAPS    { IDENTIFIED BY id-kem-efrodokem1344-aes }
}

--
-- SMIME Capabilities Set for FrodoKEM
-- This set provides a convenient way to refer to all FrodoKEM capabilities.
--

FrodokemCapabilities SMIME-CAPS ::= {
  kema-frodokem976-shake.&smimeCaps |
  kema-frodokem1344-shake.&smimeCaps |
  kema-efrodokem976-shake.&smimeCaps |
  kema-efrodokem1344-shake.&smimeCaps |
  kema-frodokem976-aes.&smimeCaps |
  kema-frodokem1344-aes.&smimeCaps |
  kema-efrodokem976-aes.&smimeCaps |
  kema-efrodokem1344-aes.&smimeCaps,
  ...
}
END
<CODE ENDS>
]]></artwork>
  </figure>
  </section>      


  </back>
  <!-- ##markdown-source:
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
AA==

-->

</rfc>
