<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.34 (Ruby 3.2.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-vitap-ml-dsa-webauthn-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="ml-dsa-webauthn">ML-DSA for Web Authentication</title>

    <author fullname="Aditya Mitra">
      <organization>VIT-AP University</organization>
      <address>
        <email>adityamitra5102@gmail.com</email>
      </address>
    </author>
    <author fullname="Sibi S. Chakkaravarthy">
      <organization>VIT-AP University</organization>
      <address>
        <email>chakkaravarthy.sibi@vitap.ac.in</email>
      </address>
    </author>
    <author fullname="Anisha Ghosh">
      <organization>VIT-AP University</organization>
      <address>
        <email>ghoshanisha2002@gmail.com</email>
      </address>
    </author>
    <author fullname="Devi Priya VS">
      <organization>VIT-AP University</organization>
      <address>
        <email>priya.21phd7042@vitap.ac.in</email>
      </address>
    </author>

    <date year="2026" month="March" day="23"/>

    
    
    <keyword>PQC</keyword> <keyword>COSE</keyword> <keyword>WebAuthn</keyword> <keyword>ML-DSA</keyword> <keyword>CBOR</keyword> <keyword>Passwordless</keyword> <keyword>Phishing-resistant</keyword>

    <abstract>


<?line 73?>
<t>This document describes implementation of Passwordless authentication in Web Authentication (WebAuthn) using Module-Lattice-Based Digital Signature Standard (ML-DSA), a Post-Quantum Cryptography (PQC) digital signature scheme defined in FIPS 204.</t>



    </abstract>



  </front>

  <middle>


<?line 76?>

<section anchor="introduction"><name>Introduction</name>

<t>This document describes how to use ML-DSA keys and signature as described in <xref target="FIPS-204"/> with <xref target="WebAuthn"/>.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<t>Some examples in this specification are truncated with "..." for readability.</t>

</section>
<section anchor="background-on-post-quantum-cryptography"><name>Background on Post-Quantum Cryptography</name>

<t>This section describes a generic backround of Post-Quantum Cryptography, Web Authentication and Phishing Resistance.
Post-Quantum Cryptography is defined to be a set of cryptographic algorithms that are not vulnerable against a malicious actor in possession of a large scale Quantum Computer. <xref target="FIPS-204"/> has described Module-Lattice-Based Digital Signature Algorithm which is not vulnerable to attacks involving a large-scale quantum computer.</t>

<section anchor="motivation-for-ml-dsa-in-webauthn"><name>Motivation for ML-DSA in WebAuthn</name>

<t>With the wide range adoption of phishing-resistant passwordless authentication standard like Security Keys, Passkeys and Device attestation following the FIDO2 Specifications, the adopted cryptographic standards for authentication have been primarily ES256 (Elliptic Curve Digital Signature Algorithm with SHA-256) and RS256 (RSA with SHA-256) as defined in <xref target="FIPS-186-5"/>. Though most authenticators support other algorithms as well, the widely used default algorithms- ES256 and RS256 are deemed to be insecure against adversaries employing large-scale quantum computers.</t>

<t>Hence, the adoption of ML-DSA for WebAuthn would be necessary to secure digital identities and accounts from such adversaries.</t>

</section>
</section>
<section anchor="ml-dsa-integration-in-webauthn"><name>ML-DSA Integration in WebAuthn</name>

<t>This section describes the implementation of WebAuthn with ML-DSA.</t>

<section anchor="ml-dsa-key-representation-in-cose"><name>ML-DSA Key Representation in COSE</name>

<t><xref target="I-D.draft-ietf-cose-dilithium-05"/> describes CBOR Object Signing and Encryption (COSE) Serialization for ML-DSA. It is to be noted that the COSE representation of only 'Public key' or 'Verifying key' is used in WebAuthn. Hence, the COSE Representation of private keys are beyond the scope of this document.</t>

<t>ML-DSA Signature Scheme is parameterized to support different security levels. In this document, the abbreviations of ML-DSA-44, ML-DSA-65 and ML-DSA-87 are used to refer to ML-DSA with the parameter choices given in Table 1 of FIPS-204.</t>

<t>This document requests the registration of the ML-DSA algorithms in <xref target="IANA.cose"/> as mentioned in <xref target="I-D.draft-ietf-cose-dilithium-05"/> as :</t>

<texttable align="left" title="COSE algorithms for ML-DSA" anchor="cose-algorithms">
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>value</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c>ML-DSA-44</c>
      <c>TBD (requested assignment -48)</c>
      <c>CBOR Object Signing Algorithm for ML-DSA-44</c>
      <c>ML-DSA-65</c>
      <c>TBD (requested assignment -49)</c>
      <c>CBOR Object Signing Algorithm for ML-DSA-65</c>
      <c>ML-DSA-87</c>
      <c>TBD (requested assignment -50)</c>
      <c>CBOR Object Signing Algorithm for ML-DSA-87</c>
</texttable>

<t>In accordance with the Algorithm Key Paid Type section of <xref target="I-D.draft-ietf-cose-dilithium-05"/>, when present in AKP Keys, the "pub" parameter has the following constraints:</t>

<t>The "pub" parameter is the ML-DSA public key, as described in Section 5.3 of FIPS-204.</t>

<t>The size of "pub", and the associated signature for each of these algorithms is defined in Table 2 of FIPS-204, and repeated here for convenience:</t>

<texttable align="left" title="Sizes (in bytes) of keys and signatures of ML-DSA" anchor="fips-204-table-2">
      <ttcol align='left'>Algorithm</ttcol>
      <ttcol align='left'>Private Key</ttcol>
      <ttcol align='left'>Public Key</ttcol>
      <ttcol align='left'>Signature Size</ttcol>
      <c>ML-DSA-44</c>
      <c>2560</c>
      <c>1312</c>
      <c>2420</c>
      <c>ML-DSA-65</c>
      <c>4032</c>
      <c>1952</c>
      <c>3309</c>
      <c>ML-DSA-87</c>
      <c>4896</c>
      <c>2592</c>
      <c>4627</c>
</texttable>

<t>These algorithms are used to produce signatures as described in Algorithm 2 of FIPS-204.</t>

<t>Signatures are encoded as bytestrings using the algorithms defined in Section 7.2 of FIPS-204.</t>

</section>
<section anchor="signature-generation-and-verification"><name>Signature Generation and Verification</name>

<t>Signature generation is done in accordance with Section 5.2 of FIPS-204. Signature Verification is done in accordance with Section 5.3 of FIPS-204.</t>

<t>If small keys or signature is needed, ML-DSA might not be the ideal option. Furthermore, in usage scenarios expecting swifter processing, ML-DSA-87 might not be the best option. Therefore, using ML-DSA-44 and ML-DSA-65 with WebAuthn is advised.</t>

</section>
</section>
<section anchor="authenticator-behavior"><name>Authenticator Behavior</name>

<t>This section describes how an authenticator, roaming or platform would implement ML-DSA.</t>

<t>The authenticator <bcp14>MUST</bcp14> have a secure storage for storing cryptographic secrets which <bcp14>SHOULD NOT</bcp14> be able to export the secrets in an unauthorized manner.</t>

<section anchor="credential-creation"><name>Credential Creation</name>

<figure><artwork><![CDATA[
         +---------------+                    +--------+                                   +-----------+
         |               |                    |        |                                   |           |
         | Authenticator |                    | Client |                                   | RP Server |
         |               |                    |        |                                   |           |
         +-------+-------+                    +---+----+                                   +-----+-----+
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |      Get Challenge                           |
                 |                                +--------------------------------------------->|
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                   Challenge                  |
                 |                                |<---------------------------------------------+
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |  Credential Creation Request   |                                              |
                 |<-------------------------------+                                              |
+----------------+   (Challenge)                  |                                              |
| Generate       |                                |                                              |
| Keypair        |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
+--------------->|                                |                                              |
                 |                                |                                              |
+----------------+                                |                                              |
| Sign challenge |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
+--------------->|                                |                                              |
                 |                                |                                              |
                 |  Assertion Response            |                                              |
                 +------------------------------->|                                              |
                 |  (Signed Challenge)            |     Assertion                                |
                 |                                +--------------------------------------------->|
                 |                                |                                              |
                 |                                |                                              +--------------------+
                 |                                |                                              |  Verify            |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |<-------------------+
                 |                                |                                              |
                 |                                |                                              +--------------------+
                 |                                |                                              |   Save public key  |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |                    |
                 |                                |                                              |<-------------------+
                 |                                |     Authentication response                  |
                 |                                |<---------------------------------------------+
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
                 |                                |                                              |
]]></artwork></figure>

<t><xref target="WebAuthn"/> defines the credential creation API. This API takes a public key credential creation object, containing a cryptographic challenge, the Relying Party ID (RP ID), User details, and public key credential parameters. The public key credential parameters define the accepted algorithms.</t>

<t>An example of public key credential creation object is:</t>

<figure><artwork><![CDATA[
{
  challenge: new Uint8Array([215, 150, 119, 213, 215, 247, 188, 15, 142, 10, 53, 135, 17, 205, 130, 133, 158, 32, 113, 0, 62, 67, 112, 191, 123, 180, 224, 151, 233, 114, 68, 225]),
  rp: { id: "example.com", name: "Example Corporation" },
  user: {
    id: new Uint8Array([79, 252, 83, 72, 214, 7, 89, 26]),
    name: "johndoe",
    displayName: "John Doe",
  },
  pubKeyCredParams: [{ type: "public-key", alg: -7 }, { type: "public-key", alg: -49 }],
}
]]></artwork></figure>

<t>The web application invokes the <spanx style="verb">Navigator.credentials.create()</spanx> function with the Public Key Credential Creation Object. The client web browser, or an application invokes the authenticator API defined in <xref target="CTAP"/>. The public key credential creation object is CBOR encoded and sent to the authenticator device over a chosen transport method which includes but is not limited to USB HID, BLE and NFC.</t>

<t>An example of CBOR Encoded Public Key Credential Creation object is:</t>

<figure><artwork><![CDATA[
h'A50158201637B26333915747DBDC6C630C0165405A64939AE8F6E4FC39414F853F702F1602A2626964696C6F63616C686F7374646E616D656B44656D6F2073657276657203A3626964504EC1D4219F294FB4A0BC0CD29D485AFC646E616D6566615F757365726B646973706C61794E616D6567412E20557365720481A263616C67382F64747970656A7075626C69632D6B657907A1627576F5'
]]></artwork></figure>

<t>The authenticator <bcp14>MUST</bcp14> verify whether any credential mentioned in the list of "excludeCredentials" in the public key credential creation object is already present on the authenticator, and in such cases it will return the error code in accordance with <xref target="CTAP"/>. Further authenticator <bcp14>MUST</bcp14> perform all additional checks involving authenticator PIN, User presence, user verification etc in accordance with Section 5.1 of CTAP.</t>

<t>The authenticator generates ML-DSA keypair in accordance with Section 5.1 of FIPS 204 and unique Key ID. The public key is COSE encoded following <xref target="I-D.draft-ietf-cose-dilithium-05"/> and is a part of the attestedCredentialData.</t>

<t>After passing all checks in accordance with section 5.1 of CTAP, the authenticator <bcp14>SHOULD</bcp14> create the attestation statement. The authData is created in accordance with WebAuthn and CTAP specifications and the clientDataHash is appended to it. This is signed with the private key of the generated keypair. The attestation statement is generated in accordance with CTAP and WebAuthn.</t>

<t>The ML-DSA private key is to be stored in accordance with the "Storage security and Key management" section of this document.</t>

<t>The attestation statement is encoded in CBOR and returned to the client application via the same transport method.</t>

</section>
<section anchor="authentication-flow"><name>Authentication Flow</name>

<figure><artwork><![CDATA[
      +---------------+                    +--------+                                   +-----------+
      |               |                    |        |                                   |           |
      | Authenticator |                    | Client |                                   | RP Server |
      |               |                    |        |                                   |           |
      +-------+-------+                    +---+----+                                   +-----+-----+
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |      Get Challenge                           |
              |                                +--------------------------------------------->|
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                   Challenge                  |
              |                                |<---------------------------------------------+
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |   Assertion Request            |                                              |
              |<-------------------------------+                                              |
              |   (Challenge)                  |                                              |
+-------------+                                |                                              |
|Sign         |                                |                                              |
|Challenge    |                                |                                              |
|             |                                |                                              |
|             |                                |                                              |
+------------>|                                |                                              |
              |  Assertion Response            |                                              |
              +------------------------------->|                                              |
              |  (Signed Challenge)            |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |     Assertion                                |
              |                                +--------------------------------------------->|
              |                                |                                              |
              |                                |                                              +--------------------+
              |                                |                                              |     Verify         |
              |                                |                                              |                    |
              |                                |                                              |                    |
              |                                |                                              |                    |
              |                                |                                              |                    |
              |                                |                                              |<-------------------+
              |                                |     Authentication response                  |
              |                                |<---------------------------------------------+
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
              |                                |                                              |
]]></artwork></figure>

<t><xref target="WebAuthn"/> defines the credential request API. This API takes a public key credential request object, containing a cryptographic challenge, the Relying Party ID (RP ID) and optionally a list of allowed credentials.</t>

<t>An example of public key credential request object is:</t>

<figure><artwork><![CDATA[
{
  challenge: new Uint8Array([215, 150, 119, 213, 215, 247, 188, 15, 142, 10, 53, 135, 17, 205, 130, 133, 158, 32, 113, 0, 62, 67, 112, 191, 123, 180, 224, 151, 233, 114, 68, 225]),
  rpId: "example.com",
}
]]></artwork></figure>

<t>The web application invokes the <spanx style="verb">Navigator.credentials.get()</spanx> function with the Public Key Credential Request Object. The client web browser, or an application invokes the authenticator API defined in <xref target="CTAP"/>. The public key credential request object is CBOR encoded and sent to the authenticator device over a chosen transport method which includes but is not limited to USB HID, BLE and NFC.</t>

<t>If a list of <spanx style="verb">allowedCredentials</spanx> is present, the authenticator must discover credentials bound to the same RP ID which is present in the list. If no such credential is present, it will return the error code in accordance with <xref target="CTAP"/>. Further authenticator <bcp14>MUST</bcp14> perform all additional checks involving authenticator PIN, User presence, user verification etc in accordance with Section 5.2 of CTAP.</t>

<t>The authenticator, on discovering a suitable credential for authentication <bcp14>SHOULD</bcp14> verify the algorithm. If it is not ML-DSA, the authenticator <bcp14>SHALL</bcp14> behave in accordance with the "Backward Compatibility Considerations" section of this document.</t>

<t>The credential is retrieved in accordance with the "Storage security and Key management" section of this document.</t>

<t>After passing all checks in accordance with section 5.2 of CTAP, the authenticator <bcp14>SHOULD</bcp14> create the assertion statement. The authData is created in accordance with WebAuthn and CTAP specifications and the clientDataHash is appended to it. This is signed with the decrypted ML-DSA private key. The assertion response is generated in accordance with CTAP and WebAuthn.</t>

<t>The assertion response is encoded in CBOR and returned to the client application via the same transport method.</t>

<t>All memory addresses used to handle the ML-DSA private key is immediately zeroized.</t>

<t>The authenticator <spanx style="verb">getNextAssertion()</spanx> function specification is to be similarly implemented in accordance with <xref target="CTAP"/>.</t>

</section>
<section anchor="backward-compatibility-consideration"><name>Backward Compatibility Consideration</name>

<t>The authenticator <bcp14>SHOULD</bcp14> choose the algorithm to be used in accordance with CTAP, and hence not choose ML-DSA if not supported by the RP.</t>

</section>
</section>
<section anchor="client-and-platform-considerations"><name>Client and Platform Considerations</name>

<t>This section describes the considerations about the Client and Platform.</t>

<section anchor="cose-algorithm-support-in-webauthn-clients"><name>COSE Algorithm Support in WebAuthn Clients</name>

<t>The CTAP implementations on client, for example Windows Hello for Microsoft Windows based systems, iCloud Keychain for Apple systems, Google Password Manager, Dashlane, OnePassword and other browser based implementations for Linux <bcp14>SHOULD</bcp14> have support for ML-DSA Algorithms in accordance with COSE. Further, Platform Authenticators for such devices are <bcp14>RECOMMENDED</bcp14> to have support for ML-DSA Key Generation and signing in accordance with this document.</t>

</section>
<section anchor="handling-large-signatures-and-keys"><name>Handling large signatures and keys</name>

<t>It is considered that the chosen transport methods including but not limited to USB HID, BLE and NFC are able to perform exchanges of the CBOR encoded data which may be often over 2000 bytes. The use of attestion certificates may increase the length even more.</t>

</section>
<section anchor="error-handling-and-fallback-mechanisms"><name>Error Handling and Fallback mechanisms</name>

<t>In case of errors involving ML-DSA key generation and signing, the authenticator may fallback to using ES256 or RS256 algoritms. In case of errors involving communication with the client, the authenticator may handle it in accordance with <xref target="CTAP"/>.</t>

</section>
</section>
<section anchor="attestation-considerations"><name>Attestation Considerations</name>

<t>Using Post Quantum Crptography for creating attestation certificates for credentials implies the presence of additional ML-DSA signatures and public keys in the x.509 certificate, depending upon the attestation format, defined in the <xref target="WebAuthn"/> flow. A second ML-DSA-44 Signature size is around 2420 bytes and a public key is around 1312 bytes, and bigger for others. On the other hand, <xref target="CTAP"/> using a 7-bit sequence continuation packet numbers for CTAP-HID constrains it to have a maximum of 129 frames only. CTAP-HID frame can be of size 64 bytes at max. A makeCredential response with a valid attestation certificate would contain atleast <spanx style="verb">1312+2420+1312+2420=7464</spanx> bytes.</t>

<t>The first frame has 7 bytes of header (4 byte channel identifier, 1 byte CMD, 2 bytes BCNT), while continuation frames have 5 bytes of header (4 bytes of channel identifier, 1 byte of sequence number).</t>

<t>Further, the first frame will have one byte of status code. The makeCredential response will contain the authData. This further contains 32 bytes of RP ID Hash, 1 byte of flags, 4 bytes of sign count and variable length attestedCredential data. The attestedCredential data further contains 16 bytes of AAGUID, 2 bytes of credential ID length. The credential ID is to be atleast 16 bytes, followed by the public key.</t>

<t>This covers a total of 8182 bytes, leaving only 74 bytes for CBOR encoding, and the full x.509 certificate, including fields like the version, subjects, certificate chain and so on. Further, when other algorithms like ML-DSA-65 or higher is used, the available bytes in CTAP-HID would not suffice for the attestation certificate.</t>

<section anchor="webauthn-considerations"><name>WebAuthn Considerations</name>

<t>Due to the attestation certificate size limitations, Web Authentication standard is requested to recognize an attestation format 'minimal'.</t>

<t>The syntax of Minimal Attestation is defined by:</t>

<figure><artwork><![CDATA[
$$attStmtType //= (
                      fmt: "minimal",
                      attStmt: minimalStmtFormat,
                  )

minimalStmtFormat = {
                       alg: COSEAlgorithmIdentifier,
                       keyid: bytes,
                       sig: bytes, 
                   }
]]></artwork></figure>

