<?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-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="PQ Composite ML-DSA">Composite ML-DSA for use in Internet PKI</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-pq-composite-sigs-01"/>
    <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>OpenCA Labs</organization>
      <address>
        <postal>
          <city>New York City, New York</city>
          <country>United States of America</country>
        </postal>
        <email>director@openca.org</email>
      </address>
    </author>
    <author initials="J." surname="Klaussner" fullname="Jan Klaussner">
      <organization>Bundesdruckerei GmbH</organization>
      <address>
        <postal>
          <street>Kommandantenstr. 15</street>
          <city>Berlin</city>
          <code>10969</code>
          <country>Germany</country>
        </postal>
        <email>jan.klaussner@bdr.de</email>
      </address>
    </author>
    <author initials="S." surname="Fluhrer" fullname="Scott Fluhrer">
      <organization>Cisco Systems</organization>
      <address>
        <email>sfluhrer@cisco.com</email>
      </address>
    </author>
    <date year="2024" month="June" day="06"/>
    <area>Security</area>
    <workgroup>LAMPS</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 141?>

<t>This document defines Post-Quantum / Traditional composite Key Signaturem algorithms suitable for use within X.509, PKIX and CMS protocols. Composite algorithms are provided which combine ML-DSA with RSA, ECDSA, Ed25519, and Ed448. The provided set of composite algorithms should meet most X.509, PKIX, and CMS needs.</t>
      <!-- End of Abstract -->



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

<section anchor="changes-since-adoption-by-the-lamps-working-group">
      <name>Changes since adoption by the lamps working group</name>
      <ul spacing="normal">
        <li>
          <t>Added back in the version 13 changes which were dropped by mistake in the initial -00 adopted version</t>
        </li>
        <li>
          <t>Added Scott Fluher as an author due to his valuable contributions and participation in the draft writing process</t>
        </li>
        <li>
          <t>Removed the reference to Parallel PKI's in implementation considerations as it isn't adding value to the discussion</t>
        </li>
        <li>
          <t>Resolved comments from Kris Kwiatkowski regarding FIPS</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>In particular, certain jurisdictions are recommending or requiring that PQC lattice schemes only be used within a PQ/T hybrid. As an example, we point to <xref target="BSI2021"/> which includes the following recommendation:</t>
      <t>"Therefore, quantum computer-resistant methods should
not be used alone - at least in a transitional period - but
only in hybrid mode, i.e. in combination with a classical
method. For this purpose, protocols must be modified
or supplemented accordingly. In addition, public key
infrastructures, for example, must also be adapted"</t>
      <t>This specification represents the straightforward implementation of the hybrid solutions called for by European cyber security agencies.</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, 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>
      <t>This document attemps to bind the composite component keys together to achieve the weak non-separability property as defined in <xref target="I-D.hale-pquip-hybrid-signature-spectrums"/> using a label as defined in <xref target="Bindel2017"/>.</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 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 in use which is
          not believed 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 verifies correctly.  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 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>
          </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>
        </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 other 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>
        </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>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 }


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>
          </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-SHA512</tt> even after ECDSA-P256 is deprecated.</t>
        <t>When considering stripping attacks, one need consider the case where an attacker has fully compromised one of the component algorithms to the point that they can produce forged signatures that appear valid under one of the component public keys, and thus fool a victim verifier into accepting a forged signature. The protection against this attack relies on the victim verifier trusting the pair of public keys as a single composite key, and not trusting the individual component keys by themselves.</t>
        <t>Specifically, in order to achieve this non-separability property, this specification makes two assumptions about how the verifier will establish trust in a composite public key:</t>
        <ol spacing="normal" type="1"><li>
            <t>This specification assumes that all of the component keys within a composite key are freshly generated for the composite; ie a given public key MUST NOT appear as a component within a composite key and also within single-algorithm constructions.</t>
          </li>
          <li>
            <t>This specification assumes that composite public keys will be bound in a structure that contains a signature over the public key (for example, an X.509 Certificate <xref target="RFC5280"/>), which is chained back to a trust anchor, and where that signature algorithm is at least as strong as the composite public key that it is protecting.</t>
          </li>
        </ol>
        <t>There are mechanisms within Internet PKI where trusted public keys do not appear within signed structures -- such as the Trust Anchor format defined in [RFC5914]. In such cases, it is the responsibility of implementers to ensure that trusted composite keys are distributed in a way that is tamper-resistant and does not allow the component keys to be trusted independently.</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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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>
        <reference anchor="BSI2021" target="https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/Brochure/quantum-safe-cryptography.pdf">
          <front>
            <title>Quantum-safe cryptography - fundamentals, current developments and recommendations</title>
            <author>
              <organization>Federal Office for Information Security (BSI)</organization>
            </author>
            <date year="2021" month="October"/>
          </front>
        </reference>
        <reference anchor="ANSSI2024" target="https://cyber.gouv.fr/sites/default/files/document/Quantum_Key_Distribution_Position_Paper.pdf">
          <front>
            <title>Position Paper on Quantum Key Distribution</title>
            <author>
              <organization>French Cybersecurity Agency (ANSSI)</organization>
            </author>
            <author>
              <organization>Federal Office for Information Security (BSI)</organization>
            </author>
            <author>
              <organization>Netherlands National Communications Security Agency (NLNCSA)</organization>
            </author>
            <author>
              <organization>Swedish National Communications Security Authority, Swedish Armed Forces</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 1145?>

<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-----
MIIFgTANBgtghkgBhvprUAgBBAOCBW4AMIIFaQOCBSEAJaSzbEOXCT27FgXshv87
2HLTgePmYCJCH2OVUi/PB9YTyBXXnw+smoXT4w0pcq3WPs7qQXz6GKj7R0mFfTjp
Rd6uH3hgdS5cbg+PwMWsRKigE6mWFpMwrliS8CfR2yYgjhRav7wGa4ja7RdmZoLz
T8UBN2Yg6P/KceWA1gX6rdVUalrUvmcfR64ry06IfotXXNFwQc3vI6s7khHSUZX5
Rsw55RK3E0ElNpZxfFHv17d2xwFkGRAYqJao+qo37WtfG6Ynx4cqQyLJzlRn++5R
G6K1nCwqhErpk4vDR2uHIwAPiW0StX9ZbBjO2smRTIuWS2WhmhZwJkDqSHmCiRI2
tPsxCtLpM8t2IhTVy/ObAdQGPDngTNIPH8kuoRrBhWGIiWJMlo8LkImCRt5m/8Di
aL8C2BQNL+BWBBcak/JZrLkKZOZM7pFwWruHVEd0608XerfiVO3ypqAxImJ2xcdD
kLys4jDlEMsC3oz4RQGXahj2Pr8Jxu8i0TIDDdV5MZw9wId/m+0/vSD8BOAu09Wu
V6ppUWkDZLHlzf12zx3ZzBF/CMqZNsxMdTFNbu2qQ2/CZMlEvZ9f0gxn6qNf8NHC
UqdeRr7p9z8PuGHErLHqCvQMrzia71cD4URV//SR8EUQkoo9imtw3XT2uKGUIjT/
dDyqWl8BlAZ64dUp9EWmHwG1cyKBcu2dtD0d4BMol1g4TOF7u/3hHcgOoiR+ON/3
7MoxkX9mHt6tP7hkVWy0Mb3Sjej12DG75D9z8gAzHyQhOs3suNliCzCUmUVYm5Mv
WdySiuShm6yu+9Ah+GqvESuNr/h6s1gZGbdCe9llGdFPniilhL5J9oDgYMp+wi2I
EeOugOFoaY1e2OI1OPjBpg1071ko9B3CGD+0PkPvKYmMGs0HTnzFWCLPj5dG2kg7
PEltarKvLVTIxrbjw03l3SXmqpNPU8SqFJ7hB3OpFJgjqL95IRTa68UM8aaUKLMa
Qjjx08+e13P3wwY3niCR5U751fus4ArGLN2JgfPB7bPSdz043PIvxsCYZxUQXSW3
xWhWQqaHJLml19obvnf/tEXQZLheAr7hOEb/UTNUIBj/A6LfB0Gs012B1aXfne4W
9K/OFXc9p0C7aWIfjfMrA/idOrd1Eoo2NGLid+wp8aXyDZkCf5OUretEFHqQcQ2J
znh8R4mh2Tf7hT8+Gj5Su6bZggHi9iIJZ1G7i0j4Wm3g6DJAXF6KbChMayKRunDp
k6Nm5iOeTmT+Vi4OJncuI6HezZMzO2s+2iY33uDL7tFR8fVn7dQiF78c1aNhWjfm
fIsLNQdZxt6orvnwSrZpdVhOtAu+vYVaEAShdHgfzvPSDHIjgyxs6mGdk0uDsGpP
f5d3e9KV40rXir2OXaYMOq2KTkLb6KHHxZayLG0D9/qSBOnSE/aXNhh1cHtKeYAe
jjXmfzsmgNELPNxFRrx8pEHG1Se0GJNJVZE9u6B2r9f09TgTxgPX/6XpBNUrlz21
fsIvNpRL48cwLHOCgYP/SAgE3gzRC6G5NEE19wQZHsFNGeUeGvrvUQgTyT1YwLx+
Abvp57bVjgLWli185/K1a8BmJ204RHfDhSFe7sVAIoI2pUcz7ydb178DCAvupP20
CxUIkgOk3C+cgUzTwsFU4iiix282ZBa8/nTUnH9r3IDJQJwdWtMCnByCc43UeVSh
WV3isRF+ANl6lSevNj0uzGE07a5gPahctBWMmevh6qFcv5XucwNRe7en96o7CgK+
5QNCAAReie6V/SXhsV0+AAEPt/7UjJqzbrZU1ZHKBLCDbX1cv1Zkpy+SabE2Pfpd
K7SzfBpZw0txE+bjIUT4j3zjgIDa
-----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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
-----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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
F2ljUsBn8vo47P9JvA==
-----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 at least as strong 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="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 few years in pursuit of this document:</t>
      <t>Daniel Van Geest (ISARA),
