<?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.11 (Ruby 3.2.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-pq-composite-sigs-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="PQ Composite Sigs">Composite Signatures For Use In Internet PKI</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-pq-composite-sigs-00"/>
    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization abbrev="Entrust">Entrust Limited</organization>
      <address>
        <postal>
          <street>2500 Solandt Road -- Suite 100</street>
          <city>Ottawa, Ontario</city>
          <code>K2K 3G5</code>
          <country>Canada</country>
        </postal>
        <email>mike.ounsworth@entrust.com</email>
      </address>
    </author>
    <author initials="J." surname="Gray" fullname="John Gray">
      <organization abbrev="Entrust">Entrust Limited</organization>
      <address>
        <postal>
          <street>2500 Solandt Road -- Suite 100</street>
          <city>Ottawa, Ontario</city>
          <code>K2K 3G5</code>
          <country>Canada</country>
        </postal>
        <email>john.gray@entrust.com</email>
      </address>
    </author>
    <author initials="M." surname="Pala" fullname="Massimiliano Pala">
      <organization abbrev="CableLabs">CableLabs</organization>
      <address>
        <postal>
          <street>858 Coal Creek Circle</street>
          <city>Louisville, Colorado</city>
          <code>80027</code>
          <country>United States of America</country>
        </postal>
        <email>director@openca.org</email>
      </address>
    </author>
    <author initials="J." surname="Klaussner" fullname="Jan Klaussner">
      <organization>D-Trust GmbH</organization>
      <address>
        <postal>
          <street>Kommandantenstr. 15</street>
          <city>Berlin</city>
          <code>10969</code>
          <country>Germany</country>
        </postal>
        <email>jan.klaussner@d-trust.net</email>
      </address>
    </author>
    <date year="2024" month="May" day="09"/>
    <area>Security</area>
    <workgroup>LAMPS</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 129?>

<t>The migration to post-quantum cryptography is unique in the history of modern digital cryptography in that neither the old outgoing nor the new incoming algorithms are fully trusted to protect data for the required data lifetimes. The outgoing algorithms, such as RSA and elliptic curve, may fall to quantum cryptanalysis, while the incoming post-quantum algorithms face uncertainty about both the underlying mathematics as well as hardware and software implementations that have not had sufficient maturing time to rule out classical cryptanalytic attacks and implementation bugs.</t>
      <t>Cautious implementers may wish to layer cryptographic algorithms such that an attacker would need to break all of them in order to compromise the data being protected using either a Post-Quantum / Traditional Hybrid, Post-Quantum / Post-Quantum Hybrid, or combinations thereof. This document, and its companions, defines a specific instantiation of hybrid paradigm called "composite" where multiple cryptographic algorithms are combined to form a single key or signature such that they can be treated as a single atomic object at the protocol level.</t>
      <t>This document defines the structures CompositeSignaturePublicKey, CompositeSignaturePrivateKey and CompositeSignatureValue, which are sequences of the respective structure for each component algorithm.  Composite signature algorithm identifiers are specified in this document which represent the explicit combinations of the underlying component algorithms.</t>
      <!-- End of Abstract -->



    </abstract>
  </front>
  <middle>
    <?line 140?>

<section anchor="changes-in-version-12">
      <name>Changes in version -12</name>
      <ul spacing="normal">
        <li>
          <t>Fixed the ASN.1 module pk-CompositeSignature Information Object Class so it now compiles</t>
        </li>
      </ul>
    </section>
    <section anchor="changes-in-version-11">
      <name>Changes in version -11</name>
      <ul spacing="normal">
        <li>
          <t>Remove ambiguity and made it clear that all component signature MUST be verified</t>
        </li>
        <li>
          <t>Added language to ensure that component keys MUST not be used in any other context</t>
        </li>
        <li>
          <t>Changed the content of the OID artifact to the DER encoded OID</t>
        </li>
        <li>
          <t>Reduced number of pre-hashing algorithm by removing SHA384 and SHAKE and replacing those with SHA512</t>
        </li>
        <li>
          <t>Updated the prototype OIDs since the changes in this draft are not compatible with version -10</t>
        </li>
        <li>
          <t>Fixed other nits</t>
        </li>
      </ul>
    </section>
    <section anchor="sec-intro">
      <name>Introduction</name>
      <t>During the transition to post-quantum cryptography, there will be uncertainty as to the strength of cryptographic algorithms; we will no longer fully trust traditional cryptography such as RSA, Diffie-Hellman, DSA and their elliptic curve variants, but we will also not fully trust their post-quantum replacements until they have had sufficient scrutiny and time to discover and fix implementation bugs. Unlike previous cryptographic algorithm migrations, the choice of when to migrate and which algorithms to migrate to, is not so clear. Even after the migration period, it may be advantageous for an entity's cryptographic identity to be composed of multiple public-key algorithms.</t>
      <t>Cautious implementers may wish to combine cryptographic algorithms such that an attacker would need to break all of them in order to compromise the data being protected. Such mechanisms are referred to as Post-Quantum / Traditional Hybrids <xref target="I-D.driscoll-pqt-hybrid-terminology"/>.</t>
      <t>PQ/T Hybrid cryptography can, in general, provide solutions to two migration problems:</t>
      <ul spacing="normal">
        <li>
          <t>Algorithm strength uncertainty: During the transition period, some post-quantum signature and encryption algorithms will not be fully trusted, while also the trust in legacy public key algorithms will start to erode.  A relying party may learn some time after deployment that a public key algorithm has become untrustworthy, but in the interim, they may not know which algorithm an adversary has compromised.</t>
        </li>
        <li>
          <t>Ease-of-migration: During the transition period, systems will require mechanisms that allow for staged migrations from fully classical to fully post-quantum-aware cryptography.</t>
        </li>
        <li>
          <t>Safeguard against faulty algorithm implementations and compromised keys: Even for long known algorithms there is a non-negligible risk of severe implementation faults. Latest examples are the ROCA attack and ECDSA psychic signatures. Using more than one algorithms will mitigate these risks.</t>
        </li>
      </ul>
      <t>This document defines a specific instantiation of the PQ/T Hybrid paradigm called "composite" where multiple cryptographic algorithms are combined to form a single signature such that it can be treated as a single atomic algorithm at the protocol level. Composite algorithms address algorithm strength uncertainty because the composite algorithm remains strong so long as one of its components remains strong. Concrete instantiations of composite signature algorithms are provided based on ML-DSA, Falcon, RSA and ECDSA. Backwards compatibility is not directly covered in this document, but is the subject of <xref target="sec-backwards-compat"/>.</t>
      <t>This document is intended for general applicability anywhere that digital signatures are used within PKIX and CMS structures.   For a more detailed use-case discussion for composite signatures, the reader is encouraged to look at <xref target="I-D.vaira-pquip-pqc-use-cases"/></t>
      <section anchor="sec-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="RFC2119"/>  <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
        <t>The following terms are used in this document:</t>
        <t>ALGORITHM:
          A standardized cryptographic primitive, as well as
          any ASN.1 structures needed for encoding data and
          metadata needed to use the algorithm. This document is
          primarily concerned with algorithms for producing digital
          signatures.</t>
        <t>BER:
          Basic Encoding Rules (BER) as defined in <xref target="X.690"/>.</t>
        <t>CLIENT:
          Any software that is making use of a cryptographic key.
          This includes a signer, verifier, encrypter, decrypter.</t>
        <t>COMPONENT ALGORITHM:
          A single basic algorithm which is contained within a
            composite algorithm.</t>
        <t>COMPOSITE ALGORITHM:
          An algorithm which is a sequence of two or more component
            algorithms, as defined in <xref target="sec-composite-structs"/>.</t>
        <t>DER:
          Distinguished Encoding Rules as defined in <xref target="X.690"/>.</t>
        <t>LEGACY:   For the purposes of this document, a legacy algorithm is
          any cryptographic algorithm currently is use which is
          not believe to be resistant to quantum cryptanalysis.</t>
        <t>PKI:
          Public Key Infrastructure, as defined in <xref target="RFC5280"/>.</t>
        <t>POST-QUANTUM ALGORITHM:
          Any cryptographic algorithm which is believed to be resistant
          to classical and quantum cryptanalysis, such as the algorithms being considered for standardization by NIST.</t>
        <t>PUBLIC / PRIVATE KEY:
          The public and private portion of an asymmetric cryptographic
            key, making no assumptions about which algorithm.</t>
        <t>SIGNATURE:
          A digital cryptographic signature, making no assumptions
            about which algorithm.</t>
        <t>STRIPPING ATTACK:
          An attack in which the attacker is able to downgrade the
          cryptographic object to an attacker-chosen subset of
          original set of component algorithms in such a way that
          it is not detectable by the receiver. For example,
          substituting a composite public key or signature for a
          version with fewer components.</t>
      </section>
      <section anchor="composite-design-philosophy">
        <name>Composite Design Philosophy</name>
        <t><xref target="I-D.driscoll-pqt-hybrid-terminology"/> defines composites as:</t>
        <ul empty="true">
          <li>
            <t><em>Composite Cryptographic Element</em>:  A cryptographic element that
     incorporates multiple component cryptographic elements of the same
     type in a multi-algorithm scheme.</t>
          </li>
        </ul>
        <t>Composite keys as defined here follow this definition and should be regarded as a single key that performs a single cryptographic operation such key generation, signing, verifying, encapsulating, or decapsulating -- using its internal sequence of component keys as if they form a single key. This generally means that the complexity of combining algorithms can and should be handled by the cryptographic library or cryptographic module, and the single composite public key, private key, and ciphertext can be carried in existing fields in protocols such as PKCS#10 <xref target="RFC2986"/>, CMP <xref target="RFC4210"/>, X.509 <xref target="RFC5280"/>, CMS <xref target="RFC5652"/>, and the Trust Anchor Format [RFC5914]. In this way, composites achieve "protocol backwards-compatibility" in that they will drop cleanly into any protocol that accepts signature algorithms without requiring any modification of the protocol to handle multiple keys.</t>
        <!-- End of Introduction section -->

</section>
      <section anchor="sec-sigs">
        <name>Composite Signatures</name>
        <t>Here we define the signature mechanism in which a signature is a cryptographic primitive that consists of three algorithms:</t>
        <ul spacing="normal">
          <li>
            <t>KeyGen() -&gt; (pk, sk): A probabilistic key generation algorithm,
which generates a public key pk and a secret key sk.</t>
          </li>
          <li>
            <t>Sign(sk, Message) -&gt; (signature): A signing algorithm which takes
as input a secret key sk and a Message, and outputs a signature</t>
          </li>
          <li>
            <t>Verify(pk, Message, signature) -&gt; true or false: A verification algorithm
which takes as input a public key, a Message and signature and outputs true
if the signature and public key can be used to verify the message.  Thus it
proves the Message was signed with the secret key associated with the public
key and verifies the integrity of the Message.  If the signature and public
key cannot verify the Message, it returns false.</t>
          </li>
        </ul>
        <t>A composite signature allows two or more underlying signature algorithms to be combined into a single cryptographic signature operation and can be used for applications that require signatures.</t>
        <section anchor="composite-keygen">
          <name>Composite KeyGen</name>
          <t>The <tt>KeyGen() -&gt; (pk, sk)</tt> of a composite signature algorithm will perform the <tt>KeyGen()</tt> of the respective component signature algorithms and it produces a composite public key <tt>pk</tt> as per <xref target="sec-composite-pub-keys"/> and a composite secret key <tt>sk</tt> is per <xref target="sec-priv-key"/>.  The component keys MUST be uniquely generated for each component key of a Composite and MUST NOT be used in any other keys or as a standalone key.</t>
        </section>
        <section anchor="sec-comp-sig-gen">
          <name>Composite Sign</name>
          <t>Generation of a composite signature involves applying each component algorithm's signature process to the input message according to its specification, and then placing each component signature value into the CompositeSignatureValue structure defined in <xref target="sec-composite-sig-structs"/>.</t>
          <t>The following process is used to generate composite signature values.</t>
          <figure anchor="alg-composite-sign">
            <name>Composite Sign(sk, Message)</name>
            <artwork><![CDATA[
Sign (sk, Message) -> (signature)
Input:
     K1, K2             Signing private keys for each component. See note below on
                        composite inputs.

     A1, A2             Component signature algorithms. See note below on
                        composite inputs.

     Message            The Message to be signed, an octet string

     HASH               The Message Digest Algorithm used for pre-hashing.  See section
                        on pre-hashing below.

     OID                The Composite Signature String Algorithm Name converted
                        from ASCII to bytes.  See section on OID concatenation
                        below.

Output:
     signature          The composite signature, a CompositeSignatureValue

Signature Generation Process:

   1. Compute a Hash of the Message

         M' = HASH(Message)

   2. Generate the n component signatures independently,
      according to their algorithm specifications.

         S1 := Sign( K1, A1, DER(OID) || M' )
         S2 := Sign( K2, A2, DER(OID) || M' )

   3. Encode each component signature S1 and S2 into a BIT STRING
      according to its algorithm specification.

        signature ::= Sequence { S1, S2 }

   4. Output signature
]]></artwork>
          </figure>
          <t>Note on composite inputs: the method of providing the list of component keys and algorithms is flexible and beyond the scope of this pseudo-code.  When passed to the Composite Sign(sk, Message) API the sk is a CompositePrivateKey. It is possible to construct a CompositePrivateKey from component keys stored in separate software or hardware keystores. Variations in the process to accommodate particular private key storage mechanisms are considered to be conformant to this document so long as it produces the same output as the process sketched above.</t>
          <t>Since recursive composite public keys are disallowed, no component signature may itself be a composite; ie the signature generation process MUST fail if one of the private keys K1 or K2 is a composite.</t>
          <t>A composite signature MUST produce, and include in the output, a signature value for every component key in the corresponding CompositePublicKey, and they MUST be in the same order; ie in the output, S1 MUST correspond to K1, S2 to K2.</t>
        </section>
        <section anchor="sec-comp-sig-verify">
          <name>Composite Verify</name>
          <t>Verification of a composite signature involves applying each component algorithm's verification process according to its specification.</t>
          <t>Compliant applications MUST output "Valid signature" (true) if and only if all component signatures were successfully validated, and "Invalid signature" (false) otherwise.</t>
          <t>The following process is used to perform this verification.</t>
          <figure anchor="alg-composite-verify">
            <name>Composite Verify(pk, Message, signature)</name>
            <artwork><![CDATA[
Composite Verify(pk, Message, signature)
Input:
     P1, P2             Public verification keys. See note below on
                        composite inputs.

     Message            Message whose signature is to be verified,
                        an octet string

     signature          CompositeSignatureValue containing the component
                        signature values (S1 and S2) to be verified.

     A1, A2             Component signature algorithms. See note
                        below on composite inputs.

     HASH               The Message Digest Algorithm for pre-hashing.  See
                        section on pre-hashing the message below.

     OID                The Composite Signature String Algorithm Name converted
                        from ASCII to bytes.  See section on OID concatenation
                        below

Output:
    Validity (bool)    "Valid signature" (true) if the composite
                        signature is valid, "Invalid signature"
                        (false) otherwise.

Signature Verification Procedure::
   1. Check keys, signatures, and algorithms lists for consistency.

      If Error during Desequencing, or the sequences have
      different numbers of elements, or any of the public keys
      P1 or P2 and the algorithm identifiers A1 or A2 are
      composite then output "Invalid signature" and stop.

   2. Compute a Hash of the Message

         M' = HASH(Message)

   3. Check each component signature individually, according to its
       algorithm specification.
       If any fail, then the entire signature validation fails.

       if not verify( P1, DER(OID) || M', S1, A1 ) then
            output "Invalid signature"
       if not verify( P2, DER(OID) || M', S2, A2 ) then
            output "Invalid signature"

       if all succeeded, then
        output "Valid signature"
]]></artwork>
          </figure>
          <t>Note on composite inputs: the method of providing the list of component keys and algorithms is flexible and beyond the scope of this pseudo-code.  When passed to the Composite Verify(pk, Message, signature) API the pk is a CompositePublicKey. It is possible to construct a CompositePublicKey from component keys stored in separate software or hardware keystores. Variations in the process to accommodate particular private key storage mechanisms are considered to be conformant to this document so long as it produces the same output as the process sketched above.</t>
          <t>Since recursive composite public keys are disallowed, no component signature may itself be a composite; ie the signature generation process MUST fail if one of the private keys K1 or K2 is a composite.</t>
        </section>
      </section>
      <section anchor="sec-oid-concat">
        <name>OID Concatenation</name>
        <t>As mentioned above, the OID input value for the Composite Signature Generation and verification process is the DER encoding of the OID represented in Hexidecimal bytes.   The following table shows the HEX encoding for each Signature AlgorithmID</t>
        <table anchor="tab-sig-alg-oids">
          <name>Composite Signature OID Concatenations</name>
          <thead>
            <tr>
              <th align="left">Composite Signature AlgorithmID</th>
              <th align="left">DER Encoding to be prepended to each Message</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">id-MLDSA44-RSA2048-PSS-SHA256</td>
              <td align="left">060B6086480186FA6B50080101</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA44-RSA2048-PKCS15-SHA256</td>
              <td align="left">060B6086480186FA6B50080102</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA44-Ed25519-SHA512</td>
              <td align="left">060B6086480186FA6B50080103</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA44-ECDSA-P256-SHA256</td>
              <td align="left">060B6086480186FA6B50080104</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA44-ECDSA-brainpoolP256r1-SHA256</td>
              <td align="left">060B6086480186FA6B50080105</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-RSA3072-PSS-SHA512</td>
              <td align="left">060B6086480186FA6B50080106</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-RSA3072-PKCS15-SHA512</td>
              <td align="left">060B6086480186FA6B50080107</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-ECDSA-P256-SHA512</td>
              <td align="left">060B6086480186FA6B50080108</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-ECDSA-brainpoolP256r1-SHA512</td>
              <td align="left">060B6086480186FA6B50080109</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-Ed25519-SHA512</td>
              <td align="left">060B6086480186FA6B5008010A</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA87-ECDSA-P384-SHA512</td>
              <td align="left">060B6086480186FA6B5008010B</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA87-ECDSA-brainpoolP384r1-SHA512</td>
              <td align="left">060B6086480186FA6B5008010C</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA87-Ed448-SHA512</td>
              <td align="left">060B6086480186FA6B5008010D</td>
            </tr>
            <tr>
              <td align="left">id-Falon512-ECDSA-P256-SHA256</td>
              <td align="left">060B6086480186FA6B5008010E</td>
            </tr>
            <tr>
              <td align="left">id-Falcon512-ECDSA-brainpoolP256r1-SHA256</td>
              <td align="left">060B6086480186FA6B5008010F</td>
            </tr>
            <tr>
              <td align="left">id-Falcon512-Ed25519-SHA512</td>
              <td align="left">060B6086480186FA6B50080110</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-prehash">
        <name>PreHashing the Message</name>
        <t>As noted in the composite signature generation process and composite signature verification process, the Message should be pre-hashed into M' with the digest algorithm specified in the composite signature algorithm identifier.  The choice of the digest algorithm was chosen with the following criteria:</t>
        <ol spacing="normal" type="1"><li>
            <t>For composites paired with RSA or ECDSA, the hashing algorithm SHA256 or SHA512 is used as part of the RSA or ECDSA signature algorithm and is therefore also used as the composite prehashing algorithm.</t>
          </li>
          <li>
            <t>For ML-DSA signing a digest of the message is allowed as long as the hash function provides at least y bits of classical security strength against both collision and second preimage attacks.   For MLDSA44 y is 128 bits, MLDSA65 y is 192 bits and for MLDSA87 y is 256 bits.  Therefore SHA256 is paired with RSA and ECDSA with MLDSA44 and SHA512 is paired with RSA and ECDSA with MLDSA65 and MLDSA87 to match the appropriate security strength.</t>
          </li>
          <li>
            <t>Ed25519 <xref target="RFC8032"/> uses SHA512 internally, therefore SHA512 is used to pre-hash the message when Ed25519 is a component algorithm.</t>
          </li>
          <li>
            <t>Ed448 <xref target="RFC8032"/> uses SHAKE256 internally, but to reduce the set of prehashing algorihtms, SHA512 was selected to pre-hash the message when Ed448 is a component algorithm.</t>
          </li>
          <li>
            <t>TODO:  For Falcon signing it is expected prehashing digest accomodations will be allowed.</t>
          </li>
        </ol>
        <!-- End of Composite Signature Algorithm section -->

</section>
      <section anchor="algorithm-selection-criteria">
        <name>Algorithm Selection Criteria</name>
        <t>The composite algorithm combinations defined in this document were chosen according to the following guidelines:</t>
        <ol spacing="normal" type="1"><li>
            <t>A single RSA combination is provided at a key size of 3072 bits, matched with NIST PQC Level 3 algorithms.</t>
          </li>
          <li>
            <t>Elliptic curve algorithms are provided with combinations on each of the NIST <xref target="RFC6090"/>, Brainpool <xref target="RFC5639"/>, and Edwards <xref target="RFC7748"/> curves. NIST PQC Levels 1 - 3 algorithms are matched with 256-bit curves, while NIST levels 4 - 5 are matched with 384-bit elliptic curves. This provides a balance between matching classical security levels of post-quantum and traditional algorithms, and also selecting elliptic curves which already have wide adoption.</t>
          </li>
          <li>
            <t>NIST level 1 candidates are provided, matched with 256-bit elliptic curves, intended for constrained use cases.</t>
          </li>
        </ol>
        <t>If other combinations are needed, a separate specification should be submitted to the IETF LAMPS working group.  To ease implementation, these specifications are encouraged to follow the construction pattern of the algorithms specified in this document.</t>
        <t>The composite structures defined in this specification allow only for pairs of algorithms. This also does not preclude future specification from extending these structures to define combinations with three or more components.</t>
      </section>
    </section>
    <section anchor="sec-composite-structs">
      <name>Composite Signature Structures</name>
      <t>In order for signatures to be composed of multiple algorithms, we define encodings consisting of a sequence of signature primitives (aka "component algorithms") such that these structures can be used as a drop-in replacement for existing signature fields such as those found in PKCS#10 <xref target="RFC2986"/>, CMP <xref target="RFC4210"/>, X.509 <xref target="RFC5280"/>, CMS <xref target="RFC5652"/>.</t>
      <section anchor="pk-compositesignature">
        <name>pk-CompositeSignature</name>
        <t>The following ASN.1 Information Object Class is a template to be used in defining all composite Signature public key types.</t>
        <sourcecode type="ASN.1" name="CompositeKeyObject-asn.1-structures"><![CDATA[
pk-CompositeSignature {OBJECT IDENTIFIER:id,
  FirstPublicKeyType,SecondPublicKeyType}
    PUBLIC-KEY ::= {
      IDENTIFIER id
      KEY SEQUENCE {
        firstPublicKey BIT STRING (CONTAINING FirstPublicKeyType),
        secondPublicKey BIT STRING (CONTAINING SecondPublicKeyType)
      }
      PARAMS ARE absent
      CERT-KEY-USAGE { digitalSignature, nonRepudiation, keyCertSign, cRLSign}
    }
]]></sourcecode>
        <t>As an example, the public key type <tt>pk-MLDSA65-ECDSA-P256-SHA256</tt> is defined as:</t>
        <artwork><![CDATA[
pk-MLDSA65-ECDSA-P256-SHA256 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA65-ECDSA-P256-SHA256,
  OCTET STRING, ECPoint}
]]></artwork>
        <t>The full set of key types defined by this specification can be found in the ASN.1 Module in <xref target="sec-asn1-module"/>.</t>
      </section>
      <section anchor="sec-composite-pub-keys">
        <name>CompositeSignaturePublicKey</name>
        <t>Composite public key data is represented by the following structure:</t>
        <sourcecode type="ASN.1" name="CompositeSignaturePublicKey-asn.1-structures"><![CDATA[
CompositeSignaturePublicKey ::= SEQUENCE SIZE (2) OF BIT STRING
]]></sourcecode>
        <t>A composite key MUST contain two component public keys. The order of the component keys is determined by the definition of the corresponding algorithm identifier as defined in section <xref target="sec-alg-ids"/>.</t>
        <t>Some applications may need to reconstruct the <tt>SubjectPublicKeyInfo</tt> objects corresponding to each component public key. <xref target="tab-sig-algs"/> in <xref target="sec-alg-ids"/> provides the necessary mapping between composite and their component algorithms for doing this reconstruction. This also motivates the design choice of <tt>SEQUENCE OF BIT STRING</tt> instead of <tt>SEQUENCE OF OCTET STRING</tt>; using <tt>BIT STRING</tt> allows for easier transcription between CompositeSignaturePublicKey and SubjectPublicKeyInfo.</t>
        <t>When the CompositeSignaturePublicKey must be provided in octet string or bit string format, the data structure is encoded as specified in <xref target="sec-encoding-rules"/>.</t>
        <t>Component keys of a CompositeSignaturePublicKey MUST NOT be used in any other type of key or as a standalone key.</t>
      </section>
      <section anchor="sec-priv-key">
        <name>CompositeSignaturePrivateKey</name>
        <t>Usecases that require an interoperable encoding for composite private keys, such as when private keys are carried in PKCS #12 <xref target="RFC7292"/>, CMP <xref target="RFC4210"/> or CRMF <xref target="RFC4211"/> MUST use the following structure.</t>
        <sourcecode type="ASN.1" name="CompositeSignaturePrivateKey-asn.1-structures"><![CDATA[
CompositeSignaturePrivateKey ::= SEQUENCE SIZE (2) OF OneAsymmetricKey
]]></sourcecode>
        <t>Each element is a <tt>OneAsymmetricKey</tt>` <xref target="RFC5958"/> object for a component private key.</t>
        <t>The parameters field MUST be absent.</t>
        <t>The order of the component keys is the same as the order defined in <xref target="sec-composite-pub-keys"/> for the components of CompositeSignaturePublicKey.</t>
        <t>When a <tt>CompositeSignaturePrivateKey</tt> is conveyed inside a OneAsymmetricKey structure (version 1 of which is also known as PrivateKeyInfo) <xref target="RFC5958"/>, the privateKeyAlgorithm field SHALL be set to the corresponding composite algorithm identifier defined according to <xref target="sec-alg-ids"/>, the privateKey field SHALL contain the CompositeSignaturePrivateKey, and the publicKey field MUST NOT be present. Associated public key material MAY be present in the CompositeSignaturePrivateKey.</t>
        <t>In some usecases the private keys that comprise a composite key may not be represented in a single structure or even be contained in a single cryptographic module; for example if one component is within the FIPS boundary of a cryptographic module and the other is not; see {sec-fips} for more discussion. The establishment of correspondence between public keys in a CompositeSignaturePublicKey and private keys not represented in a single composite structure is beyond the scope of this document.</t>
        <t>Component keys of a CompositeSignaturePrivateKey MUST NOT be used in any other type of key or as a standalone key.</t>
      </section>
      <section anchor="sec-encoding-rules">
        <name>Encoding Rules</name>
        <!-- EDNOTE 7: Examples of how other specifications specify how a data structure is converted to a bit string can be found in RFC 2313, section 10.1.4, 3279 section 2.3.5, and RFC 4055, section 3.2. -->

<t>Many protocol specifications will require that the composite public key and composite private key data structures be represented by an octet string or bit string.</t>
        <t>When an octet string is required, the DER encoding of the composite data structure SHALL be used directly.</t>
        <sourcecode type="ASN.1"><![CDATA[
CompositeSignaturePublicKeyOs ::= OCTET STRING (CONTAINING CompositeSignaturePublicKey ENCODED BY der)
]]></sourcecode>
        <t>When a bit string is required, the octets of the DER encoded composite data structure SHALL be used as the bits of the bit string, with the most significant bit of the first octet becoming the first bit, and so on, ending with the least significant bit of the last octet becoming the last bit of the bit string.</t>
        <sourcecode type="ASN.1"><![CDATA[
CompositeSignaturePublicKeyBs ::= BIT STRING (CONTAINING CompositeSignaturePublicKey ENCODED BY der)
]]></sourcecode>
        <t>In the interests of simplicity and avoiding compatibility issues, implementations that parse these structures MAY accept both BER and DER.</t>
      </section>
      <section anchor="key-usage-bits">
        <name>Key Usage Bits</name>
        <t>For protocols such as X.509 <xref target="RFC5280"/> that specify key usage along with the public key, then the composite public key associated with a composite signature MUST have a signing-type key usage.
This is because the composite public key can only be used in situations
that are appropriate for both component algorithms, so even if the
classical component key supports both signing and encryption,
the post-quantum algorithms do not.</t>
        <t>If the keyUsage extension is present in a Certification Authority (CA) certificate that indicates a composite key, then any combination of the following values MAY be present and any other values MUST NOT be present:</t>
        <artwork><![CDATA[
digitalSignature;
nonRepudiation;
keyCertSign; and
cRLSign.
]]></artwork>
        <t>If the keyUsage extension is present in an End Entity (EE) certificate that indicates a composite key, then any combination of the following values MAY be present and any other values MUST NOT be present:</t>
        <artwork><![CDATA[
digitalSignature; and
nonRepudiation;
]]></artwork>
      </section>
    </section>
    <section anchor="composite-signature-structures">
      <name>Composite Signature Structures</name>
      <section anchor="sec-composite-sig-structs">
        <name>sa-CompositeSignature</name>
        <t>The ASN.1 algorithm object for a composite signature is:</t>
        <sourcecode type="asn.1"><![CDATA[
sa-CompositeSignature {
  OBJECT IDENTIFIER:id,
    PUBLIC-KEY:publicKeyType }
    SIGNATURE-ALGORITHM ::= {
        IDENTIFIER id
        VALUE CompositeSignatureValue
        PARAMS ARE absent
        PUBLIC-KEYS { publicKeyType }
    }
]]></sourcecode>
        <t>The following is an explanation how SIGNATURE-ALGORITHM elements are used
to create Composite Signatures:</t>
        <table>
          <thead>
            <tr>
              <th align="left">SIGNATURE-ALGORITHM element</th>
              <th align="left">Definition</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">IDENTIFIER</td>
              <td align="left">The Object ID used to identify the composite Signature Algorithm</td>
            </tr>
            <tr>
              <td align="left">VALUE</td>
              <td align="left">The Sequence of BIT STRINGS for each component signature value</td>
            </tr>
            <tr>
              <td align="left">PARAMS</td>
              <td align="left">Parameters are absent</td>
            </tr>
            <tr>
              <td align="left">PUBLIC-KEYS</td>
              <td align="left">The composite key required to produce the composite signature</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sec-compositeSignatureValue">
        <name>CompositeSignatureValue</name>
        <t>The output of the composite signature algorithm is the DER encoding of the following structure:</t>
        <sourcecode type="asn.1" name="composite-sig-asn.1"><![CDATA[
CompositeSignatureValue ::= SEQUENCE SIZE (2) OF BIT STRING
]]></sourcecode>
        <t>Where each BIT STRING within the SEQUENCE is a signature value produced by one of the component keys. It MUST contain one signature value produced by each component algorithm, and in the same order as specified in the object identifier.</t>
        <t>The choice of <tt>SEQUENCE SIZE (2) OF BIT STRING</tt>, rather than for example a single BIT STRING containing the concatenated signature values, is to gracefully handle variable-length signature values by taking advantage of ASN.1's built-in length fields.</t>
      </section>
    </section>
    <section anchor="sec-alg-ids">
      <name>Algorithm Identifiers</name>
      <t>This section defines the algorithm identifiers for explicit combinations.  For simplicity and prototyping purposes, the signature algorithm object identifiers specified in this document are the same as the composite key object Identifiers.  A proper implementation should not presume that the object ID of a composite key will be the same as its composite signature algorithm.</t>
      <t>This section is not intended to be exhaustive and other authors may define others composite signature algorithms so long as they are compatible with the structures and processes defined in this and companion public and private key documents.</t>
      <t>Some use-cases desire the flexibility for clients to use any combination of supported algorithms, while others desire the rigidity of explicitly-specified combinations of algorithms.</t>
      <t>The following table summarizes the details for each explicit composite signature algorithms:</t>
      <t>The OID referenced are TBD for prototyping only, and the following prefix is used for each:</t>
      <t>replace &lt;CompSig&gt; with the String "2.16.840.1.114027.80.8.1"</t>
      <t>Therefore &lt;CompSig&gt;.1 is equal to 2.16.840.1.114027.80.8.1.1</t>
      <t>Signature public key types:</t>
      <table anchor="tab-sig-algs">
        <name>Composite Signature Algorithms</name>
        <thead>
          <tr>
            <th align="left">Composite Signature AlgorithmID</th>
            <th align="left">OID</th>
            <th align="left">First Algorithm</th>
            <th align="left">Second Algorithm</th>
            <th align="left">Pre-Hash</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">id-MLDSA44-RSA2048-PSS-SHA256</td>
            <td align="left">&lt;CompSig&gt;.1</td>
            <td align="left">MLDSA44</td>
            <td align="left">SHA256WithRSAPSS</td>
            <td align="left">SHA256</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA44-RSA2048-PKCS15-SHA256</td>
            <td align="left">&lt;CompSig&gt;.2</td>
            <td align="left">MLDSA44</td>
            <td align="left">SHA256WithRSAEncryption</td>
            <td align="left">SHA256</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA44-Ed25519-SHA512</td>
            <td align="left">&lt;CompSig&gt;.3</td>
            <td align="left">MLDSA44</td>
            <td align="left">Ed25519</td>
            <td align="left">SHA512</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA44-ECDSA-P256-SHA256</td>
            <td align="left">&lt;CompSig&gt;.4</td>
            <td align="left">MLDSA44</td>
            <td align="left">SHA256withECDSA</td>
            <td align="left">SHA256</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA44-ECDSA-brainpoolP256r1-SHA256</td>
            <td align="left">&lt;CompSig&gt;.5</td>
            <td align="left">MLDSA44</td>
            <td align="left">SHA256withECDSA</td>
            <td align="left">SHA256</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA65-RSA3072-PSS-SHA512</td>
            <td align="left">&lt;CompSig&gt;.6</td>
            <td align="left">MLDSA65</td>
            <td align="left">SHA512WithRSAPSS</td>
            <td align="left">SHA512</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA65-RSA3072-PKCS15-SHA512</td>
            <td align="left">&lt;CompSig&gt;.7</td>
            <td align="left">MLDSA65</td>
            <td align="left">SHA512WithRSAEncryption</td>
            <td align="left">SHA512</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA65-ECDSA-P256-SHA512</td>
            <td align="left">&lt;CompSig&gt;.8</td>
            <td align="left">MLDSA65</td>
            <td align="left">SHA512withECDSA</td>
            <td align="left">SHA512</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA65-ECDSA-brainpoolP256r1-SHA512</td>
            <td align="left">&lt;CompSig&gt;.9</td>
            <td align="left">MLDSA65</td>
            <td align="left">SHA512withECDSA</td>
            <td align="left">SHA512</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA65-Ed25519-SHA512</td>
            <td align="left">&lt;CompSig&gt;.10</td>
            <td align="left">MLDSA65</td>
            <td align="left">Ed25519</td>
            <td align="left">SHA512</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA87-ECDSA-P384-SHA512</td>
            <td align="left">&lt;CompSig&gt;.11</td>
            <td align="left">MLDSA87</td>
            <td align="left">SHA512withECDSA</td>
            <td align="left">SHA512</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA87-ECDSA-brainpoolP384r1-SHA512</td>
            <td align="left">&lt;CompSig&gt;.12</td>
            <td align="left">MLDSA87</td>
            <td align="left">SHA512withECDSA</td>
            <td align="left">SHA512</td>
          </tr>
          <tr>
            <td align="left">id-MLDSA87-Ed448-SHA512</td>
            <td align="left">&lt;CompSig&gt;.13</td>
            <td align="left">MLDSA87</td>
            <td align="left">Ed448</td>
            <td align="left">SHA512</td>
          </tr>
          <tr>
            <td align="left">id-Falon512-ECDSA-P256-SHA256</td>
            <td align="left">&lt;CompSig&gt;.14</td>
            <td align="left">Falcon512</td>
            <td align="left">SHA256withECDSA</td>
            <td align="left">SHA256</td>
          </tr>
          <tr>
            <td align="left">id-Falcon512-ECDSA-brainpoolP256r1-SHA256</td>
            <td align="left">&lt;CompSig&gt;.15</td>
            <td align="left">Falcon512</td>
            <td align="left">SHA256withECDSA</td>
            <td align="left">SHA256</td>
          </tr>
          <tr>
            <td align="left">id-Falcon512-Ed25519-SHA512</td>
            <td align="left">&lt;CompSig&gt;.16</td>
            <td align="left">Falcon512</td>
            <td align="left">Ed25519</td>
            <td align="left">SHA512</td>
          </tr>
        </tbody>
      </table>
      <t>The table above contains everything needed to implement the listed explicit composite algorithms. See the ASN.1 module in section <xref target="sec-asn1-module"/> for the explicit definitions of the above Composite signature algorithms.</t>
      <t>Full specifications for the referenced algorithms can be found as follows:</t>
      <ul spacing="normal">
        <li>
          <t><em>MLDSA</em>: <xref target="I-D.ietf-lamps-dilithium-certificates"/> and [FIPS.204-ipd]</t>
        </li>
        <li>
          <t><em>ECDSA</em>: <xref target="RFC5480"/></t>
        </li>
        <li>
          <t><em>Ed25519 / Ed448</em>: <xref target="RFC8410"/></t>
        </li>
        <li>
          <t><em>Falcon</em>: TBD</t>
        </li>
        <li>
          <t><em>RSAES-PKCS-v1_5</em>: <xref target="RFC8017"/></t>
        </li>
        <li>
          <t><em>RSASSA-PSS</em>: <xref target="RFC8017"/></t>
        </li>
      </ul>
      <section anchor="notes-on-id-mldsa44-rsa2048-pss-sha256">
        <name>Notes on id-MLDSA44-RSA2048-PSS-SHA256</name>
        <t>Use of RSA-PSS <xref target="RFC8017"/> deserves a special explanation.</t>
        <t>The RSA component keys MUST be generated at the 2048-bit security level in order to match with ML-DSA-44</t>
        <t>As with the other composite signature algorithms, when <tt>id-MLDSA44-RSA2048-PSS-SHA256</tt> is used in an AlgorithmIdentifier, the parameters MUST be absent. <tt>id-MLDSA44-RSA2048-PSS-SHA256</tt> SHALL instantiate RSA-PSS with the following parameters:</t>
        <table anchor="rsa-pss-params2048">
          <name>RSA-PSS 2048 Parameters</name>
          <thead>
            <tr>
              <th align="left">RSA-PSS Parameter</th>
              <th align="left">Value</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Mask Generation Function</td>
              <td align="left">mgf1</td>
            </tr>
            <tr>
              <td align="left">Mask Generation params</td>
              <td align="left">SHA-256</td>
            </tr>
            <tr>
              <td align="left">Message Digest Algorithm</td>
              <td align="left">SHA-256</td>
            </tr>
          </tbody>
        </table>
        <t>where:</t>
        <ul spacing="normal">
          <li>
            <t><tt>Mask Generation Function (mgf1)</tt> is defined in <xref target="RFC8017"/></t>
          </li>
          <li>
            <t><tt>SHA-256</tt> is defined in <xref target="RFC6234"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="notes-on-id-mldsa65-rsa3072-pss-sha512">
        <name>Notes on id-MLDSA65-RSA3072-PSS-SHA512</name>
        <t>The RSA component keys MUST be generated at the 3072-bit security level in order to match with ML-DSA-65.</t>
        <t>As with the other composite signature algorithms, when <tt>id-MLDSA65-RSA3072-PSS-SHA512</tt>  is used in an AlgorithmIdentifier, the parameters MUST be absent. <tt>id-MLDSA65-RSA3072-PSS-SHA512</tt> SHALL instantiate RSA-PSS with the following parameters:</t>
        <table anchor="rsa-pss-params3072">
          <name>RSA-PSS 3072 Parameters</name>
          <thead>
            <tr>
              <th align="left">RSA-PSS Parameter</th>
              <th align="left">Value</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Mask Generation Function</td>
              <td align="left">mgf1</td>
            </tr>
            <tr>
              <td align="left">Mask Generation params</td>
              <td align="left">SHA-512</td>
            </tr>
            <tr>
              <td align="left">Message Digest Algorithm</td>
              <td align="left">SHA-512</td>
            </tr>
          </tbody>
        </table>
        <t>where:</t>
        <ul spacing="normal">
          <li>
            <t><tt>Mask Generation Function (mgf1)</tt> is defined in <xref target="RFC8017"/></t>
          </li>
          <li>
            <t><tt>SHA-512</tt> is defined in <xref target="RFC6234"/>.</t>
          </li>
        </ul>
        <!-- End of Composite Signature Algorithm section -->

</section>
    </section>
    <section anchor="sec-asn1-module">
      <name>ASN.1 Module</name>
      <sourcecode type="asn.1"><![CDATA[
<CODE STARTS>


   Composite-Signatures-2023
      { joint-iso-itu-t(2) country(16) us(840) organization(1) entrust(114027)
        algorithm(80) id-composite-signatures-2023 (TBDMOD) }

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

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

  SubjectPublicKeyInfo
    FROM PKIX1Explicit-2009
      { iso(1) identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) id-mod(0)
        id-mod-pkix1-explicit-02(51) }

  OneAsymmetricKey
    FROM AsymmetricKeyPackageModuleV1
      { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
        pkcs-9(9) smime(16) modules(0)
        id-mod-asymmetricKeyPkgV1(50) } 

  RSAPublicKey, ECPoint
    FROM PKIXAlgs-2009 
      { iso(1) identified-organization(3) dod(6)
        internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
        id-mod-pkix1-algorithms2008-02(56) }
        
  sa-rsaSSA-PSS
    FROM PKIX1-PSS-OAEP-Algorithms-2009
       {iso(1) identified-organization(3) dod(6) internet(1) security(5)
       mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-rsa-pkalgs-02(54)}
       
;       
        
--
-- Object Identifiers
--

-- Defined in ITU-T X.690
der OBJECT IDENTIFIER ::=
  {joint-iso-itu-t asn1(1) ber-derived(2) distinguished-encoding(1)}




--
-- Signature Algorithm
--


--
-- Composite Signature basic structures
--

CompositeSignaturePublicKey ::= SEQUENCE SIZE (2) OF BIT STRING

CompositeSignaturePublicKeyOs ::= OCTET STRING (CONTAINING 
                                CompositeSignaturePublicKey ENCODED BY der)

CompositeSignaturePublicKeyBs ::= BIT STRING (CONTAINING 
                                CompositeSignaturePublicKey ENCODED BY der)

CompositeSignaturePrivateKey ::= SEQUENCE SIZE (2) OF OneAsymmetricKey

CompositeSignatureValue ::= SEQUENCE SIZE (2) OF BIT STRING

-- Composite Signature Value is just a sequence of OCTET STRINGS

--   CompositeSignaturePair{FirstSignatureValue, SecondSignatureValue} ::= 
--     SEQUENCE {
--      signaturevalue1 FirstSignatureValue,
--      signaturevalue2 SecondSignatureValue }

   -- An Explicit Compsite Signature is a set of Signatures which 
   -- are composed of OCTET STRINGS
--   ExplicitCompositeSignatureValue ::= CompositeSignaturePair {
--       OCTET STRING,OCTET STRING}
    

--
-- Information Object Classes
--

pk-CompositeSignature {OBJECT IDENTIFIER:id, 
  FirstPublicKeyType,SecondPublicKeyType} 
    PUBLIC-KEY ::= {
      IDENTIFIER id
      KEY SEQUENCE {
        firstPublicKey BIT STRING (CONTAINING FirstPublicKeyType),
        secondPublicKey BIT STRING (CONTAINING SecondPublicKeyType)
      }
      PARAMS ARE absent
      CERT-KEY-USAGE { digitalSignature, nonRepudiation, keyCertSign, cRLSign}
    } 
                                                                                                                        

sa-CompositeSignature{OBJECT IDENTIFIER:id, 
   PUBLIC-KEY:publicKeyType } 
      SIGNATURE-ALGORITHM ::=  {
         IDENTIFIER id
         VALUE CompositeSignatureValue
         PARAMS ARE absent
         PUBLIC-KEYS {publicKeyType} 
      }

-- TODO: OID to be replaced by IANA
id-MLDSA44-RSA2048-PSS-SHA256 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 1 }

pk-MLDSA44-RSA2048-PSS-SHA256 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA44-RSA2048-PSS-SHA256,
  OCTET STRING, RSAPublicKey}

sa-MLDSA44-RSA2048-PSS-SHA256 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA44-RSA2048-PSS-SHA256, 
       pk-MLDSA44-RSA2048-PSS-SHA256 }
       
-- TODO: OID to be replaced by IANA
id-MLDSA44-RSA2048-PKCS15-SHA256 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 2 }

pk-MLDSA44-RSA2048-PKCS15-SHA256 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA44-RSA2048-PKCS15-SHA256,
  OCTET STRING, RSAPublicKey}

sa-MLDSA44-RSA2048-PKCS15-SHA256 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA44-RSA2048-PKCS15-SHA256, 
       pk-MLDSA44-RSA2048-PKCS15-SHA256 } 
    
       
-- TODO: OID to be replaced by IANA
id-MLDSA44-Ed25519-SHA512 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 3 }

pk-MLDSA44-Ed25519-SHA512 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA44-Ed25519-SHA512,
  OCTET STRING, ECPoint}

sa-MLDSA44-Ed25519-SHA512 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA44-Ed25519-SHA512, 
       pk-MLDSA44-Ed25519-SHA512 } 
       
       
-- TODO: OID to be replaced by IANA
id-MLDSA44-ECDSA-P256-SHA256 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 4 }

pk-MLDSA44-ECDSA-P256-SHA256 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA44-ECDSA-P256-SHA256,
  OCTET STRING, ECPoint}

sa-MLDSA44-ECDSA-P256-SHA256 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA44-ECDSA-P256-SHA256, 
       pk-MLDSA44-ECDSA-P256-SHA256 }   
       
  
-- TODO: OID to be replaced by IANA
id-MLDSA44-ECDSA-brainpoolP256r1-SHA256 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 5 }

pk-MLDSA44-ECDSA-brainpoolP256r1-SHA256 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA44-ECDSA-brainpoolP256r1-SHA256,
  OCTET STRING, ECPoint}

sa-MLDSA44-ECDSA-brainpoolP256r1-SHA256 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA44-ECDSA-brainpoolP256r1-SHA256, 
       pk-MLDSA44-ECDSA-brainpoolP256r1-SHA256 }  
       

-- TODO: OID to be replaced by IANA
id-MLDSA65-RSA3072-PSS-SHA512 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 6 }

pk-MLDSA65-RSA3072-PSS-SHA512 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA65-RSA3072-PSS-SHA512,
  OCTET STRING, RSAPublicKey}

sa-MLDSA65-RSA3072-PSS-SHA512 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA65-RSA3072-PSS-SHA512, 
       pk-MLDSA65-RSA3072-PSS-SHA512 }   
       
    
-- TODO: OID to be replaced by IANA
id-MLDSA65-RSA3072-PKCS15-SHA512 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 7 }

pk-MLDSA65-RSA3072-PKCS15-SHA512 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA65-RSA3072-PKCS15-SHA512,
  OCTET STRING, RSAPublicKey}

sa-MLDSA65-RSA3072-PKCS15-SHA512 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA65-RSA3072-PKCS15-SHA512, 
       pk-MLDSA65-RSA3072-PKCS15-SHA512 } 
                                                 
      
-- TODO: OID to be replaced by IANA
id-MLDSA65-ECDSA-P256-SHA512 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 8 }

pk-MLDSA65-ECDSA-P256-SHA512 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA65-ECDSA-P256-SHA512,
  OCTET STRING, ECPoint}

sa-MLDSA65-ECDSA-P256-SHA512 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA65-ECDSA-P256-SHA512, 
       pk-MLDSA65-ECDSA-P256-SHA512 }
       

-- TODO: OID to be replaced by IANA
id-MLDSA65-ECDSA-brainpoolP256r1-SHA512 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 9 }

pk-id-MLDSA65-ECDSA-brainpoolP256r1-SHA512 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA65-ECDSA-brainpoolP256r1-SHA512,
  OCTET STRING, ECPoint}

sa-id-MLDSA65-ECDSA-brainpoolP256r1-SHA512 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA65-ECDSA-brainpoolP256r1-SHA512, 
       pk-id-MLDSA65-ECDSA-brainpoolP256r1-SHA512 }       


-- TODO: OID to be replaced by IANA
id-MLDSA65-Ed25519-SHA512 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 10 }

pk-MLDSA65-Ed25519-SHA512 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA65-Ed25519-SHA512,
  OCTET STRING, ECPoint}

sa-MLDSA65-Ed25519-SHA512 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA65-Ed25519-SHA512, 
       pk-MLDSA65-Ed25519-SHA512 } 
       
       
-- TODO: OID to be replaced by IANA
id-MLDSA87-ECDSA-P384-SHA512 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 11 }

pk-MLDSA87-ECDSA-P384-SHA512 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA87-ECDSA-P384-SHA512,
  OCTET STRING, ECPoint}

sa-MLDSA87-ECDSA-P384-SHA512 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA87-ECDSA-P384-SHA512, 
       pk-MLDSA87-ECDSA-P384-SHA512 }   
       
  
-- TODO: OID to be replaced by IANA
id-MLDSA87-ECDSA-brainpoolP384r1-SHA512 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 12 }

pk-MLDSA87-ECDSA-brainpoolP384r1-SHA512 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA87-ECDSA-brainpoolP384r1-SHA512,
  OCTET STRING, ECPoint}

sa-MLDSA87-ECDSA-brainpoolP384r1-SHA512 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA87-ECDSA-brainpoolP384r1-SHA512, 
       pk-MLDSA87-ECDSA-brainpoolP384r1-SHA512 } 
       
       
-- TODO: OID to be replaced by IANA
id-MLDSA87-Ed448-SHA512 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 13 }

pk-MLDSA87-Ed448-SHA512 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-MLDSA87-Ed448-SHA512,
  OCTET STRING, ECPoint}

sa-MLDSA87-Ed448-SHA512 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-MLDSA87-Ed448-SHA512, 
       pk-MLDSA87-Ed448-SHA512 }  
       
-- TODO: OID to be replaced by IANA
id-Falon512-ECDSA-P256-SHA256 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 14 }

pk-Falon512-ECDSA-P256-SHA256 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-Falon512-ECDSA-P256-SHA256,
  OCTET STRING, ECPoint}

sa-Falon512-ECDSA-P256-SHA256 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-Falon512-ECDSA-P256-SHA256, 
       pk-Falon512-ECDSA-P256-SHA256 } 
       
-- TODO: OID to be replaced by IANA
id-Falcon512-ECDSA-brainpoolP256r1-SHA256 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 15 }

pk-Falcon512-ECDSA-brainpoolP256r1-SHA256 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-Falcon512-ECDSA-brainpoolP256r1-SHA256,
  OCTET STRING, ECPoint}

sa-Falcon512-ECDSA-brainpoolP256r1-SHA256 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-Falcon512-ECDSA-brainpoolP256r1-SHA256, 
       pk-Falcon512-ECDSA-brainpoolP256r1-SHA256 } 
       
-- TODO: OID to be replaced by IANA
id-Falcon512-Ed25519-SHA512 OBJECT IDENTIFIER ::= {     
   joint-iso-itu-t(2) country(16) us(840) organization(1) 
   entrust(114027) algorithm(80) composite(8) signature(1) 16 }

pk-Falcon512-Ed25519-SHA512 PUBLIC-KEY ::=
  pk-CompositeSignature{ id-Falcon512-Ed25519-SHA512,
  OCTET STRING, ECPoint}

sa-Falcon512-Ed25519-SHA512 SIGNATURE-ALGORITHM ::= 
    sa-CompositeSignature{
       id-Falcon512-Ed25519-SHA512, 
       pk-Falcon512-Ed25519-SHA512 }                                      
                     

END

<CODE ENDS>

]]></sourcecode>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate a value from the "SMI Security for PKIX Module Identifier" registry <xref target="RFC7299"/> for the included ASN.1 module, and allocate values from "SMI Security for PKIX Algorithms" to identify the fourteen Algorithms defined within.</t>
      <section anchor="object-identifier-allocations">
        <name>Object Identifier Allocations</name>
        <t>EDNOTE to IANA: OIDs will need to be replaced in both the ASN.1 module and in <xref target="tab-sig-algs"/>.</t>
        <section anchor="module-registration-smi-security-for-pkix-module-identifier">
          <name>Module Registration - SMI Security for PKIX Module Identifier</name>
          <ul spacing="normal">
            <li>
              <t>Decimal: IANA Assigned - <strong>Replace TBDMOD</strong></t>
            </li>
            <li>
              <t>Description: Composite-Signatures-2023 - id-mod-composite-signatures</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
          </ul>
        </section>
        <section anchor="object-identifier-registrations-smi-security-for-pkix-algorithms">
          <name>Object Identifier Registrations - SMI Security for PKIX Algorithms</name>
          <ul spacing="normal">
            <li>
              <t>id-MLDSA44-RSA2048-PSS-SHA256</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA44-RSA2048-PSS-SHA256</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA44-RSA2048-PKCS15-SHA256</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA44-RSA2048-PKCS15-SHA256</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA44-Ed25519-SHA512</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA44-Ed25519-SHA512</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA44-ECDSA-P256-SHA256</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA44-ECDSA-P256-SHA256</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA44-ECDSA-brainpoolP256r1-SHA256</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA44-ECDSA-brainpoolP256r1-SHA256</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA65-RSA3072-PSS-SHA512</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA65-RSA3072-PSS-SHA512</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA65-RSA3072-PKCS15-SHA512</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA65-RSA3072-PKCS15-SHA512</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA65-ECDSA-P256-SHA512</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA65-ECDSA-P256-SHA512</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA65-ECDSA-brainpoolP256r1-SHA512</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA65-ECDSA-brainpoolP256r1-SHA512</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA65-Ed25519-SHA512</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA65-Ed25519-SHA512</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA87-ECDSA-P384-SHA512</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA87-ECDSA-P384-SHA512</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA87-ECDSA-brainpoolP384r1-SHA512</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA87-ECDSA-brainpoolP384r1-SHA512</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-MLDSA87-Ed448-SHA512</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-MLDSA87-Ed448-SHA512</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-Falon512-ECDSA-P256-SHA256</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-Falon512-ECDSA-P256-SHA256</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-Falcon512-ECDSA-brainpoolP256r1-SHA256</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-Falcon512-ECDSA-brainpoolP256r1-SHA256</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
            <li>
              <t>id-Falcon512-Ed25519-SHA512</t>
            </li>
            <li>
              <t>Decimal: IANA Assigned</t>
            </li>
            <li>
              <t>Description:  id-Falcon512-Ed25519-SHA512</t>
            </li>
            <li>
              <t>References: This Document</t>
            </li>
          </ul>
          <!-- End of IANA Considerations section -->

</section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="policy-for-deprecated-and-acceptable-algorithms">
        <name>Policy for Deprecated and Acceptable Algorithms</name>
        <t>Traditionally, a public key, certificate, or signature contains a single cryptographic algorithm. If and when an algorithm becomes deprecated (for example, RSA-512, or SHA1), then clients performing signatures or verifications should be updated to adhere to appropriate policies.</t>
        <t>In the composite model this is less obvious since implementers may decide that certain cryptographic algorithms have complementary security properties and are acceptable in combination even though one or both algorithms are deprecated for individual use. As such, a single composite public key or certificate may contain a mixture of deprecated and non-deprecated algorithms.</t>
        <t>Since composite algorithms are registered independently of their component algorithms, their deprecation can be handled indpendently from that of their component algorithms. For example a cryptographic policy might continue to allow <tt>id-MLDSA65-ECDSA-P256-SHA256</tt> even after ECDH-P256 is deprecated.</t>
        <!-- End of Security Considerations section -->

<!-- Start of Appendices -->

</section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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="RFC2986" target="https://www.rfc-editor.org/info/rfc2986" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2986.xml">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="RFC4210" target="https://www.rfc-editor.org/info/rfc4210" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4210.xml">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)</title>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="T. Kause" initials="T." surname="Kause"/>
            <author fullname="T. Mononen" initials="T." surname="Mononen"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document describes the Internet X.509 Public Key Infrastructure (PKI) Certificate Management Protocol (CMP). Protocol messages are defined for X.509v3 certificate creation and management. CMP provides on-line interactions between PKI components, including an exchange between a Certification Authority (CA) and a client system. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4210"/>
          <seriesInfo name="DOI" value="10.17487/RFC4210"/>
        </reference>
        <reference anchor="RFC4211" target="https://www.rfc-editor.org/info/rfc4211" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4211.xml">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document describes the Certificate Request Message Format (CRMF) syntax and semantics. This syntax is used to convey a request for a certificate to a Certification Authority (CA), possibly via a Registration Authority (RA), for the purposes of X.509 certificate production. The request will typically include a public key and the associated registration information. This document does not define a certificate request protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4211"/>
          <seriesInfo name="DOI" value="10.17487/RFC4211"/>
        </reference>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml">
          <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="RFC5480" target="https://www.rfc-editor.org/info/rfc5480" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5480.xml">
          <front>
            <title>Elliptic Curve Cryptography Subject Public Key Information</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="K. Yiu" initials="K." surname="Yiu"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="T. Polk" initials="T." surname="Polk"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies the syntax and semantics for the Subject Public Key Information field in certificates that support Elliptic Curve Cryptography. This document updates Sections 2.3.5 and 5, and the ASN.1 module of "Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 3279. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5480"/>
          <seriesInfo name="DOI" value="10.17487/RFC5480"/>
        </reference>
        <reference anchor="RFC5639" target="https://www.rfc-editor.org/info/rfc5639" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5639.xml">
          <front>
            <title>Elliptic Curve Cryptography (ECC) Brainpool Standard Curves and Curve Generation</title>
            <author fullname="M. Lochter" initials="M." surname="Lochter"/>
            <author fullname="J. Merkle" initials="J." surname="Merkle"/>
            <date month="March" year="2010"/>
            <abstract>
              <t>This memo proposes several elliptic curve domain parameters over finite prime fields for use in cryptographic applications. The domain parameters are consistent with the relevant international standards, and can be used in X.509 certificates and certificate revocation lists (CRLs), for Internet Key Exchange (IKE), Transport Layer Security (TLS), XML signatures, and all applications or protocols based on the cryptographic message syntax (CMS). This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5639"/>
          <seriesInfo name="DOI" value="10.17487/RFC5639"/>
        </reference>
        <reference anchor="RFC5652" target="https://www.rfc-editor.org/info/rfc5652" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5652.xml">
          <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="RFC5958" target="https://www.rfc-editor.org/info/rfc5958" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5958.xml">
          <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="RFC6090" target="https://www.rfc-editor.org/info/rfc6090" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6090.xml">
          <front>
            <title>Fundamental Elliptic Curve Cryptography Algorithms</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="K. Igoe" initials="K." surname="Igoe"/>
            <author fullname="M. Salter" initials="M." surname="Salter"/>
            <date month="February" year="2011"/>
            <abstract>
              <t>This note describes the fundamental algorithms of Elliptic Curve Cryptography (ECC) as they were defined in some seminal references from 1994 and earlier. These descriptions may be useful for implementing the fundamental algorithms without using any of the specialized methods that were developed in following years. Only elliptic curves defined over fields of characteristic greater than three are in scope; these curves are those used in Suite B. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6090"/>
          <seriesInfo name="DOI" value="10.17487/RFC6090"/>
        </reference>
        <reference anchor="RFC6234" target="https://www.rfc-editor.org/info/rfc6234" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6234.xml">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </reference>
        <reference anchor="RFC7748" target="https://www.rfc-editor.org/info/rfc7748" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7748.xml">
          <front>
            <title>Elliptic Curves for Security</title>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="M. Hamburg" initials="M." surname="Hamburg"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2016"/>
            <abstract>
              <t>This memo specifies two elliptic curves over prime fields that offer a high level of practical security in cryptographic applications, including Transport Layer Security (TLS). These curves are intended to operate at the ~128-bit and ~224-bit security level, respectively, and are generated deterministically based on a list of required properties.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7748"/>
          <seriesInfo name="DOI" value="10.17487/RFC7748"/>
        </reference>
        <reference anchor="RFC8032" target="https://www.rfc-editor.org/info/rfc8032" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8032.xml">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/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="RFC8410" target="https://www.rfc-editor.org/info/rfc8410" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8410.xml">
          <front>
            <title>Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 for Use in the Internet X.509 Public Key Infrastructure</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for elliptic curve constructs using the curve25519 and curve448 curves. The signature algorithms covered are Ed25519 and Ed448. The key agreement algorithms covered are X25519 and X448. The encoding for public key, private key, and Edwards-curve Digital Signature Algorithm (EdDSA) structures is provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8410"/>
          <seriesInfo name="DOI" value="10.17487/RFC8410"/>
        </reference>
        <reference anchor="RFC8411" target="https://www.rfc-editor.org/info/rfc8411" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8411.xml">
          <front>
            <title>IANA Registration for the Cryptographic Algorithm Object Identifier Range</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="R. Andrews" initials="R." surname="Andrews"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>When the Curdle Security Working Group was chartered, a range of object identifiers was donated by DigiCert, Inc. for the purpose of registering the Edwards Elliptic Curve key agreement and signature algorithms. This donated set of OIDs allowed for shorter values than would be possible using the existing S/MIME or PKIX arcs. This document describes the donated range and the identifiers that were assigned from that range, transfers control of that range to IANA, and establishes IANA allocation policies for any future assignments within that range.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8411"/>
          <seriesInfo name="DOI" value="10.17487/RFC8411"/>
        </reference>
        <reference anchor="X.690">
          <front>
            <title>Information technology - 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="2015" month="November"/>
          </front>
          <seriesInfo name="ISO/IEC" value="8825-1:2015"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3279" target="https://www.rfc-editor.org/info/rfc3279" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3279.xml">
          <front>
            <title>Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="L. Bassham" initials="L." surname="Bassham"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="April" year="2002"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for digital signatures and subject public keys used in the Internet X.509 Public Key Infrastructure (PKI). Digital signatures are used to sign certificates and certificate revocation list (CRLs). Certificates include the public key of the named subject. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3279"/>
          <seriesInfo name="DOI" value="10.17487/RFC3279"/>
        </reference>
        <reference anchor="RFC7292" target="https://www.rfc-editor.org/info/rfc7292" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7292.xml">
          <front>
            <title>PKCS #12: Personal Information Exchange Syntax v1.1</title>
            <author fullname="K. Moriarty" initials="K." role="editor" surname="Moriarty"/>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="S. Parkinson" initials="S." surname="Parkinson"/>
            <author fullname="A. Rusch" initials="A." surname="Rusch"/>
            <author fullname="M. Scott" initials="M." surname="Scott"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>PKCS #12 v1.1 describes a transfer syntax for personal identity information, including private keys, certificates, miscellaneous secrets, and extensions. Machines, applications, browsers, Internet kiosks, and so on, that support this standard will allow a user to import, export, and exercise a single set of personal identity information. This standard supports direct transfer of personal information under several privacy and integrity modes.</t>
              <t>This document represents a republication of PKCS #12 v1.1 from RSA Laboratories' Public Key Cryptography Standard (PKCS) series. By publishing this RFC, change control is transferred to the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7292"/>
          <seriesInfo name="DOI" value="10.17487/RFC7292"/>
        </reference>
        <reference anchor="RFC7296" target="https://www.rfc-editor.org/info/rfc7296" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7296.xml">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
        <reference anchor="RFC7299" target="https://www.rfc-editor.org/info/rfc7299" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7299.xml">
          <front>
            <title>Object Identifier Registry for the PKIX Working Group</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>When the Public-Key Infrastructure using X.509 (PKIX) Working Group was chartered, an object identifier arc was allocated by IANA for use by that working group. This document describes the object identifiers that were assigned in that arc, returns control of that arc to IANA, and establishes IANA allocation policies for any future assignments within that arc.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7299"/>
          <seriesInfo name="DOI" value="10.17487/RFC7299"/>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8551" target="https://www.rfc-editor.org/info/rfc8551" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8551.xml">
          <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="RFC8017" target="https://www.rfc-editor.org/info/rfc8017" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8017.xml">
          <front>
            <title>PKCS #1: RSA Cryptography Specifications Version 2.2</title>
            <author fullname="K. Moriarty" initials="K." role="editor" surname="Moriarty"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <author fullname="J. Jonsson" initials="J." surname="Jonsson"/>
            <author fullname="A. Rusch" initials="A." surname="Rusch"/>
            <date month="November" year="2016"/>
            <abstract>
              <t>This document provides recommendations for the implementation of public-key cryptography based on the RSA algorithm, covering cryptographic primitives, encryption schemes, signature schemes with appendix, and ASN.1 syntax for representing keys and for identifying the schemes.</t>
              <t>This document represents a republication of PKCS #1 v2.2 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series. By publishing this RFC, change control is transferred to the IETF.</t>
              <t>This document also obsoletes RFC 3447.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8017"/>
          <seriesInfo name="DOI" value="10.17487/RFC8017"/>
        </reference>
        <reference anchor="I-D.hale-pquip-hybrid-signature-spectrums" target="https://datatracker.ietf.org/doc/html/draft-hale-pquip-hybrid-signature-spectrums-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-hale-pquip-hybrid-signature-spectrums-01.xml">
          <front>
            <title>Hybrid signature spectrums</title>
            <author fullname="Nina Bindel" initials="N." surname="Bindel">
              <organization>SandboxAQ</organization>
            </author>
            <author fullname="Britta Hale" initials="B." surname="Hale">
              <organization>Naval Postgraduate School</organization>
            </author>
            <author fullname="Deirdre Connolly" initials="D." surname="Connolly">
              <organization>SandboxAQ</organization>
            </author>
            <author fullname="Florence D" initials="F." surname="D">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <date day="6" month="November" year="2023"/>
            <abstract>
              <t>This document describes classification of design goals and security considerations for hybrid digital signature schemes, including proof composability, non-separability of the ingredient signatures given a hybrid signature, backwards/forwards compatiblity, hybrid generality, and simultaneous verification. Discussion of this work is encouraged to happen on the IETF PQUIP mailing list pqc@ietf.org or on the GitHub repository which contains the draft: https://github.com/dconnolly/draft-hale-pquip-hybrid- signature-spectrums</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hale-pquip-hybrid-signature-spectrums-01"/>
        </reference>
        <reference anchor="I-D.ounsworth-pq-composite-kem" target="https://datatracker.ietf.org/doc/html/draft-ounsworth-pq-composite-kem-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ounsworth-pq-composite-kem-01.xml">
          <front>
            <title>Composite KEM For Use In Internet PKI</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust Limited</organization>
            </author>
            <date day="13" month="March" year="2023"/>
            <abstract>
              <t>The migration to post-quantum cryptography is unique in the history of modern digital cryptography in that neither the old outgoing nor the new incoming algorithms are fully trusted to protect data for the required data lifetimes. The outgoing algorithms, such as RSA and elliptic curve, may fall to quantum cryptalanysis, while the incoming post-quantum algorithms face uncertainty about both the underlying mathematics as well as hardware and software implementations that have not had sufficient maturing time to rule out classical cryptanalytic attacks and implementation bugs. Cautious implementers may wish to layer cryptographic algorithms such that an attacker would need to break all of them in order to compromise the data being protected using either a Post-Quantum / Traditional Hybrid, Post-Quantum / Post-Quantum Hybrid, or combinations thereof. This document, and its companions, defines a specific instantiation of hybrid paradigm called "composite" where multiple cryptographic algorithms are combined to form a single key, signature, or key encapsulation mechanism (KEM) such that they can be treated as a single atomic object at the protocol level. This document defines the structure CompositeCiphertextValue which is a sequence of the respective ciphertexts for each component algorithm. Explicit pairings of algorithms are defined which should meet most Internet needs. The generic composite key type is also defined which allows arbitrary combinations of key types to be placed in the CompositePublicKey and CompositePrivateKey structures without needing the combination to be pre-registered or pre-agreed. For the purpose of combining KEMs, the combiner function from [I-D.ounsworth-cfrg-kem-combiners] is used. This document is intended to be coupled with the composite keys structure define in [I-D.ounsworth-pq-composite-keys] and the CMS KEMRecipientInfo mechanism in [I-D.housley-lamps-cms-kemri].</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ounsworth-pq-composite-kem-01"/>
        </reference>
        <reference anchor="I-D.becker-guthrie-noncomposite-hybrid-auth" target="https://datatracker.ietf.org/doc/html/draft-becker-guthrie-noncomposite-hybrid-auth-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-becker-guthrie-noncomposite-hybrid-auth-00.xml">
          <front>
            <title>Non-Composite Hybrid Authentication in PKIX and Applications to Internet Protocols</title>
            <author fullname="Alison Becker" initials="A." surname="Becker">
              <organization>National Security Agency</organization>
            </author>
            <author fullname="Rebecca Guthrie" initials="R." surname="Guthrie">
              <organization>National Security Agency</organization>
            </author>
            <author fullname="Michael J. Jenkins" initials="M. J." surname="Jenkins">
              <organization>National Security Agency</organization>
            </author>
            <date day="22" month="March" year="2022"/>
            <abstract>
              <t>The advent of cryptographically relevant quantum computers (CRQC) will threaten the public key cryptography that is currently in use in today's secure internet protocol infrastructure. To address this, organizations such as the National Institute of Standards and Technology (NIST) will standardize new post-quantum cryptography (PQC) that is resistant to attacks by both classical and quantum computers. After PQC algorithms are standardized, the widespread implementation of this cryptography will be contingent upon adapting current protocols to accommodate PQC. Hybrid solutions are one way to facilitate the transition between traditional and PQ algorithms: they use both a traditional and a PQ algorithm in order to perform encryption or authentication, with the guarantee that the given security property will still hold in the case that one algorithm fails. Hybrid solutions can be constructed in many ways, and the cryptographic community has already begun to explore this space. This document introduces non-composite hybrid authentication, which requires updates at the protocol level and limits impact to the certificate-issuing infrastructure.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-becker-guthrie-noncomposite-hybrid-auth-00"/>
        </reference>
        <reference anchor="I-D.guthrie-ipsecme-ikev2-hybrid-auth" target="https://datatracker.ietf.org/doc/html/draft-guthrie-ipsecme-ikev2-hybrid-auth-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-guthrie-ipsecme-ikev2-hybrid-auth-00.xml">
          <front>
            <title>Hybrid Non-Composite Authentication in IKEv2</title>
            <author fullname="Rebecca Guthrie" initials="R." surname="Guthrie">
              <organization>National Security Agency</organization>
            </author>
            <date day="25" month="March" year="2022"/>
            <abstract>
              <t>This document describes how to extend the Internet Key Exchange Protocol Version 2 (IKEv2) to allow hybrid non-composite authentication. The intended purpose for this extension is to enable the use of a Post-Quantum (PQ) digital signature and X.509 certificate in addition to the use of a traditional authentication method. This document enables peers to signify support for hybrid non-composite authentication, and send additional CERTREQ, AUTH, and CERT payloads to perform multiple authentications.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-guthrie-ipsecme-ikev2-hybrid-auth-00"/>
        </reference>
        <reference anchor="I-D.pala-klaussner-composite-kofn" target="https://datatracker.ietf.org/doc/html/draft-pala-klaussner-composite-kofn-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-pala-klaussner-composite-kofn-00.xml">
          <front>
            <title>K-threshold Composite Signatures for the Internet PKI</title>
            <author fullname="Massimiliano Pala" initials="M." surname="Pala">
              <organization>CableLabs Inc.</organization>
            </author>
            <author fullname="Jan Klaußner" initials="J." surname="Klaußner">
              <organization>D-Trust GmbH</organization>
            </author>
            <date day="15" month="November" year="2022"/>
            <abstract>
              <t>With the need to evolve the cryptography used in today applications, devices, and networks, there might be many scenarios where the use of a single-key certificate is not sufficient. For example, there might be the need for migrating between two existing algorithms (e.g., from classic to post-quantum) or there might be the need to test the capabilities of devices via test drivers and/or non-standard algorithms. Differently from the situation where algorithms are not yet (or no more) trusted to be used by themselves, this document addresses the use of multiple keys and signatures that can be individually trusted to implement a generic 1-threshold and K-threshold signature validation procedures. This document provides the definition of a new type of multi- algorithm public key and relies on the definition of CompositePrivateKey, and CompositeSignature which are sequences of the respective structure for each component algorithm as defined in [I-D.ounsworth-pq-composite-sigs] and [I-D.ounsworth-pq-composite-sigs].</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-pala-klaussner-composite-kofn-00"/>
        </reference>
        <reference anchor="I-D.driscoll-pqt-hybrid-terminology" target="https://datatracker.ietf.org/doc/html/draft-driscoll-pqt-hybrid-terminology-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-driscoll-pqt-hybrid-terminology-01.xml">
          <front>
            <title>Terminology for Post-Quantum Traditional Hybrid Schemes</title>
            <author fullname="Florence D" initials="F." surname="D">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <date day="20" month="October" year="2022"/>
            <abstract>
              <t>One aspect of the transition to post-quantum algorithms in cryptographic protocols is the development of hybrid schemes that incorporate both post-quantum and traditional asymmetric algorithms. This document defines terminology for such schemes. It is intended to ensure consistency and clarity across different protocols, standards, and organisations.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-driscoll-pqt-hybrid-terminology-01"/>
        </reference>
        <reference anchor="I-D.vaira-pquip-pqc-use-cases" target="https://datatracker.ietf.org/doc/html/draft-vaira-pquip-pqc-use-cases-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-vaira-pquip-pqc-use-cases-00.xml">
          <front>
            <title>Post-quantum cryptography use cases</title>
            <author fullname="Antonio Vaira" initials="A." surname="Vaira">
              <organization>Siemens</organization>
            </author>
            <author fullname="Hendrik Brockhaus" initials="H." surname="Brockhaus">
              <organization>Siemens</organization>
            </author>
            <author fullname="Alexander Railean" initials="A." surname="Railean">
              <organization>Siemens</organization>
            </author>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust</organization>
            </author>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>This document focuses on the critical challenge of migrating long- term security assertions with security requirements spanning over a decade, encompassing X.509 certificates, including those that serve as manufacturer issued certificates (IDevID), signed firmware/ software, and other electronic artifacts. We investigate a range of migration strategies, specifically hybrid cryptography and the feasibility of stateful Hash-Based Signatures (HBS) schemes, including its pros and cons. To offer a comprehensive context, we present a list of use cases centered around long-lived security assertions, categorize them, and evaluate them against the various migration strategies identified. We also aim at listing pros and cons associated with each method.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-vaira-pquip-pqc-use-cases-00"/>
        </reference>
        <reference anchor="I-D.massimo-lamps-pq-sig-certificates" target="https://datatracker.ietf.org/doc/html/draft-massimo-lamps-pq-sig-certificates-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-massimo-lamps-pq-sig-certificates-00.xml">
          <front>
            <title>Algorithms and Identifiers for Post-Quantum Algorithms</title>
            <author fullname="Jake Massimo" initials="J." surname="Massimo">
              <organization>AWS</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>AWS</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <date day="8" month="July" year="2022"/>
            <abstract>
              <t>Digital signatures are used within X.509 certificates, Certificate Revocation Lists (CRLs), and to sign messages. This document describes the conventions for using Dilithium quantum-resistant signatures in Internet X.509 certificates and certifiate revocation lists. The conventions for the associated post-quantum signatures, subject public keys, and private key are also described.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-massimo-lamps-pq-sig-certificates-00"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-dilithium-certificates" target="https://datatracker.ietf.org/doc/html/draft-ietf-lamps-dilithium-certificates-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ietf-lamps-dilithium-certificates-01.xml">
          <front>
            <title>Internet X.509 Public Key Infrastructure: Algorithm Identifiers for Dilithium</title>
            <author fullname="Jake Massimo" initials="J." surname="Massimo">
              <organization>AWS</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>AWS</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <date day="6" month="February" year="2023"/>
            <abstract>
              <t>Digital signatures are used within X.509 certificates, Certificate Revocation Lists (CRLs), and to sign messages. This document describes the conventions for using Dilithium quantum-resistant signatures in Internet X.509 certificates and certificate revocation lists. The conventions for the associated post-quantum signatures, subject public keys, and private key are also described.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-dilithium-certificates-01"/>
        </reference>
        <reference anchor="Bindel2017" target="https://link.springer.com/chapter/10.1007/978-3-319-59879-6_22">
          <front>
            <title>Transitioning to a quantum-resistant public key infrastructure</title>
            <author initials="N." surname="Bindel" fullname="Nina Bindel">
              <organization/>
            </author>
            <author initials="U." surname="Herath" fullname="Udyani Herath">
              <organization/>
            </author>
            <author initials="M." surname="McKague" fullname="Matthew McKague">
              <organization/>
            </author>
            <author initials="D." surname="Stebila" fullname="Douglas Stebila">
              <organization/>
            </author>
            <date year="2017"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1171?>

<section anchor="appdx-samples">
      <name>Samples</name>
      <section anchor="appdx-expComposite-examples">
        <name>Explicit Composite Signature Examples</name>
        <section anchor="mldsa44-ecdsa-p256-sha256-public-key">
          <name>MLDSA44-ECDSA-P256-SHA256 Public Key</name>
          <t>-----BEGIN PUBLIC KEY-----
MIIFfzANBgtghkgBhvprUAgBBAOCBWwAMIIFZwSCBSAA9DTYoQys3PVrayi9zTam
kTzpqf6vuNI5+UaMENvnrq3Rps5LmiQ5gSXaQMu0HYjVpCEQVQWl/8nbJavELelk
gCVn528ndGBQUChAnffxhRdxgaFmOb2SEySTnHIh6QO1UFPO2kGiGx9zU6F9xZGK
FZFBm8B076UvRHCbaw+BTvu4o+Kg1irOFRPI3hLN4ku3si2nwWSZNhDoiLaPTfJe
7TRziBznEyrnSV3I2Xn7QdKxIWUFOwPXWBnnk/FGG/A2HdxGpiqIWxZ0gNLNcb+j
Cz6CWZSJhoOLoJWdOD5zyojPPrH5iFIGM96p0PZ4mv5PhmZDPA/RTIg/PcG1rywn
OJYqAsazntGyEhHEFLRe8QYOVEbiBuv20tNzkFaaulQRdW+boStcW8NefSkKG/9D
FgGnyR87W4Z/ieHEyIva4FBamvRm60xrblAyI0Z7II4l7LTStDzL/ghFq06RVria
au+mY5laq8rAGmRbWkUxNeKeGOVHxjGFYB3uaAkHef0o7tSMMkCSSjiDQlNk5ReQ
xgJMkuTRE7YRN1bDXv/0uPPjg7zfa3M0tMCD9wTXFhIk04HDLVV5WAsH0EK6Nytd
gqnsjGCwfZb2+Fw/QytBei50DUBHpIG3da4dBrxcaRTMiQPzPzL8FaDascE0ZIJM
9ilKvxgq02ryEHLGALFN8eZD1r6zq43KFlRzaynWBWqJ27MiUzK2dk8oC+dH5cz6
+xGXAhLJ+MipoO9k9dLg8re3dOAufsKaY5DLuuluo7dO6IF7rG9xblbiIzWpyfu3
7kJvUdwk36QzsQNGsxpELk65LaWYnaebV7wKyIaaniLysuNCG0dIcAicxRNLgpX9
jic5pi+BzlJI1IuPk+DqOG57pNnU7lTg3op08MUslNyeUH5yaag8DNsLG7uZHzvx
jcqffaqcqS+v6FVmbV2tDF07jn8a754Fnn/QNgsNcdfw9Ov4w7Ty+q5nT2wg2Lsg
bAuzN6b6FiWEuHHMw/I5aIL5cLj2GUpjHtlUHL4KEHpxZ2J5jbBgeqpTWEy1TuPQ
R34lryVASmue/kmk2liah6wNK5RXlGa8uidBm7RT8b5SkIMsrosLx9KpC5lKobzn
8ttK1NSy0ZuMDw9wtnePUbROGjEuw5Na/K1VgO68dATj/7rscvz7C+ZuQORrt88X
+OZmoyw+fEDWAocDnhzI6rJIHLPB0p+rSJ8iSKZpFZYeIy+CD0t6E98RJQHll8BJ
lLyJiMT0xAyelOMzrCJayHxD01aLw6LLOddFbiIRMq4lni5Ha4noWmdO2C80xy3A
jskUEK5sbD8KFl910JUHwaGvb/gDCqW+n10mRa9+cB0tRVjo5OZeSiB01Bkagu7a
f+bRv2i8cBa2ZoGVyW3xFFFhIkHzLgHaU+RLaGwJDe0qxKtwKYz5c/YpAsH+lodM
NV2E/PzHtNY+sg0PijblN6IVO+yiLkxJspKIjf0I1+s8hczhz3QkLRed7dU2nvID
puJQfgraKyS6rawlqLyWo66/PDtdd3tngw50wnDNZik0hz/usDc6o7IN5J9ha7XO
0vZQluMb9R5l+W6RLD2nRd4mlKVqm/Yfq0R8PKoIh8f7uLVk1kbN4prkfpsokvqR
rli5h4URG7WCNvp4bg/i1Ix/CEEjH56LRj83dhVB0O6WXorrZMAChQShMhwnEgeS
USaB5au7xRAM+9fWvF9cmju3hXSTT1zv0owyoSgp36OHcy2HzwZXxA7YWtRDbhMX
BEEEkSZvSVDhZlBXhAkaTBxlrRt624URpHlDVrd0njnPiR92XNs+NTjjvAImETMh
EPbQ/KPspugi6gkrLFhcmy/OiA==
-----END PUBLIC KEY-----</t>
        </section>
        <section anchor="mldsa44-ecdsa-p256-private-key">
          <name>MLDSA44-ECDSA-P256 Private Key</name>
          <t>-----BEGIN PRIVATE KEY-----
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
pugi6gkrLFhcmy/OiA==
-----END PRIVATE KEY-----</t>
        </section>
        <section anchor="mldsa44-ecdsa-p256-self-signed-x509-certificate">
          <name>MLDSA44-ECDSA-P256 Self-Signed X509 Certificate</name>
          <t>-----BEGIN CERTIFICATE-----
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
1nbSe/5A4mF87n0=
-----END CERTIFICATE-----</t>
        </section>
      </section>
    </section>
    <section anchor="sec-imp-considers">
      <name>Implementation Considerations</name>
      <section anchor="sec-fips">
        <name>FIPS certification</name>
        <t>One of the primary design goals of this specification is for the overall composite algorithm to be able to be considered FIPS-approved even when one of the component algorithms is not.</t>
        <t>Implementors seeking FIPS certification of a composite Signature algorithm where only one of the component algorithms has been FIPS-validated or FIPS-approved should credit the FIPS-validated component algorithm with full security strength, the non-FIPS-validated component algorith with zero security, and the overall composite should be considered full strength and thus FIPS-approved.</t>
        <t>The authors wish to note that this gives composite algorithms great future utility both for future cryptographic migrations as well as bridging across jurisdictions; for example defining composite algorithms which combine FIPS cryptography with cryptography from a different national standards body.</t>
      </section>
      <section anchor="sec-backwards-compat">
        <name>Backwards Compatibility</name>
        <t>The term "backwards compatibility" is used here to mean something more specific; that existing systems as they are deployed today can interoperate with the upgraded systems of the future.  This draft explicitly does not provide backwards compatibility, only upgraded systems will understand the OIDs defined in this document.</t>
        <t>If backwards compatibility is required, then additional mechanisms will be needed.  Migration and interoperability concerns need to be thought about in the context of various types of protocols that make use of X.509 and PKIX with relation to digital signature objects, from online negotiated protocols such as TLS 1.3 <xref target="RFC8446"/> and IKEv2 <xref target="RFC7296"/>, to non-negotiated asynchronous protocols such as S/MIME signed email <xref target="RFC8551"/>, document signing such as in the context of the European eIDAS regulations [eIDAS2014], and publicly trusted code signing [codeSigningBRsv2.8], as well as myriad other standardized and proprietary protocols and applications that leverage CMS <xref target="RFC5652"/> signed structures.  Composite simplifies the protocol design work because it can be implemented as a signature algorithm that fits into existing systems.</t>
        <section anchor="parallel-pkis">
          <name>Parallel PKIs</name>
          <t>We present the term "Parallel PKI" to refer to the setup where a PKI end entity possesses two or more distinct public keys or certificates for the same identity (name), but containing keys for different cryptographic algorithms. One could imagine a set of parallel PKIs where an existing PKI using legacy algorithms (RSA, ECC) is left operational during the post-quantum migration but is shadowed by one or more parallel PKIs using pure post quantum algorithms or composite algorithms (legacy and post-quantum).</t>
          <t>Equipped with a set of parallel public keys in this way, a client would have the flexibility to choose which public key(s) or certificate(s) to use in a given signature operation.</t>
          <t>For negotiated protocols, the client could choose which public key(s) or certificate(s) to use based on the negotiated algorithms, or could combine two of the public keys for example in a non-composite hybrid method such as <xref target="I-D.becker-guthrie-noncomposite-hybrid-auth"/> or <xref target="I-D.guthrie-ipsecme-ikev2-hybrid-auth"/>. Note that it is possible to use the signature algorithms defined in <xref target="sec-alg-ids"/> as a way to carry the multiple signature values generated by one of the non-composite public mechanism in protocols where it is easier to support the composite signature algorithms than to implement such a mechanism in the protocol itself. There is also nothing precluding a composite public key from being one of the components used within a non-composite authentication operation; this may lead to greater convenience in setting up parallel PKI hierarchies that need to service a range of clients implementing different styles of post-quantum migration strategies.</t>
          <t>For non-negotiated protocols, the details for obtaining backwards compatibility will vary by protocol, but for example in CMS <xref target="RFC5652"/>, the inclusion of multiple SignerInfo objects is often already treated as an OR relationship, so including one for each of the signer's parallel PKI public keys would, in many cases, have the desired effect of allowing the receiver to choose one they are compatible with and ignore the others, thus achieving full backwards compatibility.</t>
        </section>
        <section anchor="hybrid-extensions-keys-and-signatures">
          <name>Hybrid Extensions (Keys and Signatures)</name>
          <t>The use of Composite Crypto provides the possibility to process multiple algorithms without changing the logic of applications, but updating the cryptographic libraries: one-time change across the whole system. However, when it is not possible to upgrade the crypto engines/libraries, it is possible to leverage X.509 extensions to encode the additional keys and signatures. When the custom extensions are not marked critical, although this approach provides the most
backward-compatible approach where clients can simply ignore the post-quantum (or extra) keys and signatures, it also requires
all applications to be updated for correctly processing multiple algorithms together.</t>
          <!-- End of Implementation Considerations section -->

</section>
      </section>
    </section>
    <section anchor="intellectual-property-considerations">
      <name>Intellectual Property Considerations</name>
      <t>The following IPR Disclosure relates to this draft:</t>
      <t>https://datatracker.ietf.org/ipr/3588/</t>
    </section>
    <section anchor="contributors-and-acknowledgements">
      <name>Contributors and Acknowledgements</name>
      <t>This document incorporates contributions and comments from a large group of experts. The Editors would especially like to acknowledge the expertise and tireless dedication of the following people, who attended many long meetings and generated millions of bytes of electronic mail and VOIP traffic over the past year in pursuit of this document:</t>
      <t>Scott Fluhrer (Cisco Systems),
Daniel Van Geest (ISARA),
Britta Hale,
Tim Hollebeek (Digicert),
Panos Kampanakis (Cisco Systems),
Richard Kisley (IBM),
Serge Mister (Entrust),
Francois Rousseau,
Falko Strenzke and
Felipe Ventura (Entrust)</t>
      <t>We are grateful to all, including any contributors who may have
been inadvertently omitted from this list.</t>
      <t>This document borrows text from similar documents, including those referenced below. Thanks go to the authors of those
   documents.  "Copying always makes things easier and less error prone" - <xref target="RFC8411"/>.</t>
      <section anchor="making-contributions">
        <name>Making contributions</name>
        <t>Additional contributions to this draft are welcome. Please see the working copy of this draft at, as well as open issues at:</t>
        <t>https://github.com/EntrustCorporation/draft-ounsworth-composite-sigs</t>
        <!-- End of Contributors section -->

</section>
    </section>
  </back>
  <!-- ##markdown-source:
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
Gbv4bHAFpmVm4z/FG7HwCJlpPWIQ3Ni/lB3kd4ExYHNC09OvQbuXJ++segmu
hZPGXuOG+16i0e6DBY6v4L0/LH6J970pZ5K6Nt6MhqrsPYQW1fTl0M8+J3oY
pLwyD9FR2MH+A+BqF13EZfAh3h6L358IhqQAQQ/wXvC6c9qGa1aBXMJXYS+C
rSBqWNAEr6347SewR6RL1sXf8UvuE0VfjyVw0Rsvwkfli313OAN84YF+Ip/a
/iROUyJRpR7qk4Bq1YNgEax/Qj8SHMu2dzd62FA8Za8pjf3Jdua00mjQo2Zj
eabh9c2ZbzZ4mq63ZmtrcnWL44UjXNX6bSYYhDa72cdd5eQP2XJmLnDM8GQ6
x+LUdssDQ52UFX4lTDif6q4PC7vJTBaTpZ6rmduecGIGsq4RSnNhlgs1U+o0
JvPmnjZ3u8t+Kl0UoW2MtgWeufIzs8vuK5NRft4ejwpaR+1c6rd5pV2/bDp9
or1pN4xag6pW5qdpt7kVzpnG7OSXrExfyavOqD0ds8X9YFjS/KKrFszzkt8M
9y1LHQjj2a4nE9XZ9KY2biZzdUx+UWQLK7M6kfoXdjlvj87j1bJhmlqu3enk
6EJXunRs9cguLxtKGQ6G4jZzIJq3SnO54Xt7azSwektp1CrfrtZhPHa6ZbXN
drh6xabGm5JxKo/3xqY1pnPTGavkxmIn71zPJjHqrY+0K9xMr3Nl9l2mPZjK
tcl6tGC2asM/FShveNPaguDrk6m0zGwt3hOXtaG847V+J1dvEW2lY16nteqy
tMmpcpe5sieh1G4IxmlqVKiLs9XpK0ttqixb0quDGe+1boOcsm8fqcp0AeQ3
IfgZY13WhWPNoTvGdLvU5peh3Jc7o0X3cui0142iL9BaV95RVtXjOU5r8vxB
bU30oVaeyhPiovQ4zZ9Nmep6OsxvW6tTjvLH44NSve2EIkd5XLNVP89W7T2r
UaVua7BYlJe026WYfmV49SRCOZruodM87zbbQqZ9zk2uXkNWy1Rr3ujabKco
CSWp4VxEYTrj1Mn4Nr4Nam2hJbgiQ23YHkfUVb1/uihHquBcme6gQw/aw5q8
aeWdyu1YKvbb+vQmXM1lY3nsFaqcOr/1C5JWs5oZqVsWbxUic+ms6P2gl+FU
2xrVtbo0UGqOXJRGtL9z+8K63Br4vu5bVWlUYdtVp1O/bPWtyt6W9nXnF4mq
1jvNpbNWrExu7mTYcS82M9Aq5YGwXJuCvF1Uz/0rKwimOri6/rDZoSRWpFXx
Mh0OFHtVJw6qWLbVTOOm99g864+1TOs46pSr9tCcV/WZUrRsqsbNXX14lefd
8lUQlFpr6A46VX/TvZ0uxEE87nbCUTzymVOlvTC2i4LXalPVg1kTquVS2zRz
k6HiDkVpd66PTqVzdXbNHMvmrHBWCgNXIba0fxtWtpW2umT8bpc759iywA7K
4uBQ6MztQ9fT591Bqc907cum0Csftg1FPtqzJXPNz/zxhJgWS7pzXdC84cs5
zdAKuirsK+dhvzxd6R2h5qtSw6hOZ7VtmddYznUsd3Cp9+1mWe9b25tJ1Dyv
nx/yV2rjc61z/eyZ8ni+nY46B8Y/l4dCrp9fKKNKTaJnh1zVccXTrdrMbPzJ
aOp4tdqKyIw2hnU9Z3ZMa0lbYsvc39iK02O7g3GDsjMO36upfH9jtzdrmb1m
mi3KqzD12rQ36ep6rdEj9MG1p3Iz6kJfZX3E3ZxmT7h2Ly0qLwzOlcFgJElt
QPUpdyzpplruCiXTWhrSqNCsUZdrkSYOrjZn+mV326oBrqvnqd68exY6p21O
aTWPy4yZp4ypUM+IDcqbLg5WebSRebVB5RuaoPhVgdhlttNTQa2JDaGwsTqL
67J4abfh1uneBkpXmGemA6Fz7rVk6njpe+f++lYWc2sb7KeMbkkcMVwUmNz4
1vWG64yrUGP1sNWHFXYxylzVgXbpuXafPewoNp9xa3vxtr8VJxqQOVJVmhfM
E9sibL832QFl3L/yFUc468fBdWlVKrlxy5Okomcq5zJ1NlvDjapR+1vOd1ti
xaqyw3KvvheqqxFBnTYT3ee29WlZzywr00GrYE6lkqH3F0cjt94dqWlt3LfY
fW1X9QcLLa9thyXb0Xa2a2mn45RwdLW8L82nneqyOTzZpa2SU/PsJddkmEO3
XBlMD7WitF80qFFlubIcZ8PRzf2E33P7s8koMk/MeaFRFvzqZUpzmfpueWrX
RePgF/crfjbL306Udb5avGIXK6OueC10b+fN6kJX10tv2truuRXRYBhG4zcn
ftHab/TGak9rwqxx0Z2pVykAyOyu3lo4EmUezLE6rRdWQzcznB0OJ5o1mBm3
J5jxdpLrj13bV9SKojmD9l40rrmRSv/rv2KlzAxbb1TyE8Uevg3vrUqfsgt6
xiR0+tiYsA26labX+WarxJ0VpZ5rgPtoukUNh+q+1b+J9aXn9AfFITE8CtPx
yLBzx0yJOpjlqXWeFDKyf/Womtfc1szM7roaz+T1/DibXi2t1DxfN61R4zRV
bofJ2CIW6oztzibi0rQqfW1oToXBoGnYApAf21nvtJ1ajS1Vn+r6cHK++Vyp
L7B8a+2f50NVY/j+jdjMOzTbYa+cynenMmvMPVpjtFlHESdMg6U7rDsBG0Nl
phOb6S3cTn96a6lNpiusTebQ6NEEJ/NGv62xfZVerefWWthMtL3GLNc83x5M
NG2tWExfZZubPUezfouhOb+w7vkFoWGsDpNmk6B5jmksaEtoayrd2zNz8cqz
As0yE+XK8txs2+BKveOA4VnOmC5bLD/RujMbSLi9OplxkzXRswGI/UlHWXJz
YdhkNIk2NpNuoy/1aH7foWbrpqo1h01xOKDFtaZM1NFenHebm3WzMx1NLGI9
YrSNOu1obbOj0q61Zlx23RxdhPaEp9fXErNm11N3AtStP+eHliXMJx2WU6iW
pFo07QJRvOaUvcLr82G/pCwGdHOiALdQu7RYl5rsGWtq9ZkJx1kcxxuz5ZAB
ukbjpucCveSVOT2ZEpzAq2taMTS53dl6PrtvT2mRn1znS269YcHDQ4vqAxmv
LFyVEblOrzdROM0q9Nr9DtcwAASTW3ffcGman2y2Q2YiLpqd9UZjDxq37tu9
5r7PzMGenSrNGcMKDCALP5/InKEZvLrt9Cli1rDsNU0bysJSGgarCX6HbjX6
3T5tLSbTfXO9t1Zzt7lWRs11b9pqK2u3OaB9lWkzlAKWSMwnZ56e9wv0nKf7
3MTa8pwhTieLLTOZtxSa4oZnZs8cGIGezAS63zzQHCPS1wa/UOYbjeaJw5yd
aMtZswkeEmm60Nd1lqbZ6cQaMIOpfxOa7FTdaJ3t0GaVNeDNiaKw/mg+Y29N
rskWiYbFsg3RZxrrAatwBiNuDE1j6DPHdPjNtL+a9FlGEzvMlG03mzKw3Cx/
LUwsZu9yhYPUYIneni+vG/RV5IE4GvG02mHXPUWdbBd9bb0ZsPTUWM0ap95h
yi7XHEtNG525Jk2MjT+iJsJIIcCm6RyGbIlps9fGYsrQLqexYAs29Sm7Vbi5
smizcwVw4qJj7BvNoiZ5TKNxppiFzqhTt0ms/f66ufENrn2+NjmjKaxpq6nQ
y0GjTbPHBjOgOxexYfUmet9Y95tLhQN0XU86G+6otrijQfSmwILvMZZA97pK
47pvNFi7KU/UxpAGG5KZTIb9OfAdrtzaLbTMSXlNDdf5cS8zaxqSoqomMTTU
q7hZFhR3PVmMnZrfvLYAywES7Pcbq6u1tVN/ORkX1nngifcynqL22/x5Cwy5
njE65lhib50G4sAWW+z54qnn3tjteNatw/vc+ZLj5Qpns0XL6M1yt7pQ3J0X
NWVwEbdDdXkuzA8NIBOLucZ4W+05pXa17WfqnZJ53rAlrV8aTHul3E0Rj1uq
d8wVTvsBazGT8szuSmahzx+ddcnsdqtE19hXS11h5ayrve5xrhwKl8V5M/GX
VJ02D6x9rQ4nyxqAYqhNL7vCenhkuQrgKbrbag23Gk+05d7CzpSZ/cWYz1rK
6NzhitpGKclme5YvCr61rqnNrVcb70dFfsbbVoYu7OX8WTcsyW2cHGJfKpzq
M7vf6y1zhTPFNkrFwrSzPTSX1EFle0K5Pcof9kW5WysUTgNz4dYXsis23Fu3
dZhMgX0LxP6lzdJijjqs1zMFeI7O+MicV5tmoU0X5zv7OGGqfe8wOxWUYaXE
ULk97zdmTrcw7NTHJ4+46QeqdPEOgC/Y4mk+6NbN2VT0d3w7dxkVxyPPuxZv
J0Zq7HJS5lRv9c3qsXIU6EbJWVYOJYcY1TPLs8pb501BX5+qp4nZndUpsBNM
6tDtdMSusqN1fqhUZXHZGNS0jDrIzas3mZ7Ter09nBGl0iovD9ebjXitccdD
R53wQFW16YlUPNWLyk7f0pNFt5mr9FummR9dts5+pOy8wkI5HI6KMiGWuUN7
N8rNWoYwOPFFVrm4ii8VusXttTviB/uCKRW2XaN2Xa0Wc65XtDylkLvU+maL
L7X83JYYTXu8q+30HXWbazu1xQ66HaNU257X7ql1WYlVx2RPR7YK1gwQ17qJ
nfICWNLruTdStdPKJ/YXKt8Dhv1lMtmxp87yYG+WVqfe8VTRHhc31+mNa/H+
2JfUQeOw2E8o3feGp5s/EPVjZ7ZYEQN3P/DaeatdNo32ZKbmOsxFLVnzTUnU
WoVF2TJyO7FTX0rAW2DbC/o4olocxd+a57wm9bdjYlWvHurmyFAcZ1bXTbY0
KosTUTucdqeOs91yJWs6XFYF1jzTOd5eCysv0zBPGuPlGquZP7kQupJTqoK7
vM155ti3Llzh3CwztfZR9e0+d+w70mZcO0/tkXMq9FVtwSl1qT7mSh2nuRAP
fZZYnfK762aZ6xZlXzEdp5YbW/VebbrRtGNjPltwqzHNHvxK8eofRe40zwN1
dlU5q9YQpfbUKhF7fzdty4V+lR7zneu2z5QHCuwA0tlUqc5cr5W368XBHLi6
2JU30pU3V1at0M10hzOuNj/2RaLeWHXoHp/Jb7b5wk6ZycZmlCuPGztR4TPC
ZaBOz/Mmv2nRua4un2qVkdJ1D+bUK/YO/nC3oohBcdvdZOqt2W1Kt3qmUR1c
D9Wr3tfn/snqZqpLYcwZDVXyV74/yWl5dTDijtRsI+RmxfzcGxPq7VLh6pl8
hledHk+1bsq1vGrxzZ2YYyk/p8+9XV67mmfeoPUB36mu6a2Xnwu5gpYpN5fF
PDHfbCThXOjyi04beIDjM6+vpqZ+zLQZabXY3np0sW7xueaQGXG5o2ROBzVx
XnLmJWplUq6RIWSFPaz1/qFv6PmWktkv2v76pFW9dWYzZ7SaMfJnbd1t5Hf5
QnlVowZlxtyvR/Ksa5sZw2c8onO1uKYtNc6XRZm2Jmqu3NrfxsdRjR3Pz+5h
1Z32R0NxXHAr6nbeLNe6R61pWOJs2qNt2q/3ic5mYhri6uzwpwWQo9x+2AIC
dMZOfTtjq/kZv2Nmm851fbT8cW+o7Mq5onNjm2fn0tg1bkWRAO6fSTEDbk+3
+LremBTUATPkZ2umfmgK1iozbfcnPVbrLaV8h+u6lYt1HV74Xd2XXH5/vfKE
sBpbTukGrOvRsK7vb/vSWZxtZnXFVbRtfia7wDTV5nIp59/klkg7hX4RmGHH
UrcsFNqlhUdsevniJVN3ecekj+N2bc0Z5y5jaNfK8JozilW906e3vs3tlrmT
ZTPXya7Uqber26OiznqL8YrgDPdkrgfUvF0aiJOyVygszqVGvrXQnB6letbk
0u519ZKW77fZU14rrdaLk9pXjEFXGC73wNAcFp3FsOZOJxlBMor1FhADjczW
Ow63rTy1n19aqt8TLd/VV+Jar9HWoFcrjKUd67FbptmXaOK2bde6dH/Gdbuu
fBnrLtVwWiNH6ebWOe9kFzqG4tvlyug8GR4LgPgXc1+4DheV0lXL03XeIErz
fUc2h9SJtQpTq5iZ9q28TTO7CtfrVDfyoLMtXdpqa8ef5f5EYBmv5U9rFeec
o9edlb7zidGqBxYjc62h4eeWurc98MudbrM221+32zVX2mvd3cSerXKrubDY
TOtFhy81995o2t8LmfmAyJUreqHVnrFeyxr1SlOqPKaVY2XAdG7loZOTmlOL
Fm13dT0Uag2+qLYK+bKuX7x9l1tKjYpODOaNVYk98GZm06kxcqs5vRaZ8qZB
jydUoc9wzvCWFwqudRKpgm0ztYpgZpzqgR/t9M6h0doS5UrFo4TtiC9b2mjN
6AWtNfAaBTYvAFu9PW/bu1yvcF06l2bR3rC0vslIp15xqszbYOf0ikWitp4D
AnX2m4NR1/acppUvV1bWWt6iMbt5dsPauzsxP9rvxOVU3S+nk82JlkYZfUBN
z0bBHRPKvFr1+2PVGq6Pt/18dh2W+JvcG3hV1rNrbc2YrScVVi0cqOJ15VOU
WFLE8oU7lildug71MpGhurzLt/XGzG3l88qmXB5fpvvTebgvitPj+qi23aXE
tvjbqpOzzm5G0Y25uhZaaqW5MGdKhhBrR/Z2q1wy6z3fOIzlo9QqyD0nMytt
jMntPKbmV3Z8KzY8oeb2buqyrww6brk6dffs9NLgKaAXmE5Ln3ZKytape4OZ
WG4sDceeM6vFyagwzqp9agHhZTf3p9zksm7YNW03yvudXcncXzh1QBT8xmRp
O9TG9zihUJ5w6rAjX5ujnnylKGdSu+ZK7FTwRtpCKBmGc7KN0WZ5PPXPDVtb
5u02wc1Wqrk/6NPa+rJf0lLVUHqNolnvj6rzQ6tHa5pVUqjebDOar4AX1Jz1
Bho1HRWYmbQ856s5oj443EqlUa1Y8G7DwYxWciKTv6z53nDUOF/zC3mhDBr1
RtM/iM4KeFFV9qK43cKyftqLY4pziMnK8iU6T08rfMMrLv3uRKitOtr8xmqt
2g2soLFUCk63Mezwzdl4bfNObd33hsfavnG9KM0LMdt1jUldyLgVf3jdb+Zi
wbXzyuIIdNGN1bmrZ27GffpkTjMrLnNyp/qZ5a+7A3sUWqfNeMUTpXG/6BVn
ysCsNg1jNLlWHXt7HBVnvtqQK5eTuCwvSyqXP4pm1QPKaJvvir1hRuOqTGvq
cAIxbZZHPl/QjV7BNPJyremqHcMuqTVncJjsvS7fpVmTm8/4Un+RA/b1SFif
AC/y/JAfHMpjhagc9r5cmW3yo/K8NKz0pXGrPejNRFNvZETDsMb0bdu8+FVj
WqvW1sW+WSwczb52coAS2xh5iXAmF2lUKuc6fkZubMo5qrUetFbdVW08czLc
iKqdjv6GqrvsUK2ynfPAvclGZr/W94P95caNr8RoqTYzq2apvtf760t1s2hc
M819oyIuJVVeF87r7vE4z+85b149UIyU6Qk1fcLYjnkq9+yhvSYMS3aBHTdf
lKfGaWCZk41PzXOdzNxutgb9yqBZ2/HHib/hj51aOTfY8t5s7nrAnKdrY3Gw
KRKHfIea7a3LwB3Nlqert1i3/FN3wpRymUq1O6hlzidjq7U0obobt3MHY3Pk
3LF5ofNKv0uXSyJxHR2vfON6O0v93ZFSd6ymGsJ0ueyq3ElR6gN5P94x/LxR
3uxofsPX1PWBqXMTzrRnB65yVomlu69N6sOlWhup15u5mgKqM7O+39uU/GnB
71XatjnzlNOQE70zW+21AVdvO+dcc7/ZSVJzQTRqnb1TyJXo81E/2XWppy1P
O5OWBvPFujKaGSvNUqThZNOxBn7BzBnUtm6duvTSM4SGLuoeUZtOp2DrNGrX
UqOgjzW+sHebk6LXB+pWbBpcZjUu9CeDRs4WurPWQtqPb7VLdbYcO+ywVbIK
RHkmq+3ZybXUMsdv+zzwW+rNIfB72BVXEutUrwmMIbm4GNrVK13ZqvNuqV9Q
Xc0/FtyeoNYI/TjyT7dzdbWSqpsSN5K43vm2XNtDVsxVHbo4Oo6uLZnfrZd+
/uYNCvPe9tDJzeXNTvc1/lwnbGol92xeF+xToVvxmF3remyyO2AhqvnNcNO5
yX2h3K1s+71BRRPKa38tt5mpn1cO24rcKY2Jksdzu/O+wV4yskqtc8PiejGR
Wr6uV/qVwoymrTljzVixd2G7ms4Yirx0/Np80hqfVnnnsiNWPavqlRaURtXF
ar3PcUfG6ksZ4Cpy3r5W6yxqk1Gh7cwnhdKsfZ6Wua7YpCcMw478PMv4LcLn
8pXd1S5pVBsYZONMN68JRYuq6ruNoZUrZtdXdYu2Os3mscNzpTp9ZroWAGCi
0CgAS/xoBDYMwBLfiMA+RlCJp0FYXtZ3KOtXlkjYdjv24mg5EZWFXRrZNtsE
496jsvVbs9nYqwp9Zhu0ws7n7ZVuLJRJq2ROmpXZzSmN9Gn/slivJ+fWZD1Y
s0DTr7cVIU+zBD2ZnJkDM+HoUofOzxn6fO5ui+2b1FncpBYtt8/UlbsxV26m
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
HZF0jqeyvzeny/EtNpf6uOlHx6MPcrcJfgkuTHDAQj91mZq4ZBdvK+AMoHQ3
mqnCvd4f7Kax3HcpZp5qY7PaHvUBNQQMAM+84yHYzloAdUqD1QfZKavTzMA1
anvSC7wtDo1C24I1PCnzaEWF87Y96xoxssbCfClE7Qb+pcQ1N9bEzV7mWBFd
Y11V/FSuG84bixwhW0UeZs5VGE76+sl1LprBaMMpS9v71cQP13OyMlog8mSf
RycSY2/SRF7xfWk/Vugy20mzYTgZKw7H1O3BqXHV6Zs7HmdCey9Kk5tjT0S5
cW+KYklcM8wXWLXDGXspFdZcm7LNtlVNd0V5xOTe6mp2L+n9jt6uSGmLz4fO
REpODnmZJevUzdr5fqL7aww/WWdgWH4qtpW6Gp1nzHV42Jgk6569O69sz7Od
TLryaEpWzHSfmUOxTVa6UGx2BHB+XMPy0M6yXOeiUNrMNvuE1kdOeakzS9uu
s8WkWJrMluDujpEHbb5fuVc1qtWWHsVkOTtf8xYL+heRvAWAflxng5vD7Y3+
8YYvc8N2HcO5TAbNpN2r8Y6dDwjT2Cqj/CoOK+FyVJnbaamH2Ektdflgt31z
cLFFNR3qSn5WhqxdrAd8FJp4ksC/i5s6/e1iecAny6KvnavVVDqu8NoPZ9hy
xrtNwizFyFHvAT1bnc66f8Od0cmt+XUC0sqALu6041CXCCDcZOg2Wt2POQ4n
pclUkbF7MQuoflOOKY30Rnc7pMWDRIHQGC2vo7rOKJK2L8poSINM5Ng33EJx
hzdBGojRRKO3AwUTd2a2IVI7zSb7GT6wJc5TrZO/ulKVUxn45l46Zp9Opipw
AetUThMprme1M+VvrrMO0itmxWOQi0/OlHy6z+i//U9etIMZPXBpiTsw4pZl
CZIfM0a4xNbh0EonwqVUqbJdyYZS1geTKIixo5Du5ObVrujqU/Fo1oNgzB5E
OlXuJVMo+GHe5tE0wIjY2Nk4RY8ifjqJB29nwr+c36LOIB8lZqgo6OseIVH6
w3x88aj3gRdTv9V6oRu50bOOn8JH5Nh+3rid5n4E69csG5bl9dxEDx+3cfvF
5xu2YT3TsztIUoNFhOFXlV+Phhuo2q3753NxtoUW9gMV8dXwknFYNYVqDZPX
gr4q3YJTg4wbVvo9BZLksFbKDmBB4RfbBYPpb6t7VTu91oluPQUzw3K0/zC9
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
/wIJzGROfhsBAA==

-->

</rfc>
