rfc9909.original.xml   rfc9909.xml 
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE rfc [ <!DOCTYPE rfc [
<!ENTITY nbsp "&#160;"> <!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;"> <!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;"> <!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;"> <!ENTITY wj "&#8288;">
]> ]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4. <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft
4) --> -ietf-lamps-x509-slhdsa-09" number="9909" updates="" obsoletes="" xml:lang="en"
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs
-ietf-lamps-x509-slhdsa-09" category="std" consensus="true" submissionType="IETF ="true" symRefs="true" version="3">
" tocInclude="true" sortRefs="true" symRefs="true" version="3">
<!-- xml2rfc v2v3 conversion 3.29.0 -->
<front> <front>
<title abbrev="SLH-DSA for X.509">Internet X.509 Public Key Infrastructure:
Algorithm Identifiers for SLH-DSA</title> <title abbrev="SLH-DSA for X.509">Internet X.509 Public Key Infrastructure -
<seriesInfo name="Internet-Draft" value="draft-ietf-lamps-x509-slhdsa-09"/> - Algorithm Identifiers for the Stateless Hash-Based Digital Signature Algorithm
(SLH-DSA)</title>
<seriesInfo name="RFC" value="9909"/>
<author initials="K." surname="Bashiri" fullname="Kaveh Bashiri"> <author initials="K." surname="Bashiri" fullname="Kaveh Bashiri">
<organization>BSI</organization> <organization>BSI</organization>
<address> <address>
<email>kaveh.bashiri.ietf@gmail.com</email> <email>kaveh.bashiri.ietf@gmail.com</email>
</address> </address>
</author> </author>
<author initials="S." surname="Fluhrer" fullname="Scott Fluhrer"> <author initials="S." surname="Fluhrer" fullname="Scott Fluhrer">
<organization>Cisco Systems</organization> <organization>Cisco Systems</organization>
<address> <address>
<email>sfluhrer@cisco.com</email> <email>sfluhrer@cisco.com</email>
skipping to change at line 45 skipping to change at line 46
<address> <address>
<email>daniel.vangeest@cryptonext-security.com</email> <email>daniel.vangeest@cryptonext-security.com</email>
</address> </address>
</author> </author>
<author initials="S." surname="Kousidis" fullname="Stavros Kousidis"> <author initials="S." surname="Kousidis" fullname="Stavros Kousidis">
<organization>BSI</organization> <organization>BSI</organization>
<address> <address>
<email>kousidis.ietf@gmail.com</email> <email>kousidis.ietf@gmail.com</email>
</address> </address>
</author> </author>
<date year="2025" month="June" day="30"/> <date year="2025" month="December"/>
<area>sec</area> <area>SEC</area>
<workgroup>LAMPS - Limited Additional Mechanisms for PKIX and SMIME</workgro <workgroup>lamps</workgroup>
up>
<keyword>SLH-DSA</keyword> <keyword>SLH-DSA</keyword>
<keyword>SPHINCS+</keyword> <keyword>SPHINCS+</keyword>
<keyword>PQ Signatures</keyword> <keyword>PQ Signatures</keyword>
<keyword>post-quantum X.509</keyword> <keyword>post-quantum X.509</keyword>
<abstract> <abstract>
<?line 128?>
<t>Digital signatures are used within X.509 Public Key Infrastructure such as X. 509 certificates, Certificate Revocation Lists (CRLs), and to sign messages. Th is document specifies the conventions for using the Stateless Hash-Based Digital Signature Algorithm (SLH-DSA) in X.509 Public Key Infrastructure. The conventi ons for the associated signatures, subject public keys, and private keys are als o specified.</t> <t>Digital signatures are used within the X.509 Public Key Infrastructure, such as X.509 certificates and Certificate Revocation Lists (CRLs), as well as to sig n messages. This document specifies the conventions for using the Stateless Has h-Based Digital Signature Algorithm (SLH-DSA) in the X.509 Public Key Infrastruc ture. The conventions for the associated signatures, subject public keys, and p rivate keys are also specified.</t>
<!-- End of Abstract --> <!-- End of Abstract -->
</abstract> </abstract>
<note removeInRFC="true">
<name>About This Document</name>
<t>
Status information for this document may be found at <eref target="https
://datatracker.ietf.org/doc/draft-ietf-lamps-x509-slhdsa/"/>.
</t>
<t>
Discussion of this document takes place on the
LAMPS Working Group mailing list (<eref target="mailto:spasm@ietf.org"/>
),
which is archived at <eref target="https://mailarchive.ietf.org/arch/bro
wse/spasm/"/>.
Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spasm/"
/>.
</t>
<t>Source for this draft and an issue tracker can be found at
<eref target="https://github.com/x509-hbs/draft-x509-slhdsa"/>.</t>
</note>
</front> </front>
<middle> <middle>
<?line 134?>
<section anchor="introduction"> <section anchor="introduction">
<name>Introduction</name> <name>Introduction</name>
<t>The Stateless Hash-Based Digital Signature Algorithm (SLH-DSA) is a qua <t>The Stateless Hash-Based Digital Signature Algorithm (SLH-DSA) is a qua
ntum-resistant digital signature scheme standardized in <xref target="FIPS205"/> ntum-resistant digital signature scheme standardized in <xref target="FIPS205"/>
by the US National Institute of Standards and Technology (NIST) PQC project <xr by the US National Institute of Standards and Technology (NIST) Post-Quantum Cr
ef target="NIST-PQC"/>. Prior to standardization, the algorithm was known as SPH yptography (PQC) project <xref target="NIST-PQC"/>. Prior to standardization, th
INCS+. SLH-DSA and SPHINCS+ are not compatible. This document defines the ASN.1 e algorithm was known as SPHINCS+. SLH-DSA and SPHINCS+ are not compatible. This
Object Identifiers (OIDs) and conventions for the encoding of SLH-DSA digital si document defines the ASN.1 Object Identifiers (OIDs) and conventions for the en
gnatures, public keys and private keys in the X.509 Public Key Infrastructure.</ coding of SLH-DSA digital signatures, public keys, and private keys in the X.509
t> Public Key Infrastructure.</t>
<t>SLH-DSA offers three security levels. The parameters for each of the s <t>SLH-DSA offers three security levels. The parameters for each of the s
ecurity levels were chosen to be at least as secure as a generic block cipher of ecurity levels were chosen to be at least as secure as a generic block cipher of
128, 192, or 256 bits. There are small (s) and fast (f) versions of the algorit 128, 192, or 256 bits. There are small (s) and fast (f) versions of the algorit
hm, and the option to use the SHA2 algorithm family <xref target="FIPS180"/> or hm, and there is also the option to use the SHA-2 algorithm family <xref target=
SHAKE256 <xref target="FIPS202"/> as internal functions. While the fast versions "FIPS180"/> or SHAKE256 <xref target="FIPS202"/> as internal functions. While th
are optimized for key generation and signing speed, they are actually slower at e fast versions are optimized for key generation and signing speed, they are act
verification than the SLH-DSA small parameter sets. The small versions are opti ually slower at verification than the SLH-DSA small parameter sets. The small ve
mized for signature size, see <xref target="tab-strengths"/>. As an example, id- rsions are optimized for signature size; see <xref target="tab-strengths"/>. As
slh-dsa-shake-256s represents the 256-bit security level, the small version of t an example, id-slh-dsa-shake-256s represents the 256-bit security level, the sma
he algorithm, and the use of SHAKE256.</t> ll version of the algorithm, and the use of SHAKE256.</t>
<t>NIST <xref target="CSOR"/> has assigned separate algorithm identifiers for SLH-DSA for <t>NIST <xref target="CSOR"/> has assigned separate algorithm identifiers for SLH-DSA for
each combination of these security levels, fast vs small, SHA2 vs each combination of these security levels: fast vs. small, SHA-2 vs.
SHAKE256, and pure mode vs pre-hash mode.</t> SHAKE256, and pure mode vs. pre-hash mode.</t>
<t>SLH-DSA signature operations include as input an optional context strin <t>SLH-DSA signature operations include an optional context string (ctx) a
g (ctx), defined in Section 10.2 of <xref target="FIPS205"/>. The context strin s input, defined in Section 10.2 of <xref target="FIPS205"/>. The context strin
g has a maximum length of 255 bytes. By default, the context string is the empt g has a maximum length of 255 bytes. By default, the context string is the empt
y string. This document only specifies the use of the empty context string for u y string. This document only specifies the use of the empty context string for u
se in the X.509 Public Key Infrastructure.</t> se in the X.509 Public Key Infrastructure.</t>
<t>SLH-DSA offers two signature modes: pure mode, where the entire content is signed directly, and pre-hash mode, where a digest of the content is signed. This document uses the term SLH-DSA to refer to the algorithm in general. Whe n a pure or pre-hash mode needs to be differentiated, the terms Pure SLH-DSA and HashSLH-DSA are used. <t>SLH-DSA offers two signature modes: pure mode, where the entire content is signed directly, and pre-hash mode, where a digest of the content is signed. This document uses the term SLH-DSA to refer to the algorithm in general. Whe n a pure or pre-hash mode needs to be differentiated, the terms Pure SLH-DSA and HashSLH-DSA are used.
This document specifies the use of both Pure SLH-DSA and HashSLH-DSA in Public K ey Infrastructure X.509 (PKIX) certificates and Certificate Revocation Lists (CR Ls).</t> This document specifies the use of both Pure SLH-DSA and HashSLH-DSA in Public K ey Infrastructure X.509 (PKIX) certificates and Certificate Revocation Lists (CR Ls).</t>
<section anchor="notation"> <section anchor="notation">
<name>Notation</name> <name>Notation</name>
<t>The following notation is used in this document:</t> <t>The following notation is used in this document:</t>
<ul spacing="normal"> <dl spacing="normal" newline="false">
<li> <dt>a || b:</dt><dd>Concatenation of a and b.</dd>
<t>a || b: concatenation of a and b</t> <dt>id-slh-dsa-*:</dt><dd>A shorthand to refer to all 12 OIDs used to
</li> specify the different parameter combinations for Pure SLH-DSA.</dd>
<li> <dt>id-hash-slh-dsa-*:</dt><dd>A shorthand to refer to all 12 OIDs use
<t>id-slh-dsa-*: A shorthand to refer to all 12 OIDs used to specify d to specify the different parameter combinations for HashSLH-DSA.</dd>
the different parameter combinations for Pure SLH-DSA.</t> </dl>
</li>
<li>
<t>id-hash-slh-dsa-*: A shorthand to refer to all 12 OIDs used to sp
ecify the different parameter combinations for HashSLH-DSA.</t>
</li>
</ul>
<!-- End of introduction section -->
</section> </section>
</section>
<section anchor="conventions">
<name>Conventions</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&nbsp;14 <xref target="RFC2119"/>
<xref target="RFC8174"/> when, and only when, they appear in all capitals,
as shown here.
</t>
</section> </section>
<section anchor="conventions-and-definitions">
<name>Conventions and Definitions</name>
<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14
>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECO
MMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be i
nterpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and
only when, they
appear in all capitals, as shown here.</t>
<?line -18?>
</section>
<section anchor="sec-alg-ids"> <section anchor="sec-alg-ids">
<name>Algorithm Identifiers</name> <name>Algorithm Identifiers</name>
<t>The AlgorithmIdentifier type is defined in <xref target="RFC5912"/> as follows:</t> <t>The AlgorithmIdentifier type is defined in <xref target="RFC5912"/> as follows:</t>
<sourcecode type="asn.1"><![CDATA[ <sourcecode type="asn.1"><![CDATA[
AlgorithmIdentifier{ALGORITHM-TYPE, ALGORITHM-TYPE:AlgorithmSet} ::= AlgorithmIdentifier{ALGORITHM-TYPE, ALGORITHM-TYPE:AlgorithmSet} ::=
SEQUENCE { SEQUENCE {
algorithm ALGORITHM-TYPE.&id({AlgorithmSet}), algorithm ALGORITHM-TYPE.&id({AlgorithmSet}),
parameters ALGORITHM-TYPE. parameters ALGORITHM-TYPE.
&Params({AlgorithmSet}{@algorithm}) OPTIONAL &Params({AlgorithmSet}{@algorithm}) OPTIONAL
} }
]]></sourcecode> ]]></sourcecode>
<aside> <aside>
<t>NOTE: The above syntax is from <xref target="RFC5912"/> and is compat ible with the 2021 ASN.1 syntax <xref target="X680"/>. <t>NOTE: The above syntax is from <xref target="RFC5912"/> and is compat ible with the 2021 ASN.1 syntax <xref target="X680"/>.
See <xref target="RFC5280"/> for the 1988 ASN.1 syntax.</t> See <xref target="RFC5280"/> for the 1988 ASN.1 syntax.</t>
</aside> </aside>
<t>The fields in AlgorithmIdentifier have the following meanings:</t> <t>The fields in AlgorithmIdentifier have the following meanings:</t>
<ul spacing="normal"> <ul spacing="normal">
<li> <li>
<t>algorithm identifies the cryptographic algorithm with an object ide ntifier.</t> <t>algorithm identifies the cryptographic algorithm with an object ide ntifier.</t>
</li> </li>
<li> <li>
<t>parameters, which are optional, are the associated parameters for t he algorithm identifier in the algorithm field.</t> <t>parameters, which is optional, identifies the associated parameters for the algorithm identifier in the algorithm field.</t>
</li> </li>
</ul> </ul>
<t>The object identifiers for SLH-DSA are defined in the NIST Computer Sec urity Objects Register <xref target="CSOR"/>, and are reproduced here for conven ience. <t>The object identifiers for SLH-DSA are defined in the NIST Computer Sec urity Objects Register <xref target="CSOR"/> and are reproduced here for conveni ence.
The same algorithm identifiers are used for identifying a public key, a private key, and a signature.</t> The same algorithm identifiers are used for identifying a public key, a private key, and a signature.</t>
<t>The Pure SLH-DSA OIDs are defined in <xref target="I-D.ietf-lamps-cms-s phincs-plus"/>'s ASN.1 module and reproduced here for convenience:</t> <t>The Pure SLH-DSA OIDs are defined in the ASN.1 module in <xref target=" RFC9814"/> and reproduced here for convenience:</t>
<sourcecode type="asn.1"><![CDATA[ <sourcecode type="asn.1"><![CDATA[
nistAlgorithms OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) nistAlgorithms OBJECT IDENTIFIER ::= { joint-iso-itu-t(2)
country(16) us(840) organization(1) gov(101) csor(3) 4 } country(16) us(840) organization(1) gov(101) csor(3) 4 }
sigAlgs OBJECT IDENTIFIER ::= { nistAlgorithms 3 } sigAlgs OBJECT IDENTIFIER ::= { nistAlgorithms 3 }
id-slh-dsa-sha2-128s OBJECT IDENTIFIER ::= { sigAlgs 20 } id-slh-dsa-sha2-128s OBJECT IDENTIFIER ::= { sigAlgs 20 }
id-slh-dsa-sha2-128f OBJECT IDENTIFIER ::= { sigAlgs 21 } id-slh-dsa-sha2-128f OBJECT IDENTIFIER ::= { sigAlgs 21 }
skipping to change at line 221 skipping to change at line 203
id-hash-slh-dsa-shake-256f-with-shake256 OBJECT IDENTIFIER ::= { id-hash-slh-dsa-shake-256f-with-shake256 OBJECT IDENTIFIER ::= {
sigAlgs 46 } sigAlgs 46 }
]]></sourcecode> ]]></sourcecode>
<t>The contents of the parameters component for each algorithm <bcp14>MUST </bcp14> be absent.</t> <t>The contents of the parameters component for each algorithm <bcp14>MUST </bcp14> be absent.</t>
</section> </section>
<section anchor="slh-dsa-signatures"> <section anchor="slh-dsa-signatures">
<name>SLH-DSA Signatures</name> <name>SLH-DSA Signatures</name>
<t>SLH-DSA is a digital signature scheme built upon hash functions. The se curity of SLH-DSA relies on the security properties of the underlying hash funct ions, such as the presumed difficulty of finding preimages.</t> <t>SLH-DSA is a digital signature scheme built upon hash functions. The se curity of SLH-DSA relies on the security properties of the underlying hash funct ions, such as the presumed difficulty of finding preimages.</t>
<t>Signatures can be placed in a number of different ASN.1 structures. <t>Signatures can be placed in a number of different ASN.1 structures.
The top level structure for a certificate is given below as being The top-level structure for a certificate is given below as being
illustrative of how signatures are frequently encoded with an illustrative of how signatures are frequently encoded with an
algorithm identifier and a location for the signature.</t> algorithm identifier and a location for the signature.</t>
<sourcecode type="asn.1"><![CDATA[ <sourcecode type="asn.1"><![CDATA[
Certificate ::= SIGNED{ TBSCertificate } Certificate ::= SIGNED{ TBSCertificate }
SIGNED{ToBeSigned} ::= SEQUENCE { SIGNED{ToBeSigned} ::= SEQUENCE {
toBeSigned ToBeSigned, toBeSigned ToBeSigned,
algorithmIdentifier SEQUENCE { algorithmIdentifier SEQUENCE {
algorithm SIGNATURE-ALGORITHM. algorithm SIGNATURE-ALGORITHM.
&id({SignatureAlgorithms}), &id({SignatureAlgorithms}),
skipping to change at line 243 skipping to change at line 225
&Params({SignatureAlgorithms} &Params({SignatureAlgorithms}
{@algorithmIdentifier.algorithm}) {@algorithmIdentifier.algorithm})
OPTIONAL OPTIONAL
}, },
signature BIT STRING (CONTAINING SIGNATURE-ALGORITHM.&Value( signature BIT STRING (CONTAINING SIGNATURE-ALGORITHM.&Value(
{SignatureAlgorithms} {SignatureAlgorithms}
{@algorithmIdentifier.algorithm})) {@algorithmIdentifier.algorithm}))
} }
]]></sourcecode> ]]></sourcecode>
<aside> <aside>
<t>The above syntax is from <xref target="RFC5912"/> and is compatible w ith the 2021 ASN.1 syntax <xref target="X680"/>. <t>NOTE: The above syntax is from <xref target="RFC5912"/> and is compat ible with the 2021 ASN.1 syntax <xref target="X680"/>.
See <xref target="RFC5280"/> for the 1988 ASN.1 syntax.</t> See <xref target="RFC5280"/> for the 1988 ASN.1 syntax.</t>
</aside> </aside>
<t>The same algorithm identifiers are used for signatures as are used
<t>The algorithm identifiers used for signatures are the same as those use
d
for public keys. When used to identify signature algorithms, the for public keys. When used to identify signature algorithms, the
parameters <bcp14>MUST</bcp14> be absent.</t> parameters <bcp14>MUST</bcp14> be absent.</t>
<t>The data to be signed is prepared for SLH-DSA. Then, a private key <t>The data to be signed is prepared for SLH-DSA. Then, a private key
operation is performed to generate the raw signature value.</t> operation is performed to generate the raw signature value.</t>
<t>When signing data using the Pure SLH-DSA signature algorithm, Algorithm 22 (slh_sign) from <t>When signing data using the Pure SLH-DSA signature algorithm, Algorithm 22 (slh_sign) from
Section 10.2.1 of <xref target="FIPS205"/> is used. When verifying Pure SLH-DSA signed data, Section 10.2.1 of <xref target="FIPS205"/> is used. When verifying Pure SLH-DSA signed data,
Algorithm 24 (slh_verify) from Section 10.3 of <xref target="FIPS205"/> is used. Algorithm 24 (slh_verify) from Section 10.3 of <xref target="FIPS205"/> is used.
When signing data using the HashSLH-DSA signature algorithm, Algorithm 23 (hash_ slh_sign) from When signing data using the HashSLH-DSA signature algorithm, Algorithm 23 (hash_ slh_sign) from
Section 10.2.2 of <xref target="FIPS205"/> is used. When verifying HashSLH-DSA s igned data, Section 10.2.2 of <xref target="FIPS205"/> is used. When verifying HashSLH-DSA s igned data,
Algorithm 25 (hash_slh_verify) from Section 10.3 of <xref target="FIPS205"/> is used. Algorithm 25 (hash_slh_verify) from Section 10.3 of <xref target="FIPS205"/> is used.
All four of these algorithms create a message, M', from the message to be signed along with other data, All four of these algorithms create a message, M', from the message to be signed along with other data,
and M' is operated on by internal SLH-DSA algorithms. M' may be constructed out side the and M' is operated on by internal SLH-DSA algorithms. M' may be constructed out side the
module that performs the internal SLH-DSA algorithms.</t> module that performs the internal SLH-DSA algorithms.</t>
<t>In the case of HashSLH-DSA, there is a pre-hash component (PH_M) of M'. <t>In the case of HashSLH-DSA, there is a pre-hash component of M' referre
PH_M may be computed d to as PH_M. PH_M may be computed
in the signing/verifying module, in which case the entire message to be signed i in the signing/verifying module; in which case, the entire message to be signed
s sent to the is sent to the
module. Alternatively, PH_M may be computed in a different module. In this case , either PH_M module. Alternatively, PH_M may be computed in a different module. In this case , either PH_M
is sent to the signing/verifying module, which creates M', or M' is created outs ide the is sent to the signing/verifying module, which creates M', or M' is created outs ide the
signing/verifying module and is sent to the module. HashSLH-DSA allows this impl ementation signing/verifying module and is sent to the module. HashSLH-DSA allows this impl ementation
flexibility in order to reduce, and make consistent, the amount of data transfer red to flexibility in order to reduce, and make consistent, the amount of data transfer red to
signing/verifying modules. The hash algorithm or XOF used to generate the pre-h ash when signing and verifying with signing/verifying modules. The hash algorithm or extendable-output function (XO F) used to generate the pre-hash when signing and verifying with
HashSLH-DSA is specified after the "-with-" component of the signature algorithm name. For example, when signing with HashSLH-DSA is specified after the "-with-" component of the signature algorithm name. For example, when signing with
id-hash-slh-dsa-sha2-128s-with-sha256, SHA-256 is used as the pre-hash algorithm . When pre-hashing id-hash-slh-dsa-sha2-128s-with-sha256, SHA-256 is used as the pre-hash algorithm . When pre-hashing
is performed using SHAKE128, the output length is 256 bits. When pre-hashing is performed using is performed using SHAKE128, the output length is 256 bits. When pre-hashing is performed using
SHAKE256, the output length is 512 bits.</t> SHAKE256, the output length is 512 bits.</t>
<t>Section 9.2 of <xref target="FIPS205"/> defines an SLH-DSA signature as <t>Section 9.2 of <xref target="FIPS205"/> defines an SLH-DSA signature as
three elements, three elements:
R, SIG_FORS and SIG_HT. The raw octet string encoding of an SLH-DSA R, SIG_FORS, and SIG_HT. The raw octet string encoding of an SLH-DSA
signature is the concatenation of these three elements, i.e. R || SIG_FORS || SI signature is the concatenation of these three elements, i.e., R || SIG_FORS || S
G_HT. IG_HT.
The raw octet string representing the signature is encoded The raw octet string representing the signature is encoded
directly in the BIT STRING without adding any additional ASN.1 directly in the BIT STRING without adding any additional ASN.1
wrapping. For example, in the Certificate structure, the raw signature wrapping. For example, in the Certificate structure, the raw signature
value is encoded in the "signature" BIT STRING field.</t> value is encoded in the "signature" BIT STRING field.</t>
</section> </section>
<section anchor="sec-pub-keys"> <section anchor="sec-pub-keys">
<name>Subject Public Key Fields</name> <name>Subject Public Key Fields</name>
<t>In the X.509 certificate, the subjectPublicKeyInfo field has the Subjec tPublicKeyInfo type, which has the following ASN.1 syntax:</t> <t>In the X.509 certificate, the subjectPublicKeyInfo field has the Subjec tPublicKeyInfo type, which has the following ASN.1 syntax:</t>
<sourcecode type="asn.1"><![CDATA[ <sourcecode type="asn.1"><![CDATA[
SubjectPublicKeyInfo {PUBLIC-KEY: IOSet} ::= SEQUENCE { SubjectPublicKeyInfo {PUBLIC-KEY: IOSet} ::= SEQUENCE {
algorithm AlgorithmIdentifier {PUBLIC-KEY, {IOSet}}, algorithm AlgorithmIdentifier {PUBLIC-KEY, {IOSet}},
subjectPublicKey BIT STRING } subjectPublicKey BIT STRING }
]]></sourcecode> ]]></sourcecode>
<aside> <aside>
<t>The above syntax is from <xref target="RFC5912"/> and is compatible w ith the 2021 ASN.1 syntax <xref target="X680"/>. <t>NOTE: The above syntax is from <xref target="RFC5912"/> and is compat ible with the 2021 ASN.1 syntax <xref target="X680"/>.
See <xref target="RFC5280"/> for the 1988 ASN.1 syntax.</t> See <xref target="RFC5280"/> for the 1988 ASN.1 syntax.</t>
</aside> </aside>
<t>The fields in SubjectPublicKeyInfo have the following meanings:</t> <t>The fields in SubjectPublicKeyInfo have the following meanings:</t>
<ul spacing="normal"> <ul spacing="normal">
<li> <li>
<t>algorithm is the algorithm identifier and parameters for the public key (see above).</t> <t>algorithm is the algorithm identifier and parameters for the public key (see above).</t>
</li> </li>
<li> <li>
<t>subjectPublicKey contains the byte stream of the public key.</t> <t>subjectPublicKey contains the byte stream of the public key.</t>
</li> </li>
</ul> </ul>
<t><xref target="I-D.ietf-lamps-cms-sphincs-plus"/> defines the following public key identifiers for Pure SLH-DSA:</t> <t><xref target="RFC9814"/> defines the following public key identifiers f or Pure SLH-DSA:</t>
<sourcecode type="asn.1"><![CDATA[ <sourcecode type="asn.1"><![CDATA[
pk-slh-dsa-sha2-128s PUBLIC-KEY ::= { pk-slh-dsa-sha2-128s PUBLIC-KEY ::= {
IDENTIFIER id-slh-dsa-sha2-128s IDENTIFIER id-slh-dsa-sha2-128s
-- KEY no ASN.1 wrapping -- -- KEY no ASN.1 wrapping --
CERT-KEY-USAGE CERT-KEY-USAGE
{ digitalSignature, nonRepudiation, keyCertSign, cRLSign } { digitalSignature, nonRepudiation, keyCertSign, cRLSign }
-- PRIVATE-KEY no ASN.1 wrapping -- } -- PRIVATE-KEY no ASN.1 wrapping -- }
pk-slh-dsa-sha2-128f PUBLIC-KEY ::= { pk-slh-dsa-sha2-128f PUBLIC-KEY ::= {
IDENTIFIER id-slh-dsa-sha2-128f IDENTIFIER id-slh-dsa-sha2-128f
skipping to change at line 476 skipping to change at line 459
{ digitalSignature, nonRepudiation, keyCertSign, cRLSign } { digitalSignature, nonRepudiation, keyCertSign, cRLSign }
-- PRIVATE-KEY no ASN.1 wrapping -- } -- PRIVATE-KEY no ASN.1 wrapping -- }
pk-hash-slh-dsa-shake-256f-with-shake256 PUBLIC-KEY ::= { pk-hash-slh-dsa-shake-256f-with-shake256 PUBLIC-KEY ::= {
IDENTIFIER id-hash-slh-dsa-shake-256f-with-shake256 IDENTIFIER id-hash-slh-dsa-shake-256f-with-shake256
-- KEY no ASN.1 wrapping -- -- KEY no ASN.1 wrapping --
CERT-KEY-USAGE CERT-KEY-USAGE
{ digitalSignature, nonRepudiation, keyCertSign, cRLSign } { digitalSignature, nonRepudiation, keyCertSign, cRLSign }
-- PRIVATE-KEY no ASN.1 wrapping -- } -- PRIVATE-KEY no ASN.1 wrapping -- }
]]></sourcecode> ]]></sourcecode>
<t>Section 9.1 of <xref target="FIPS205"/> defines an SLH-DSA public key a s two n-byte elements, <t>Section 9.1 of <xref target="FIPS205"/> defines an SLH-DSA public key a s two n-byte elements:
PK.seed and PK.root. The raw octet string encoding of an SLH-DSA PK.seed and PK.root. The raw octet string encoding of an SLH-DSA
public key is the concatenation of these two elements, i.e. PK.seed || PK.root. The octet public key is the concatenation of these two elements, i.e., PK.seed || PK.root. The octet
string length is 2*n bytes, where n is 16, 24, or 32, depending on the SLH-DSA p arameter string length is 2*n bytes, where n is 16, 24, or 32, depending on the SLH-DSA p arameter
set. When used in a SubjectPublicKeyInfo type, the subjectPublicKey BIT STRING set. When used in a SubjectPublicKeyInfo type, the subjectPublicKey BIT STRING
contains the raw octet string encoding of the public key.</t> contains the raw octet string encoding of the public key.</t>
<t><xref target="I-D.ietf-lamps-cms-sphincs-plus"/> defines the SLH-DSA-Pu blicKey and SLH-DSA-PrivateKey ASN.1 <t><xref target="RFC9814"/> defines the SLH-DSA-PublicKey and SLH-DSA-Priv ateKey ASN.1
OCTET STRING types to provide an option for encoding a Pure SLH-DSA public or pr ivate key in an OCTET STRING types to provide an option for encoding a Pure SLH-DSA public or pr ivate key in an
environment that uses ASN.1 encoding but doesn't define its own mapping of an environment that uses ASN.1 encoding but doesn't define its own mapping of an
SLH-DSA raw octet string to ASN.1. HashSLH-DSA public and private keys can use S LH-DSA-PublicKey SLH-DSA raw octet string to ASN.1. HashSLH-DSA public and private keys can use S LH-DSA-PublicKey
and SLH-DSA-PrivateKey in the same way. To map an SLH-DSA-PublicKey OCTET STRIN G to and SLH-DSA-PrivateKey in the same way. To map an SLH-DSA-PublicKey OCTET STRIN G to
a SubjectPublicKeyInfo, the OCTET STRING is mapped to the subjectPublicKey a SubjectPublicKeyInfo, the OCTET STRING is mapped to the subjectPublicKey
field (a value of type BIT STRING) as follows: the most significant field (a value of type BIT STRING) as follows: The most significant
bit of the OCTET STRING value becomes the most significant bit of the BIT bit of the OCTET STRING value becomes the most significant bit of the BIT
STRING value, and so on; the least significant bit of the OCTET STRING STRING value, and so on; the least significant bit of the OCTET STRING
becomes the least significant bit of the BIT STRING.</t> becomes the least significant bit of the BIT STRING.</t>
<t>The AlgorithmIdentifier for an SLH-DSA public key <bcp14>MUST</bcp14> u se one of the id-slh-dsa-* or id-hash-slh-dsa-* object identifiers from <xref ta rget="sec-alg-ids"/>. The parameters field of the AlgorithmIdentifier for the SL H-DSA public key <bcp14>MUST</bcp14> be absent.</t> <t>The AlgorithmIdentifier for an SLH-DSA public key <bcp14>MUST</bcp14> u se one of the id-slh-dsa-* or id-hash-slh-dsa-* object identifiers from <xref ta rget="sec-alg-ids"/>. The parameters field of the AlgorithmIdentifier for the SL H-DSA public key <bcp14>MUST</bcp14> be absent.</t>
<t><xref target="example-public"/> contains an example of an id-slh-dsa-sh a2-128s public <t><xref target="example-public"/> contains an example of an id-slh-dsa-sh a2-128s public
key encoded using the textual encoding defined in <xref target="RFC7468"/>.</t> key encoded using the textual encoding defined in <xref target="RFC7468"/>.</t>
</section> </section>
<section anchor="key-usage-bits"> <section anchor="key-usage-bits">
<name>Key Usage Bits</name> <name>Key Usage Bits</name>
<t>The intended application for the key is indicated in the keyUsage certi ficate extension; see <xref section="4.2.1.3" sectionFormat="of" target="RFC5280 "/>. If the keyUsage extension is present in a certificate that indicates an id -slh-dsa-* (Pure SLH-DSA) or id-hash-slh-dsa-* (HashSLH-DSA) identifier in the S ubjectPublicKeyInfo, then at least one of the following <bcp14>MUST</bcp14> be p resent:</t> <t>The intended application for the key is indicated in the keyUsage certi ficate extension; see <xref section="4.2.1.3" sectionFormat="of" target="RFC5280 "/>. If the keyUsage extension is present in a certificate that indicates an id -slh-dsa-* (Pure SLH-DSA) or id-hash-slh-dsa-* (HashSLH-DSA) identifier in the S ubjectPublicKeyInfo, then at least one of the following <bcp14>MUST</bcp14> be p resent:</t>
<artwork><![CDATA[ <ul spacing="normal">
digitalSignature <li>digitalSignature</li>
nonRepudiation <li>nonRepudiation</li>
keyCertSign <li>keyCertSign</li>
cRLSign <li>cRLSign</li>
]]></artwork> </ul>
<t>If the keyUsage extension is present in a certificate that indicates an id-slh-dsa-* (Pure SLH-DSA) or id-hash-slh-dsa-* (HashSLH-DSA) identifier in th e SubjectPublicKeyInfo, then the following <bcp14>MUST NOT</bcp14> be present:</ t> <t>If the keyUsage extension is present in a certificate that indicates an id-slh-dsa-* (Pure SLH-DSA) or id-hash-slh-dsa-* (HashSLH-DSA) identifier in th e SubjectPublicKeyInfo, then the following <bcp14>MUST NOT</bcp14> be present:</ t>
<artwork><![CDATA[ <ul spacing="normal">
keyEncipherment, <li>keyEncipherment</li>
dataEncipherment, <li>dataEncipherment</li>
keyAgreement, <li>keyAgreement</li>
encipherOnly, and <li>encipherOnly</li>
decipherOnly. <li>decipherOnly</li>
]]></artwork> </ul>
<t>Requirements about the keyUsage extension bits defined in <xref target= "RFC5280"/> still apply.</t> <t>Requirements about the keyUsage extension bits defined in <xref target= "RFC5280"/> still apply.</t>
</section> </section>
<section anchor="private-key-format"> <section anchor="private-key-format">
<name>Private Key Format</name> <name>Private Key Format</name>
<t>"Asymmetric Key Packages" <xref target="RFC5958"/> describes how to enc ode a private <t>"Asymmetric Key Packages" <xref target="RFC5958"/> describes how to enc ode a private
key in a structure that both identifies what algorithm the private key in a structure that both identifies what algorithm the private
key is for and optionally allows for the public key and additional attributes key is for and optionally allows for the public key and additional attributes
about the key to be included as well. For illustration, the ASN.1 about the key to be included as well. For illustration, the ASN.1
structure OneAsymmetricKey is replicated below.</t> structure OneAsymmetricKey is replicated below.</t>
<sourcecode type="asn.1"><![CDATA[ <sourcecode type="asn.1"><![CDATA[
skipping to change at line 538 skipping to change at line 521
..., ...,
[[2: publicKey [1] IMPLICIT PublicKey OPTIONAL ]], [[2: publicKey [1] IMPLICIT PublicKey OPTIONAL ]],
... ...
} }
PrivateKey ::= OCTET STRING PrivateKey ::= OCTET STRING
PublicKey ::= BIT STRING PublicKey ::= BIT STRING
]]></sourcecode> ]]></sourcecode>
<aside> <aside>
<t>The above syntax is from <xref target="RFC5958"/> and is compatible w ith the 2021 ASN.1 syntax <xref target="X680"/>.</t> <t>NOTE: The above syntax is from <xref target="RFC5958"/> and is compat ible with the 2021 ASN.1 syntax <xref target="X680"/>.</t>
</aside> </aside>
<t>Section 9.1 of <xref target="FIPS205"/> defines an SLH-DSA private key as four n-byte <t>Section 9.1 of <xref target="FIPS205"/> defines an SLH-DSA private key as four n-byte
elements, SK.seed, SK.prf, PK.seed and PK.root. The raw octet string elements: SK.seed, SK.prf, PK.seed, and PK.root. The raw octet string
encoding of an SLH-DSA private key is the concatenation of these four encoding of an SLH-DSA private key is the concatenation of these four
elements, i.e. SK.seed || SK.prf || PK.seed || PK.root. The octet string elements, i.e., SK.seed || SK.prf || PK.seed || PK.root. The octet string
length is 4*n bytes, where n is 16, 24, or 32, depending on the SLH-DSA paramete r length is 4*n bytes, where n is 16, 24, or 32, depending on the SLH-DSA paramete r
set. When used in a OneAsymmetricKey type, the privateKey set. When used in a OneAsymmetricKey type, the privateKey
OCTET STRING contains the raw octet string encoding of the private key.</t> OCTET STRING contains the raw octet string encoding of the private key.</t>
<t>When an SLH-DSA public key is included in a OneAsymmetricKey type, it i s <t>When an SLH-DSA public key is included in a OneAsymmetricKey type, it i s
encoded in the same manner as in a SubjectPublicKeyInfo type. That is, the encoded in the same manner as in a SubjectPublicKeyInfo type. That is, the
publicKey BIT STRING contains the raw octet string encoding of the public publicKey BIT STRING contains the raw octet string encoding of the public
key.</t> key.</t>
<t><xref target="example-private"/> contains an example of an id-slh-dsa-s ha2-128s private <t><xref target="example-private"/> contains an example of an id-slh-dsa-s ha2-128s private
key encoded using the textual encoding defined in <xref target="RFC7468"/>.</t> key encoded using the textual encoding defined in <xref target="RFC7468"/>
.</t>
<aside>
<t>NOTE: There exist some private key import functions that have not <t>NOTE: There exist some private key import functions that have not
picked up the new ASN.1 structure OneAsymmetricKey that is defined in picked up the ASN.1 structure OneAsymmetricKey, which is defined in
<xref target="RFC5958"/>. This means that they will not accept a private key <xref target="RFC5958"/>. This means that they will not accept a private key
structure that contains the public key field. This means a balancing structure that contains the public key field. This means a balancing
act needs to be done between being able to do a consistency check on act needs to be done between being able to do a consistency check on
the key pair and widest ability to import the key.</t> the key pair and widest ability to import the key.</t>
</aside>
</section> </section>
<section anchor="operational-considerations"> <section anchor="operational-considerations">
<name>Operational Considerations</name> <name>Operational Considerations</name>
<t>SLH-DSA uses the same OID to identify a public key and a <t>SLH-DSA uses the same OID to identify a public key and a
signature algorithm. The implication of this is that, despite being signature algorithm. The implication of this is that, despite being
mathematically possible, an SLH-DSA key identified by a Pure SLH-DSA OID mathematically possible, an SLH-DSA key identified by a Pure SLH-DSA OID
is not permitted to be used to generate or verify a signature identified by is not permitted to be used to generate or verify a signature identified by
an HashSLH-DSA OID, and vice-versa.</t> a HashSLH-DSA OID, and vice versa.</t>
<t>CA operators will need to decide in advance whether their CA certificat <t>Certification authority (CA) operators will need to decide in advance w
es hether their CA certificates
will use Pure SLH-DSA or HashSLH-DSA and assign the appropriate OID to will use Pure SLH-DSA or HashSLH-DSA and assign the appropriate OID to
the public and private keys when generating their certificate. Some of the foll owing the public and private keys when generating their certificate. Some of the foll owing
considerations may affect this decision.</t> considerations may affect this decision.</t>
<ul spacing="normal"> <ul spacing="normal">
<li> <li>
<t>When using an external signing module, such as an HSM, the size of data that <t>When using an external signing module, such as a Hardware Security Module (HSM), the size of data that
can be transferred to and processed by the signature module may be limited. can be transferred to and processed by the signature module may be limited.
SLH-DSA performs two passes on the internal M' message, so it must be held SLH-DSA performs two passes on the internal M' message, so it must be held
in memory. Using HashSLH-DSA reduces the size of M'.</t> in memory. Using HashSLH-DSA reduces the size of M'.</t>
</li> </li>
<li> <li>
<t>Large CRLs might also exceed the size limits of HSM signing operati ons when using <t>Large CRLs might also exceed the size limits of HSM signing operati ons when using
Pure SLH-DSA. One way to limit the size of CRLs is to make use of CRL Distributi on Pure SLH-DSA. One way to limit the size of CRLs is to make use of CRL Distributi on
Points and Issuing Distribution Points to create partitioned CRLs in accordance with Points and Issuing Distribution Points to create partitioned CRLs in accordance with
<xref section="5.2.5" sectionFormat="of" target="RFC5280"/>.</t> <xref section="5.2.5" sectionFormat="of" target="RFC5280"/>.</t>
</li> </li>
<li> <li>
<t>EE certificates with many SANs might also exceed the size limits of HSM signing operations.</t> <t>End Entity (EE) certificates with many subject alternative names (S ANs) might also exceed the size limits of HSM signing operations.</t>
</li> </li>
<li> <li>
<t>Potential verifiers' environments might need to be considered. The entire certificate or <t>Potential verifiers' environments might need to be considered. The entire certificate or
CRL needs to be held in memory during SLH-DSA signature verification, it cannot CRL needs to be held in memory during SLH-DSA signature verification; it cannot
be be
streamed. In particular, there is a randomizer (R) which is extracted from the S streamed. In particular, there is a randomizer (R) that is extracted from the SL
LH-DSA signature and H-DSA signature and
fed to a digest function before M' is. Thus, to stream a message for SLH-DSA ver fed to a digest function before M' is. Thus, to stream a message for SLH-DSA ver
ification the ification, the
signature must come before the message. This is not the case for certificates an d CRLs. Using signature must come before the message. This is not the case for certificates an d CRLs. Using
HashSLH-DSA reduces the size of the M' being held in memory.</t> HashSLH-DSA reduces the size of the M' being held in memory.</t>
</li> </li>
</ul> </ul>
<t>An SLH-DSA private key has a very large (2^64) number of signatures it can <t>An SLH-DSA private key has a very large (2<sup>64</sup>) number of sign atures it can
safely generate (see <xref target="sec-cons"/>). If an operator might conceivab ly generate a safely generate (see <xref target="sec-cons"/>). If an operator might conceivab ly generate a
number of signatures approaching this limit, they should mitigate potential harm by number of signatures approaching this limit, they should mitigate potential harm by
tracking the number of signatures generated and destroying the private key once tracking the number of signatures generated and destroying the private key once
an appropriate limit is reached, or by setting the "Not After" (expiration) date an appropriate limit is reached or by setting the "Not After" (expiration) date
of of
the certificate such that the the limit couldn't possibly be surpassed given the the certificate such that the limit couldn't possibly be surpassed given the
rate of signing.</t> rate of signing.</t>
</section> </section>
<section anchor="sec-cons"> <section anchor="sec-cons">
<name>Security Considerations</name> <name>Security Considerations</name>
<t>The security considerations of <xref target="RFC5280"/> apply according ly. Moreover, the security aspects <t>The security considerations of <xref target="RFC5280"/> apply according ly. Moreover, the security aspects
mentioned throughout <xref target="FIPS205"/> should be taken into account; see for instance Sections 3.1 mentioned throughout <xref target="FIPS205"/> should be taken into account; for instance, see Sections 3.1
and 3.2 or the beginning of Section 11.</t> and 3.2 or the beginning of Section 11.</t>
<t>The security of SLH-DSA relies on the security properties of the intern al hash and XOF <t>The security of SLH-DSA relies on the security properties of the intern al hash and XOF
functions. In particular, it relies on these functions being preimage resistant, but it functions. In particular, it relies on these functions being preimage resistant, but it
does not rely on them being collision resistant. Since HashSLH-DSA performs a pr e-hash does not rely on them being collision resistant. Since HashSLH-DSA performs a pr e-hash
before signing, it relies on both preimage resistance and collision resistance o f the before signing, it relies on both preimage resistance and collision resistance o f the
pre-hash function. In order to achieve an appropriate level of collision resista nce, pre-hash function. In order to achieve an appropriate level of collision resista nce,
the output length of the pre-hash functions used for HashSLH-DSA is twice the le ngth of the output length of the pre-hash functions used for HashSLH-DSA is twice the le ngth of
the internal hash and XOF functions.</t> the internal hash and XOF functions.</t>
<t>Implementations <bcp14>MUST</bcp14> protect the private keys. Compromi se of the <t>Implementations <bcp14>MUST</bcp14> protect the private keys. Compromi se of the
private keys may result in the ability to forge signatures.</t> private keys may result in the ability to forge signatures.</t>
<t>When generating an SLH-DSA key pair, an implementation <bcp14>MUST</bcp 14> generate <t>When generating an SLH-DSA key pair, an implementation <bcp14>MUST</bcp 14> generate
each key pair independently of all other key pairs in the SLH-DSA each key pair independently of all other key pairs in the SLH-DSA
hypertree.</t> hypertree.</t>
<t>An SLH-DSA tree <bcp14>MUST NOT</bcp14> be used for more than 2^64 sign ing <t>An SLH-DSA tree <bcp14>MUST NOT</bcp14> be used for more than 2<sup>64< /sup> signing
operations.</t> operations.</t>
<t>The generation of private keys relies on random numbers. The use of <t>The generation of private keys relies on random numbers. The use of
inadequate pseudo-random number generators (PRNGs) to generate these inadequate pseudorandom number generators (PRNGs) to generate these
values can result in little or no security. An attacker may find it values can result in little or no security. An attacker may find it
much easier to reproduce the PRNG environment that produced the keys, much easier to reproduce the PRNG environment that produced the keys,
searching the resulting small set of possibilities, rather than brute searching the resulting small set of possibilities, rather than brute
force searching the whole key space. The generation of quality force searching the whole key space. The generation of quality
random numbers is difficult; see Section 3.1 of <xref target="FIPS205"/> for som e random numbers is difficult; see Section 3.1 of <xref target="FIPS205"/> for som e
additional information.</t> additional information.</t>
<t>Fault attacks can lead to forgeries of message signatures <xref target= "CMP2018"/> and <xref target="Ge2023"/>. <t>Fault attacks can lead to forgeries of message signatures; see <xref ta rget="CMP2018"/> and <xref target="Ge2023"/>.
Verifying a signature before releasing the signature value Verifying a signature before releasing the signature value
is a typical fault attack countermeasure; however, this is a typical fault attack countermeasure; however, this
countermeasure is not effective for SLH-DSA <xref target="Ge2023"/>. Redundancy by countermeasure is not effective for SLH-DSA <xref target="Ge2023"/>. Redundancy by
replicating the signature generation process can be used as an replicating the signature generation process can be used as an
effective fault attack countermeasure for SLH-DSA <xref target="Ge2023"/>; howev er, effective fault attack countermeasure for SLH-DSA <xref target="Ge2023"/>; howev er,
the SLH-DSA signature generation is already considered slow.</t> the SLH-DSA signature generation is already considered slow.</t>
<t>Likewise, passive power and emissions side-channel attacks can leak the SLH-DSA <t>Likewise, passive power and emissions side-channel attacks can leak the SLH-DSA
private signing key, and countermeasures can be taken against these attacks <xre f target="SLotH"/>.</t> private signing key, and countermeasures can be taken against these attacks <xre f target="SLotH"/>.</t>
</section> </section>
<section anchor="iana-considerations"> <section anchor="iana-considerations">
<name>IANA Considerations</name> <name>IANA Considerations</name>
<t>For the ASN.1 Module in <xref target="sec-asn1"/> of this document, IAN <t>For the ASN.1 module in <xref target="sec-asn1"/> of this document, IAN
A is A has assigned an object identifier (OID) for the module
requested to assign an object identifier (OID) for the module identifier (120) with a Description of "id-mod-x509-slh-dsa-2025". The
identifier (TBD1) with a Description of "id-mod-x509-slh-dsa-2024". The OID for the module has been allocated in the "SMI Security for PKIX
OID for the module should be allocated in the "SMI Security for PKIX
Module Identifier" registry (1.3.6.1.5.5.7.0).</t> Module Identifier" registry (1.3.6.1.5.5.7.0).</t>
</section> </section>
</middle> </middle>
<back> <back>
<references anchor="sec-combined-references"> <references anchor="sec-combined-references">
<name>References</name> <name>References</name>
<references anchor="sec-normative-references"> <references anchor="sec-normative-references">
<name>Normative References</name> <name>Normative References</name>
<reference anchor="FIPS205" target="https://doi.org/10.6028/NIST.FIPS.20 5"> <reference anchor="FIPS205" target="https://nvlpubs.nist.gov/nistpubs/FI PS/NIST.FIPS.205.pdf">
<front> <front>
<title>Stateless Hash-Based Digital Signature Standard</title> <title>Stateless Hash-Based Digital Signature Standard</title>
<author> <author>
<organization>National Institute of Standards and Technology (NIST )</organization> <organization abbrev="NIST">National Institute of Standards and Te chnology (NIST)</organization>
</author> </author>
<date year="2024" month="August" day="13"/> <date year="2024" month="August" day="13"/>
</front> </front>
<seriesInfo name="FIPS PUB" value="205"/> <seriesInfo name="NIST FIPS" value="205"/>
<seriesInfo name="DOI" value="10.6028/NIST.FIPS.205"/>
</reference> </reference>
<reference anchor="X680" target="https://www.itu.int/rec/T-REC-X.680"> <reference anchor="X680" target="https://www.itu.int/rec/T-REC-X.680">
<front> <front>
<title>Information technology - Abstract Syntax Notation One (ASN.1) : Specification of basic notation</title> <title>Information technology - Abstract Syntax Notation One (ASN.1) : Specification of basic notation</title>
<author> <author>
<organization>ITU-T</organization> <organization>ITU-T</organization>
</author> </author>
<date year="2021" month="February"/> <date year="2021" month="February"/>
</front> </front>
<seriesInfo name="ITU-T Recommendation" value="X.680"/> <seriesInfo name="ITU-T Recommendation" value="X.680"/>
<seriesInfo name="ISO/IEC" value="8824-1:2021"/> <seriesInfo name="ISO/IEC" value="8824-1:2021"/>
</reference> </reference>
<reference anchor="X690" target="https://www.itu.int/rec/T-REC-X.690"> <reference anchor="X690" target="https://www.itu.int/rec/T-REC-X.690">
<front> <front>
<title>Information technology - Abstract Syntax Notation One (ASN.1) : ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical E ncoding Rules (CER) and Distinguished Encoding Rules (DER)</title> <title>Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
<author> <author>
<organization>ITU-T</organization> <organization>ITU-T</organization>
</author> </author>
<date year="2021" month="February"/> <date year="2021" month="February"/>
</front> </front>
<seriesInfo name="ITU-T Recommendation" value="X.690"/> <seriesInfo name="ITU-T Recommendation" value="X.690"/>
<seriesInfo name="ISO/IEC" value="8825-1:2021"/> <seriesInfo name="ISO/IEC" value="8825-1:2021"/>
</reference> </reference>
<reference anchor="CSOR" target="https://csrc.nist.gov/projects/computer -security-objects-register/algorithm-registration"> <reference anchor="CSOR" target="https://csrc.nist.gov/projects/computer -security-objects-register/algorithm-registration">
<front> <front>
<title>Computer Security Objects Register</title> <title>Computer Security Objects Register (CSOR)</title>
<author initials="" surname="NIST" fullname="National Institute of S <author>
tandards and Technology"> <organization abbrev="NIST">National Institute of Standards and Te
<organization/> chnology (NIST)</organization>
</author> </author>
<date year="2024" month="August" day="20"/> <date year="2025" month="June" day="13"/>
</front>
</reference>
<reference anchor="RFC2119">
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</tit
le>
<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 sig
nify the requirements in the specification. These words are often capitalized. T
his document defines these words as they should be interpreted in IETF documents
. This document specifies an Internet Best Current Practices for the Internet Co
mmunity, 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</ti
tle>
<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 protoco
l specifications. This document aims to reduce the ambiguity by clarifying that
only UPPERCASE usage of the key words have the defined special meanings.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="14"/>
<seriesInfo name="RFC" value="8174"/>
<seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>
<reference anchor="RFC5912">
<front>
<title>New ASN.1 Modules for the Public Key Infrastructure Using X.5
09 (PKIX)</title>
<author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
<author fullname="J. Schaad" initials="J." surname="Schaad"/>
<date month="June" year="2010"/>
<abstract>
<t>The Public Key Infrastructure using X.509 (PKIX) certificate fo
rmat, and many associated formats, are expressed using ASN.1. The current ASN.1
modules conform to the 1988 version of ASN.1. This document updates those ASN.1
modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire c
hanges to any of the formats; this is simply a change to the syntax. This docume
nt is not an Internet Standards Track specification; it is published for informa
tional purposes.</t>
</abstract>
</front> </front>
<seriesInfo name="RFC" value="5912"/>
<seriesInfo name="DOI" value="10.17487/RFC5912"/>
</reference> </reference>
<reference anchor="RFC5280"> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2
<front> 119.xml"/>
<title>Internet X.509 Public Key Infrastructure Certificate and Cert <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
ificate Revocation List (CRL) Profile</title> 174.xml"/>
<author fullname="D. Cooper" initials="D." surname="Cooper"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
<author fullname="S. Santesson" initials="S." surname="Santesson"/> 912.xml"/>
<author fullname="S. Farrell" initials="S." surname="Farrell"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
<author fullname="S. Boeyen" initials="S." surname="Boeyen"/> 280.xml"/>
<author fullname="R. Housley" initials="R." surname="Housley"/>
<author fullname="W. Polk" initials="W." surname="Polk"/>
<date month="May" year="2008"/>
<abstract>
<t>This memo profiles the X.509 v3 certificate and X.509 v2 certif
icate revocation list (CRL) for use in the Internet. An overview of this approac
h and model is provided as an introduction. The X.509 v3 certificate format is d
escribed in detail, with additional information regarding the format and semanti
cs of Internet name forms. Standard certificate extensions are described and two
Internet-specific extensions are defined. A set of required certificate extensi
ons is specified. The X.509 v2 CRL format is described in detail along with stan
dard and Internet-specific extensions. An algorithm for X.509 certification path
validation is described. An ASN.1 module and examples are provided in the appen
dices. [STANDARDS-TRACK]</t>
</abstract>
</front>
<seriesInfo name="RFC" value="5280"/>
<seriesInfo name="DOI" value="10.17487/RFC5280"/>
</reference>
<reference anchor="I-D.ietf-lamps-cms-sphincs-plus">
<front>
<title>Use of the SLH-DSA Signature Algorithm in the Cryptographic M
essage Syntax (CMS)</title>
<author fullname="Russ Housley" initials="R." surname="Housley">
<organization>Vigil Security, LLC</organization>
</author>
<author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
<organization>Cisco Systems</organization>
</author>
<author fullname="Panos Kampanakis" initials="P." surname="Kampanaki
s">
<organization>Amazon Web Services</organization>
</author>
<author fullname="Bas Westerbaan" initials="B." surname="Westerbaan"
>
<organization>Cloudflare</organization>
</author>
<date day="13" month="January" year="2025"/>
<abstract>
<t> SLH-DSA is a stateless hash-based signature scheme. This do
cument
specifies the conventions for using the SLH-DSA signature algorithm
with the Cryptographic Message Syntax (CMS). In addition, the
algorithm identifier and public key syntax are provided.
</t> <!-- [I-D.ietf-lamps-cms-sphincs-plus] [RFC9814]
</abstract> Published 7/19/2025
</front> -->
<seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-sphincs- <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
plus-19"/> 814.xml"/>
</reference> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
<reference anchor="RFC5958"> 958.xml"/>
<front>
<title>Asymmetric Key Packages</title>
<author fullname="S. Turner" initials="S." surname="Turner"/>
<date month="August" year="2010"/>
<abstract>
<t>This document defines the syntax for private-key information an
d a content type for it. Private-key information includes a private key for a sp
ecified public-key algorithm and a set of attributes. The Cryptographic Message
Syntax (CMS), as defined in RFC 5652, can be used to digitally sign, digest, aut
henticate, or encrypt the asymmetric key format content type. This document obso
letes RFC 5208. [STANDARDS-TRACK]</t>
</abstract>
</front>
<seriesInfo name="RFC" value="5958"/>
<seriesInfo name="DOI" value="10.17487/RFC5958"/>
</reference>
</references> </references>
<references anchor="sec-informative-references"> <references anchor="sec-informative-references">
<name>Informative References</name> <name>Informative References</name>
<reference anchor="NIST-PQC" target="https://csrc.nist.gov/projects/post -quantum-cryptography"> <reference anchor="NIST-PQC" target="https://csrc.nist.gov/projects/post -quantum-cryptography">
<front> <front>
<title>Post-Quantum Cryptography Project</title> <title>Post-Quantum Cryptography (PQC)</title>
<author> <author>
<organization>National Institute of Standards and Technology</orga nization> <organization abbrev="NIST">National Institute of Standards and Te chnology</organization>
</author> </author>
<date year="2016" month="December" day="20"/> <date year="2025" month="July" day="28"/>
</front> </front>
</reference> </reference>
<reference anchor="CMP2018" target="https://link.springer.com/chapter/10 .1007/978-3-319-79063-3_8"> <reference anchor="CMP2018" target="https://link.springer.com/chapter/10 .1007/978-3-319-79063-3_8">
<front> <front>
<title>Grafting Trees: A Fault Attack Against the SPHINCS Framework< /title> <title>Grafting Trees: A Fault Attack Against the SPHINCS Framework< /title>
<author initials="L." surname="Castelnovi" fullname="Laurent Casteln ovi"> <author initials="L." surname="Castelnovi" fullname="Laurent Casteln ovi">
<organization/> <organization/>
</author> </author>
<author initials="" surname="A, Martinelli" fullname="Ange Martinell i"> <author initials="A" surname="Martinelli" fullname="Ange Martinelli" >
<organization/> <organization/>
</author> </author>
<author initials="T." surname="Prest" fullname="Thomas Prest"> <author initials="T." surname="Prest" fullname="Thomas Prest">
<organization/> <organization/>
</author> </author>
<date year="2018"/> <date year="2018"/>
</front> </front>
<seriesInfo name="Lecture Notes in Computer Science" value="vol 10786" <refcontent>Post-Quantum Cryptography (PQCrpyto 2018), Lecture Notes i
/> n Computer Science, vol. 10786, pp. 165-184</refcontent>
<seriesInfo name="PQCrypto" value="2018"/>
<seriesInfo name="Post-Quantum Cryptography" value="pp. 165-184"/>
</reference> </reference>
<reference anchor="SLotH" target="https://eprint.iacr.org/2024/367.pdf"> <reference anchor="SLotH" target="https://eprint.iacr.org/2024/367.pdf">
<front> <front>
<title>Accelerating SLH-DSA by Two Orders of Magnitude with a Single Hash Unit</title> <title>Accelerating SLH-DSA by Two Orders of Magnitude with a Single Hash Unit</title>
<author initials="M-J." surname="Saarinen" fullname="M-J. Saarinen"> <author initials="M-J." surname="Saarinen" fullname="M-J. Saarinen">
<organization/> <organization/>
</author> </author>
<date year="2024"/> <date year="2024"/>
</front> </front>
<refcontent>Cryptology ePrint Archive, Paper 2024/367</refcontent>
<seriesInfo name="DOI" value="10.1007/978-3-031-68376-3_9"/>
</reference> </reference>
<reference anchor="Ge2023" target="https://doi.org/10.46586/tches.v2023. i2.80-114"> <reference anchor="Ge2023" >
<front> <front>
<title>On Protecting SPHINCS+ Against Fault Attacks</title> <title>On Protecting SPHINCS+ Against Fault Attacks</title>
<author initials="A." surname="Genêt" fullname="Aymeric Genêt"> <author initials="A." surname="Genêt" fullname="Aymeric Genêt">
<organization/> <organization/>
</author> </author>
<date>n.d.</date> <date month="3" year="2023"/>
</front> </front>
<seriesInfo name="TCHES" value="2023/02"/> <refcontent>TCHES, vol. 2023, no. 2, pp. 80-114</refcontent>
<seriesInfo name="DOI" value="10.46586/tches.v2023.i2.80-114"/>
</reference> </reference>
<reference anchor="FIPS180" target="https://nvlpubs.nist.gov/nistpubs/FI PS/NIST.FIPS.180-4.pdf"> <reference anchor="FIPS180" target="https://nvlpubs.nist.gov/nistpubs/FI PS/NIST.FIPS.180-4.pdf">
<front> <front>
<title>Secure Hash Standard</title> <title>Secure Hash Standard (SHS)</title>
<author fullname="Quynh H. Dang" surname="Dang">
<organization>Information Technology Laboratory</organization>
</author>
<author> <author>
<organization abbrev="NIST">National Institute of Standards and Te chnology</organization> <organization abbrev="NIST">National Institute of Standards and Te chnology</organization>
<address>
<postal>
<country>US</country>
<city>Gaithersburg</city>
</postal>
</address>
</author> </author>
<date month="July" year="2015"/> <date month="August" year="2015"/>
</front> </front>
<seriesInfo name="NIST Federal Information Processing Standards Public ations" value="180-4"/> <seriesInfo name="NIST FIPS" value="180-4"/>
<seriesInfo name="DOI" value="10.6028/NIST.FIPS.180-4"/> <seriesInfo name="DOI" value="10.6028/NIST.FIPS.180-4"/>
</reference> </reference>
<reference anchor="FIPS202" target="http://nvlpubs.nist.gov/nistpubs/FIP S/NIST.FIPS.202.pdf"> <reference anchor="FIPS202" target="http://nvlpubs.nist.gov/nistpubs/FIP S/NIST.FIPS.202.pdf">
<front> <front>
<title>SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions</title> <title>SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions</title>
<author fullname="Morris J. Dworkin" initials="M." surname="Dworkin"
>
<organization>National Institute of Standards and Technology</orga
nization>
</author>
<author fullname="Morris J. Dworkin" surname="Dworkin">
<organization>Information Technology Laboratory</organization>
</author>
<author> <author>
<organization abbrev="NIST">National Institute of Standards and Te chnology</organization> <organization abbrev="NIST">National Institute of Standards and Te chnology</organization>
<address>
<postal>
<country>US</country>
<city>Gaithersburg</city>
</postal>
</address>
</author> </author>
<date month="August" year="2015"/> <date month="August" year="2015"/>
</front> </front>
<seriesInfo name="FIPS" value="PUB 202"/> <seriesInfo name="NIST FIPS" value="202"/>
<seriesInfo name="NIST Federal Information Processing Standards Public
ations" value="202"/>
<seriesInfo name="DOI" value="10.6028/nist.fips.202"/>
<seriesInfo name="DOI" value="10.6028/NIST.FIPS.202"/> <seriesInfo name="DOI" value="10.6028/NIST.FIPS.202"/>
</reference> </reference>
<reference anchor="RFC7468"> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7
<front> 468.xml"/>
<title>Textual Encodings of PKIX, PKCS, and CMS Structures</title> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
<author fullname="S. Josefsson" initials="S." surname="Josefsson"/> 410.xml"/>
<author fullname="S. Leonard" initials="S." surname="Leonard"/> <!-- [I-D.ietf-lamps-dilithium-certificates-12] [RFC9881]
<date month="April" year="2015"/> Published 10/29/2025
<abstract> -->
<t>This document describes and discusses the textual encodings of <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
the Public-Key Infrastructure X.509 (PKIX), Public-Key Cryptography Standards (P 881.xml"/>
KCS), and Cryptographic Message Syntax (CMS). The textual encodings are well-kno <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
wn, are implemented by several applications and libraries, and are widely deploy 411.xml"/>
ed. This document articulates the de facto rules by which existing implementatio
ns operate and defines them so that future implementations can interoperate.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="7468"/>
<seriesInfo name="DOI" value="10.17487/RFC7468"/>
</reference>
<reference anchor="RFC8410">
<front>
<title>Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 fo
r 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 encodin
g formats for elliptic curve constructs using the curve25519 and curve448 curves
. The signature algorithms covered are Ed25519 and Ed448. The key agreement algo
rithms covered are X25519 and X448. The encoding for public key, private key, an
d 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="I-D.ietf-lamps-dilithium-certificates">
<front>
<title>Internet X.509 Public Key Infrastructure - Algorithm Identifi
ers 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="Kampanaki
s">
<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="26" month="June" year="2025"/>
<abstract>
<t> Digital signatures are used within X.509 certificates, Certi
ficate
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-ce
rtificates-12"/>
</reference>
<reference anchor="RFC8411">
<front>
<title>IANA Registration for the Cryptographic Algorithm Object Iden
tifier 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 o
f object identifiers was donated by DigiCert, Inc. for the purpose of registerin
g the Edwards Elliptic Curve key agreement and signature algorithms. This donate
d set of OIDs allowed for shorter values than would be possible using the existi
ng S/MIME or PKIX arcs. This document describes the donated range and the identi
fiers that were assigned from that range, transfers control of that range to IAN
A, and establishes IANA allocation policies for any future assignments within th
at range.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="8411"/>
<seriesInfo name="DOI" value="10.17487/RFC8411"/>
</reference>
</references> </references>
</references> </references>
<?line 752?> <?line 752?>
<section anchor="sec-asn1"> <section anchor="sec-asn1">
<name>ASN.1 Module</name> <name>ASN.1 Module</name>
<t>This appendix includes the ASN.1 module <xref target="X680"/> for SLH-D SA. Note that <t>This appendix includes the ASN.1 module <xref target="X680"/> for SLH-D SA. Note that
as per <xref target="RFC5280"/>, certificates use the Distinguished Encoding Rul es; see as per <xref target="RFC5280"/>, certificates use the Distinguished Encoding Rul es; see
<xref target="X690"/>. This module imports objects from <xref target="RFC5912"/> <xref target="X690"/>. This module imports objects from <xref target="RFC5912"/>
and <xref target="I-D.ietf-lamps-cms-sphincs-plus"/>.</t> and <xref target="RFC9814"/>.</t>
<aside> <sourcecode type="asn.1" markers="true"><![CDATA[
<t>RFC EDITOR: Please replace <xref target="I-D.ietf-lamps-cms-sphincs-p X509-SLH-DSA-Module-2025
lus"/> throughout this document with a reference to the published RFC.</t>
</aside>
<sourcecode type="asn.1"><![CDATA[
<CODE BEGINS>
X509-SLH-DSA-Module-2024
{ iso(1) identified-organization(3) dod(6) internet(1) security(5) { iso(1) identified-organization(3) dod(6) internet(1) security(5)
mechanisms(5) pkix(7) id-mod(0) id-mod-x509-slh-dsa-2024(TBD1) } mechanisms(5) pkix(7) id-mod(0) id-mod-x509-slh-dsa-2025(120) }
DEFINITIONS IMPLICIT TAGS ::= BEGIN DEFINITIONS IMPLICIT TAGS ::= BEGIN
EXPORTS ALL; EXPORTS ALL;
IMPORTS IMPORTS
PUBLIC-KEY, SIGNATURE-ALGORITHM, SMIME-CAPS PUBLIC-KEY, SIGNATURE-ALGORITHM, SMIME-CAPS
FROM AlgorithmInformation-2009 -- in [RFC5912] FROM AlgorithmInformation-2009 -- in [RFC5912]
{ iso(1) identified-organization(3) dod(6) internet(1) { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) security(5) mechanisms(5) pkix(7) id-mod(0)
skipping to change at line 995 skipping to change at line 807
pk-slh-dsa-sha2-256s, pk-slh-dsa-sha2-256f, pk-slh-dsa-sha2-256s, pk-slh-dsa-sha2-256f,
pk-slh-dsa-shake-128s, pk-slh-dsa-shake-128f, pk-slh-dsa-shake-128s, pk-slh-dsa-shake-128f,
pk-slh-dsa-shake-192s, pk-slh-dsa-shake-192f, pk-slh-dsa-shake-192s, pk-slh-dsa-shake-192f,
pk-slh-dsa-shake-256s, pk-slh-dsa-shake-256f, pk-slh-dsa-shake-256s, pk-slh-dsa-shake-256f,
sa-slh-dsa-sha2-128s, sa-slh-dsa-sha2-128f, sa-slh-dsa-sha2-128s, sa-slh-dsa-sha2-128f,
sa-slh-dsa-sha2-192s, sa-slh-dsa-sha2-192f, sa-slh-dsa-sha2-192s, sa-slh-dsa-sha2-192f,
sa-slh-dsa-sha2-256s, sa-slh-dsa-sha2-256f, sa-slh-dsa-sha2-256s, sa-slh-dsa-sha2-256f,
sa-slh-dsa-shake-128s, sa-slh-dsa-shake-128f, sa-slh-dsa-shake-128s, sa-slh-dsa-shake-128f,
sa-slh-dsa-shake-192s, sa-slh-dsa-shake-192f, sa-slh-dsa-shake-192s, sa-slh-dsa-shake-192f,
sa-slh-dsa-shake-256s, sa-slh-dsa-shake-256f sa-slh-dsa-shake-256s, sa-slh-dsa-shake-256f
FROM SLH-DSA-Module-2024 -- in [I-D.ietf-lamps-cms-sphincs-plus] FROM SLH-DSA-Module-2024 -- in [RFC9814]
{ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
id-smime(16) id-mod(0) id-mod-slh-dsa-2024(81) } ; id-smime(16) id-mod(0) id-mod-slh-dsa-2024(81) } ;
-- --
-- HashSLH-DSA object identifiers from [CSOR] -- HashSLH-DSA object identifiers from [CSOR]
-- --
nistAlgorithms OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) nistAlgorithms OBJECT IDENTIFIER ::= { joint-iso-itu-t(2)
country(16) us(840) organization(1) gov(101) csor(3) 4 } country(16) us(840) organization(1) gov(101) csor(3) 4 }
skipping to change at line 1308 skipping to change at line 1120
pk-hash-slh-dsa-sha2-256f-with-sha512 | pk-hash-slh-dsa-sha2-256f-with-sha512 |
pk-hash-slh-dsa-shake-128s-with-shake128 | pk-hash-slh-dsa-shake-128s-with-shake128 |
pk-hash-slh-dsa-shake-128f-with-shake128 | pk-hash-slh-dsa-shake-128f-with-shake128 |
pk-hash-slh-dsa-shake-192s-with-shake256 | pk-hash-slh-dsa-shake-192s-with-shake256 |
pk-hash-slh-dsa-shake-192f-with-shake256 | pk-hash-slh-dsa-shake-192f-with-shake256 |
pk-hash-slh-dsa-shake-256s-with-shake256 | pk-hash-slh-dsa-shake-256s-with-shake256 |
pk-hash-slh-dsa-shake-256f-with-shake256, pk-hash-slh-dsa-shake-256f-with-shake256,
... } ... }
END END
<CODE ENDS>
]]></sourcecode> ]]></sourcecode>
</section> </section>
<section anchor="security-strengths"> <section anchor="security-strengths">
<name>Security Strengths</name> <name>Security Strengths</name>
<t>Instead of defining the strength of a quantum algorithm in a traditiona <t>Instead of defining the strength of a quantum algorithm using the
l manner using precise estimates of the number of bits of security, NIST defined number of bits of security, NIST defined a collection of broad security strengt
a collection of broad security strength categories. Each category is defined b h categories. Each category is defined by a comparatively easy-to-analyze refer
y a comparatively easy-to-analyze reference primitive that cover a range of secu ence primitive that covers a range of security strengths offered by existing NIS
rity strengths offered by existing NIST standards in symmetric cryptography, whi T standards in symmetric cryptography, which NIST expects to offer significant r
ch NIST expects to offer significant resistance to quantum cryptanalysis. These esistance to quantum cryptanalysis. These categories describe any attack that b
categories describe any attack that breaks the relevant security definition tha reaks the relevant security definition that must require computational resources
t must require computational resources comparable to or greater than those requi comparable to or greater than those required for:</t>
red for: Level 1 - key search on a block cipher with a 128-bit key (e.g., AES128 <ul spacing="normal">
), Level 2 - collision search on a 256-bit hash function (e.g., SHA256/ SHA3-256 <li>Level 1 - key search on a block cipher with a 128-bit key (e.g., AES128),<
), Level 3 - key search on a block cipher with a 192-bit key (e.g., AES192), Lev /li>
el 4 - collision search on a 384-bit hash function (e.g. SHA384/SHA3-384), Leve <li>Level 2 - collision search on a 256-bit hash function (e.g., SHA256/ SHA3-
l 5 - key search on a block cipher with a 256-bit key (e.g., AES 256).</t> 256),</li>
<t>The SLH-DSA parameter sets defined for NIST security levels 1, 3 and 5 <li>Level 3 - key search on a block cipher with a 192-bit key (e.g., AES192),<
are listed in <xref target="tab-strengths"/>, along with the resulting signature /li>
size, public key, and private key sizes in bytes. The HashSLH-DSA parameter se <li>Level 4 - collision search on a 384-bit hash function (e.g., SHA384/SHA3-
ts have the same values as the Pure SLH-DSA equivalents.</t> 384), and</li>
<li>Level 5 - key search on a block cipher with a 256-bit key (e.g., AES 256).
</li>
</ul>
<t>The SLH-DSA parameter sets defined for NIST security levels 1, 3, and 5
are listed in <xref target="tab-strengths"/>, along with the resulting signatur
e, public key, and private key sizes in bytes. The HashSLH-DSA parameter sets h
ave the same values as the Pure SLH-DSA equivalents.</t>
<table anchor="tab-strengths"> <table anchor="tab-strengths">
<name>SLH-DSA security strengths</name> <name>SLH-DSA Security Strengths</name>
<thead> <thead>
<tr> <tr>
<th align="left">OID</th> <th rowspan="2" align="left">OID</th>
<th align="left">NIST Level</th> <th rowspan="2" align="left">NIST Level</th>
<th colspan="3" align="center">Size (in bytes)</th>
</tr>
<tr>
<th align="left">Sig.</th> <th align="left">Sig.</th>
<th align="left">Pub. Key</th> <th align="left">Pub. Key</th>
<th align="left">Priv. Key</th> <th align="left">Priv. Key</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td align="left">id-(hash-)slh-dsa-sha2-128s</td> <td align="left">id-(hash-)slh-dsa-sha2-128s</td>
<td align="left">1</td> <td align="left">1</td>
<td align="left">7856</td> <td align="left">7856</td>
skipping to change at line 1416 skipping to change at line 1237
<td align="left">5</td> <td align="left">5</td>
<td align="left">49856</td> <td align="left">49856</td>
<td align="left">64</td> <td align="left">64</td>
<td align="left">128</td> <td align="left">128</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</section> </section>
<section anchor="examples"> <section anchor="examples">
<name>Examples</name> <name>Examples</name>
<t>This appendix contains examples of SLH-DSA public keys, private keys an d certificates.</t> <t>This appendix contains examples of SLH-DSA public keys, private keys, a nd certificates.</t>
<section anchor="example-public"> <section anchor="example-public">
<name>Example Public Key</name> <name>Example Public Key</name>
<t>An example of an SLH-DSA public key using id-slh-dsa-sha2-128s:</t> <t>An example of an SLH-DSA public key using id-slh-dsa-sha2-128s:</t>
<artwork><![CDATA[ <artwork><![CDATA[
-----BEGIN PUBLIC KEY----- -----BEGIN PUBLIC KEY-----
MDAwCwYJYIZIAWUDBAMUAyEAK4EJ7Hd8qk4fAkzPz5SX2ZGAUJKA9CVq8rB6+AKJ MDAwCwYJYIZIAWUDBAMUAyEAK4EJ7Hd8qk4fAkzPz5SX2ZGAUJKA9CVq8rB6+AKJ
tJQ= tJQ=
]]></artwork> -----END PUBLIC KEY-----]]></artwork>
<artwork><![CDATA[
<sourcecode type=""><![CDATA[
0 48: SEQUENCE { 0 48: SEQUENCE {
2 11: SEQUENCE { 2 11: SEQUENCE {
4 9: OBJECT IDENTIFIER '2 16 840 1 101 3 4 3 20' 4 9: OBJECT IDENTIFIER '2 16 840 1 101 3 4 3 20'
: } : }
15 33: BIT STRING 15 33: BIT STRING
: 2B 81 09 EC 77 7C AA 4E 1F 02 4C CF CF 94 97 D9 : 2B 81 09 EC 77 7C AA 4E 1F 02 4C CF CF 94 97 D9
: 91 80 50 92 80 F4 25 6A F2 B0 7A F8 02 89 B4 94 : 91 80 50 92 80 F4 25 6A F2 B0 7A F8 02 89 B4 94
: } : }]]></sourcecode>
]]></artwork>
</section> </section>
<section anchor="example-private"> <section anchor="example-private">
<name>Example Private Key</name> <name>Example Private Key</name>
<t>An example of an SLH-DSA private key without the public key using id- slh-dsa-sha2-128s:</t> <t>An example of an SLH-DSA private key without the public key using id- slh-dsa-sha2-128s:</t>
<artwork><![CDATA[ <artwork><![CDATA[
-----BEGIN PRIVATE KEY----- -----BEGIN PRIVATE KEY-----
MFICAQAwCwYJYIZIAWUDBAMUBECiJjvKRYYINlIxYASVI9YhZ3+tkNUetgZ6Mn4N MFICAQAwCwYJYIZIAWUDBAMUBECiJjvKRYYINlIxYASVI9YhZ3+tkNUetgZ6Mn4N
HmSlASuBCex3fKpOHwJMz8+Ul9mRgFCSgPQlavKwevgCibSU HmSlASuBCex3fKpOHwJMz8+Ul9mRgFCSgPQlavKwevgCibSU
]]></artwork> -----END PRIVATE KEY-----]]></artwork>
<artwork><![CDATA[
<sourcecode type=""><![CDATA[
0 82: SEQUENCE { 0 82: SEQUENCE {
2 1: INTEGER 0 2 1: INTEGER 0
5 11: SEQUENCE { 5 11: SEQUENCE {
7 9: OBJECT IDENTIFIER '2 16 840 1 101 3 4 3 20' 7 9: OBJECT IDENTIFIER '2 16 840 1 101 3 4 3 20'
: } : }
18 64: OCTET STRING 18 64: OCTET STRING
: A2 26 3B CA 45 86 08 36 52 31 60 04 95 23 D6 21 : A2 26 3B CA 45 86 08 36 52 31 60 04 95 23 D6 21
: 67 7F AD 90 D5 1E B6 06 7A 32 7E 0D 1E 64 A5 01 : 67 7F AD 90 D5 1E B6 06 7A 32 7E 0D 1E 64 A5 01
: 2B 81 09 EC 77 7C AA 4E 1F 02 4C CF CF 94 97 D9 : 2B 81 09 EC 77 7C AA 4E 1F 02 4C CF CF 94 97 D9
: 91 80 50 92 80 F4 25 6A F2 B0 7A F8 02 89 B4 94 : 91 80 50 92 80 F4 25 6A F2 B0 7A F8 02 89 B4 94
: } : }]]></sourcecode>
]]></artwork>
</section> </section>
<section anchor="example-certificate"> <section anchor="example-certificate">
<name>Example Certificate</name> <name>Example Certificate</name>
<t>An example of a self-signed SLH-DSA certificate using id-slh-dsa-sha2 -128s:</t> <t>An example of a self-signed SLH-DSA certificate using id-slh-dsa-sha2 -128s:</t>
<artwork><![CDATA[ <artwork><![CDATA[
Certificate: Certificate:
Data: Data:
Version: 3 (0x2) Version: 3 (0x2)
Serial Number: Serial Number:
43:85:63:a2:69:01:99:2c:39:cf:bc:40:57:1b:5f:a3: 43:85:63:a2:69:01:99:2c:39:cf:bc:40:57:1b:5f:a3:
skipping to change at line 1932 skipping to change at line 1752
e0:05:95:e0:fa:9d:80:07:58:b4:12:5e:34:43:04:ad:90:9f: e0:05:95:e0:fa:9d:80:07:58:b4:12:5e:34:43:04:ad:90:9f:
3f:be:31:ca:3d:d3:c9:d0:b7:91:c7:5c:d0:2b:81:73:34:bf: 3f:be:31:ca:3d:d3:c9:d0:b7:91:c7:5c:d0:2b:81:73:34:bf:
ca:a5:6e:23:4f:b3:f3:b4:bf:03:f4:bd:af:fd:d7:09:8b:65: ca:a5:6e:23:4f:b3:f3:b4:bf:03:f4:bd:af:fd:d7:09:8b:65:
a3:0c:76:dc:1e:7c:97:d2:be:85:d4:65:6d:f9:3d:6e:ae:6c: a3:0c:76:dc:1e:7c:97:d2:be:85:d4:65:6d:f9:3d:6e:ae:6c:
57:f4:10:40:21:d6:04:2d:9b:9b:e5:95:90:9c:52:a8:ad:61: 57:f4:10:40:21:d6:04:2d:9b:9b:e5:95:90:9c:52:a8:ad:61:
8b:cd:b0:12:c1:13:26:c3:4d:8e:22:82:82:9b:fe:6d:01:e7: 8b:cd:b0:12:c1:13:26:c3:4d:8e:22:82:82:9b:fe:6d:01:e7:
3c:65:79:b4:79:9f:9e:b0:10:dd:5e:6a:57:43:8c:6b:41:d5: 3c:65:79:b4:79:9f:9e:b0:10:dd:5e:6a:57:43:8c:6b:41:d5:
e6:ab:94:ba:c7:67:a5:b4:41:d8:10:0c:fd:29:77:e2:0b:cd: e6:ab:94:ba:c7:67:a5:b4:41:d8:10:0c:fd:29:77:e2:0b:cd:
29:80:2e:ae:5e:a5:85:a3:a2:09:31:51:82:98:0b:2c:7a:6b: 29:80:2e:ae:5e:a5:85:a3:a2:09:31:51:82:98:0b:2c:7a:6b:
96:ef:8d:c0:f5:1f:98:b4:f6:22:b6:21:6e:36:e3:bb:18:da: 96:ef:8d:c0:f5:1f:98:b4:f6:22:b6:21:6e:36:e3:bb:18:da:
1d:24:46:0d:65:28:b6:6a 1d:24:46:0d:65:28:b6:6a]]></artwork>
]]></artwork>
<artwork><![CDATA[ <artwork><![CDATA[
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIgLTCCAWegAwIBAgIUQ4VjomkBmSw5z7xAVxtfo8zHiEUwCwYJYIZIAWUDBAMU MIIgLTCCAWegAwIBAgIUQ4VjomkBmSw5z7xAVxtfo8zHiEUwCwYJYIZIAWUDBAMU
MEIxCzAJBgNVBAYTAkZSMQ4wDAYDVQQHDAVQYXJpczEjMCEGA1UECgwaQm9ndXMg MEIxCzAJBgNVBAYTAkZSMQ4wDAYDVQQHDAVQYXJpczEjMCEGA1UECgwaQm9ndXMg
U0xILURTQS1TSEEyLTEyOHMgQ0EwHhcNMjQxMDE2MTM0MjEyWhcNMzQxMDE0MTM0 U0xILURTQS1TSEEyLTEyOHMgQ0EwHhcNMjQxMDE2MTM0MjEyWhcNMzQxMDE0MTM0
MjEyWjBCMQswCQYDVQQGEwJGUjEOMAwGA1UEBwwFUGFyaXMxIzAhBgNVBAoMGkJv MjEyWjBCMQswCQYDVQQGEwJGUjEOMAwGA1UEBwwFUGFyaXMxIzAhBgNVBAoMGkJv
Z3VzIFNMSC1EU0EtU0hBMi0xMjhzIENBMDAwCwYJYIZIAWUDBAMUAyEAK4EJ7Hd8 Z3VzIFNMSC1EU0EtU0hBMi0xMjhzIENBMDAwCwYJYIZIAWUDBAMUAyEAK4EJ7Hd8
qk4fAkzPz5SX2ZGAUJKA9CVq8rB6+AKJtJSjYzBhMB0GA1UdDgQWBBTNWTaq/sQR qk4fAkzPz5SX2ZGAUJKA9CVq8rB6+AKJtJSjYzBhMB0GA1UdDgQWBBTNWTaq/sQR
x6RyaT8L6LOLIXsZ7TAfBgNVHSMEGDAWgBTNWTaq/sQRx6RyaT8L6LOLIXsZ7TAP x6RyaT8L6LOLIXsZ7TAfBgNVHSMEGDAWgBTNWTaq/sQRx6RyaT8L6LOLIXsZ7TAP
BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjALBglghkgBZQMEAxQDgh6x BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjALBglghkgBZQMEAxQDgh6x
skipping to change at line 2108 skipping to change at line 1928
cI4jjWHXjUsxb3lIjLC+AUjyTj0qT+BVkHI+0wxc9/gVReQQ362c0CPDu6NScAji cI4jjWHXjUsxb3lIjLC+AUjyTj0qT+BVkHI+0wxc9/gVReQQ362c0CPDu6NScAji
+q66sHQ13aZL+5q3PCgXhwhwR0JeWDqmhKyUNEFcPNGsCrS/ocbawlmjIsym4+nV +q66sHQ13aZL+5q3PCgXhwhwR0JeWDqmhKyUNEFcPNGsCrS/ocbawlmjIsym4+nV
khWAuy4kkdOKAhPlUQX1VUp4QdXnYh231R/lNPexrsYP7DjCqCOO/122h4pPv3fW khWAuy4kkdOKAhPlUQX1VUp4QdXnYh231R/lNPexrsYP7DjCqCOO/122h4pPv3fW
wa6hyIjVZuF3BsqRENsUIEygj9iLG3FmuJYJCGrs38FL1pEDjGbiyB3JDvOZPgq0 wa6hyIjVZuF3BsqRENsUIEygj9iLG3FmuJYJCGrs38FL1pEDjGbiyB3JDvOZPgq0
YIOKvD3KGQCz/bBehGG3IwTbZDUGmqtKA0eieWzYC57Jd7tHXttm5PMz64ziSaTW YIOKvD3KGQCz/bBehGG3IwTbZDUGmqtKA0eieWzYC57Jd7tHXttm5PMz64ziSaTW
oclhl0rmOqsWZLPfFlre5fm6XX3rBPX08PB95Bp0/H0DFqTK9uAFleD6nYAHWLQS oclhl0rmOqsWZLPfFlre5fm6XX3rBPX08PB95Bp0/H0DFqTK9uAFleD6nYAHWLQS
XjRDBK2Qnz++Mco908nQt5HHXNArgXM0v8qlbiNPs/O0vwP0va/91wmLZaMMdtwe XjRDBK2Qnz++Mco908nQt5HHXNArgXM0v8qlbiNPs/O0vwP0va/91wmLZaMMdtwe
fJfSvoXUZW35PW6ubFf0EEAh1gQtm5vllZCcUqitYYvNsBLBEybDTY4igoKb/m0B fJfSvoXUZW35PW6ubFf0EEAh1gQtm5vllZCcUqitYYvNsBLBEybDTY4igoKb/m0B
5zxlebR5n56wEN1ealdDjGtB1earlLrHZ6W0QdgQDP0pd+ILzSmALq5epYWjogkx 5zxlebR5n56wEN1ealdDjGtB1earlLrHZ6W0QdgQDP0pd+ILzSmALq5epYWjogkx
UYKYCyx6a5bvjcD1H5i09iK2IW4247sY2h0kRg1lKLZq UYKYCyx6a5bvjcD1H5i09iK2IW4247sY2h0kRg1lKLZq
]]></artwork> -----END CERTIFICATE-----]]></artwork>
</section> </section>
</section> </section>
<section numbered="false" anchor="acknowledgments"> <section numbered="false" anchor="acknowledgments">
<name>Acknowledgments</name> <name>Acknowledgments</name>
<t>Much of the structure and text of this document is based on <xref targe t="RFC8410"/> and <xref target="I-D.ietf-lamps-dilithium-certificates"/>. The re mainder comes from <xref target="I-D.ietf-lamps-cms-sphincs-plus"/>. Thanks to t hose authors, and the ones they based their work on, for making our work easier. "Copying always makes things easier and less error prone" - <xref target="RFC84 11"/>. Thanks to Sean Turner for helpful text and to Markku-Juhani O. Saarinen f or side-channel clarifications.</t> <t>Much of the structure and text of this document is based on <xref targe t="RFC8410"/> and <xref target="RFC9881"/>. The remainder comes from <xref targe t="RFC9814"/>. Thanks to the authors of those documents, and the ones they based their work on, for making our work easier. "Copying always makes things easier and less error prone" <xref target="RFC8411"/>. Thanks to <contact fullname="Sea n Turner"/> for helpful text and to <contact fullname="Markku-Juhani O. Saarinen "/> for side-channel clarifications.</t>
</section> </section>
</back> </back>
<!-- ##markdown-source:
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
gkjrkX/mWUtMhEyFrRg1LslRxaagJRUxvIgrkPSGUA6Ys25rBvlYJ+qDZ2as
wotVtiFLTVMqoiWrC10mDSr33ezslTyDA6Ys0reZ7+0y7CWUyPoaSAoJUDLg
ksStHHKfHlHs0GOOdMQ6RJVZJ84f4qSQHj2iPutbI4NRF3SjOTS4RP0gi05D
XU0WUiWTTN1AHhMPP1NnZ6vTPxnS+lMWXEGDzmOFMjR5QNVjtEVllhZ2S58P
qQP7zJ0GjcT0deTkhxlrRSU4qGp4CyY50/1uuj4cst+EBT6S2UsLTlV221wU
n6dE5pSyLzCTAxPhaQ7FnNinNkWkL9xV0jBCgYlLV1VKv7frtPx1uNBSVRkw
uT0ImopO0kvEVKWYKV4Vs0oAq6itz+cETsx0LEl9VDYUTYNI5cTG9HzGOt/S
MavzmJMjWjQT70vWv7ss/pWcaookR+UhMLCIzZiFDyVjyg4zBBTy5AzdKldD
wqkCRisK5q6LUDMToemeypjmkfPePcYgJP2bsAJeVUx9z6njBX5LQGfMwpWk
OKK0yjCRCjtuO6XvImGtRMVyG6n9N7mNQ08sMVx0Dybh24xfxzTNQhWYYB5y
oRiXmZ4Xa1T0WbNZsIyiYPaRrbLWK9ap0dQNGS4xE2IzMt6SmRU5GYvEhuiN
AYMt6J1TpoTP4k0pCjPO7jLiU1B04lo9+mZDlRGasCKSfhtVqSdhKb9dYlYw
ma3Uqpc4UhxmYrMuUlUZ+yynFWRmuq9ZkerS4PJzHdUKWAxVscgdtB+xH0jC
9EjQHUgGcsoxkDai8gZ8AK7msWZHXtHoQkR1GGU2uxkAsTO7ZYhJmrQnyrxH
R7TP8tuc+ZMFe5KU9JOLQcEQSUXnv2kOSCFPICof1LOEmI8NlHSx6tgBa14k
HTehQ8OkdxZ5uYnWexPmuUXMPxRlOKJ1HzMznK1OIBNNN69Dbdwj3CTJgaKh
JBOICbdSZfeRacfkFbEZSCVYAqaMSuyAMiKmw00V4omKzgqjkh5XlRfR0i4i
7TqI+GRIF0rMtK6YwqsMdM1CSBPJdPcJ+dNPFTOfpyJKVywIwp4DZv0V9Lrn
zOtwq5ajNVAujoJ16KzgC9mzImN5ncPSb482tU1HOkDqmXlWXD2k9ztheoBL
ZaBg8BdImDDMJ4pZRHstEfyfbZ5O+6DSmbq+SnwqmXrBXyX9hsZsxYpIsKzA
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
skomisdMkzMToW3FitmxWfInc762w9EuoLTQBXE+Y1UuBa5vnp21ewUTL1P2
HvTpsVepQQF9HSGL3G0GucKoFUy0WTSdqzR7laZC08BhtUUV6vJhV7Woddjr
3qxEzmSrIWu1pFlBzuZpbFeLXytV962SzNnfLwhaRZ0RlYeCMceArWgrOg2k
usdn+zImrCaqZIwO8yxr83lmyNhU7Sq22suU85DxI4kph6x/Z6eRLGpxG8kM
YS9HW7nBaTAGrOVX3VdiXwsLjxFJFTyaIa0j34rKyreNpAoBmA8cJLqiPGfR
OlhoyRxvs8TMYVpXRo+u6+vm80JobmNYOSQ65bdUPTBNkqGbImQ0IYt08x9J
sPG11EjZydBm+3SPLN1scyoXyoKIgPVlqgzKZ2pZROMo5wwp+1aJKzVo5ZCL
Wccy55ztlB2KM6fp2pqycw4EepxpPhmGrQ6xCfsYAOySI8SqpZxtCopQR8di
JtqpoJ7DXCmzPq5iraVXauCrQFhMx7XwTGYdKGcguFzG4OZcIBUQcxlklGI3
oor4IlL2eGQHKp9tiiXhjfEF89U8icoZUK5aGsIFu8uWvk4eK9l6pWQ7i9Sf
t6DzROcm+ex04XFR1S1N+hGxgCtglFxyJumWnMuvU21pK/oDK8aVlJdPwsps
uSbaETtyiIc5bSmlyhOeqHK2VAzPmD15AoZ3HeK/R5+DZGky6dSUcR4FmUed
zWNaUa6yxcjicpqfBdWqmBF8z29lsOesSgjJTwTZaL4p8rEp1jPmwaqCJps1
AmE7CiwvYQkZWWAyNsBYsFUmbP+CNmlIFUJigqw1Nn1WgXIvqzfCsHLZpps6
UbEtgkXOy6YTKUu5zYbSMbNNMiq9OT3/quhYpBU9BrGrveJSSUTV3czq9FTP
/4Q1O9TcklLnHxYMNoV0j/sK+ZkoZTobS/bZSFSyTaTZeEa+VKiyBQYHXWJm
STe+GVxwGa9xCZOA5kZM11yq2lcyxUtlS9q0oaK0FdJKKBzjQncHBatJiDAV
Fa2MPckBcI+8LmPtvNklVb3cATqzrdIjGaoO09nbJ43XZW5sHchLIzd6R1v6
dZnb28cvjzY2em/L497l9nrvePv1K//Nx9Hpp/XTw8vgS3TVe3M1qUbxl2f9
rdcLr9Xs7GxtX2186T1fP959s957f9T79OFw55V/udl7v/nm1atnm703r96/
e36Wf9n6uLOx9bTnvN7aOL5MX50mw+LdznHntX21/fL1wdGrQ+focGvr+uXR
1vXes53jV/bW5bOTfHfn46urnc0td+dox975uHX9Vj77ws9s+azDDz+ub+y8
qi83XnHVp1uXz5++/ri1t9O75Irrl5dPXj99cp2+27na/tI7Ubsd7Tz99Pyi
88F782X7ye7O4Yaz9dremry2T9Z3+vbVzseTL9tbu+vfeuVs51vvnJ08P/z4
/sv6yc66LbspNo9fvV1fP9p9e5R+fly/OuhchQfX6VH8Mny593L7Xf0hOupV
ssVnhztbTzd7b4+Nh5c8u9/hwwc7670q3lo/6m32Xj17vNPz1WqXW+uPL19t
yfWuf+y9XD8eHJ98Ol7/8Gpnq3f1avP4JLzq9F58Pn5dhJeXV0evvlT14cHn
7avtneHk85fH+ZvwXXRQZZd73uOPb0fXzsmVX21cva0+Dz6MXnnR5+3L1ycd
+2j/5cnTJ2+qjwP76eaXzx+Pn376+GEc7b47OLt+u+1Ul77dO7h+9epDfvQ4
fvvpQ+rvXwT1td0f1QP//aRzWJ6H47MzoNyb4f7l2a97E/vlh0+Rf5C9PHWf
bYx/9Z4fh/7b8/cfrz9dfLkKg8J58Xzv+Z798nV0GX456zy/OKmvP16cHJy8
efx05836q+frX84PBh9P+jthPYwP9wa/RpdX6/XR+Hk/+jh5eVU+P3v+7NWv
2ehZP936uN15fv02rj9/ST+/CJy3g8vn2yfXvw5ejV6+O77cPny9HW4eelH/
6PzLkyI6D6Ln5bMwuzy8+DC4fOOU6+/OJp0X59XG5XXP+/K53s/2xs/3qp2R
/e7t+s67eN0/Hm6/GT159cWOwuOTs+P9Ufn4ff75+NVG+ebi8cn++stnSeeZ
93jvRTV6827v19enF9nl5rP4efXrtbvbTzfTdDRJP/jvypO3n0+dJ5uXH9bj
67efwrfjZ+dF/GkUXD973/l0+bn39MNVOXGfVE+eXqe9jRefj7L+0170dvPw
fPjl7TDbGX25+LQVHHlvzj683UnsD+6Ru/smPf8QvOp96iSPH9vR8cmzj6/3
viR7O6Fz8PJivbfx4f3nJ+WXN79Wn/b3Nz5+fJv1P2X1my0fzGRQvU8GJ3X5
cmt38nLQee68r147p/nzvavP5WFdpBcvjvZ2P47L2nvXr/vvne3i5ML7FL84
PdjYdOo3k5de7yo+Kre3riO3l5x0Xn4+G/pp9Xgzq4r1PMmvL6+ePj/fBFeZ
PCn65fbr18PqaP3D4OP6563j4+EXZy/aenFSnpXxuvd839nv9J4fH0YHm8MP
8W7y5tnx/vXT4nGy/6L34qq2N/fPqqv1F0+ePXl8erLt7W2dl+dJ+Xg8GCT9
zM/D3bfVi477wnXevKp318+eHQ0PPr99eVq9r1+F++tfksi5CJ3idPvD8ePs
cGPzdTS8sl8kV0eHB2/WL989f7YzeZW87ETe8MKOy6Q3HId9f39351V5mfhn
wdXT4w/e8TM/vzqb9Ovi9fXWefrqyf7Hw18Pk73B81dXk6h8WpRl5/P2yWX8
buN0683by4NB0NuNXrx69/yJe3HYK57vTq52/Kf+wa+P62r48fD54eSlf+qv
HxevDh/bm4/93fJV58X7t73g09h5++V5Pbl8nW9vVMenT8peEL54dx0823Pz
px/fJZefquij827388Hxr2/PPz598+Xk6Vl2ffTru87rd97OfvI+8N89u3qz
bVdHX3Yvv/Qqv+dt/Ppx+9nJu3f768OXQbz/dtj78uzFqy/ua3/33dbb8YnX
PzsGMZX/b5lmtsMsk63nc67iS+fQ+2/AzJGiiHkwYObBZ8zzPLPV9x66e0tR
kiNjyrWqKGq963mtohBaM2zo0zybPwsTAgdv99D2dPYIMmopof6ea6IYHewR
nK2+WX5Bly79vvP6/JmGD/glmVfkHmXGSbhTEIi3f93m7yWVbzXkWStlX9aV
xNJJS7B6ciw+bTy1hxso5UxpVyYwWlJCmCl69HbySPdockfQ3XOLi2519OCv
UjEuqkUTtjUEx/QDUw+o5V/7qAk7edMxcG4STKYlMfLYFsU4C8nsMI8tj6Yx
bmWuMHryJ/Dp4FuiG2LjUDlqZ3OAn+Dw7LrmPQCXl6PijOA9CrbJ3YGonlcd
VtcvCV5sf5qWhBprqzjVVZM+ODkeF3/QRJhzKHSQwqOAvf7qP/iDxxGlEgWv
nnBY5lZEieHXvBjLqsCNO6LgE3nT9s7FHjFSpwej2sQc4iuHOfApKPNG36Te
St96etHg7NMvXr/xeg6GyX4n9xhFUNVrkeGY9UyqMz1CXfbpVr5rzUIFQoc6
iVn0Kb7R4Hs1Q//wrpo/ERoh38KrVFajMknI+bqjqfpWsB+fIRCsD8ylAln0
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
A/pC5MhZw0f/V1guvkBPeyA4PGnEFOfX3VaD9XSlsljrse/IgS8NlKjWmwnd
t2awBNOPZmJfk9Dg0fclrMQbSGS0rn0pqN3ljJFWrlX2Rbv187jQ5LwYr5Hk
F3ScCQUWnpWZJoK/E+h5PRuu2wldV8BrwvFFMmEk+qkvbEIegAvKozwsSMl8
burKz+XqvJAYuriwsw0OSRwdbVfLy9Whr94DmtKntwttmvT7oUujdc0A9twR
NdOgD8s3AltgqxvZOS+hQXA1O7HfLwi/3yU6GjvyaOIR4eXj9b3f9uzXZbJ4
fXFl/ipqqlJFROg2JVRYcV4QUlDhkedqMa4uBlG4/fszigkCQvn72TnkI5rs
DcZMVooiIh9O/ONcsZvWDw1lVebfIYsRSkqsUrCuHWZoN47elR05PjAkbdlC
c/edFv+nGrnQzhmWd3gQIDNjBBBpMBTGjBAoQZwwOR9qo4U24/A+pCVfNe0n
FyyO+bzN/n69tGSgILI3V0ySAp2ei0CDdnJq40o3FvAL7YcB7RFIwUen/iJN
S9cjA3Ilt/chcH8+ghk+vsVCDvE8XcKF+cx1b9sfm7hTtYbhri+MyvBXzDkh
WhXDJwY7iAGw+2yz2MJ6DD94HX7scvos1Mo8V3OrztIP9yEzLUzOgMb0Jau3
3dHqhGVj6NdD0ZyAG35C9jrxCIv3OuFgCasgqvq8ZR99o8QSvkuosQq4/ai/
6d9ndnmd+/9P7P7rWO9//0MnTT8cbZYWXdavC/Cf/6Pfujibs/R//i2P2iX7
2z8AQNuS8s+Q/1nL7M9DFFuybnP2J+rTP2t2rv9uqZY/6ZBs/4zy57mOoyVL
/wz9n//8z/9lCSyJwtA//vGvLs8N+S/u71W25n+1UTcuf6VVWz0Btu6vJJvX
Kq+SaM2Wf/zj73+cZ8A566KqT7P5TzJ02fInn4fuCfLf/p8gSbf8tYxl1SfL
X2O7/Vf3qG+WP+vwzG9Ynhlvz+e8/Me/p/7EHvon4HNx/dd8n8tq/nMMc/M0
/ceffJj/dFFT9cWfYfuv+1m0VNn89z9/Y4fx+mdL1B7Rtfzzd/+K9dxa/utH
/xqmzZbn+zw/ocb5Ge9vf/76P2sC/9+ztLOo/+Nsc//0/efYZdaO+db+e5X/
NefhjxbNTbP9pWxPr+rP9+9/7Ciaqz7r/9VjqdLsr+Rp6rP2T9I+Lf9azWro
l78D/xvkJAbG9FgBAA==
</rfc> </rfc>
 End of changes. 90 change blocks. 
1216 lines changed or deleted 236 lines changed or added

This html diff was produced by rfcdiff 1.48.