<t><spanx style="verb">sig</spanx> here is a signature over the authenticatorData and clientDataHash. The authenticator produces the sig by concatenating authenticatorData and clientDataHash, and signing the result using an attestation private key selected through an authenticator-specific mechanism.</t>

<t><spanx style="verb">keyid</spanx> is an Identifier that identifies the key used to sign. It is a 16-byte unique identifier.</t>

<section anchor="verification-and-fido-mds-database-considerations"><name>Verification and FIDO MDS Database Considerations</name>

<t>The FIDO MDS database is requested to maintain the set of Public Key/ Verifying key certificates, identifiable by the AAGUID and the KeyId together. The RP may verify the attestation signature with the public key identified by the AAGUID and KeyID from the FIDO MDS database. Enterprise based implementations or implementations requiring self-attestation without FIDO MDS database <bcp14>MAY</bcp14> maintain their on keystores instead of the FIDO MDS database.</t>

</section>
</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The security considerations of <xref target="RFC9053"/> applies to this specification as well.</t>

<t>A detailed security analysis of ML-DSA is beyond the scope of this specification, see <xref target="FIPS-204"/> for additional details.</t>

<section anchor="resistance-to-quantum-attacks"><name>Resistance to Quantum Attacks</name>

<t>See <xref target="FIPS-204"/> for details on resistance to quantum attacks.</t>

</section>
<section anchor="storage-security-and-key-management"><name>Storage security and Key management</name>

<t>It is to be noted that at the time of writing this draft, there is no suitable hardware security module (HSM), trusted platform module (TPM), Secure Element (SE), Trusted Execution Environment (TEE) with native support for ML-DSA. Hence, secure credential storage is a challenge. To overcome the same, the ML-DSA keys, also referred to as credentials, <bcp14>MUST</bcp14> be encrypted with Advanced Ecnryption Standard (AES), which is a Post Quantum Symmetric encryption algorithm in Galosis Counter Mode (GCM) with 256-bit keys.</t>

<t>The AES Keys <bcp14>MUST</bcp14> be generated and stored in secure storage, which may include a HSM, TPM, SE or TEE. The ML-DSA Keys may be generated on the standard computing environment, outside the secure storage. The ML-DSA Credential <bcp14>MUST</bcp14> be encrypted by AES as described above before being written to the Flash memory or Disk. Conversely, the same <bcp14>MUST</bcp14> be decrypted by AES in the secure storage before being used.</t>

<t>Any memory location, pointer or heap that has been used to handle the ML-DSA Credentials <bcp14>MUST</bcp14> be zeroized immediately after the operation is performed.</t>

<t>This section is to be updated when suitable secure storage modules supporting ML-DSA becomes widely available.</t>

</section>
<section anchor="implementation-best-practices"><name>Implementation Best Practices</name>

<t>If the amount of space in the secure storage permits, each ML-DSA Private key is <bcp14>RECOMMENDED</bcp14> to be encrypted with unique AES keys.
*       Prior to storage, each ML-DSA private key is to be encrypted independently using a distinct AES encryption key.
*       To guarantee robust encryption, the AES key size must be at least AES-256.
*       To avoid unwanted access, encrypted keys ought to be kept in Hardware Security Modules (HSMs), Secure Elements (SEs), or Trusted Platform Modules (TPMs).
*       NIST SP 800-57 recommendations should be followed by key management to provide secure AES key lifecycle management (creation, storage, rotation, and disposal).
*       Only in a trusted execution environment (TEE) or secure enclave should the private key be decrypted in order to avoid memory leakage.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="additions-to-existing-registries"><name>Additions to Existing Registries</name>

<t>This document requests the registration of the ML-DSA entries to the COSE Algorithm Registry as mentioned in <xref target="I-D.draft-ietf-cose-dilithium-05"/>.</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="IANA.cose" target="https://www.iana.org/assignments/cose">
  <front>
    <title>CBOR Object Signing and Encryption (COSE)</title>
    <author>
      <organization>IANA</organization>
    </author>
  </front>
</reference>
<reference anchor="RFC9053">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
      <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9053"/>
  <seriesInfo name="DOI" value="10.17487/RFC9053"/>
</reference>
<reference anchor="RFC9679">
  <front>
    <title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>
    <author fullname="K. Isobe" initials="K." surname="Isobe"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <author fullname="O. Steele" initials="O." surname="Steele"/>
    <date month="December" year="2024"/>
    <abstract>
      <t>This specification defines a method for computing a hash value over a CBOR Object Signing and Encryption (COSE) Key. It specifies which fields within the COSE Key structure are included in the cryptographic hash computation, the process for creating a canonical representation of these fields, and how to hash the resulting byte sequence. The resulting hash value, referred to as a "thumbprint", can be used to identify or select the corresponding key.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9679"/>
  <seriesInfo name="DOI" value="10.17487/RFC9679"/>
</reference>

<reference anchor="I-D.draft-ietf-cose-dilithium-05">
   <front>
      <title>ML-DSA for JOSE and COSE</title>
      <author fullname="Michael Prorock" initials="M." surname="Prorock">
         <organization>mesur.io</organization>
      </author>
      <author fullname="Orie Steele" initials="O." surname="Steele">
         <organization>Transmute</organization>
      </author>
      <author fullname="Rafael Misoczki" initials="R." surname="Misoczki">
         <organization>Google</organization>
      </author>
      <author fullname="Michael Osborne" initials="M." surname="Osborne">
         <organization>IBM</organization>
      </author>
      <author fullname="Christine Cloostermans" initials="C." surname="Cloostermans">
         <organization>NXP</organization>
      </author>
      <date day="18" month="December" year="2024"/>
      <abstract>
	 <t>   This document describes JSON Object Signing and Encryption (JOSE) and
   CBOR Object Signing and Encryption (COSE) serializations for Module-
   Lattice-Based Digital Signature Standard (ML-DSA), a Post-Quantum
   Cryptography (PQC) digital signature scheme defined in FIPS 204.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-cose-dilithium-05"/>
   
</reference>
<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">




<reference anchor="I-D.draft-ietf-cose-key-thumbprint">
   <front>
      <title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>
      <author fullname="Kohei Isobe" initials="K." surname="Isobe">
         <organization>SECOM CO., LTD.</organization>
      </author>
      <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
      </author>
      <author fullname="Orie Steele" initials="O." surname="Steele">
         <organization>Transmute</organization>
      </author>
      <date day="6" month="September" year="2024"/>
      <abstract>
	 <t>   This specification defines a method for computing a hash value over a
   CBOR Object Signing and Encryption (COSE) Key. It specifies which
   fields within the COSE Key structure are included in the
   cryptographic hash computation, the process for creating a canonical
   representation of these fields, and how to hash the resulting byte
   sequence.  The resulting hash value, referred to as a &quot;thumbprint,&quot;
   can be used to identify or select the corresponding key.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-cose-key-thumbprint-06"/>
   
</reference>

