<?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.19 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-irtf-cfrg-det-sigs-with-noise-04" category="info" consensus="true" submissionType="IRTF" updates="6979, 8032" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.24.0 -->
  <front>
    <title>Hedged ECDSA and EdDSA Signatures</title>
    <seriesInfo name="Internet-Draft" value="draft-irtf-cfrg-det-sigs-with-noise-04"/>
    <author initials="J." surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson</organization>
      <address>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <author initials="E." surname="Thormarker" fullname="Erik Thormarker">
      <organization>Ericsson</organization>
      <address>
        <email>erik.thormarker@ericsson.com</email>
      </address>
    </author>
    <author initials="S." surname="Ruohomaa" fullname="Sini Ruohomaa">
      <organization>Ericsson</organization>
      <address>
        <email>sini.ruohomaa@ericsson.com</email>
      </address>
    </author>
    <date year="2024" month="November" day="06"/>
    <area>IRTF</area>
    <workgroup>Crypto Forum</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 425?>

<t>Deterministic elliptic-curve signatures such as deterministic ECDSA and EdDSA have gained popularity over randomized ECDSA as their security does not depend on a source of high-quality randomness. Recent research, however, has found that implementations of these signature algorithms may be vulnerable to certain side-channel and fault injection attacks due to their deterministic nature. One countermeasure to such attacks is hedged signatures where the calculation of the per-message secret number includes both fresh randomness and the message. This document updates RFC 6979 and RFC 8032 to recommend hedged constructions in deployments where side-channel attacks and fault injection attacks are a concern. The updates are invisible to the validator of the signature and compatible with existing ECDSA and EdDSA validators.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://cfrg.github.io/draft-irtf-cfrg-det-sigs-with-noise/draft-irtf-cfrg-det-sigs-with-noise.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-irtf-cfrg-det-sigs-with-noise/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Crypto Forum Research Group mailing list (<eref target="mailto:cfrg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/search/?email_list=cfrg"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cfrg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cfrg/draft-irtf-cfrg-det-sigs-with-noise"/>.</t>
    </note>
  </front>
  <middle>
    <?line 429?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In Elliptic-Curve Cryptography (ECC) signature algorithms, the per-message secret number has traditionally been generated from a random number generator (RNG). The security of such algorithms depends on the cryptographic quality of the random number generation and biases in the randomness may have catastrophic effects such as compromising private keys (see e.g., <xref target="Bernstein19"/>). Repeated per-message secret numbers have caused several severe security accidents in practice. As stated in <xref target="RFC6979"/>, the need for a cryptographically secure source of randomness is also a hindrance to deployment of randomized ECDSA <xref target="FIPS-186-5"/> in architectures where secure random number generation is challenging, in particular, embedded IoT systems and smartcards. <xref target="ABFJLM17"/> does however state that smartcards typically have a high-quality RNG on board, which makes it significantly easier and faster to use the RNG instead of doing a hash computation.</t>
      <t>In deterministic ECC signatures schemes such as Deterministic Elliptic Curve Digital Signature Algorithm (ECDSA) <xref target="RFC6979"/><xref target="FIPS-186-5"/> and Edwards-curve Digital Signature Algorithm (EdDSA) <xref target="RFC8032"/>, the per-message secret number is instead generated in a fully deterministic way as a function of the message and the private key. Except for key generation, the security of such deterministic signatures does not rely on a source of high-quality randomness. This makes verification of implementations easier. As they are presumed to be safer, deterministic signatures have gained popularity and are referenced and recommended by a large number of recent RFCs <xref target="RFC8037"/> <xref target="RFC8080"/> <xref target="RFC8225"/> <xref target="RFC8387"/> <xref target="RFC8410"/> <xref target="RFC8411"/> <xref target="RFC8419"/> <xref target="RFC8420"/> <xref target="RFC8422"/> <xref target="RFC8446"/> <xref target="RFC8463"/> <xref target="RFC8550"/> <xref target="RFC8591"/> <xref target="RFC8608"/> <xref target="RFC8624"/> <xref target="RFC9053"/>.</t>
      <t>Side-channel attacks are potential attack vectors for implementations of cryptographic algorithms. Side-Channel attacks can in general be classified along three orthogonal axes: passive vs. active, physical vs. logical, and local vs. remote <xref target="SideChannel"/>. It has been demonstrated how side-channel attacks such as power analysis <xref target="BCPST14"/> and timing attacks <xref target="Minerva19"/> <xref target="TPM-Fail19"/> allow for practical recovery of the private key in some existing implementations of randomized ECDSA. <xref target="BSI"/> summarizes minimum requirements for evaluating side-channel attacks of elliptic curve implementations and writes that deterministic ECDSA and EdDSA requires extra care. The deterministic ECDSA specification <xref target="RFC6979"/> notes that the deterministic generation of per-message secret numbers may be useful to an attacker in some forms of side-channel attacks and as stated in <xref target="Minerva19"/>, deterministic signatures like <xref target="RFC6979"/> and <xref target="RFC8032"/> might help an attacker to reduce the noise in the side-channel when the same message it signed multiple times. Recent research <xref target="SH16"/> <xref target="BP16"/> <xref target="RP17"/> <xref target="ABFJLM17"/> <xref target="SBBDS17"/> <xref target="PSSLR17"/> <xref target="SB18"/> <xref target="WPB19"/> <xref target="AOTZ19"/> <xref target="FG19"/> have theoretically and experimentally analyzed the resistance of deterministic ECC signature algorithms against side-channel and fault injection attacks. The conclusions are that deterministic signature algorithms have theoretical weaknesses against certain instances of these types of attacks and that the attacks are practically feasibly in some environments. These types of attacks may be of particular concern for hardware implementations such as embedded IoT devices and smartcards where the adversary can be assumed to have access to the device to induce faults and measure its side-channels such as timing information, power consumption, electromagnetic leaks, or sound with low signal-to-noise ratio. A good summary of fault attacks in given by <xref target="Cao20"/>. See also the discussions and references in <xref target="Comments-186-5"/>.</t>
      <t>Fault attacks may also be possible without physical access to the device. RowHammer <xref target="RowHammer14"/> showed how an attacker to induce DRAM bit-flips in memory areas the attacker should not have access to. Plundervolt <xref target="Plundervolt19"/> showed how an attacker with root access can use frequency and voltage scaling interfaces to induce faults that bypass even secure execution technologies. RowHammer can e.g., be used in operating systems with several processes or cloud scenarios with virtualized servers. Protocols like TLS, SSH, and IKEv2 that add a random number to the message to be signed mitigate some types of attacks <xref target="PSSLR17"/>.</t>
      <t>Government agencies are clearly concerned about these attacks. In <xref target="Notice-186-5"/> and <xref target="FIPS-186-5"/>, NIST warns about side-channel and fault injection attacks, but states that deterministic ECDSA may be desirable for devices that lack good randomness. The quantum-resistant ML-DSA <xref target="Draft-204"/> under standardization by NIST uses hedged signing by default. BSI has published <xref target="BSI"/> and researchers from BSI have co-authored two research papers <xref target="ABFJLM17"/> <xref target="PSSLR17"/> on attacks on deterministic signatures. For many industries it is important to be compliant with both RFCs and government publications, alignment between IETF, NIST, and BSI recommendations would be preferable.</t>
      <t>Note that deriving per-message secret number deterministically, is also insecure in a multi-party signature setting <xref target="I-D.irtf-cfrg-frost"/>.</t>
      <t>One countermeasure to entropy failures, side-channel attacks, and fault injection attacks recommended by <xref target="Langley13"/> <xref target="RP17"/> <xref target="ABFJLM17"/> <xref target="SBBDS17"/> <xref target="PSSLR17"/> <xref target="SB18"/> <xref target="AOTZ19"/> <xref target="FG19"/> and implemented in <xref target="OpenSSL13a"/> <xref target="OpenSSL13b"/> <xref target="XEdDSA"/> <xref target="libSodium"/> <xref target="libHydrogen"/> is to generate the per-message secret number from a random string, a secret key, and the message. This combines the security benefits of fully randomized per-message secret numbers with the security benefits of fully deterministic secret numbers.  Such a hedged construction protects against key compromise due to weak random number generation, but still effectively prevents many side-channel and fault injection attacks that exploit determinism. Hedged constructions require minor changes to the implementation and does not increase the number of elliptic curve point multiplications and is therefore suitable for constrained IoT. Adding randomness to EdDSA is not compliant with <xref target="RFC8032"/>. <xref target="Kampanakis16"/> describes an alternative <xref target="FIPS-186-5"/> compliant approach where message specific pseudo-random information is used as an additional input to the random number generation to create per-message secret number. <xref target="Bernstein14"/> states that generation of the per-message secret number from a subset of a random string, a secret key, the message, and a message counter is common in DSA/ECDSA implementations.</t>
      <t>This document updates <xref target="RFC6979"/> and <xref target="RFC8032"/> to recommend hedged constructions in deployments where side-channel and fault injection attacks are a concern. The updates are invisible to the validator of the signature. Produced signatures remain fully compatible with unmodified ECDSA and EdDSA verifiers and existing key pairs can continue to be used. As the precise use of the noise is specified, test vectors can still be produced, see <xref target="test"/>, and implementations can be tested against them.</t>
    </section>
    <section anchor="conventions-used-in-this-document">
      <name>Conventions Used in This Document</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>
    </section>
    <section anchor="HedgedEdDSA">
      <name>Hedged EdDSA</name>
      <t>This document updates RFC 8032 (EdDSA) to recommend hedged variants of EdDSA for deployments where side-channel attacks and fault injection attacks are a concern, the variants are called hedged EdDSA. The updates are invisible to the validator of the signature and compatible with existing EdDSA validators.</t>
      <t>Update to RFC 8032:</t>
      <t>For Ed25519ph, Ed25519ctx, and Ed25519: In deployments where side-channel and fault injection attacks are a concern, the following step is RECOMMENDED instead of step (2) in Section 5.1.6 of <xref target="RFC8032"/>:</t>
      <artwork><![CDATA[
2.  Compute SHA-512(0x00 || Z || dom2(F, C) || 000... || prefix ||
    000... || PH(M)), where M is the message to be signed, Z is 32
    octets of random data, the number of zeroes 000... is chosen so
    that the lengths of (0x00 || Z || dom2(F, C) || 000...) and
    (prefix || 000...) are multiples of 128 octets.  Interpret the
    64-octet digest as a little-endian integer r.
]]></artwork>
      <t>For Ed448ph and Ed448: In deployments where side-channel and fault injection attacks are a concern, the following step is RECOMMENDED instead of step (2) in Section 5.2.6 of <xref target="RFC8032"/>:</t>
      <artwork><![CDATA[
2.  Compute SHAKE256(0x00 || Z || dom4(F, C) || 000... || prefix ||
    000... || PH(M), 114), where M is the message to be signed, and Z
    is 57 octets of random data, the number of zeroes 000... is
    chosen so that the length of (0x00 || Z || dom4(F, C) || 000...)
    and (prefix || 000...) are multiples of 136 octets.  F is 1 for
    Ed448ph, 0 for Ed448, and C is the context to use.  Interpret the
    114-octet digest as a little-endian integer r.
]]></artwork>
    </section>
    <section anchor="HedgedECDSA">
      <name>Hedged ECDSA</name>
      <t>This document updates RFC 6979 (deterministic ECDSA) to recommend a hedged variant of ECDSA for deployments where side-channel attacks and fault injection attacks are a concern, the variant is called hedged ECDSA. The updates are invisible to the validator of the signature and compatible with existing ECDSA validators.</t>
      <t>Update to RFC 6979: In ECDSA deployments where side-channel and fault injection attacks are a concern, the following steps are RECOMMENDED instead of steps (d) and (f) in Section 3.2 of <xref target="RFC6979"/>:</t>
      <artwork><![CDATA[
d.  Set:

       K = HMAC_K(V || 0x00 || Z || 000... || int2octets(x) || 000...
       || bits2octets(h1))

    where '||' denotes concatenation.  In other words, we compute
    HMAC with key K, over the concatenation of the following, in
    order: the current value of V, a sequence of eight bits of value
    0, random data Z (of the same length as int2octets(x)), a
    sequence of zero bits 000..., the encoding of the (EC)DSA private
    key x, a sequence of zero bits 000..., and the hashed message
    (possibly truncated and extended as specified by the bits2octets
    transform).  The number of zeroes 000... is chosen so that the
    length of (V || 0x00 || Z || 000...) and (int2octets(x) ||
    000...) are multiples of the block size of the hash function.
    The HMAC result is the new value of K.  Note that the private key
    x is in the [1, q-1] range, hence a proper input for int2octets,
    yielding rlen bits of output, i.e., an integral number of octets
    (rlen is a multiple of 8).
]]></artwork>
      <artwork><![CDATA[
f.  Set:

       K = HMAC_K(V || 0x01 || Z || 000... || int2octets(x) || 000...
       || bits2octets(h1))

    Note that the "internal octet" is 0x01 this time. The string
    (Z || 000... || int2octets(x) || 000.. || bits2octets(h1)),
    called provided_data in HMAC_DRBG, is the same as in step (d).
]]></artwork>
      <t>When ECDSA is used with SHAKE <xref target="SHA3"/> the HMAC construction above MAY be used but it is RECOMMENDED to use the more efficient KMAC construction <xref target="KMAC"/>. SHAKE is a variable-length hash function defined as SHAKE(M, d) where the output is a d-bits-long digest of message M. When ECDSA is used with SHAKE128(M, d), it is RECOMMENDED to replace HMAC(K, M) with KMAC128(K, M, d2, ""), where d2 = max(d, qlen) and qlen is the binary length of the order of the base point of the elliptic curve <xref target="RFC6979"/>. When ECDSA is used with SHAKE256(M, d), it is RECOMMENDED to replace HMAC(K, M) with KMAC256(K, M, d2, ""), where d2 = max(d, qlen). <xref target="RFC8692"/> and <xref target="FIPS-186-5"/> define the use of SHAKE128 with an output length of 256 bits and SHAKE256 with an output length or 512 bits.</t>
      <t>In new deployments, where side-channel and fault injection attacks are a concern, Hedged EdDSA as specified in <xref target="HedgedEdDSA"/> is RECOMMENDED.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The constructions in this document follow the high-level approach in <xref target="XEdDSA"/> to calculate the per-message secret number from the hash of the private key and the message, but add additional randomness into the calculation for greater resilience. This does not re-introduce the strong security requirement of randomness needed by randomized ECDSA <xref target="FIPS-186-5"/>. The randomness of Z need not be perfect but SHALL be generated by a cryptographically secure pseudo random number generator (CSPRNG) and SHALL be secret. Even if the same random number Z is used to sign two different messages, the security will be the same as deterministic ECDSA and EdDSA and an attacker will not be able to compromise the private key with algebraic means as in fully randomized ECDSA <xref target="FIPS-186-5"/>. With the construction specified in this document, two signatures over two equal messages are different which prevents information leakage in use cases where signatures but not messages are public. The construction in this document place the additional randomness before the message to align with randomized hashing methods.</t>
      <t><xref target="SBBDS17"/> states that <xref target="XEdDSA"/> would not prevent their attack due to insufficient mixing of the hashed private key with the additional randomness. The construction in this document aims to mitigate fault injection attacks that leverage determinism in deterministic ECDSA and EdDSA signatures (see e.g., <xref target="ABFJLM17"/>), by randomizing nonce generation. Fault injection attacks that achieve instruction skipping as in e.g., Section 3.4 of <xref target="ABFJLM17"/> are not necessarily stopped. It seems to be possible to, at the same time, also mitigate attacks that use first order differential power analysis (DPA) against the hash computation of deterministic nonces in EdDSA and ECDSA (see e.g., <xref target="ABFJLM17"/><xref target="SBBDS17"/>). The mitigation in this document agrees with one mentioned in <xref target="ABFJLM17"/> and appears to be as effective against the referenced first order DPA attacks as the one in <xref target="SBBDS17"/>. The random bytes Z are re-used in step d and f of Hedged ECDSA to align with HMAC_DRBG (see Section 3.3 of <xref target="RFC6979"/>). This may make certain DPA attacks easier than if randomness had been sampled fresh for each respective step. Note however that V is updated between the steps and that the secret key x is processed in a new input block of the hash function after processing V and Z in each respective step.</t>
      <t>Another countermeasure to fault attacks is to force the signer to verify the signature in the last step of the signature generation or to calculate the signature twice and compare the results. These countermeasure would catch a single fault but would not protect against attackers that are able to precisely inject faults several times <xref target="RP17"/> <xref target="PSSLR17"/> <xref target="SB18"/>. Adding an additional sign or verification operation would also significantly affect performance, especially verification which is a heavier operation than signing in ECDSA and EdDSA.</t>
      <t><xref target="ABFJLM17"/> suggests using both additional randomness and a counter, which makes the signature generation stateful. While most used signatures have traditionally been stateless, stateful signatures like XMSS <xref target="RFC8391"/> and LMS <xref target="RFC8554"/> have now been standardized and deployed. <xref target="RFC8937"/> specifies a PRNG construction with a random seed, a secret key, a context string, and a nonce, which makes the random number generation stateful. The generation of the per-message secret number in this document is not stateful, but it can be used with a stateful PRNG. The exact construction in <xref target="RFC8937"/> is however not recommended in deployments where side-channel and fault injection attacks are a concern as it relies on deterministic signatures.</t>
      <t>With the construction in this document, the repetition of the same per-message secret number for two different messages is highly unlikely even with an imperfect random number generator, but not impossible. As an extreme countermeasure, previously used secret numbers can be tracked to ensure their uniqueness for a given key, and a different random number can be used if a collision is detected. This document neither mandates nor prohibits implementations from taking such precautions.</t>
      <t>Implementations need to follow best practices on how to protect against all side-channel attacks, not just attacks that exploit determinism, see for example <xref target="BSI"/>.</t>
      <t>The leading 0x00 octet in Hedged EdDSA provides domain separation with RFC 8032 since the first octets of dom2 and dom4 are distinct from 0x00. In the case of Ed25519, for which dom2 is the empty string, note that Ed25519 in RFC 8032 would have to contain the prefix also in PH(M) to collide with any of the inputs to the hash computations in the hedged variants in this document.</t>
    </section>
    <section anchor="test">
      <name>Test Vectors</name>
      <t>TODO</t>
      <section anchor="hedged-ed25519">
        <name>Hedged Ed25519</name>
        <artwork><![CDATA[
    MESSAGE = { }
 SECRET KEY = { }
RANDOM DATA = { }
  SIGNATURE = { }
]]></artwork>
      </section>
      <section anchor="hedged-ecdsa-with-p-256-and-sha-256">
        <name>Hedged ECDSA with P-256 and SHA-256</name>
        <artwork><![CDATA[
    MESSAGE = { }
 SECRET KEY = { }
RANDOM DATA = { }
  SIGNATURE = { }
]]></artwork>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC6979">
          <front>
            <title>Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)</title>
            <author fullname="T. Pornin" initials="T." surname="Pornin"/>
            <date month="August" year="2013"/>
            <abstract>
              <t>This document defines a deterministic digital signature generation procedure. Such signatures are compatible with standard Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA) digital signatures and can be processed with unmodified verifiers, which need not be aware of the procedure described therein. Deterministic signatures retain the cryptographic security features associated with digital signatures but can be more easily implemented in various environments, since they do not need access to a source of high-quality randomness.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6979"/>
          <seriesInfo name="DOI" value="10.17487/RFC6979"/>
        </reference>
        <reference anchor="RFC8032">
          <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">
          <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="RFC8692">
          <front>
            <title>Internet X.509 Public Key Infrastructure: Additional Algorithm Identifiers for RSASSA-PSS and ECDSA Using SHAKEs</title>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="Q. Dang" initials="Q." surname="Dang"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>Digital signatures are used to sign messages, X.509 certificates, and Certificate Revocation Lists (CRLs). This document updates the "Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile" (RFC 3279) and describes the conventions for using the SHAKE function family in Internet X.509 certificates and revocation lists as one-way hash functions with the RSA Probabilistic signature and Elliptic Curve Digital Signature Algorithm (ECDSA) signature algorithms. The conventions for the associated subject public keys are also described.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8692"/>
          <seriesInfo name="DOI" value="10.17487/RFC8692"/>
        </reference>
        <reference anchor="FIPS-186-5" target="https://doi.org/10.6028/NIST.FIPS.186-5">
          <front>
            <title>Digital Signature Standard (DSS)</title>
            <author initials="N. S." surname="Department of Commerce">
              <organization/>
            </author>
            <date year="2023" month="February"/>
          </front>
          <seriesInfo name="NIST FIPS PUB 186-5" value=""/>
        </reference>
        <reference anchor="SHA3" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf">
          <front>
            <title>SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions</title>
            <author initials="" surname="National Institute of Standards and Technology (NIST)">
              <organization/>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="NIST FIPS PUB 202" value=""/>
        </reference>
        <reference anchor="KMAC" target="http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf">
          <front>
            <title>SHA-3 Derived Functions: cSHAKE, KMAC, TupleHash and ParallelHash</title>
            <author initials="" surname="National Institute of Standards and Technology (NIST)">
              <organization/>
            </author>
            <date year="2016" month="December"/>
          </front>
          <seriesInfo name="NIST SP 800-185" value=""/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8937">
          <front>
            <title>Randomness Improvements for Security Protocols</title>
            <author fullname="C. Cremers" initials="C." surname="Cremers"/>
            <author fullname="L. Garratt" initials="L." surname="Garratt"/>
            <author fullname="S. Smyshlyaev" initials="S." surname="Smyshlyaev"/>
            <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
            <author fullname="C. Wood" initials="C." surname="Wood"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>Randomness is a crucial ingredient for Transport Layer Security (TLS) and related security protocols. Weak or predictable "cryptographically secure" pseudorandom number generators (CSPRNGs) can be abused or exploited for malicious purposes. An initial entropy source that seeds a CSPRNG might be weak or broken as well, which can also lead to critical and systemic security problems. This document describes a way for security protocol implementations to augment their CSPRNGs using long-term private keys. This improves randomness from broken or otherwise subverted CSPRNGs.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8937"/>
          <seriesInfo name="DOI" value="10.17487/RFC8937"/>
        </reference>
        <reference anchor="I-D.irtf-cfrg-frost">
          <front>
            <title>Two-Round Threshold Schnorr Signatures with FROST</title>
            <author fullname="Deirdre Connolly" initials="D." surname="Connolly">
              <organization>Zcash Foundation</organization>
            </author>
            <author fullname="Chelsea Komlo" initials="C." surname="Komlo">
              <organization>University of Waterloo, Zcash Foundation</organization>
            </author>
            <author fullname="Ian Goldberg" initials="I." surname="Goldberg">
              <organization>University of Waterloo</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="18" month="September" year="2023"/>
            <abstract>
              <t>   This document specifies the Flexible Round-Optimized Schnorr
   Threshold (FROST) signing protocol.  FROST signatures can be issued
   after a threshold number of entities cooperate to compute a
   signature, allowing for improved distribution of trust and redundancy
   with respect to a secret key.  FROST depends only on a prime-order
   group and cryptographic hash function.  This document specifies a
   number of ciphersuites to instantiate FROST using different prime-
   order groups and hash functions.  One such ciphersuite can be used to
   produce signatures that can be verified with an Edwards-Curve Digital
   Signature Algorithm (EdDSA, as defined in RFC8032) compliant
   verifier.  However, unlike EdDSA, the signatures produced by FROST
   are not deterministic.  This document is a product of the Crypto
   Forum Research Group (CFRG) in the IRTF.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-cfrg-frost-15"/>
        </reference>
        <reference anchor="BSI" target="https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Zertifizierung/Interpretationen/AIS_46_ECCGuide_e_pdf.pdf?__blob=publicationFile">
          <front>
            <title>Minimum Requirements for Evaluating Side-Channel Attack Resistance of Elliptic Curve Implementations</title>
            <author initials="" surname="Bundesamt für Sicherheit in der Informationstechnik">
              <organization/>
            </author>
            <date year="2016" month="November"/>
          </front>
        </reference>
        <reference anchor="Minerva19" target="https://minerva.crocs.fi.muni.cz/">
          <front>
            <title>Minerva</title>
            <author initials="" surname="Centre for Research on Cryptography and Security (CRoCS)">
              <organization/>
            </author>
            <date year="2019" month="October"/>
          </front>
        </reference>
        <reference anchor="RowHammer14" target="https://users.ece.cmu.edu/~yoonguk/papers/kim-isca14.pdf">
          <front>
            <title>Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors</title>
            <author initials="Y." surname="Kim">
              <organization/>
            </author>
            <author initials="R." surname="Daly">
              <organization/>
            </author>
            <author initials="J." surname="Kim">
              <organization/>
            </author>
            <author initials="C." surname="Fallin">
              <organization/>
            </author>
            <author initials="J." surname="Lee">
              <organization/>
            </author>
            <author initials="D." surname="Lee">
              <organization/>
            </author>
            <author initials="C." surname="Wilkerson">
              <organization/>
            </author>
            <author initials="K." surname="Mutlu">
              <organization/>
            </author>
            <date year="2014" month="June"/>
          </front>
        </reference>
        <reference anchor="Plundervolt19" target="https://plundervolt.com/">
          <front>
            <title>How a little bit of undervolting can cause a lot of problems</title>
            <author initials="K." surname="Murdock">
              <organization/>
            </author>
            <author initials="D." surname="Oswald">
              <organization/>
            </author>
            <author initials="F." surname="Garcia">
              <organization/>
            </author>
            <author initials="J." surname="Van Bulck">
              <organization/>
            </author>
            <author initials="D." surname="Gruss">
              <organization/>
            </author>
            <author initials="F." surname="Piessens">
              <organization/>
            </author>
            <date year="2019" month="December"/>
          </front>
        </reference>
        <reference anchor="TPM-Fail19" target="https://tpm.fail/">
          <front>
            <title>TPM-FAIL: TPM meets Timing and Lattice Attacks</title>
            <author initials="D." surname="Moghimi">
              <organization/>
            </author>
            <author initials="B." surname="Sunar">
              <organization/>
            </author>
            <author initials="T." surname="Eisenbarth">
              <organization/>
            </author>
            <author initials="N." surname="Heninge">
              <organization/>
            </author>
            <date year="2019" month="October"/>
          </front>
        </reference>
        <reference anchor="XEdDSA" target="https://signal.org/docs/specifications/xeddsa/">
          <front>
            <title>The XEdDSA and VXEdDSA Signature Schemes</title>
            <author initials="" surname="Signal">
              <organization/>
            </author>
            <date year="2016" month="October"/>
          </front>
        </reference>
        <reference anchor="libHydrogen" target="https://github.com/jedisct1/libhydrogen">
          <front>
            <title>The Hydrogen library</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="libSodium" target="https://github.com/jedisct1/libsodium">
          <front>
            <title>The Sodium library</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="Notice-186-5" target="https://www.federalregister.gov/documents/2019/10/31/2019-23742/request-for-comments-on-fips-186-5-and-sp-800-186">
          <front>
            <title>Request for Comments on FIPS 186-5 and SP 800-186</title>
            <author initials="" surname="National Institute of Standards and Technology (NIST)">
              <organization/>
            </author>
            <date year="2019" month="October"/>
          </front>
        </reference>
        <reference anchor="Draft-204" target="https://csrc.nist.gov/pubs/fips/204/ipd">
          <front>
            <title>FIPS PUB 204 (Draft)</title>
            <author initials="" surname="National Institute of Standards and Technology (NIST)">
              <organization/>
            </author>
            <date year="2023" month="August"/>
          </front>
        </reference>
        <reference anchor="SideChannel" target="https://arxiv.org/pdf/1611.03748.pdf">
          <front>
            <title>Systematic Classification of Side-Channel Attacks: A Case Study for Mobile Devices</title>
            <author initials="R." surname="Spreitzer">
              <organization/>
            </author>
            <author initials="V." surname="Moonsamy">
              <organization/>
            </author>
            <author initials="T." surname="Korak">
              <organization/>
            </author>
            <author initials="S." surname="Mangard">
              <organization/>
            </author>
            <date year="2017" month="December"/>
          </front>
        </reference>
        <reference anchor="BCPST14" target="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.854.7836&amp;rep=rep1&amp;type=pdf">
          <front>
            <title>Online Template Attacks</title>
            <author initials="L." surname="Batina">
              <organization/>
            </author>
            <author initials="L." surname="Chmielewski">
              <organization/>
            </author>
            <author initials="L." surname="Papachristodoulou">
              <organization/>
            </author>
            <author initials="P." surname="Schwabe">
              <organization/>
            </author>
            <author initials="M." surname="Tunstall">
              <organization/>
            </author>
            <date year="2014" month="December"/>
          </front>
        </reference>
        <reference anchor="SH16" target="http://www.cs2.deib.polimi.it/slides_16/01_Seuschek_Deterministic_Signatures.pdf">
          <front>
            <title>A Cautionary Note: Side-Channel Leakage Implications of Deterministic Signature Schemes</title>
            <author initials="H." surname="Seuschek">
              <organization/>
            </author>
            <author initials="J." surname="Heyszl">
              <organization/>
            </author>
            <author initials="F." surname="De Santis">
              <organization/>
            </author>
            <date year="2016" month="January"/>
          </front>
        </reference>
        <reference anchor="BP16" target="https://link.springer.com/chapter/10.1007/978-3-319-44524-3_11">
          <front>
            <title>A Note on Fault Attacks Against Deterministic Signature Schemes (Short Paper)</title>
            <author initials="A." surname="Barenghi">
              <organization/>
            </author>
            <author initials="G." surname="Pelosi">
              <organization/>
            </author>
            <date year="2016" month="September"/>
          </front>
        </reference>
        <reference anchor="RP17" target="https://romailler.ch/ddl/10.1109_FDTC.2017.12_eddsa.pdf">
          <front>
            <title>Practical fault attack against the Ed25519 and EdDSA signature schemes</title>
            <author initials="Y." surname="Romailler">
              <organization/>
            </author>
            <author initials="S." surname="Pelissier">
              <organization/>
            </author>
            <date year="2017" month="September"/>
          </front>
        </reference>
        <reference anchor="ABFJLM17" target="https://eprint.iacr.org/2017/975">
          <front>
            <title>Differential Attacks on Deterministic Signatures</title>
            <author initials="C." surname="Ambrose">
              <organization/>
            </author>
            <author initials="J." surname="Bos">
              <organization/>
            </author>
            <author initials="B." surname="Fay">
              <organization/>
            </author>
            <author initials="M." surname="Joye">
              <organization/>
            </author>
            <author initials="M." surname="Lochter">
              <organization/>
            </author>
            <author initials="B." surname="Murray">
              <organization/>
            </author>
            <date year="2017" month="October"/>
          </front>
        </reference>
        <reference anchor="SBBDS17" target="https://eprint.iacr.org/2017/985.pdf">
          <front>
            <title>Breaking Ed25519 in WolfSSL</title>
            <author initials="N." surname="Samwel">
              <organization/>
            </author>
            <author initials="L." surname="Batina">
              <organization/>
            </author>
            <author initials="G." surname="Bertoni">
              <organization/>
            </author>
            <author initials="J." surname="Daemen">
              <organization/>
            </author>
            <author initials="R." surname="Susella">
              <organization/>
            </author>
            <date year="2017" month="October"/>
          </front>
        </reference>
        <reference anchor="PSSLR17" target="https://eprint.iacr.org/2017/1014">
          <front>
            <title>Attacking Deterministic Signature Schemes using Fault Attacks</title>
            <author initials="D." surname="Poddebniak">
              <organization/>
            </author>
            <author initials="J." surname="Somorovsky">
              <organization/>
            </author>
            <author initials="S." surname="Schinzel">
              <organization/>
            </author>
            <author initials="M." surname="Lochter">
              <organization/>
            </author>
            <author initials="P." surname="Rösler">
              <organization/>
            </author>
            <date year="2017" month="October"/>
          </front>
        </reference>
        <reference anchor="SB18" target="https://nielssamwel.nl/papers/africacrypt2018_fault.pdf">
          <front>
            <title>Practical Fault Injection on Deterministic Signatures: The Case of EdDSA</title>
            <author initials="N." surname="Samwel">
              <organization/>
            </author>
            <author initials="L." surname="Batina">
              <organization/>
            </author>
            <date year="2018" month="April"/>
          </front>
        </reference>
        <reference anchor="WPB19" target="https://eprint.iacr.org/2019/358.pdf">
          <front>
            <title>One trace is all it takes: Machine Learning-based Side-channel Attack on EdDSA</title>
            <author initials="L." surname="Weissbart">
              <organization/>
            </author>
            <author initials="S." surname="Picek">
              <organization/>
            </author>
            <author initials="L." surname="Batina">
              <organization/>
            </author>
            <date year="2019" month="July"/>
          </front>
        </reference>
        <reference anchor="AOTZ19" target="https://eprint.iacr.org/2019/956">
          <front>
            <title>Security of Hedged Fiat-Shamir Signatures under Fault Attacks</title>
            <author initials="D." surname="Aranha">
              <organization/>
            </author>
            <author initials="C." surname="Orlandi">
              <organization/>
            </author>
            <author initials="A." surname="Takahashi">
              <organization/>
            </author>
            <author initials="G." surname="Zaverucha">
              <organization/>
            </author>
            <date year="2019" month="September"/>
          </front>
        </reference>
        <reference anchor="FG19" target="https://eprint.iacr.org/2019/1053">
          <front>
            <title>Modeling Memory Faults in Signature and Encryption Schemes</title>
            <author initials="M." surname="Fischlin">
              <organization/>
            </author>
            <author initials="F." surname="Günther">
              <organization/>
            </author>
            <date year="2019" month="September"/>
          </front>
        </reference>
        <reference anchor="Kampanakis16" target="https://blogs.cisco.com/security/fips-and-deterministic-ecdsa-achieving-robust-security-and-conformance">
          <front>
            <title>FIPS and Deterministic ECDSA: Achieving robust security and conformance</title>
            <author initials="P." surname="Kampanakis">
              <organization/>
            </author>
            <date year="2016" month="December"/>
          </front>
        </reference>
        <reference anchor="Langley13" target="https://www.imperialviolet.org/2013/06/15/suddendeathentropy.html">
          <front>
            <title>Sudden Death Entropy Failures</title>
            <author initials="A." surname="Langley">
              <organization/>
            </author>
            <date year="2013" month="June"/>
          </front>
        </reference>
        <reference anchor="OpenSSL13a" target="https://github.com/openssl/openssl/commit/8a99cb29d1f0013243a532bccc1dc70ed678eebe">
          <front>
            <title>Add secure DSA nonce flag</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="OpenSSL13b" target="https://github.com/openssl/openssl/commit/190c615d4398cc6c8b61eb7881d7409314529a75">
          <front>
            <title>Make `safe' (EC)DSA nonces the default</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="Comments-186-5" target="https://csrc.nist.gov/CSRC/media/Publications/fips/186/5/draft/documents/fips-186-5-draft-comments-received.pdf">
          <front>
            <title>Public Comments Received on Draft FIPS 186-5: Digital Signature Standards (DSS)</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="March"/>
          </front>
        </reference>
        <reference anchor="Bernstein19" target="https://blog.cr.yp.to/20191024-eddsa.html">
          <front>
            <title>Why EdDSA held up better than ECDSA against Minerva</title>
            <author initials="D." surname="Bernstein">
              <organization/>
            </author>
            <date year="2019" month="October"/>
          </front>
        </reference>
        <reference anchor="Bernstein14" target="https://blog.cr.yp.to/20140323-ecdsa.html">
          <front>
            <title>How to design an elliptic-curve signature system</title>
            <author initials="D." surname="Bernstein">
              <organization/>
            </author>
            <date year="2014" month="March"/>
          </front>
        </reference>
        <reference anchor="Cao20" target="https://eprint.iacr.org/2020/803">
          <front>
            <title>Lattice-based Fault Attacks on Deterministic Signature Schemes of ECDSA and EdDSA</title>
            <author initials="" surname="Weiqiong Cao">
              <organization/>
            </author>
            <author initials="" surname="Hongsong Shi">
              <organization/>
            </author>
            <author initials="" surname="Hua Chen">
              <organization/>
            </author>
            <author initials="" surname="Jiazhe Chen">
              <organization/>
            </author>
            <author initials="" surname="Limin Fan">
              <organization/>
            </author>
            <author initials="" surname="Wenling Wu">
              <organization/>
            </author>
            <date year="2020" month="June"/>
          </front>
        </reference>
        <reference anchor="RFC8037">
          <front>
            <title>CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE)</title>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document defines how to use the Diffie-Hellman algorithms "X25519" and "X448" as well as the signature algorithms "Ed25519" and "Ed448" from the IRTF CFRG elliptic curves work in JSON Object Signing and Encryption (JOSE).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8037"/>
          <seriesInfo name="DOI" value="10.17487/RFC8037"/>
        </reference>
        <reference anchor="RFC8080">
          <front>
            <title>Edwards-Curve Digital Security Algorithm (EdDSA) for DNSSEC</title>
            <author fullname="O. Sury" initials="O." surname="Sury"/>
            <author fullname="R. Edmonds" initials="R." surname="Edmonds"/>
            <date month="February" year="2017"/>
            <abstract>
              <t>This document describes how to specify Edwards-curve Digital Security Algorithm (EdDSA) keys and signatures in DNS Security (DNSSEC). It uses EdDSA with the choice of two curves: Ed25519 and Ed448.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8080"/>
          <seriesInfo name="DOI" value="10.17487/RFC8080"/>
        </reference>
        <reference anchor="RFC8225">
          <front>
            <title>PASSporT: Personal Assertion Token</title>
            <author fullname="C. Wendt" initials="C." surname="Wendt"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <date month="February" year="2018"/>
            <abstract>
              <t>This document defines a method for creating and validating a token that cryptographically verifies an originating identity or, more generally, a URI or telephone number representing the originator of personal communications. The Personal Assertion Token, PASSporT, is cryptographically signed to protect the integrity of the identity of the originator and to verify the assertion of the identity information at the destination. The cryptographic signature is defined with the intention that it can confidently verify the originating persona even when the signature is sent to the destination party over an insecure channel. PASSporT is particularly useful for many personal-communications applications over IP networks and other multi-hop interconnection scenarios where the originating and destination parties may not have a direct trusted relationship.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8225"/>
          <seriesInfo name="DOI" value="10.17487/RFC8225"/>
        </reference>
        <reference anchor="RFC8387">
          <front>
            <title>Practical Considerations and Implementation Experiences in Securing Smart Object Networks</title>
            <author fullname="M. Sethi" initials="M." surname="Sethi"/>
            <author fullname="J. Arkko" initials="J." surname="Arkko"/>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <author fullname="H. Back" initials="H." surname="Back"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>This memo describes challenges associated with securing resource- constrained smart object devices. The memo describes a possible deployment model where resource-constrained devices sign message objects, discusses the availability of cryptographic libraries for resource-constrained devices, and presents some preliminary experiences with those libraries for message signing on resource- constrained devices. Lastly, the memo discusses trade-offs involving different types of security approaches.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8387"/>
          <seriesInfo name="DOI" value="10.17487/RFC8387"/>
        </reference>
        <reference anchor="RFC8391">
          <front>
            <title>XMSS: eXtended Merkle Signature Scheme</title>
            <author fullname="A. Huelsing" initials="A." surname="Huelsing"/>
            <author fullname="D. Butin" initials="D." surname="Butin"/>
            <author fullname="S. Gazdag" initials="S." surname="Gazdag"/>
            <author fullname="J. Rijneveld" initials="J." surname="Rijneveld"/>
            <author fullname="A. Mohaisen" initials="A." surname="Mohaisen"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>This note describes the eXtended Merkle Signature Scheme (XMSS), a hash-based digital signature system that is based on existing descriptions in scientific literature. This note specifies Winternitz One-Time Signature Plus (WOTS+), a one-time signature scheme; XMSS, a single-tree scheme; and XMSS^MT, a multi-tree variant of XMSS. Both XMSS and XMSS^MT use WOTS+ as a main building block. XMSS provides cryptographic digital signatures without relying on the conjectured hardness of mathematical problems. Instead, it is proven that it only relies on the properties of cryptographic hash functions. XMSS provides strong security guarantees and is even secure when the collision resistance of the underlying hash function is broken. It is suitable for compact implementations, is relatively simple to implement, and naturally resists side-channel attacks. Unlike most other signature systems, hash-based signatures can so far withstand known attacks using quantum computers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8391"/>
          <seriesInfo name="DOI" value="10.17487/RFC8391"/>
        </reference>
        <reference anchor="RFC8410">
          <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">
          <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="RFC8419">
          <front>
            <title>Use of Edwards-Curve Digital Signature Algorithm (EdDSA) Signatures in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies the conventions for using the Edwards-curve Digital Signature Algorithm (EdDSA) for curve25519 and curve448 in the Cryptographic Message Syntax (CMS). For each curve, EdDSA defines the PureEdDSA and HashEdDSA modes. However, the HashEdDSA mode is not used with the CMS. In addition, no context string is used with the CMS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8419"/>
          <seriesInfo name="DOI" value="10.17487/RFC8419"/>
        </reference>
        <reference anchor="RFC8420">
          <front>
            <title>Using the Edwards-Curve Digital Signature Algorithm (EdDSA) in the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document describes the use of the Edwards-curve Digital Signature Algorithm (EdDSA) in the Internet Key Exchange Protocol Version 2 (IKEv2).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8420"/>
          <seriesInfo name="DOI" value="10.17487/RFC8420"/>
        </reference>
        <reference anchor="RFC8422">
          <front>
            <title>Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS) Versions 1.2 and Earlier</title>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="M. Pegourie-Gonnard" initials="M." surname="Pegourie-Gonnard"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document describes key exchange algorithms based on Elliptic Curve Cryptography (ECC) for the Transport Layer Security (TLS) protocol. In particular, it specifies the use of Ephemeral Elliptic Curve Diffie-Hellman (ECDHE) key agreement in a TLS handshake and the use of the Elliptic Curve Digital Signature Algorithm (ECDSA) and Edwards-curve Digital Signature Algorithm (EdDSA) as authentication mechanisms.</t>
              <t>This document obsoletes RFC 4492.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8422"/>
          <seriesInfo name="DOI" value="10.17487/RFC8422"/>
        </reference>
        <reference anchor="RFC8446">
          <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="RFC8463">
          <front>
            <title>A New Cryptographic Signature Method for DomainKeys Identified Mail (DKIM)</title>
            <author fullname="J. Levine" initials="J." surname="Levine"/>
            <date month="September" year="2018"/>
            <abstract>
              <t>This document adds a new signing algorithm, Ed25519-SHA256, to "DomainKeys Identified Mail (DKIM) Signatures" (RFC 6376). DKIM verifiers are required to implement this algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8463"/>
          <seriesInfo name="DOI" value="10.17487/RFC8463"/>
        </reference>
        <reference anchor="RFC8550">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Certificate Handling</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 specifies conventions for X.509 certificate usage by Secure/Multipurpose Internet Mail Extensions (S/MIME) v4.0 agents. S/MIME provides a method to send and receive secure MIME messages, and certificates are an integral part of S/MIME agent processing. S/MIME agents validate certificates as described in RFC 5280 ("Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"). S/MIME agents must meet the certificate-processing requirements in this document as well as those in RFC 5280. This document obsoletes RFC 5750.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8550"/>
          <seriesInfo name="DOI" value="10.17487/RFC8550"/>
        </reference>
        <reference anchor="RFC8591">
          <front>
            <title>SIP-Based Messaging with S/MIME</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>Mobile messaging applications used with the Session Initiation Protocol (SIP) commonly use some combination of the SIP MESSAGE method and the Message Session Relay Protocol (MSRP). While these provide mechanisms for hop-by-hop security, neither natively provides end-to-end protection. This document offers guidance on how to provide end-to-end authentication, integrity protection, and confidentiality using the Secure/Multipurpose Internet Mail Extensions (S/MIME). It updates and provides clarifications for RFCs 3261, 3428, and 4975.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8591"/>
          <seriesInfo name="DOI" value="10.17487/RFC8591"/>
        </reference>
        <reference anchor="RFC8608">
          <front>
            <title>BGPsec Algorithms, Key Formats, and Signature Formats</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="O. Borchert" initials="O." surname="Borchert"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document specifies the algorithms, algorithm parameters, asymmetric key formats, asymmetric key sizes, and signature formats used in BGPsec (Border Gateway Protocol Security). This document updates RFC 7935 ("The Profile for Algorithms and Key Sizes for Use in the Resource Public Key Infrastructure") and obsoletes RFC 8208 ("BGPsec Algorithms, Key Formats, and Signature Formats") by adding Documentation and Experimentation Algorithm IDs, correcting the range of unassigned algorithms IDs to fill the complete range, and restructuring the document for better reading.</t>
              <t>This document also includes example BGPsec UPDATE messages as well as the private keys used to generate the messages and the certificates necessary to validate those signatures.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8608"/>
          <seriesInfo name="DOI" value="10.17487/RFC8608"/>
        </reference>
        <reference anchor="RFC8624">
          <front>
            <title>Algorithm Implementation Requirements and Usage Guidance for DNSSEC</title>
            <author fullname="P. Wouters" initials="P." surname="Wouters"/>
            <author fullname="O. Sury" initials="O." surname="Sury"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>The DNSSEC protocol makes use of various cryptographic algorithms in order to provide authentication of DNS data and proof of nonexistence. To ensure interoperability between DNS resolvers and DNS authoritative servers, it is necessary to specify a set of algorithm implementation requirements and usage guidelines to ensure that there is at least one algorithm that all implementations support. This document defines the current algorithm implementation requirements and usage guidance for DNSSEC. This document obsoletes RFC 6944.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8624"/>
          <seriesInfo name="DOI" value="10.17487/RFC8624"/>
        </reference>
        <reference anchor="RFC8554">
          <front>
            <title>Leighton-Micali Hash-Based Signatures</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Curcio" initials="M." surname="Curcio"/>
            <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This note describes a digital-signature system based on cryptographic hash functions, following the seminal work in this area of Lamport, Diffie, Winternitz, and Merkle, as adapted by Leighton and Micali in 1995. It specifies a one-time signature scheme and a general signature scheme. These systems provide asymmetric authentication without using large integer mathematics and can achieve a high security level. They are suitable for compact implementations, are relatively simple to implement, and are naturally resistant to side-channel attacks. Unlike many other signature systems, hash-based signatures would still be secure even if it proves feasible for an attacker to build a quantum computer.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF. This has been reviewed by many researchers, both in the research group and outside of it. The Acknowledgements section lists many of them.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8554"/>
          <seriesInfo name="DOI" value="10.17487/RFC8554"/>
        </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>
      </references>
    </references>
    <?line 562?>

<section removeInRFC="true" numbered="false" anchor="change-log">
      <name>Change log</name>
      <t>Changes from -03 to -04:</t>
      <ul spacing="normal">
        <li>
          <t>Resubmission</t>
        </li>
      </ul>
      <t>Changes from -02 to -03:</t>
      <ul spacing="normal">
        <li>
          <t>Same randomness Z in step d and f to align with HMAC_DRBG.</t>
        </li>
        <li>
          <t>Changed Hedged EdDSA order to 0x00 || Z || dom2(F, C) instead of dom2(F, C) || Z. This avoids collisions with RFC 8032 and aligns with Bernstein's recommendation to put Z before the context.</t>
        </li>
        <li>
          <t>Changed KMAC output length recommendations to avoid multiple invocations.</t>
        </li>
        <li>
          <t>Updates some text to align with the hedged signatures/signing terminology.</t>
        </li>
        <li>
          <t>Added more description about the construction.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -01 to -02:</t>
      <ul spacing="normal">
        <li>
          <t>Different names Zd and Zf for the randomness in ECDSA.</t>
        </li>
        <li>
          <t>Added empty test vector section as TODO.</t>
        </li>
      </ul>
      <t>Changes from -00 to -01:</t>
      <ul spacing="normal">
        <li>
          <t>Changed terminology to hedged signatures/signing.</t>
        </li>
        <li>
          <t>Added reference to the FIPS 204 (ML-DSA) where hedged signatures are the default.</t>
        </li>
        <li>
          <t>Added a second 000... padding that separates the context from the prefix, aligning with BSI recommendations.</t>
        </li>
        <li>
          <t>Added note that Z in step f is not reused from step d.</t>
        </li>
        <li>
          <t>Added note on "internal octet" is 0x01 from RFC 6979.</t>
        </li>
        <li>
          <t>Removed incorrect statement that context fit in first block.</t>
        </li>
        <li>
          <t>Added more description about the construction.</t>
        </li>
        <li>
          <t>Moved "For discussion" section to GitHub issue.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank
<contact fullname="Tony Arcieri"/>,
<contact fullname="Uri Blumenthal"/>,
<contact fullname="Carsten Bormann"/>,
<contact fullname="Taylor R Campbell"/>,
<contact fullname="Quynh Dang"/>,
<contact fullname="Håkan Englund"/>,
<contact fullname="Janos Follath"/>,
<contact fullname="Phillip Hallam-Baker"/>,
<contact fullname="Chelsea Komlo"/>,
<contact fullname="Niklas Lindskog"/>,
<contact fullname="Ilari Liusvaara"/>,
<contact fullname="Danny Niu"/>,
<contact fullname="Jim Schaad"/>,
and
<contact fullname="Ruggero Susella"/>
for their valuable comments and feedback.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8192XLcSJble3yFG9Osi2yLQCxcRMosrZoMkiIlUWIzqFSV
psc0HoBHhBexJRYuYqp/pZ/mF+ap3/LH5i7ugCMiQDKzsmpGZZUEAYcv1+9y
7uJgr9frFLoI1WuxcaaCuQrEyfh4cihkDFcBXk30PJZFmal8o+PLQs2T7OG1
0PEs6ZRpADfy12Lv4NVBV+wPtkedTpD4sYygwyCTs6Kns2LW82fZvBeoopfr
ed6708WiFyc6V73BTicvp5HOc53ExUMKr51fXZ8K8YOQYZ7ArHQcqFTBf+Ji
oys2zg+P4EeSwRW02+jEZTRV2esOTuR1x0/iXMV5CVMqslJ1bl+L7Y7MlHxt
298l2c08S8oU7oyzh7RIxGmSldFG50Y9wMPgdUf0RKzuCzFXscpkARPDW2Ws
/SSjyzyV2U2o47kIdF5keloWQLcQyZd1blVcwkyEWD+KELzKjSuVK5n5C/EG
2+GDSOoQHiCt/k2rYuYl2RzvYyu4vyiKNH/d72MzvKVvlWeb9fFGnzvs/1lh
k68hzO1H7Az7mAPJy6npvf+CncGXQtzcwhkaG3vclaeTl3TzkjbeoojCjU5H
lsUiyZB0+K9nfgpgNdjOt564zFT563+JC1kUeY6bYv4xt71NFnFrEyDRa3GS
ab9xVzHF/wZvepF55d+UaeX5SbR+KieeuIaJRsAEsN/NWcAYN+uePjkBGPLG
K6qXXjCFiSeuymSRRFIuTWCiY7367Mnhc3jFy8wrzcE7MU6qAFbDbbk6HY+G
wwNziTJvLlHw7eXw1Y693DuAu3B9en456Q3393q7vLmFzOYK+MqyVZBoYuLh
wNsbjPb7H84n1x6+5NFL/A4rqWMN7CfDWimJSQGqSmaB2DyeTLaobQ5rUDlq
KOBd7IxmIC4/HQnqcINaPcluGx9I8GGk8ziHsUHCRTKrBstJP14rfxEnYTJ/
6IpPHuzJsQLNUESgqrDxOIkilfmKhyMFJU7VNCtl9iBGg9E20mZydri9nirx
bZiW09yLQY69eXLbxwu808fVOESCrrw0mLlk2oBue9vVdF+LS5VFZUFr6h3J
HNTVmcwXrOXvC1Cvchqq3scSBijEaRn72DLfeI6cMPQfT0yxiYNsuWQ7LOdl
XsBww10k2ruLw/Eq0Z6k2SRVvpbhZTkNtU/TyZmEk0tvfzAA9txtIeIxLP8W
CFZR5bXw4cm7ky7NoyuuyzRUFTkvZSbDUIV4o41+k0thxvynUO9Y+QqtJNJv
r9PBmVRSbUT1YPsVDn/eO/ZqXT3LElD/2ORocr6eSe/u7rxprr1pGQdeoPqT
BVjb4Djx8/5xcheHiQzg6qQPHfS/qKzQM/1Nq6yM5/3zuFBZminmShX3D88n
X3f2vp6Mx29KHaiv6itsCG7Kn79+nYbJ9Me03rxTHarGXl2AEovKSFypn0ud
KZTBXMA6xcmtDEt4B6z1BHrtjRcyjlUoDotC+jfQPgcWkbFPRD0JQ50W2hfj
MrtV4jyCncWupCMOT2/WERBC5TIqxOzX/85gSH+hsoXSBTwXAezBuaU+dFjg
rukbd68+JLfuXgkBC1PZrWS1u7oBET/2/Axo7s20FwFQ8fxvfZc6po/npz+G
tYJORbpV+CSJBUOYeSbTxQOx20T5ZaYLYLbxVTI2apcX8NEvEjP/A+Ku5O5M
oiIc7qxfQQnykXvAop4flZ4Kyv5/PiRJPC9v+qlM4Vn/Rkc9nftyuLMioqew
Xynu7ZGG/QYSX6gI8Kn4DOgiAVV26PsKsCU0uF6oCBRJDPoOOtW0q2BHijJ4
wJ0/vjq8AOuSg02ZEjecZFmSvWTL/+qJd7rFTl+BTZDhQyukaX1x7IlTUCM6
bn31vVLrnx0/8Qy6/axDwBg1DFhq8c4TF2URls6Ovi1jhdu5g9t5GSKDZ7dJ
WLSxZFo3QRDR4MSNs+ROSBHqAn4VU02GsmqO++TLGP4PTIHNEnqeZglYp+gl
m0HTz8AFuWklzsf8TobB+sennngDTK9lK9l/gukdleET/b/Jyjxv7f4STAG6
KC3qmUTm+vKidwrQrI3ARRp5M3jepCy9dXj+/jW+LyKlQCCudYQ0RZF9DwBX
A1+z3nsJLWEtF8l8AV2sf37kiUkZy2z902tPnAC4j6eAiBbrm3zwxJmKYYLq
Cf3xF/JC1xMiRxQYEnYM0OTkaORnlX2/V0GQywaVQAuYHokoP/1lyccVE9DX
kcqfpw69Eq6fOCnuUE/PHoIsATdy/eyNI4Ui8jcFnqRfDPvw0sK8tDxt2xl2
nAGENGNMkkCX0W8aIadXlvvnjtzePyTIMU8hdzT/MwXSK8NMzUF7qoxgF+xG
SSa4j9sIwL6/PaTL3mj71c6on4GVBteyB4am5yNMhqY9gKYzneY8Xg+2p5en
PcZJe+5kr/hlslJj8zJaKUKl9DLbKAuy9v4ZGGuZbY/J7x0NWoyen2d+jVIJ
oeLagUY7fZ0G7nIdsL0DTg72u/VPxdzGUQHwZLDT+iXJ7F7fkiyCke4P94ZD
bwCbvb8Kqx+ATxABAcwKJVhnK7E0wVWMBqs5FGNwWoy1xn2/SKaAAEF13gKH
vkSZgSWeANjUxTfVorB+QnUHakNGLfYaNNq7JJMtmh/cvwsZz4G2Lar9FQHp
8eXkeh0SQp7QBWAuld17yBdpzmDoVqs7ECcQKYbTfwZv+UfwlIfwv/3dHe/V
/vbev2Qq/RH+P/wXDC79uEzwjzEACQW7DXAWpvUbTMB7Txwhdm6xh/B4vIi0
CtVdftNiJaDNpUylv8hgVUmQlGFSrm956aH2vZPTFvBy4YGrBcwMuKiFxDvs
UQ/31tIXlZWfj8BN0VMvTUIwbJ4u+nkILJd/He71B8OvE1XmYAFuvh4r0GVg
PGHS2v9ax0BXuBlZsyRRA9gJGpNiMA4Pv1fyRs7Zl7CWiQCnO8CqAXrB5pwB
vcx0W+HKmXrIv4WtaOQYxpNxoV048lbGJkLBduzoch09UeKBq268PM3Qgmdk
ZfyFTGFZGMkZDgav+gev9nvbvW3Q+zs7u6Od3vbX4dCl3iFRjJS3LMPCcqY4
nEuYYvEckcTmBMhTIIOp7AVK8RDZOVMxgJr1Dd4As6owybVDj4mCJTVcsqvL
4av1FMkSDKmFSI1FPwhCIsRwcPD19Ph67KES8IajrwRLlhnpMpM+LBIU9oxI
Idk/lYYSBVjok2C0uzs8cGLzeUWR/KW4BdyVKzvLVk0GRMCQvGmxhg6kzA6P
Tt++v2ijhULGKDwt/YysAr4FDLEUzpvNFGxIoWWl7ZEbWvb9BcsDD+cwmmZJ
3qJEQCaOkhZ4foROV4vyB+XzNnlo10zvE39RtFH0iLySzPS9AhiImJOjo+PJ
b6PlasjqKANtg4jfsgp4xJ+TcDaZvH+edADHJzK6Uy3q4hlbAKJzpLIiiVtE
6y26whhMabfP4PSFoXyCRpewjqvfRKMhGgWHQMxjSKHnVEtJUYOGWnqehOAy
XSZBoKaxbsMJQIdJEiVZcpvftPDahAyhjr+1bcVz/AaW9OrX/5OHDfldZbjh
fkvkGSx6nhMreHFoozByloF68jEUBF3sfyU1tWIOazXGpDuP/6Z8BnftYs0O
CEE8DMKhanuB/ftN/GowLfBIiBTYRwp8vjxqc7HXMNNBf3t3Fcx+BGBVwJqV
0ICpw1Bo0NXyBtd0IXETFSKADL3c3hQD7x1CB34zCgm0eemqYVmfFShn9Kvb
9Teg4hb+W0eWt2X4UHkuhx+vv/wmshzsNtyzKjYIW2lSyqdaFr3JQkY6c3ad
4z6/Q8QOMxkvWtQQ6P+PWQgWskUNAQS4BkC2kPkTGOCLvFVZ6S9cGjXMHxHq
9M1vItNwsLvt0ukiCRQlkU3IkuhAMcxaGZGlj0nmUIReHJwABXEK7v6iNYCI
ga5f/zsGVNFq4mmN72SUyhhsSt4GAqfgPuaeD6MlBAFzs/3kz5IXH7hS31M+
gJ8eigb4biAUWTIFN7NnX6M3/ISD5LHfDPKTK4w0aSoSqliArbV9Cu5T2D7p
FafPF0gZaNB66S3eBmHB9+Dzheph2JLEQ59DRxhwluGtTkJVWIbY7g/2+sPd
fl6CvQBBkLAXcZEl6QPlwxvrnlAbGBwaAT9QK4ERQq7KeHY1wPRmng2h57Au
efcfUxWDcR1uy2cjSQk0zfOw+onxG3Cj9uXBgT8dHQTD2QA6He1sy93t0dT3
/WHgvxqoYO/VvlLT5oYeBgHvErjyAGfjBCPvs1DONxqTmv7eSQ0PBv7ecDfY
2T7Y9/09f3+6N1TTV/v7w+DVzuBgewheyYFsYtKNC1Df4n/lcqb+JDZPxlvV
zHJC4YEiy0cztOGnp2JkzVDPeHI17kcq0LLfyEVS9Ad66e9yyYQTQnOCYlxN
UUXMMuBGzE2uWmHquo6OXZmGZISxDydY9lRSPeesuhsWuqCk0GgwGpJzqDJM
Y+m4TRWievBADT6kXpGQIhwOwBFkF2iF0T8vHoxns1BhIMpUTFUBog6El7Gt
TDIekUlqvSyQXc1zPSA6aK6lJWi3spadwfZomzXa6low01EkwC7opIEKEsok
F3s+JRcd340CYr9/IXZLOP4xlslo8FK7NBr09wcNs7RhEgWMVpb88nYMV+Fm
BHDNCrIXLAwQzc8gBnOc/PoWZ/A0xxaTNrt9VkoxXrT5F2+1/IYYs7XBe0yV
wHJbHn9WMRnrz2syY6OBTaMPOI1Ol/sDezka7drL7f2qwfbB0F7uDAf1pXO3
qq/ZGdUNRlWpzc7OXnW5t20vd3ertrv1EHuD/epytFO3tZcHgE5edzq9Xk/I
aY6Ituh0mnvdxr+5yAErCZmLYNUsO8GKBaAqgcILbJUmaRlKhomAtQQguiCJ
9Le6/pCULeDFyogHCYwUJ4XgekDkRSnypMw4db/Q80Xv51KG2Ja7i1Wee6T7
4kJkJp/dFYvkTsGYcCGxRABQKKqXQuhmth87hSnkrqTKcJ7AZBZRLiL5AMpJ
3JYhVglOQ4XC7oMHDAuENxyMjxTgmI6unCFpBCoo6T1eapN8PCTAWeAxH2aJ
z5TMcRrwBpPc9AKux4KRtrMpd4DtFFks8MZ8oLYNseMtQCQ9kNYcI5NA4UwV
gispYY5+WILSEtMEwMYMelo45KTFYAfmZSyFg9GtsRKmIhQ5iopCqT3+giVi
OG8wWWSUAjtjLNksAGwzzalIIg2TB7ZbvIYmNc2an6KqxK3CnmE/Yo+cSzsx
fKTjW51rs2W4mFvgGnicZJY8eQOBw4xToB6+gFWLQt3jDmGUZYnDq35yj0Up
0kEQqk7nB/CDAbUFvMxO5zyuSk16XGrSKLEA1DHeWst23Wd2D1kahDfQnPwJ
kUcBOZpSViD3LEsioA3vqH3LPIb1b159eLPFFMsdP465rWZ+FkGyB8Rg9eSB
ca0QGlquHYp2C+g21WBlaNvrpsRnKF6kMAAgyRwRL3atZjPY6lrh4M7AgjTF
asC43WJ640Y9AG7JlRLKm3td8fjooJTv37dQJaSKqNFKyNwOXqIRzFFfAECi
nw5lpO/rgBgVFpBy5ANE4hAmWFD/cPvx0dRKfv/Omxcr3AagtWzSjXbLgOFa
rTkkoQBDnsB7Cx0DEkSsTADDykvd3lGkj491+eX37zgjKh4ugI6OmjDjtu4V
jA0CGIYqngOpu7RemcFyUYt3BfpE4KIE4jy5NnCGJTSPoJWPSNKDmdiAMcyD
tLnRxEwtVsL1C1gobahCeyGbKh4YFdlvmkDbLqxCA0dEGHjBCAyKDqUV4wJe
B62pYRTWGDnByURghQluB/aDeFLJAOkXJFQwgYK0IPYyVZMeCe2ygRs3rKBB
QJY5l5zUZmnZKuY+tOKF4g87t+WyztIussq5QzIZa/x0f0HdHypiy4pPWIG8
IkqtO5B3xKzEHWkS4g6EFRaMD2PfNTO2c2s1HBH1xMm9r1JO48PvDrfx5Fb0
T3NMh/AVMsgUTO2luIAMF3MM8GAjCb2MBJiBSLBhZg9kRFIYGWxegLwEOADd
RRCE1jm2gB8kDPaWKcqD+PAUb1VWEn6fPmAlFCJ5uzko5gxqYD/zaltRrMz1
/qC6BvBZXQP6rK4BczrXQ+f6oL4eOW1Go/p6Z6++3tuurgF61tcHdZ8APuvr
0Y69Rsz5/TtI1mStgUciJ4VJDpl02C2oLTCvxDRr8FrTENUGy2vmZO0QWGum
rXUMcRt9U5CA+xCiu1EsMjAkSQbOy5zKKeQ9xnZTbAY7egtdo9q/VV0Bljun
yDfeBFcRr7u0nWFib2cqwoTn46NTTgEkEOcFmW4y1gG0QUxEMgcqcj3+sVom
BR2Kuk2GMDoygykxMFqiMBVg5q3Hx6qelHahLjXD9mEIoyFp0yqKj5wI4lFZ
c0eCkXR5EqkaD63ZkWV7hGbgaHIOo4H0gK6HJyCFpng3Wy7eVXXx7loiwADW
KxGsB5engDS4y7Cygu3L0y6KmQBI/D3QH/gjUwyG1r3WqDZzlTXqIjtesfKy
Y1WxtrEdgRgPAwwV6FxUM9IiXILpTHuMaRIdWkGybKIRZ/+fUFehvlGNJWFP
jv2ALZsvCozSpI1pEcIHmMu2lY73WHDXmCCgDnNXRrWZMJYbphoBsNcpInQN
D1ecOBSgsyErIaxPYI1yOWT15sAMaMd5Vbo2+UNzf8hKibJA/B5lPugSY/tw
QVobppnAvhgsgoRQTgkx3QLhQw4nDNsoKH8CMLh42sa0Xuo3MlOigxOWOfN5
ptYx+NrRllcl7pS8QaOo6plYTxZ/kRT7rNxhrDGiX10uq5i9ob6tGgEizdCI
TkNHa4AXliUxCTutZ13XRgZQUCq4aR070hALwEB35NQtCb7Vjw1oGnC92BI0
dVxlGYCyy7H8BW0DjAx63lp5RqFUUG4dR+4PfwNEjlw/4yQO9m+ddSxMd/e1
nprRzbo+EdA16hyd4jJK+ZYKYfOxsgQkA/c0hN3K6QxkTsEL8klDshNYktor
Ej5XJ0jLAGoR8yQJjL4lRe5WmJDvMgcDFiPSeHyk8CGapIlS7G/QQnXul3le
qdQKr+SsVZqBcDLqp41BcCOptyla9TyvvGms0q8s5zrqevURAhTy+jgB2hD0
INhILmkhsx9U1j/VRW8GVoLmGnG2DQ+F5g7DohcCcwkDApLNrfbcqndUI24N
fPssaF+yBLozPSFLodsxo/LX2Gdlgt2Q9gcCMDuAAM8kpRuW+YqkbPqA6ANs
I2yZ8dvUPfwkBVHYkk5NarOiHI7N7jCbFLIGSUqWCK2r8dloztbdBdfaZ60A
vOaHSQlMBGoYjHZiWoIEFwitv5GTnKHs4DnNpEj8JDRW5Pr9pCsmkzOGQufv
Tm5HvA4ZBCuRCLPz1iAYbG1sgi70HLEHqY8VVeGod+C+N4haSLmASgNaaxP7
8UF6MtBCRocgzpsiC7Jqq9TrOTK1W/9cmUDXD+sKOs4F+gfFgvp5qQaHfcDW
hXwSmRj1hzkEjjGiyrNKjN4KERWTfDd9G4VhmLgoo541SIW4eN/jiEBVnAyr
4iR8bhI++hsjE1AFtLQSd9+JLSKvTB9sDszDg2EEXOloVg4NK3jHWoLNNaIZ
CjxxcwysJD1OCKBqvUtqw87FJstGvDbcTpQvWfbHa/zi4XFroF78QAKEh7Q5
MIB+bZQCnEd6MHehkx9q/J1YmsKe5FfhCuY1Gzmnz2D3gOnnfH+qijuE7ecn
16fMEMzpuNbKjzNG6Y40zJS8xxmHjYFXqQbS8ADAa4pltXrmjSWjZe1WgSGw
1awOyFEnCNVDs/ng5ppUQQL/+LjmrB9Jzvp4s8lNi5nJOnfXAs7uk2HZJa/2
8bFKnv89+G0VteEcKjhgcW+d4aamdW6ZfuVzIHRZnamwv9mDFxg9I51sIyLP
xFCaoVbkQYycSdsKPKhuSzgdyDQFmJ434yBTGHaGaAItOEVhHOfqCT+C2PqZ
npYEqdGBJ8SEEMu6kD0aiYJishY5omdYxWWVzXAgxGwNL1plqMPQhHgBj8Cs
QEpuyRckSX5xUoVECTB6mGhXrUaerUdq5hyM04deKNo5GGCuKgzShJU0bBVu
0rGPKML4OlVsZskjTROw6NahqSrAiUdpg0ETJCiYpS4qFc8T5GgR4FbAcEFA
hS11NBjmxz6r5sksqTHHV0OX263jweiryv1MTwkJg+4ACsV0Hng5Wlx3KlPY
UAlcwFi5YjXjA4s0V2WQ9MwOO5AW50d4Q/Jggc1NQCM8bG7o3Bp5xqxahtH6
dhb3GiF+woWOXW362y8S2bycgp4kcPG0+Dqiy7IsK8oYFSpYnKOEIk2wX322
7EvuCujd9Ym0p3zwPySd9k9JoxEoRCDbyFBm+AGK2Gig5SRbGUeghSkSt5Jm
o3AtqjZ2xk30CRVPKnXGQBumDXdLiyGRBW0AF/WKj7qp5IJTJ1SRW45WAewu
njKzEUfskzUUmW9eDVhBhUKDLREONiyPkXTjSGITlIK6nj/yMDE4TmLUcdT0
k8HlxArHhhWQMzjehp+nycXGxafJNX4KB3+KDx/p+urk3z+dX50c4/Xk7PD9
++rCtpicffz0/ri+qt8cf7y4OPlwzC/DXbF06+Lwrxu8tI2Pl9fnHz8cvt/g
oI7LsDKzpNb2YD8LvdU1tLKj8aUY7jAX47dEqrDw8BXKLYaFeKgkBp7gXznk
nqYAEAnZwBb4MsVsB+KNnNyvWCBrE0HtZ4yIVR5/4F/ZvLcJWZWgtpmSdZJ1
C36PjNlocucMxv/YbHXXSJIZi1wWzLtV06Ch/5E57dVM9icaBzu2hHoN7j1+
W4FPGaSLrr30i/uukVT6/bU4/+NUENNmlmCYmpzWQqUosg6/uqk8erw52qKS
WtPvrjf09vCho0dhMf+5/l9n5FGNX4qnJ/FrILvD0ebgfjAQv/wivuB/wDSM
NgH2j7fwt8Fg4HkeXiG+1/dwRdVC9f3Ls82Lra2uIcOFgQBr/d0ujACPt0fU
ReIXqnAi6liBJLtLyOObyhCbmOEoZ5vkGCXgoqoqRodp3GJBvT2/nC3cIHp/
s1pV/QixgInVUn/D0b6ZK5Cu+sQHjkpd7O306KkI9By1K2UN+WsAPZA1TQmZ
Qs2xJMhr3RbDfDs7+6n5hg1e///Ha6O/g9fenYx291Z2Z+c3M1tXDIc7L+U4
JM8X6gWa7b76fVxH71ect8x1a5luZVnmMB9M50VMt71XM90pzn2Iypn6MGzS
FQP+HAz+ygsdW1ogVMAPvnFVwFq+BRr+IYxbm6dxwzyNnzNPVEy1uSZGtGSs
5JK5qusx/+HWihRO01aN/8G2avyMraJvlKFa4Jb/SOXATZ5QDzls3xaz9Kyh
J7a9UaUlGOk/oSUC9MYVf5WJ/r0TP4qzi8Px13ebP5GQuKJV6wJgzhGLyOa9
I2e2F7gx1UVumyyGW1s8ApPpT7/88iegHuc1kQhA45jrYlBaRIJ+LONT0DTK
FM6w6ODkeN8Qw77rcsGnkbu6I7v1FVWxyIhNXxao7DW/UWZ4WhS3vCTo/hN7
ZBROpxuK8pJTE9ygdqwVu64KA+psWlbDBKRRTTJv0gnUJh8BckdAdccDMAmZ
GeBpQi666dYeHDD5cuoF13+/POHV7mxMCEuQMOzNmtpYYE6dPODnLYl4gfGB
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

-->

</rfc>