Britta Hale,
Tim Hollebeek (Digicert),
Panos Kampanakis (Cisco Systems),
Richard Kisley (IBM),
Serge Mister (Entrust),
Francois Rousseau,
Falko Strenzke,
Felipe Ventura (Entrust) and
Alexander Ralien (Siemens)</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/lamps-wg/draft-composite-sigs</t>
        <!-- End of Contributors section -->

</section>
    </section>
  </back>
  <!-- ##markdown-source:
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
Wxox+/p6vD1QI6XoNXMbTREL8kp7GZy7M2fU1jW+uJ/VD92zbehimVuPsteF
tt2MpFPp3JDyW6k0UvZLq3OjxuVJtZddaMVBui2rMzajzYu2Mp1Ihj057eX1
qJi3r0xRWFvufN6rn4dy7iQUndJu0xQny3mBGjnnQmHUzvEMb/QOy8u63jxl
Skr2cq7vGiN2cWxJ1svRypVm7rpRXJiXvHwcXjutmzEyX14KI6pRbGdM7nzc
8PZhlz/VRlmvKZzZgT5jRHdeWa6q237W2Y/GgjcTs7PNfrM8t3a1o9jcc/pI
yFLuwLlwbufQLbtZYTOeXtP9FasMG4OaqY17wqBZ3nnWyK5uZg1Bn7W6hlXu
7IQ9N3IL+3S5plNSp8xlq8Ne56U6q1ZlaZduLe3Orr3sL7ulQ/08s73mlFeY
IlOeg3GhT/u56+HIXoR9K3uRlRq161yd/LZm8F2Hy1m3/GjYmEubbXZgl1sX
r6wzY6FWU6aF7vJcOQtKev/CpE9irVztsx5TmXnUtHg4TGa72rLTNG7rTPZ2
yS1v1Xqa6x6XPefSVcb13srLHofZNLfsGvxpWVkz2sUsHnvrcq/JUZOjoo7s
0qFyKw+8RpO3O80jdxp27ZsulTJyLT8ZTdNpcVTmJ8OdZVX0vXvOzcdZr92Y
CNtxmlJq1+PMKFcNdlnMK5NDhZ/tm+dGRr62q7KXVdwao+SrXcvIaPlxv17y
0rlNU9b6lj566ffSOarUtS67eWXfdIvuoLTZTWdXprvKiVt1m8nWGqVCDWDT
2FvzOtz0nZzj9Qydu3GT/WS62Be6J2qmXEXdEzf74tV7qbCbl8bxxItez05v
ik5GWzZWCqdWDKOh1AemrhubTqFVsWraont4OetZgeLVvqf165a0yKjZvpDp
D7bVg5ZhSpmdVanmuEbthRnsBqf2Yt9tOExzbN7qM64z2BaURnanlagBbwB7
ap8607FwsVfbM5MzcuJ8fzz0BpOyeKy3Sptqrn+ot7TtsVMpCKOxVCxPumVJ
mrQ7XYkabrcXpvyiZnKD3Pm8yJk6NypMSoXM2nPyrN3o9LItbT2ollYDUbkx
+dxAOF0cbrG8TIZzcZajLrPNbHiUmq3O3shUwJA012mXnw+XnY3K2qVNn1+l
J+PeRKhu02yxs64yMJFMtpqR5mtTzc+oSjvdr8/lyoHhStJMWG/XXZtN60rf
VjK8ZWV7jY6uvJwPZWl+rS133LrQn9iqy9ebx6E8zLaom7kpj/L7TXa8Lm3G
5ZfGtiB6xdVS05p6RRday0yjpDPb/Gyf04q1FjuvF9srbtOVru2RZ9YO1K7Y
2xf0vjrej1+mer7fMmVPKDbV27J7g338ktUXuZxX65Tc+qi8npolZajXS2U5
I/U2s+16T60Fp9MbKsuLW7Tsk3kW7eVBmW76Luu9nBZTiWfFjdLU1rfTQKw1
ha12vTjFfUPZMV7NaRwG1Lqg5NRKe5pn7LluZ/tzadHtH7Pt8a6zKrabzctS
unYaTK2SPorVvinyaWne22wyctNtqwtWpbbb+X59c/Zaj+8Mepf6yL6UD3yz
kRFVptHqtaZLvuIVq1kbNmFlrI0v2mCeLs4P1d7ENm7ZDLV2hFPvMOrky/K5
0+xz2mKQFlmNz2m3EVdsFHo8n6mch8umU+811InaONmnyVAbX8eZxblzeaHY
1elQKK2mW60zM/RMuZBuZ6RyFfgNkx8117WNWFdLzpQVLCF7mMi30lVZZUrl
GseevMMgy1DcZSLstP4ux73I2uQ2Pjv1SV7X9Uu2nF1WpXLaHE/MZsXOCbXW
sHVWZm6XM6tXTs7nJupU3FCzaU53RvUXtmcUDVE99baMd2vwTEkqaANpI7vV
WXevnjbFY10+FeaefO6N1JJqVopWidPaL1Rh2ONYdqTqanGaFucbZ8q8sCw/
cNOlybZ1vK3s5SSzbLarHa62mmfkU2a5O1xfRGnFZwfrg0K1S+JtXT0sz4x7
4V9WW2Eyzm9zt60m1CQilPle7Z1IfiLYg3vF3ov0kTBlx3xCpg+KmlBla4/k
usjVKsOzpqWH6Lte+J1jVzWeZ4dtjuLOZx5/eGWNQ6fnDAtya7ByZlX12kjf
TgvZ7VfzL0tN2AnrRWEqdsrlZsa6LnKX2kv7VM9S+ZVZH4xLZjf/UrYHW4fz
vF12cJ3YpdONb65fXnLWqcbXJ07TKpfVW/62vlXV2Qu7sYpXLt9YU81yte5o
08WJae5Hk8GE3083dmvSdsvTc3PVn16lXUnKt2ZGsTs7nC/maHF0rIzNybP2
bNkectRqKQyHm4bQloTrcihOR6KQXykwqY1XlYaDxq56ntS0bm441BqrTbMm
Vo+3znCX71rWTJzsGGq52eVbHKtNNhqznO52PNdfjBdVoQuScVsXOFHq6sKC
hQ6749aUPa+kOiftNGYo17mlZcAi7qsgqfYFeciLrMgPa5yojRrsddMdNmqz
Ptse7ZZLXtTZvsC0Z+xsJQm7VdWatGZ9XR/uCtRmU+Uk5djYLPmFZmyEIcvt
ui0rv9vzZ1GoNaoLl+/InMVOvUarO2A3XL9eG/GZESc2OuyRoViWzXAabCBt
yy4X/KRtnTip6hQ2rp7lln2mpg54rnpqLlnR7Cr7/WTkXEZ1Nr8YXRqTvngF
ccRfJwKb1Z0u0xmdW7D/2W2j2eiMrmJrsWW1Ub+6GPYzk4nIiaMtyymwVmxD
Y6vD5pbd7amt158Mqwde612ZbX/QENgbP1auwmbZFbrTEbfUrtcRkGVnODzL
8kZY1YUZaGOaMGyyrWF3So1a2rBVP/Kjuqe3hsdtVXC4zfTAd3mHa9ePZ66u
7WR91BTkMydw7QnLazNRHvOioumL2fBKdV1OEwRxx466yxGr5XS122gbVWHc
7WZ1y+E0fZjtCm29rQrZcX3TkIaAC3nHt/Z8frMRBGol8tft0OO5rsGK1XG1
VTcEaSM0pdGGZdWhBfQg1jZDTnb082Kh5as6P+bYs94dwSaSrxNqy1rVmtap
1Vp7brvsn0c8J+ymQ2alWHpbO+8nhmiJdYcVnb4lDHtNVhHPnXojL4ldgdsY
VWpRBdTwbWYksPmOzu8FdsS3WvxOMA5cizVbtapYWC2H2SErZLegeLa7u6u+
6ZvsyKjp4rBBtfkWu9P0LT88L0c7jWsd64J+hJUeWYVW78iNh9Z80xP0zc7K
LmAZR8OTsBl6bGe6FzYTdkiNjREnOXW21WKHgthglsDoF9qOWfGC3l42mOpC
34GBMFkAgXFVbclp41ard4ZpnQWpy3NUq7pn5MlwKHYPbIdtn2ttfrcU+5xQ
v4rDGcsu2MaiI5/zwnQgdIf6Qqpa+lbx2O7UZrfc0KA2inVubQ7NNscJbb67
X6m8tgErYTTaa0u2yS5Ho1pXNhoC1+CX7T4zUrtZvq6dQZVaXc/LMnWpZ01v
0rx2vUGr8cIfgMaHHFg0l+q1ZguNnVrO1TPtE98oyFx/0J9v9Gy/JHN55yJa
B6HTpoTCalQT6kpzlymYlT3XORbP6XYpaw7Fed5zQDTdaup5BHr3cDktsqNK
LX2tir0ru7YLzLI0oQ5de30s9ZaHlzZYus2Lw4jV2r4w71XnVUk4sGeh2d51
0mCivmSP2bqQr8nXjL1kYRvMy8xEoMT9RupkuJGn5Bd65sCbgzXjSn1d4sub
rTY8W8tMbWIUmye97rTOkpR9ueZG7NZpLD1hOhpzFChz9tJeDM4vymxan526
x9N2UymJC40rqWMzO8rPvdw6nW1MJV2aaxxf3TTHiwJrl+u3Ip/rUN2pXtnM
ut16sbstnOayMtmc2aykzhtb8zhQXDa93S8n86HRzvX2FzF/ymoScyud6yP9
lDV7dWpl8o1BcZwuW2NZKZV79sxaycPmeprzZquVeO5vBnZPq85uXtdI1xsV
s9sZycNyf3nbni8DbUoNGuaMcfdpLauzjRzTdD1JGw5K/fFBXx2rnu3y/Iuh
T8W6ZtUYy87fFpvBLre/vfS7030hnacyNaXTGY9c81iaT8fTm37Ntg7AwKtq
vTytbQqNijbclvX6Zs711tvCst5b77dSk+Oz1lRdy3mqvpjydr7rWYMjs6rv
nRVrLLutRSungGS0hAsz2xaEbmNi13tjI7ue3YZXuVQYdkey0tazKkMtJrJT
V4rSTGpe0spG1JXC4Dzv2VexvHGq+ck6a2U3J7MwnSuTWmlVWW5qzdPyWjHS
I2m0nNmUvikezuKw2OQZqziSly2JNbJ2o6Cnx9xu2CsvXzZ9o2hfpqLITFTn
tDFde8prVnkDMzZFncrVR+tZI83OTrWBmm70RnqNG1WrYlbMyr1Ty+65B+12
mU82L2VrYPfHV6M2XJmZ9VypnDkOtI+VMtnm5eZp0bKl9Hw/70/OzstRntQL
Z6kkzUf7suPt0qZ9msJzoz/Jl7n8+uTobsYerlbHBsWILUdyhIOXvzBMlrkd
LvV9hhn3i5nKlRXU6oKZLmp2tqzIu23LsAuG5E7q2nJR6MhiXmga1OGiLaWi
waYnMnvRTFNm8oNZp1DmbWcJEio76RTGdTAq2GlnNJ/uwOJzrS5TPnUP3Kzr
yVfKPDWFwfpS7Y0rgpV1pmtzXWh2iv0tN5XqXUY9tYcMY1zt0SXNimuAom0w
01tZkZjMci9xdWo7WVezh+70dGydLG1t2O1z/7Z1Bit2uKoq40YhryjZk6hw
onJpjuXmuti9XkTmYg+ESXW0HVG6DXpNdnlbjaV0t3BciyDTTsUGKH5bd2Uy
jLyrboBI5bIqN+f7zWA2yA8ELldU1Lll16cilXd4ebaaD/e9ceu6aDDqJSco
FfWlvby2G+fhnhk7+YrTLDc4XslPe618eaYI6YXdq+5vxdJoSDV7TEO49L11
raHXL3V7tu2VQOFmpqVCI+t0TsWDzuZ7L1nHOzUX06vB8KV6YwOquFu7bExW
p6Zso3esSwvtkJ6Yh1XnWqx7o2HdOqSLw3HBbFeZE9MRz2dl2+bqg/mKa+fy
15U31qaFUZMbtqhCmROuF1nWG2Zpy3BCf6mMK/X8bZa/Ccp2cOLlxnA6G7qO
ujMvbLk2sRaVKzMXjrVNfaQwVyozTOevwFlsXXDZcm5Ymbd2L7Wqzdsjac7K
rJwZ64Xtrnczr6OC0NCbkqEPBNAlF7oz1eU99dLKzCo5d53OD7QLv6/mpNFg
OBi2C5erM85NN6X86jxfC+3ReZifduoDS5x53U1uM3Wb1YxiF6neIrflO+tC
ba5lG4tWRTbXfb2x4Xr7aXVVaQtpiZsNLlq+cF4ezkKu5oolT9Wl9LFaWxR6
Lww1qdWUyW5W5AeZw045barN64ZtjieKWBykpwzTZwaWIc7OXO88H6Qvhcte
vxWvp2tu0dQqq3KTyqsvheYgV5eLw+J2PDKXYrVcbU3lzmoDmk1tnWsPMnpD
AT7cXrNrzUgbrdlu/9KrGKdyplKcUJUsU16vTsWm624nuVv/0sxa/al0cGv9
hsIy2fxY1vujdF1Mm52XY/62KRs1eVS38k57MOkNXeq8ONfGrUZXuQwZqbHp
C31eqrVKTLN5AhLOb87ntVmqifr+2GideG+V3bV3tcHWG55P6ZdBZkTlt9NM
ebhez4zhsjuVXvpKX1xMsgeBKczXDU46cM1TbmnV0pZ96HH8lJG8rpQ5tZVh
f9Wv9kUqXRwL8tTannNus310j2JtMdnqmzqv1hfH3Kljr9UKl66x0kHfV7qF
QXlpXE2Fa9lzzc62NYYamTtr3irtxo12Sb7eFE/ZSOLLqtCSWv11znW4Yn4O
eLcYp9JXuuf2cbPqCIeGN1v0Vf24r1CHkSKJg4P80nNvs3FHuE4Hxj6b3TfO
B3O72+nG+VDf5o6ukmlkrgujMd6Y+XT1JPdZ9uXINbMUiGu1k+nelPF8Oh0v
rmlz5V1Ks/OyMJq39q3+I+9r3PlKfcb7Gne+Up/xvsadr9RnvK9x5yv1Ge9r
3PlKfcb7Gne+Up/xvsadr9RnvK9x5yv1Ge9r3PlKfcb7Gne+Up/xvsadr9Rn
vK9x5yv1Ge9r3PlKfcb7Gne+Up/xvsadr9RnvK9x5yv1Ge9r3PlKfcb7Gne+
Up/xvsadr9RnvK9x5yv1Ge9r3PlKfcb7Gne+Up/xvsadr9RnvK9x5yv1Ge9r
3PlKfcb7Gne+Up/xvsadr9RnvK+FMVfdnbFzckxVNfm42W37g6FQrWqa/7tb
rZ5HhW5T5tghzwsNkckNLzdptR6l5fasXuN3J0/NMZrXpka2ssh29kXdqYrd
5XppsVaD444NsZuvsGe+aU2GtaHG8nPL9Iw1Y+RXdWWgsdVaaf2SEa4S5WSL
2WlvNrpq4lnLZirzTmW2bMun3X5/6W1zxbnoMU7uLM3kXkceDfb5a51/ESrl
fJ5js9q//3vM3Xvvrn3q8BVVY43TIVSFnt+FNSQ8wKh+oVAXOOg28gC/jDkO
LAiNRYuoCRPekQr8ucF0dG21yvW6TX7vHG1GsNrdc2246CyEpcAuVkUpwwoU
Oxye+S0/7LL5BpuZ8Oz53Fzl6jelMb0pNVatn5lrr8beujX+2r3xhe6tLuFn
Y/KMCh52q8KFr7H9qtabVtlut5qtXOTcyJBzyAc9q3ZZpsFluYbINhove3fI
sTzP5oU6KCMsfDA9oD+E4e/wQ28GQl1R11SteJU2ymBbE8GMUxYvN+9QXQ+s
xXHgNsXFtNLvG/XcMb9WG9VMx7h4tXyavUgX/thmx8flYkbtbpw3a3XOrUpz
1dK5fr1+TJ/Ypa33bLeeXe61U29wGfK5pV6z0uXDpbCozarro5uZjo4zV3yh
lpdK09ZPnbG1edEziszMq9WbWt4eb57IK62RsTYat5pp8LY8HoqTrGHWyxM1
PXdzqyY7Gy4pvqpbxnFbPG7XrpQprw76urm5HmqCY/anjXWpZPAry57JHe4I
gm4/1kGUS3l5CyplazVqZ6h1xnAa3ZJ0Xda7emHZWUoNqW6y+2H/IKiLdovf
SszLjW8z3u4GBoVe78075YIDdvOi3FerXYrRyuurWNw0nEZ9sdBbi911tj17
Q33RauT2q/S537JO586izjKnfH3B1y/HcdnYO97wsCvsbh61m1clD/SBUW5s
jy9K0X1pTUrr9t6q8frCXNUvTH94at/0bn8yvJ476nawqbNL5dgYLF5OZ7NB
la6dUVfr9jLz3cWs5dhN7mVVGr9UhMGZz3OlcUYqzI97YyQNeztHnffS89Wg
qZhdfl4Wroddlrrxl0x3kvFK0qG2Krd214lYMTNpsdZYH61M+szILfGQKTRO
npkbnF/yC1l0HNVqV9jrqd+yT9T0PNiM6vN0pdU8j0acqG+zbSlXU5SBlLeW
Q703qDCD9kGanxuTqmlvMqLJjKTFml1Nb4JVv1KlZZYZjHIaf9Xns9qmm597
pbTKK1e2qLea+XwuvXau28ZonV2ouSOT9hqj6aozvJyUdq84mC+o7uq0G+QG
V7bWXbc4vnhTr/nsTOh0W+JyNNVXu2tlmWu124V2Y2W3SyWGa+alY3nUzmdP
L83jjZpVd0uXaZWys8mSmbyo7faMP+3MrAb78mqWuM5CG+WLRTY/2xy209Ii
v53kX7qNfW0+Ps3ELUM1ZWExKA1fhi/lg744S7eh0l93pwvBeRkYzEoSa05Z
nGWOzrHsTrvbhusNamN1rrRU6bgDGUdd2tbE9PimXNxN9lzfOuV2m3rPti/D
2+VwGFrO5cD1B83xrVCay+l1rbpVVaHVNMYnc/pSvGkU5yyc3GJfhS3uOpVW
bjDeymU93Ti3NmZ9VFVaqzWwoCV3sOSdJ83n2Y33oqRfmJFS3Xn1PEedPD4/
OlVG3cxQawzKNcstN4fSbTxfNKcH5UUpbVaMXc5PlVvWHHbcw2Lz0itfndpL
iym6uYlI6dsFs/BauRJnXg5robcfttK7gugWmeFEPVQvtYXZV5uXpi41l720
Vx/c8tLAaJcO7p5j1Q7YFpphTlZeRxxspJVas7q7qjy3Dk6bv9hgSxbl/n5s
ZVd7oVDoLweFWUfL75Vrfmsppd7u1gWF7FaSWtu1mu+ePGbavFRmazfDCfPT
5Ta1snWp97Is62cnU82YjdxR917W1ba7NzIzvgj6XLFCbabWsNquM2o13S9X
hC7Y9bVO43ZcLLNjMd8/S7tK2sgpJeYw34qu2j4tCspBOxftxaE/dE8WZcnr
umELzmo4yL0cBL6oCOPKQc42mtOzyhwKWrXY76nLdP8qsczQKef4aePUvO6G
8mraKg0X1I4xpjuwYK2mdMqkx5l+ddBgK+v0Qd3xGdGbD1ZTUMbLWTBRtpcb
68j5dlVLV5BsU2tIn7JWO2Y4nueq1Z16njBgHeelF68y4qqD1mC6ZU/NfNV7
MU3XnfVZV5p15jezbE/tcwPYzXjDU0q5XxemJe8yYXVtKxmj2+DUypzmp3NX
4F6Ku/Rq2KkPdZEtjuVO4Vod9wbceTrW2+1Oc3Vb7qi6fXtReqK8zp5krWuw
JmjPzLktN4XWbauMCtN2fTlX2xd+nmez8+O0VSxnB2KpuxiPXXvPVqhj/crU
F9dlEfamBdamoRZubKZecovr3HHrtEFRN1hGYKv1Yqt0mFdaauMCZjzLDl9y
aVfsUnu757nGeLqTLd4Reu4aOpnuRRMMmoMzXlReDMZ2O71ywzBrYo4fF7zu
ZjTQB+t+n9V6xy0ljNl1F3R/EO1KTRvOqtVRKbvUZXVc43O9U3WwAKP9sm9w
00XhsH1/ikyh8DBO1lB4WOt8ht/zCTtcusV02bHVuie3W3X7uG3Xs5lOQazc
vN6GZUtt4+QdFSadH+WonLoeDwtZVxlquXzheDzMmOpyZGiTmjgzj5nq3ssp
163cqDUX5U4HSMjqX8cqk2W72nk8y8rUpAkK81GVGl5GllZFg7HO9ey+cG1M
K/y+veDK690139rwuywLZGhkL4ac309XLFPptdenoUMdKvnbzVKGCreotwrT
RTHb91Z155rbF0EJl0bcqfXS6KwPh8xEnTCni3bcCvaAy61qpqC8aE1qdtgd
X3LGsjNIK17jslDnqtrf52/S0JOECddi1PS+ztUPq+b1fNZMWbq+gLCr18b1
0WLTqy2opdEa5dhZp54vNWwz3QXrbFuY9vON1mn7wm2NhtFXc3WzyFZ5oCux
Nvl/CruyLUWxbfvOVzjqKWuYmYKCzTlPKNiANAqIekY9oPR93/3Q/ZD7Y3dv
kAijMs+teAqR3c/V7Igx5xJujbezZnweHg87z0Rsbunitj52zWTHVvdU5NvJ
TeM3+C1nr1hRPdwSs3Z36bQ4zNu1WM0WKdY8fJl0DP+aizTiY1QRbdOZiRJW
yzDbuVDs5tnCWUfKkwixqEzDmSIsiXDzkJJEmLINRtRZInvgBt3iYwthFOGO
Sl7SgrT5etC4nDEnUrDFxXA6MwM3iYW1nAgegIvrR6eDJTmnFdriBKMsNw2R
cchGUAh9ntn2KuKwNXewt89odbfq5+SynamqvnCsFS9jU3QvzDODzDma4yQ3
pxUmS9TmdED48FTyl42s71ZuZObBPgwJcKHR0vn+mGJ7/laC69il0NN43jqs
vLUevufv9Gea8Kgg5zVi81KjPeviKRGUGhDnnfM8nzT1sWTt6IH5UrgKyfsG
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

-->

</rfc>
