rfc9231xml2.original.xml | rfc9231.xml | |||
---|---|---|---|---|
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | <!DOCTYPE rfc [ | |||
<!ENTITY RFC1321 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | <!ENTITY nbsp " "> | |||
C.1321.xml"> | <!ENTITY zwsp "​"> | |||
<!ENTITY RFC2104 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | <!ENTITY nbhy "‑"> | |||
C.2104.xml"> | <!ENTITY wj "⁠"> | |||
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.2119.xml"> | ||||
<!ENTITY RFC2315 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.2315.xml"> | ||||
<!ENTITY RFC3275 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.3275.xml"> | ||||
<!ENTITY RFC3394 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.3394.xml"> | ||||
<!ENTITY RFC3713 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.3713.xml"> | ||||
<!ENTITY RFC3986 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.3986.xml"> | ||||
<!ENTITY RFC4050 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.4050.xml"> | ||||
<!ENTITY RFC4055 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.4055.xml"> | ||||
<!ENTITY RFC4269 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.4269.xml"> | ||||
<!ENTITY RFC4648 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.4648.xml"> | ||||
<!ENTITY RFC5869 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.5869.xml"> | ||||
<!ENTITY RFC6234 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.6234.xml"> | ||||
<!ENTITY RFC7748 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.7748.xml"> | ||||
<!ENTITY RFC8017 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.8017.xml"> | ||||
<!ENTITY RFC8032 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.8032.xml"> | ||||
<!ENTITY RFC8126 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.8126.xml"> | ||||
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.8174.xml"> | ||||
<!ENTITY RFC8391 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.8391.xml"> | ||||
<!ENTITY RFC8439 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.8439.xml"> | ||||
<!ENTITY RFC3075 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.3075.xml"> | ||||
<!ENTITY RFC3076 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.3076.xml"> | ||||
<!ENTITY RFC3092 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.3092.xml"> | ||||
<!ENTITY RFC3741 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.3741.xml"> | ||||
<!ENTITY RFC4010 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.4010.xml"> | ||||
<!ENTITY RFC6090 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.6090.xml"> | ||||
<!ENTITY RFC6151 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.6151.xml"> | ||||
<!ENTITY RFC6194 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.6194.xml"> | ||||
<!ENTITY RFC6931 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.6931.xml"> | ||||
<!ENTITY RFC7465 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.7465.xml"> | ||||
<!ENTITY RFC7696 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
C.7696.xml"> | ||||
]> | ]> | |||
<rfc submissionType="IETF" docName="draft-eastlake-rfc6931bis-xmlsec-uris-27" ca | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-eastlake-rfc6931b | |||
tegory="std" obsoletes="6931" ipr="trust200902"> | is-xmlsec-uris-27" | |||
<!-- Generated by id2xml 1.5.0 on 2022-04-06T23:07:29Z --> | number="9231" submissionType="IETF" category="std" consensus="true" obsoletes="6 | |||
<?rfc strict="yes"?> | 931" updates="" ipr="trust200902" xml:lang="en" symRefs="true" sortRefs="true" t | |||
<?rfc compact="yes"?> | ocInclude="true" version="3"> | |||
<?rfc subcompact="no"?> | ||||
<?rfc symrefs="yes"?> | ||||
<?rfc sortrefs="yes"?> | ||||
<?rfc text-list-symbols="o-*+"?> | ||||
<?rfc toc="yes"?> | ||||
<front> | <front> | |||
<title abbrev="Additional XML Security URIs">Additional XML Security Unif | <title abbrev="Additional XML Security URIs">Additional XML Security Uniform | |||
orm Resource Identifiers (URIs)</title> | Resource Identifiers (URIs)</title> | |||
<author initials="D." surname="Eastlake" fullname="Donald E. Eastlake 3rd | <seriesInfo name="RFC" value="9231"/> | |||
"> | <author initials="D." surname="Eastlake 3rd" fullname="Donald E. Eastlake 3r | |||
<organization>Futurewei Technologies, Inc.</organization> | d"> | |||
<address> | <organization>Futurewei Technologies, Inc.</organization> | |||
<postal> | <address> | |||
<street>2386 Panoramic Circle</street> | <postal> | |||
<city>Apopka</city> | <street>2386 Panoramic Circle</street> | |||
<region>FL</region> | <city>Apopka</city> | |||
<code>32703</code> | <region>FL</region> | |||
<country>USA</country> | <code>32703</code> | |||
<country>United States of America</country> | ||||
</postal> | </postal> | |||
<phone>+1-508-333-2270</phone> | <phone>+1-508-333-2270</phone> | |||
<email>d3e3e3@gmail.com</email> | <email>d3e3e3@gmail.com</email> | |||
<uri></uri> | <uri/> | |||
</address> | </address> | |||
</author> | ||||
</author> | <date year="2022" month="June"/> | |||
<date year="2022" month="April" /> | ||||
<!-- [rfced] Please review. Unable to determine which <area> and <workgroup> th | ||||
is doc should belong to --> | ||||
<area></area> | <keyword> XMLSEC</keyword> | |||
<workgroup></workgroup> | <keyword>XMLDSIG </keyword> | |||
<keyword>XMLENC </keyword> | ||||
<keyword>DigestMethod </keyword> | ||||
<keyword>SigntureMethod </keyword> | ||||
<keyword>EncryptionMethod </keyword> | ||||
<keyword>AgreementMethod </keyword> | ||||
<keyword>KeyDerivationMethod </keyword> | ||||
<keyword>KeyInfoy </keyword> | ||||
<abstract><t> | <abstract> | |||
<t> | ||||
This document updates and corrects the IANA "XML Security URIs" | This document updates and corrects the IANA "XML Security URIs" | |||
registry that lists URIs intended for use with XML digital | registry that lists URIs intended for use with XML digital | |||
signatures, encryption, canonicalization, and key management. These | signatures, encryption, canonicalization, and key management. These | |||
URIs identify algorithms and types of information. This document | URIs identify algorithms and types of information. This document | |||
also updates, corrects three errata against, and obsoletes RFC 6931.</t> | also obsoletes and corrects three errata against RFC 6931.</t> | |||
</abstract> | ||||
</front> | ||||
<middle> | </abstract> | |||
<section title="Introduction" anchor="sect-1"><t> | </front> | |||
<middle> | ||||
<section anchor="sect-1" numbered="true" toc="default"> | ||||
<name>Introduction</name> | ||||
<t> | ||||
XML digital signatures, canonicalization, and encryption were | XML digital signatures, canonicalization, and encryption were | |||
standardized by the W3C and by the joint IETF/W3C XMLDSIG working | standardized by the W3C and by the joint IETF/W3C XMLDSIG working | |||
group [W3C] [XMLSEC]. These are now W3C Recommendations and some are | group <xref target="W3C" format="default"/> <xref target="XMLSEC" format="def ault"/>. These are now W3C Recommendations and some are | |||
also RFCs. They are available as follows:</t> | also RFCs. They are available as follows:</t> | |||
<table> | ||||
<thead> | ||||
<tr> | ||||
<th>RFC <br/>Status</th> | ||||
<th>W3C REC</th> | ||||
<th>Topic</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<figure><artwork><![CDATA[ | <td> <xref target="RFC3275"/> <br/>Draft Standard</td> | |||
RFC | <td><xref target="XMLDSIG10"/></td> | |||
Status W3C REC Topic | <td>XML Digital Signatures</td> | |||
----------- ------- ----- | </tr> | |||
<tr> | ||||
[RFC3275] [XMLDSIG10] XML Digital Signatures | ||||
Draft Standard | ||||
[RFC3076] [CANON10] Canonical XML | <td> <xref target="RFC3076"/> <br/>Informational</td> | |||
Informational | <td><xref target="CANON10"/></td> | |||
<td>Canonical XML</td> | ||||
</tr> | ||||
<tr> | ||||
- - - - - - [XMLENC10] XML Encryption 1.0 | <td> - - - - - - </td> | |||
<td><xref target="XMLENC10"/></td> | ||||
<td>XML Encryption 1.0</td> | ||||
</tr> | ||||
<tr> | ||||
[RFC3741] [XCANON] Exclusive XML Canonicalization 1.0 | <td> <xref target="RFC3741"/> <br/>Informational</td> | |||
Informational | <td><xref target="XCANON"/></td> | |||
]]></artwork> | <td>Exclusive XML Canonicalization 1.0</td> | |||
</figure> | </tr> | |||
</tbody> | ||||
</table> | ||||
<t> | <t> | |||
These documents and recommendations use URIs <xref target="RFC3986"/> to iden | These documents and recommendations use URIs <xref target="RFC3986" format="d | |||
tify | efault"/> to identify | |||
algorithms and keying information types. The W3C has subsequently | algorithms and keying information types. The W3C has subsequently | |||
produced updated XML Signature 1.1 <xref target="XMLDSIG11"/>, Canonical XML | produced updated XML Signature 1.1 <xref target="XMLDSIG11" format="default"/ | |||
1.1 | >, Canonical XML 1.1 | |||
<xref target="CANON11"/>, and XML Encryption 1.1 <xref target="XMLENC11"/> ve | <xref target="CANON11" format="default"/>, and XML Encryption 1.1 <xref targe | |||
rsions, as well as a | t="XMLENC11" format="default"/> versions, as well as a | |||
new XML Signature Properties specification <xref target="XMLDSIG-PROP"/>.</t> | new XML Signature Properties specification <xref target="XMLDSIG-PROP" format | |||
="default"/>.</t> | ||||
<t> | <t> | |||
In addition, the XML Encryption recommendation has been augmented by | In addition, the XML Encryption recommendation has been augmented by | |||
<xref target="GENERIC"/> which defines algorithms, XML types, and elements ne | <xref target="GENERIC" format="default"/>, which defines algorithms, XML type | |||
cessary | s, and elements necessary | |||
to use generic hybrid ciphers in XML Security applications. <xref target="GEN | to use generic hybrid ciphers in XML security applications. <xref target="GEN | |||
ERIC"/> | ERIC" format="default"/> | |||
also provides for a key encapsulation algorithm and a data | also provides for a key encapsulation algorithm and a data | |||
encapsulation algorithm, with the combination of the two forming the | encapsulation algorithm, with the combination of the two forming the | |||
generic hybrid cipher.</t> | generic hybrid cipher.</t> | |||
<t> | ||||
<t> | ||||
All camel-case element names (names with both interior upper and | All camel-case element names (names with both interior upper and | |||
lower case letters) herein, such as DigestValue, are from these | lower case letters) herein, such as DigestValue, are from these | |||
documents.</t> | documents.</t> | |||
<t> | ||||
<t> | ||||
This document is an updated convenient reference list of URIs and | This document is an updated convenient reference list of URIs and | |||
corresponding algorithms in which there is expressed interest. This | corresponding algorithms in which there is expressed interest. This | |||
document fixes Errata [Err3597], [Err3965], [Err4004] against and | document fixes Errata <xref target="Err3597" format="default"/>, <xref target | |||
obsoletes <xref target="RFC6931"/>.</t> | ="Err3965" format="default"/>, and <xref target="Err4004" format="default"/>, an | |||
d obsoletes <xref target="RFC6931" format="default"/>.</t> | ||||
<t> | <t> | |||
All of the URIs for algorithms and data types herein are listed in | All of the URIs for algorithms and data types herein are listed in | |||
the indexes in <xref target="sect-4"/>. Of these URIs, those that were added | the indexes in <xref target="sect-4" format="default"/>. Of these URIs, thos | |||
by | e that were added by | |||
earlier RFCs or by this document have a subsection in <xref target="sect-2"/> | earlier RFCs or by this document have a subsection in Section <xref target="s | |||
or 3. | ect-2" format="counter"/> or <xref target="sect-3" format="counter"/>. | |||
A few URIs defined elsewhere also have a subsection in <xref target="sect-2"/ | A few URIs defined elsewhere also have a subsection in Section <xref target=" | |||
> or 3 | sect-2" format="counter"/> or <xref target="sect-3" format="counter"/>, | |||
but most such URIs do not. For example, use of SHA-256 as defined in | but most such URIs do not. For example, use of SHA-256 as defined in | |||
<xref target="XMLENC11"/> has no subsection here but is included in the index | <xref target="XMLENC11" format="default"/> has no subsection here but is incl | |||
es in | uded in the indexes in | |||
<xref target="sect-4"/>.</t> | <xref target="sect-4" format="default"/>.</t> | |||
<t> | ||||
<t> | ||||
Specification in this document of the URI representing an algorithm | Specification in this document of the URI representing an algorithm | |||
does not imply endorsement of the algorithm for any particular | does not imply endorsement of the algorithm for any particular | |||
purpose. A protocol specification, which this is not, generally | purpose. A protocol specification, which this is not, generally | |||
gives algorithm and implementation requirements for the protocol. | gives algorithm and implementation requirements for the protocol. | |||
Security considerations for algorithms are constantly evolving, as | Security considerations for algorithms are constantly evolving, as | |||
documented elsewhere. This specification simply provides some URIs | documented elsewhere. This specification simply provides some URIs | |||
and relevant formatting when those URIs are used.</t> | and relevant formatting when those URIs are used.</t> | |||
<t> | ||||
<t> | ||||
This document is not intended to change the algorithm implementation | This document is not intended to change the algorithm implementation | |||
requirements of any IETF or W3C document. Use of <xref target="RFC2119"/>/<xr | requirements of any IETF or W3C document. Use of | |||
ef target="RFC8174"/> | terminology from <xref target="RFC2119" format="default"/> and <xref target=" | |||
terminology is intended to be only such as is already stated or | RFC8174" format="default"/> is intended to be only such as is already stated or | |||
implied by other authoritative documents.</t> | implied by other authoritative documents.</t> | |||
<t> | ||||
<t> | Progressing XML Digital Signature <xref target="RFC3275" format="default"/> a | |||
Progressing XML Digital Signature <xref target="RFC3275"/> along the Standard | long the Standards Track | |||
s Track | ||||
required removal of any algorithms from the original version | required removal of any algorithms from the original version | |||
<xref target="RFC3075"/> for which there was not demonstrated interoperabilit y. | <xref target="RFC3075" format="default"/> for which there was not demonstrate d interoperability. | |||
This required removal of the Minimal Canonicalization algorithm, in | This required removal of the Minimal Canonicalization algorithm, in | |||
which there was continued interest. The URI for Minimal | which there was continued interest. The URI for Minimal | |||
Canonicalization was included in <xref target="RFC6931"/> and is included her | Canonicalization was included in <xref target="RFC6931" format="default"/> an | |||
e.</t> | d is included here.</t> | |||
<section anchor="sect-1.1" numbered="true" toc="default"> | ||||
<section title="Terminology" anchor="sect-1.1"><t> | <name>Terminology</name> | |||
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, the | ||||
y appear in all | ||||
capitals, as shown here.</t> | ||||
<t> | <t> | |||
The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | ||||
"<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | ||||
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | ||||
"<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
be interpreted as described in BCP 14 <xref target="RFC2119" | ||||
format="default"/> <xref target="RFC8174" format="default"/> when, and only | ||||
when, they appear in all capitals, as shown here.</t> | ||||
<t> | ||||
"camel-case" refers to terms that are mostly lower case but have | "camel-case" refers to terms that are mostly lower case but have | |||
internal capital letters.</t> | internal capital letters.</t> | |||
</section> | ||||
<section anchor="sect-1.2" numbered="true" toc="default"> | ||||
<name>Acronyms</name> | ||||
<t>The following acronyms are used in this document: | ||||
</t> | ||||
<dl> | ||||
</section> | <dt>AAD -</dt><dd> Additional Authenticated Data</dd> | |||
<dt>AEAD -</dt><dd> Authenticated Encryption with Associated Data</dd> | ||||
<section title="Acronyms" anchor="sect-1.2"> | <dt>ASN.1 -</dt><dd>Abstract Syntax Notation 1</dd> | |||
<dt>BER -</dt><dd>Basic Encoding Rules <xref target="ITU-T-X.680"/></dd> | ||||
<t>The following acronyms are used in this document: | <dt>DSA -</dt><dd>Digital Signature Algorithm</dd> | |||
<list> | <dt>DSS -</dt><dd>Digital Signature Standard <xref target="FIPS186-4"/></dd> | |||
<t>AAD - Additional Authenticated Data</t> | <dt>ECDSA -</dt><dd>Elliptic Curve DSA</dd> | |||
<t>AEAD - Authenticated Encryption with Additional Data</t> | <dt>HMAC -</dt><dd> Hashed Message Authentication Code <xref target="RFC2104" f | |||
<t>HMAC - Hashed Message Authentication Code <xref target="RFC2104"/> | ormat="default"/> | |||
<xref target="RFC5869"/></t> | <xref target="RFC5869" format="default"/></dd> | |||
<t>IETF - Internet Engineering Task Force <eref target="https://www.i | <dt>IETF -</dt><dd> Internet Engineering Task Force <eref brackets="angle" targe | |||
etf.org"/></t> | t="https://www.ietf.org"/></dd> | |||
<t>MAC - Message Authentication Code</t> | <dt>MAC -</dt><dd> Message Authentication Code</dd> | |||
<t>MD - Message Digest</t> | <dt>MD -</dt><dd> Message Digest</dd> | |||
<t>NIST - United States National Institute of Standards and Technolog | <dt>NIST -</dt><dd>United States National Institute of Standards and Technology | |||
y | <eref brackets="angle" target="https://www.nist.gov"/></dd> | |||
<eref target="https://www.nist.gov"/></t> | <dt>OID -</dt><dd>Object Identifier <xref target="ITU-T-X.660"/></dd> | |||
<t>RSA - Rivest, Shamir, and Adleman</t> | <dt>PKCS -</dt><dd>Public Key Cryptography Standard</dd> | |||
<t>SHA - Secure Hash Algorithm</t> | <dt>RSA -</dt><dd> Rivest, Shamir, and Adleman</dd> | |||
<t>URI - Uniform Resource Identifier <xref target="RFC3986"/></t> | <dt>SHA -</dt><dd> Secure Hash Algorithm</dd> | |||
<t>W3C - World Wide Web Consortium <eref target="https://www.w3.org"/ | <dt>URI -</dt><dd> Uniform Resource Identifier <xref target="RFC3986" format="de | |||
></t> | fault"/></dd> | |||
<t>XML - eXtensible Markup Language</t> | <dt>W3C -</dt><dd> World Wide Web Consortium <eref brackets="angle" target="http | |||
s://www.w3.org"/></dd> | ||||
</list> | <dt>XML -</dt><dd> eXtensible Markup Language</dd> | |||
</t> | </dl> | |||
</section> | ||||
</section> | ||||
<section title="Algorithms" anchor="sect-2"><t> | </section> | |||
The URI <xref target="RFC3986"/> that was dropped from the XML Digital Signat | </section> | |||
ure | <section anchor="sect-2" numbered="true" toc="default"> | |||
<name>Algorithms</name> | ||||
<t> | ||||
The URI <xref target="RFC3986" format="default"/> that was dropped from the X | ||||
ML Digital Signature | ||||
standard due to the transition from Proposed Standard to Draft | standard due to the transition from Proposed Standard to Draft | |||
Standard <xref target="RFC3275"/> is included in <xref target="sect-2.4"/> be low with its original | Standard <xref target="RFC3275" format="default"/> is included in <xref targe t="sect-2.4" format="default"/> with its original | |||
<list> | </t> | |||
<t><eref target="http://www.w3.org/2000/09/xmldsig#"/></t> | <t indent="6"><eref target="http://www.w3.org/2000/09/xmldsig#"/></t> | |||
</list></t> | ||||
<t>prefix so as to avoid changing the XMLDSIG standard's namespace.</t> | <t>prefix so as to avoid changing the XMLDSIG standard's namespace.</t> | |||
<t>Additional algorithms in RFC 4051 were given URIs that start with | ||||
<t>Additional algorithms in RFC 4051 were given URIs that start with | </t> | |||
<t indent="6"> <eref target="http://www.w3.org/2001/04/xmldsig-more#"/></ | ||||
t> | ||||
<list> | <t>Further algorithms added in <xref target="RFC6931"/> were given URIs th | |||
<t><eref target="http://www.w3.org/2001/04/xmldsig-more#"/></t> | at start with </t> | |||
</list></t> | ||||
<t>further algorithms added in [RFC6931] were given URIs that start with | <t indent="6"><eref target="http://www.w3.org/2007/05/xmldsig-more#"/></t > | |||
<list> | <t>and algorithms added in this document are given URIs that start with</t | |||
<t><eref target="http://www.w3.org/2007/05/xmldsig-more#"/></t> | > | |||
</list></t> | ||||
<t>and algorithms added in this document are given URIs that start with | <t indent="6"> <eref target="http://www.w3.org/2021/04/xmldsig-more#"/></ t> | |||
<list> | <!-- [rfced] Should we update the URLs and identifiers | |||
<t><eref target="http://www.w3.org/2021/04/xmldsig-more#"/></t> | throughout this document to "https"? For example: | |||
</list></t> | Also, would you like the eref element to be used so that these | |||
are clickable links (in the HTML and PDF outputs)? | ||||
<t> | Identifiers: | |||
http://www.w3.org/2007/05/xmldsig-more#sha3-224-rsa-MGF1 | ||||
http://www.w3.org/2007/05/xmldsig-more#sha3-256-rsa-MGF1 | ||||
http://www.w3.org/2007/05/xmldsig-more#sha3-384-rsa-MGF1 | ||||
http://www.w3.org/2007/05/xmldsig-more#sha3-512-rsa-MGF1 | ||||
Waiting to hearr back from Donald. | ||||
--> | ||||
<t> | ||||
In addition, for ease of reference, this document includes in the | In addition, for ease of reference, this document includes in the | |||
indexes in <xref target="sect-4"/> many cryptographic algorithm URIs from XML | indexes in <xref target="sect-4" format="default"/> many cryptographic algori thm URIs from XML | |||
security documents using the namespaces with which they are defined | security documents using the namespaces with which they are defined | |||
in those documents as follows: | in those documents as follows: | |||
<list> | </t> | |||
<t><eref target="http://www.w3.org/2000/09/xmldsig#"/></t> | <t indent="6"> <eref target="http://www.w3.org/2000/09/xmldsig#"/></t> | |||
</list></t> | ||||
<t>for some URIs specified in [RFC3275], | <t>for some URIs specified in <xref target="RFC3275"/>, </t> | |||
<list> | <t indent="6"><eref target="http://www.w3.org/2001/04/xmlenc#"/></t> | |||
<t><eref target="http://www.w3.org/2001/04/xmlenc#"/></t> | ||||
</list></t> | ||||
<t>for some URIs specified in <xref target="XMLENC10"/>, and | <t>for some URIs specified in <xref target="XMLENC10" format="default"/>, and </t> | |||
<list> | <t indent="6"><eref target="http://www.w3/org/xmlsec-ghc#"/></t> | |||
<t><eref target="http://www.w3/org/xmlsec-ghc#"/></t> | ||||
</list></t> | ||||
<t>for some URIs specified in <xref target="GENERIC"/>.</t> | <t>for some URIs specified in <xref target="GENERIC" format="default"/>.</ t> | |||
<t>See also <xref target="XMLSECXREF"/>.</t> | <t>See also <xref target="XMLSECXREF" format="default"/>.</t> | |||
<section title="DigestMethod (Hash) Algorithms" anchor="sect-2.1"><t> | <section anchor="sect-2.1" numbered="true" toc="default"> | |||
<name>DigestMethod (Hash) Algorithms</name> | ||||
<t> | ||||
These algorithms are usable wherever a DigestMethod element occurs.</t> | These algorithms are usable wherever a DigestMethod element occurs.</t> | |||
<section anchor="sect-2.1.1" numbered="true" toc="default"> | ||||
<section title="MD5" anchor="sect-2.1.1"> | <name>MD5</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#md5 | http://www.w3.org/2001/04/xmldsig-more#md5 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | The MD5 algorithm <xref target="RFC1321" format="default"/> takes no explicit | |||
The MD5 algorithm <xref target="RFC1321"/> takes no explicit parameters. An e | parameters. An example | |||
xample | ||||
of an MD5 DigestAlgorithm element is:</t> | of an MD5 DigestAlgorithm element is:</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<DigestAlgorithm | <DigestAlgorithm | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#md5"/> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#md5"/> | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
An MD5 digest is a 128-bit string. The content of the DigestValue | An MD5 digest is a 128-bit string. The content of the DigestValue | |||
element SHALL be the base64 <xref target="RFC4648"/> encoding of this bit str | element <bcp14>SHALL</bcp14> be the base64 <xref target="RFC4648" format="def | |||
ing | ault"/> encoding of this bit string | |||
viewed as a 16-octet stream. See <xref target="RFC6151"/> for MD5 security | viewed as a 16-octet stream. See <xref target="RFC6151" format="default"/> fo | |||
r MD5 security | ||||
considerations.</t> | considerations.</t> | |||
</section> | ||||
</section> | <section anchor="sect-2.1.2" numbered="true" toc="default"> | |||
<name>SHA-224</name> | ||||
<section title="SHA-224" anchor="sect-2.1.2"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#sha224 | http://www.w3.org/2001/04/xmldsig-more#sha224 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
The SHA-224 algorithm <xref target="FIPS180-4" format="default"/> <xref targe | ||||
<t> | t="RFC6234" format="default"/> takes no explicit | |||
The SHA-224 algorithm <xref target="FIPS180-4"/> <xref target="RFC6234"/> tak | ||||
es no explicit | ||||
parameters. An example of a SHA-224 DigestAlgorithm element is:</t> | parameters. An example of a SHA-224 DigestAlgorithm element is:</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<DigestAlgorithm | <DigestAlgorithm | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha224" /> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha224" /> | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
A SHA-224 digest is a 224-bit string. The content of the DigestValue | A SHA-224 digest is a 224-bit string. The content of the DigestValue | |||
element SHALL be the base64 <xref target="RFC4648"/> encoding of this string viewed | element <bcp14>SHALL</bcp14> be the base64 <xref target="RFC4648" format="def ault"/> encoding of this string viewed | |||
as a 28-octet stream.</t> | as a 28-octet stream.</t> | |||
</section> | ||||
</section> | <section anchor="sect-2.1.3" numbered="true" toc="default"> | |||
<name>SHA-384</name> | ||||
<section title="SHA-384" anchor="sect-2.1.3"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#sha384 | http://www.w3.org/2001/04/xmldsig-more#sha384 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
The SHA-384 algorithm <xref target="FIPS180-4" format="default"/> takes no ex | ||||
<t> | plicit parameters. An | |||
The SHA-384 algorithm <xref target="FIPS180-4"/> takes no explicit parameters | ||||
. An | ||||
example of a SHA-384 DigestAlgorithm element is:</t> | example of a SHA-384 DigestAlgorithm element is:</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<DigestAlgorithm | <DigestAlgorithm | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha384" /> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha384" /> | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
A SHA-384 digest is a 384-bit string. The content of the DigestValue | A SHA-384 digest is a 384-bit string. The content of the DigestValue | |||
element SHALL be the base64 <xref target="RFC4648"/> encoding of this string viewed | element <bcp14>SHALL</bcp14> be the base64 <xref target="RFC4648" format="def ault"/> encoding of this string viewed | |||
as a 48-octet stream.</t> | as a 48-octet stream.</t> | |||
</section> | ||||
</section> | <section anchor="sect-2.1.4" numbered="true" toc="default"> | |||
<name>Whirlpool</name> | ||||
<section title="Whirlpool" anchor="sect-2.1.4"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2007/05/xmldsig-more#whirlpool | http://www.w3.org/2007/05/xmldsig-more#whirlpool | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
The Whirlpool algorithm <xref target="ISO-10118-3" format="default"/> takes n | ||||
<t> | o explicit parameters. An | |||
The Whirlpool algorithm <xref target="ISO-10118-3"/> takes no explicit parame | ||||
ters. An | ||||
example of a Whirlpool DigestAlgorithm element is:</t> | example of a Whirlpool DigestAlgorithm element is:</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<DigestAlgorithm | <DigestAlgorithm | |||
Algorithm="http://www.w3.org/2007/05/xmldsig-more#whirlpool" /> | Algorithm="http://www.w3.org/2007/05/xmldsig-more#whirlpool" /> | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
A Whirlpool digest is a 512-bit string. The content of the | A Whirlpool digest is a 512-bit string. The content of the | |||
DigestValue element SHALL be the base64 <xref target="RFC4648"/> encoding of this | DigestValue element <bcp14>SHALL</bcp14> be the base64 <xref target="RFC4648" format="default"/> encoding of this | |||
string viewed as a 64-octet stream.</t> | string viewed as a 64-octet stream.</t> | |||
</section> | ||||
</section> | <section anchor="sect-2.1.5" numbered="true" toc="default"> | |||
<name>SHA-3 Algorithms</name> | ||||
<section title="SHA3 Algorithms" anchor="sect-2.1.5"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifiers: | Identifiers: | |||
http://www.w3.org/2007/05/xmldsig-more#sha3-224 | http://www.w3.org/2007/05/xmldsig-more#sha3-224 | |||
http://www.w3.org/2007/05/xmldsig-more#sha3-256 | http://www.w3.org/2007/05/xmldsig-more#sha3-256 | |||
http://www.w3.org/2007/05/xmldsig-more#sha3-384 | http://www.w3.org/2007/05/xmldsig-more#sha3-384 | |||
http://www.w3.org/2007/05/xmldsig-more#sha3-512 | http://www.w3.org/2007/05/xmldsig-more#sha3-512 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
NIST conducted a hash function competition for an alternative to the | NIST conducted a hash function competition for an alternative to the | |||
SHA family. The Keccak-f[1600] algorithm was selected <xref target="Keccak"/ | SHA family. The Keccak-f[1600] algorithm was selected <xref target="KECCAK" | |||
>. | format="default"/>. | |||
This hash function is commonly referred to as "SHA-3" <xref target="FIPS202"/ | This hash function is commonly referred to as "SHA-3" <xref target="FIPS202" | |||
>.</t> | format="default"/>.</t> | |||
<t> | ||||
<t> | ||||
A SHA-3 224, 256, 384, and 512 digest is a 224-, 256-, 384-, and | A SHA-3 224, 256, 384, and 512 digest is a 224-, 256-, 384-, and | |||
512-bit string, respectively. The content of the DigestValue element | 512-bit string, respectively. The content of the DigestValue element | |||
SHALL be the base64 <xref target="RFC4648"/> encoding of this string viewed a s a | <bcp14>SHALL</bcp14> be the base64 <xref target="RFC4648" format="default"/> encoding of this string viewed as a | |||
28-, 32-, 48-, and 64-octet stream, respectively. An example of a | 28-, 32-, 48-, and 64-octet stream, respectively. An example of a | |||
SHA3-224 DigestAlgorithm element is:</t> | SHA3-224 DigestAlgorithm element is:</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<DigestAlgorithm | <DigestAlgorithm | |||
Algorithm="http://www.w3.org/2007/05/xmldsig-more#sha3-224" /> | Algorithm="http://www.w3.org/2007/05/xmldsig-more#sha3-224" /> | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </section> | |||
</section> | </section> | |||
<section anchor="sect-2.2" numbered="true" toc="default"> | ||||
</section> | <name>SignatureMethod MAC Algorithms</name> | |||
<t> | ||||
<section title="SignatureMethod MAC Algorithms" anchor="sect-2.2"><t> | This section covers SignatureMethod Message Authentication Code (MAC) | |||
This section covers SignatureMethod MAC (Message Authentication Code) | ||||
Algorithms.</t> | Algorithms.</t> | |||
<t> | ||||
<t> | Note: Some text in this section is duplicated from <xref target="RFC3275" for | |||
Note: Some text in this section is duplicated from <xref target="RFC3275"/> f | mat="default"/> for the | |||
or the | convenience of the reader. <xref target="RFC3275" format="default"/> is norma | |||
convenience of the reader. <xref target="RFC3275"/> is normative in case of | tive in case of | |||
conflict.</t> | conflict.</t> | |||
<section anchor="sect-2.2.1" numbered="true" toc="default"> | ||||
<section title="HMAC-MD5" anchor="sect-2.2.1"> | <name>HMAC-MD5</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#hmac-md5 | http://www.w3.org/2001/04/xmldsig-more#hmac-md5 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | ||||
<t> | <t> | |||
The HMAC algorithm <xref target="RFC2104"/> takes the truncation length in bi | The HMAC algorithm <xref target="RFC2104" format="default"/> takes the trunca | |||
ts as a | tion length in bits as a | |||
parameter; if the parameter is not specified, then all the bits of | parameter; if the parameter is not specified, then all the bits of | |||
the hash are output. An example of an HMAC-MD5 SignatureMethod | the hash are output. An example of an HMAC-MD5 SignatureMethod | |||
element is as follows:</t> | element is as follows:</t> | |||
<sourcecode type="xml"><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-md5"> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-md5"> | |||
<HMACOutputLength>112</HMACOutputLength> | <HMACOutputLength>112</HMACOutputLength> | |||
</SignatureMethod> | </SignatureMethod> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | <t> | |||
<t> | ||||
The output of the HMAC algorithm is the output (possibly truncated) | The output of the HMAC algorithm is the output (possibly truncated) | |||
of the chosen digest algorithm. This value SHALL be base64 <xref target="RFC4 648"/> | of the chosen digest algorithm. This value <bcp14>SHALL</bcp14> be base64 <xr ef target="RFC4648" format="default"/> | |||
encoded in the same straightforward fashion as the output of the | encoded in the same straightforward fashion as the output of the | |||
digest algorithms. Example: the SignatureValue element for the HMAC-MD5 diges t</t> | digest algorithms. Example: the SignatureValue element for the HMAC-MD5 diges t</t> | |||
<artwork> | ||||
<figure><artwork><![CDATA[ | ||||
9294727A 3638BB1C 13F48EF8 158BFC9D | 9294727A 3638BB1C 13F48EF8 158BFC9D | |||
</artwork> | ||||
from the test vectors in [RFC2104] would be | <t>from the test vectors in <xref target="RFC2104"/> would be</t> | |||
<artwork> | ||||
kpRyejY4uxwT9I74FYv8nQ== | kpRyejY4uxwT9I74FYv8nQ== | |||
</artwork> | ||||
<t> | ||||
Schema Definition: | Schema Definition: | |||
</t> | ||||
<sourcecode type="xml"><![CDATA[ | ||||
<simpleType name="HMACOutputLength"> | <simpleType name="HMACOutputLength"> | |||
<restriction base="integer"/> | <restriction base="integer"/> | |||
</simpleType> | </simpleType> | |||
]]></sourcecode> | ||||
DTD: | <t> | |||
DTD: | ||||
<!ELEMENT HMACOutputLength (#PCDATA) > | </t> | |||
]]></artwork> | <sourcecode><![CDATA[ | |||
</figure> | <!ELEMENT HMACOutputLength (#PCDATA) > | |||
]]></sourcecode> | ||||
<t> | <t> | |||
The Schema Definition and DTD immediately above are copied from | The Schema Definition and DTD immediately above are copied from | |||
<xref target="RFC3275"/>.</t> | <xref target="RFC3275" format="default"/>.</t> | |||
<t> | ||||
<t> | See <xref target="RFC6151" format="default"/> for HMAC-MD5 security considera | |||
See <xref target="RFC6151"/> for HMAC-MD5 security considerations.</t> | tions.</t> | |||
</section> | ||||
</section> | <section anchor="sect-2.2.2" numbered="true" toc="default"> | |||
<name>HMAC SHA Variations</name> | ||||
<section title="HMAC SHA Variations" anchor="sect-2.2.2"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifiers: | Identifiers: | |||
http://www.w3.org/2001/04/xmldsig-more#hmac-sha224 | http://www.w3.org/2001/04/xmldsig-more#hmac-sha224 | |||
http://www.w3.org/2001/04/xmldsig-more#hmac-sha256 | http://www.w3.org/2001/04/xmldsig-more#hmac-sha256 | |||
http://www.w3.org/2001/04/xmldsig-more#hmac-sha384 | http://www.w3.org/2001/04/xmldsig-more#hmac-sha384 | |||
http://www.w3.org/2001/04/xmldsig-more#hmac-sha512 | http://www.w3.org/2001/04/xmldsig-more#hmac-sha512 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
SHA-224, SHA-256, SHA-384, and SHA-512 <xref target="FIPS180-4" format="defau | ||||
<t> | lt"/> <xref target="RFC6234" format="default"/> can also | |||
SHA-224, SHA-256, SHA-384, and SHA-512 <xref target="FIPS180-4"/> <xref targe | be used in HMAC as described in <xref target="sect-2.2.1" format="default"/> | |||
t="RFC6234"/> can also | for HMAC-MD5.</t> | |||
be used in HMAC as described in <xref target="sect-2.2.1"/> above for HMAC-MD | </section> | |||
5.</t> | <section anchor="sect-2.2.3" numbered="true" toc="default"> | |||
<name>HMAC-RIPEMD160</name> | ||||
</section> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<section title="HMAC-RIPEMD160" anchor="sect-2.2.3"> | ||||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#hmac-ripemd160 | http://www.w3.org/2001/04/xmldsig-more#hmac-ripemd160 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
RIPEMD-160 <xref target="ISO-10118-3" format="default"/> is a 160-bit hash th | ||||
<t> | at is used here in HMAC. The | |||
RIPEMD-160 <xref target="ISO-10118-3"/> is a 160-bit hash that is used here i | ||||
n HMAC. The | ||||
output can be optionally truncated. An example is as follows:</t> | output can be optionally truncated. An example is as follows:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-ripemd160"> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-ripemd160"> | |||
<HMACOutputLength>144</HMACOutputLength> | <HMACOutputLength>144</HMACOutputLength> | |||
</SignatureMethod> | </SignatureMethod> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.2.4" numbered="true" toc="default"> | |||
<name>Poly1305</name> | ||||
<section title="Poly1305" anchor="sect-2.2.4"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2021/04/xmldsig-more#poly1305 | http://www.w3.org/2021/04/xmldsig-more#poly1305 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
Poly1305 <xref target="RFC8439" format="default"/> <xref target="POLY1305" fo | ||||
<t> | rmat="default"/> is a high-speed message authentication | |||
Poly1305 <xref target="RFC8439"/> <xref target="Poly1305"/> is a high-speed m | ||||
essage authentication | ||||
code algorithm. It takes a 32-octet one-time key and a message and | code algorithm. It takes a 32-octet one-time key and a message and | |||
produces a 16-octet tag which is used to authenticate the message. An | produces a 16-octet tag, which is used to authenticate the message. An | |||
example of a Poly1305 SignatureMethod element is as follows:</t> | example of a Poly1305 SignatureMethod element is as follows:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2021/04/xmldsig-more#poly1305"/> | Algorithm="http://www.w3.org/2021/04/xmldsig-more#poly1305"/> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.2.5" numbered="true" toc="default"> | |||
<name>SipHash-2-4</name> | ||||
<section title="SipHash-2-4" anchor="sect-2.2.5"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2021/04/xmldsig-more#siphash-2-4 | http://www.w3.org/2021/04/xmldsig-more#siphash-2-4 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
SipHash <xref target="SipHash1" format="default"/> <xref target="SipHash2" fo | ||||
<t> | rmat="default"/> computes a 64-bit MAC from a 128-bit | |||
SipHash [SipHash1] [SipHash2] computes a 64-bit MAC from a 128-bit | secret key and a variable-length message. An example of a SipHash-2-4 | |||
secret key and a variable length message. An example of a SipHash-2-4 | ||||
SignatureMethod element is as follows:</t> | SignatureMethod element is as follows:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2021/04/xmldsig-more#siphash-2-4"/> | Algorithm="http://www.w3.org/2021/04/xmldsig-more#siphash-2-4"/> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.2.6" numbered="true" toc="default"> | |||
<name>XMSS and XMSSMT</name> | ||||
<section title="XMSS and XMSSMT" anchor="sect-2.2.6"><t> | <t> | |||
XMSS (eXtended Merkle Signature Scheme) and XMSSMT (XMSS Multi-Tree) | XMSS (eXtended Merkle Signature Scheme) and XMSSMT (XMSS Multi-Tree) | |||
<xref target="RFC8391"/> are stateful hash-based signature schemes [NIST800-2 08]. | <xref target="RFC8391" format="default"/> are stateful hash-based signature s chemes <xref target="NIST800-208" format="default"/>. | |||
According to NIST, it is believed that the security of these schemes | According to NIST, it is believed that the security of these schemes | |||
depends only on the security of the underlying hash functions -- in | depends only on the security of the underlying hash functions, in | |||
particular the infeasibility of finding a preimage or a second | particular the infeasibility of finding a preimage or a second | |||
preimage -- and it is believed that the security of these hash | preimage, and it is believed that the security of these hash | |||
functions will not be broken by the development of large-scale | functions will not be broken by the development of large-scale | |||
quantum computers.</t> | quantum computers.</t> | |||
<t> | ||||
<t> | ||||
For further information on the intended usage of these signature | For further information on the intended usage of these signature | |||
schemes and the careful state management required to maintain their | schemes and the careful state management required to maintain their | |||
strength, see [NIST800-208].</t> | strength, see <xref target="NIST800-208" format="default"/>.</t> | |||
<t> | ||||
<t> | ||||
IANA maintains a registry whose entries correspond to the XMSS | IANA maintains a registry whose entries correspond to the XMSS | |||
Identifiers below (see [XMSS]). The fragment part of the URIs is | Identifiers below (see <xref target="XMSS" format="default"/>). The fragment part of the URIs is | |||
formed by replacing occurrences of underscore ("_") in the name | formed by replacing occurrences of underscore ("_") in the name | |||
appearing in the IANA Registry with hyphen ("-").</t> | appearing in the IANA registry with hyphen ("-").</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
Identifiers for XMSS: | Identifiers for XMSS: | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-10-192 | http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-10-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-10-256 | http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-10-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-10-512 | http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-10-512 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-16-192 | http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-16-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-16-256 | http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-16-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-16-512 | http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-16-512 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-20-192 | http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-20-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-20-256 | http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-20-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-20-512 | http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-20-512 | |||
skipping to change at line 576 ¶ | skipping to change at line 514 ¶ | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-shake-16-512 | http://www.w3.org/2021/04/xmldsig-more#xmss-shake-16-512 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-shake-20-256 | http://www.w3.org/2021/04/xmldsig-more#xmss-shake-20-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-shake-20-512 | http://www.w3.org/2021/04/xmldsig-more#xmss-shake-20-512 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-10-192 | http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-10-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-10-256 | http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-10-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-16-192 | http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-16-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-16-256 | http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-16-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-20-192 | http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-20-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-20-256 | http://www.w3.org/2021/04/xmldsig-more#xmss-shake256-20-256 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
The hash functions used in the XMSS signature schemes above are SHA2 | The hash functions used in the XMSS signature schemes above are SHA2 | |||
<xref target="RFC6234"/> or one of the two the SHAKE extensible output functi | <xref target="RFC6234" format="default"/> or one of the two SHAKE extensible | |||
ons | output functions | |||
<xref target="FIPS202"/> as indicated by the second token of the URI extensio | <xref target="FIPS202" format="default"/> as indicated by the second token of | |||
n | the URI extension | |||
(SHAKE means SHAKE128). The tree height for XMSS is 10, 16, or 20 as | (SHAKE means SHAKE128). The tree height for XMSS is 10, 16, or 20 as | |||
indicated by the third token of the URI extension. The SHA2 or SHAKE | indicated by the third token of the URI extension. The SHA2 or SHAKE | |||
output size is 192, 256, or 512 bits as indicated by the final token | output size is 192, 256, or 512 bits as indicated by the final token | |||
of the URI extension. SHA2 with 192 bits of output means | of the URI extension. SHA2 with 192 bits of output means | |||
SHA2-256/192, that is, the most significant 192 bits of the SHA-256 | SHA2-256/192, that is, the most significant 192 bits of the SHA-256 | |||
hash as specified in [NIST800-208].</t> | hash as specified in <xref target="NIST800-208" format="default"/>.</t> | |||
<t> | ||||
<t> | ||||
IANA maintains a registry whose entries correspond to the XMSSMT | IANA maintains a registry whose entries correspond to the XMSSMT | |||
Identifiers below (see [XMSS]). The fragment part of the URIs is | Identifiers below (see <xref target="XMSS" format="default"/>). The fragment part of the URIs is | |||
formed by replacing occurrences of underscore ("_") and slash ("/") | formed by replacing occurrences of underscore ("_") and slash ("/") | |||
in the name appearing in the IANA Registry with hyphen ("-").</t> | in the name appearing in the IANA registry with hyphen ("-").</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
Identifiers for XMSSMT: | Identifiers for XMSSMT: | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-2-192 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-2-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-2-256 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-2-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-2-512 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-2-512 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-4-192 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-4-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-4-256 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-4-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-4-512 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-20-4-512 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-40-2-192 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-40-2-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-40-2-256 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-40-2-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-40-2-512 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-sha2-40-2-512 | |||
skipping to change at line 654 ¶ | skipping to change at line 589 ¶ | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-40-4-256 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-40-4-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-40-8-192 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-40-8-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-40-8-256 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-40-8-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-3-192 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-3-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-3-256 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-3-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-6-192 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-6-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-6-256 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-6-256 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-12-192 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-12-192 | |||
http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-12-256 | http://www.w3.org/2021/04/xmldsig-more#xmssmt-shake256-60-12-256 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | ||||
<t> | <t> | |||
The hash functions used in the XMSSMT signature schemes above are | The hash functions used in the XMSSMT signature schemes above are | |||
SHA2 <xref target="RFC6234"/> or one of the two the SHAKE extensible output f | SHA2 <xref target="RFC6234" format="default"/> or one of the two the SHAKE ex | |||
unction | tensible output function | |||
<xref target="FIPS202"/> as indicated by the second token of the URI extensio | <xref target="FIPS202" format="default"/> as indicated by the second token of | |||
n | the URI extension | |||
(SHAKE means SHAKE128). The tree height for XMSSMT is 20, 40, or 60 | (SHAKE means SHAKE128). The tree height for XMSSMT is 20, 40, or 60 | |||
as indicated by the third token of the URI extension. The number of | as indicated by the third token of the URI extension. The number of | |||
layers is indicated by a fourth token. The SHA2, SHAKE, or SHAKE256 | layers is indicated by a fourth token. The SHA2, SHAKE, or SHAKE256 | |||
output size is 192, 256, or 512 bits as indicated by the final token | output size is 192, 256, or 512 bits as indicated by the final token | |||
of the URI extension. SHA2 with 192 bits of output means | of the URI extension. SHA2 with 192 bits of output means | |||
SHA2-256/192, that is, the most significant 192 bits of the SHA-256 | SHA2-256/192, that is, the most significant 192 bits of the SHA-256 | |||
hash as specified in [NIST800-208].</t> | hash as specified in <xref target="NIST800-208" format="default"/>.</t> | |||
<t> | ||||
<t> | ||||
An example of an XMSS SignatureAlgorithm element is:</t> | An example of an XMSS SignatureAlgorithm element is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureAlgorithm | <SignatureAlgorithm | |||
Algorithm="http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-10-192" | Algorithm="http://www.w3.org/2021/04/xmldsig-more#xmss-sha2-10-192" | |||
/> | /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | </section> | |||
<section anchor="sect-2.3" numbered="true" toc="default"> | ||||
</section> | <name>SignatureMethod Public Key Signature Algorithms</name> | |||
<t> | ||||
<section title="SignatureMethod Public Key Signature Algorithms" anchor=" | These algorithms are distinguished from those in <xref target="sect-2.2" form | |||
sect-2.3"><t> | at="default"/> in | |||
These algorithms are distinguished from those in <xref target="sect-2.2"/> ab | ||||
ove in | ||||
that they use public key methods. That is to say, the signing key is | that they use public key methods. That is to say, the signing key is | |||
different from and not feasibly derivable from the verification key.</t> | different from and not feasibly derivable from the verification key.</t> | |||
<section anchor="sect-2.3.1" numbered="true" toc="default"> | ||||
<section title="RSA-MD5" anchor="sect-2.3.1"> | <name>RSA-MD5</name> | |||
<figure><artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#rsa-md5 | http://www.w3.org/2001/04/xmldsig-more#rsa-md5 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t>This implies the PKCS #1 v1.5 padding algorithm described in | |||
<xref target="RFC8017"/>. An example of use is:</t> | ||||
<t>This implies the PKCS#1 v1.5 padding algorithm described in | <sourcecode><![CDATA[ | |||
[RFC8017]. An example of use is:</t> | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-md5" /> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-md5" /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | <t> | |||
<t> | ||||
The SignatureValue content for an RSA-MD5 signature is the base64 | The SignatureValue content for an RSA-MD5 signature is the base64 | |||
<xref target="RFC4648"/> encoding of the octet string computed as per <xref t | <xref target="RFC4648" format="default"/> encoding of the octet string comput | |||
arget="RFC8017"/>, | ed as per <xref target="RFC8017" section="8.2.1" sectionFormat="of"/>, | |||
Section 8.2.1, signature generation for the RSASSA-PKCS1-v1_5 | signature generation for the RSASSA-PKCS1-v1_5 | |||
signature scheme. As specified in the EMSA-PKCS1-V1_5-ENCODE function | signature scheme. As specified in the EMSA-PKCS1-V1_5-ENCODE function | |||
in <xref target="RFC8017"/>, Section 9.2, the value input to the signature fu | in <xref target="RFC8017" section="9.2" sectionFormat="of"/>, the value input | |||
nction | to the signature function | |||
MUST contain a prepended algorithm object identifier for the hash | <bcp14>MUST</bcp14> contain a prepended algorithm object identifier for the h | |||
ash | ||||
function, but the availability of an ASN.1 parser and recognition of | function, but the availability of an ASN.1 parser and recognition of | |||
OIDs is not required of a signature verifier. The PKCS#1 v1.5 | OIDs is not required of a signature verifier. The PKCS #1 v1.5 | |||
representation appears as:</t> | representation appears as:</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
CRYPT (PAD (ASN.1 (OID, DIGEST (data)))) | CRYPT (PAD (ASN.1 (OID, DIGEST (data)))) | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t>The padded ASN.1 will be of the following form:</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<t>The padded ASN.1 will be of the following form:</t> | ||||
<figure><artwork><![CDATA[ | ||||
01 | FF* | 00 | prefix | hash | 01 | FF* | 00 | prefix | hash | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
The vertical bar ("|") represents concatenation. "01", "FF", and "00" are | ||||
<t> | ||||
Vertical bar ("|") represents concatenation. "01", "FF", and "00" are | ||||
fixed octets of the corresponding hexadecimal value, and the asterisk | fixed octets of the corresponding hexadecimal value, and the asterisk | |||
("*") after "FF" indicates repetition. "hash" is the MD5 digest of | ("*") after "FF" indicates repetition. "hash" is the MD5 digest of | |||
the data. "prefix" is the ASN.1 BER MD5 algorithm designator prefix | the data. "prefix" is the ASN.1 BER MD5 algorithm designator prefix | |||
required in PKCS #1 <xref target="RFC8017"/>, that is,</t> | required in PKCS #1 <xref target="RFC8017" format="default"/>, that is,</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
hex 30 20 30 0c 06 08 2a 86 48 86 f7 0d 02 05 05 00 04 10 | hex 30 20 30 0c 06 08 2a 86 48 86 f7 0d 02 05 05 00 04 10 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
This prefix is included to make it easier to use standard | This prefix is included to make it easier to use standard | |||
cryptographic libraries. The FF octet MUST be repeated enough times | cryptographic libraries. The FF octet <bcp14>MUST</bcp14> be repeated enough times | |||
that the value of the quantity being CRYPTed is exactly one octet | that the value of the quantity being CRYPTed is exactly one octet | |||
shorter than the RSA modulus.</t> | shorter than the RSA modulus.</t> | |||
<t> | ||||
<t> | See <xref target="RFC6151" format="default"/> for MD5 security considerations | |||
See <xref target="RFC6151"/> for MD5 security considerations.</t> | .</t> | |||
</section> | ||||
</section> | <section anchor="sect-2.3.2" numbered="true" toc="default"> | |||
<name>RSA-SHA256</name> | ||||
<section title="RSA-SHA256" anchor="sect-2.3.2"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 | http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
This implies the PKCS #1 v1.5 padding algorithm <xref target="RFC8017" format | ||||
<t> | ="default"/> as described | |||
This implies the PKCS#1 v1.5 padding algorithm <xref target="RFC8017"/> as de | in <xref target="sect-2.3.1" format="default"/> but with the ASN.1 BER SHA-25 | |||
scribed | 6 algorithm designator | |||
in <xref target="sect-2.3.1"/>, but with the ASN.1 BER SHA-256 algorithm desi | ||||
gnator | ||||
prefix. An example of use is:</t> | prefix. An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.3.3" numbered="true" toc="default"> | |||
<name>RSA-SHA384</name> | ||||
<section title="RSA-SHA384" anchor="sect-2.3.3"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#rsa-sha384 | http://www.w3.org/2001/04/xmldsig-more#rsa-sha384 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
This implies the PKCS #1 v1.5 padding algorithm <xref target="RFC8017" format | ||||
<t> | ="default"/> as described | |||
This implies the PKCS#1 v1.5 padding algorithm <xref target="RFC8017"/> as de | in <xref target="sect-2.3.1" format="default"/> but with the ASN.1 BER SHA-38 | |||
scribed | 4 algorithm designator | |||
in <xref target="sect-2.3.1"/>, but with the ASN.1 BER SHA-384 algorithm desi | ||||
gnator | ||||
prefix. An example of use is:</t> | prefix. An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384" /> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384" /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | <t> | |||
<t> | ||||
Because it takes about the same effort to calculate a SHA-384 message | Because it takes about the same effort to calculate a SHA-384 message | |||
digest as it does a SHA-512 message digest, it is suggested that RSA- | digest as it does a SHA-512 message digest, it is suggested that RSA- | |||
SHA512 be used in preference to RSA-SHA384 where possible.</t> | SHA512 be used in preference to RSA-SHA384 where possible.</t> | |||
</section> | ||||
</section> | <section anchor="sect-2.3.4" numbered="true" toc="default"> | |||
<name>RSA-SHA512</name> | ||||
<section title="RSA-SHA512" anchor="sect-2.3.4"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#rsa-sha512 | http://www.w3.org/2001/04/xmldsig-more#rsa-sha512 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
This implies the PKCS #1 v1.5 padding algorithm <xref target="RFC8017" format | ||||
<t> | ="default"/> as described | |||
This implies the PKCS#1 v1.5 padding algorithm <xref target="RFC8017"/> as de | in <xref target="sect-2.3.1" format="default"/> but with the ASN.1 BER SHA-51 | |||
scribed | 2 algorithm designator | |||
in <xref target="sect-2.3.1"/>, but with the ASN.1 BER SHA-512 algorithm desi | ||||
gnator | ||||
prefix. An example of use is:</t> | prefix. An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512" /> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512" /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.3.5" numbered="true" toc="default"> | |||
<name>RSA-RIPEMD160</name> | ||||
<section title="RSA-RIPEMD160" anchor="sect-2.3.5"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160 | http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
This implies the PKCS #1 v1.5 padding algorithm <xref target="RFC8017" format | ||||
<t> | ="default"/> as described | |||
This implies the PKCS#1 v1.5 padding algorithm <xref target="RFC8017"/> as de | in <xref target="sect-2.3.1" format="default"/> but with the ASN.1 BER RIPEMD | |||
scribed | 160 algorithm | |||
in <xref target="sect-2.3.1"/>, but with the ASN.1 BER RIPEMD160 algorithm | ||||
designator prefix. An example of use is:</t> | designator prefix. An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160" | Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160" | |||
/> | /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.3.6" numbered="true" toc="default"> | |||
<name>ECDSA-SHA*, ECDSA-RIPEMD160, ECDSA-Whirlpool</name> | ||||
<section title="ECDSA-SHA*, ECDSA-RIPEMD160, ECDSA-Whirlpool" anchor="sec | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
t-2.3.6"> | ||||
<figure><artwork><![CDATA[ | ||||
Identifiers: | Identifiers: | |||
http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1 | http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1 | |||
http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha224 | http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha224 | |||
http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256 | http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256 | |||
http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384 | http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384 | |||
http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512 | http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512 | |||
http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-224 | http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-224 | |||
http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-256 | http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-256 | |||
http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-384 | http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-384 | |||
http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-512 | http://www.w3.org/2021/04/xmldsig-more#ecdsa-sha3-512 | |||
http://www.w3.org/2007/05/xmldsig-more#ecdsa-ripemd160 | http://www.w3.org/2007/05/xmldsig-more#ecdsa-ripemd160 | |||
http://www.w3.org/2007/05/xmldsig-more#ecdsa-whirlpool | http://www.w3.org/2007/05/xmldsig-more#ecdsa-whirlpool | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
The Elliptic Curve Digital Signature Algorithm (ECDSA) <xref target="FIPS186- | ||||
<t> | 4" format="default"/> is | |||
The Elliptic Curve Digital Signature Algorithm (ECDSA) <xref target="FIPS186- | ||||
4"/> is | ||||
the elliptic curve analogue of the Digital Signature Algorithm (DSA) | the elliptic curve analogue of the Digital Signature Algorithm (DSA) | |||
signature method, i.e., the Digital Signature Standard (DSS). It | signature method, i.e., the Digital Signature Standard (DSS). It | |||
takes no explicit parameters. For some detailed specifications of how | takes no explicit parameters. For some detailed specifications of how | |||
to use it with SHA hash functions and XML Digital Signature, please | to use it with SHA hash functions and XML Digital Signature, please | |||
see <xref target="X9.62"/> and <xref target="RFC4050"/>. The #sha3-*, #ecdsa -ripemd160, and | see <xref target="X9.62" format="default"/> and <xref target="RFC4050" format ="default"/>. The #sha3-*, #ecdsa-ripemd160, and | |||
#ecdsa-whirlpool fragments identify signature methods processed in | #ecdsa-whirlpool fragments identify signature methods processed in | |||
the same way as specified by the #ecdsa-sha1 fragment, with the | the same way as specified by the #ecdsa-sha1 fragment, with the | |||
exception that a SHA3 function (see <xref target="sect-2.1.5"/>), RIPEMD160, | exception that a SHA3 function (see <xref target="sect-2.1.5" format="default | |||
or | "/>), RIPEMD160, or | |||
Whirlpool (see <xref target="sect-2.1.4"/>) is used instead of SHA-1.</t> | Whirlpool (see <xref target="sect-2.1.4" format="default"/>) is used instead | |||
of SHA-1.</t> | ||||
<t> | <t> | |||
The output of the ECDSA algorithm consists of a pair of integers | The output of the ECDSA algorithm consists of a pair of integers | |||
usually referred to as the pair (r, s). The signature value consists | usually referred to as the pair (r, s). The signature value consists | |||
of the base64 encoding of the concatenation of two octet streams that | of the base64 encoding of the concatenation of two octet streams that | |||
respectively result from the octet encoding of the values r and s in | respectively result from the octet encoding of the values r and s in | |||
that order. Conversion from integer to octet-stream must be done | that order. Conversion from integer to octet stream must be done | |||
according to the I2OSP operation defined in the <xref target="RFC8017"/> | according to the I2OSP operation defined in the <xref target="RFC8017" format | |||
="default"/> | ||||
specification with the l parameter equal to the size of the base | specification with the l parameter equal to the size of the base | |||
point order of the curve in octets (e.g., 32 for the P-256 curve and | point order of the curve in octets (e.g., 32 for the P-256 curve and | |||
66 for the P-521 curve <xref target="FIPS186-4"/>).</t> | 66 for the P-521 curve <xref target="FIPS186-4" format="default"/>).</t> | |||
<t> | ||||
<t> | ||||
For an introduction to elliptic curve cryptographic algorithms, see | For an introduction to elliptic curve cryptographic algorithms, see | |||
<xref target="RFC6090"/> and note the errata (Errata IDs 2773-2777).</t> | <xref target="RFC6090" format="default"/> and note the errata (Errata IDs 277 3-2777).</t> | |||
</section> | </section> | |||
<section anchor="sect-2.3.7" numbered="true" toc="default"> | ||||
<section title="ESIGN-SHA*" anchor="sect-2.3.7"> | <name>ESIGN-SHA*</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
Identifiers: | Identifiers: | |||
http://www.w3.org/2001/04/xmldsig-more#esign-sha1 | http://www.w3.org/2001/04/xmldsig-more#esign-sha1 | |||
http://www.w3.org/2001/04/xmldsig-more#esign-sha224 | http://www.w3.org/2001/04/xmldsig-more#esign-sha224 | |||
http://www.w3.org/2001/04/xmldsig-more#esign-sha256 | http://www.w3.org/2001/04/xmldsig-more#esign-sha256 | |||
http://www.w3.org/2001/04/xmldsig-more#esign-sha384 | http://www.w3.org/2001/04/xmldsig-more#esign-sha384 | |||
http://www.w3.org/2001/04/xmldsig-more#esign-sha512 | http://www.w3.org/2001/04/xmldsig-more#esign-sha512 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t>The ESIGN algorithm specified in <xref target="IEEEP1363a" format=" | |||
default"/> is a signature scheme | ||||
<t>The ESIGN algorithm specified in <xref target="IEEEP1363a"/> is a sign | ||||
ature scheme | ||||
based on the integer factorization problem. | based on the integer factorization problem. | |||
</t> | </t> | |||
<t> | ||||
<t> | ||||
An example of use is:</t> | An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#esign-sha1" | Algorithm="http://www.w3.org/2001/04/xmldsig-more#esign-sha1" | |||
/> | /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.3.8" numbered="true" toc="default"> | |||
<name>RSA-Whirlpool</name> | ||||
<section title="RSA-Whirlpool" anchor="sect-2.3.8"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2007/05/xmldsig-more#rsa-whirlpool | http://www.w3.org/2007/05/xmldsig-more#rsa-whirlpool | |||
]]></artwork> | ]]></artwork> | |||
</figure> | ||||
<t> | <t> | |||
As in the definition of the RSA-SHA1 algorithm in <xref target="XMLDSIG11"/>, | As in the definition of the RSA-SHA1 algorithm in <xref target="XMLDSI | |||
the | G11" format="default"/>, the | |||
designator "RSA" means the RSASSA-PKCS1-v1_5 algorithm as defined in | designator "RSA" means the RSASSA-PKCS1-v1_5 algorithm as defined in | |||
<xref target="RFC8017"/>. When identified through the #rsa-whirlpool fragmen t | <xref target="RFC8017" format="default"/>. When identified through the #rsa- whirlpool fragment | |||
identifier, Whirlpool is used as the hash algorithm instead. Use of | identifier, Whirlpool is used as the hash algorithm instead. Use of | |||
the ASN.1 BER Whirlpool algorithm designator is implied. That | the ASN.1 BER Whirlpool algorithm designator is implied. That | |||
designator is:</t> | designator is:</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
hex 30 4e 30 0a 06 06 28 cf 06 03 00 37 05 00 04 40 | hex 30 4e 30 0a 06 06 28 cf 06 03 00 37 05 00 04 40 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
as an explicit octet sequence. This corresponds to OID | as an explicit octet sequence. This corresponds to OID | |||
1.0.10118.3.0.55 defined in <xref target="ISO-10118-3"/>.</t> | 1.0.10118.3.0.55 defined in <xref target="ISO-10118-3" format="default"/>.</t | |||
> | ||||
<t> | <t> | |||
An example of use is:</t> | An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2007/05/xmldsig-more#rsa-whirlpool" | Algorithm="http://www.w3.org/2007/05/xmldsig-more#rsa-whirlpool" | |||
/> | /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.3.9" numbered="true" toc="default"> | |||
<name>RSASSA-PSS with Parameters</name> | ||||
<section title="RSASSA-PSS with Parameters" anchor="sect-2.3.9"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifiers: | Identifiers: | |||
http://www.w3.org/2007/05/xmldsig-more#rsa-pss | http://www.w3.org/2007/05/xmldsig-more#rsa-pss | |||
http://www.w3.org/2007/05/xmldsig-more#MGF1 | http://www.w3.org/2007/05/xmldsig-more#MGF1 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
These identifiers use the PKCS #1 EMSA-PSS encoding algorithm | ||||
<t> | <xref target="RFC8017" format="default"/>. The RSASSA-PSS algorithm takes th | |||
These identifiers use the PKCS#1 EMSA-PSS encoding algorithm | e digest method (hash | |||
<xref target="RFC8017"/>. The RSASSA-PSS algorithm takes the digest method ( | ||||
hash | ||||
function), a mask generation function, the salt length in octets | function), a mask generation function, the salt length in octets | |||
(SaltLength), and the trailer field as explicit parameters.</t> | (SaltLength), and the trailer field as explicit parameters.</t> | |||
<t> | ||||
<t> | ||||
Algorithm identifiers for hash functions specified in XML encryption | Algorithm identifiers for hash functions specified in XML encryption | |||
<xref target="XMLENC11"/> <xref target="XMLDSIG11"/> and in <xref target="sec | <xref target="XMLENC11" format="default"/>, <xref target="XMLDSIG11" format=" | |||
t-2.1"/> are considered to be valid | default"/>, and in <xref target="sect-2.1" format="default"/> are considered to | |||
algorithm identifiers for hash functions. According to <xref target="RFC8017 | be valid | |||
"/>, | algorithm identifiers for hash functions. According to <xref target="RFC8017 | |||
" format="default"/>, | ||||
the default value for the digest function is SHA-1, but due to the | the default value for the digest function is SHA-1, but due to the | |||
discovered weakness of SHA-1 <xref target="RFC6194"/>, it is recommended that | discovered weakness of SHA-1 <xref target="RFC6194" format="default"/>, it is recommended that | |||
SHA-256 or a stronger hash function be used. Notwithstanding | SHA-256 or a stronger hash function be used. Notwithstanding | |||
<xref target="RFC8017"/>, SHA-256 is the default to be used with these | <xref target="RFC8017" format="default"/>, SHA-256 is the default to be used with these | |||
SignatureMethod identifiers if no hash function has been specified.</t> | SignatureMethod identifiers if no hash function has been specified.</t> | |||
<t> | ||||
<t> | ||||
The default salt length for these SignatureMethod identifiers, if the | The default salt length for these SignatureMethod identifiers, if the | |||
SaltLength is not specified, SHALL be the number of octets in the | SaltLength is not specified, <bcp14>SHALL</bcp14> be the number of octets in | |||
hash value of the digest method, as recommended in <xref target="RFC4055"/>. | the | |||
In a | hash value of the digest method as recommended in <xref target="RFC4055" form | |||
parameterized RSASSA-PSS signature the ds:DigestMethod and the | at="default"/>. In a | |||
parameterized RSASSA-PSS signature, the ds:DigestMethod and the | ||||
SaltLength parameters usually appear. If they do not, the defaults | SaltLength parameters usually appear. If they do not, the defaults | |||
make this equivalent to <eref target="http://www.w3.org/2007/05/xmldsig-"/> m ore#sha256-rsa-MGF1 (see <xref target="sect-2.3.10"/>). The TrailerField default s | make this equivalent to <eref brackets="angle" target="http://www.w3.org/2007 /05/xmldsig-more#sha256-rsa-MGF1"/> (see <xref target="sect-2.3.10" format="defa ult"/>). The TrailerField defaults | |||
to 1 (0xBC) when omitted.</t> | to 1 (0xBC) when omitted.</t> | |||
<t>Schema Definition (target namespace <eref brackets="angle" target=" http://www.w3.org/2007/05/xmldsig-more#"/>):</t> | ||||
<t>Schema Definition (target namespace <eref target="http://www.w3.org/2007/05/x | <sourcecode type="xml"><![CDATA[ | |||
mldsig-more#"/>):</t> | ||||
<figure><artwork><![CDATA[ | ||||
<xs:element name="RSAPSSParams" type="pss:RSAPSSParamsType"> | <xs:element name="RSAPSSParams" type="pss:RSAPSSParamsType"> | |||
<xs:annotation> | <xs:annotation> | |||
<xs:documentation> | <xs:documentation> | |||
Top level element that can be used in xs:any namespace="#other" | Top level element that can be used in xs:any namespace="#other" | |||
wildcard of ds:SignatureMethod content. | wildcard of ds:SignatureMethod content. | |||
</xs:documentation> | </xs:documentation> | |||
</xs:annotation> | </xs:annotation> | |||
</xs:element> | </xs:element> | |||
<xs:complexType name="RSAPSSParamsType"> | <xs:complexType name="RSAPSSParamsType"> | |||
<xs:sequence> | <xs:sequence> | |||
skipping to change at line 1004 ¶ | skipping to change at line 876 ¶ | |||
minOccurs="0"/> | minOccurs="0"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
<xs:complexType name="MaskGenerationFunctionType"> | <xs:complexType name="MaskGenerationFunctionType"> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element ref="ds:DigestMethod" minOccurs="0"/> | <xs:element ref="ds:DigestMethod" minOccurs="0"/> | |||
</xs:sequence> | </xs:sequence> | |||
<xs:attribute name="Algorithm" type="xs:anyURI" | <xs:attribute name="Algorithm" type="xs:anyURI" | |||
default="http://www.w3.org/2007/05/xmldsig-more#MGF1"/> | default="http://www.w3.org/2007/05/xmldsig-more#MGF1"/> | |||
</xs:complexType> | </xs:complexType> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.3.10" numbered="true" toc="default"> | |||
<name>RSASSA-PSS without Parameters</name> | ||||
<section title="RSASSA-PSS without Parameters" anchor="sect-2.3.10"><t> | <t> | |||
<xref target="RFC8017"/> currently specifies only one mask generation functio | <xref target="RFC8017" format="default"/> currently specifies only one mask g | |||
n MGF1 | eneration function MGF1 | |||
based on a hash function. Although <xref target="RFC8017"/> allows for | based on a hash function. Although <xref target="RFC8017" format="default"/> | |||
allows for | ||||
parameterization, the default is to use the same hash function as the | parameterization, the default is to use the same hash function as the | |||
digest method function. Only this default approach is supported by | digest method function. Only this default approach is supported by | |||
this section; therefore, the definition of a mask generation function | this section; therefore, the definition of a mask generation function | |||
type is not needed yet. The same applies to the trailer field. There | type is not needed yet. The same applies to the trailer field. There | |||
is only one value (0xBC) specified in <xref target="RFC8017"/>. Hence, this default | is only one value (0xBC) specified in <xref target="RFC8017" format="default" />. Hence, this default | |||
parameter must be used for signature generation. The default salt | parameter must be used for signature generation. The default salt | |||
length is the length of the hash function.</t> | length is the length of the hash function.</t> | |||
<figure><artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
Identifiers: | Identifiers: | |||
http://www.w3.org/2007/05/xmldsig-more#sha3-224-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#sha3-224-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#sha3-256-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#sha3-256-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#sha3-384-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#sha3-384-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#sha3-512-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#sha3-512-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#md2-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#md2-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#md5-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#md5-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#sha1-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#sha1-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#sha224-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#sha224-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#sha256-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#sha256-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#sha384-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#sha384-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#sha512-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#sha512-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#ripemd128-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#ripemd128-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#ripemd160-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#ripemd160-rsa-MGF1 | |||
http://www.w3.org/2007/05/xmldsig-more#whirlpool-rsa-MGF1 | http://www.w3.org/2007/05/xmldsig-more#whirlpool-rsa-MGF1 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
An example of use is:</t> | An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm= | Algorithm= | |||
"http://www.w3.org/2007/05/xmldsig-more#SHA3-256-rsa-MGF1" | "http://www.w3.org/2007/05/xmldsig-more#SHA3-256-rsa-MGF1" | |||
/> | /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.3.11" numbered="true" toc="default"> | |||
<name>RSA-SHA224</name> | ||||
<section title="RSA-SHA224" anchor="sect-2.3.11"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
Identifier: | ||||
<figure><artwork><![CDATA[ | ||||
Identifier: | ||||
http://www.w3.org/2001/04/xmldsig-more#rsa-sha224 | http://www.w3.org/2001/04/xmldsig-more#rsa-sha224 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
This implies the PKCS #1 v1.5 padding algorithm <xref target="RFC8017" format | ||||
<t> | ="default"/> as described | |||
This implies the PKCS#1 v1.5 padding algorithm <xref target="RFC8017"/> as de | in <xref target="sect-2.3.1" format="default"/> but with the ASN.1 BER SHA-22 | |||
scribed | 4 algorithm designator | |||
in <xref target="sect-2.3.1"/> but with the ASN.1 BER SHA-224 algorithm desig | ||||
nator | ||||
prefix. An example of use is:</t> | prefix. An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod | <SignatureMethod | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha224" /> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha224" /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | <t> | |||
<t> | ||||
Because it takes about the same effort to calculate a SHA-224 message | Because it takes about the same effort to calculate a SHA-224 message | |||
digest as it does a SHA-256 message digest, it is suggested that RSA-SHA256 b e used in preference to RSA-SHA224 where possible.</t> | digest as it does a SHA-256 message digest, it is suggested that RSA-SHA256 b e used in preference to RSA-SHA224 where possible.</t> | |||
<t> | <t> | |||
See also Appendix B concerning an erroneous version of this URI that | See also <xref target="app-b"/> concerning an erroneous version of this URI t | |||
appeared in <xref target="RFC6931"/>.</t> | hat | |||
appeared in <xref target="RFC6931" format="default"/>.</t> | ||||
</section> | </section> | |||
<section anchor="sect-2.3.12" numbered="true" toc="default"> | ||||
<section title="Edwards-Curve" anchor="sect-2.3.12"><t> | <name>Edwards-Curve</name> | |||
<t> | ||||
The Edwards-curve Digital Signature Algorithm (EdDSA) is a variant of | The Edwards-curve Digital Signature Algorithm (EdDSA) is a variant of | |||
Schnorr's signature system with Edwards curves. A specification is | Schnorr's signature system with Edwards curves. A specification is | |||
provided and some advantages listed in <xref target="RFC8032"/>. The general EdDSA | provided and some advantages listed in <xref target="RFC8032" format="default "/>. The general EdDSA | |||
takes 11 parameters that must be carefully chosen for secure and | takes 11 parameters that must be carefully chosen for secure and | |||
efficient operation. Identifiers for two variants, Ed25519 and Ed448, | efficient operation. Identifiers for two variants, Ed25519 and Ed448, | |||
are given below.</t> | are given below.</t> | |||
<t> | ||||
<t> | ||||
Ed25519 uses 32-octet public keys and produces 64-octet signatures. | Ed25519 uses 32-octet public keys and produces 64-octet signatures. | |||
It provides about 128 bits of security and uses SHA-512 <xref target="RFC6234 "/> | It provides about 128 bits of security and uses SHA-512 <xref target="RFC6234 " format="default"/> | |||
internally as part of signature generation.</t> | internally as part of signature generation.</t> | |||
<t> | ||||
<t> | ||||
Ed448 uses 57-octet public keys and produces 114-octet signatures. It | Ed448 uses 57-octet public keys and produces 114-octet signatures. It | |||
provides about 224 bits of security and uses "SHAKE256" <xref target="FIPS202 "/> | provides about 224 bits of security and uses "SHAKE256" <xref target="FIPS202 " format="default"/> | |||
internally as part of signature generation. (SHAKE256 is specified | internally as part of signature generation. (SHAKE256 is specified | |||
by NIST as an "Extensible Output Function" and not specified or | by NIST as an "Extensible Output Function" and not specified or | |||
approved by NIST as a secure hash function.)</t> | approved by NIST as a secure hash function.)</t> | |||
<t> | ||||
<t> | ||||
For further information on the variants of EdDSA identified below, | For further information on the variants of EdDSA identified below, | |||
see <xref target="RFC8032"/>.</t> | see <xref target="RFC8032" format="default"/>.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
Identifiers: | Identifiers: | |||
http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519ph | http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519ph | |||
http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519ctx | http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519ctx | |||
http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519 | http://www.w3.org/2021/04/xmldsig-more#eddsa-ed25519 | |||
http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448 | http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448 | |||
http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448ph | http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448ph | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
An example of use is:</t> | An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<SignatureMethod Algorithm= | <SignatureMethod Algorithm= | |||
"http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448" /> | "http://www.w3.org/2021/04/xmldsig-more#eddsa-ed448" /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | ||||
</section> | <section anchor="sect-2.4" numbered="true" toc="default"> | |||
<name>Minimal Canonicalization</name> | ||||
</section> | ||||
<section title="Minimal Canonicalization" anchor="sect-2.4"><t> | <t> | |||
Thus far, two independent interoperable implementations of Minimal | Thus far, two independent interoperable implementations of Minimal | |||
Canonicalization have not been announced. Therefore, when XML | Canonicalization have not been announced. Therefore, when "XML-Signature | |||
Digital Signature was advanced along the Standards Track from | Syntax and Processing" was advanced along the Standards Track from <xref | |||
<xref target="RFC3075"/> to <xref target="RFC3275"/>, Minimal Canonicalizatio | target="RFC3075" format="default"/> to <xref target="RFC3275" | |||
n was dropped. | format="default"/>, Minimal Canonicalization was dropped. However, there | |||
However, there was still interest. For its definition, see Section | was still interest. For its definition, see <xref target="RFC3075" | |||
6.5.1 of <xref target="RFC3075"/>.</t> | section="6.5.1" sectionFormat="of"/>.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
For reference, its identifier remains: | For reference, its identifier remains: | |||
http://www.w3.org/2000/09/xmldsig#minimal | http://www.w3.org/2000/09/xmldsig#minimal | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </section> | |||
<section anchor="sect-2.5" numbered="true" toc="default"> | ||||
</section> | <name>Transform Algorithms</name> | |||
<t> | ||||
<section title="Transform Algorithms" anchor="sect-2.5"><t> | ||||
The XPointer Transform algorithm syntax is described below. All | The XPointer Transform algorithm syntax is described below. All | |||
CanonicalizationMethod algorithms can also be used as Transform | CanonicalizationMethod algorithms can also be used as Transform | |||
algorithms.</t> | algorithms.</t> | |||
<section anchor="sect-2.5.1" numbered="true" toc="default"> | ||||
<section title="XPointer" anchor="sect-2.5.1"> | <name>XPointer</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#xptr | http://www.w3.org/2001/04/xmldsig-more#xptr | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
This transform algorithm takes an <xref target="XPointer" format="default"/> | ||||
<t> | as an explicit | |||
This transform algorithm takes an <xref target="XPointer"/> as an explicit | ||||
parameter. An example of use is:</t> | parameter. An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<Transform | <Transform | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more/xptr"> | Algorithm="http://www.w3.org/2001/04/xmldsig-more/xptr"> | |||
<XPointer | <XPointer | |||
xmlns="http://www.w3.org/2001/04/xmldsig-more/xptr"> | xmlns="http://www.w3.org/2001/04/xmldsig-more/xptr"> | |||
xpointer(id("foo")) xmlns(bar=http://foobar.example) | xpointer(id("foo")) xmlns(bar=http://foobar.example) | |||
xpointer(//bar:Zab[@Id="foo"]) | xpointer(//bar:Zab[@Id="foo"]) | |||
</XPointer> | </XPointer> | |||
</Transform> | </Transform> | |||
Schema Definition: | Schema Definition: | |||
<element name="XPointer" type="string"/> | <element name="XPointer" type="string"/> | |||
DTD: | DTD: | |||
<!ELEMENT XPointer (#PCDATA) > | <!ELEMENT XPointer (#PCDATA) > | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | <t> | |||
<t> | ||||
Input to this transform is an octet stream (which is then parsed into | Input to this transform is an octet stream (which is then parsed into | |||
XML).</t> | XML).</t> | |||
<t> | ||||
<t> | ||||
Output from this transform is a node set; the results of the XPointer | Output from this transform is a node set; the results of the XPointer | |||
are processed as defined in the XMLDSIG specification <xref target="RFC3275"/ > for a | are processed as defined in the XMLDSIG specification <xref target="RFC3275" format="default"/> for a | |||
same-document XPointer.</t> | same-document XPointer.</t> | |||
</section> | ||||
</section> | </section> | |||
<section anchor="sect-2.6" numbered="true" toc="default"> | ||||
</section> | <name>EncryptionMethod Algorithms</name> | |||
<t> | ||||
<section title="EncryptionMethod Algorithms" anchor="sect-2.6"><t> | ||||
This subsection gives identifiers and information for several | This subsection gives identifiers and information for several | |||
EncryptionMethod Algorithms.</t> | EncryptionMethod Algorithms.</t> | |||
<section anchor="sect-2.6.1" numbered="true" toc="default"> | ||||
<section title="ARCFOUR Encryption Algorithm" anchor="sect-2.6.1"> | <name>ARCFOUR Encryption Algorithm</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2001/04/xmldsig-more#arcfour | http://www.w3.org/2001/04/xmldsig-more#arcfour | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
ARCFOUR is a fast, simple stream encryption algorithm that is | ARCFOUR is a fast, simple stream encryption algorithm that is | |||
compatible with RSA Security's RC4 algorithm [RC4] (Rivest Cipher 4); | compatible with RSA Security's RC4 algorithm <xref target="RC4" format="defau lt"/> (Rivest Cipher 4); | |||
however, RC4 has been found to have a number of weaknesses and its | however, RC4 has been found to have a number of weaknesses and its | |||
use is prohibited in several IETF protols, for example TLS <xref target="RFC7 | use is prohibited in several IETF protocols, for example TLS <xref target="RF | |||
465"/>. | C7465" format="default"/>. | |||
An example EncryptionMethod element using ARCFOUR is:</t> | ||||
<figure><artwork><![CDATA[ | An example EncryptionMethod element using ARCFOUR is:</t> | |||
<sourcecode><![CDATA[ | ||||
<EncryptionMethod | <EncryptionMethod | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#arcfour"> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#arcfour"> | |||
<KeySize>40</KeySize> | <KeySize>40</KeySize> | |||
</EncryptionMethod> | </EncryptionMethod> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | <t> | |||
<t> | ARCFOUR makes use of the generic KeySize parameter specified and | |||
Arcfour makes use of the generic KeySize parameter specified and | defined in <xref target="XMLENC11" format="default"/>.</t> | |||
defined in <xref target="XMLENC11"/>.</t> | </section> | |||
<section anchor="sect-2.6.2" numbered="true" toc="default"> | ||||
</section> | <name>Camellia Block Encryption</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<section title="Camellia Block Encryption" anchor="sect-2.6.2"> | ||||
<figure><artwork><![CDATA[ | ||||
Identifiers: | Identifiers: | |||
http://www.w3.org/2001/04/xmldsig-more#camellia128-cbc | http://www.w3.org/2001/04/xmldsig-more#camellia128-cbc | |||
http://www.w3.org/2001/04/xmldsig-more#camellia192-cbc | http://www.w3.org/2001/04/xmldsig-more#camellia192-cbc | |||
http://www.w3.org/2001/04/xmldsig-more#camellia256-cbc | http://www.w3.org/2001/04/xmldsig-more#camellia256-cbc | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
Camellia is a block cipher with the same interface as the AES | Camellia is a block cipher with the same interface as the AES | |||
[Camellia] <xref target="RFC3713"/>; it has a 128-bit block size and 128-, 19 | <xref target="CAMELLIA" format="default"/> <xref target="RFC3713" format="def | |||
2-, and | ault"/>; it has a 128-bit block size and 128-, 192-, and | |||
256-bit key sizes. In XML Encryption Camellia is used in the same way | 256-bit key sizes. In XML Encryption, Camellia is used in the same way | |||
as the AES: It is used in the Cipher Block Chaining (CBC) mode with a | as the AES: It is used in the Cipher Block Chaining (CBC) mode with a | |||
128-bit initialization vector (IV). The resulting cipher text is | 128-bit initialization vector (IV). The resulting cipher text is | |||
prefixed by the IV. If included in XML output, it is then base64 | prefixed by the IV. If included in XML output, it is then base64 | |||
encoded. An example Camellia EncryptionMethod is as follows:</t> | encoded. An example Camellia EncryptionMethod is as follows:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<EncryptionMethod | <EncryptionMethod | |||
Algorithm= | Algorithm= | |||
"http://www.w3.org/2001/04/xmldsig-more#camellia128-cbc" | "http://www.w3.org/2001/04/xmldsig-more#camellia128-cbc" | |||
/> | /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.6.3" numbered="true" toc="default"> | |||
<name>Camellia Key Wrap</name> | ||||
<section title="Camellia Key Wrap" anchor="sect-2.6.3"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifiers: | Identifiers: | |||
http://www.w3.org/2001/04/xmldsig-more#kw-camellia128 | http://www.w3.org/2001/04/xmldsig-more#kw-camellia128 | |||
http://www.w3.org/2001/04/xmldsig-more#kw-camellia192 | http://www.w3.org/2001/04/xmldsig-more#kw-camellia192 | |||
http://www.w3.org/2001/04/xmldsig-more#kw-camellia256 | http://www.w3.org/2001/04/xmldsig-more#kw-camellia256 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
Camellia <xref target="CAMELLIA" format="default"/> <xref target="RFC3713" fo | ||||
<t> | rmat="default"/> key wrap is identical to the AES key | |||
Camellia [Camellia] <xref target="RFC3713"/> key wrap is identical to the AES | wrap algorithm <xref target="RFC3394" format="default"/> specified in the XML | |||
key | Encryption standard | |||
wrap algorithm <xref target="RFC3394"/> specified in the XML Encryption stand | ||||
ard | ||||
with "AES" replaced by "Camellia". As with AES key wrap, the check | with "AES" replaced by "Camellia". As with AES key wrap, the check | |||
value is 0xA6A6A6A6A6A6A6A6.</t> | value is 0xA6A6A6A6A6A6A6A6.</t> | |||
<t> | ||||
<t> | The algorithm is the same regardless of the size of the Camellia key used | |||
The algorithm is the same whatever the size of the Camellia key used | ||||
in wrapping, called the "key encrypting key" or "KEK". If Camellia is | in wrapping, called the "key encrypting key" or "KEK". If Camellia is | |||
supported, it is particularly suggested that wrapping 128-bit keys | supported, it is particularly suggested that wrapping 128-bit keys | |||
with a 128-bit KEK and wrapping 256-bit keys with a 256-bit KEK be | with a 128-bit KEK and wrapping 256-bit keys with a 256-bit KEK be | |||
supported.</t> | supported.</t> | |||
<t> | ||||
<t> | ||||
An example of use is:</t> | An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<EncryptionMethod | <EncryptionMethod | |||
Algorithm= | Algorithm= | |||
"http://www.w3.org/2001/04/xmldsig-more#kw-camellia128" | "http://www.w3.org/2001/04/xmldsig-more#kw-camellia128" | |||
/> | /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.6.4" numbered="true" toc="default"> | |||
<name>PSEC-KEM, RSAES-KEM, and ECIES-KEM</name> | ||||
<section title="PSEC-KEM, RSAES-KEM, and ECIES-KEM" anchor="sect-2.6.4"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifiers: | Identifiers: | |||
http://www.w3.org/2001/04/xmldsig-more#psec-kem | http://www.w3.org/2001/04/xmldsig-more#psec-kem | |||
http://www.w3.org/2010/xmlsec-ghc#rsaes-kem | http://www.w3.org/2010/xmlsec-ghc#rsaes-kem | |||
http://www.w3.org/2010/xmlsec-ghc#ecies-kem | http://www.w3.org/2010/xmlsec-ghc#ecies-kem | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
These algorithms, specified in <xref target="ISO-18033-2" format="default"/>, | ||||
<t> | are key encapsulation | |||
These algorithms, specified in <xref target="ISO-18033-2"/>, are key encapsul | ||||
ation | ||||
mechanisms using elliptic curve or RSA encryption. RSAEA-KEM and | mechanisms using elliptic curve or RSA encryption. RSAEA-KEM and | |||
ECIES-KEM are also specified in <xref target="GENERIC"/>.</t> | ECIES-KEM are also specified in <xref target="GENERIC" format="default"/>.</t | |||
> | ||||
<t> | <t> | |||
An example of use of PSEC-KEM is:</t> | An example of use of PSEC-KEM is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<EncryptionMethod | <EncryptionMethod | |||
Algorithm="http://www.w3.org/2001/04/xmldsig-more#psec-kem"> | Algorithm="http://www.w3.org/2001/04/xmldsig-more#psec-kem"> | |||
<ECParameters> | <ECParameters> | |||
<Version>version</Version> | <Version>version</Version> | |||
<FieldID>id</FieldID> | <FieldID>id</FieldID> | |||
<Curve>curve</Curve> | <Curve>curve</Curve> | |||
<Base>base</Base> | <Base>base</Base> | |||
<Order>order</Order> | <Order>order</Order> | |||
<Cofactor>cofactor</Cofactor> | <Cofactor>cofactor</Cofactor> | |||
</ECParameters> | </ECParameters> | |||
</EncryptionMethod> | </EncryptionMethod> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | <t> | |||
<t> | See <xref target="ISO-18033-2" format="default"/> for information on the para | |||
See <xref target="ISO-18033-2"/> for information on the parameters above.</t> | meters above.</t> | |||
</section> | ||||
</section> | <section anchor="sect-2.6.5" numbered="true" toc="default"> | |||
<name>SEED Block Encryption</name> | ||||
<section title="SEED Block Encryption" anchor="sect-2.6.5"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2007/05/xmldsig-more#seed128-cbc | http://www.w3.org/2007/05/xmldsig-more#seed128-cbc | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
SEED <xref target="RFC4269" format="default"/> is a block cipher with a 128-b | ||||
<t> | it block size and | |||
SEED <xref target="RFC4269"/> is a block cipher with a 128-bit block size and | ||||
128-bit key size. In XML Encryption, SEED can be used in the Cipher | 128-bit key size. In XML Encryption, SEED can be used in the Cipher | |||
Block Chaining (CBC) mode with a 128-bit initialization vector (IV). | Block Chaining (CBC) mode with a 128-bit initialization vector (IV). | |||
The resulting cipher text is prefixed by the IV. If included in XML | The resulting cipher text is prefixed by the IV. If included in XML | |||
output, it is then base64 encoded.</t> | output, it is then base64 encoded.</t> | |||
<t> | ||||
<t> | ||||
An example SEED EncryptionMethod is as follows:</t> | An example SEED EncryptionMethod is as follows:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<EncryptionMethod | <EncryptionMethod | |||
Algorithm="http://www.w3.org/2007/05/xmldsig-more#seed128-cbc" /> | Algorithm="http://www.w3.org/2007/05/xmldsig-more#seed128-cbc" /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.6.6" numbered="true" toc="default"> | |||
<name>SEED Key Wrap</name> | ||||
<section title="SEED Key Wrap" anchor="sect-2.6.6"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2007/05/xmldsig-more#kw-seed128 | http://www.w3.org/2007/05/xmldsig-more#kw-seed128 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
Key wrapping with SEED is identical to <xref target="RFC3394" section="2.2.1 | ||||
<t> | " sectionFormat="of"/> | |||
Key wrapping with SEED is identical to Section 2.2.1 of <xref target="RFC3394 | ||||
"/> | ||||
with "AES" replaced by "SEED". The algorithm is specified in | with "AES" replaced by "SEED". The algorithm is specified in | |||
<xref target="RFC4010"/>. The implementation of SEED is optional. The defaul t | <xref target="RFC4010" format="default"/>. The implementation of SEED is opt ional. The default | |||
initial value is 0xA6A6A6A6A6A6A6A6.</t> | initial value is 0xA6A6A6A6A6A6A6A6.</t> | |||
<t> | ||||
<t> | ||||
An example of use is:</t> | An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<EncryptionMethod | <EncryptionMethod | |||
Algorithm= | Algorithm= | |||
"http://www.w3.org/2007/05/xmldsig-more#kw-seed128" | "http://www.w3.org/2007/05/xmldsig-more#kw-seed128" | |||
/> | /> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.6.7" numbered="true" toc="default"> | |||
<name>ChaCha20</name> | ||||
<section title="ChaCha20" anchor="sect-2.6.7"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2021/04/xmldsig-more#chacha20 | http://www.w3.org/2021/04/xmldsig-more#chacha20 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
ChaCha20 <xref target="RFC8439" format="default"/>, a stream cipher, is a var | ||||
<t> | iant of Salsa20 | |||
ChaCha20 <xref target="RFC8439"/>, a stream cipher, is a variant of Salsa20 | <xref target="ChaCha" format="default"/>. It is considerably faster than AES | |||
<xref target="ChaCha"/>. It is considerably faster than AES in software-only | in software-only | |||
implementations. In addition to a 256-bit key and the plain text to | implementations. In addition to a 256-bit key and the plain text to | |||
be encrypted, ChaCha20 takes a 96-bit Nonce and an initial 32-bit | be encrypted, ChaCha20 takes a 96-bit Nonce and an initial 32-bit | |||
Counter. The Nonce and Counter are represented as hex in nested | Counter. The Nonce and Counter are represented as hex in nested | |||
elements as shown below.</t> | elements as shown below.</t> | |||
<t> | ||||
<t> | ||||
An example of use is:</t> | An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<EncryptionMethod | <EncryptionMethod | |||
Algorithm= | Algorithm= | |||
"http://www.w3.org/2021/04/xmldsig-more#chacha20"> | "http://www.w3.org/2021/04/xmldsig-more#chacha20"> | |||
<Nonce>0123456789abcdef01234567</Nonce> | <Nonce>0123456789abcdef01234567</Nonce> | |||
<Counter>fedcba09</Counter> | <Counter>fedcba09</Counter> | |||
</EncryptionMethod> | </EncryptionMethod> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-2.6.8" numbered="true" toc="default"> | |||
<name>ChaCha20+Poly1305</name> | ||||
<section title="ChaCha20+Poly1305" anchor="sect-2.6.8"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure><artwork><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2021/04/xmldsig-more#chacha20poly1305 | http://www.w3.org/2021/04/xmldsig-more#chacha20poly1305 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
ChaCha20+Poly1305 is an Authenticated Encryption with Associated Data | ||||
<t> | ||||
ChaCha20+Poly1305 is an Authenticated Encryption with Additional Data | ||||
(AEAD) algorithm. In addition to a 256-bit key and plain text to be | (AEAD) algorithm. In addition to a 256-bit key and plain text to be | |||
encrypted and authenticated, ChaCha20+Poly1305 takes a 96-bit Nonce | encrypted and authenticated, ChaCha20+Poly1305 takes a 96-bit Nonce | |||
and variable length Additional Authenticated Data (AAD). The Nonce is | and variable-length Additional Authenticated Data (AAD). The Nonce is | |||
represented as a child element of the EncryptionMethod element with a | represented as a child element of the EncryptionMethod element with a | |||
hex value. The AAD is a string which may be null. The AAD element may | hex value. The AAD is a string, which may be null. The AAD element may | |||
be absent in which case the AAD is null. The CipherData, either | be absent, in which case the AAD is null. The CipherData, either | |||
present in the CipherValue or by reference, is the concatenation of | present in the CipherValue or by reference, is the concatenation of | |||
the encrypted ChaCha20 output and the Poly1305 128-bit tag.</t> | the encrypted ChaCha20 output and the Poly1305 128-bit tag.</t> | |||
<t> | ||||
<t> | ||||
An example of use is:</t> | An example of use is:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<EncryptionMethod | <EncryptionMethod | |||
Algorithm= | Algorithm= | |||
"http://www.w3.org/2021/04/xmldsig-more#chacha20poly1305"> | "http://www.w3.org/2021/04/xmldsig-more#chacha20poly1305"> | |||
<Nonce>0123456789abcdef01234567</Nonce> | <Nonce>0123456789abcdef01234567</Nonce> | |||
<AAD>The quick brown fox jumps over the lazy dog.</AAD> | <AAD>The quick brown fox jumps over the lazy dog.</AAD> | |||
</EncryptionMethod> | </EncryptionMethod> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | </section> | |||
<section anchor="sect-2.7" numbered="true" toc="default"> | ||||
</section> | <name>Key AgreementMethod Algorithm</name> | |||
<t>This subsection gives identifiers and information for an additional k | ||||
<section title="Key AgreementMethod Algorithms" anchor="sect-2.7"> | ey AgreementMethod Algorithm <xref target="XMLENC11" | |||
format="default"/>. | ||||
<t>This subsection gives identifiers and information | ||||
<list style="symbols"><t>for an additional key AgreementMethod Algorithm | ||||
<xref target="XMLENC11"/> and</t> | ||||
<t>for a key derivation function HKDF since such an algorithm fits | ||||
most naturally as an "AgreementMethod".</t> | ||||
</list> | ||||
</t> | ||||
<section title="X25519 and X448 Key Agreement" anchor="sect-2.7.1"> | </t> | |||
<figure><artwork><![CDATA[ | <section anchor="sect-2.7.1" numbered="true" toc="default"> | |||
<name>X25519 and X448 Key Agreement</name> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2021/04/xmldsig-more#x25519 | http://www.w3.org/2021/04/xmldsig-more#x25519 | |||
http://www.w3.org/2021/04/xmldsig-more#x448 | http://www.w3.org/2021/04/xmldsig-more#x448 | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
The X25519 and X448 key agreement algorithms are specified in | The X25519 and X448 key agreement algorithms are specified in | |||
<xref target="RFC7748"/>.</t> | <xref target="RFC7748" format="default"/>.</t> | |||
</section> | ||||
</section> | ||||
</section> | <section anchor = "sect-2.8" numbered="true" toc="default" > | |||
<name>KeyDerivationMethod Algorithm</name> | ||||
<t>This subsection gives identifiers and information for an additional KeyDeriva | ||||
tionMethod Algorithm <xref target="XMLENC11"/>. | ||||
</t> | ||||
<section title="HKDF Key Derivation" anchor="sect-2.7.2"><t> | <section anchor="sect-2.8.1" numbered="true" toc="default"> | |||
This section covers the HMAC-based Extract-and-Expand Key Derivation | <name>HKDF Key Derivation</name> | |||
Function (HKDF <xref target="RFC5869"/>).</t> | ||||
<figure><artwork><![CDATA[ | <t> | |||
This section covers the HMAC-based Extract-and-Expand Key Derivation | ||||
Function (HKDF <xref target="RFC5869" format="default"/>).</t> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
Identifier: | Identifier: | |||
http://www.w3.org/2021/04/xmldsig-more#hkdf | http://www.w3.org/2021/04/xmldsig-more#hkdf | |||
]]></artwork> | ]]></artwork> | |||
</figure> | ||||
<t> | <t> | |||
Although perhaps not exactly the sort of key agreement algorithm for | ||||
which the AgreementMethod element was originally specified to go | ||||
under the KeyInfo element, this is the most natural way to classify | ||||
key derivation algorithms in XML security.</t> | ||||
<t> | ||||
HKDF takes as inputs a hash function, an optional non-secret "salt", | HKDF takes as inputs a hash function, an optional non-secret "salt", | |||
initial keying material (IKM), optional context and application | initial keying material (IKM), optional context and application-specific | |||
specific "info", and the required output keying size. Note that these | "info", and the required output keying size. Note that these strictly | |||
strictly determine the output so, for example, invoking HKDF at | determine the output so, for example, invoking HKDF at different times but | |||
different times but with the same salt, info, initial keying | with the same salt, info, initial keying material, and output key size will | |||
material, and output key size will produce identical output keying | produce identical output keying material.</t> | |||
material.</t> | <t>The inputs can be supplied to HKDF as follows:</t> | |||
<dl newline="false" spacing="normal" indent="6"> | ||||
<t>The inputs can be supplied to HKDF as follows:</t> | <dt>hash function:</dt> | |||
<dd> The algorithm attribute of a child DigestMethod | ||||
<t><list style="hanging" hangIndent="6"> | element.</dd> | |||
<dt>salt:</dt> | ||||
<t hangText="hash function:"> The algorithm attribute of a child DigestMe | <dd> The content of a Salt child element of AgreementMethod in | |||
thod | ||||
element.</t> | ||||
<t hangText="salt:"> The content of a Salt child element of AgreementMeth | ||||
od in | ||||
hex. If not provided, a string of zero octets as long as the hash | hex. If not provided, a string of zero octets as long as the hash | |||
function output is used as specified in <xref target="RFC5869"/>.</t> | function output is used as specified in <xref target="RFC5869" format="de | |||
fault"/>.</dd> | ||||
<t hangText="IKM:"> The content of an OriginatorKeyInfo child element of | <dt>IKM:</dt> | |||
<dd> The content of an OriginatorKeyInfo child element of | ||||
AgreementMethod in hex. May be absent in some applications where | AgreementMethod in hex. May be absent in some applications where | |||
this is known through some other method. </t> | this is known through some other method. </dd> | |||
<dt>info:</dt> | ||||
<t hangText="info:"> The content of the KA-Nonce child element of Agreeme | <dd> The content of the KA-Nonce child element of AgreementMethod | |||
ntMethod | in hex. </dd> | |||
in hex. </t> | <dt>size:</dt> | |||
<dd> The content of a KeySize child element of AgreementMethod as | ||||
<t hangText="size:"> The content of a KeySize child element of AgreementM | a decimal number.</dd> | |||
ethod as | </dl> | |||
a decimal number.</t> | <t> | |||
Here is the test case from <xref target="RFC5869" format="default" sectionFor | ||||
</list> | mat="of" section="A.1"/> as | |||
</t> | ||||
<t> | ||||
Here is the test case from Section A.1 in Appendix A to <xref target="RFC5869 | ||||
"/> as | ||||
an example:</t> | an example:</t> | |||
<sourcecode><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
<AgreementMethod | <AgreementMethod | |||
algorithm="http://www.w3.org/2021/04/xmldsig-more#hkdf"> | algorithm="http://www.w3.org/2021/04/xmldsig-more#hkdf"> | |||
<DigestMethod | <DigestMethod | |||
algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-sha256"/> | algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-sha256"/> | |||
<Salt>000102030405060708090a0b0c</Salt> | <Salt>000102030405060708090a0b0c</Salt> | |||
<OriginatorKeyInfo>0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b | <OriginatorKeyInfo>0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b | |||
</OriginatorKeyInfo> | </OriginatorKeyInfo> | |||
<KA-Nonce>f0f1f2f3f4f5f6f7f8f9</KA-Nonce> | <KA-Nonce>f0f1f2f3f4f5f6f7f8f9</KA-Nonce> | |||
<KeySize>42</KeySize> | <KeySize>42</KeySize> | |||
</AgreementMethod> | </AgreementMethod> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | ||||
</section> | </section> | |||
</section> | ||||
</section> | <section anchor="sect-3" numbered="true" toc="default"> | |||
<name>KeyInfo</name> | ||||
<section title="KeyInfo" anchor="sect-3"><t> | <t> | |||
In <xref target="sect-3.1"/> below, a KeyInfo element child is specified, whi | In <xref target="sect-3.1" format="default"/>, a KeyInfo element child is spe | |||
le in | cified, while in | |||
<xref target="sect-3.2"/>, additional KeyInfo Type values for use in | <xref target="sect-3.2" format="default"/>, additional KeyInfo Type values fo | |||
r use in | ||||
RetrievalMethod are specified.</t> | RetrievalMethod are specified.</t> | |||
<section anchor="sect-3.1" numbered="true" toc="default"> | ||||
<section title="PKCS #7 Bag of Certificates and CRLs" anchor="sect-3.1">< | <name>PKCS #7 Bag of Certificates and CRLs</name> | |||
t> | <t> | |||
A PKCS #7 <xref target="RFC2315"/> "signedData" can also be used as a bag of | A PKCS #7 <xref target="RFC2315" format="default"/> "signedData" can also be | |||
used as a bag of | ||||
certificates and/or certificate revocation lists (CRLs). The | certificates and/or certificate revocation lists (CRLs). The | |||
PKCS7signedData element is defined to accommodate such structures | PKCS7signedData element is defined to accommodate such structures | |||
within KeyInfo. The binary PKCS #7 structure is base64 <xref target="RFC4648 "/> | within KeyInfo. The binary PKCS #7 structure is base64 <xref target="RFC4648 " format="default"/> | |||
encoded. Any signer information present is ignored. The following | encoded. Any signer information present is ignored. The following | |||
is an example <xref target="RFC3092"/>, eliding the base64 data:</t> | is an example <xref target="RFC3092" format="default"/>, eliding the base64 d | |||
ata:</t> | ||||
<figure><artwork><![CDATA[ | <sourcecode><![CDATA[ | |||
<foo:PKCS7signedData | <foo:PKCS7signedData | |||
xmlns:foo="http://www.w3.org/2001/04/xmldsig-more"> | xmlns:foo="http://www.w3.org/2001/04/xmldsig-more"> | |||
... | ... | |||
</foo:PKCS7signedData> | </foo:PKCS7signedData> | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | </section> | |||
</section> | <section anchor="sect-3.2" numbered="true" toc="default"> | |||
<name>Additional RetrievalMethod Type Values</name> | ||||
<section title="Additional RetrievalMethod Type Values" anchor="sect-3.2" | <t> | |||
><t> | ||||
The Type attribute of RetrievalMethod is an optional identifier for | The Type attribute of RetrievalMethod is an optional identifier for | |||
the type of data to be retrieved. The result of dereferencing a | the type of data to be retrieved. The result of dereferencing a | |||
RetrievalMethod reference for all KeyInfo types with an XML structure | RetrievalMethod reference for all KeyInfo types with an XML structure | |||
is an XML element or document with that element as the root. The | is an XML element or document with that element as the root. The | |||
various "raw" key information types return a binary value. Thus, they | various "raw" key information types return a binary value. Thus, they | |||
require a Type attribute because they are not unambiguously parsable.</t> | require a Type attribute because they are not unambiguously parsable.</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<figure><artwork><![CDATA[ | ||||
Identifiers: | Identifiers: | |||
http://www.w3.org/2001/04/xmldsig-more#KeyName | http://www.w3.org/2001/04/xmldsig-more#KeyName | |||
http://www.w3.org/2001/04/xmldsig-more#KeyValue | http://www.w3.org/2001/04/xmldsig-more#KeyValue | |||
http://www.w3.org/2001/04/xmldsig-more#PKCS7signedData | http://www.w3.org/2001/04/xmldsig-more#PKCS7signedData | |||
http://www.w3.org/2001/04/xmldsig-more#rawPGPKeyPacket | http://www.w3.org/2001/04/xmldsig-more#rawPGPKeyPacket | |||
http://www.w3.org/2001/04/xmldsig-more#rawPKCS7signedData | http://www.w3.org/2001/04/xmldsig-more#rawPKCS7signedData | |||
http://www.w3.org/2001/04/xmldsig-more#rawSPKISexp | http://www.w3.org/2001/04/xmldsig-more#rawSPKISexp | |||
http://www.w3.org/2001/04/xmldsig-more#rawX509CRL | http://www.w3.org/2001/04/xmldsig-more#rawX509CRL | |||
http://www.w3.org/2001/04/xmldsig-more#RetrievalMethod | http://www.w3.org/2001/04/xmldsig-more#RetrievalMethod | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </section> | |||
</section> | ||||
</section> | <section anchor="sect-4" numbered="true" toc="default"> | |||
<name>Indexes</name> | ||||
</section> | <t> | |||
<section title="Indexes" anchor="sect-4"><t> | ||||
The following subsections provide an index by URI and by fragment | The following subsections provide an index by URI and by fragment | |||
identifier (the portion of the URI after "#") of the algorithm and | identifier (the portion of the URI after "#") of the algorithm and | |||
KeyInfo URIs defined in this document and in the standards plus the | KeyInfo URIs defined in this document and in the standards plus the | |||
one KeyInfo child element name defined in this document. The | one KeyInfo child element name defined in this document. The | |||
"Sec/Doc" column has the section of this document or, if not | "Sec/Doc" column has the section of this document or, if not | |||
specified in this document, the standards document where the item is | specified in this document, the standards document where the item is | |||
specified. See also <xref target="XMLSECXREF"/>.</t> | specified. See also <xref target="XMLSECXREF" format="default"/>.</t> | |||
<section anchor="sect-4.1" numbered="true" toc="default"> | ||||
<section title="Index by Fragment Index" anchor="sect-4.1"><t> | <name>Index by Fragment Index</name> | |||
<t> | ||||
The initial "http://www.w3.org/" part of the URI is not included | The initial "http://www.w3.org/" part of the URI is not included | |||
below. The first six entries have a null fragment identifier or no | below. The first six entries have a null fragment identifier or no | |||
fragment identifier. "{Bad}" indicates a Bad value that was | fragment identifier. | |||
accidentally included in <xref target="RFC6931"/>. Implementations SHOULD onl | ||||
y | ||||
generate the correct URI but SHOULD understand both the correct and | ||||
erroneous URI. See also Appendix B.</t> | ||||
<figure><artwork><![CDATA[ | "{Bad}" indicates a bad value that was | |||
accidentally included in <xref target="RFC6931" format="default"/>. Implement | ||||
ations <bcp14>SHOULD</bcp14> only | ||||
generate the correct URI but <bcp14>SHOULD</bcp14> understand both the correc | ||||
t and | ||||
erroneous URI. See also <xref target="app-b"/>.</t> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
Fragment URI Sec/Doc | Fragment URI Sec/Doc | |||
--------- ---- -------- | --------- ---- -------- | |||
2002/06/xmldsig-filter2 [XPATH] | 2002/06/xmldsig-filter2 [XPATH] | |||
2006/12/xmlc12n11# {Bad} [CANON11] | 2006/12/xmlc12n11# {Bad} [CANON11] | |||
2006/12/xmlc14n11# [CANON11] | 2006/12/xmlc14n11# [CANON11] | |||
TR/1999/REC-xslt-19991116 [XSLT] | TR/1999/REC-xslt-19991116 [XSLT] | |||
TR/1999/REC-xpath-19991116 [XPATH] | TR/1999/REC-xpath-19991116 [XPATH] | |||
TR/2001/06/xml-exc-c14n# [XCANON] | TR/2001/06/xml-exc-c14n# [XCANON] | |||
TR/2001/REC-xml-c14n-20010315 [CANON10] | TR/2001/REC-xml-c14n-20010315 [CANON10] | |||
TR/2001/REC-xmlschema-1-20010502 [Schema] | TR/2001/REC-xmlschema-1-20010502 [SCHEMA] | |||
aes128-cbc 2001/04/xmlenc#aes128-cbc [XMLENC11] | aes128-cbc 2001/04/xmlenc#aes128-cbc [XMLENC11] | |||
aes128-gcm 2009/xmlenc11#aes128-gcm [XMLENC11] | aes128-gcm 2009/xmlenc11#aes128-gcm [XMLENC11] | |||
aes192-cbc 2001/04/xmlenc#aes192-cbc [XMLENC11] | aes192-cbc 2001/04/xmlenc#aes192-cbc [XMLENC11] | |||
aes192-gcm 2009/xmlenc11#aes192-gcm [XMLENC11] | aes192-gcm 2009/xmlenc11#aes192-gcm [XMLENC11] | |||
aes256-cbc 2001/04/xmlenc#aes256-cbc [XMLENC11] | aes256-cbc 2001/04/xmlenc#aes256-cbc [XMLENC11] | |||
aes256-gcm 2009/xmlenc11#aes256-gcm [XMLENC11] | aes256-gcm 2009/xmlenc11#aes256-gcm [XMLENC11] | |||
arcfour 2001/04/xmldsig-more#arcfour 2.6.1 | arcfour 2001/04/xmldsig-more#arcfour 2.6.1 | |||
base64 2000/09/xmldsig#base64 [RFC3275] | base64 2000/09/xmldsig#base64 [RFC3275] | |||
skipping to change at line 1667 ¶ | skipping to change at line 1451 ¶ | |||
eddsa-ed448ph 2021/04/xmldsig-more#eddsa-ed448ph 2.3.12 | eddsa-ed448ph 2021/04/xmldsig-more#eddsa-ed448ph 2.3.12 | |||
enveloped-signature 2000/09/xmldsig#enveloped-signature [RFC3275] | enveloped-signature 2000/09/xmldsig#enveloped-signature [RFC3275] | |||
esign-sha1 2001/04/xmldsig-more#esign-sha1 2.3.7 | esign-sha1 2001/04/xmldsig-more#esign-sha1 2.3.7 | |||
esign-sha224 2001/04/xmldsig-more#esign-sha224 2.3.7 | esign-sha224 2001/04/xmldsig-more#esign-sha224 2.3.7 | |||
esign-sha256 2001/04/xmldsig-more#esign-sha256 2.3.7 | esign-sha256 2001/04/xmldsig-more#esign-sha256 2.3.7 | |||
esign-sha384 2001/04/xmldsig-more#esign-sha384 2.3.7 | esign-sha384 2001/04/xmldsig-more#esign-sha384 2.3.7 | |||
esign-sha512 2001/04/xmldsig-more#esign-sha512 2.3.7 | esign-sha512 2001/04/xmldsig-more#esign-sha512 2.3.7 | |||
generic-hybrid 2010/xmlsec-ghc#generic-hybrid [GENERIC] | generic-hybrid 2010/xmlsec-ghc#generic-hybrid [GENERIC] | |||
hkdf 2021/04/xmldsig-more#hkdf 2.7.2 | hkdf 2021/04/xmldsig-more#hkdf 2.8.1 | |||
hmac-md5 2001/04/xmldsig-more#hmac-md5 2.2.1 | hmac-md5 2001/04/xmldsig-more#hmac-md5 2.2.1 | |||
hmac-ripemd160 2001/04/xmldsig-more#hmac-ripemd160 2.2.3 | hmac-ripemd160 2001/04/xmldsig-more#hmac-ripemd160 2.2.3 | |||
hmac-sha1 2000/09/xmldsig#hmac-sha1 [RFC3275] | hmac-sha1 2000/09/xmldsig#hmac-sha1 [RFC3275] | |||
hmac-sha224 2001/04/xmldsig-more#hmac-sha224 2.2.2 | hmac-sha224 2001/04/xmldsig-more#hmac-sha224 2.2.2 | |||
hmac-sha256 2001/04/xmldsig-more#hmac-sha256 2.2.2 | hmac-sha256 2001/04/xmldsig-more#hmac-sha256 2.2.2 | |||
hmac-sha384 2001/04/xmldsig-more#hmac-sha384 2.2.2 | hmac-sha384 2001/04/xmldsig-more#hmac-sha384 2.2.2 | |||
hmac-sha512 2001/04/xmldsig-more#hmac-sha512 2.2.2 | hmac-sha512 2001/04/xmldsig-more#hmac-sha512 2.2.2 | |||
KeyName 2001/04/xmldsig-more#KeyName 3.2 | KeyName 2001/04/xmldsig-more#KeyName 3.2 | |||
KeyValue 2001/04/xmldsig-more#KeyValue 3.2 | KeyValue 2001/04/xmldsig-more#KeyValue 3.2 | |||
skipping to change at line 1917 ¶ | skipping to change at line 1701 ¶ | |||
2021/04/xmldsig-more#xmssmt-shake256-60-6-256 2.2.6 | 2021/04/xmldsig-more#xmssmt-shake256-60-6-256 2.2.6 | |||
xmssmt-shake256-60-12-192 | xmssmt-shake256-60-12-192 | |||
2021/04/xmldsig-more#xmssmt-shake256-60-12-192 2.2.6 | 2021/04/xmldsig-more#xmssmt-shake256-60-12-192 2.2.6 | |||
xmssmt-shake256-60-12-256 | xmssmt-shake256-60-12-256 | |||
2021/04/xmldsig-more#xmssmt-shake256-60-12-256 2.2.6 | 2021/04/xmldsig-more#xmssmt-shake256-60-12-256 2.2.6 | |||
xptr 2001/04/xmldsig-more#xptr 2.5.1 | xptr 2001/04/xmldsig-more#xptr 2.5.1 | |||
--------- ---- -------- | --------- ---- -------- | |||
Fragment URI Sec/Doc | Fragment URI Sec/Doc | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
The initial "http://www.w3.org/" part of the URI is not included | The initial "http://www.w3.org/" part of the URI is not included | |||
above.</t> | above.</t> | |||
</section> | ||||
</section> | <section anchor="sect-4.2" numbered="true" toc="default"> | |||
<name>Index by URI</name> | ||||
<section title="Index by URI" anchor="sect-4.2"><t> | <t> | |||
The initial "http://www.w3.org/" part of the URI is not included | The initial "http://www.w3.org/" part of the URI is not included | |||
below. "{Bad}" indicates a Bad value that was accidentally included | below. "{Bad}" indicates a Bad value that was accidentally included | |||
in <xref target="RFC6931"/>. Implementations SHOULD only generate the correct | in <xref target="RFC6931" format="default"/>. Implementations <bcp14>SHOULD</ | |||
URI | bcp14> only generate the correct URI | |||
but SHOULD understand both the correct and erroneous URI. See also | but <bcp14>SHOULD</bcp14> understand both the correct and erroneous URI. See | |||
Appendix B.</t> | also | |||
<xref target="app-b"/>.</t> | ||||
<figure><artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
URI Sec/Doc Type | URI Sec/Doc Type | |||
---- -------- ------ | ---- -------- ------ | |||
2000/09/xmldsig#base64 [RFC3275] Transform | 2000/09/xmldsig#base64 [RFC3275] Transform | |||
2000/09/xmldsig#DSAKeyValue [RFC3275] Retrieval type | 2000/09/xmldsig#DSAKeyValue [RFC3275] Retrieval type | |||
2000/09/xmldsig#dsa-sha1 [RFC3275] SignatureMethod | 2000/09/xmldsig#dsa-sha1 [RFC3275] SignatureMethod | |||
2000/09/xmldsig#enveloped-signature [RFC3275] Transform | 2000/09/xmldsig#enveloped-signature [RFC3275] Transform | |||
2000/09/xmldsig#hmac-sha1 [RFC3275] SignatureMethod | 2000/09/xmldsig#hmac-sha1 [RFC3275] SignatureMethod | |||
2000/09/xmldsig#MgmtData [RFC3275] Retrieval type | 2000/09/xmldsig#MgmtData [RFC3275] Retrieval type | |||
2000/09/xmldsig#minimal 2.4 Canonicalization | 2000/09/xmldsig#minimal 2.4 Canonicalization | |||
2000/09/xmldsig#PGPData [RFC3275] Retrieval type | 2000/09/xmldsig#PGPData [RFC3275] Retrieval type | |||
skipping to change at line 2012 ¶ | skipping to change at line 1794 ¶ | |||
2001/04/xmlenc#rsa-oaep-mgf1p [XMLENC11] EncryptionMethod | 2001/04/xmlenc#rsa-oaep-mgf1p [XMLENC11] EncryptionMethod | |||
2001/04/xmlenc#sha256 [XMLENC11] DigestAlgorithm | 2001/04/xmlenc#sha256 [XMLENC11] DigestAlgorithm | |||
2001/04/xmlenc#sha512 [XMLENC11] DigestAlgorithm | 2001/04/xmlenc#sha512 [XMLENC11] DigestAlgorithm | |||
2001/04/xmlenc#tripledes-cbc [XMLENC11] EncryptionMethod | 2001/04/xmlenc#tripledes-cbc [XMLENC11] EncryptionMethod | |||
2002/06/xmldsig-filter2 [XPATH] Transform | 2002/06/xmldsig-filter2 [XPATH] Transform | |||
2002/07/decrypt#XML [DECRYPT] Transform | 2002/07/decrypt#XML [DECRYPT] Transform | |||
2002/07/decrypt#Binary [DECRYPT] Transform | 2002/07/decrypt#Binary [DECRYPT] Transform | |||
2006/12/xmlc12n11# {Bad} [CANON11] Canonicalization | 2006/12/xmlc12n11# {Bad} [CANON11] Canonicalization | |||
2006/12/xmlc14n11# [CANON11] Canonicalization | 2006/12/xmlc14n11# [CANON11] Canonicalization | |||
2006/12/xmlc14n11#WithComments [CANON11] Canonicalization | 2006/12/xmlc14n11#WithComments [CANON11] Canonicalization | |||
2007/05/xmldsig-more#ecdsa-ripemd160 2.3.6 SignatureMethod | 2007/05/xmldsig-more#ecdsa-ripemd160 2.3.6 SignatureMethod | |||
2007/05/xmldsig-more#ecdsa-whirlpool 2.3.5 SignatureMethod | 2007/05/xmldsig-more#ecdsa-whirlpool 2.3.5 SignatureMethod | |||
2007/05/xmldsig-more#kw-seed128 2.6.6 EncryptionMethod | 2007/05/xmldsig-more#kw-seed128 2.6.6 EncryptionMethod | |||
2007/05/xmldsig-more#md2-rsa-MGF1 2.3.10 SignatureMethod | 2007/05/xmldsig-more#md2-rsa-MGF1 2.3.10 SignatureMethod | |||
2007/05/xmldsig-more#md5-rsa-MGF1 2.3.10 SignatureMethod | 2007/05/xmldsig-more#md5-rsa-MGF1 2.3.10 SignatureMethod | |||
2007/05/xmldsig-more#MGF1 2.3.9 SignatureMethod | 2007/05/xmldsig-more#MGF1 2.3.9 SignatureMethod | |||
2007/05/xmldsig-more#ripemd128-rsa-MGF1 2.3.10 SignatureMethod | 2007/05/xmldsig-more#ripemd128-rsa-MGF1 2.3.10 SignatureMethod | |||
skipping to change at line 2054 ¶ | skipping to change at line 1836 ¶ | |||
2009/xmlenc11#kw-aes-192-pad [XMLENC11] EncryptionMethod | 2009/xmlenc11#kw-aes-192-pad [XMLENC11] EncryptionMethod | |||
2009/xmlenc11#kw-aes-256-pad [XMLENC11] EncryptionMethod | 2009/xmlenc11#kw-aes-256-pad [XMLENC11] EncryptionMethod | |||
2009/xmldsig11#dsa-sha256 [XMLDSIG11] SignatureMethod | 2009/xmldsig11#dsa-sha256 [XMLDSIG11] SignatureMethod | |||
2009/xmldsig11#ECKeyValue [XMLDSIG11] Retrieval type | 2009/xmldsig11#ECKeyValue [XMLDSIG11] Retrieval type | |||
2009/xmldsig11#DEREncodedKeyValue [XMLDSIG11] Retrieval type | 2009/xmldsig11#DEREncodedKeyValue [XMLDSIG11] Retrieval type | |||
2009/xmlenc11#aes128-gcm [XMLENC11] EncryptionMethod | 2009/xmlenc11#aes128-gcm [XMLENC11] EncryptionMethod | |||
2009/xmlenc11#aes192-gcm [XMLENC11] EncryptionMethod | 2009/xmlenc11#aes192-gcm [XMLENC11] EncryptionMethod | |||
2009/xmlenc11#aes256-gcm [XMLENC11] EncryptionMethod | 2009/xmlenc11#aes256-gcm [XMLENC11] EncryptionMethod | |||
2009/xmlenc11#ConcatKDF [XMLENC11] EncryptionMethod | 2009/xmlenc11#ConcatKDF [XMLENC11] KeyDerivation | |||
2009/xmlenc11#mgf1sha1 [XMLENC11] SignatureMethod | 2009/xmlenc11#mgf1sha1 [XMLENC11] SignatureMethod | |||
2009/xmlenc11#mgf1sha224 [XMLENC11] SignatureMethod | 2009/xmlenc11#mgf1sha224 [XMLENC11] SignatureMethod | |||
2009/xmlenc11#mgf1sha256 [XMLENC11] SignatureMethod | 2009/xmlenc11#mgf1sha256 [XMLENC11] SignatureMethod | |||
2009/xmlenc11#mgf1sha384 [XMLENC11] SignatureMethod | 2009/xmlenc11#mgf1sha384 [XMLENC11] SignatureMethod | |||
2009/xmlenc11#mgf1sha512 [XMLENC11] SignatureMethod | 2009/xmlenc11#mgf1sha512 [XMLENC11] SignatureMethod | |||
2009/xmlenc11#pbkdf2 [XMLENC11] EncryptionMethod | 2009/xmlenc11#pbkdf2 [XMLENC11] KeyDerivation | |||
2009/xmlenc11#rsa-oaep [XMLENC11] EncryptionMethod | 2009/xmlenc11#rsa-oaep [XMLENC11] EncryptionMethod | |||
2009/xmlenc11#ECDH-ES [XMLENC11] EncryptionMethod | 2009/xmlenc11#ECDH-ES [XMLENC11] AgreementMethod | |||
2009/xmlenc11#dh-es [XMLENC11] EncryptionMethod | 2009/xmlenc11#dh-es [XMLENC11] EncryptionMethod | |||
2010/xmlsec-ghc#generic-hybrid [GENERIC] Generic Hybrid | 2010/xmlsec-ghc#generic-hybrid [GENERIC] Generic Hybrid | |||
2010/xmlsec-ghc#rsaes-kem [GENERIC] Generic Hybrid | 2010/xmlsec-ghc#rsaes-kem [GENERIC] Generic Hybrid | |||
2010/xmlsec-ghc#ecies-kem [GENERIC] Generic Hybrid | 2010/xmlsec-ghc#ecies-kem [GENERIC] Generic Hybrid | |||
2021/04/xmldsig-more#chacha20 2.6.7 EncryptionMethod | 2021/04/xmldsig-more#chacha20 2.6.7 EncryptionMethod | |||
2021/04/xmldsig-more#chacha20poly1305 2.6.8 EncryptionMethod | 2021/04/xmldsig-more#chacha20poly1305 2.6.8 EncryptionMethod | |||
2021/04/xmldsig-more#ecdsa-sha3-224 2.3.6 SignatureMethod | 2021/04/xmldsig-more#ecdsa-sha3-224 2.3.6 SignatureMethod | |||
2021/04/xmldsig-more#ecdsa-sha3-256 2.3.6 SignatureMethod | 2021/04/xmldsig-more#ecdsa-sha3-256 2.3.6 SignatureMethod | |||
2021/04/xmldsig-more#ecdsa-sha3-384 2.3.6 SignatureMethod | 2021/04/xmldsig-more#ecdsa-sha3-384 2.3.6 SignatureMethod | |||
2021/04/xmldsig-more#ecdsa-sha3-512 2.3.6 SignatureMethod | 2021/04/xmldsig-more#ecdsa-sha3-512 2.3.6 SignatureMethod | |||
2021/04/xmldsig-more#eddsa-ed25519ph 2.3.12 SignatureMethod | 2021/04/xmldsig-more#eddsa-ed25519ph 2.3.12 SignatureMethod | |||
2021/04/xmldsig-more#eddsa-ed25519ctx 2.3.12 SignatureMethod | 2021/04/xmldsig-more#eddsa-ed25519ctx 2.3.12 SignatureMethod | |||
2021/04/xmldsig-more#eddsa-ed25519 2.3.12 SignatureMethod | 2021/04/xmldsig-more#eddsa-ed25519 2.3.12 SignatureMethod | |||
2021/04/xmldsig-more#eddsa-ed448 2.3.12 SignatureMethod | 2021/04/xmldsig-more#eddsa-ed448 2.3.12 SignatureMethod | |||
2021/04/xmldsig-more#eddsa-ed448ph 2.3.12 SignatureMethod | 2021/04/xmldsig-more#eddsa-ed448ph 2.3.12 SignatureMethod | |||
2021/04/xmldsig-more#hkdf 2.7.2 AgreementMethod | 2021/04/xmldsig-more#hkdf 2.8.1 KeyDerivation | |||
2021/04/xmldsig-more#po1y305 2.2.4 SignatureMethod | 2021/04/xmldsig-more#po1y305 2.2.4 SignatureMethod | |||
2021/04/xmldsig-more#siphash-2-4 2.2.5 SignatureMethod | 2021/04/xmldsig-more#siphash-2-4 2.2.5 SignatureMethod | |||
2021/04/xmldsig-more#x25519 2.7.1 AgreementMethod | 2021/04/xmldsig-more#x25519 2.7.1 AgreementMethod | |||
2021/04/xmldsig-more#x448 2.7.1 AgreementMethod | 2021/04/xmldsig-more#x448 2.7.1 AgreementMethod | |||
2021/04/xmldsig-more#xmss-sha2-10-192 2.2.6 SignatureMethod | 2021/04/xmldsig-more#xmss-sha2-10-192 2.2.6 SignatureMethod | |||
2021/04/xmldsig-more#xmss-sha2-10-256 2.2.6 SignatureMethod | 2021/04/xmldsig-more#xmss-sha2-10-256 2.2.6 SignatureMethod | |||
2021/04/xmldsig-more#xmss-sha2-10-512 2.2.6 SignatureMethod | 2021/04/xmldsig-more#xmss-sha2-10-512 2.2.6 SignatureMethod | |||
2021/04/xmldsig-more#xmss-sha2-16-192 2.2.6 SignatureMethod | 2021/04/xmldsig-more#xmss-sha2-16-192 2.2.6 SignatureMethod | |||
2021/04/xmldsig-more#xmss-sha2-16-256 2.2.6 SignatureMethod | 2021/04/xmldsig-more#xmss-sha2-16-256 2.2.6 SignatureMethod | |||
skipping to change at line 2190 ¶ | skipping to change at line 1972 ¶ | |||
2021/04/xmldsig-more#xmssmt-shake256-60-12-256 | 2021/04/xmldsig-more#xmssmt-shake256-60-12-256 | |||
2.2.6 SignatureMethod | 2.2.6 SignatureMethod | |||
TR/1999/REC-xpath-19991116 [XPATH] Transform | TR/1999/REC-xpath-19991116 [XPATH] Transform | |||
TR/1999/REC-xslt-19991116 [XSLT] Transform | TR/1999/REC-xslt-19991116 [XSLT] Transform | |||
TR/2001/06/xml-exc-c14n# [XCANON] Canonicalization | TR/2001/06/xml-exc-c14n# [XCANON] Canonicalization | |||
TR/2001/06/xml-exc-c14n#WithComments [XCANON] Canonicalization | TR/2001/06/xml-exc-c14n#WithComments [XCANON] Canonicalization | |||
TR/2001/REC-xml-c14n-20010315 [CANON10] Canonicalization | TR/2001/REC-xml-c14n-20010315 [CANON10] Canonicalization | |||
TR/2001/REC-xml-c14n-20010315#WithComments | TR/2001/REC-xml-c14n-20010315#WithComments | |||
[CANON10] Canonicalization | [CANON10] Canonicalization | |||
TR/2001/REC-xmlschema-1-20010502 [Schema] Transform | TR/2001/REC-xmlschema-1-20010502 [SCHEMA] Transform | |||
---- -------- ------ | ---- -------- ------ | |||
URI Sec/Doc Type | URI Sec/Doc Type | |||
]]></artwork> | ]]></artwork> | |||
</figure> | <t> | |||
<t> | ||||
The initial "http://www.w3.org/" part of the URI is not included | The initial "http://www.w3.org/" part of the URI is not included | |||
above. "{Bad}" indicates a Bad value that was accidentally included | above. "{Bad}" indicates a Bad value that was accidentally included | |||
in <xref target="RFC6931"/>. Implementations SHOULD only generate the correct | in <xref target="RFC6931" format="default"/>. Implementations <bcp14>SHOULD</ | |||
URI | bcp14> only generate the correct URI | |||
but SHOULD understand both the correct and erroneous URI. See also | but <bcp14>SHOULD</bcp14> understand both the correct and erroneous URI. See | |||
Appendix B.</t> | also <xref target="app-b"/>.</t> | |||
</section> | ||||
</section> | </section> | |||
<section anchor="sect-5" numbered="true" toc="default"> | ||||
</section> | <name>Allocation Considerations</name> | |||
<t> | ||||
<section title="Allocation Considerations" anchor="sect-5"><t> | ||||
W3C and IANA allocation considerations are given below.</t> | W3C and IANA allocation considerations are given below.</t> | |||
<section anchor="sect-5.1" numbered="true" toc="default"> | ||||
<section title="W3C Allocation Considerations" anchor="sect-5.1"><t> | <name>W3C Allocation Considerations</name> | |||
As it is easy for people to construct their own unique URIs <xref target="RFC | <t> | |||
3986"/> | As it is easy for people to construct their own unique URIs <xref target="RFC | |||
3986" format="default"/> | ||||
and, if appropriate, to obtain a URI from the W3C, additional URI | and, if appropriate, to obtain a URI from the W3C, additional URI | |||
specification under the following XMLSEC URI prefixes is prohibited | specification under the following XMLSEC URI prefixes is prohibited | |||
as shown:</t> | as shown:</t> | |||
<table> | ||||
<thead> | ||||
<tr> | ||||
<th>URI</th> | ||||
<th> Status</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td> <eref target="http://www.w3.org/2000/09/xmldsig#"/> </td> | ||||
<td> Frozen by W3C.</td> | ||||
</tr> | ||||
<figure><artwork><![CDATA[ | <tr> | |||
URI Status | <td> <eref target="http://www.w3.org/2001/04/xmldsig-more#"/></td> | |||
--------------------------------------- ---------------------- | <td> Frozen with RFC 4051.</td> | |||
http://www.w3.org/2000/09/xmldsig# Frozen by W3C. | </tr> | |||
http://www.w3.org/2001/04/xmldsig-more# Frozen with RFC 4051. | ||||
http://www.w3.org/2007/05/xmldsig-more# Frozen with [RFC6931]. | ||||
]]></artwork> | ||||
</figure> | ||||
<t> | ||||
The W3C has assigned "http://www.w3.org/2021/04/xmldsig-more#" for | ||||
additional new URIs specified in this document.</t> | ||||
<t> | <tr> | |||
There are also occurrences in this document of | <td> <eref target="http://www.w3.org/2007/05/xmldsig-more#"/></td> | |||
"http://www.w3.org/2010/xmlsec-ghc#" due to the inclusion of some | <td> Frozen with <xref target="RFC6931"/>.</td> | |||
algorithms from <xref target="GENERIC"/> for convenience.</t> | </tr> | |||
</tbody> | ||||
</table> | ||||
<t> | <t> | |||
The W3C has assigned <eref brackets="angle" target="http://www.w3.org/2021/04 | ||||
/xmldsig-more#"/> for | ||||
additional new URIs specified in this document.</t> | ||||
<t> | ||||
There are also occurrences in this document of | ||||
<eref brackets="angle" target="http://www.w3.org/2010/xmlsec-ghc#"/> due to t | ||||
he inclusion of some | ||||
algorithms from <xref target="GENERIC" format="default"/> for convenience.</t | ||||
> | ||||
<t> | ||||
An "xmldsig-more" URI does not imply any official W3C or IETF status | An "xmldsig-more" URI does not imply any official W3C or IETF status | |||
for these algorithms or identifiers nor does it imply that they are | for these algorithms or identifiers nor does it imply that they are | |||
only useful in digital signatures. Currently, dereferencing such | only useful in digital signatures. Currently, dereferencing such | |||
URIs may or may not produce a temporary placeholder document. | URIs may or may not produce a temporary placeholder document. | |||
Permission to use these URI prefixes has been given by the W3C.</t> | Permission to use these URI prefixes has been given by the W3C.</t> | |||
</section> | ||||
<section anchor="sect-5.2" numbered="true" toc="default"> | ||||
<name>IANA Considerations</name> | ||||
</section> | <t> | |||
<section title="IANA Considerations" anchor="sect-5.2"><t> | ||||
IANA has established a registry entitled "XML Security URIs". The | IANA has established a registry entitled "XML Security URIs". The | |||
contents will be updated to correspond to Section 4.2 of this | contents have been updated to correspond to <xref target="sect-4.2"/> of this | |||
document with each section number in the "Sec/Doc" column augmented | document with each section number in the "Sec/Doc" column augmented | |||
with a reference to this RFC (for example, "2.6.4" means "[this document], Se | with a reference to this RFC (for example, "2.6.4" means "[RFC9231], | |||
ction 2.6.4"). All references to <xref target="RFC6931"/> in that | Section 2.6.4"). All references to <xref target="RFC6931" format="default"/> in | |||
registry should be updated to [this document].</t> | that | |||
registry have been updated to RFC 9231.</t> | ||||
<t> | <t> | |||
New entries, including new Types, will be added based on | New entries, including new Types, will be added based on | |||
Specification Required <xref target="RFC8126"/>. Criteria for the designated expert | Specification Required <xref target="RFC8126" format="default"/>. Criteria f or the designated expert | |||
for inclusion are (1) documentation sufficient for interoperability | for inclusion are (1) documentation sufficient for interoperability | |||
of the algorithm or data type and the XML syntax for its | of the algorithm or data type and the XML syntax for its | |||
representation and use and (2) sufficient importance as normally | representation and use and (2) sufficient importance as normally | |||
indicated by inclusion in (2a) an approved W3C Note, Proposed | indicated by inclusion in (2a) an approved W3C Note, Proposed | |||
Recommendation, or Recommendation or (2b) an approved IETF RFC.</t> | Recommendation, or Recommendation, or (2b) an approved RFC.</t> | |||
<t> | <t> | |||
Typically, the registry will reference a W3C or IETF document | Typically, the registry will reference a W3C or IETF document | |||
specifying such XML syntax; that document will either contain a more | specifying such XML syntax; that document will either contain a more | |||
detailed description of the algorithm or data type or reference | detailed description of the algorithm or data type or reference | |||
another document with a more detailed description.</t> | another document with a more detailed description.</t> | |||
</section> | ||||
</section> | </section> | |||
<section anchor="sect-6" numbered="true" toc="default"> | ||||
</section> | <name>Security Considerations</name> | |||
<t> | ||||
<section title="Security Considerations" anchor="sect-6"><t> | ||||
This RFC is concerned with documenting the URIs that designate | This RFC is concerned with documenting the URIs that designate | |||
algorithms and some data types used in connection with XML security. | algorithms and some data types used in connection with XML security. | |||
The security considerations vary widely with the particular | The security considerations vary widely with the particular | |||
algorithms, and the general security considerations for XML security | algorithms, and the general security considerations for XML security | |||
are outside of the scope of this document but appear in <xref target="XMLDSIG | are outside of the scope of this document but appear in <xref target="XMLDSIG | |||
11"/>, | 11" format="default"/>, | |||
<xref target="XMLENC11"/>, <xref target="CANON10"/>, <xref target="CANON11"/> | <xref target="XMLENC11" format="default"/>, <xref target="CANON10" format="de | |||
, and <xref target="GENERIC"/>.</t> | fault"/>, <xref target="CANON11" format="default"/>, and <xref target="GENERIC" | |||
format="default"/>.</t> | ||||
<t> | <t> | |||
<xref target="RFC6151"/> should be consulted before considering the use of MD | <xref target="RFC6151" format="default"/> should be consulted before consider | |||
5 as a | ing the use of MD5 as a | |||
DigestMethod or the use of HMAC-MD5 or RSA-MD5 as a SignatureMethod.</t> | DigestMethod or the use of HMAC-MD5 or RSA-MD5 as a SignatureMethod.</t> | |||
<t> | ||||
<t> | See <xref target="RFC6194" format="default"/> for SHA-1 security consideratio | |||
See <xref target="RFC6194"/> for SHA-1 security considerations.</t> | ns.</t> | |||
<t> | ||||
<t> | ||||
Additional security considerations are given in connection with the | Additional security considerations are given in connection with the | |||
description of some algorithms in the body of this document.</t> | description of some algorithms in the body of this document.</t> | |||
<t> | ||||
<t> | ||||
Implementers should be aware that cryptographic algorithms become | Implementers should be aware that cryptographic algorithms become | |||
weaker with time. As new cryptoanalysis techniques are developed and | weaker with time. As new cryptoanalysis techniques are developed and | |||
computing performance improves, the work factor to break a particular | computing performance improves, the work factor to break a particular | |||
cryptographic algorithm will decrease. Therefore, cryptographic | cryptographic algorithm will decrease. Therefore, cryptographic | |||
implementations should be modular, allowing new algorithms to be | implementations should be modular, allowing new algorithms to be | |||
readily inserted. That is, implementers should be prepared for the | readily inserted. That is, implementers should be prepared for the | |||
set of mandatory-to-implement algorithms for any particular use to | set of mandatory-to-implement algorithms for any particular use to | |||
change over time. This is sometimes referred to as "algorithm agility" <xref | change over time. This is sometimes referred to as "algorithm agility" <xref | |||
target="RFC7696"/>.</t> | target="RFC7696" format="default"/>.</t> | |||
</section> | ||||
</section> | </middle> | |||
</middle> | ||||
<back> | ||||
<references title="Normative References"> | ||||
<reference anchor="ISO-10118-3"><front> | ||||
<title>Information technology -- Security techniques --Hash-functions -- | ||||
Part 3: Dedicated hash-functions</title> | ||||
<author> | ||||
<organization>ISO</organization> | ||||
</author> | ||||
<date year="2004"/> | ||||
</front> | ||||
<seriesInfo name="ISO/IEC" value="10118-3:2004"/> | ||||
</reference> | ||||
<reference anchor="ISO-18033-2"><front> | ||||
<title>Information technology -- Security techniques --Encryption algorit | ||||
hms -- Part 3: Asymmetric ciphers</title> | ||||
<author> | ||||
<organization>ISO</organization> | ||||
</author> | ||||
<date year="2010"/> | ||||
</front> | ||||
<seriesInfo name="ISO/IEC" value="18033-2:2010"/> | ||||
</reference> | ||||
<reference anchor="FIPS180-4" target="https://nvlpubs.nist.gov/nistpubs/F | ||||
IPS/NIST.FIPS.180-4.pdf"><front> | ||||
<title>Secure Hash Standard (SHS)</title> | ||||
<author> | ||||
<organization>US National Institute of Standards and Technology</organiza | ||||
tion> | ||||
</author> | ||||
<date month="March" year="2012"/> | ||||
</front> | ||||
<seriesInfo name="FIPS" value="180-4"/> | <back> | |||
</reference> | ||||
<reference anchor="FIPS186-4" target="https://nvlpubs.nist.gov/nistpubs/F | ||||
IPS/NIST.FIPS.186-4.pdf"><front> | ||||
<title>Digital Signature Standard (DSS)</title> | ||||
<author> | ||||
<organization>US National Institute of Standards and Technology</organiza | ||||
tion> | ||||
</author> | ||||
<date month="July" year="2013"/> | <references> | |||
</front> | <name>References</name> | |||
<references> | ||||
<name>Normative References</name> | ||||
<seriesInfo name="FIPS" value="186-4"/> | <reference anchor="ISO-10118-3"> | |||
</reference> | <front> | |||
<reference anchor="FIPS202" target="https://nvlpubs.nist.gov/nistpubs/FIP | <title>Information technology -- Security techniques --Hash-function | |||
S/NIST.FIPS.202.pdf"><front> | s -- Part 3: Dedicated hash-functions</title> | |||
<title>SHA-3 Standard: Permutation-Based Hash and Extendable-Output Funct | <author> | |||
ions</title> | <organization>ISO</organization> | |||
<author> | </author> | |||
<organization>US National Institute of Standards and Technology</organiza | <date year="2004"/> | |||
tion> | </front> | |||
</author> | <seriesInfo name="ISO/IEC" value="10118-3:2004"/> | |||
</reference> | ||||
<date month="August" year="2015"/> | <reference anchor="ISO-18033-2"> | |||
</front> | <front> | |||
<title>Information technology -- Security techniques --Encryption al | ||||
gorithms -- Part 3: Asymmetric ciphers</title> | ||||
<author> | ||||
<organization>ISO</organization> | ||||
</author> | ||||
<date year="2010"/> | ||||
</front> | ||||
<seriesInfo name="ISO/IEC" value="18033-2:2010"/> | ||||
</reference> | ||||
<seriesInfo name="FIPS" value="202"/> | <reference anchor="FIPS180-4" target="https://nvlpubs.nist.gov/nistpubs/ | |||
</reference> | FIPS/NIST.FIPS.180-4.pdf"> | |||
<reference anchor="IEEEP1363a"><front> | <front> | |||
<title>Standard Specifications for Public Key Cryptography- Amendment 1: | <title>Secure Hash Standard (SHS)</title> | |||
Additional Techniques</title> | <author> | |||
<author> | <organization>National Institute of Standards and Technology | |||
<organization>IEEE</organization> | (NIST)</organization> | |||
</author> | </author> | |||
<date month="August" year="2015"/> | ||||
</front> | ||||
<seriesInfo name="DOI" value="10.6028/NIST.FIPS.180-4"/> | ||||
<seriesInfo name="FIPS" value="180-4"/> | ||||
</reference> | ||||
<date year="2004"/> | <reference anchor="FIPS186-4" target="https://nvlpubs.nist.gov/nistpubs/ | |||
</front> | FIPS/NIST.FIPS.186-4.pdf"> | |||
<front> | ||||
<title>Digital Signature Standard (DSS)</title> | ||||
<author> | ||||
<organization>National Institute of Standards and Technology (NIST | ||||
)</organization> | ||||
</author> | ||||
<date month="July" year="2013"/> | ||||
</front> | ||||
<seriesInfo name="FIPS" value="186-4"/> | ||||
<seriesInfo name="DOI" value="10.6028/NIST.FIPS.186-4"/> | ||||
</reference> | ||||
<seriesInfo name="IEEE" value="1363a-2004"/> | <reference anchor="FIPS202" target="https://nvlpubs.nist.gov/nistpubs/FI | |||
</reference> | PS/NIST.FIPS.202.pdf"> | |||
<front> | ||||
<title>SHA-3 Standard: Permutation-Based Hash and Extendable-Output | ||||
Functions</title> | ||||
<author> | ||||
<organization>National Institute of Standards and Technology (NIST | ||||
)</organization> | ||||
</author> | ||||
<date month="August" year="2015"/> | ||||
</front> | ||||
<seriesInfo name="FIPS" value="202"/> | ||||
<seriesInfo name="DOI" value="10.6028/NIST.FIPS.202"/> | ||||
</reference> | ||||
<!-- | <reference anchor="IEEEP1363a"> | |||
draft-eastlake-rfc6931bis-xmlsec-uris-27-manual.txt(1966): Warning: Failed | <front> | |||
parsing a reference. Are all elements separated by commas (not periods, not | <title>IEEE Standard Specifications for Public-Key Cryptography - | |||
just spaces)?: | Amendment 1: Additional Techniques</title> | |||
[NIST800-208] US National Institute of Standards and Technology, | <author> | |||
"Recommendation for Stateful Hash-Based Signature Schemes", | <organization>Institute of Electrical and Electronics Engineers</o | |||
NIST 800-208, Otober 202, | rganization> | |||
<https://csrc.nist.gov/publications/detail/sp/800-208/final>. --> | </author> | |||
<date year="2004"/> | ||||
</front> | ||||
<seriesInfo name="IEEE Std" value="1363a-2004"/> | ||||
</reference> | ||||
<!-- | <reference anchor="NIST800-208" target="https://nvlpubs.nist.gov/nistpub | |||
draft-eastlake-rfc6931bis-xmlsec-uris-27-manual.txt(1971): Warning: Failed | s/SpecialPublications/NIST.SP.800-208.pdf"> | |||
parsing a reference. Are all elements separated by commas (not periods, not | <front> | |||
just spaces)?: | <title>Recommendation for Stateful Hash-Based Signature | |||
[RC4] Schneier, B., "Applied Cryptography: Protocols, Algorithms, | Schemes</title> | |||
and Source Code in C", Second Edition, John Wiley and Sons, New | <author> | |||
York, NY, 1996. --> | <organization>National Institute of Standards and Technology (NIST | |||
)</organization> | ||||
</author> | ||||
<date month="October" year="2020"/> | ||||
</front> | ||||
<seriesInfo name="NIST" value="800-208"/> | ||||
<seriesInfo name="DOI" value="10.6028/NIST.SP.800-208"/> | ||||
</reference> | ||||
&RFC1321; | <reference anchor="RC4"> | |||
&RFC2104; | <front> | |||
&RFC2119; | <title>Applied Cryptography: Protocols, Algorithms, and Source Code in | |||
&RFC2315; | C, Second Edition</title> | |||
&RFC3275; | <author initials="B." surname="Schneier" fullname="B. Schneier"> | |||
&RFC3394; | <organization/> | |||
&RFC3713; | </author> | |||
&RFC3986; | <date year="1996"/> | |||
&RFC4050; | </front> | |||
&RFC4055; | <seriesInfo name="John Wiley and Sons, New York, NY" value=""/> | |||
&RFC4269; | </reference> | |||
&RFC4648; | ||||
&RFC5869; | ||||
&RFC6234; | ||||
&RFC7748; | ||||
&RFC8017; | ||||
&RFC8032; | ||||
&RFC8126; | ||||
&RFC8174; | ||||
&RFC8391; | ||||
&RFC8439; | ||||
<!-- | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | |||
draft-eastlake-rfc6931bis-xmlsec-uris-27-manual.txt(2072): Warning: Failed | C.1321.xml"/> | |||
parsing a reference. Are all elements separated by commas (not periods, not | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
just spaces)?: | FC.2104.xml"/> | |||
[SipHash1] Aumasson, J. and D. Bernstein, "SipHash: A Fast Short- | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
Input PRF", Progress in Cryptology - INDOCRYPT 2012, Lecture | FC.2119.xml"/> | |||
Notes in Computer Science, vol. 7668, December 2012, | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | |||
<https://doi.org/10.1007/978-3-642-34931-7_28>. --> | FC.2315.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3275.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3394.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3713.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3986.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4050.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4055.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4269.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4648.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.5869.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6234.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7748.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8017.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8032.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8126.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8174.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8391.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.8439.xml"/> | ||||
<reference anchor="X9.62"><front> | <reference anchor="SipHash1" target="https://doi.org/10.1007/978-3-642-349 | |||
<title>Public Key Cryptography for the Financial Services Industry: The E | 31-7_28"> | |||
lliptic Curve Digital Signature Algorithm (ECDSA)</title> | <front> | |||
<author> | <title>SipHash: A Fast Short-Input PRF</title> | |||
<organization>American National Standards Institute, Accredited Standards | <author initials="J." surname="Aumasson" fullname="J. Aumasson"> | |||
Committee X9</organization> | <organization/> | |||
</author> | </author> | |||
<author initials="D." surname="Bernstein" fullname="D. Bernstein"> | ||||
<organization/> | ||||
</author> | ||||
<date month="December" year="2012"/> | ||||
</front> | ||||
<seriesInfo name="Progress in Cryptology - INDOCRYPT 2012, Lecture Notes | ||||
in Computer Science" value="vol. 7668"/> | ||||
</reference> | ||||
<date year="2005"/> | <reference anchor="X9.62"> | |||
</front> | <front> | |||
<title>Public Key Cryptography for the Financial Services Industry: | ||||
The Elliptic Curve Digital Signature Algorithm (ECDSA)</title> | ||||
<author> | ||||
<organization>American National Standards Institute, Accredited St | ||||
andards Committee X9</organization> | ||||
</author> | ||||
<date year="2005"/> | ||||
</front> | ||||
<seriesInfo name="ANSI" value="X9.62:2005"/> | ||||
</reference> | ||||
<seriesInfo name="ANSI" value="X9.62:2005"/> | <reference anchor="XMLENC10" target="https://www.w3.org/TR/2002/REC-xmle | |||
</reference> | nc-core-20021210/"> | |||
<reference anchor="XMLENC10" target="https://www.w3.org/TR/2002/REC-xmlen | <front> | |||
c-core-20021210/"><front> | <title>XML Encryption Syntax and Processing</title> | |||
<title>XML Encryption Syntax and Processing</title> | <author initials="J." surname="Reagle" fullname="J. Reagle"> | |||
<author initials="J." surname="Reagle" fullname="J. Reagle"> | ||||
</author> | </author> | |||
<author initials="D." surname="Eastlake 3rd" fullname="Donald Eastla | ||||
<author initials="D." surname="Eastlake" fullname="D. Eastlake"> | ke 3rd"> | |||
</author> | </author> | |||
<date month="December" year="2002"/> | ||||
</front> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | ||||
</reference> | ||||
<date month="10" year="December 2002"/> | <reference anchor="XMLENC11" target="https://www.w3.org/TR/xmlenc-core1/ | |||
</front> | "> | |||
<front> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | <title>XML Encryption Syntax and Processing Version 1.1</title> | |||
</reference> | <author initials="D." surname="Eastlake 3rd" fullname="Donald Eastla | |||
<reference anchor="XMLENC11" target="https://www.w3.org/TR/xmlenc-core1/" | ke 3rd"> | |||
><front> | ||||
<title>XML Encryption Syntax and Processing Version 1.1</title> | ||||
<author initials="D." surname="Eastlake" fullname="D. Eastlake"> | ||||
</author> | </author> | |||
<author initials="J." surname="Reagle" fullname="J. Reagle"> | ||||
<author initials="J." surname="Reagle" fullname="J. Reagle"> | ||||
</author> | </author> | |||
<author initials="F." surname="Hirsch" fullname="F. Hirsch"> | ||||
<author initials="F." surname="Hirsch" fullname="F. Hirsch"> | ||||
</author> | </author> | |||
<author initials="T." surname="Roessler" fullname="T. Roessler"> | ||||
<author initials="T." surname="Roessler" fullname="T. Roessler"> | ||||
</author> | </author> | |||
<date month="April" year="2013"/> | ||||
</front> | ||||
<seriesInfo name="W3C" value="Proposed Recommendation"/> | ||||
</reference> | ||||
<date month="11" year="April 2013"/> | <reference anchor="XPointer" target="https://www.w3.org/TR/2003/REC-xptr-framewo | |||
</front> | rk-20030325/"> | |||
<front> | ||||
<seriesInfo name="W3C" value="Proposed Recommendation"/> | <title>XPointer Framework</title> | |||
</reference> | <author initials="P." surname="Grosso" fullname="P. Grosso"> | |||
<reference anchor="XPointer" target="https://www.w3"><front> | ||||
<title>XPointer Framework</title> | ||||
<author initials="P." surname="Grosso" fullname="P. Grosso"> | ||||
</author> | </author> | |||
<author initials="E." surname="Maler" fullname="E. Maler"> | ||||
<author initials="E." surname="Maler" fullname="E. Maler"> | ||||
</author> | </author> | |||
<author initials="J." surname="Marsh" fullname="J. Marsh"> | ||||
<author initials="J." surname="Marsh" fullname="J. Marsh"> | ||||
</author> | </author> | |||
<author initials="N." surname="Walsh" fullname="N. Walsh"> | ||||
<author initials="N." surname="Walsh" fullname="N. Walsh"> | ||||
</author> | </author> | |||
<date month="March" year="2003"/> | ||||
</front> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | ||||
</reference> | ||||
</references> | ||||
<references> | ||||
<date month="25" year="March 2003"/> | <name>Informative References</name> | |||
</front> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | ||||
</reference> | ||||
</references> | ||||
<references title="Informational References"> | ||||
<!-- | <reference anchor="ITU-T-X.660" target="https://www.itu.int/rec/T-REC-X.660"> | |||
draft-eastlake-rfc6931bis-xmlsec-uris-27-manual.txt(2097): Warning: Failed | <front> | |||
parsing a reference. Are all elements separated by commas (not periods, not | <title>Information technology - Procedures for the operation of obje | |||
just spaces)?: | ct identifier registration authorities: General procedures | |||
[Camellia] Aoki, K., Ichikawa, T., Matsui, M., Moriai, S., | and top arcs of the international object identifier tree</title> | |||
Nakajima, J., and T. Tokita, "Camellia: A 128-bit Block Cipher | <author> | |||
Suitable for Multiple Platforms - Design and Analysis", in | <organization showOnFrontPage="true">ITU-T</organization> | |||
Selected Areas in Cryptography, 7th Annual International | </author> | |||
Workshop, SAC 2000, August 2000, Proceedings, Lecture Notes in | <date year="2011" month="July"/> | |||
Computer Science 2012, pp. 39-56, Springer-Verlag, 2001. --> | </front> | |||
<seriesInfo name="ITU-T Recommendation" value="X.660"/> | ||||
</reference> | ||||
<reference anchor="CANON10" target="https://www.w3.org/TR/2001/REC-xml-c1 | <reference anchor="ITU-T-X.680" target="https://www.itu.int/rec/T-REC-X.680"> | |||
4n-20010315"><front> | <front> | |||
<title>Canonical XML Version 1.0</title> | <title>Information technology - Abstract Syntax Notation One (ASN.1) | |||
<author initials="J." surname="Boyer" fullname="J. Boyer"> | : Specification of basic notation</title> | |||
</author> | <author> | |||
<organization showOnFrontPage="true">ITU-T</organization> | ||||
</author> | ||||
<date year="2021" month="February"/> | ||||
</front> | ||||
<seriesInfo name="ITU-T Recommendation" value="X.680"/> | ||||
</reference> | ||||
<date month="15" year="March 2001"/> | <reference anchor="CAMELLIA"> | |||
</front> | <front> | |||
<title>Camellia: A 128-Bit Block Cipher Suitable for Multiple Platforms | ||||
-- Design and Analysis</title> | ||||
<author initials="K." surname="Aoki" fullname="Kazumaro Aoki"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="T." surname="Ichikawa" fullname="Tetsuya Ichikawa"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="M" surname="Kanda" fullname="Masayuki Kanda"> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | </author> | |||
</reference> | <author initials="M." surname="Matsui" fullname="Mitsuru Matsui"> | |||
<reference anchor="CANON11" target="https://www.w3.org/TR/2008/REC-xml-c1 | <organization/> | |||
4n11-20080502/"><front> | </author> | |||
<title>Canonical XML Version 1.1</title> | <author initials="S." surname="Moriai" fullname="Shiho Moriai"> | |||
<author initials="J." surname="Boyer" fullname="J. Boyer"> | <organization/> | |||
</author> | </author> | |||
<author initials="J." surname="Nakajima" fullname="Junko Nakajima"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="T." surname="Tokita" fullname="Toshio Tokita "> | ||||
<organization/> | ||||
</author> | ||||
<date month="August" year="2000"/> | ||||
</front> | ||||
<refcontent>In Selected Areas in Cryptography</refcontent> | ||||
<refcontent>7th Annual International Workshop</refcontent> | ||||
<refcontent>SAC 2000</refcontent> | ||||
</reference> | ||||
<author initials="G." surname="Marcy" fullname="G. Marcy"> | <reference anchor="CANON10" target="https://www.w3.org/TR/2001/REC-xml-c1 | |||
4n-20010315"> | ||||
<front> | ||||
<title>Canonical XML Version 1.0</title> | ||||
<author initials="J." surname="Boyer" fullname="J. Boyer"> | ||||
</author> | </author> | |||
<date month="March" year="2001"/> | ||||
</front> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | ||||
</reference> | ||||
<date month="2" year="May 2008"/> | <reference anchor="CANON11" target="https://www.w3.org/TR/2008/REC-xml-c | |||
</front> | 14n11-20080502/"> | |||
<front> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | <title>Canonical XML Version 1.1</title> | |||
</reference> | <author initials="J." surname="Boyer" fullname="J. Boyer"> | |||
<reference anchor="ChaCha" target="https://cr.yp.to/chacha/chacha-2008012 | ||||
8.pdf"><front> | ||||
<title>ChaCha, a variant of Salsa20</title> | ||||
<author initials="D." surname="Bernstein" fullname="D. Bernstein"> | ||||
</author> | </author> | |||
<author initials="G." surname="Marcy" fullname="G. Marcy"> | ||||
<date month="January" year="2008"/> | ||||
</front> | ||||
</reference> | ||||
<reference anchor="DECRYPT" target="https://www.w3"><front> | ||||
<title>Decryption Transform for XML Signature</title> | ||||
<author initials="M." surname="Hughes" fullname="M. Hughes"> | ||||
</author> | </author> | |||
<date month="May" year="2008"/> | ||||
</front> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | ||||
</reference> | ||||
<author initials="T." surname="Imamura" fullname="T. Imamura"> | <reference anchor="ChaCha" target="https://cr.yp.to/chacha/chacha-200801 | |||
28.pdf"> | ||||
<front> | ||||
<title>ChaCha, a variant of Salsa20</title> | ||||
<author initials="D." surname="Bernstein" fullname="D. Bernstein"> | ||||
</author> | </author> | |||
<date month="January" year="2008"/> | ||||
</front> | ||||
</reference> | ||||
<author initials="H." surname="Maruyama" fullname="H. Maruyama"> | <reference anchor="DECRYPT" target="https://www.w3.org/TR/2002/REC-xmlen | |||
c-decrypt-20021210"> | ||||
<front> | ||||
<title>Decryption Transform for XML Signature</title> | ||||
<author initials="M." surname="Hughes" fullname="Merlin Hughes"> | ||||
</author> | </author> | |||
<author initials="T." surname="Imamura" fullname="Takeshi Imamura"> | ||||
<date month="10" year="December 2002"/> | ||||
</front> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | ||||
</reference> | ||||
<!-- | ||||
draft-eastlake-rfc6931bis-xmlsec-uris-27-manual.txt(2120): Warning: Failed | ||||
parsing a reference. Are all elements separated by commas (not periods, not | ||||
just spaces)?: | ||||
[Err3597] RFC Errata, Errata ID 3597, RFC 6931, <https://www.rfc-editor.org>. | ||||
--> | ||||
<!-- | ||||
draft-eastlake-rfc6931bis-xmlsec-uris-27-manual.txt(2123): Warning: Failed | ||||
parsing a reference. Are all elements separated by commas (not periods, not | ||||
just spaces)?: | ||||
[Err3965] RFC Errata, Errata ID 3965, RFC 6931, <https://www.rfc-editor.org>. | ||||
--> | ||||
<!-- | ||||
draft-eastlake-rfc6931bis-xmlsec-uris-27-manual.txt(2126): Warning: Failed | ||||
parsing a reference. Are all elements separated by commas (not periods, not | ||||
just spaces)?: | ||||
[Err4004] RFC Errata, Errata ID 4004, RFC 6931, <https://www.rfc-editor.org>. | ||||
--> | ||||
<reference anchor="GENERIC" target="https://www.w3.org/TR/xmlsec-generic- | ||||
hybrid/"><front> | ||||
<title>XML Security Generic Hybrid Ciphers</title> | ||||
<author initials="M." surname="Nystrom" fullname="M. Nystrom"> | ||||
</author> | </author> | |||
<author initials="H." surname="Maruyama" fullname="Hiroshi Maruyama" | ||||
<author initials="F." surname="Hirsch" fullname="F. Hirsch"> | > | |||
</author> | </author> | |||
<date month="December" year="2002"/> | ||||
</front> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | ||||
</reference> | ||||
<date month="11" year="April 2013"/> | <reference anchor="Err3597" target="https://www.rfc-editor.org/errata/eid3597"> | |||
</front> | <front> | |||
<title>Erratum ID 3597</title> | ||||
<author><organization>RFC Errata</organization></author> | ||||
</front> | ||||
<refcontent>RFC 6931</refcontent> | ||||
</reference> | ||||
<seriesInfo name="W3C" value="Working Group Note"/> | <reference anchor="Err3965" target="https://www.rfc-editor.org/errata/eid39 | |||
</reference> | 65"> | |||
<reference anchor="Keccak" target="http://keccak.noekeon.org"><front> | <front> | |||
<title>The KECCAK sponge function family</title> | <title>Erratum ID 3965</title> | |||
<author initials="G." surname="Bertoni" fullname="G. Bertoni"> | <author> | |||
</author> | <organization>RFC Errata | |||
</organization> | ||||
</author> | ||||
</front> | ||||
<refcontent>RFC 6931 | ||||
</refcontent> | ||||
</reference> | ||||
<author initials="J." surname="Daeman" fullname="J. Daeman"> | <reference anchor="Err4004" target="https://www.rfc-editor.org/errata/eid40 | |||
</author> | 04"> | |||
<front> | ||||
<title>Erratum ID 4004</title> | ||||
<author> | ||||
<organization>RFC Errata | ||||
</organization> | ||||
</author> | ||||
</front> | ||||
<refcontent>RFC 6931 | ||||
</refcontent> | ||||
</reference> | ||||
<author initials="M." surname="Peeters" fullname="M. Peeters"> | <reference anchor="GENERIC" target="https://www.w3.org/TR/xmlsec-generic- | |||
hybrid/"> | ||||
<front> | ||||
<title>XML Security Generic Hybrid Ciphers</title> | ||||
<author initials="M." surname="Nyström" fullname="Magnus Nyström"> | ||||
</author> | </author> | |||
<author initials="F." surname="Hirsch" fullname="Frederick Hirsch"> | ||||
<author initials="G." surname="Van Assche" fullname="G. Van Assche"> | ||||
</author> | </author> | |||
<date month="April" year="2013"/> | ||||
</front> | ||||
<seriesInfo name="W3C" value="Working Group Note"/> | ||||
</reference> | ||||
<date month="January" year="2013"/> | <reference anchor="KECCAK" target="https://keccak.team/obsolete/Keccak-main-2.1. | |||
</front> | pdf"> | |||
<front> | ||||
</reference> | <title>KECCAK sponge function family</title> | |||
<reference anchor="Poly1305" target="https://cr.yp.to/mac/poly1305-200503 | <author initials="G." surname="Bertoni" fullname="Guido Bertoni"> | |||
29.pdf"><front> | ||||
<title>The Poly1305-AES message-authentication code</title> | ||||
<author initials="D." surname="Bernstein" fullname="D. Bernstein"> | ||||
</author> | </author> | |||
<author initials="J." surname="Daeman" fullname="Joan Daemen"> | ||||
<date month="March" year="2005"/> | ||||
</front> | ||||
</reference> | ||||
&RFC3075; | ||||
&RFC3076; | ||||
&RFC3092; | ||||
&RFC3741; | ||||
&RFC4010; | ||||
<!-- &RFC5869; Also in normative reference --> | ||||
&RFC6090; | ||||
&RFC6151; | ||||
&RFC6194; | ||||
&RFC6931; | ||||
&RFC7465; | ||||
&RFC7696; | ||||
<reference anchor="Schema" target="https://www.w3.org/TR/2004/REC-xmlsche | ||||
ma-2-20041028/"><front> | ||||
<title>XML Schema Part 1: Structures Second Edition", W3C Recommendation, | ||||
28 October 2004, <https://www.w3.org/TR/2004/REC-xmlschema-1-20041028/>. | ||||
- Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes Second Edition</title | ||||
> | ||||
<author initials="H." surname="Thompson" fullname="H. Thompson"> | ||||
</author> | </author> | |||
<author initials="M." surname="Peeters" fullname="Michael Peeters"> | ||||
<author initials="D." surname="Beech" fullname="D. Beech"> | ||||
</author> | </author> | |||
<author initials="G." surname="Van Assche" fullname="Gilles Van Assc | ||||
<author initials="M." surname="Maloney" fullname="M. Maloney"> | he"> | |||
</author> | </author> | |||
<date month="June" year="2010"/> | ||||
</front> | ||||
<refcontent>Version 2.1</refcontent> | ||||
</reference> | ||||
<author initials="N." surname="Mendelsohn" fullname="N. Mendelsohn"> | <reference anchor="POLY1305" target="https://cr.yp.to/mac/poly1305-20050 | |||
329.pdf"> | ||||
<front> | ||||
<title>The Poly1305-AES message-authentication code</title> | ||||
<author initials="D." surname="Bernstein" fullname="D. Bernstein"> | ||||
</author> | </author> | |||
<date month="March" year="2005"/> | ||||
</front> | ||||
</reference> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3075.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3076.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3092.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.3741.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.4010.xml"/> | ||||
<date month="28" year="October 2004"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | |||
</front> | C.6090.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6151.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6194.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.6931.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7465.xml"/> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
FC.7696.xml"/> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | <referencegroup anchor="SCHEMA"> | |||
</reference> | <reference anchor='W3C.REC-xmlschema-1-20041028' | |||
<!-- | target='https://www.w3.org/TR/2004/REC-xmlschema-1-20041028'> | |||
draft-eastlake-rfc6931bis-xmlsec-uris-27-manual.txt(2204): Warning: Failed | <front> | |||
parsing a reference. Are all elements separated by commas (not periods, not | <title>XML Schema Part 1: Structures Second Edition</title> | |||
just spaces)?: | ||||
[SipHash2] Aumasson, J. and D. Bernstein, "SipHash: A Fast Short- | ||||
Input PRF", Department of Computer Science, Iniversity of | ||||
Illinois at Chicago, | ||||
<https://www.aumasson.jp/siphash/siphash.pdf>. --> | ||||
<!-- | <author initials='H.' surname='Thompson' fullname='Henry Thompson'> | |||
draft-eastlake-rfc6931bis-xmlsec-uris-27-manual.txt(2209): Warning: Failed | <organization /> | |||
parsing a reference. Are all elements separated by commas (not periods, not | </author> | |||
just spaces)?: | ||||
[W3C] World Wide Web Consortium, <https://www.w3.org>. --> | ||||
<reference anchor="XCANON" target="https://www.w3.org/TR/2002/REC-xml-exc | <author initials='D.' surname='Beech' fullname='David Beech'> | |||
-c14n-20020718/"><front> | <organization /> | |||
<title>Exclusive XML Canonicalization Version 1.0</title> | </author> | |||
<author initials="J." surname="Boyer" fullname="J. Boyer"> | ||||
</author> | ||||
<author initials="D." surname="Eastlake" fullname="D. Eastlake"> | <author initials='M.' surname='Maloney' fullname='Murray Maloney'> | |||
</author> | <organization /> | |||
</author> | ||||
<author initials="J." surname="Reagle" fullname="J. Reagle"> | <author initials='N.' surname='Mendelsohn' fullname='Noah Mendelsohn'> | |||
</author> | <organization /> | |||
</author> | ||||
<date month="18" year="July 2002"/> | <date month='October' day='28' year='2004' /> | |||
</front> | </front> | |||
<seriesInfo name="W3C" value="Recommendation"/> | <seriesInfo name='W3C Recommendation' value='REC-xmlschema-1-20041028' /> | |||
</reference> | </reference> | |||
<reference anchor="XMLDSIG10" target="https://www.w3.org/TR/2008/REC-xmld | ||||
sig-core-20080610/"><front> | ||||
<title>XML Signature Syntax and Processing (Second Edition)</title> | ||||
<author initials="D." surname="Eastlake" fullname="D. Eastlake"> | ||||
</author> | ||||
<author initials="J." surname="Reagle" fullname="J. Reagle"> | <reference anchor='W3C.REC-xmlschema-2-20041028' | |||
</author> | target='https://www.w3.org/TR/2004/REC-xmlschema-2-20041028'> | |||
<front> | ||||
<title>XML Schema Part 2: Datatypes Second Edition</title> | ||||
<author initials="D." surname="Solo" fullname="D. Solo"> | <author initials='P.' surname='Biron' fullname='Paul V. Biron'> | |||
</author> | <organization /> | |||
</author> | ||||
<author initials="F." surname="Hirsch" fullname="F. Hirsch"> | <author initials='A.' surname='Malhotra' fullname='Ashok Malhotra'> | |||
</author> | <organization /> | |||
</author> | ||||
<author initials="T." surname="Roessler" fullname="T. Roessler"> | <date month='October' day='28' year='2004' /> | |||
</author> | </front> | |||
<date month="10" year="June 2008"/> | <seriesInfo name='W3C Recommendation' value='REC-xmlschema-2-20041028' /> | |||
</front> | </reference> | |||
<seriesInfo name="W3C" value="Recommendation"/> | </referencegroup> | |||
</reference> | ||||
<reference anchor="XMLDSIG11" target="https://www.w3.org/TR/xmldsig-core1 | ||||
/"><front> | ||||
<title>XML Signature Syntax and Processing Version 1.1</title> | ||||
<author initials="D." surname="Eastlake" fullname="D. Eastlake"> | ||||
</author> | ||||
<author initials="J." surname="Reagle" fullname="J. Reagle"> | <reference anchor="SipHash2" target="https://www.aumasson.jp/siphash/sipha | |||
</author> | sh.pdf"> | |||
<front> | ||||
<title>SipHash: A Fast Short-Input PRF</title> | ||||
<author initials="J." surname="Aumasson" fullname="J. Aumasson"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="D." surname="Bernstein" fullname="D. Bernstein"> | ||||
<organization/> | ||||
</author> | ||||
</front> | ||||
<refcontent>Department of Computer Science, University of Illinois at Chi | ||||
cago</refcontent> | ||||
</reference> | ||||
<author initials="D." surname="Solo" fullname="D. Solo"> | <reference anchor="W3C" target="https://www.w3.org"> | |||
</author> | <front> | |||
<title>World Wide Web Consortium (W3C)</title> | ||||
<author></author> | ||||
<date></date> | ||||
</front> | ||||
</reference> | ||||
<author initials="F." surname="Hirsch" fullname="F. Hirsch"> | <reference anchor="XCANON" target="https://www.w3.org/TR/2002/REC-xml-exc | |||
-c14n-20020718/"> | ||||
<front> | ||||
<title>Exclusive XML Canonicalization Version 1.0</title> | ||||
<author initials="J." surname="Boyer" fullname="John Boyer"> | ||||
</author> | </author> | |||
<author initials="D." surname="Eastlake 3rd" fullname="Donald Eastla | ||||
<author initials="M." surname="Nystrom" fullname="M. Nystrom"> | ke 3rd"> | |||
</author> | </author> | |||
<author initials="J." surname="Reagle" fullname="Joseph Reagle"> | ||||
<author initials="T." surname="Roessler" fullname="T. Roessler"> | ||||
</author> | </author> | |||
<date month="July" year="2002"/> | ||||
</front> | ||||
<refcontent>W3C Recommendation</refcontent> | ||||
</reference> | ||||
<author initials="K." surname="Yiu" fullname="K. Yiu"> | <reference anchor="XMLDSIG10" target="https://www.w3.org/TR/2008/REC-xml | |||
</author> | dsig-core-20080610/"> | |||
<front> | ||||
<title>XML Signature Syntax and Processing (Second Edition)</title> | ||||
<author initials="M." surname="Bartel" fullname="Mark Bartel"> | ||||
</author> | ||||
<date month="11" year="April 2013"/> | <author initials="J." surname="Boyer" fullname="John Boyer"> | |||
</front> | </author> | |||
<seriesInfo name="W3C" value="Proposed Recommendation"/> | <author initials="B." surname="Fox" fullname="Barb Fox"> | |||
</reference> | </author> | |||
<reference anchor="XMLDSIG-PROP" target="https://www.w3.org/TR/2013/PR-xm | ||||
ldsig-properties-20130124/"><front> | ||||
<title>XML Signature Properties</title> | ||||
<author initials="F." surname="Hirsch" fullname="F. Hirsch"> | ||||
</author> | ||||
<date month="24" year="January 2013"/> | <author initials="E." surname="Simon" fullname="Ed Simon"> | |||
</front> | </author> | |||
<seriesInfo name="W3C" value="Proposed Recommendation"/> | <author initials="B" surname="LaMacchia" fullname="Brian LaMacchia" | |||
</reference> | > | |||
<!-- | </author> | |||
draft-eastlake-rfc6931bis-xmlsec-uris-27-manual.txt(2229): Warning: Failed | ||||
parsing a reference. Are all elements separated by commas (not periods, not | ||||
just spaces)?: | ||||
[XMLSEC] Eastlake, D., and K. Niles, "Secure XML: The New Syntax | ||||
for Signatures and Encryption", Addison-Wesley (Pearson | ||||
Education), 2003, ISBN 0-201-75605-6. --> | ||||
<reference anchor="XMLSECXREF" target="https://www.w3"><front> | <date month="June" year="2008"/> | |||
<title>XML Security Algorithm Cross-Reference</title> | </front> | |||
<author initials="F." surname="Hirsch" fullname="F. Hirsch"> | <refcontent>W3C Recommendation</refcontent> | |||
</author> | </reference> | |||
<author initials="T." surname="Roessler" fullname="T. Roessler"> | <reference anchor="XMLDSIG11" target="https://www.w3.org/TR/xmldsig-core | |||
</author> | 1/"> | |||
<front> | ||||
<title>XML Signature Syntax and Processing Version 1.1</title> | ||||
<author initials="K." surname="Yiu" fullname="K. Yiu"> | <author initials="M." surname="Bartel" fullname="Mark Bartel"/> | |||
</author> | ||||
<date month="24" year="January 2013"/> | <author initials="J." surname="Boyer" fullname="John Boyer"/> | |||
</front> | ||||
<seriesInfo name="W3C" value="Working Group Note"/> | <author initials="B." surname="Fox" fullname="Barb Fox"/> | |||
</reference> | ||||
<!-- | <author initials="E." surname="Simon" fullname="Ed Simon"/> | |||
draft-eastlake-rfc6931bis-xmlsec-uris-27-manual.txt(2238): Warning: Failed | ||||
parsing a reference. Are all elements separated by commas (not periods, not | ||||
just spaces)?: | ||||
[XMSS] IANA Registry for XMSS and XMSSMT Extended Hash-Based | ||||
Signature schemes: https://www.iana.org/assignments/xmss- | ||||
extended-hash-based-signatures --> | ||||
<reference anchor="XPATH" target="https://www.w3.org/TR/2010/REC-xpath20- | <author initials="B" surname="LaMacchia" fullname="Brian LaMacchia"/> | |||
20101214/"><front> | ||||
<title>XML-Signature XPath Filter 2.0", W3C Recommendation, 8 November 20 | ||||
02, <https://www.w3.org/TR/2002/ REC-xmldsig-filter2-20021108/>. - Berglun | ||||
d, A., Boag, S., Chamberlin, D., Fernandez, M., Kay, M., Robie, J., and J. Simeo | ||||
n, "XML Path Language (XPath) 2.0 (Second Edition)</title> | ||||
<author initials="J." surname="Boyer" fullname="J. Boyer"> | ||||
</author> | ||||
<author initials="M." surname="Hughes" fullname="M. Hughes"> | <date month="April" year="2013"/> | |||
</author> | </front> | |||
<refcontent>W3C Proposed Recommendation</refcontent> | ||||
</reference> | ||||
<author initials="J." surname="Reagle" fullname="J. Reagle"> | <reference anchor="XMLDSIG-PROP" target="https://www.w3.org/TR/xmldsig-p | |||
roperties/"> | ||||
<front> | ||||
<title>XML Signature Properties</title> | ||||
<author initials="F." surname="Hirsch" fullname="Frederick Hirsch"> | ||||
</author> | </author> | |||
<date month="April" year="2013"/> | ||||
</front> | ||||
<refcontent>W3C Recommendation</refcontent> | ||||
</reference> | ||||
<date month="14" year="December 2010"/> | <reference anchor="XMLSEC"> | |||
</front> | <front> | |||
<title>Secure XML: The New Syntax for Signatures and Encryption</title> | ||||
<author initials="D." surname="Eastlake 3rd" fullname="Donald Eastlake | ||||
3rd"> | ||||
<organization/> | ||||
</author> | ||||
<author initials="K." surname="Niles" fullname="Kitty Niles"> | ||||
<organization/> | ||||
</author> | ||||
<date year="2003"/> | ||||
</front> | ||||
<seriesInfo name="Addison-Wesley (Pearson Education)" value="ISBN 0-201- | ||||
75605-6"/> | ||||
</reference> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | <reference anchor="XMLSECXREF" target="https://www.w3.org/TR/xmlsec-algorithms/" | |||
</reference> | > | |||
<reference anchor="XSLT" target="https://www.w3.org/TR/2007/REC-xslt20-20 | <front> | |||
070123/"><front> | <title>XML Security Algorithm Cross-Reference</title> | |||
<title>XSL Transformations (XSLT) Version 2.0</title> | <author initials="F." surname="Hirsch" fullname="Frederick Hirsch"> | |||
<author initials="M." surname="Saxonica" fullname="M. Saxonica"> | ||||
</author> | </author> | |||
<author initials="T." surname="Roessler" fullname="Thomas Roessler"> | ||||
</author> | ||||
<author initials="K." surname="Yiu" fullname="Kelvin Yiu"> | ||||
</author> | ||||
<date month="April" year="2013"/> | ||||
</front> | ||||
<refcontent>W3C Working Group Note</refcontent> | ||||
<date month="23" year="January 2007"/> | </reference> | |||
</front> | ||||
<seriesInfo name="W3C" value="Recommendation"/> | ||||
</reference> | ||||
</references> | ||||
<section title="Changes from [RFC6931]" anchor="sect-a"><t> | ||||
The following changes have been made in <xref target="RFC6931"/> to produce t | ||||
his | ||||
document. | ||||
<!-- [rfced] This should be a numbered list. Changed to symbol because of the e | ||||
mbedded <figure> --> | ||||
<list style="symbols"> | ||||
<t>Delete Appendix on Changes from RFC 4051, since they were already | ||||
included in <xref target="RFC6931"/>, and remove reference to RFC 4051 an | ||||
d to | ||||
the one Errata against RFC 4051.</t> | ||||
<t>Fix three errata as follows: [Err3597], [Err3965], and [Err4004]. | ||||
In cases where <xref target="RFC6931"/> had an erroneous URI, it is still | ||||
included in the indices and it is stated that implementations | ||||
SHOULD only generate the correct URI but SHOULD understand both | ||||
the correct and erroneous URI.</t> | ||||
<t>Added the following algorithms:</t> | ||||
</list></t> | ||||
<figure><artwork><![CDATA[ | ||||
Section Algorithm(s) | ||||
------- ------------ | ||||
2.2.4 Poly1305 | ||||
2.2.5 SipHash-2-4 | ||||
2.2.6 XMSS and XMSSMT | ||||
2.3.6 ECDSA with SHA3 | ||||
2.3.12 Edwards-Curve Signatures | ||||
2.6.7 ChaCha20 | ||||
2.6.8 ChaCha20+Poly1305 | ||||
2.7.1 X25519 | ||||
2.7.2 HKDF | ||||
]]></artwork> | ||||
</figure> | ||||
<t><list style="symbols"> | ||||
<t>Listed ECIES-KEM and RSAES-KEM in <xref target="sect-2.6.4"/> so they a | ||||
re | ||||
easier to find even though the URI for them is specified in | ||||
<xref target="GENERIC"/>.</t> | ||||
<t>Updated references for <xref target="GENERIC"/> and FIPS 186, added app | ||||
ropriate | ||||
references.</t> | ||||
<t>Addition of some XML examples.</t> | ||||
<t>Minor typo fixes and editorial changes.</t> | ||||
</list></t> | ||||
</section> | ||||
<section title="Bad URIs" anchor="sect-b"><t> | ||||
<xref target="RFC6931"/> included two bad URIs as shown below. "{Bad}" in the | ||||
indexes (Sections 4.1 and 4.2) indicates such a bad value. | ||||
Implementations SHOULD only generate the correct URI but SHOULD | ||||
understand both the correct and erroneous URI.</t> | ||||
<t>2006/12/xmlc12n11# | <reference anchor="XMSS" target="https://www.iana.org/assignments/xmss-ext | |||
<list> | ended-hash-based-signatures"> | |||
<t>Appears in the indices (<xref target="sect-4.1"/> and 4.2] of <xref ta | <front> | |||
rget="RFC6931"/> when it | <title>XMSS: Extended Hash-Based Signatures</title> | |||
should be "2006/12/xmlc14n11#" (i.e., the "12" inside "xmlc12n11" | <author><organization>IANA</organization></author> | |||
should have been "14"). This is [Err3965] and is corrected in | ||||
this document. </t> | ||||
</list> | ||||
</t> | ||||
<t>2007/05/xmldsig-more#rsa-sha224 | </front> | |||
<list> | </reference> | |||
<t>Appears in the indices (<xref target="sect-4.1"/> and 4.2] of <xref ta | ||||
rget="RFC6931"/> when it | ||||
should be "2001/04/xmldsig-more#rsa-sha224". This is [Err4004] | ||||
and is corrected in this document.</t> | ||||
</list> | ||||
</t> | ||||
</section> | <referencegroup anchor="XPATH"> | |||
<reference anchor='W3C.REC-xmldsig-filter2-20021108' | ||||
target='https://www.w3.org/TR/2002/REC-xmldsig-filter2-20021108'> | ||||
<front> | ||||
<title>XML-Signature XPath Filter 2.0</title> | ||||
<section title="Change History" anchor="sect-c"> | <author initials='J.' surname='Boyer' fullname='John Boyer'> | |||
<figure><artwork><![CDATA[ | <organization /> | |||
</author> | ||||
RFC Editor Note: Please delete this Appendix before publication. | <author initials='M.' surname='Hughes' fullname='Merlin Hughes'> | |||
<organization /> | ||||
</author> | ||||
-00 to -01 to -02 to -03 to -04 to -05 to -06 to -07 to -08 | <author initials='J.' surname='Reagle' fullname='Joseph Reagle'> | |||
<organization /> | ||||
</author> | ||||
Bump up version and date to keep draft alive as a place where new | <date month='November' day='8' year='2002' /> | |||
URIs can be accumulated. At some point in here, author address was | </front> | |||
updated. | ||||
-08 to -09 to -10 | <seriesInfo name='W3C Recommendation' value='REC-xmldsig-filter2-20021108' / | |||
> | ||||
</reference> | ||||
<reference anchor='W3C.REC-xpath20-20101214' | ||||
target='https://www.w3.org/TR/2010/REC-xpath20-20101214'> | ||||
<front> | ||||
<title>XML Path Language (XPath) 2.0 (Second Edition)</title> | ||||
Update author affiliation and references. | <author initials='A.' surname='Berglund' fullname='Anders Berglund'> | |||
<organization /> | ||||
</author> | ||||
-10 to -11 | <author initials='S.' surname='Boag' fullname='Scott Boag'> | |||
<organization /> | ||||
</author> | ||||
Update author address. | <author initials='D.' surname='Chamberlin' fullname='Don Chamberlin'> | |||
<organization /> | ||||
</author> | ||||
-11 to -12 | <author initials='M.' surname='Fernandez' fullname='Mary Fernandez'> | |||
<organization /> | ||||
</author> | ||||
Bump up version and date to keep draft alive. | <author initials='M.' surname='Kay' fullname='Michael Kay'> | |||
<organization /> | ||||
</author> | ||||
-12 to -13 | <author initials='J.' surname='Robie' fullname='Jonathan Robie'> | |||
<organization /> | ||||
</author> | ||||
Numerous editorial/typo fixes thanks to Gayle Noble who is added to | <author initials='J.' surname='Simeon' fullname='Jerome Simeon'> | |||
the acknowledgements section. | <organization /> | |||
</author> | ||||
-13 to -14 | <date month='December' day='14' year='2010' /> | |||
</front> | ||||
Numerous additional algorithms almost all as requested by Pim van der | <seriesInfo name='W3C Recommendation' value='REC-xpath20-20101214' /> | |||
Eijk who is added to the acknowledgements section. Update and add | </reference> | |||
references. | </referencegroup> | |||
-14 to -15 | <reference anchor="XSLT" target="https://www.w3.org/TR/xslt20/"> | |||
<front> | ||||
<title>XSL Transformations (XSLT) Version 2.0</title> | ||||
<author initials="M." surname="Kay" fullname="Michael Kay"> | ||||
</author> | ||||
<date month="March" year="2021"/> | ||||
</front> | ||||
<refcontent>W3C Recommendation</refcontent> | ||||
<refcontent>Second Edition</refcontent> | ||||
</reference> | ||||
Add URLs for ECDSA with SHA3, SipHash-2-4, X25519, XMSS and XMSSMT. | </references> | |||
Add RFC reference 5869 for HKDF but not yet added elsewhere in the | </references> | |||
<section anchor="app-a" numbered="true" toc="default"> | ||||
<name>Changes from RFC 6931</name> | ||||
<t> | ||||
The following changes have been made in <xref target="RFC6931" format="defaul | ||||
t"/> to produce this | ||||
document. | document. | |||
-15 to -16 | </t> | |||
<ul spacing="normal"> | ||||
Fix text for ChaCha20 to include the required Nonce and Counter | <li>Deleted Appendix on Changes from RFC 4051, since they were already | |||
inputs. Add ChaCha20+Poly1305 AEAD algorithm. Add HKDF key derivation | included in <xref target="RFC6931" format="default"/>, and remove referen | |||
function. | ce to RFC 4051 and to | |||
the one Errata against RFC 4051.</li> | ||||
-16 to -17 | <li>Fixed three errata as follows: <xref target="Err3597" format="defaul | |||
t"/>, <xref target="Err3965" format="default"/>, and <xref target="Err4004" form | ||||
Mostly editorial fixes. | at="default"/>. | |||
In cases where <xref target="RFC6931" format="default"/> had an erroneous | ||||
-17 to -18 | URI, it is still | |||
included in the indices and it is stated that implementations | ||||
Resolve AD review comments. Globally replace "byte" with "octet". | <bcp14>SHOULD</bcp14> only generate the correct URI but <bcp14>SHOULD</bc | |||
Update reference to "US National Institute of Standards and | p14> understand both | |||
Technology, "SHA-3 WINNER", February 2013" to reference [FIPS202]. | the correct and erroneous URI.</li> | |||
<li>Added the following algorithms:</li> | ||||
-18 to -19 | </ul> | |||
<table> | ||||
Resolve GENART review comments. | <thead> | |||
<tr> | ||||
-19 to -20 to -21 | <th> Section</th> | |||
<th> Algorithm(s)</th> | ||||
Minor Editorial improvements. | </tr> | |||
</thead> | ||||
-21 to -22 | <tbody> | |||
<tr> | ||||
Fix typos. | ||||
-22 to -23 | ||||
Resolve IESG Discuss and Comments. | ||||
-23 to -24 | ||||
Minor fixes to 2.2.6 re XMSS & XMSSMT. | ||||
-24 to -25 | ||||
Add the X448 key agreement algorithm so 2.7.1 as approved by IESG and | ||||
sponsoring AD. | ||||
-25 to -26 | ||||
Fix typos in URL for X448. | <td><xref target="sect-2.2.4" format="counter"/></td> | |||
<td>Poly1305</td> | ||||
</tr> | ||||
<tr> | ||||
<td><xref target="sect-2.2.5" format="counter"/></td> | ||||
<td>SipHash-2-4</td> | ||||
</tr> | ||||
<tr> | ||||
<td><xref target="sect-2.2.6" format="counter"/></td> | ||||
<td>XMSS and XMSSMT</td> | ||||
</tr> | ||||
<tr> | ||||
<td><xref target="sect-2.3.6" format="counter"/></td> | ||||
<td>ECDSA with SHA3</td> | ||||
</tr> | ||||
<tr> | ||||
<td><xref target="sect-2.3.12" format="counter"/></td> | ||||
<td>Edwards-Curve Signatures</td> | ||||
</tr> | ||||
<tr> | ||||
<td><xref target="sect-2.6.7" format="counter"/></td> | ||||
<td>ChaCha20</td> | ||||
</tr> | ||||
<tr> | ||||
<td><xref target="sect-2.6.8" format="counter"/></td> | ||||
<td>ChaCha20+Poly1305</td> | ||||
</tr> | ||||
<tr> | ||||
<td><xref target="sect-2.7.1" format="counter"/></td> | ||||
<td>X25519</td> | ||||
</tr> | ||||
<tr> | ||||
<td><xref target="sect-2.8.1" format="counter"/></td> | ||||
<td>HKDF</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
-26 to -27 | <ul spacing="normal"> | |||
<li>Listed ECIES-KEM and RSAES-KEM in <xref target="sect-2.6.4" format=" | ||||
default"/> so they are | ||||
easier to find even though the URI for them is specified in | ||||
<xref target="GENERIC" format="default"/>.</li> | ||||
<li>Updated references for <xref target="GENERIC" format="default"/> and | ||||
FIPS 186, added appropriate | ||||
references.</li> | ||||
<li>Added some XML examples.</li> | ||||
<li>Fixed minor typos and added editorial changes.</li> | ||||
<li>A number of acronyms were added to <xref target="sect-1.2"/>.</li> | ||||
</ul> | ||||
</section> | ||||
<section anchor="app-b" numbered="true" toc="default"> | ||||
<name>Bad URIs</name> | ||||
<t> | ||||
<xref target="RFC6931" format="default"/> included two bad URIs as shown belo | ||||
w. "{Bad}" in the | ||||
indexes (Sections <xref target="sect-4.1" format="counter"/> and <xref target | ||||
="sect-4.2" format="counter"/>) indicates such a bad value. | ||||
Implementations <bcp14>SHOULD</bcp14> only generate the correct URI but <bcp1 | ||||
4>SHOULD</bcp14> | ||||
understand both the correct and erroneous URI.</t> | ||||
<t>2006/12/xmlc12n11# | ||||
</t> | ||||
<ul empty="true" spacing="normal"> | ||||
<li>Appears in the indices (Sections <xref section="4.1" | ||||
sectionFormat="bare" target="RFC6931"/> and <xref section="4.2" | ||||
sectionFormat="bare" target="RFC6931"/> of <xref target="RFC6931" format="defaul | ||||
t"/>) when it | ||||
should be "2006/12/xmlc14n11#" (i.e., the "12" inside "xmlc12n11" | ||||
should have been "14"). This is <xref target="Err3965" format="default"/> | ||||
and is corrected in | ||||
this document. </li> | ||||
</ul> | ||||
<t>2007/05/xmldsig-more#rsa-sha224 | ||||
</t> | ||||
<ul empty="true" spacing="normal"> | ||||
<li>Appears in the indices (Sections <xref section="4.1" sectionFormat=" | ||||
bare" target="RFC6931"/> and <xref section="4.2" sectionFormat="bare" target="RF | ||||
C6931"/> of <xref target="RFC6931" format="default"/>) when it | ||||
should be "2001/04/xmldsig-more#rsa-sha224". This is <xref target="Err400 | ||||
4" format="default"/> | ||||
and is corrected in this document.</li> | ||||
</ul> | ||||
</section> | ||||
Fix typos. Add more explanatory text and re-order URIs for XMSS and | <section anchor="acknowledgements" numbered="false"> | |||
XMSSMT. Add 512 bit XMSSMT versions. | <name>Acknowledgements</name> | |||
<t>The contributions of the following, listed in alphabetic order, by | ||||
reporting errata against <xref target="RFC6931"/> or contributing to this doc | ||||
ument, | ||||
are gratefully acknowledged:</t> | ||||
<t indent="3"> | ||||
<contact fullname="Roman Danyliw"/>, <contact fullname="Pim van der Eijk"/ | ||||
>, <contact fullname="Frederick Hirsch"/>, <contact fullname="Benjamin Kaduk"/>, | ||||
<contact fullname="Alexey Melnikov"/>, <contact fullname="Gayle Noble"/>, | ||||
<contact fullname="Axel Puhlmann"/>, <contact fullname= "Juraj Somorovsky"/>, <c | ||||
ontact fullname="Peter Yee"/>, and <contact fullname="Annie | ||||
Yousar"/>. | ||||
</t> | ||||
]]></artwork> | <t> The contributions of the following, listed in alphabetic order, to | |||
</figure> | <xref target="RFC6931"/>, on which this document is based, are gratefully | |||
acknowledged: | ||||
</t> | ||||
<t indent="3"> | ||||
<contact fullname="Benoit Claise"/>, <contact fullname="Adrian Farrel"/>, | ||||
<contact fullname="Stephen Farrell"/>, <contact fullname="Ernst Giessmann"/>, | ||||
<contact fullname="Frederick Hirsch"/>, <contact fullname="Björn Höhrmann" | ||||
/>, <contact fullname="Russ Housley"/>, <contact fullname="Satoru Kanno"/>, | ||||
<contact fullname="Charlie Kaufman"/>, <contact fullname="Konrad Lanz"/>, | ||||
<contact fullname="HwanJin Lee"/>, <contact fullname="Barry Leiba"/>, <contact f | ||||
ullname="Peter | ||||
Lipp"/>, <contact fullname="Subramanian Moonesamy"/>, <contact fullname="T | ||||
homas Roessler"/>, <contact fullname="Hanseong Ryu"/>, <contact fullname="Peter | ||||
Saint-Andre"/>, and <contact fullname="Sean Turner"/>. | ||||
</t> | ||||
<t> | ||||
The following contributors to RFC 4051 are gratefully acknowledged: | ||||
</t> | ||||
</section> | <t indent="3"> | |||
<contact fullname="Glenn Adams"/>, <contact fullname="Joel Halpern"/>, <co | ||||
ntact fullname="Russ Housley"/>, <contact fullname="Merlin Hughs"/>, <contact fu | ||||
llname="Gregor Karlinger"/>, <contact fullname="Brian LaMachia"/>, <contact full | ||||
name="Shiho Moriai"/>, and <contact fullname="Joseph Reagle"/>.</t> | ||||
</back> | </section> | |||
</rfc> | </back> | |||
</rfc> | ||||
End of changes. 419 change blocks. | ||||
1684 lines changed or deleted | 1643 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |