<?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.20 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-kyber-certificates-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.24.0 -->
  <front>
    <title abbrev="ML-KEM in Certificates">Internet X.509 Public Key Infrastructure - Algorithm Identifiers for the Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-kyber-certificates-05"/>
    <author initials="S." surname="Turner" fullname="Sean Turner">
      <organization>sn3rd</organization>
      <address>
        <email>sean@sn3rd.com</email>
      </address>
    </author>
    <author initials="P." surname="Kampanakis" fullname="Panos Kampanakis">
      <organization>AWS</organization>
      <address>
        <email>kpanos@amazon.com</email>
      </address>
    </author>
    <author initials="J." surname="Massimo" fullname="Jake Massimo">
      <organization>AWS</organization>
      <address>
        <email>jakemas@amazon.com</email>
      </address>
    </author>
    <author initials="B." surname="Westerbaan" fullname="Bas Westerbaan">
      <organization>Cloudflare</organization>
      <address>
        <email>bas@westerbaan.name</email>
      </address>
    </author>
    <date year="2024" month="November" day="04"/>
    <area>SEC</area>
    <workgroup>LAMPS</workgroup>
    <keyword>ML-KEM Kyber KEM Certificate X.509 PKIX</keyword>
    <abstract>
      <?line 111?>

<t>The Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) is a
quantum-resistant key-encapsulation mechanism (KEM). This document
describes the conventions for using the ML-KEM in X.509 Public Key
Infrastructure. The conventions for the subject public keys and
private keys are also described.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://lamps-wg.github.io/kyber-certificates/#go.draft-ietf-lamps-kyber-certificates.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-lamps-kyber-certificates/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Limited Additional Mechanisms for PKIX and SMIME (lamps) Working Group mailing list (<eref target="mailto:spasm@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/spasm/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spasm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lamps-wg/kyber-certificates"/>.</t>
    </note>
  </front>
  <middle>
    <?line 119?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) standardized in
<xref target="FIPS203"/> is a quantum-resistant
key-encapsulation mechanism (KEM) standardized by the US National Institute
of Standards and Technology (NIST) PQC Project <xref target="NIST-PQC"/>. Prior to
standardization, the earlier versions of the mechanism were known as
Kyber. ML-KEM and Kyber are not compatible. This document specifies the use
of ML-KEM in Public Key Infrastructure X.509 (PKIX) certificates <xref target="RFC5280"/>
at three security levels: ML-KEM-512, ML-KEM-768, and ML-KEM-1024, using
object identifiers assigned by NIST. The private key format is also
specified.</t>
      <section anchor="applicability-statement">
        <name>Applicability Statement</name>
        <t>ML-KEM certificates are used in protocols where the public key is used to
generate and encapsulate a shared secret used to derive a symmetric key used
to encrypt a payload; see <xref target="I-D.ietf-lamps-cms-kyber"/>. To be used in TLS,
ML-KEM certificates could only be used as end-entity identity certificates
and would require significant updates to the protocol; see
<xref target="I-D.celi-wiggers-tls-authkem"/>.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="algorithm-identifiers">
      <name>Algorithm Identifiers</name>
      <t>The AlgorithmIdentifier type, which is included herein for convenience,
is defined as follows:</t>
      <artwork><![CDATA[
  AlgorithmIdentifier{ALGORITHM-TYPE, ALGORITHM-TYPE:AlgorithmSet} ::=
    SEQUENCE {
      algorithm   ALGORITHM-TYPE.&id({AlgorithmSet}),
      parameters  ALGORITHM-TYPE.
                    &Params({AlgorithmSet}{@algorithm}) OPTIONAL
    }
]]></artwork>
      <aside>
        <t>NOTE: The above syntax is from <xref target="RFC5912"/> and is compatible with the
  2021 ASN.1 syntax <xref target="X680"/>. See <xref target="RFC5280"/> for the 1988 ASN.1 syntax.</t>
      </aside>
      <t>The fields in AlgorithmIdentifier have the following meanings:</t>
      <ul spacing="normal">
        <li>
          <t>algorithm identifies the cryptographic algorithm with an object
identifier.</t>
        </li>
        <li>
          <t>parameters, which are optional, are the associated parameters for
the algorithm identifier in the algorithm field.</t>
        </li>
      </ul>
      <t>The AlgorithmIdentifier for a ML-KEM public key <bcp14>MUST</bcp14> use one of the
id-alg-ml-kem object identifiers listed below, based on the security
level. The parameters field of the AlgorithmIdentifier for the ML-KEM
public key <bcp14>MUST</bcp14> be absent.</t>
      <t>When any of the ML-KEM AlgorithmIdentifier appears in the
SubjectPublicKeyInfo field of an X.509 certificate, the key usage
certificate extension <bcp14>MUST</bcp14> only contain keyEncipherment
<xref section="4.2.1.3" sectionFormat="of" target="RFC5280"/>.</t>
      <artwork><![CDATA[
  nistAlgorithms OBJECT IDENTIFIER ::= { joint-iso-ccitt(2)
    country(16) us(840) organization(1) gov(101) csor(3)
    nistAlgorithm(4) }

  kems OBJECT IDENTIFIER ::= { nistAlgorithms 4 }

  id-alg-ml-kem-512 OBJECT IDENTIFIER ::= { kems 1 }

  id-alg-ml-kem-768 OBJECT IDENTIFIER ::= { kems 2 }

  id-alg-ml-kem-1024 OBJECT IDENTIFIER ::= { kems 3 }

  pk-ml-kem-512 PUBLIC-KEY ::= {
    IDENTIFIER id-alg-ml-kem-512
    -- KEY no ASN.1 wrapping --
    PARAMS ARE absent
    CERT-KEY-USAGE { keyEncipherment }
    --- PRIVATE-KEY no ASN.1 wrapping --
    }

  pk-ml-kem-768 PUBLIC-KEY ::= {
    IDENTIFIER id-alg-ml-kem-768
    -- KEY no ASN.1 wrapping --
    PARAMS ARE absent
    CERT-KEY-USAGE { keyEncipherment }
    --- PRIVATE-KEY no ASN.1 wrapping --
    }

  pk-ml-kem-1024 PUBLIC-KEY ::= {
    IDENTIFIER id-alg-ml-kem-1024
    -- KEY no ASN.1 wrapping --
    PARAMS ARE absent
    CERT-KEY-USAGE { keyEncipherment }
    --- PRIVATE-KEY no ASN.1 wrapping --
    }

    ML-KEM-PublicKey ::= OCTET STRING

    ML-KEM-PrivateKey ::= OCTET STRING
]]></artwork>
      <t>No additional encoding of the ML-KEM public key value is applied in
the SubjectPublicKeyInfo field of an X.509 certificate <xref target="RFC5280"/>.
However, whenever the ML-KEM public key value appears outside of a
certificate, it <bcp14>MAY</bcp14> be encoded as an OCTET STRING.</t>
      <t>No additional encoding of the ML-KEM private key value is applied in
the PrivateKeyInfo field of an Asymmetric Key Package <xref target="RFC5958"/>.
However, whenever the ML-KEM private key value appears outside of a
Asymmetric Key Package, it <bcp14>MAY</bcp14> be encoded as an OCTET STRING.</t>
    </section>
    <section anchor="subject-public-key-fields">
      <name>Subject Public Key Fields</name>
      <t>In the X.509 certificate, the subjectPublicKeyInfo field has the
SubjectPublicKeyInfo type, which has the following ASN.1 syntax:</t>
      <artwork><![CDATA[
  SubjectPublicKeyInfo {PUBLIC-KEY: IOSet} ::= SEQUENCE {
      algorithm        AlgorithmIdentifier {PUBLIC-KEY, {IOSet}},
      subjectPublicKey BIT STRING
  }
]]></artwork>
      <aside>
        <t>NOTE: The above syntax is from <xref target="RFC5912"/> and is compatible with the
  2021 ASN.1 syntax <xref target="X680"/>. See <xref target="RFC5280"/> for the 1988 ASN.1 syntax.</t>
      </aside>
      <t>The fields in SubjectPublicKeyInfo have the following meaning:</t>
      <ul spacing="normal">
        <li>
          <t>algorithm is the algorithm identifier and parameters for the
public key (see above).</t>
        </li>
        <li>
          <t>subjectPublicKey contains the byte stream of the public key.</t>
        </li>
      </ul>
      <t><xref target="example-public"/> contains examples for ML-KEM public keys
encoded using the textual encoding defined in <xref target="RFC7468"/>.</t>
    </section>
    <section anchor="private-key-format">
      <name>Private Key Format</name>
      <t>In short, an ML-KEM private key is encoded by storing its 64-octet seed in
the privateKey field as follows.</t>
      <t><xref target="FIPS203"/> specifies two formats for an ML-KEM private key: a 64-octet
seed and an (expanded) private key, which is referred to as the
decapsulation key. The expanded private key (and public key)
is computed from the seed using <tt>ML-KEM.KeyGen_internal(d,z)</tt> (algorithm 16)
using the first 32 octets as <em>d</em> and the remaining 32 octets as <em>z</em>.</t>
      <t>"Asymmetric Key Packages" <xref target="RFC5958"/> describes how to encode a private
key in a structure that both identifies what algorithm the private key
is for and allows for the public key and additional attributes about the
key to be included as well. For illustration, the ASN.1 structure
OneAsymmetricKey is replicated below.</t>
      <artwork><![CDATA[
  OneAsymmetricKey ::= SEQUENCE {
    version                  Version,
    privateKeyAlgorithm      SEQUENCE {
    algorithm                PUBLIC-KEY.&id({PublicKeySet}),
    parameters               PUBLIC-KEY.&Params({PublicKeySet}
                               {@privateKeyAlgorithm.algorithm})
                                  OPTIONAL}
    privateKey               OCTET STRING (CONTAINING
                               PUBLIC-KEY.&PrivateKey({PublicKeySet}
                                 {@privateKeyAlgorithm.algorithm})),
    attributes           [0] Attributes OPTIONAL,
    ...,
    [[2: publicKey       [1] BIT STRING (CONTAINING
                               PUBLIC-KEY.&Params({PublicKeySet}
                                 {@privateKeyAlgorithm.algorithm})
                                 OPTIONAL,
    ...
  }
]]></artwork>
      <aside>
        <t>NOTE: The above syntax is from <xref target="RFC5958"/> and is compatible with the
  2021 ASN.1 syntax <xref target="X680"/>.</t>
      </aside>
      <t>When used in a OneAsymmetricKey type, the privateKey OCTET STRING contains
the raw octet string encoding of the 64-octet seed. The publicKey field
<bcp14>SHOULD</bcp14> be omitted because the public key can be computed as noted earlier
in this section.</t>
      <t><xref target="example-private"/> contains examples for ML-KEM private keys
encoded using the textual encoding defined in <xref target="RFC7468"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The Security Considerations section of <xref target="RFC5280"/> applies to this
specification as well.</t>
      <t>Protection of the private-key information, i.e., the seed, is vital to
public-key cryptography.  Disclosure of the private-key material to another
entity can lead to masquerades.</t>
      <t>For ML-KEM specific security considerations refer to
<xref target="I-D.sfluhrer-cfrg-ml-kem-security-considerations"/>.</t>
      <t>The generation of private keys relies on random numbers. The use of
inadequate pseudo-random number generators (PRNGs) to generate these
values can result in little or no security.  An attacker may find it
much easier to reproduce the PRNG environment that produced the keys,
searching the resulting small set of possibilities, rather than brute
force searching the whole key space.  The generation of quality
random numbers is difficult, and <xref target="RFC4086"/> offers important guidance
in this area.</t>
      <t>ML-KEM key generation as standardized in <xref target="FIPS203"/> has specific
requirements around randomness generation, described in section 3.3,
'Randomness generation'.</t>
      <t>Key formats have implications on KEM binding properties, initially formalized
in <xref target="CDM23"/>. Per the analysis of the final <xref target="FIPS203"/> in <xref target="KEMMY24"/>, a
compliant instantiation of ML-KEM is LEAK-BIND-K-PK-secure and
LEAK-BIND-K-CT-secure when using the expanded key format, but not
MAL-BIND-K-PK-secure nor MAL-BIND-K-CT-secure. This means that the computed
shared secret binds to the encapsulation key used to compute it against a
malicious adversary that has access to leaked, honestly-generated key
material but is not capable of manufacturing maliciously generated
keypairs. This binding to the encapsulation key broadly protects against
re-encapsulation attacks but not completely.</t>
      <t>Using the 64-byte seed format provides a step up in binding security by
mitigating an attack enabled by the hash of the public encapsulation key
stored in the expanded private decapsulation key format, providing
MAL-BIND-K-CT security and LEAK-BIND-K-PK security.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>For the ASN.1 Module in <xref target="asn1"/>, IANA is requested to assign an
object identifier (OID) for the module identifier (TBD) with a
Description of "id-mod-x509-ml-kem-2024".  The OID for the module
should be allocated in the "SMI Security for PKIX Module Identifier"
registry (1.3.6.1.5.5.7.0).</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="X680" target="https://www.itu.int/rec/T-REC-X.680">
          <front>
            <title>Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.680"/>
          <seriesInfo name="ISO/IEC" value="8824-1:2021"/>
        </reference>
        <reference anchor="X690" target="https://www.itu.int/rec/T-REC-X.690">
          <front>
            <title>Information technology - Abstract Syntax Notation One (ASN.1): ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.690"/>
          <seriesInfo name="ISO/IEC" value="8825-1:2021"/>
        </reference>
        <reference anchor="FIPS203">
          <front>
            <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
            <author>
              <organization/>
            </author>
            <date month="August" year="2024"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.fips.203"/>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </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="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="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="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="RFC5958">
          <front>
            <title>Asymmetric Key Packages</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This document defines the syntax for private-key information and a content type for it. Private-key information includes a private key for a specified public-key algorithm and a set of attributes. The Cryptographic Message Syntax (CMS), as defined in RFC 5652, can be used to digitally sign, digest, authenticate, or encrypt the asymmetric key format content type. This document obsoletes RFC 5208. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5958"/>
          <seriesInfo name="DOI" value="10.17487/RFC5958"/>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="CDM23" target="https://eprint.iacr.org/2023/1933.pdf">
          <front>
            <title>Keeping Up with the KEMs: Stronger Security Notions for KEMs and automated analysis of KEM-based protocols</title>
            <author initials="C." surname="Cremers" fullname="Cas Cremers">
              <organization>CISPA Helmholtz Center for Information Security</organization>
            </author>
            <author initials="A." surname="Dax" fullname="Alexander Dax">
              <organization>CISPA Helmholtz Center for Information Security</organization>
            </author>
            <author initials="N." surname="Medinger" fullname="Niklas Medinger">
              <organization>CISPA Helmholtz Center for Information Security</organization>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="KEMMY24" target="https://eprint.iacr.org/2024/523.pdf">
          <front>
            <title>Unbindable Kemmy Schmidt: ML-KEM is neither MAL-BIND-K-CT nor MAL-BIND-K-PK</title>
            <author initials="S." surname="Schmieg" fullname="Sophie Schmieg">
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="NIST-PQC" target="https://csrc.nist.gov/projects/post-quantum-cryptography">
          <front>
            <title>Post-Quantum Cryptography Project</title>
            <author>
              <organization>National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date year="2016" month="December" day="20"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-lamps-cms-kyber">
          <front>
            <title>Use of ML-KEM in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="PRAT Julien" initials="J." surname="Prat">
              <organization>CryptoNext Security</organization>
            </author>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Daniel Van Geest" initials="D." surname="Van Geest">
              <organization>CryptoNext Security</organization>
            </author>
            <date day="15" month="October" year="2024"/>
            <abstract>
              <t>   The Module-Lattice-based Key-Encapsulation Mechanism (ML-KEM)
   algorithm is a one-pass (store-and-forward) cryptographic mechanism
   for an originator to securely send keying material to a recipient
   using the recipient's ML-KEM public key.  Three parameters sets for
   the ML-KEM algorithm are specified by NIST in [FIPS203].  In order of
   increasing security strength (and decreasing performance), these
   parameter sets are ML-KEM-512, ML-KEM-768, and ML-KEM-1024.  This
   document specifies the conventions for using ML-KEM with the
   Cryptographic Message Syntax (CMS) using KEMRecipientInfo as
   specified in [RFC9629].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-kyber-05"/>
        </reference>
        <reference anchor="I-D.celi-wiggers-tls-authkem">
          <front>
            <title>KEM-based Authentication for TLS 1.3</title>
            <author fullname="Thom Wiggers" initials="T." surname="Wiggers">
              <organization>PQShield</organization>
            </author>
            <author fullname="Sofia Celi" initials="S." surname="Celi">
              <organization>Brave Software</organization>
            </author>
            <author fullname="Peter Schwabe" initials="P." surname="Schwabe">
              <organization>Radboud University and MPI-SP</organization>
            </author>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <author fullname="Nick Sullivan" initials="N." surname="Sullivan">
         </author>
            <date day="17" month="October" year="2024"/>
            <abstract>
              <t>   This document gives a construction for a Key Encapsulation Mechanism
   (KEM)-based authentication mechanism in TLS 1.3.  This proposal
   authenticates peers via a key exchange protocol, using their long-
   term (KEM) public keys.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-celi-wiggers-tls-authkem-04"/>
        </reference>
        <reference anchor="RFC7468">
          <front>
            <title>Textual Encodings of PKIX, PKCS, and CMS Structures</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="S. Leonard" initials="S." surname="Leonard"/>
            <date month="April" year="2015"/>
            <abstract>
              <t>This document describes and discusses the textual encodings of the Public-Key Infrastructure X.509 (PKIX), Public-Key Cryptography Standards (PKCS), and Cryptographic Message Syntax (CMS). The textual encodings are well-known, are implemented by several applications and libraries, and are widely deployed. This document articulates the de facto rules by which existing implementations operate and defines them so that future implementations can interoperate.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7468"/>
          <seriesInfo name="DOI" value="10.17487/RFC7468"/>
        </reference>
        <reference anchor="I-D.sfluhrer-cfrg-ml-kem-security-considerations">
          <front>
            <title>ML-KEM Security Considerations</title>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Quynh Dang" initials="Q." surname="Dang">
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Kevin Milner" initials="K." surname="Milner">
              <organization>Quantinuum</organization>
            </author>
            <author fullname="Daniel Shiu" initials="D." surname="Shiu">
              <organization>Arqit Quantum Inc</organization>
            </author>
            <date day="11" month="October" year="2024"/>
            <abstract>
              <t>   NIST standardized ML-KEM as FIPS 203 in August 2024.  This document
   discusses how to use ML-KEM - that is, what problem it solves, and
   how to use it securely.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sfluhrer-cfrg-ml-kem-security-considerations-01"/>
        </reference>
        <reference anchor="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
      </references>
    </references>
    <?line 382?>

<section anchor="asn1">
      <name>ASN.1 Module</name>
      <t>This appendix includes the ASN.1 module <xref target="X680"/> for the ML-KEM.  Note that
as per <xref target="RFC5280"/>, certificates use the Distinguished Encoding Rules; see
<xref target="X690"/>. This module imports objects from <xref target="RFC5912"/> and <xref target="RFC9629"/>.</t>
      <sourcecode markers="true"><![CDATA[
X509-ML-KEM-2024
{ iso(1) identified-organization(3) dod(6)
  internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
  id-mod-x509-ml-kem-2024(TBD) }

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS
  PUBLIC-KEY
    FROM AlgorithmInformation-2009  -- [RFC 5912]
      { iso(1) identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) id-mod(0)
        id-mod-algorithmInformation-02(58) }

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

--
-- ML-KEM Identifiers
--

nistAlgorithms OBJECT IDENTIFIER ::= { joint-iso-ccitt(2)
  country(16) us(840) organization(1) gov(101) csor(3)
  nistAlgorithm(4) }

kems OBJECT IDENTIFIER ::= { nistAlgorithms 4 }

id-alg-ml-kem-512 OBJECT IDENTIFIER ::= { kems 1 }

id-alg-ml-kem-768 OBJECT IDENTIFIER ::= { kems 2 }

id-alg-ml-kem-1024 OBJECT IDENTIFIER ::= { kems 3 }

  --
  -- Public Key Algorithms
  --
  -- To use the following with the PKIX1Explicit-2009 [RFC5912], replace
  -- the PublicKeyAlgorithms therein with the following:
  --
  -- PublicKeyAlgorithms PUBLIC-KEY ::= {
  --   PKIXAlgs-2009.PublicKeys,
  --   ...,
  --   PKIX1-PSS-OAEP-Algorithms-2009.PublicKeys,
  --   X509-ML-KEM-2024.PublicKeys }

  --
  -- Public Key (pk-) Algorithms
  --

PublicKeys PUBLIC-KEY ::= {
  -- This expands PublicKeys from RFC 5912
  pk-ml-kem-512 |
  pk-ml-kem-768 |
  pk-ml-kem-1024,
  ...
  }

--
-- ML-KEM Public Keys
--

pk-ml-kem-512 PUBLIC-KEY ::= {
  IDENTIFIER id-alg-ml-kem-512
  -- KEY no ASN.1 wrapping --
  PARAMS ARE absent
  CERT-KEY-USAGE { keyEncipherment }
  --- PRIVATE-KEY no ASN.1 wrapping --
  }

pk-ml-kem-768 PUBLIC-KEY ::= {
  IDENTIFIER id-alg-ml-kem-768
  -- KEY no ASN.1 wrapping --
  PARAMS ARE absent
  CERT-KEY-USAGE { keyEncipherment }
  --- PRIVATE-KEY no ASN.1 wrapping --
  }

pk-ml-kem-1024 PUBLIC-KEY ::= {
  IDENTIFIER id-alg-ml-kem-1024
  -- KEY no ASN.1 wrapping --
  PARAMS ARE absent
  CERT-KEY-USAGE { keyEncipherment }
  --- PRIVATE-KEY no ASN.1 wrapping --
  }

END
]]></sourcecode>
    </section>
    <section anchor="arnold">
      <name>Security Strengths</name>
      <t>Instead of defining the strength of a quantum algorithm in a traditional
manner using the imprecise notion of bits of security, NIST has
defined security levels by picking a reference scheme, which
NIST expects to offer notable levels of resistance to both quantum and
classical attack.  To wit, a KEM algorithm that achieves NIST PQC
security must require computational resources to break IND-CCA2
security comparable or greater than that required for key search
on AES-128, AES-192, and AES-256 for Levels 1, 3, and 5, respectively.
Levels 2 and 4 use collision search for SHA-256 and SHA-384 as reference.</t>
      <aside>
        <t>TODO: what should go in this table?</t>
      </aside>
      <table anchor="tab-strengths">
        <name>ML-KEM security strengths</name>
        <thead>
          <tr>
            <th align="left">Level</th>
            <th align="left">Parameter Set</th>
            <th align="left">Encap. Key</th>
            <th align="left">Decap. Key</th>
            <th align="left">Ciphertext</th>
            <th align="left">SS</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">1</td>
            <td align="left">ML-KEM-512</td>
            <td align="left">800</td>
            <td align="left">1632</td>
            <td align="left">768</td>
            <td align="left">32</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">ML-KEM-768</td>
            <td align="left">1184</td>
            <td align="left">2400</td>
            <td align="left">1952</td>
            <td align="left">32</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">ML-KEM-1024</td>
            <td align="left">1568</td>
            <td align="left">3168</td>
            <td align="left">2592</td>
            <td align="left">32</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>This appendix contains examples of ML-KEM public keys, private keys and
certificates.</t>
      <section anchor="example-private">
        <name>Example Private Key</name>
        <t>The following is an example of a ML-KEM-512 private key with hex seed <tt>0001…3f</tt>:</t>
        <artwork><![CDATA[
-----BEGIN PRIVATE KEY-----
MFICAQAwCwYJYIZIAWUDBAQBBEAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRob
HB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/
-----END PRIVATE KEY-----
]]></artwork>
        <artwork><![CDATA[
0  82: SEQUENCE
2   2:  INTEGER 0
5  11:  SEQUENCE {
7   9:   OBJECT IDENTIFIER '2.16.840.1.101.3.4.4.1'
     :   }
18 64:  OCTET STRING
     :    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
     :    10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
     :    20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
     :    30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
     :  }
]]></artwork>
        <t>The following is an example of a ML-KEM-768 private key from the same seed.</t>
        <artwork><![CDATA[
-----BEGIN PRIVATE KEY-----
MFICAQAwCwYJYIZIAWUDBAQCBEAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRob
HB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/
-----END PRIVATE KEY-----
]]></artwork>
        <artwork><![CDATA[
0  82: SEQUENCE
2   2:  INTEGER 0
5  11:  SEQUENCE {
7   9:   OBJECT IDENTIFIER '2.16.840.1.101.3.4.4.2'
     :   }
18 64:  OCTET STRING
     :    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
     :    10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
     :    20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
     :    30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
     :  }
]]></artwork>
        <t>The following is an example of a ML-KEM-1024 private key from the same seed.</t>
        <artwork><![CDATA[
-----BEGIN PRIVATE KEY-----
MFICAQAwCwYJYIZIAWUDBAQDBEAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRob
HB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/
-----END PRIVATE KEY-----
]]></artwork>
        <artwork><![CDATA[
0  82: SEQUENCE
2   2:  INTEGER 0
5  11:  SEQUENCE {
7   9:   OBJECT IDENTIFIER '2.16.840.1.101.3.4.4.2'
     :   }
18 64:  OCTET STRING
     :    00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
     :    10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
     :    20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
     :    30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
     :  }
]]></artwork>
        <aside>
          <t>NOTE: The private key is the seed and all three examples keys
  use the same seed; therefore, the private above are the same
  except for the OID used to represent the ML-KEM algorithm's
  security strength.</t>
        </aside>
      </section>
      <section anchor="example-public">
        <name>Example Public Key</name>
        <t>The following is the ML-KEM-512 public key corresponding to the private
key in the previous section.</t>
        <artwork><![CDATA[
-----BEGIN PUBLIC KEY-----
MIIDMjALBglghkgBZQMEBAEDggMhADmVgV5ZfRBDVc8pqlMzyTJRhp1bzb5IcST2
Ari2pmwWxHYWSK12XPXYAGtRXpBafwrAdrDGLvoygVPnylcBaZ8TBfHmvG+QsOSb
aTUSts6ZKouAFt38GmYsfj+WGcvYad13GvMIlszVkYrGy3dGbF53mZbWf/mqvJdQ
Pyx7fi0ADYZFD7GAfKTKvaRlgloxx4mht6SRqzhydl0yDQtxkg+iE8lAk0Frg7gS
Tmn2XmLLUADcw3qpoP/3OXDEdy81fSQYnKb1MFVowOI3ajdipoxgXlY8XSCVcuD8
dTLKKUcpU1VntfxBPF6HktJGRTbMgI+YrddGZPFBVm+QFqkKVBgpqYoEZM5BqLtE
wtT6PCwglGByjvFKGnxMm5jRIgO0zDUpFgqasteDj3/2tTrgWqMafWRrevpsRZMl
JqPDdVYZvplMIRwqMcBbNEeDbLIVC+GCna5rBMVTXP9Ubjkrp5dBFyD5JPSQpaxU
lfITVtVQt4KmTBaItrZVvMeEIZekNML2Vjtbfwmni8xIgjJ4NWHRb0y6tnVUAAUH
gVcMZmBLgXrRJSKUc26LAYYaS1p0UZuLb+UUiaUHI5Llh2JscTd2V10zgGocjicy
r5fCaA9RZmMxxOuLvAQxxPloMtrxs8RVKPuhU/bHixwZhwKUfM0zdyekb7U7oR3l
y0GRNGhZUWy2rXJADzzyCbI2rvNaWArIfrPjD6/WaXPKin3SZ1r0H3oXthQzzRr4
D3cIhp9mVIhJeYCxrBCgzctjagDthoGzXkKRJMqANQcluF+DperDpKPMFgCQPmUp
NWC5szblrw1SnawaBIEZMCy3qbzBELlIUb8CEX8ZncSFqFK3Rz8JuDGmgx1bVMC3
kNIlz2u5LZRiomzbM92lEjx6rw4moLg2Ve6ii/OoB0clAY/WuuS2Ac9huqtxp6PT
UZejQ+dLSicsEl1UCJZCbYW3lY07OKa6mH7DciXHtEzbEt3kU5tKsII2NoPwS/eg
nMXEHf6DChsWLgsyQzQ2LwhKFEZ3IzRLrdAA+NjFN8SPmY8FMHzr0e3guBw7xZoG
WhttY7Js
-----END PUBLIC KEY-----
]]></artwork>
        <artwork><![CDATA[
0  818: SEQUENCE {
4   11:   SEQUENCE {
6    9:     OBJECT IDENTIFIER '2.16.840.1.101.3.4.4.1'
      :     }
17 801:   BIT STRING
      :     00 39 95 81 5e 59 7d 10 43 55 cf 29 aa 53 33 c9
      :     32 51 86 9d 5b cd be 48 71 24 f6 02 b8 b6 a6 6c
      :     7f 0a c0 76 b0 c6 2e fa 32 81 53 e7 ca 57 01 69
      :     9f 13 05 f1 e6 bc 6f 90 b0 e4 9b 69 35 12 b6 ce
      :     99 2a 8b 80 16 dd fc 1a 66 2c 7e 3f 96 19 cb d8
      :     69 dd 77 1a f3 08 96 cc d5 91 8a c6 cb 77 46 6c
      :     5e 77 99 96 d6 7f f9 aa bc 97 50 3f 2c 7b 7e 2d
      :     00 0d 86 45 0f b1 80 7c a4 ca bd a4 65 82 5a 31
      :     c7 89 a1 b7 a4 91 ab 38 72 76 5d 32 0d 0b 71 92
      :     0f a2 13 c9 40 93 41 6b 83 b8 12 4e 69 f6 5e 62
      :     cb 50 00 dc c3 7a a9 a0 ff f7 39 70 c4 77 2f 35
      :     7d 24 18 9c a6 f5 30 55 68 c0 e2 37 6a 37 62 a6
      :     8c 60 5e 56 3c 5d 20 95 72 e0 fc 75 32 ca 29 47
      :     29 53 55 67 b5 fc 41 3c 5e 87 92 d2 46 45 36 cc
      :     80 8f 98 ad d7 46 64 f1 41 56 6f 90 16 a9 0a 54
      :     18 29 a9 8a 04 64 ce 41 a8 bb 44 c2 d4 fa 3c 2c
      :     20 94 60 72 8e f1 4a 1a 7c 4c 9b 98 d1 22 03 b4
      :     cc 35 29 16 0a 9a b2 d7 83 8f 7f f6 b5 3a e0 5a
      :     a3 1a 7d 64 6b 7a fa 6c 45 93 25 26 a3 c3 75 56
      :     19 be 99 4c 21 1c 2a 31 c0 5b 34 47 83 6c b2 15
      :     0b e1 82 9d ae 6b 04 c5 53 5c ff 54 6e 39 2b a7
      :     97 41 17 20 f9 24 f4 90 a5 ac 54 95 f2 13 56 d5
      :     50 b7 82 a6 4c 16 88 b6 b6 55 bc c7 84 21 97 a4
      :     34 c2 f6 56 3b 5b 7f 09 a7 8b cc 48 82 32 78 35
      :     61 d1 6f 4c ba b6 75 54 00 05 07 81 57 0c 66 60
      :     4b 81 7a d1 25 22 94 73 6e 8b 01 86 1a 4b 5a 74
      :     51 9b 8b 6f e5 14 89 a5 07 23 92 e5 87 62 6c 71
      :     37 76 57 5d 33 80 6a 1c 8e 27 32 af 97 c2 68 0f
      :     51 66 63 31 c4 eb 8b bc 04 31 c4 f9 68 32 da f1
      :     b3 c4 55 28 fb a1 53 f6 c7 8b 1c 19 87 02 94 7c
      :     cd 33 77 27 a4 6f b5 3b a1 1d e5 cb 41 91 34 68
      :     59 51 6c b6 ad 72 40 0f 3c f2 09 b2 36 ae f3 5a
      :     58 0a c8 7e b3 e3 0f af d6 69 73 ca 8a 7d d2 67
      :     5a f4 1f 7a 17 b6 14 33 cd 1a f8 0f 77 08 86 9f
      :     66 54 88 49 79 80 b1 ac 10 a0 cd cb 63 6a 00 ed
      :     86 81 b3 5e 42 91 24 ca 80 35 07 25 b8 5f 83 a5
      :     ea c3 a4 a3 cc 16 00 90 3e 65 29 35 60 b9 b3 36
      :     e5 af 0d 52 9d ac 1a 04 81 19 30 2c b7 a9 bc c1
      :     10 b9 48 51 bf 02 11 7f 19 9d c4 85 a8 52 b7 47
      :     3f 09 b8 31 a6 83 1d 5b 54 c0 b7 90 d2 25 cf 6b
      :     b9 2d 94 62 a2 6c db 33 dd a5 12 3c 7a af 0e 26
      :     a0 b8 36 55 ee a2 8b f3 a8 07 47 25 01 8f d6 ba
      :     e4 b6 01 cf 61 ba ab 71 a7 a3 d3 51 97 a3 43 e7
      :     4b 4a 27 2c 12 5d 54 08 96 42 6d 85 b7 95 8d 3b
      :     38 a6 ba 98 7e c3 72 25 c7 b4 4c db 12 dd e4 53
      :     9b 4a b0 82 36 36 83 f0 4b f7 a0 9c c5 c4 1d fe
      :     83 0a 1b 16 2e 0b 32 43 34 36 2f 08 4a 14 46 77
      :     23 34 4b ad d0 00 f8 d8 c5 37 c4 8f 99 8f 05 30
      :     7c eb d1 ed e0 b8 1c 3b c5 9a 06 5a 1b 6d 63 b2
      :     6c
      :   }
]]></artwork>
        <t>The following is the ML-KEM-768 public key corresponding to the private
key in the previous section.</t>
        <artwork><![CDATA[
-----BEGIN PUBLIC KEY-----
MIIEsjALBglghkgBZQMEBAIDggShACmKoQ1CPI3aBp0CvFnmzfA6CWuLPaTKubgM
pKFJB2cszvHsT68jSgvFt+nUc/KzEzs7JqHRdctnp4BZGWmcAvdlMbmcX4kYBwS7
TKRTXFuJcmecZgoHxeUUuHAJyGLrj1FXaV77P8QKne9rgcHMAqJJrk8JStDZvTSF
wcHGgIBSCnyMYyAyzuc4FU5cUXbAfaVgJHdqQw/nbqz2ZaP3uDIQIhW8gvEJOcg1
VwQzao+sHYHkuwSFql18dNa1m75cXpcqDYusQRtVtdVVfNaAoaj3G064a8SMmgUJ
cxpUvZ1ykLJ5Y+Q3Lcmxmc/crAsBrNKKYjlREuTENkjWIsSMgjTQFEDozDdskn8j
pa/JrAR0xmInTkJFJchVLs47P+JlFt6QG8fVFb3olVjmJslcgLkzQvgBAATznmxs
lIccXjRMqzlmyDX5qWpZr9McQChrOLHBp4RwurlHUYk0RTzoZzapGfH1ptUQqG9U
VPw5gMtcdlvSvV97NrFBDWY1yM60fE3aDXaijqyTnHHDAkgEhmxxYmZYRCFjwsIh
F+UKzvzmN4qYVlIwKk7wws4Mxxa3eW4ray43d9+hrD2iWaMbWptTD4y2OKgaYqww
GEmrr5WnMBvaMAaJCb/bfmfbzLs4pVUaJbGjoPaFdIrVdT2IgPABbGJ0hhZjhMVX
H+I2WQA2TQODEeLYdds2ZoaTK17GAkMKNp6Hpu9cM4eGZXglvUwFes65I+sJNeaQ
XmO0ztf4CFenc91ksVDSZhLqmsEgUtsgF78YQ8y0sygbaQ3HKK36hcACgbjjwJKH
M1+Fa0/CiS9povV5Ia2gGRTECYhmLVd2lmKnhjUbm2ZJPat5WU2YbeIQDWW6D/Tq
WLgVONJKRDWiWPrCVASqf0H2WLE4UGXhWNy2ARVzJyD0BFmqrBXkBpU6kKxSmX0c
zQcAYO/GXbnmUzVEZ/rVbscTyG51QMQjrPJmn1L6b0rGiI2HHvPoR8ApqKr7uS4X
skqgebH0GbphdbRCr7EZCdSla3CgM1soc5IYqnyTSOLDwvPrPRWkHmQXwN2Uv+sh
QZsxGnuxOhgLvoMyGKmmsXRHzIXyJYWVh6cwdwSay8/UTQ8CVDjhXRU4Jw1Ybhv4
MZKpRZz2PA6XL4UpdnmDHs8SFQmFHLg0D28Qew+hoO/Rs2qBibwIXE9ct4TlU/Qb
kY+AOXzhlW94W+43fKmqi+aZitowwmt8PYxrVSVMyWIDsgxCruCsTh67QI5JqeP4
edCrB4XrcCVCXRMFoimcAV4SDRY7DhlJTOVyU9AkbRgnRcuBl6t0OLPBu3lyvsWj
BuujVnhVwBRpn+9lrlTHcKDYXBhADPZCrtxmB3e6SxOFAr1aeBL2IfhKSClrmN1D
IrbxWCi4qPDgCoukSlPDqLFDVxsHQKvVZ9rxzenHnCBLbV4lnRdmoxu7y05qBc9F
AhdrMBwcL0Ekd1AVe87IXoCbMKTWDXdHzdD1uZqoyCaYdRd5OqqAgKCxJKhVjfcr
vje3X07btr6CFtbGM/srIoDiURPYaV5DSBw+6zl+sZJQUim2eiAeqJPD4ssy2ovD
QvpN6gV4
-----END PUBLIC KEY-----
]]></artwork>
        <artwork><![CDATA[
0 1202: SEQUENCE {
4   11:   SEQUENCE {
6    9:     OBJECT IDENTIFIER '2.16.840.1.101.3.4.4.2'
      :     }
17 801:   BIT STRING
      :     00 29 8a a1 0d 42 3c 8d da 06 9d 02 bc 59 e6 cd
      :     f0 3a 09 6b 8b 3d a4 ca b9 b8 0c a4 a1 49 07 67
      :     2c ce f1 ec 4f af 23 4a 0b c5 b7 e9 d4 73 f2 b3
      :     13 3b 3b 26 a1 d1 75 cb 67 a7 80 59 19 69 9c 02
      :     f7 65 31 b9 9c 5f 89 18 07 04 bb 4c a4 53 5c 5b
      :     89 72 67 9c 66 0a 07 c5 e5 14 b8 70 09 c8 62 eb
      :     8f 51 57 69 5e fb 3f c4 0a 9d ef 6b 81 c1 cc 02
      :     a2 49 ae 4f 09 4a d0 d9 bd 34 85 c1 c1 c6 80 80
      :     52 0a 7c 8c 63 20 32 ce e7 38 15 4e 5c 51 76 c0
      :     7d a5 60 24 77 6a 43 0f e7 6e ac f6 65 a3 f7 b8
      :     32 10 22 15 bc 82 f1 09 39 c8 35 57 04 33 6a 8f
      :     ac 1d 81 e4 bb 04 85 aa 5d 7c 74 d6 b5 9b be 5c
      :     5e 97 2a 0d 8b ac 41 1b 55 b5 d5 55 7c d6 80 a1
      :     a8 f7 1b 4e b8 6b c4 8c 9a 05 09 73 1a 54 bd 9d
      :     72 90 b2 79 63 e4 37 2d c9 b1 99 cf dc ac 0b 01
      :     ac d2 8a 62 39 51 12 e4 c4 36 48 d6 22 c4 8c 82
      :     34 d0 14 40 e8 cc 37 6c 92 7f 23 a5 af c9 ac 04
      :     74 c6 62 27 4e 42 45 25 c8 55 2e ce 3b 3f e2 65
      :     16 de 90 1b c7 d5 15 bd e8 95 58 e6 26 c9 5c 80
      :     b9 33 42 f8 01 00 04 f3 9e 6c 6c 94 87 1c 5e 34
      :     4c ab 39 66 c8 35 f9 a9 6a 59 af d3 1c 40 28 6b
      :     38 b1 c1 a7 84 70 ba b9 47 51 89 34 45 3c e8 67
      :     36 a9 19 f1 f5 a6 d5 10 a8 6f 54 54 fc 39 80 cb
      :     5c 76 5b d2 bd 5f 7b 36 b1 41 0d 66 35 c8 ce b4
      :     7c 4d da 0d 76 a2 8e ac 93 9c 71 c3 02 48 04 86
      :     6c 71 62 66 58 44 21 63 c2 c2 21 17 e5 0a ce fc
      :     e6 37 8a 98 56 52 30 2a 4e f0 c2 ce 0c c7 16 b7
      :     79 6e 2b 6b 2e 37 77 df a1 ac 3d a2 59 a3 1b 5a
      :     9b 53 0f 8c b6 38 a8 1a 62 ac 30 18 49 ab af 95
      :     a7 30 1b da 30 06 89 09 bf db 7e 67 db cc bb 38
      :     a5 55 1a 25 b1 a3 a0 f6 85 74 8a d5 75 3d 88 80
      :     f0 01 6c 62 74 86 16 63 84 c5 57 1f e2 36 59 00
      :     36 4d 03 83 11 e2 d8 75 db 36 66 86 93 2b 5e c6
      :     02 43 0a 36 9e 87 a6 ef 5c 33 87 86 65 78 25 bd
      :     4c 05 7a ce b9 23 eb 09 35 e6 90 5e 63 b4 ce d7
      :     f8 08 57 a7 73 dd 64 b1 50 d2 66 12 ea 9a c1 20
      :     52 db 20 17 bf 18 43 cc b4 b3 28 1b 69 0d c7 28
      :     ad fa 85 c0 02 81 b8 e3 c0 92 87 33 5f 85 6b 4f
      :     c2 89 2f 69 a2 f5 79 21 ad a0 19 14 c4 09 88 66
      :     2d 57 76 96 62 a7 86 35 1b 9b 66 49 3d ab 79 59
      :     4d 98 6d e2 10 0d 65 ba 0f f4 ea 58 b8 15 38 d2
      :     4a 44 35 a2 58 fa c2 54 04 aa 7f 41 f6 58 b1 38
      :     50 65 e1 58 dc b6 01 15 73 27 20 f4 04 59 aa ac
      :     15 e4 06 95 3a 90 ac 52 99 7d 1c cd 07 00 60 ef
      :     c6 5d b9 e6 53 35 44 67 fa d5 6e c7 13 c8 6e 75
      :     40 c4 23 ac f2 66 9f 52 fa 6f 4a c6 88 8d 87 1e
      :     f3 e8 47 c0 29 a8 aa fb b9 2e 17 b2 4a a0 79 b1
      :     f4 19 ba 61 75 b4 42 af b1 19 09 d4 a5 6b 70 a0
      :     33 5b 28 73 92 18 aa 7c 93 48 e2 c3 c2 f3 eb 3d
      :     15 a4 1e 64 17 c0 dd 94 bf eb 21 41 9b 31 1a 7b
      :     b1 3a 18 0b be 83 32 18 a9 a6 b1 74 47 cc 85 f2
      :     25 85 95 87 a7 30 77 04 9a cb cf d4 4d 0f 02 54
      :     38 e1 5d 15 38 27 0d 58 6e 1b f8 31 92 a9 45 9c
      :     f6 3c 0e 97 2f 85 29 76 79 83 1e cf 12 15 09 85
      :     1c b8 34 0f 6f 10 7b 0f a1 a0 ef d1 b3 6a 81 89
      :     bc 08 5c 4f 5c b7 84 e5 53 f4 1b 91 8f 80 39 7c
      :     e1 95 6f 78 5b ee 37 7c a9 aa 8b e6 99 8a da 30
      :     c2 6b 7c 3d 8c 6b 55 25 4c c9 62 03 b2 0c 42 ae
      :     e0 ac 4e 1e bb 40 8e 49 a9 e3 f8 79 d0 ab 07 85
      :     eb 70 25 42 5d 13 05 a2 29 9c 01 5e 12 0d 16 3b
      :     0e 19 49 4c e5 72 53 d0 24 6d 18 27 45 cb 81 97
      :     ab 74 38 b3 c1 bb 79 72 be c5 a3 06 eb a3 56 78
      :     55 c0 14 69 9f ef 65 ae 54 c7 70 a0 d8 5c 18 40
      :     0c f6 42 ae dc 66 07 77 ba 4b 13 85 02 bd 5a 78
      :     12 f6 21 f8 4a 48 29 6b 98 dd 43 22 b6 f1 58 28
      :     b8 a8 f0 e0 0a 8b a4 4a 53 c3 a8 b1 43 57 1b 07
      :     40 ab d5 67 da f1 cd e9 c7 9c 20 4b 6d 5e 25 9d
      :     17 66 a3 1b bb cb 4e 6a 05 cf 45 02 17 6b 30 1c
      :     1c 2f 41 24 77 50 15 7b ce c8 5e 80 9b 30 a4 d6
      :     0d 77 47 cd d0 f5 b9 9a a8 c8 26 98 75 17 79 3a
      :     aa 80 80 a0 b1 24 a8 55 8d f7 2b be 37 b7 5f 4e
      :     db b6 be 82 16 d6 c6 33 fb 2b 22 80 e2 51 13 d8
      :     69 5e 43 48 1c 3e eb 39 7e b1 92 50 52 29 b6 7a
      :     20 1e a8 93 c3 e2 cb 32 da 8b c3 42 fa 4d ea 05
      :     78
      :   }
]]></artwork>
        <t>The following is the ML-KEM-1024 public key corresponding to the private
key in the previous section.</t>
        <artwork><![CDATA[
-----BEGIN PUBLIC KEY-----
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
uYOILhF1
-----END PUBLIC KEY-----
]]></artwork>
        <artwork><![CDATA[
0  1586: SEQUENCE {
4    11:   SEQUENCE {
6     9:     OBJECT IDENTIFIER '2.16.840.1.101.3.4.4.3'
       :     }
17 1569:   BIT STRING
       :     00 4b 94 c2 94 50 11 11 91 82 3b 35 14 c9 ac 1e
       :     a3 d9 82 5c cb 86 39 3a 2d fb 04 65 4f a2 19 2d
       :     37 bf ad 1c 49 7c 65 02 ee e5 ca 80 a7 3b fc e0
       :     ba f5 a5 4a 88 58 5a 40 13 97 a3 d2 32 f4 26 a7
       :     af b0 82 bc 21 a4 43 17 09 0e aa c7 59 2c 2e a8
       :     8a 65 3c 44 91 ea 19 39 31 33 5f 52 e9 89 a3 c4
       :     cc 56 d9 c5 53 73 2d 57 c4 70 fb 41 ab 75 9b 65
       :     d2 d0 44 45 38 2f cd 9c 4e 34 4a 11 28 fa 9e 11
       :     e0 43 58 e1 92 ed 01 4b 23 23 2a 7e e2 b2 2e 23
       :     71 7f 44 11 1e e3 35 75 39 9c 37 64 6d a9 81 3e
       :     c9 b2 12 af e9 4e 5d c5 c2 33 0a 72 94 cc 1f 42
       :     34 a6 d3 fb b4 f1 68 5a b8 89 2c 04 ac b1 7c d1
       :     c1 70 d7 b0 61 1b 6a 71 76 c7 94 cc 8c 67 f5 5f
       :     c9 23 c2 ad 20 31 00 f3 65 99 18 82 c3 02 43 d7
       :     78 13 84 3b 5e c7 c9 64 03 22 63 70 60 92 ec f0
       :     0c 75 16 be 64 e4 59 8c a4 22 6c 06 9b b5 e6 7e
       :     41 75 cf 22 86 c8 dd 5c 48 8a 6c 58 61 f3 1b aa
       :     0b d0 26 94 70 e8 b5 51 dd 3b cd 38 c8 6c 12 f9
       :     cd b1 76 c7 7d c8 b6 c0 2a 70 1f 47 89 02 c8 55
       :     3f 69 4c 0d 82 72 7b 4c 4a 5c 2c 10 41 21 2a a1
       :     27 48 08 b8 21 11 b3 77 ec 75 21 4e 9b 19 78 f7
       :     60 04 d4 13 9d 98 61 3f 4b 8e 98 d2 0a f7 b5 34
       :     07 3a 50 9a 95 9b 7a 75 64 f9 b4 0c a2 18 bf 61
       :     82 93 20 a8 50 20 17 95 4d 32 8d 7a c6 c7 69 ec
       :     29 70 07 56 e7 b0 68 5b 34 0d 5e 11 80 59 50 4a
       :     49 a9 a5 0a 10 19 8e b1 0a 57 84 67 8e b4 27 d7
       :     b4 ba bb 95 52 93 3b 06 28 97 97 3e 13 18 ea f0
       :     a0 ea c3 75 84 a6 54 01 b1 70 3e 04 2a cc d8 37
       :     53 14 83 f2 41 ca dc d1 c1 d3 78 11 9e 69 44 29
       :     db 19 9a c8 91 e4 c5 34 37 57 08 5b b3 ae 78 36
       :     67 35 0c 44 58 d9 76 72 e8 61 e8 0b 1d 26 79 51
       :     0e a3 a6 f2 36 0c 77 a4 69 42 c7 a0 6a 55 4d 22
       :     80 80 c8 4b 47 ae f1 4d b1 76 20 cb 16 c0 6a b3
       :     0a 1b e4 cd a7 08 2b e9 f8 7e 9c 21 1c 46 91 63
       :     49 a5 ba 8e aa 52 01 c7 29 4a 3c 08 85 b5 3b 65
       :     74 52 10 88 25 ec 64 6c 90 a0 46 12 32 4e e7 d0
       :     31 af e5 34 31 32 cb ef 67 b6 ef b1 a5 ec 28 09
       :     b7 73 53 8c e7 7b 3d 8b 04 eb 0b 3c 22 56 01 1e
       :     4c 71 6c 19 a8 ba 07 52 bf 71 49 21 17 64 9f 06
       :     15 c3 29 0f c2 9a 46 fd e4 bd 52 db 92 86 d6 03
       :     38 82 44 25 9c 15 a7 ac 2b 64 0a 60 cc 03 37 6a
       :     58 41 a3 fb 8a 47 35 68 fa 9b 1a 26 72 15 f3 4c
       :     01 69 7b 0f 0e 62 71 75 d7 21 05 b7 70 7c 29 b9
       :     e6 14 bd c3 3a 6f 6c 81 8a 95 37 0b 42 78 82 d7
       :     b4 76 79 6a 9e c6 eb 99 32 74 cd 9b 23 91 a8 2b
       :     a4 5e 33 93 d2 e9 ae 97 21 ca 9d 6c 1b 98 8b 58
       :     27 71 3f 90 a6 58 5d e9 43 35 28 c0 2b 03 ce 10
       :     bb 5f 72 01 38 d0 fb b4 c3 0c 12 66 b9 18 e5 29
       :     25 df e1 7b 37 f9 5d 22 bc a5 4f 47 59 19 ac 85
       :     90 98 c0 f0 d0 8a c5 87 5e f2 9b 56 fd 14 1e 6e
       :     f1 5f 70 0a 0b 66 f3 95 95 c5 88 17 73 73 c4 66
       :     9b 21 bc 07 1e 4c 3a a5 f0 b4 a3 1b 62 58 f3 5d
       :     a2 4a c3 cd 29 c7 f2 09 24 10 c5 07 83 55 b1 38
       :     fb 53 a6 b9 ae 6e 0b 9c 08 24 3e 7b aa 45 c4 73
       :     76 eb 8c 7f 13 d4 cf 51 aa 73 6f a3 15 40 c9 24
       :     1f 37 0d a5 44 bf 9f 9c 28 d9 a5 7e 2f 2a 7c a9
       :     5a 4e 4b 46 6e 64 1a b3 bc c7 6a df 11 39 d5 67
       :     a6 f1 2b 52 f3 a6 5e 7e c0 aa e2 6b ca a8 c5 58
       :     33 b0 4e 59 99 8e bc 9a 19 30 fb b6 d2 23 3c 53
       :     d2 c1 f8 b9 51 8e 3c 2d e7 3a 19 de e6 b3 80 a5
       :     b3 29 71 cf 64 e1 29 fd 6c 1f a6 e7 5d 4a 23 45
       :     01 e9 66 dd 3a 54 0a f5 c8 f4 f3 4a 6b 4a 25 3e
       :     e2 84 92 56 6d 5e 67 c6 f5 58 55 fc b0 50 6f b0
       :     6c 15 67 44 d9 a0 3a 31 a2 6f a9 4c ad 14 f1 57
       :     b7 f3 03 d0 7a 69 c7 73 76 8f cb 4d 07 9c 09 05
       :     97 03 a0 c3 a9 4d e4 b9 9e a3 a2 f1 65 83 d0 f9
       :     17 0a 39 50 db 07 b4 f0 bc 30 80 29 27 f9 f7 96
       :     1b 62 59 89 26 36 a9 50 2a 27 05 30 36 37 79 9d
       :     d3 44 da 45 1c 1c f7 bf 67 84 0c eb 30 79 ab 8c
       :     6b 8c 19 27 f6 40 53 c6 12 45 0c 45 c9 e6 03 bc
       :     16 66 6e 59 6b 34 71 e1 03 b6 f1 54 47 42 4d 17
       :     02 20 48 11 1f fb d3 7e 1c 67 0f 64 f1 4b 8a 7b
       :     32 b9 4c 1a 49 b4 5d d2 fc 38 cd 52 89 d9 10 ad
       :     63 60 2c f5 e1 30 42 c6 4a c6 79 7b 89 fb 55 1a
       :     d0 8e 05 a9 2d 20 0c cc b7 e7 12 ef 23 c9 31 2c
       :     b3 50 f0 29 ab 53 7e 28 73 47 fd 30 75 ac 10 90
       :     6a 78 3f 1c 6c 07 cc b8 8f 41 22 8c 4b e1 c6 40
       :     f7 90 b5 c3 a5 d5 d3 ca 79 24 95 d7 4b c4 61 56
       :     26 58 c0 7a c6 00 27 6b 92 4a b5 bc 9b e1 f0 49
       :     4c b7 6f 82 f4 60 a7 48 09 72 66 33 81 e1 69 99
       :     60 61 d7 99 85 9e c5 4d 4f 5c a5 c4 11 c0 1d b1
       :     59 7b 16 59 77 66 9d e1 3a 92 8a 34 af ba c2 58
       :     fe a8 c4 76 42 39 c9 42 1d c3 11 9b f5 b4 76 99
       :     20 69 78 32 7b 1c 53 45 ef 74 6a 79 83 84 1f 05
       :     6e 25 34 10 0a b2 4d 4e 9a bb d0 b1 7c 6a 95 bd
       :     4c 3c 0e 40 f6 9e 16 12 ac ee b2 8b 99 08 6c 95
       :     11 6e 72 04 27 38 93 39 0b f4 6b 89 9b 36 28 6b
       :     0e bf 19 47 bb 98 84 f7 32 ca 27 da 82 b1 9b 5d
       :     c0 cc 7f 88 85 71 49 10 88 8b 23 10 c4 f9 31 9d
       :     41 0b 34 e6 43 3b 90 03 e2 17 6b b9 95 25 74 56
       :     10 6e 89 52 16 3b 8b a5 92 53 0c c5 aa 0a eb 43
       :     ad 39 8f e9 e9 7b aa 52 3d 7a 44 31 67 7c 3d 3a
       :     f0 71 9e 47 5d b8 5c a9 5a f5 08 9b ea be b0 5b
       :     2f aa b4 89 6b a6 0f 81 c8 84 72 a5 7b 46 a8 28
       :     82 6a 0c df b4 46 f8 18 91 82 d2 bf 5e ac 4e c1
       :     cc 5d ea f5 99 c8 a1 3e 48 23 54 06 d1 7f fd dc
       :     83 44 b6 c6 69 84 a8 68 aa 92 fa 02 22 7a 08 69
       :     50 eb 0c 87 01 ed 58 dc 62 87 76 b9 83 88 2e 11
       :     75
       :   }
]]></artwork>
        <t>The following example, in addition to encoding the ML-KEM-768 private key,