<reference anchor="I-D.draft-ietf-lamps-dilithium-certificates">
   <front>
      <title>Internet X.509 Public Key Infrastructure - Algorithm Identifiers for the Module-Lattice-Based Digital Signature Algorithm (ML-DSA)</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="30" month="September" year="2025"/>
      <abstract>
	 <t>   Digital signatures are used within X.509 certificates, Certificate
   Revocation Lists (CRLs), and to sign messages.  This document
   specifies the conventions for using FIPS 204, the Module-Lattice-
   Based Digital Signature Algorithm (ML-DSA) in Internet X.509
   certificates and certificate revocation lists.  The conventions for
   the associated signatures, subject public keys, and private key are
   also described.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-dilithium-certificates-13"/>
   
</reference>

<reference anchor="FIPS-186-5" target="https://doi.org/10.6028/NIST.FIPS.186-5">
  <front>
    <title>Digital Signature Standard (DSS)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="FIPS-204" target="https://doi.org/10.6028/NIST.FIPS.204">
  <front>
    <title>Module-Lattice-Based Digital Signature Standard</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="WebAuthn" target="https://www.w3.org/TR/webauthn-2">
  <front>
    <title>Web Authentication: An API for accessing Public Key Credentials</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="CTAP" target="https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html">
  <front>
    <title>Client To Authenticator Protocol (CTAP)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="SP-500-57" target="https://doi.org/10.6028/NBS.SP.500-57">
  <front>
    <title>Audit and Evaluation of Computer Security II: System Vulnerabilities and Controls</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>

</references>


<?line 478?>

<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>We express our sincere gratitude to Dr. S. V. Kota Reddy, Vice Chancellor, VIT-AP University, for his unwavering support and encouragement throughout this research. We also extend our heartfelt thanks to Dr. Jagadish Chandra Mudiganti, Registrar, VIT-AP University, for facilitating a conducive research environment. Our appreciation goes to Dr. Hari Seetha, Director, Centre of Excellence, Artificial Intelligence and Robotics (AIR), VIT-AP University, for her invaluable guidance and insightful discussions that significantly contributed to this work.</t>

<t>We also acknowledge Indominus Labs Private Limited and Digital Fortress Private Limited for their generous support, which played a crucial role in the successful execution of this research.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+09e3PbuPH/eybfAT9fZ2I3kqK3bE/vWlmSE/ViW7Wcu+l0
OhNIhCTUFMkjSDtqnH6WfpZ+st/uAuBDovxIk2ua2jNxLArALhb7BBfYcrn8
bCeSkSuO2O7pm3J/3GUzP2Q/iwnrxtFCeJGc8kj63u6zHT6ZhOIaGi7dsqN4
+UZMOLTBr6CNmPvh6oipyHm282zH8aceX8KoTshnUflaRjwor/UrV5vPdlQ8
WUqlAEK0CqD9cHB58mzHi5cTER7BODAw/Df1PSU8FasjFoWxeLYDaDSe7XzH
eCg4YDQW0ziU0WoXn9344dU89OMAvhh6jggE/PIimpAfQpMrsYI2DozLymz0
px793zsfD+gPmDu29OiDpolucHx+oXtwpbC/K5TSDxZSLaQ3L4dCSRVxL0IS
cAJHQOAf/Mxi19VE6TqAK2enMgq5/s4P59yTfydSH7Gfhpfl7oi99eS1CBW0
1Y3Ekkv3iHHqvcTOrVq1/oc5Pq5M/WURqLGcSDausN6CX13xkF/zMFqsHg90
mutfUTDsH2hVK3xakV7hLD0gC2evFr5aPB7gHLtxGqJevW+WfXEt2SiUQNSf
xo+HFWDPSr0WLJxOtVnPTwy40Q+XMM41ciJjw+5ZF/BQyKz2T3x+cdI7rLYa
R5aT6EG7c3hkOYcNy/2KlgcpolkZO5Yd6cpoIeNludo6MuxW1iM825HeLA+6
YABg5nK0AHmBSXiRhl7+cdgvaO/yZaAyEKcijOQMBVyAYCXABxeXY4TO2Mlw
NC7XDtrl1pGml1UVfTkHErnAXXOPR3Eo2BjY3uGhw/b64/H+rmnOw7kAnBZR
FKijly8dX1ZgXV7WqpV2tX7w8mw4vqwgkAoByQCtV5trIE99J3ZF+Q2PQCWJ
8jFXwmHb8Xg0BnXURtjJyv8a/E2ViBzOuqMhaUw+nYI6ACXARvHElVP2o1ix
XihQ80juqi343NzcVG4ahNLlxctEM9Y1Kr3L7mgNjZ4rUZdd+llkAP4o9CN/
6rtsDzttW4CZdHzuupJ7U0FAVSCmih6Xr+uValk6QPraQbVe7+inU4JXjvwy
z8IrBwbeRrfKIlq6Gv3xqNyqVsutztocujFoMAbrxAbX3I2JmMyfsZ6/DOJI
hMyqczYcggZbqUgs2U+x64mQT5B7pVDUvQdWI/S3EndjsY/HlfGoonFCFMto
/ug/xicK9OkUNPclaHMG9iteIqEdoaahnABAuQxcgc8SfLOGgPEcbzDpFRhR
tmeZa5/FxCyP5Gq2p4V0v8Q4G/kqKv8pBnMTL4HVVkHkz0MeLFZsD4zaPnPM
MCoZRk0XMAOY00x6AAdwRNZnwPoVS4eldGA++Ok7NkTqOvEUUccn2yiz8G9Y
5MOMhNEhDJSSXqEUNldJD4L84YMV9I8f2Q1oJHhiqfPxI+GDOFyKcCk93/Xn
K42CwMHRxjsKlMLb8eVuSf/Pzs7p74vBn94OLwZ9/Hv8uvvmTfLHjmkxfn3+
9k0//Svt2Ts/PR2c9XVneMpyj3Z2T7t/hm9wYrvno8vh+Vn3zS5OJspRBpwS
pMdEwFfAzkEoIpgzVzs5Ahz3Rv/6Z60J0/4/sBT1Wu0QCKE/HNQ6RBVgHQ3N
99yV+Qj8tNrhQSB4iKOANLMpD3ChVQmJrGA1PLYQoajs7Pz2L0iZvx6x302m
Qa35g3mAE849tDTLPSSabT7Z6KyJWPCoAExCzdzzNUrn8e3+OffZ0j3z8He/
d4GfGViq3/9AbDP2gcvFe44Sq5L1QV2nzR2KIi1SGHto/RzNgLuVSmWXtDl4
lY5WNauK5sNjPiWnkhZju+glYqIEiU1GSjibC9BgYBomMJYZarZ9qFKRAkFm
sO4muzDuJujyZzvbtQGyppF4zZUcsIsQ9jRtBmhxF1x4oMNSAb24ZmPPj9i1
0bwu9Jxz6Sn4ii05GDnpxzCvKdofIHLgKyXIlcexOXNRHYPO4dAxQcyo+Epe
/hc57fBApdi1+IJkyOkC57mGLkwXxgBqIxNc++41Us0gVtaI/WIQm1rEaLm/
AxzA69I0R4Ywek1rdRMePNv5GbkG1gfYxxEs5B7Mlzt+YA1EsBEYsOAOm6Gs
lnfllUiNIHgSINpobBK1iv7uVODkhIoslq7r3+AEEaGTYf+8zsZZjlekOzR+
QM/82lvQSjszebwW/FoA3wgPHeUlDyUoo8G43mqzvQE4EzDdKevFITS6c5GQ
WKBBytBxn2Zxoce4AMKufamyNspwCrmIYBnY5cKP5wu29JERs04JSF0cBH4I
vA1PwyxDw4g3wnVLyWrBFGJkK4DDYzfKtC2buaUYoiA4Aiynk6h1hYuTkQcH
wwqgDMi5AK3jr3Ah7uIzRYz2WoDwZtbF8E0+Eid2A4sXuw4C9wR6mjxcITIG
D2vqJbmbiX8ETimomQgWNfSXQBwQkgymRrMZYGDsBXBDxnlJ2HyLQkOsN52i
FGFcUj14IlQaFLrGFwLMoko6AkQb9Hz4UM6EQaAcUogYSLHzyd8AFWIxEmd0
Iz3iZvKwsNM+CE8IXrcJ/zISXGHDCBWFXkdQF7imqOxwMtgVVH8OMZgRGd/n
xq0HEXwOsSV7/hNAmNEy0yMYk/gpQ7oKyywvjX2xMTYIFGgZYRymEMVs5XsO
dVFTPxDYKOddEC0NITMOovbsoF0AQfoSHI5Q/l3zq5UJR85m4BWADlJWs7ji
WrgKaLLmwRiOpP0eqZVHypblZrNk/2y3iP7m00GHpkB0AMChAHj4h8H2xmrL
BEU2XfigxxSbQ4RLTHBJeruG0Kx5qGy6nqH4JQbFp1kwFHOJvrslKT4zEDMK
gPRIOQnYga1AJeBg0MuqmTW+gwZHCPuWnQG6TP/cMgxZ7KctP7cbT/rEw4H2
pG8p7rhN6Yk9Lo/7bM9MjLxFdJ1ptuXmwb4ZtkgAUg2bsjmMmQEAq3QPgMNH
A2i3MgBg4e8G0Ko+GsABRGgfjth3tMmR1eQu9Pp+1xWzaFdHlN/vknBl2qTD
7H7EFQT+RlUYOugrpXyYwkWNNOLSYZcrEDmr6oCZ1pmiRF44M2KMbNP9cWQs
NA65G8ST3QyDo2ODz1PrjFuZwK0QGagjG9Gs95Iqy8VBonlKG1HU2KDaqjQK
ZAamAloAvyAIOpYg0VbKn0ryfNMIDakmONgILUQQzWXlJ2eStZjWsyD14KA9
BQ2LAQiNCPMF2ZaoCY00pWS/xT070n+4ALfZrZPbrHKDSWyRGjDP1UToao1a
PflQb9arGzLQrDbSFrXDVvqh0agebnB08+CwnQ7YOkybN9t1w58zGSicfzlC
mpTrhQyKM1BsDyg3WYHLto+E24yRM0pW8+3l+ipk1WtAsbnIdl/njpTS9Q3u
GGe6waiwPr5DUqtRjEJgVmV2KYhlUiwyjGD5r1PZhAAGP13DVxj7pDEMWU/j
X+aw0UGScQpQ5XuCwtw18U35Pg83AzEL4mFDbYrQcMbUEkNsWizg5lRaMNoQ
AkhmjSFbyvkiohAEXAtyjhwBPpl26yrsJA7RK136IbgEgEesOIVHwgNvzAe/
8X2AmAC51Y2coRqAFTabiqUMX26AAc8oSqBcouDNCIbZYUrEJWOpQRpo7omz
BrMBz1ACaxmvML+7eCwgBpB+eIc3iJtA3Ms75CUW+nyJWMAYgcsj3M42nmzi
OWZ9RFRZuREYbVdQAMKts6vgOZIOtQv+TVo1H82IaSjAPdBxYboZQcGvCQyB
3OgVkaNlmiNzwLp4+s0N+U9L7nlpUJju5+KfCfP+4x//0BuQ9POinP95UeQh
vLjz222NsX0G0rqbsel2ZB8WfnvHCLc5SHl+2ALJbE4/DNLFCL10iEbWIG3H
aPPhvzMnS9UX963Ti8et04uNdXowtg+ZTrb5E4xfBcYrEeH7U9cVuMHzmWGs
q4u7f3742mn1TcK4Y/E/DcbvHrXoT7rkCcYTjK8SRoFHyC70FshngnGfqniI
Y5KHsWFxcIi9RMftF3R6NIxbG/Cl+2b3dfoEGD+KVcBl+OAhPgXGY4f434Wx
zlc//JfKeaF8fGYYensLs+qMY/FfuuZPMB4O41uRj6IhukphMiFZPxVgtu5n
hnFfmHQ/MR80jz0US+GwYmuoYaRz/TQYd//8j8aDhdP+VQIfpneKV7mHvw7g
godPgL8pwEXe+7cSzv8nRZaN8ZVA+mb0W+ejJ8DfPuDPrCvWMkfDAr/MNH/a
wnyC8QTjLhj0hhdTE9MTCiYLQmfqTNNtwKndBuyOhvg6Xio6IxTxK8oBz5is
ok4+ZUaVMGsm4lInOK693E72DHTG0YVwKQtxxEM8MNNnexcj+G+/xN5CmAJY
wjh0NMBztgBP8o4UpQ/c28rMXGeFTKeC0onT9BB6Wd71bP49ZTk+ZNJM6oQo
ovUHXNdkpkfMEzfsrfSig24Y8tXeX+q1VonVWlX4VTsssXqtgb/gWb3ZgWcH
B/gt/GvW4Re0asH3tQY+ga/rVfyjgZ0b+LwFrRvYEEeBp234u43D1PDhYQ1+
1bHdAXxXrzexBzyrU98afGwf4PPWX/dLiHUYHLEPTDpHbNeQAE8t7paYPqq4
OzB06flh4OtMl132kbrGsGLQWfM0jrA+7Q7OtQVYHQDsTh3nDPAB1QP8om0w
YBbU3/yF5/hi1zx1pApcvjrTX/4RvmR9+61GABbqR7HCTe0RLrc6Yn/5wPTB
3F29iHjeEBPJ3PkRK3egG7urQfOQffwrjPwxESFksBsxYTwI3PSs1LV/ZSTp
3Rm/lnNMMqikrKIqxCtib/8dm8WeTj1J0vgKD9yl2/E62VCztj7NRghMQv8G
yF3C1BTMW9mCTz4bBSU5l5mOh+10Tvo2udnkcp0DmSRcYQYYIhX5BQAdnejv
Y5oEx3RZaMqikHuKsldAIBe+Y88/eFM3dgDvSRzZwxCuXMpI54u9HR+z18N+
iR2/GRDUs5NegawScgOD3D2kLRDcxfNuqwoSVa/W2o3Ocb3daDQOa61Os9M/
7vfavXaj2oOvWs1qq9tuHjYOu4ODk/agedJrHDZrzZODVuOkU62f1NrVerfe
rrcP203412uftBvtGvx/0D7pNDpNeDqAz/12q33cbMLvfvukXu002q1OvdPG
39VGt6H7t6rNQa/Wb9Zrhyf1w+bJcbNbPe5Ve/36Yb950Oqe9DKjtdu11kmn
pUdqHyN0gFcFyLXOYdO26jRr9QHoEdOu2jyoAbYaw07joH7SbsKUD6Ffq93t
VDstwKQHuDTqfRiz1Tmsdrq1dh3gtE9az3PSUZD/dK03KG4WQp9r8HIclsti
RhZypaLjPaB/iCOyx1BtmwczK3fxMNQqSXn1vU021dYFRqYjBlOu8NQViJl0
XfA7ozjUfUQYUkKoU5iHlwqTyZQrokQgQsohw5w87jgSkUW8F2LtkE/+cOzw
zJhDPYspZcfBx+tsjqCIpnfnB1JaOiK5JVfNpC7C5NNjkPR+6v5R7TlMImTs
yV9inRM77G/oFlQgmO9sFUiaWryZwY6rQl4HDyObG68PDQkn5Yo+j7jWBDrt
kOuDzHS00BJ2YwJqkyylAgVmku+0/s7AT048RZQEqGeJXREZRFr3cIpAJ1mL
dAYYAOeP9qkkzVmrexzxNVd0QAwPTnqOVogyMv4Z5jPqbd/0iEJ6LsPSza6u
Y5fV4Fw0HRwybV8wBcIa0UwOi1iWsknfGQSS8yqY7Vg8HuWej01iZHK+AwEg
Fy25B88Rsd1scvvmuZI7J2QZDs/qoJHQ+d4o3ZqeKcVz1vRacp1liYco1k2X
zaxcC1ZPgKPXMit/pbTK9digeDvgzm/vGOE2BfOrJFT+SrP5lVMpv3gQ+QTg
swH45NzJL/6i7Ksh0TcG4DHJkl98m/HrJNETgCcA3yCAbBKITYH8fAA+fyLk
5gw+cxbki8ch+HgAt5RF9uD+nwAgp82/BIDH9f8KAeQW+cvndN1+6WSrL55p
dfuwNKt/C8A9PZ4APAF4AmATBT45n/EpRlv/eVhO1JfJWVlLY/zyxCx8+AT1
vx7qgxKRHqpcPjkL6Wlv4AnAE4AnAE8AngA8AdgC4BGJieZmtkflJdo+ny8t
UV9nHOi8DXeFt7GabBWOaQx0MWma9vXQVMI8nt9OJuFwI4vwM+TSzUX0mEQ6
u5f7H86j21jiry2NbjjLMPM7w82Z1Kt3dDunzqIqypRZxgov6VRTwjKzYGxC
d0WbiVEaBclSeu1x5jpCm/9VYYCP55uMrJSMWRy+wRSt+t0pWiVMX7M01lpM
xZJu7ssSqeAOZJPHZDLxchfiEallwis6gac4FwqvT58Ius5sWxIPXjR+g5dA
41XZAFvfQo6lDpR0zM146gFpPPk1hyUOpbj+oslDn5Y9Vn9k9liyWfXV5o45
giyjcApyuQyuySSSePjTE8aKB/tiyVpdFzNOl364QukGkJjsae+kXAAYV+Qu
L83nscnlUjh48SiY/r+L0MdL9rZkU74DO3Um3kfJ9mTOaOUv808z5EBRuzyE
0ZP7BYvpmagyk4D2ELErxtPy6MIHq5LXDAYpezF00Zrq1NkFKjzSHmYYe9/8
jB6aK5xhlInWPRcjc02jSRCjsgD2fsW8qrjnAu9prjHjYGvMZdibIyfXIGL6
aXq36NhcMJ25+tr0VpZixL35u8IVqmLNgSV99axx8n6WngMuBXstwITqq3zl
NPSVP4uS7yZUEkBRZRgFhqzn+jFpK3D0pL7vuxvgYEmTV74/h8+2ZAs7Ja0G
BqEP0u1yD8zNuSeSr8lLJQtn/BsDcn0OCOmN9OL3lg1It9srtzOVA7q5q6g3
OAEomhjVUrqUuSRBDY0MuvZn9M2tmcIZWgSLEUBVvnYJqzL3LxeahHXtDuv+
GqU7udg+d/GsR1mxtN76gnXLV9n71bf4Xcq4XDgy+lwPcLho4vYmT+twiPew
+uDjK5uxm3MQHbQN2mNa8hWKJTAUYEPeVr1arep7b7WCxlI2GJJQKiySK1sq
i/oDymBkjMBjaAFEE3iJOd7vagk2IG8qIRsifwJ2Eet/wNynVN5sqcwN1Zg2
j0DJBcs6SmkyefZy3MwCFnqTgOPMwqLiPDiUrmwAX5vCBpopl/oK+K0IQOCx
jD2raxM7Z4W3GLgxBTK6X/uybibleFN7vdVltbDcQ1rfJC1vQpdM07kFJHFm
pNyamVaJT42CLI0OtB4nLXnqsRq6r7F5Gp0o62+/r7Sqh1lwJaarDiJGcWBP
TOSKdWBZt1I2BsImuTB+BgFEhXVRb/vpzb3NZuaKY7rdGz0TXU0Gr7zWXKyr
P6ydGjCt6JZsaqVtz0TOQRESgUjjATOca3S0AsSFLCUrZhiJs055IrGUAERl
SDrcGQA9qKcXANMJEGSq4qhpj73LIMbp/ed0RMQqLCwo814uYWlhDWr1QzbD
04aKai9U0s70FBjV0/KrCdBu2klHOArSbMmvMqdeUseImI/jFf7S2cYr5n5i
s9UBrVyQ84i9Q7q9QBK/SP76Hs8hvbOKwxq7mQyhvUYV73/vGPQA34XgwNps
T2OM2xKeJ2zZjplE3V/TX/VOQeOZdWLHvbPLfbx6XrprlDZkIhq2tsGhR3fA
QkLaddRrtk+CmdijaG1WFDUSTLxTOxkDaBkrCh61Ft2+ChgbGPpGGd/d+NQz
E1yaJoo16uk8dOiLPnkW/5nL58DPmfkqul8Ly58Ql1/zUJLBMLp68xQMWYjs
mY6NLzcRq7VTgN3uq7fDzKJRfaWkP+CsIZsNlNw3iftqmc2OWzKne1LPLxXp
tC4GRbO4iRf5WAQGAB/UDhIZhxFJi1MZk46lEMlkYh/JiNjIB8tqFum01EoD
97hgtqlMEfagmpq+VwK/g3ZnAGpWoLRTRgbLZ5mr0E0xhY1iPTRuelM5YLqQ
84Wui4C+tDE51xxcfVxSPSOMdKye0CKsXefZDLd+cL7rWjiDo7XYqQO7YYb6
sUg2l7ZoDlJH5LrYiksFJbySKk8UlttqGVQvZeqDPYchcB9tw1qw50vpySV3
n6eqRq2AEd9T2QD9Xc6UZmo2TFbpjuhvfgODj6NlRMUuXr78nu0VnKKnn9ky
wnq/emx7jHjzx4x3xExL/HCiTVxRl31EZaMp+96efC6CgMeJ0UtO/Ohhqse2
9gIpwVPUWhC2tgJNYduwwkbpjus7aPtO17agc3VpOQByIzc8IdqQQMbP7yak
Oxapz2TKOWiPBMZFgQc9g3zlGd/mASOXco59ROVxFNa3MmY7z1jZ4FwJFySX
3PWQ6mutX+ZftiF36rpqRnxHZKbtTeiTrot2/BN7o2eGoOxuAaJpCzJx0Hll
0ubm9GNqp4xsfpev6EDO9LB/zk77Y4bTxwCtMPYVaTvHtluXvSUWZLHmyFTH
S7fDX7JctaecZ1lKMDW6SJeWIWOQqFQYY4hw5nSAVy8/GDL0k7M7itmTdwln
pWcSM96cJY5TABCB9XXJr6ho8hU20GUpJRCiOKzFgn5rj5BckvZMgVNm5Syu
iCFuG2yS+bT75xxpZYhRP/rOeJIRdTYsAHdswLaJqo4PklJ4xcubbFmubWbo
+j32LGxgHH6/sBqkrg+nd7jMpRm4w5BuhnJ3pWSmQguy0NZiXbnBwSwKka93
SBvMaaRhLumwRiit64jY2pinqysZUrWUovHMIExvBGYGsKXnTCnEpDbL/Ru+
aTi/US/NhPSRXNKsb2AErXHQ6GDJaTLSpk6Kn+6yL8Dy3WD0noBdUrVHtvd6
fAo+bhTGJJNJtRD79eUIvx7rEiADUzpkbzyAh5emz+A9fEvLOfCuZejr4lN7
l4PBvpYij0ppF+yOJKXaTImRjHtmq42QjkreI1awAjPq/CmWGrU7pqXszucV
FYWCWNNUQgu1puEqG4eW9DuTCRXgMbvGhGrXucb1g0lNPVvbLq0C3B2MdTyg
3//wfHQ8Xi2XuN8/tYMShyf7dSCKr7jrIzf30D8GTX2KL3z2XvVODaHqrTaF
dziHZHsWgFKlqwTldMOajE5yODlfp6WU2XUx79YAYVhtWLgR/BoPUN3AImm1
mG5XKbtRk8IxoXTiQulqish4Il3xEgNlhHrAFnfJIJODkXHvN1cB9CpOOFdS
iU98qoSJ9XXgP4SLjI/bSMYzPHHxZYHZH4dp9aW6qqDaQhdZuKtSurtuQaav
CwzIxArlqt3koMa2UE/XW1lorm/VTeBT3WFynAUPtMBiJEo1PLfv1WdeVibY
2U363M49pzc9tEUQZIo1mY24ZEc/s+mcqJA4cHTBXfT8E62wNlct80k5z8wm
2ESgwClbwjOJAaxSG+brUR7jG+MR1vXG7VLzlpZM7ZIiQ4wTAz4VW2geYPFp
jGaoLJpBYZR/o7G2/bopycafwZU14vRb41fCSD4VSEwkJQun8AaAdGzp6T0m
mCvVMtW7Mg7ofRCyiMBlpF/HixYw6K55zEPQFmBIQn+Cb57TxppHDb46pqF3
0xSfMh2gwrdYqjU/Jr/2Jd5eccPprQveDaWQeAnOuopWjPWr9HSuRED7g6+t
VUgs/alhATQLakPxK9T8+Bg1h9H+yaZ50hXUi9rPoHg2BJ4ej9gBFYCneAuY
GjSJdhfUwpZYzQbdVzmLaAqvXaN2McxiCeXKmZiupq7INt+zN6qU0kUO/cg8
QrWJlzL5irtZRM8xVMeQOTGHIjFtYsO04UsBjQpQ2qXtfz2TaO0ii5yygeH9
0NEFOvXCWT0i+BVqSlMDvnvWLXC78MoG478Qaw7eE+NhTWqqxilF+uLp0WU7
oW2YuGpi/XWTgbC6t4BnUtMe98DNRvP0yvNvwLObL/XrqQ9HesNLON/vzkDv
CV1472csH47bwsiuWPUNTDHWpkN0IzRggFof/Phxhf1UYT/CggJajgPq/Sfc
bOgt0HYDD4XwYHhZ7o7YW0/SLkm00m+7kDAoKSYPwbokyBG4IxOHCcPpcEy/
lqOwRQkeTiGG/Flo70K8BwPkEKKg7sNoJlxsy70rZfH8I59zYLQFYQbuGTuN
HTkHMZUlS0++HdcZn+LbUBOFopcNkSo6UhaXLFNW2DkgAt42iJeuHcvmvkgw
AUmXIMwQB/ESWEdoRGkZPVxz8iQH75Fy2hvr6jCLdslApbiunNMmJZVm9ic+
aHUQ8+7wYn87nXHbyMOarWRo5rHUryH0hUUKa+nNYpdyQmKqXW6Kn1MIjR48
qVfc8AMXII7sy3NYiBs/vKoYZqF14AlzCUDX8ZfSixV7wycqsRlvzGstquFt
ajafwLoTp603MltW0lwshLXWDZtYlwpvc8PRwKOMiUqh76a2LCb9i7NLtYc/
+9c/Eft//TPho2c7/w/IT4PEBooAAA==

-->

</rfc>