has an attribute included as well as the public key:</t>
        <artwork><![CDATA[
  -----BEGIN PRIVATE KEY-----
  TODO insert example private key with attribute
  -----END PRIVATE KEY-------
]]></artwork>
      </section>
      <section anchor="example-certificate">
        <name>Example Certificate</name>
        <artwork><![CDATA[
  TODO insert ASN.1 Pretty Print
]]></artwork>
        <artwork><![CDATA[
  -----BEGIN CERTIFICATE-----
  TODO Certificate
  -----END CERTIFICATE-------
]]></artwork>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
PD8kWX5pAfi5pmF+SiEkPezB7rOfC2+v/VztNbZfP/uTgPG2+D8I56+A9ILr
B/a8//yV+xubu7+4QhzPeH5+jn/561+FbxfGv4P/V/5vD8b6NwP+W4j7H0Le
d7D+B/obpKx+q7/x4ERQLuVaatDfS3fs8KXMVoIfr5aZbFugH9iLxYvICqYd
9IRFvGSJbmQnc8hccs+g0PyVG8UayNQxVZXSjiaYNsO+WxpQe2sff7nU45hr
Yj+MUy9JzyIG5xddi4da6j/rW9xaUAr+GtEf6+RLXvsHL69nR/w9eohxMHOp
07jhtVZ2aQ26GgCGaQeAkdsKD3TMxHbs1isBUcez/fz1Zqm/ImftsSyBhbEY
6zTnsTPgmcXuIdPzQzSDH2yAPTWBS2sAt/rYSMFci1JAPc/WyedY6eF2ByCD
9YUzl+/ov4J1r0eaSfSQ54InvNSmQsfbzQPsUHSCW17gOjmTnExkQdxfyn4X
JCXK54FNaIY3AUgbyF/cphrGrEv5Uwf4DE6+3eGkTWjvLD+TGHxd3wcj9Lnd
fa2EXxDoW7ERsBLaDMWJIaElsMHxipCHPBAAEGtAyNq/4QCwnlujtgUXBlZf
6Sg5qAoiZrUDh84G4SakoBWnyn4sOrg1cOreDfw15TPIb7mMsK6JzvAr+I7U
gHrh8fg0+ClcYbUqBOlFNPlh6FIxFhD0FdBDXTKwJAhlgAV3YC0TeelxrcPc
92KfMdzopg2QvMc/IBIrvEwS4ciOlusAL8Bh4qJaLGASpykgEL7j0KjVBjx1
rGTOdq6lr037pgWwe/j5Vi3GMzzsi4W3ZOsC++iJY6x75UXmUjdFFOKq/g7O
Eh92bYfhw6pf2UTB8CrK4rP4lfl996MZv4cDNm6V8DAO4AAm7yLZxIl4fOxb
QqQC9TYY3CMJqMoKFLpM9xAQhgChljnqY7jkKR673GLPGv3LR4hp3qVpCoJp
zNb4eA5ELShLRLF7I9m9W6pZyjXuTVGx5FE5nXl8U+hf3xxi+3Plj1t4cW8H
+MqC54CKnUn0W10XSDVi3Va+dE5guBvGjB7348S2gkmW8xGbt5p3suHkWs7H
t5fZmJ/RZ2gy4G8GEW26/g5YwULHVw9O8X7IM7ppIoFhLqi6JWrVuQ8kj7xT
5ir+BCtzU5QIrBvGbSD6hlrTAMErfb1zdHTXKYa/bundeBhAgmU2uhurJljh
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
oMEULjFXMvAtkAYZQEYeAFZRRcQP7MuR6gYiwjDQG2ryzKDYgXlgGGxtyxh6
oRqhHSGeAlmAhxoJIJBJTeocEEzULSqpFxFFA6QVqAz8CfEXgKk7iCXACUj0
Ndq774uAiMQPEmvTGQC9QOX4CRAOZsEiFrBccl9DxAFADgjxHAOVHnAFoN0k
PGOUmMUzczEeknJk0lFRHZGeBKiR82kRiC0BWFBowDygP4GaStIugNHEY5tk
6SyURNCWoDxBWoGdgNDAxqAxgF3BaqTkSNbIDmqo9uH8tkha10EbAaoViAWa
SiNBA+WjJPkZqAYMzDtIYuBq2B3IhGbaIguFuEWIwE6hjU7iGZAMXAQ8LMEu
WaQRmBWQAjD9oKVhBYAXqACEA06zk/YIVgO+gtOCYpQExIlAlggWEWMOkdFA
yA5KsZ7kZ1tHnQAYRuVAcgTrgwxCJK2QLoIVQJsZWVxfTOoNoAJgBqyVHIs/
GW5gDDgMUBZsBBhQNHNZksckb/C0JggaUMpwkAd4HsUQJsJSwDaajPoWVoYV
UnZBJGkFiIADQfwBKJ4cHkCgSWoBzg/UEchfUowkT2Yxw4AqWkBjCkxiGUgj
cCR0clGASdA4Opj5EJLwAiFwU9IweIlRQDYGFoJzcnhI3BGlmLjFSPIVOELA
D/AWj8Sj6tDJxIPOAcxbIgk4/S6hr5XWG2BEMFVi4glBilHhkLcD5FYsxBVC
DRoApCYJL7gWOh4G7Q6wNOr/GDPAnxIqMQAf1gTw4YSymNTPtC94cRrJi0io
djg8D/gMgA3wB0DVA7EA/07Sr4ORXJwMIk8SzASoCCnO3yjoY8D50TJKaJrV
lN2nYbAL2m5yWkB2LA33AlWGvOGgtYI/OXRFkr6KiToKFCxe7iB6gZ4BvQFz
wZ5yCgopnAqQBtJkJH2khIv4o/zlQ3qEsub/k9IjpfBdeqRWnM1681xh1fA7
fKFdE/X8hivsy+vV2ckphdGu2db7jZ0xazGbRrmeF8zwvK+GfUVb9Gb7cvS0
HpgvjXPpHKr1bbVrmdF6I+WnldHKzO0tr2WszLG0nOQPPZXpN7r9cXlXN1e2
OZ351aM9GOyqufqp0gwWfHmsD1W1rXUaazsbzMxqK7et14OlVu9Fxem+3ysz
B7NamdXyvcL61JqccqfzzpTKA9kcjI2cow9n9aq17Rxe1sb2LEz1trgr1jq1
+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
adaG/eymnxMK5jpq9bxDyJRKpXljW1r3cq5U61bO1tORrw0UozJeiJNcf1CS
hcmkn20uNoteYW/zrzlTGdS3w5W44aftFccUG7XJXqgUlqeCPyjkxt6AOy3G
QeUorMPGOFcd7uyDXg654lDqzspep7dcbTYdv1OZKMeCZwMfSApXz9rcLtgN
B5uWmnfdsXeW+pW34OC/BUVr0lsNc5WjWZRKjfA8eeVbg9lLPX+KAMnWq8SU
pvKmW1gblWlQW9r98mvRGhfKu3OwngnT86DVLS+m1rrpT+xZs9qbyoOOstjs
a0Kxai/1QbPK+JXNsN9r5GatebOrqMc+IK7WCkeHyvZcmO+XZ92sNZ7WkrM5
zKslvTvhVt7OV7aDWbXaGPgaU6iN+DdhyA3mhVrdPi6NemHWnddO/Z3Taekv
3muxdDo9ZdfR7um4sQ9+wbDOA+m8ts9CM/8WNpl2oT7KdeWWOTpMt02/Ogiy
x16vNJ7WtUrZbG2KWkPv7sXlftg0lr4xyp3dQrcwMsu6HTaEToOZtA7FV2Ez
6eht1V2avN7eGhV3eio7r63cyFOLB9k1x+NxrTMSzephs7Mng73ZUgzhlHc3
A5EpcHVpFtmctfa269AIVv06d56Gi6U+CzZl6bzMNjfBxpyfNnxYkd3mqGAd
23JhNSqLm8554DOHQlg8zwvqWKzl316LatRqtUorXa68DTZ162Vunx153Gto
m0G2Ouquwvm0MDm0ix03HFXH+4bBDPfcoLpSj2Mx1ygIxtmbjstu3jqbWne1
OlW0/FFuvW3Hh6jRMibe4jzW642Dxm2OL7V6PV8sM3npdRj2F+pA0eVgJTXX
udmyvd5tu2b3bO12LefYHpz5ytYUnhblQREmaWJRH5b28pPZeF15jONqW6fh
6f1lVDFWHT1Uz1U90rpv1nC92ZeCwf5tNV6rue2uHpy2i/Ko+Hboe6vpIjjp
lX5RZaKotmiX272D48qDiaQ1bVOpWOoqlApeePKOZ6E/bzh8WFWM9XjgL7qd
6mYaccowF/Cndv/M9FZRo95X3Xm9PjKG8vq4H06GzukwqDwdjPxw3X1dzd4W
FddQvFbQ7R+HqnPOZfOKblpny39pMv2ObRY6o3FOKRa3A3G5myoLf1/2Ztmi
XD748uA1rEbtgtaq5Tb1l7XozSN3NFmuXrdep+GaZaZVnIj2VOx3Xzflav4s
7gW7VHwLD7a+a+nSYVp/meYG2qTX7RzLJ3tS3OenK8PzgtdqdZ5TjSMzLFmF
ftcs1EqzbvVl33fmx3VR6B970kZtBV6rslxxY6upvbX4nmstO8HoddZsj+et
UrPSC6cyY0trddgNOovZaNPs5VrnprMu7bTFqV8KQ754aOhR33Hn5+4Ld7D0
Q2dZ2Ujt4zHMaydpwZVcZlHaz4/Lorhsjosba9w/rZdLz7Kax0p5VPcWOTuc
5OrCrtcLRtrqqXroDU6iITW5ScOqFcb1FdOSqnN96s0mlj2dT9Vyf5A1N2an
e8gLx9E4HI3G1mptl5Sl73OBGhRGbcU/VqeFN9MrVM1Wl1m9jDhrs5zp49nJ
Ph77XTvL6etVcZ7XyoY74Eq57akPbLrLFo5OZTvcDw5acVkU1vNJL3hTTowr
L2tGfdA11rVS/ez23zp7TpdWxqs7D4qBNu2qu8m8bZ5OrgPyWTHGZrHlSG7Z
HCw7bi1cMKVWX25N+Xzh3F91zrtO7qk21tXVsD7ujkoVpT6YT1RXGfUGh3N5
OwuCjsLJi6f1xlY2vfZ4U2JaI0tr94ODOZWrY2NubocBX6jvt/sgbzSVLeeO
dquiVK3Nqw3P5nS/Uatvi69PXHc/mywnzR6z55WwH1ZbYzvgV6Y7by9ni2HO
6DovojnjesJxtSptK+52ufcLtbVf04fFoFgz8+pwYU58S2B2k7dac17mf13L
OC9ryrti2A+qYf9oOUy8lsMe62G8rGQ/LIjdK2Lge2eptRH+lON7WtQhh+07
BmV+pEtG/ZaFuHePWllqWDYpRlIuF6sEC71VjtqZpbj7OHvvhr63F0Lor1OK
BbvXTBwNvjzel5IvfWgYrxuYaba55GQIdjAvLWMAomkYrUCwA1EGuMRxO5RF
jZgQ8GLVTE0d27l0JxnUuIphjIh+PN5hs9F3h7BEztKtMnSIk5OxcEFZc4na
sMEX5qnOg1fNKCEH/jVENhplfE0pOdk0qSc1e2l1xfQUZdtMys871JuIcSWV
e241iGtgIGAcIsVZew0DG4hMshQ2ixSJAdkESpxlIazlk5Pt+C4A5TOw7dPC
yBgoj7fqREx1Q4gALj8E6HiNTkxOVqnHDnZG3rAxJBfj/DCF2FiCoXgZW58B
CykmMalxkqccEyAGK3AW9X/RxTws1xHnYRch7CGkmESi4gNFPwZ1YitEaghG
NaIQZgdNygCZrJWCGaJywKqlIrUVqotB2KjGtT/1sidmKlTkJdl5d2yBklk6
9Z6LVLlxRCR+lmqomnCtRoj3lPEtHqJAXKI+YcoCYgpEwhQIBHCKiOdSKI9r
QzSf4m2Outt5igFhjk15S40KtQK1HmKu0sACnw1BXArbUlwedihQpKIRBPZy
3JtMnd2YveIREECHrqd2Nij5oVBjLVXYYBMINC2LeuEsZDvMZVI/oZNNIcwi
MhBuVQvH4bUNKqPAWkhbusMACKOKW4rOlKqW6O4oIBavNVBxGvMLJjUwchTG
87icnqIzJmkoSQ9cIZD2MqgH2CZEYmbRRoSBnKpY80xOVqgeZ0mkOuL0NY/H
wa5rmxIjVFN26C6BmJJnTkV1B0ozq2PiLEsd9LCnQg3OwLDYFkCZSgP7N1Oa
RKBaB1XVYIm4SgCrSHSbQ7OoXkHoBNTYZgpmunoB+4M+sWMO1y5t9xwlUnj+
0hsAS0spOseZNZ2KYTzVAzRKEHB0U0ejFDY+kRC1ad7G2oWOmRisfBIIwBvA
kqB6QPXC/6JNt3w11I1p3sbspX65TqCRbGOGnyfOoe5hoAVQGG/jaKBYkpNl
ujusUZMEMAOYCAuFHuUcNATKHE9V1SwV/1LsaREDZKlJO0vFduwLpcK1TM3V
gDxgG92m7n0lxSQqtUST0scSQ5zIFahyyuOfIDm8hZKDNZEUndGmiHQDhqpi
KN5xc3oWUyomtcRiQZcoL6QUYJxGgjNjN69Kzec8jotFTcDqK6oKk5YwUno7
bqVFUC00pQCkYKAOdqipN3u9tiEpiBFFfM8kVLzRyCZiawVPZSrqyRApy6zJ
l/76tK1SJZwAvKVROQ4kEU2ESdUVDjfkyT5L1JphpZgE+7PpuoIoXW5wA5CY
I6XmeJtKFTotKuDF8xR7UpUOWAU0JqytUqeORt4I1vzoyjfoRjkuEaW1Z1xD
pisGmNGknhdsJnfwuZS9lJEBlqwDPJ+czMvI2IAeziFvSkc4HeqQNqxLKTBL
WtmCzVPYFsmgSHTBHQiDxRIVLRvWlalvBvQU9sqI8a2plGBo5DiQlQQtLxG3
KrErYFCZl7gVFgW9L6U0CV3Mu9QXOJuqumRDwG4CtBy1J6l0UQ3Thils23RZ
AcADyEUqXAHyNLpFl6W2a0C4RBdiNOEjTRLXQxRyWUzKl4NxFamwjM4N+SdZ
ukIlGClNIlG/hIgKyCKXS49LLaQYQJMjFSmzDcSXtXcWQyUtj/xINUWZ8tES
eTYCXVADzAO2TVBmad/ToKYGkgcsY3IX5wS9AbKMioKpYlSA8js1BOS1HHTC
kDFVtBJ4t41cUZ2cZUm9NHTp5r3ScW0X4BAeOJvD4bZ4VZHKWthiJVAzATEc
H5fZUryNSX2HjAb1ncEhsQmFKmO4ikaZbPJJwRtVUrydpQodlpawFolyAtSG
A8NBDOmSnFfiui0IX8rT16kYadKNFoGS/vF9GrwdyOHmHF0Uk+VEZfd6bGqR
0AmleFOMLgVkSfvAfLAYKvoxVKXBBrqUGiKWAk2g0l1TsPImdaZh1VJEbsWT
y1SKxeOk5NkhBqa2MInqlCD0WVI6FulGvOLpkH+DFbKUSFLzCCptBc+MNU/U
z5crZsDwwAVgrsCDpqpICmFUgsEuCKql6nQzE69hcHhymwptZlyJkN/xNogE
eAMSXQLOxpadmrriuzUOVRcs+joNvBOZQhi8MKk6ZFBnFkwW6bs1bHJ0YAnL
pru6dB1MT7GnQdpPjS+rSMjk8NGJJdGhbg26S4aXUkANye/UkE19TuhsUtsZ
RzEemD6H+qVgmhLfaJHfxRiAEvAmsqTW4zoS2AqT7pzKVHiBEBKQgm0CGPul
jDupW5gARLbodqtI9xjxno9DtV2TwlQKP+S0DlPpDjFVDcFfU4i9UYwULLJi
sYq6B5Bhs/eqyVWqVJyJF7VE2ie2FVlUhugxUBch3gim1dP+NgasOnXQcWhZ
OLqZg/JIjUMaNQYIpGHAd82mbVUsrhSnCsql30smZx2L3HRVN/62FDV7L8hd
mUQkVJHQ4XU8k7xjss8aubw2ldRUalzSUuZGIXnk47MpKHpYQCSHQIpdLBmF
0VaoXpyazFOTkEK8rZCzC9wGfIZD47Il9QFgbx8QLEUqiDyw0khuIvAjSAJ6
jTaeH07OOdervmRD1ZS5AZtkECfgTUty7WW6y4ddcBoqNplaboB/sE0uhTC8
gUfX2hxqUgHcoOOnXJo8VLK+MNkx4q6sFLapGI41bbqDBiBgJxoV9kGesPmI
Oh9NSkEI5juRlMlcCEQMmQCO+zcATyCbSCf5cmMwmxYMnXxhhzBEqt+kvgQt
LqkKSEiJLvIiLKnJDt2nM8gn0qkX1aJbkCrp/Sz5FxL1nCr8/Wbx1UqSTTa5
SwiEbdtU4c2SJTGoyTZLO+O9spRgSIQbEF2NEkAKpZEk+ooilYwztosR22D1
PTVZoVSBRXf8sW2EivnATHEzhR5fW6M7zrx176y5Kn2iJE+dbyqVrbHbmXpX
stTyiukMB91KbG1KGzoqvprkE0nUGmtSgMCTc8VTc4wjX5ym9LGBKxQKb0WK
nLGZFFUs8ga4Uop+6TrR6J5pWg0pVHYXyRpzdHscAbbpJjllBOL0ikI+nWG9
w3bc5iJRByGmnkiYgaVsG9fSyKfjKG2QTe0MUGFjlEBhH/VoYziZRRPv0IV0
kIos9QY+9rfe4yqDbn4CJxuxpyfRtxLE3wtAnQaY5CPMpX0Sk9xpcAs0imJi
7z6OVzTyOnnuck0ZW3zSMPMUSEiopSSKf4HVOaqZx50IBn0Xh0DdlGnehoXx
5naWAiS6SY6tFDJZL/IgTWr/BkKAGpVS9hnskEhXGMFW2tmL74PtqpQtkChe
UtRLF46Y0iQgKypFyBLZYYMaTFDvk6HFm6EGRueGTbYyhW3wdPB7LugCOUAI
1hzbVnm0z9hdLJBDRO6O/tA6ck91YMeGiV6PQXc3wcXgtUuW2aIAS7YvPUBm
Oo1H3/9g0yGz1FCvY5aRuldEchQUuhXhoD6zUgpQI1tlUBMFSIhGnRgK9a1l
qZ8BrYKAyEMOTTtxHMWMJl03p7uhcX+hQv2XKvmkKFUadd2ljq0meP3DpojL
t2p9pe8mvvwrjLd/EvL6rcQff9fiV2Ye/5O9t38T792/znj5hzYf+ixu/2Tu
z30ZXvwlt/hP8NhBdPvSvXffN3rb97rcR99md61+PHytWOHxn3u+fa/Yw7em
/nQ95OMx4i+Qbgd2FJ3we1TX0b2skgAHv6G6hl/n1y8lwHnY9vHA6eG3A7M5
c7n2D55tzeifYWK+f4v/nSjb+tMnR/dCG79MlpbWbyPtZ+b/Bz7qwV9slwAA

-->

</rfc>
