rfc9500xml2.original.xml | rfc9500.xml | |||
---|---|---|---|---|
<?xml version="1.0"?> | <?xml version="1.0" encoding="utf-8"?> | |||
<?xml-stylesheet type='text/xsl' href='./rfc2629.xslt' ?> | ||||
<?rfc toc="yes"?> | ||||
<?rfc tocdepth='5'?> | ||||
<?rfc symrefs="no"?> | ||||
<?rfc compact="no" ?> | ||||
<?rfc sortrefs="yes" ?> | ||||
<?rfc strict="yes" ?> | ||||
<?rfc linkmailto="yes" ?> | ||||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" > | ||||
<?xml-stylesheet type='text/xsl' href='./rfc2629.xslt' ?> | <!DOCTYPE rfc [ | |||
<!ENTITY nbsp " "> | ||||
<!ENTITY zwsp "​"> | ||||
<!ENTITY nbhy "‑"> | ||||
<!ENTITY wj "⁠"> | ||||
]> | ||||
<?rfc toc="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category=" | |||
<?rfc symrefs="yes"?> | info" consensus="true" docName="draft-gutmann-testkeys-05" number="9500" ipr="pr | |||
<?rfc compact="no" ?> | e5378Trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" tocDep | |||
<?rfc subcompact="yes" ?> | th="5" symRefs="true" sortRefs="true" version="3"> | |||
<?rfc sortrefs="yes" ?> | ||||
<rfc category="info" ipr="pre5378Trust200902" docName="draft-gutmann-testkeys-05 | ||||
"> | ||||
<!-- ======================================================================== --> | ||||
<front> | <front> | |||
<title>Standard PKC Test Keys</title> | <title abbrev="Standard PKC Test Keys">Standard Public Key Cryptography (PKC | |||
) Test Keys</title> | ||||
<seriesInfo name="RFC" value="9500"/> | ||||
<author initials="P." surname="Gutmann" fullname="Peter Gutmann"> | <author initials="P." surname="Gutmann" fullname="Peter Gutmann"> | |||
<organization abbrev="University of Auckland">University of Auckland</orga nization> | <organization abbrev="University of Auckland">University of Auckland</orga nization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>Department of Computer Science</street> | <extaddr>Department of Computer Science</extaddr> | |||
<city>Auckland</city> | <city>Auckland</city> | |||
<country>New Zealand</country> | <country>New Zealand</country> | |||
</postal> | </postal> | |||
<email>pgut001@cs.auckland.ac.nz</email> | <email>pgut001@cs.auckland.ac.nz</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="C." surname="Bonnell" fullname="Corey Bonnell"> | <author initials="C." surname="Bonnell" fullname="Corey Bonnell"> | |||
<organization abbrev="DigiCert">DigiCert</organization> | <organization abbrev="DigiCert">DigiCert</organization> | |||
<address> | <address> | |||
<email>corey.bonnell@digicert.com</email> | <email>corey.bonnell@digicert.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2023"/> | <date year="2023" month="November"/> | |||
<area>Security Area</area> | <area>sec</area> | |||
<keyword>Internet-Draft</keyword> | ||||
<abstract> | ||||
<t> | ||||
This document provides a set of standard public-key cryptography (PKC) test | ||||
keys that may be used wherever pre-generated keys and associated operations | ||||
like digitial signatures are required. Like the EICAR virus test and GTUBE | ||||
spam test files, these publicly-known test keys can be detected and recognised | ||||
by applications consuming them as being purely for testing purposes without | ||||
assigning any security properties to them. | ||||
</t> | <abstract> | |||
<t>This document provides a set of standard Public Key Cryptography | ||||
(PKC) test keys that may be used wherever pre-generated keys and | ||||
associated operations like digital signatures are required. Like the | ||||
European Institute for Computer Antivirus Research (EICAR) virus test | ||||
and the Generic Test for Unsolicited Bulk Email (GTUBE) spam test files, | ||||
these publicly known test keys can be detected and recognised by | ||||
applications consuming them as being purely for testing purposes without | ||||
assigning any security properties to them. </t> | ||||
</abstract> | </abstract> | |||
</front> | </front> | |||
<!-- ======================================================================== | ||||
--> | ||||
<middle> | ||||
<!-- ====================================================================== | <middle> | |||
--> | ||||
<section anchor="introduction" title="Introduction"> | ||||
<t> | ||||
The widespread use of PKCs on the Internet has led to a proliferation of | ||||
publicly-known but not necessarily acknowledged keys used for testing purposes | ||||
or that ship preconfigured in applications. These keys provide no security, | ||||
but since there's no record of them relying parties are often unaware that | ||||
they provide no security. In order to address this issue, this document | ||||
provides a set of standard public test keys that may be used wherever a | ||||
preconfigured or sample key is required, and by extension in situations where | ||||
such keys may be used such as when testing digitally signed data. Their | ||||
purpose corresponds roughly to that of the European Institute for Computer | ||||
Antivirus Research (EICAR) test file, a non-virus used as a test file for | ||||
antivirus products, and the Generic Test for Unsolicited Bulk Email (GTUBE) | ||||
file, a similar file used with spam detection products. | ||||
</t> | ||||
<t> | ||||
The keys provided cover three major algorithm families, RSA, DLP-based | ||||
algorithms such as DSA, DH, and Elgamal, and ECDLP-based algorithms such as | ||||
ECDSA and ECDH. Although some of the algorithms and key sizes are no longer | ||||
recommended, keys corresponding to those algorithms and key sizes are provided | ||||
in order to accommodate the large installed based of existing implementations | ||||
that use them. | ||||
</t> | ||||
<t> | ||||
This document does not try to cover every possible algorithm family and type, | ||||
since there are far too many of these and new ones are constantly appearing | ||||
and, in some cases, disappearing. If similar documents are created for | ||||
further algorithm families they should update this document and, for ease of | ||||
implementation and use, try and maintain compatibility with the format and | ||||
naming conventions used here. | ||||
</t> | <section anchor="introduction" numbered="true" toc="default"> | |||
<name>Introduction</name> | ||||
<t>The widespread use of public key cryptosystems on the Internet has | ||||
led to a proliferation of publicly known but not necessarily | ||||
acknowledged keys that are used for testing purposes or that ship | ||||
preconfigured in applications. These keys provide no security, but | ||||
since there's no record of them, relying parties are often unaware that | ||||
they provide no security. In order to address this issue, this document | ||||
provides a set of standard public test keys that may be used wherever a | ||||
preconfigured or sample key is required and, by extension, also in | ||||
situations where such keys may be used, such as when testing digitally | ||||
signed data. Their purpose corresponds roughly to that of the European | ||||
Institute for Computer Antivirus Research (EICAR) test file, a non-virus | ||||
used as a test file for antivirus products, and the Generic Test for | ||||
Unsolicited Bulk Email (GTUBE) file, a similar file used with | ||||
spam-detection products.</t> | ||||
<t>The keys provided cover three major algorithm families:</t> | ||||
<ul> | ||||
<li>RSA</li> | ||||
<li>algorithms based on the Discrete Logarithm Problem (DLP), such as | ||||
DSA, Diffie-Hellman (DH), and Elgamal</li> | ||||
<li>algorithms based on the Elliptic Curve Discrete Logarithm Problem | ||||
(ECDLP), such as ECDSA and Elliptic Curve Diffie-Hellman (ECDH)</li> | ||||
</ul> | ||||
<t>Although some of the algorithms and key sizes are no longer | ||||
recommended, keys corresponding to those algorithms and key sizes are | ||||
provided in order to accommodate the large installed base of existing | ||||
implementations that use them.</t> | ||||
<t>This document does not try to cover every possible algorithm family | ||||
and type since there are far too many of these and new ones are | ||||
constantly appearing and, in some cases, disappearing. If similar | ||||
documents are created for further algorithm families, they should update | ||||
this document, and for ease of implementation and use, they should | ||||
maintain compatibility with the format and naming conventions used | ||||
here.</t> | ||||
</section> | </section> | |||
<!-- ====================================================================== | ||||
--> | ||||
<section anchor="keys" title="Publicly-known Test Keys"> | ||||
<t> | ||||
This section provides the test keys for the algorithm groups in various sizes | ||||
in a C-like notation that may be directly used in crypto code written in | ||||
C-like languages such as C, C++, Java, JavaScript, Go, Swift, and Rust, | ||||
covering the majority of languages likely to be used to implement crypto code. | ||||
</t> | <section anchor="keys" numbered="true" toc="default"> | |||
<t> | <name>Publicly Known Test Keys</name> | |||
<t>This section provides the test keys for the algorithm groups in | ||||
Alongside the source-code format, they are also provided in encoded form, | various sizes in a C-like notation that may be directly used in crypto | |||
specifically the OpenSSL private-key format which many applications can | code written in C-like languages such as C, C++, Java, JavaScript, Go, | |||
process directly. | Swift, and Rust, covering the majority of languages likely to be used to | |||
implement crypto code.</t> | ||||
</t> | <t>Alongside the source code format, they are also provided in encoded | |||
<t> | form, specifically the OpenSSL private key format, which many | |||
applications can process directly.</t> | ||||
Each element of the key is given in a form consisting of a count in bits (the | <t>Each element of the key is given in a form consisting of a count in | |||
value from which the nominal key size is taken) followed by a byte string | bits (the value from which the nominal key size is taken) followed by a | |||
containing that key element in big-endian form. For example for the RSA p | byte string containing that key element in big-endian form. For example, | |||
value it might be: | the following is a sample key component for the RSA p value, where 0xCF | |||
is the most significant byte of the RSA p value and 0x03 is the least | ||||
</t> | significant byte of the value:</t> | |||
<figure> | <sourcecode name="" type=""><![CDATA[ | |||
<preamble>Sample key component</preamble> | ||||
<artwork><![CDATA[ | ||||
/* p */ | /* p */ | |||
512, | 512, | |||
{ 0xCF, 0xDA, 0xF9, 0x99, 0x6F, 0x05, 0x95, 0x84, | { 0xCF, 0xDA, 0xF9, 0x99, 0x6F, 0x05, 0x95, 0x84, | |||
0x09, 0x90, 0xB3, 0xAB, 0x39, 0xB7, 0xDD, 0x1D, | 0x09, 0x90, 0xB3, 0xAB, 0x39, 0xB7, 0xDD, 0x1D, | |||
[...] | [...] | |||
0xE1, 0x2C, 0x0D, 0xF7, 0x30, 0xE2, 0xB8, 0x09, | 0xE1, 0x2C, 0x0D, 0xF7, 0x30, 0xE2, 0xB8, 0x09, | |||
0x73, 0x50, 0x28, 0xF6, 0x55, 0x85, 0x57, 0x03 }, | 0x73, 0x50, 0x28, 0xF6, 0x55, 0x85, 0x57, 0x03 }, | |||
]]></artwork> | ]]></sourcecode> | |||
</figure> | ||||
<t> | ||||
where 0xCF is the most-significant byte of the RSA p value and 0x03 is the | ||||
least-significant byte of the value. | ||||
</t> | ||||
<t> | ||||
In addition to the key data, each key is given a recommended name for use in | ||||
source code as a means of providing a standard reference for each one. | ||||
</t> | ||||
<section anchor="rsakeys" title="RSA Keys"> | ||||
<t> | ||||
The following publicly-known test keys may be used for RSA. | ||||
</t> | <t>In addition to the key data, each key is given a recommended name for | |||
use in source code as a means of providing a standard reference for each | ||||
one.</t> | ||||
<figure> | <section anchor="rsakeys" numbered="true" toc="default"> | |||
<preamble>RSA-1024 key "testRSA1024"</preamble> | <name>RSA Keys</name> | |||
<artwork><![CDATA[ | <t>The following publicly known test keys may be used for RSA.</t> | |||
<t keepWithNext="true">RSA-1024 key "testRSA1024": </t> | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
/* n */ | /* n */ | |||
1024, | 1024, | |||
{ 0xB0, 0xD1, 0x83, 0x52, 0xA8, 0x8F, 0x53, 0xD5, | { 0xB0, 0xD1, 0x83, 0x52, 0xA8, 0x8F, 0x53, 0xD5, | |||
0x51, 0x6F, 0x46, 0xC2, 0x0E, 0x7A, 0x36, 0x7D, | 0x51, 0x6F, 0x46, 0xC2, 0x0E, 0x7A, 0x36, 0x7D, | |||
0x7D, 0xE8, 0x8A, 0xCF, 0x54, 0xA0, 0x19, 0xF6, | 0x7D, 0xE8, 0x8A, 0xCF, 0x54, 0xA0, 0x19, 0xF6, | |||
0xDE, 0xF5, 0x7A, 0xB9, 0xB4, 0x4C, 0xED, 0xDB, | 0xDE, 0xF5, 0x7A, 0xB9, 0xB4, 0x4C, 0xED, 0xDB, | |||
0x22, 0x42, 0xB1, 0xBC, 0xA0, 0xFB, 0x1B, 0x5C, | 0x22, 0x42, 0xB1, 0xBC, 0xA0, 0xFB, 0x1B, 0x5C, | |||
0xB8, 0x2B, 0x30, 0x36, 0x17, 0x6A, 0x63, 0x90, | 0xB8, 0x2B, 0x30, 0x36, 0x17, 0x6A, 0x63, 0x90, | |||
0x35, 0x64, 0xDE, 0xC6, 0xEB, 0x41, 0xDB, 0x2F, | 0x35, 0x64, 0xDE, 0xC6, 0xEB, 0x41, 0xDB, 0x2F, | |||
0x8F, 0xC7, 0x87, 0xF4, 0xE5, 0x2E, 0x11, 0x49, | 0x8F, 0xC7, 0x87, 0xF4, 0xE5, 0x2E, 0x11, 0x49, | |||
skipping to change at line 252 ¶ | skipping to change at line 212 ¶ | |||
/* exponent2 */ | /* exponent2 */ | |||
511, | 511, | |||
{ 0x41, 0x99, 0x79, 0x16, 0x16, 0x72, 0x21, 0x3E, | { 0x41, 0x99, 0x79, 0x16, 0x16, 0x72, 0x21, 0x3E, | |||
0x0A, 0xB7, 0xB9, 0x77, 0x37, 0xD9, 0x92, 0x89, | 0x0A, 0xB7, 0xB9, 0x77, 0x37, 0xD9, 0x92, 0x89, | |||
0x9E, 0x5C, 0x4D, 0x31, 0x06, 0xB8, 0x5E, 0x71, | 0x9E, 0x5C, 0x4D, 0x31, 0x06, 0xB8, 0x5E, 0x71, | |||
0x5D, 0x1B, 0x3A, 0xAE, 0x84, 0x29, 0x62, 0xD2, | 0x5D, 0x1B, 0x3A, 0xAE, 0x84, 0x29, 0x62, 0xD2, | |||
0x54, 0x4F, 0xB2, 0xAF, 0xA9, 0x80, 0x97, 0x4E, | 0x54, 0x4F, 0xB2, 0xAF, 0xA9, 0x80, 0x97, 0x4E, | |||
0x53, 0x85, 0x12, 0xBD, 0x0C, 0x27, 0xCF, 0x48, | 0x53, 0x85, 0x12, 0xBD, 0x0C, 0x27, 0xCF, 0x48, | |||
0xEA, 0x72, 0x17, 0xAA, 0xE0, 0x37, 0x74, 0x22, | 0xEA, 0x72, 0x17, 0xAA, 0xE0, 0x37, 0x74, 0x22, | |||
0xC8, 0x20, 0x3D, 0x27, 0xFD, 0x45, 0x96, 0xE5 } | 0xC8, 0x20, 0x3D, 0x27, 0xFD, 0x45, 0x96, 0xE5 } | |||
]]></sourcecode> | ||||
]]></artwork> | <t>RSA-1024 key in encoded form:</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>RSA-1024 key in encoded form</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
-----BEGIN RSA PRIVATE KEY----- | -----BEGIN RSA PRIVATE KEY----- | |||
MIICXQIBAAKBgQCw0YNSqI9T1VFvRsIOejZ9feiKz1SgGfbe9Xq5tEzt2yJCsbyg | MIICXQIBAAKBgQCw0YNSqI9T1VFvRsIOejZ9feiKz1SgGfbe9Xq5tEzt2yJCsbyg | |||
+xtcuCswNhdqY5A1ZN7G60HbL4/Hh/TlLhFJ4zNHVylz9mDDx3yp4IIcK2lb566d | +xtcuCswNhdqY5A1ZN7G60HbL4/Hh/TlLhFJ4zNHVylz9mDDx3yp4IIcK2lb566d | |||
fTD0B5EQ9Iqub4twLUdLKQCBfyhmJJvsEqKxm4J4QWgI+Brh/Pm3d4piPwIDAQAB | fTD0B5EQ9Iqub4twLUdLKQCBfyhmJJvsEqKxm4J4QWgI+Brh/Pm3d4piPwIDAQAB | |||
AoGASC6fj6TkLfMNdYHLQqG9kOlPfys4fstarpZD7X+fUBJ/H/7y5DzeZLGCYAIU | AoGASC6fj6TkLfMNdYHLQqG9kOlPfys4fstarpZD7X+fUBJ/H/7y5DzeZLGCYAIU | |||
+QeAHWv6TfZIQjReW7Qy00RFJdgwFlTFRCsKXhG5x+IB+jL0Grr08KbgPPDgy4Jm | +QeAHWv6TfZIQjReW7Qy00RFJdgwFlTFRCsKXhG5x+IB+jL0Grr08KbgPPDgy4Jm | |||
xirRHZVtU8lGbkiZX+omDIU28EHLNWL6rFEcTWao/tERspECQQDp2G5Nw0qYWn7H | xirRHZVtU8lGbkiZX+omDIU28EHLNWL6rFEcTWao/tERspECQQDp2G5Nw0qYWn7H | |||
Wm9Up1zkUTnkUkCzhqtxHbeRvNmHGKE7ryGMJEk2RmgHVstQpsvuFY4lIUSZEjAc | Wm9Up1zkUTnkUkCzhqtxHbeRvNmHGKE7ryGMJEk2RmgHVstQpsvuFY4lIUSZEjAc | |||
DUFJERhFAkEAwZH6O1ULORp8sHKDdidyleYcZU8L7y9Y3OXJYqELfddfBgFUZeVQ | DUFJERhFAkEAwZH6O1ULORp8sHKDdidyleYcZU8L7y9Y3OXJYqELfddfBgFUZeVQ | |||
duRmJj7ryu0g0uurOTE+i8VnMg/ostxiswJBAOc64Dd8uLJWKa6uug+XPr91oi0n | duRmJj7ryu0g0uurOTE+i8VnMg/ostxiswJBAOc64Dd8uLJWKa6uug+XPr91oi0n | |||
OFtM+xHrNK2jc+WmcSg3UJDnAI3uqMc5B+pERLq0Dc6hStehqHjUko3RnZECQEGZ | OFtM+xHrNK2jc+WmcSg3UJDnAI3uqMc5B+pERLq0Dc6hStehqHjUko3RnZECQEGZ | |||
eRYWciE+Cre5dzfZkomeXE0xBrhecV0bOq6EKWLSVE+yr6mAl05ThRK9DCfPSOpy | eRYWciE+Cre5dzfZkomeXE0xBrhecV0bOq6EKWLSVE+yr6mAl05ThRK9DCfPSOpy | |||
F6rgN3QiyCA9J/1FluUCQQC5nX+PTU1FXx+6Ri2ZCi6EjEKMHr7gHcABhMinZYOt | F6rgN3QiyCA9J/1FluUCQQC5nX+PTU1FXx+6Ri2ZCi6EjEKMHr7gHcABhMinZYOt | |||
N59pra9UdVQw9jxCU9G7eMyb0jJkNACAuEwakX3gi27b | N59pra9UdVQw9jxCU9G7eMyb0jJkNACAuEwakX3gi27b | |||
-----END RSA PRIVATE KEY----- | -----END RSA PRIVATE KEY----- | |||
]]></sourcecode> | ||||
]]></artwork> | <t keepWithNext="true">RSA-2048 key "testRSA2048":</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>RSA-2048 key "testRSA2048"</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
/* n */ | /* n */ | |||
2048, | 2048, | |||
{ 0xB0, 0xF9, 0xE8, 0x19, 0x43, 0xA7, 0xAE, 0x98, | { 0xB0, 0xF9, 0xE8, 0x19, 0x43, 0xA7, 0xAE, 0x98, | |||
0x92, 0xAA, 0xDE, 0x17, 0xCA, 0x7C, 0x40, 0xF8, | 0x92, 0xAA, 0xDE, 0x17, 0xCA, 0x7C, 0x40, 0xF8, | |||
0x74, 0x4F, 0xED, 0x2F, 0x81, 0x48, 0xE6, 0xC8, | 0x74, 0x4F, 0xED, 0x2F, 0x81, 0x48, 0xE6, 0xC8, | |||
0xEA, 0xA2, 0x7B, 0x7D, 0x00, 0x15, 0x48, 0xFB, | 0xEA, 0xA2, 0x7B, 0x7D, 0x00, 0x15, 0x48, 0xFB, | |||
0x51, 0x92, 0xAB, 0x28, 0xB5, 0x6C, 0x50, 0x60, | 0x51, 0x92, 0xAB, 0x28, 0xB5, 0x6C, 0x50, 0x60, | |||
0xB1, 0x18, 0xCC, 0xD1, 0x31, 0xE5, 0x94, 0x87, | 0xB1, 0x18, 0xCC, 0xD1, 0x31, 0xE5, 0x94, 0x87, | |||
0x4C, 0x6C, 0xA9, 0x89, 0xB5, 0x6C, 0x27, 0x29, | 0x4C, 0x6C, 0xA9, 0x89, 0xB5, 0x6C, 0x27, 0x29, | |||
0x6F, 0x09, 0xFB, 0x93, 0xA0, 0x34, 0xDF, 0x32, | 0x6F, 0x09, 0xFB, 0x93, 0xA0, 0x34, 0xDF, 0x32, | |||
skipping to change at line 450 ¶ | skipping to change at line 398 ¶ | |||
0xDA, 0x76, 0x30, 0x21, 0xCB, 0xC8, 0x2C, 0x1B, | 0xDA, 0x76, 0x30, 0x21, 0xCB, 0xC8, 0x2C, 0x1B, | |||
0xA2, 0x34, 0xA5, 0x66, 0x8D, 0xED, 0x08, 0x01, | 0xA2, 0x34, 0xA5, 0x66, 0x8D, 0xED, 0x08, 0x01, | |||
0xB8, 0x59, 0xF3, 0x43, 0xF1, 0xCE, 0x93, 0x04, | 0xB8, 0x59, 0xF3, 0x43, 0xF1, 0xCE, 0x93, 0x04, | |||
0xE6, 0xFA, 0xA2, 0xB0, 0x02, 0xCA, 0xD9, 0xB7, | 0xE6, 0xFA, 0xA2, 0xB0, 0x02, 0xCA, 0xD9, 0xB7, | |||
0x8C, 0xDE, 0x5C, 0xDC, 0x2C, 0x1F, 0xB4, 0x17, | 0x8C, 0xDE, 0x5C, 0xDC, 0x2C, 0x1F, 0xB4, 0x17, | |||
0x1C, 0x42, 0x42, 0x16, 0x70, 0xA6, 0xAB, 0x0F, | 0x1C, 0x42, 0x42, 0x16, 0x70, 0xA6, 0xAB, 0x0F, | |||
0x50, 0xCC, 0x4A, 0x19, 0x4E, 0xB3, 0x6D, 0x1C, | 0x50, 0xCC, 0x4A, 0x19, 0x4E, 0xB3, 0x6D, 0x1C, | |||
0x91, 0xE9, 0x35, 0xBA, 0x01, 0xB9, 0x59, 0xD8, | 0x91, 0xE9, 0x35, 0xBA, 0x01, 0xB9, 0x59, 0xD8, | |||
0x72, 0x8B, 0x9E, 0x64, 0x42, 0x6B, 0x3F, 0xC3, | 0x72, 0x8B, 0x9E, 0x64, 0x42, 0x6B, 0x3F, 0xC3, | |||
0xA7, 0x50, 0x6D, 0xEB, 0x52, 0x39, 0xA8, 0xA7 } | 0xA7, 0x50, 0x6D, 0xEB, 0x52, 0x39, 0xA8, 0xA7 } | |||
]]></sourcecode> | ||||
]]></artwork> | <t keepWithNext="true">RSA-2048 key in encoded form:</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>RSA-2048 key in encoded form</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
-----BEGIN RSA PRIVATE KEY----- | -----BEGIN RSA PRIVATE KEY----- | |||
MIIEowIBAAKCAQEAsPnoGUOnrpiSqt4XynxA+HRP7S+BSObI6qJ7fQAVSPtRkqso | MIIEowIBAAKCAQEAsPnoGUOnrpiSqt4XynxA+HRP7S+BSObI6qJ7fQAVSPtRkqso | |||
tWxQYLEYzNEx5ZSHTGypibVsJylvCfuToDTfMul8b/CZjP2Ob0LdpYrNH6l5hvFE | tWxQYLEYzNEx5ZSHTGypibVsJylvCfuToDTfMul8b/CZjP2Ob0LdpYrNH6l5hvFE | |||
89FU1nZQF15oVLOpUgA7wGiHuEVawrGfey92UE68mOyUVXGweJIVDdxqdMoPvNNU | 89FU1nZQF15oVLOpUgA7wGiHuEVawrGfey92UE68mOyUVXGweJIVDdxqdMoPvNNU | |||
l86BU02vlBiESxOuox+dWmuVV7vfYZ79Toh/LUK43YvJh+rhv4nKuF7iHjVjBd9s | l86BU02vlBiESxOuox+dWmuVV7vfYZ79Toh/LUK43YvJh+rhv4nKuF7iHjVjBd9s | |||
B6iDjj70HFldzOQ9r8SRI+9NirupPTkF5AKNe6kUhKJ1luB7S27ZkvB3tSTT3P59 | B6iDjj70HFldzOQ9r8SRI+9NirupPTkF5AKNe6kUhKJ1luB7S27ZkvB3tSTT3P59 | |||
3VVJvnzOjaA1z6Cz+4+eRvcysqhrRgFlwI9TEwIDAQABAoIBAEEYiyDP29vCzx/+ | 3VVJvnzOjaA1z6Cz+4+eRvcysqhrRgFlwI9TEwIDAQABAoIBAEEYiyDP29vCzx/+ | |||
dS3LqnI5BjUuJhXUnc6AWX/PCgVAO+8A+gZRgvct7PtZb0sM6P9ZcLrweomlGezI | dS3LqnI5BjUuJhXUnc6AWX/PCgVAO+8A+gZRgvct7PtZb0sM6P9ZcLrweomlGezI | |||
FrL0/6xQaa8bBr/ve/a8155OgcjFo6fZEw3Dz7ra5fbSiPmu4/b/kvrg+Br1l77J | FrL0/6xQaa8bBr/ve/a8155OgcjFo6fZEw3Dz7ra5fbSiPmu4/b/kvrg+Br1l77J | |||
aun6uUAs1f5B9wW+vbR7tzbT/mxaUeDiBzKpe15GwcvbJtdIVMa2YErtRjc1/5B2 | aun6uUAs1f5B9wW+vbR7tzbT/mxaUeDiBzKpe15GwcvbJtdIVMa2YErtRjc1/5B2 | |||
skipping to change at line 488 ¶ | skipping to change at line 430 ¶ | |||
Wz5LxMNoz+gT7pwlLCsC4N+R8aoBk404aF1gum8CgYAJ7VTq7Zj4TFV7Soa/T1eE | Wz5LxMNoz+gT7pwlLCsC4N+R8aoBk404aF1gum8CgYAJ7VTq7Zj4TFV7Soa/T1eE | |||
k9y8a+kdoYk3BASpCHJ29M5R2KEA7YV9wrBklHTz8VzSTFTbKHEQ5W5csAhoL5Fo | k9y8a+kdoYk3BASpCHJ29M5R2KEA7YV9wrBklHTz8VzSTFTbKHEQ5W5csAhoL5Fo | |||
qoHzFFi3Qx7MHESQb9qHyolHEMNx6QdsHUn7rlEnaTTyrXh3ifQtD6C0yTmFXUIS | qoHzFFi3Qx7MHESQb9qHyolHEMNx6QdsHUn7rlEnaTTyrXh3ifQtD6C0yTmFXUIS | |||
CW9wKApOrnyKJ9nI0HcuZQKBgQCMtoV6e9VGX4AEfpuHvAAnMYQFgeBiYTkBKltQ | CW9wKApOrnyKJ9nI0HcuZQKBgQCMtoV6e9VGX4AEfpuHvAAnMYQFgeBiYTkBKltQ | |||
XwozhH63uMMomUmtSG87Sz1TmrXadjAhy8gsG6I0pWaN7QgBuFnzQ/HOkwTm+qKw | XwozhH63uMMomUmtSG87Sz1TmrXadjAhy8gsG6I0pWaN7QgBuFnzQ/HOkwTm+qKw | |||
AsrZt4zeXNwsH7QXHEJCFnCmqw9QzEoZTrNtHJHpNboBuVnYcoueZEJrP8OnUG3r | AsrZt4zeXNwsH7QXHEJCFnCmqw9QzEoZTrNtHJHpNboBuVnYcoueZEJrP8OnUG3r | |||
UjmopwKBgAqB2KYYMUqAOvYcBnEfLDmyZv9BTVNHbR2lKkMYqv5LlvDaBxVfilE0 | UjmopwKBgAqB2KYYMUqAOvYcBnEfLDmyZv9BTVNHbR2lKkMYqv5LlvDaBxVfilE0 | |||
2riO4p6BaAdvzXjKeRrGNEKoHNBpOSfYCOM16NjL8hIZB1CaV3WbT5oY+jp7Mzd5 | 2riO4p6BaAdvzXjKeRrGNEKoHNBpOSfYCOM16NjL8hIZB1CaV3WbT5oY+jp7Mzd5 | |||
7d56RZOE+ERK2uz/7JX9VSsM/LbH9pJibd4e8mikDS9ntciqOH/3 | 7d56RZOE+ERK2uz/7JX9VSsM/LbH9pJibd4e8mikDS9ntciqOH/3 | |||
-----END RSA PRIVATE KEY----- | -----END RSA PRIVATE KEY----- | |||
]]></sourcecode> | ||||
]]></artwork> | <t>RSA-4096 key "testRSA4096":</t> | |||
</figure> | ||||
<figure> | ||||
<preamble>RSA-4096 key "testRSA4096"</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
/* n */ | /* n */ | |||
4096, | 4096, | |||
{ 0xB3, 0x8B, 0x49, 0x60, 0xE6, 0x3B, 0xE6, 0xA8, | { 0xB3, 0x8B, 0x49, 0x60, 0xE6, 0x3B, 0xE6, 0xA8, | |||
0xDB, 0xA8, 0x9A, 0x82, 0x97, 0x8E, 0xF1, 0xF6, | 0xDB, 0xA8, 0x9A, 0x82, 0x97, 0x8E, 0xF1, 0xF6, | |||
0x32, 0x44, 0xE5, 0x57, 0x7D, 0x8C, 0xF5, 0x86, | 0x32, 0x44, 0xE5, 0x57, 0x7D, 0x8C, 0xF5, 0x86, | |||
0x16, 0xD5, 0xCA, 0x57, 0x59, 0xD4, 0x9C, 0xC8, | 0x16, 0xD5, 0xCA, 0x57, 0x59, 0xD4, 0x9C, 0xC8, | |||
0xD9, 0x36, 0xC3, 0x38, 0xAA, 0x3C, 0xB9, 0xB1, | 0xD9, 0x36, 0xC3, 0x38, 0xAA, 0x3C, 0xB9, 0xB1, | |||
0x11, 0xC1, 0x49, 0x7E, 0x5B, 0x51, 0xAF, 0x69, | 0x11, 0xC1, 0x49, 0x7E, 0x5B, 0x51, 0xAF, 0x69, | |||
0x2F, 0x26, 0x11, 0xE6, 0x89, 0xF7, 0x67, 0x54, | 0x2F, 0x26, 0x11, 0xE6, 0x89, 0xF7, 0x67, 0x54, | |||
0x80, 0xC0, 0xB0, 0xF4, 0xC3, 0x65, 0x4F, 0x43, | 0x80, 0xC0, 0xB0, 0xF4, 0xC3, 0x65, 0x4F, 0x43, | |||
skipping to change at line 801 ¶ | skipping to change at line 740 ¶ | |||
0x0D, 0x2F, 0x35, 0xB7, 0xD6, 0xA8, 0x60, 0xD0, | 0x0D, 0x2F, 0x35, 0xB7, 0xD6, 0xA8, 0x60, 0xD0, | |||
0x08, 0x2E, 0x7C, 0x1B, 0x41, 0xB3, 0xEE, 0x38, | 0x08, 0x2E, 0x7C, 0x1B, 0x41, 0xB3, 0xEE, 0x38, | |||
0x94, 0xE4, 0x2A, 0x8C, 0x17, 0x89, 0x71, 0xA4, | 0x94, 0xE4, 0x2A, 0x8C, 0x17, 0x89, 0x71, 0xA4, | |||
0x0F, 0x94, 0xAE, 0x9F, 0xB0, 0xF7, 0x03, 0xC9, | 0x0F, 0x94, 0xAE, 0x9F, 0xB0, 0xF7, 0x03, 0xC9, | |||
0xD4, 0xD0, 0x45, 0xCB, 0xEB, 0x2B, 0x82, 0x63, | 0xD4, 0xD0, 0x45, 0xCB, 0xEB, 0x2B, 0x82, 0x63, | |||
0x06, 0x2F, 0xDF, 0xD2, 0x6B, 0xD5, 0xB8, 0x69, | 0x06, 0x2F, 0xDF, 0xD2, 0x6B, 0xD5, 0xB8, 0x69, | |||
0x60, 0x62, 0x34, 0xE8, 0x9F, 0x2D, 0x96, 0xA5, | 0x60, 0x62, 0x34, 0xE8, 0x9F, 0x2D, 0x96, 0xA5, | |||
0xAB, 0x04, 0x7A, 0xFF, 0x79, 0x09, 0xDA, 0xCB, | 0xAB, 0x04, 0x7A, 0xFF, 0x79, 0x09, 0xDA, 0xCB, | |||
0x64, 0xD4, 0xFD, 0x3B, 0x35, 0x11, 0xD7, 0xF1, | 0x64, 0xD4, 0xFD, 0x3B, 0x35, 0x11, 0xD7, 0xF1, | |||
0xB9, 0x41, 0xA6, 0x64, 0xDF, 0x40, 0x6D, 0xB9 } | 0xB9, 0x41, 0xA6, 0x64, 0xDF, 0x40, 0x6D, 0xB9 } | |||
]]></sourcecode> | ||||
]]></artwork> | <t>RSA-4096 key in encoded form:</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>RSA-4096 key in encoded form</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
-----BEGIN RSA PRIVATE KEY----- | -----BEGIN RSA PRIVATE KEY----- | |||
MIIJKAIBAAKCAgEAs4tJYOY75qjbqJqCl47x9jJE5Vd9jPWGFtXKV1nUnMjZNsM4 | MIIJKAIBAAKCAgEAs4tJYOY75qjbqJqCl47x9jJE5Vd9jPWGFtXKV1nUnMjZNsM4 | |||
qjy5sRHBSX5bUa9pLyYR5on3Z1SAwLD0w2VPQ6+F/oyK1zTgQqitoF/XZQjgC6D3 | qjy5sRHBSX5bUa9pLyYR5on3Z1SAwLD0w2VPQ6+F/oyK1zTgQqitoF/XZQjgC6D3 | |||
VsNEO76DPqfRANT7Nn7r1gvbZIZ3/H3rlCRNrRr47tHGWBLAPnxz9/NY6UG8ZkWP | VsNEO76DPqfRANT7Nn7r1gvbZIZ3/H3rlCRNrRr47tHGWBLAPnxz9/NY6UG8ZkWP | |||
97uXpJqYoRgH4CwaO5rTOlc64YDh/0Mq5VgMycq/q2AvMlvNoJfoe8em1040qH1g | 97uXpJqYoRgH4CwaO5rTOlc64YDh/0Mq5VgMycq/q2AvMlvNoJfoe8em1040qH1g | |||
ikP+suT/8fS452hqmEddtRpuvQgXKldBd0kkiyFVyLkG4NVA6Mso9MAK3J/kdYoa | ikP+suT/8fS452hqmEddtRpuvQgXKldBd0kkiyFVyLkG4NVA6Mso9MAK3J/kdYoa | |||
w2SrOeThVSiYVEQVP+7GrUxTSLLjj/VQ9fpYM5eTNzDICIG/Ee7o/jhtW1EoSamD | w2SrOeThVSiYVEQVP+7GrUxTSLLjj/VQ9fpYM5eTNzDICIG/Ee7o/jhtW1EoSamD | |||
mUOr89lyIHaXuOwkEaJhnVXKBCM8WiztxvKG2CnQ6Dcge3ZSmqJEhyEmjcAVC7ew | mUOr89lyIHaXuOwkEaJhnVXKBCM8WiztxvKG2CnQ6Dcge3ZSmqJEhyEmjcAVC7ew | |||
fnMxOnE+WJW6rzrf+mA5WMVn+FzyWx2AondWow0aUKHkaY7amhIrsKp6YPfNImyx | fnMxOnE+WJW6rzrf+mA5WMVn+FzyWx2AondWow0aUKHkaY7amhIrsKp6YPfNImyx | |||
Flz8+cqDCmBswPsUh/JJ5eDHHIhibFcSgIHedsEjhLbUSLZ/DnEjru90qIWWA3R1 | Flz8+cqDCmBswPsUh/JJ5eDHHIhibFcSgIHedsEjhLbUSLZ/DnEjru90qIWWA3R1 | |||
skipping to change at line 863 ¶ | skipping to change at line 796 ¶ | |||
JW42wpvA3mKsfplttvgroyyhEVkw+zDvF8UK49kt3gtza7cTFLKcOJ/OLWBviNQi | JW42wpvA3mKsfplttvgroyyhEVkw+zDvF8UK49kt3gtza7cTFLKcOJ/OLWBviNQi | |||
neuVRNKpdXfHlZNJ7vjT6E6FsZUY2Ke0REgAwURo8lJ8pNdL/1uQDS81t9aoYNAI | neuVRNKpdXfHlZNJ7vjT6E6FsZUY2Ke0REgAwURo8lJ8pNdL/1uQDS81t9aoYNAI | |||
LnwbQbPuOJTkKowXiXGkD5Sun7D3A8nU0EXL6yuCYwYv39Jr1bhpYGI06J8tlqWr | LnwbQbPuOJTkKowXiXGkD5Sun7D3A8nU0EXL6yuCYwYv39Jr1bhpYGI06J8tlqWr | |||
BHr/eQnay2TU/Ts1EdfxuUGmZN9AbbkCggEBANEMkY2p8m2pTf87CSQ8jMPUOQJt | BHr/eQnay2TU/Ts1EdfxuUGmZN9AbbkCggEBANEMkY2p8m2pTf87CSQ8jMPUOQJt | |||
5iuenzesYLvXqVLLB4SUvXN+zDplDJPELtf2SQIHrplrPNH/H01jnWHd0ecSjVY8 | 5iuenzesYLvXqVLLB4SUvXN+zDplDJPELtf2SQIHrplrPNH/H01jnWHd0ecSjVY8 | |||
HBbIs52U1d5ek3/mWji4GeRp+Iw84CUh4q2p40bmob1RJ8e9sh2ixhHjX2yJ591m | HBbIs52U1d5ek3/mWji4GeRp+Iw84CUh4q2p40bmob1RJ8e9sh2ixhHjX2yJ591m | |||
oGbLIz75a60a05mUDK0FWt9cWHn4MKgIPKbWwFhYwmYDCjO/tK2DtcySny9soh5Q | oGbLIz75a60a05mUDK0FWt9cWHn4MKgIPKbWwFhYwmYDCjO/tK2DtcySny9soh5Q | |||
KVQriuvna2lE4YY+OUc7btmtkmp9v+LHKOI8dPabsOBU8Z8UbOGeHSNrZTQwpx3E | KVQriuvna2lE4YY+OUc7btmtkmp9v+LHKOI8dPabsOBU8Z8UbOGeHSNrZTQwpx3E | |||
p0riDg0UEzFmoYrfbvf+2VzEZDX/TJYjK9VkA8w5+xat8iS0/euKuvSRMb8= | p0riDg0UEzFmoYrfbvf+2VzEZDX/TJYjK9VkA8w5+xat8iS0/euKuvSRMb8= | |||
-----END RSA PRIVATE KEY----- | -----END RSA PRIVATE KEY----- | |||
]]></sourcecode> | ||||
]]></artwork> | </section> | |||
</figure> | <section anchor="dlpkeys" numbered="true" toc="default"> | |||
<name>DLP Keys</name> | ||||
</section> | <t>The following publicly known test keys may be used for DLP-based | |||
algorithms such as DSA, DH, and Elgamal.</t> | ||||
<section anchor="dlpkeys" title="DLP Keys"> | ||||
<t> | ||||
The following publicly-known test keys may be used for DLP-based algorithms | ||||
such as DSA, DH, and Elgamal. | ||||
</t> | ||||
<figure> | <t keepWithNext="true">DLP-1024 key "testDLP1024":</t> | |||
<preamble>DLP-1024 key "testDLP1024"</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
/* p */ | /* p */ | |||
1018, | 1018, | |||
{ 0x03, 0x0C, 0xDF, 0xC3, 0x8F, 0xC3, 0xE4, 0x21, | { 0x03, 0x0C, 0xDF, 0xC3, 0x8F, 0xC3, 0xE4, 0x21, | |||
0x27, 0x90, 0xB0, 0xA4, 0x1E, 0x45, 0xB4, 0xE4, | 0x27, 0x90, 0xB0, 0xA4, 0x1E, 0x45, 0xB4, 0xE4, | |||
0xE8, 0x80, 0xDE, 0x8A, 0xBF, 0xD3, 0xAE, 0xCA, | 0xE8, 0x80, 0xDE, 0x8A, 0xBF, 0xD3, 0xAE, 0xCA, | |||
0x0B, 0x23, 0x8F, 0xB6, 0xCD, 0x73, 0x0C, 0xC3, | 0x0B, 0x23, 0x8F, 0xB6, 0xCD, 0x73, 0x0C, 0xC3, | |||
0x18, 0x76, 0x93, 0x36, 0xD5, 0xB1, 0x80, 0xB2, | 0x18, 0x76, 0x93, 0x36, 0xD5, 0xB1, 0x80, 0xB2, | |||
0x80, 0x2A, 0x01, 0xBE, 0x4B, 0xC1, 0xAB, 0x84, | 0x80, 0x2A, 0x01, 0xBE, 0x4B, 0xC1, 0xAB, 0x84, | |||
0xFC, 0xE2, 0xFF, 0x48, 0x9B, 0x50, 0xC2, 0xD2, | 0xFC, 0xE2, 0xFF, 0x48, 0x9B, 0x50, 0xC2, 0xD2, | |||
0x9D, 0xE9, 0x1E, 0xC0, 0xE6, 0x5B, 0x60, 0x64, | 0x9D, 0xE9, 0x1E, 0xC0, 0xE6, 0x5B, 0x60, 0x64, | |||
skipping to change at line 945 ¶ | skipping to change at line 871 ¶ | |||
0x34, 0xD4, 0x17, 0xD3, 0x7B, 0x6E, 0x0A, 0x63, | 0x34, 0xD4, 0x17, 0xD3, 0x7B, 0x6E, 0x0A, 0x63, | |||
0x31, 0x8A, 0x0A, 0x79, 0x1F, 0x1D, 0x0D, 0xD4, | 0x31, 0x8A, 0x0A, 0x79, 0x1F, 0x1D, 0x0D, 0xD4, | |||
0xF6, 0x8A, 0xFA, 0xE3, 0x35, 0xAA, 0x5D, 0xBE, | 0xF6, 0x8A, 0xFA, 0xE3, 0x35, 0xAA, 0x5D, 0xBE, | |||
0xA3, 0xF2, 0xF6, 0xD6, 0xDD, 0x73, 0x09, 0x26, | 0xA3, 0xF2, 0xF6, 0xD6, 0xDD, 0x73, 0x09, 0x26, | |||
0x24, 0x7F, 0xDC, 0x4D, 0x1B, 0x82, 0xDF, 0x8C, | 0x24, 0x7F, 0xDC, 0x4D, 0x1B, 0x82, 0xDF, 0x8C, | |||
0x2D, 0x87, 0xAE, 0x8D, 0x36, 0xAD, 0xB9, 0xDD, | 0x2D, 0x87, 0xAE, 0x8D, 0x36, 0xAD, 0xB9, 0xDD, | |||
0x25, 0x13, 0x57, 0x8E, 0x8B, 0x99, 0xAA, 0x6A, | 0x25, 0x13, 0x57, 0x8E, 0x8B, 0x99, 0xAA, 0x6A, | |||
0x0E, 0xDF, 0x67, 0x5F, 0xFC, 0x2F, 0xDE, 0xB6, | 0x0E, 0xDF, 0x67, 0x5F, 0xFC, 0x2F, 0xDE, 0xB6, | |||
0x4B, 0x26, 0xE5, 0xBE, 0xD8, 0x53, 0x2D, 0xFD, | 0x4B, 0x26, 0xE5, 0xBE, 0xD8, 0x53, 0x2D, 0xFD, | |||
0x98, 0x11, 0x0F, 0xCF, 0xC9, 0xED, 0xF9, 0x38 } | 0x98, 0x11, 0x0F, 0xCF, 0xC9, 0xED, 0xF9, 0x38 } | |||
]]></sourcecode> | ||||
]]></artwork> | <t>DLP-1024 key in encoded form:</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>DLP-1024 key in encoded form</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
-----BEGIN DSA PRIVATE KEY----- | -----BEGIN DSA PRIVATE KEY----- | |||
MIIBuQIBAAKBgAMM38OPw+QhJ5CwpB5FtOTogN6Kv9Ouygsjj7bNcwzDGHaTNtWx | MIIBuQIBAAKBgAMM38OPw+QhJ5CwpB5FtOTogN6Kv9Ouygsjj7bNcwzDGHaTNtWx | |||
gLKAKgG+S8GrhPzi/0ibUMLSnekewOZbYGT9DeU36rocbN0n3DAwSB6LuWCqi4rv | gLKAKgG+S8GrhPzi/0ibUMLSnekewOZbYGT9DeU36rocbN0n3DAwSB6LuWCqi4rv | |||
kzUw5rHMUWC7+q+FD/ZXgRIzfVMDTkFj3GUDvfiJJYEUH6uCVbbZcnuzAhUA7EG5 | kzUw5rHMUWC7+q+FD/ZXgRIzfVMDTkFj3GUDvfiJJYEUH6uCVbbZcnuzAhUA7EG5 | |||
wGIdW9yvEdUZj3IIiC5lu98CgYABZIesz82VUFHgbhxb70UsEmPHXSs2UE+0J1c1 | wGIdW9yvEdUZj3IIiC5lu98CgYABZIesz82VUFHgbhxb70UsEmPHXSs2UE+0J1c1 | |||
woMyC2Oskcb0AgkyUxyrBLHNcv3yneJOJxeXp90hl2dpMfkzHR9Z7uW6LH1UrhNc | woMyC2Oskcb0AgkyUxyrBLHNcv3yneJOJxeXp90hl2dpMfkzHR9Z7uW6LH1UrhNc | |||
f3lBN9jYDrYpKI4mijvr0h8WpAPx1drYPBxHgBejzSZvG6SbiQ3AiSEuciYdo2ev | f3lBN9jYDrYpKI4mijvr0h8WpAPx1drYPBxHgBejzSZvG6SbiQ3AiSEuciYdo2ev | |||
gDsCUAKBgAIguULCXETaUrDRdoLqxDbqfoHsn3bhBXUyqmfq3QStuP1hgboLJfKE | gDsCUAKBgAIguULCXETaUrDRdoLqxDbqfoHsn3bhBXUyqmfq3QStuP1hgboLJfKE | |||
2qqqBfPIQDTUF9N7bgpjMYoKeR8dDdT2ivrjNapdvqPy9tbdcwkmJH/cTRuC34wt | 2qqqBfPIQDTUF9N7bgpjMYoKeR8dDdT2ivrjNapdvqPy9tbdcwkmJH/cTRuC34wt | |||
h66NNq253SUTV46LmapqDt9nX/wv3rZLJuW+2FMt/ZgRD8/J7fk4AhQR7Zl4WoE6 | h66NNq253SUTV46LmapqDt9nX/wv3rZLJuW+2FMt/ZgRD8/J7fk4AhQR7Zl4WoE6 | |||
Gw6W7NONf5vOnr/W+g== | Gw6W7NONf5vOnr/W+g== | |||
-----END DSA PRIVATE KEY----- | -----END DSA PRIVATE KEY----- | |||
]]></sourcecode> | ||||
]]></artwork> | <t>DLP-2048 key "testDLP2048":</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>DLP-2048 key "testDLP2048"</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
/* p */ | /* p */ | |||
2042, | 2042, | |||
{ 0x03, 0x2D, 0xD5, 0x53, 0x7D, 0x33, 0x7A, 0x91, | { 0x03, 0x2D, 0xD5, 0x53, 0x7D, 0x33, 0x7A, 0x91, | |||
0x34, 0x37, 0xD3, 0x5E, 0xA3, 0x43, 0x3D, 0xB0, | 0x34, 0x37, 0xD3, 0x5E, 0xA3, 0x43, 0x3D, 0xB0, | |||
0xE7, 0xB7, 0x21, 0x29, 0x8F, 0xBA, 0x87, 0x27, | 0xE7, 0xB7, 0x21, 0x29, 0x8F, 0xBA, 0x87, 0x27, | |||
0xF2, 0xF9, 0xBE, 0x85, 0x6D, 0x6A, 0x14, 0x6B, | 0xF2, 0xF9, 0xBE, 0x85, 0x6D, 0x6A, 0x14, 0x6B, | |||
0x92, 0x98, 0x8D, 0x50, 0x82, 0xF2, 0xC5, 0x72, | 0x92, 0x98, 0x8D, 0x50, 0x82, 0xF2, 0xC5, 0x72, | |||
0xB7, 0x70, 0x37, 0x63, 0xE8, 0x24, 0x54, 0xA7, | 0xB7, 0x70, 0x37, 0x63, 0xE8, 0x24, 0x54, 0xA7, | |||
0xA4, 0xA2, 0x25, 0x9B, 0x29, 0xAC, 0xE9, 0xB0, | 0xA4, 0xA2, 0x25, 0x9B, 0x29, 0xAC, 0xE9, 0xB0, | |||
0xBC, 0x9B, 0x4B, 0x4D, 0x98, 0x5D, 0x6A, 0x9C, | 0xBC, 0x9B, 0x4B, 0x4D, 0x98, 0x5D, 0x6A, 0x9C, | |||
skipping to change at line 1093 ¶ | skipping to change at line 1007 ¶ | |||
0x18, 0xC0, 0x45, 0x84, 0xCA, 0x6F, 0xD0, 0x75, | 0x18, 0xC0, 0x45, 0x84, 0xCA, 0x6F, 0xD0, 0x75, | |||
0x12, 0x12, 0x21, 0xA4, 0x60, 0xF9, 0x80, 0xC5, | 0x12, 0x12, 0x21, 0xA4, 0x60, 0xF9, 0x80, 0xC5, | |||
0x4F, 0x80, 0x1D, 0x7D, 0x6D, 0x21, 0x9D, 0xF2, | 0x4F, 0x80, 0x1D, 0x7D, 0x6D, 0x21, 0x9D, 0xF2, | |||
0xA1, 0xDB, 0xEA, 0x3C, 0x8A, 0x03, 0xA0, 0x9F, | 0xA1, 0xDB, 0xEA, 0x3C, 0x8A, 0x03, 0xA0, 0x9F, | |||
0x6B, 0xE9, 0x1B, 0xB6, 0x29, 0x6D, 0x79, 0x1A, | 0x6B, 0xE9, 0x1B, 0xB6, 0x29, 0x6D, 0x79, 0x1A, | |||
0x2A, 0x83, 0x80, 0xE8, 0x9D, 0x0C, 0xDD, 0x26, | 0x2A, 0x83, 0x80, 0xE8, 0x9D, 0x0C, 0xDD, 0x26, | |||
0xF7, 0x66, 0x3E, 0x06, 0x9A, 0x83, 0x31, 0x49, | 0xF7, 0x66, 0x3E, 0x06, 0x9A, 0x83, 0x31, 0x49, | |||
0xAD, 0x44, 0x2B, 0x2C, 0x13, 0x98, 0x87, 0x71, | 0xAD, 0x44, 0x2B, 0x2C, 0x13, 0x98, 0x87, 0x71, | |||
0xF6, 0x54, 0xB8, 0x1F, 0x50, 0xE0, 0xD7, 0x26, | 0xF6, 0x54, 0xB8, 0x1F, 0x50, 0xE0, 0xD7, 0x26, | |||
0x42, 0x47, 0xD6, 0x78, 0xEA, 0xEB, 0xB0, 0xF9 } | 0x42, 0x47, 0xD6, 0x78, 0xEA, 0xEB, 0xB0, 0xF9 } | |||
]]></sourcecode> | ||||
]]></artwork> | <t>DLP-2048 key in encoded form:</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>DLP-2048 key in encoded form</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
-----BEGIN DSA PRIVATE KEY----- | -----BEGIN DSA PRIVATE KEY----- | |||
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 | |||
-----END DSA PRIVATE KEY----- | -----END DSA PRIVATE KEY----- | |||
]]></sourcecode> | ||||
]]></artwork> | <t keepWithNext="true">DLP-4096 key "testDLP4096":</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>DLP-4096 key "testDLP4096"</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
/* p */ | /* p */ | |||
4086, | 4086, | |||
{ 0x31, 0xD2, 0x55, 0x5F, 0xB2, 0xE8, 0x89, 0xF3, | { 0x31, 0xD2, 0x55, 0x5F, 0xB2, 0xE8, 0x89, 0xF3, | |||
0x20, 0x83, 0x78, 0x79, 0x5A, 0xF4, 0x88, 0x5B, | 0x20, 0x83, 0x78, 0x79, 0x5A, 0xF4, 0x88, 0x5B, | |||
0x62, 0xD0, 0x13, 0x58, 0xBD, 0xF1, 0x17, 0xC0, | 0x62, 0xD0, 0x13, 0x58, 0xBD, 0xF1, 0x17, 0xC0, | |||
0xB8, 0xAD, 0x4D, 0x22, 0xBE, 0x62, 0xCC, 0x93, | 0xB8, 0xAD, 0x4D, 0x22, 0xBE, 0x62, 0xCC, 0x93, | |||
0x34, 0x5B, 0x6E, 0xA8, 0xFC, 0x54, 0x0B, 0x56, | 0x34, 0x5B, 0x6E, 0xA8, 0xFC, 0x54, 0x0B, 0x56, | |||
0x8F, 0x50, 0x95, 0xBB, 0xA0, 0x90, 0x3E, 0xC5, | 0x8F, 0x50, 0x95, 0xBB, 0xA0, 0x90, 0x3E, 0xC5, | |||
0xEE, 0xD8, 0xC6, 0xAE, 0x52, 0x5D, 0x9A, 0xA7, | 0xEE, 0xD8, 0xC6, 0xAE, 0x52, 0x5D, 0x9A, 0xA7, | |||
0xE4, 0x99, 0x79, 0xF0, 0x8E, 0x6C, 0x4E, 0xDB, | 0xE4, 0x99, 0x79, 0xF0, 0x8E, 0x6C, 0x4E, 0xDB, | |||
skipping to change at line 1347 ¶ | skipping to change at line 1249 ¶ | |||
0x05, 0xD8, 0xDC, 0xDC, 0x9D, 0x4B, 0x9C, 0xE6, | 0x05, 0xD8, 0xDC, 0xDC, 0x9D, 0x4B, 0x9C, 0xE6, | |||
0x80, 0x93, 0x65, 0x74, 0x94, 0x01, 0x5E, 0x05, | 0x80, 0x93, 0x65, 0x74, 0x94, 0x01, 0x5E, 0x05, | |||
0x17, 0x78, 0x96, 0xF1, 0x29, 0xFD, 0xFF, 0xB5, | 0x17, 0x78, 0x96, 0xF1, 0x29, 0xFD, 0xFF, 0xB5, | |||
0xFF, 0x4A, 0xF5, 0x7C, 0x64, 0xD1, 0x51, 0xEC, | 0xFF, 0x4A, 0xF5, 0x7C, 0x64, 0xD1, 0x51, 0xEC, | |||
0xEC, 0x8E, 0x74, 0x7B, 0x72, 0x67, 0xFA, 0x2D, | 0xEC, 0x8E, 0x74, 0x7B, 0x72, 0x67, 0xFA, 0x2D, | |||
0x8C, 0xF5, 0x97, 0x5E, 0x84, 0xC2, 0xEF, 0xAC, | 0x8C, 0xF5, 0x97, 0x5E, 0x84, 0xC2, 0xEF, 0xAC, | |||
0x18, 0xDF, 0x16, 0xF2, 0xD8, 0x98, 0x0C, 0xE4, | 0x18, 0xDF, 0x16, 0xF2, 0xD8, 0x98, 0x0C, 0xE4, | |||
0x09, 0xC0, 0x3A, 0x1B, 0xC2, 0xB9, 0x5B, 0x34, | 0x09, 0xC0, 0x3A, 0x1B, 0xC2, 0xB9, 0x5B, 0x34, | |||
0x34, 0x18, 0x98, 0xC6, 0xA5, 0xC6, 0x28, 0x54, | 0x34, 0x18, 0x98, 0xC6, 0xA5, 0xC6, 0x28, 0x54, | |||
0xB8, 0x53, 0x33, 0xE1, 0x4A, 0xA8, 0xE9 } | 0xB8, 0x53, 0x33, 0xE1, 0x4A, 0xA8, 0xE9 } | |||
]]></sourcecode> | ||||
]]></artwork> | <t keepWithNext="true">DLP-4096 key in encoded form:</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>DLP-4096 key in encoded form</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
-----BEGIN DSA PRIVATE KEY----- | -----BEGIN DSA PRIVATE KEY----- | |||
MIIGXgIBAAKCAf8x0lVfsuiJ8yCDeHla9IhbYtATWL3xF8C4rU0ivmLMkzRbbqj8 | MIIGXgIBAAKCAf8x0lVfsuiJ8yCDeHla9IhbYtATWL3xF8C4rU0ivmLMkzRbbqj8 | |||
VAtWj1CVu6CQPsXu2MauUl2ap+SZefCObE7b9WqTKQmga20eB1eVP5BbVVKZMV9C | VAtWj1CVu6CQPsXu2MauUl2ap+SZefCObE7b9WqTKQmga20eB1eVP5BbVVKZMV9C | |||
SPVLge9fBU2Ngk4SrquCSywvTF7eBGAw3DsWwoBZVoXKOMbnE9guTRv80z2H3iaV | SPVLge9fBU2Ngk4SrquCSywvTF7eBGAw3DsWwoBZVoXKOMbnE9guTRv80z2H3iaV | |||
S6AFvEIXdzmyDx5GE4B57eWRZM5nI+NR5LL81Q1uq7RdqI+kzVYkiupEqi5BuP8o | S6AFvEIXdzmyDx5GE4B57eWRZM5nI+NR5LL81Q1uq7RdqI+kzVYkiupEqi5BuP8o | |||
vTeIAIwu70vhkKCrXX2APJq+18e3dLUPqDgN1/4rPYSFo9iA71HVa0Efc+ZZ554L | vTeIAIwu70vhkKCrXX2APJq+18e3dLUPqDgN1/4rPYSFo9iA71HVa0Efc+ZZ554L | |||
/zIUU1c+xQ2d1NCuyjCdOeQ4hieVA++UmFHj1Nxxq/OniGO5dcEGJMtRc0zbWCo6 | /zIUU1c+xQ2d1NCuyjCdOeQ4hieVA++UmFHj1Nxxq/OniGO5dcEGJMtRc0zbWCo6 | |||
SMbXCEeDboCLDiJIuPqKjFWjV+gwVNZIssyluKOxaJGtUjVukoca9ZmlbpDJNDOl | SMbXCEeDboCLDiJIuPqKjFWjV+gwVNZIssyluKOxaJGtUjVukoca9ZmlbpDJNDOl | |||
SlL9QuK+ZRXIzsNzlAcMJsrFyowmHS1QIYhruUxOmfp40lN8yvWhksnCr3egeDNF | SlL9QuK+ZRXIzsNzlAcMJsrFyowmHS1QIYhruUxOmfp40lN8yvWhksnCr3egeDNF | |||
HxItqeb9e4OSEp7kmlYHXxo3BQBMBr02f7/LmgdKAuFlJSct+dMzy5GbW2EUB/f3 | HxItqeb9e4OSEp7kmlYHXxo3BQBMBr02f7/LmgdKAuFlJSct+dMzy5GbW2EUB/f3 | |||
skipping to change at line 1395 ¶ | skipping to change at line 1291 ¶ | |||
fKjsxGv6ELrEZ0t3uU6w6Sp2psCBWdH0BrZoX+hbQajYBJORivUpmhxqET3i+XQn | fKjsxGv6ELrEZ0t3uU6w6Sp2psCBWdH0BrZoX+hbQajYBJORivUpmhxqET3i+XQn | |||
zYfEuigqZV1qTucVAS4MdQzDseXA8ivIKtI+tMDs9ICst9cxIVfbt+DlI3jp/0bu | zYfEuigqZV1qTucVAS4MdQzDseXA8ivIKtI+tMDs9ICst9cxIVfbt+DlI3jp/0bu | |||
7wSvR08sTFXf/895i5A/SepD0GDvI+19Y4l7yy/xOasNgF/3hYfM5vHyzjkHu9pa | 7wSvR08sTFXf/895i5A/SepD0GDvI+19Y4l7yy/xOasNgF/3hYfM5vHyzjkHu9pa | |||
ZznPYkcsohGFGNr+kHxL6ojcrjkBBzq2zGClYMmk1jMeKfiK/rmZpkrk28e/AiKp | ZznPYkcsohGFGNr+kHxL6ojcrjkBBzq2zGClYMmk1jMeKfiK/rmZpkrk28e/AiKp | |||
1Bk6IOgbQDDzKOOpy3ySYgSYR0/LZNrhu9eeSpwEdkde8PmrXomuTVqun4dgIfoL | 1Bk6IOgbQDDzKOOpy3ySYgSYR0/LZNrhu9eeSpwEdkde8PmrXomuTVqun4dgIfoL | |||
soIXzyeNOunt3BxXvl4X3A2UjgL8Bf7fdAcF2NzcnUuc5oCTZXSUAV4FF3iW8Sn9 | soIXzyeNOunt3BxXvl4X3A2UjgL8Bf7fdAcF2NzcnUuc5oCTZXSUAV4FF3iW8Sn9 | |||
/7X/SvV8ZNFR7OyOdHtyZ/otjPWXXoTC76wY3xby2JgM5AnAOhvCuVs0NBiYxqXG | /7X/SvV8ZNFR7OyOdHtyZ/otjPWXXoTC76wY3xby2JgM5AnAOhvCuVs0NBiYxqXG | |||
KFS4UzPhSqjpAicBp3cRuJ1FUycpAboJWn/8FJyMBbAv3QQNyZiXEVvOw+YU8lV/ | KFS4UzPhSqjpAicBp3cRuJ1FUycpAboJWn/8FJyMBbAv3QQNyZiXEVvOw+YU8lV/ | |||
nAw= | nAw= | |||
-----END DSA PRIVATE KEY----- | -----END DSA PRIVATE KEY----- | |||
]]></sourcecode> | ||||
]]></artwork> | </section> | |||
</figure> | ||||
</section> | ||||
<section anchor="ecdlpkeys" title="ECDLP Keys"> | ||||
<t> | ||||
The following publicly-known test keys may be used for ECDLP-based algorithms | ||||
such as ECDSA and ECDH. | ||||
</t> | <section anchor="ecdlpkeys" numbered="true" toc="default"> | |||
<name>ECDLP Keys</name> | ||||
<t>The following publicly known test keys may be used for ECDLP-based | ||||
algorithms such as ECDSA and ECDH.</t> | ||||
<figure> | <t keepWithNext="true">P256 key "testECCP256":</t> | |||
<preamble>P256 key "testECCP256"</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
/* qx */ | /* qx */ | |||
256, | 256, | |||
{ 0x42, 0x25, 0x48, 0xF8, 0x8F, 0xB7, 0x82, 0xFF, | { 0x42, 0x25, 0x48, 0xF8, 0x8F, 0xB7, 0x82, 0xFF, | |||
0xB5, 0xEC, 0xA3, 0x74, 0x44, 0x52, 0xC7, 0x2A, | 0xB5, 0xEC, 0xA3, 0x74, 0x44, 0x52, 0xC7, 0x2A, | |||
0x1E, 0x55, 0x8F, 0xBD, 0x6F, 0x73, 0xBE, 0x5E, | 0x1E, 0x55, 0x8F, 0xBD, 0x6F, 0x73, 0xBE, 0x5E, | |||
0x48, 0xE9, 0x32, 0x32, 0xCC, 0x45, 0xC5, 0xB1 }, | 0x48, 0xE9, 0x32, 0x32, 0xCC, 0x45, 0xC5, 0xB1 }, | |||
/* qy */ | /* qy */ | |||
256, | 256, | |||
{ 0x6C, 0x4C, 0xD1, 0x0C, 0x4C, 0xB8, 0xD5, 0xB8, | { 0x6C, 0x4C, 0xD1, 0x0C, 0x4C, 0xB8, 0xD5, 0xB8, | |||
0xA1, 0x71, 0x39, 0xE9, 0x48, 0x82, 0xC8, 0x99, | 0xA1, 0x71, 0x39, 0xE9, 0x48, 0x82, 0xC8, 0x99, | |||
0x25, 0x72, 0x99, 0x34, 0x25, 0xF4, 0x14, 0x19, | 0x25, 0x72, 0x99, 0x34, 0x25, 0xF4, 0x14, 0x19, | |||
0xAB, 0x7E, 0x90, 0xA4, 0x2A, 0x49, 0x42, 0x72 }, | 0xAB, 0x7E, 0x90, 0xA4, 0x2A, 0x49, 0x42, 0x72 }, | |||
/* d */ | /* d */ | |||
256, | 256, | |||
{ 0xE6, 0xCB, 0x5B, 0xDD, 0x80, 0xAA, 0x45, 0xAE, | { 0xE6, 0xCB, 0x5B, 0xDD, 0x80, 0xAA, 0x45, 0xAE, | |||
0x9C, 0x95, 0xE8, 0xC1, 0x54, 0x76, 0x67, 0x9F, | 0x9C, 0x95, 0xE8, 0xC1, 0x54, 0x76, 0x67, 0x9F, | |||
0xFE, 0xC9, 0x53, 0xC1, 0x68, 0x51, 0xE7, 0x11, | 0xFE, 0xC9, 0x53, 0xC1, 0x68, 0x51, 0xE7, 0x11, | |||
0xE7, 0x43, 0x93, 0x95, 0x89, 0xC6, 0x4F, 0xC1 } | 0xE7, 0x43, 0x93, 0x95, 0x89, 0xC6, 0x4F, 0xC1 } | |||
]]></sourcecode> | ||||
]]></artwork> | <t>P256 key in encoded form:</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>P256 key in encoded form</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
-----BEGIN EC PRIVATE KEY----- | -----BEGIN EC PRIVATE KEY----- | |||
MHcCAQEEIObLW92AqkWunJXowVR2Z5/+yVPBaFHnEedDk5WJxk/BoAoGCCqGSM49 | MHcCAQEEIObLW92AqkWunJXowVR2Z5/+yVPBaFHnEedDk5WJxk/BoAoGCCqGSM49 | |||
AwEHoUQDQgAEQiVI+I+3gv+17KN0RFLHKh5Vj71vc75eSOkyMsxFxbFsTNEMTLjV | AwEHoUQDQgAEQiVI+I+3gv+17KN0RFLHKh5Vj71vc75eSOkyMsxFxbFsTNEMTLjV | |||
uKFxOelIgsiZJXKZNCX0FBmrfpCkKklCcg== | uKFxOelIgsiZJXKZNCX0FBmrfpCkKklCcg== | |||
-----END EC PRIVATE KEY----- | -----END EC PRIVATE KEY----- | |||
]]></sourcecode> | ||||
]]></artwork> | <t keepWithNext="true">P384 key "testECCP384":</t> | |||
</figure> | ||||
<figure> | ||||
<preamble>P384 key "testECCP384"</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
/* qx */ | /* qx */ | |||
384, | 384, | |||
{ 0x5B, 0x09, 0x01, 0xB8, 0x85, 0x23, 0x29, 0x6E, | { 0x5B, 0x09, 0x01, 0xB8, 0x85, 0x23, 0x29, 0x6E, | |||
0xB9, 0x19, 0xD5, 0x0F, 0xFA, 0x1A, 0x9C, 0xB3, | 0xB9, 0x19, 0xD5, 0x0F, 0xFA, 0x1A, 0x9C, 0xB3, | |||
0x74, 0xBC, 0x4D, 0x40, 0x95, 0x86, 0x28, 0x2B, | 0x74, 0xBC, 0x4D, 0x40, 0x95, 0x86, 0x28, 0x2B, | |||
0xFE, 0xCA, 0x11, 0xB1, 0xD9, 0x5A, 0xDB, 0xB5, | 0xFE, 0xCA, 0x11, 0xB1, 0xD9, 0x5A, 0xDB, 0xB5, | |||
0x47, 0x34, 0xAF, 0x57, 0x0B, 0xF8, 0x2B, 0x72, | 0x47, 0x34, 0xAF, 0x57, 0x0B, 0xF8, 0x2B, 0x72, | |||
0x28, 0xCF, 0x22, 0x6B, 0xCF, 0x4C, 0x25, 0xDD }, | 0x28, 0xCF, 0x22, 0x6B, 0xCF, 0x4C, 0x25, 0xDD }, | |||
/* qy */ | /* qy */ | |||
384, | 384, | |||
skipping to change at line 1479 ¶ | skipping to change at line 1360 ¶ | |||
0xB5, 0xA8, 0xDA, 0x48, 0xC6, 0x74, 0x71, 0x17, | 0xB5, 0xA8, 0xDA, 0x48, 0xC6, 0x74, 0x71, 0x17, | |||
0xF9, 0x91, 0x9E, 0x84, 0x24, 0xF3, 0x7E, 0xC8 }, | 0xF9, 0x91, 0x9E, 0x84, 0x24, 0xF3, 0x7E, 0xC8 }, | |||
/* d */ | /* d */ | |||
384, | 384, | |||
{ 0xE2, 0x56, 0x33, 0x28, 0xDF, 0xAB, 0xF6, 0x81, | { 0xE2, 0x56, 0x33, 0x28, 0xDF, 0xAB, 0xF6, 0x81, | |||
0x88, 0x60, 0x6B, 0x91, 0x32, 0x42, 0x81, 0xC1, | 0x88, 0x60, 0x6B, 0x91, 0x32, 0x42, 0x81, 0xC1, | |||
0xD5, 0x8A, 0x44, 0x56, 0x43, 0x1B, 0x09, 0xD5, | 0xD5, 0x8A, 0x44, 0x56, 0x43, 0x1B, 0x09, 0xD5, | |||
0x10, 0xB3, 0x5F, 0xEC, 0xC9, 0xF3, 0x07, 0xCA, | 0x10, 0xB3, 0x5F, 0xEC, 0xC9, 0xF3, 0x07, 0xCA, | |||
0x18, 0x22, 0x84, 0x6F, 0xA2, 0x67, 0x13, 0x71, | 0x18, 0x22, 0x84, 0x6F, 0xA2, 0x67, 0x13, 0x71, | |||
0xA9, 0xA8, 0x1B, 0xAC, 0x0E, 0x35, 0x74, 0x9D } | 0xA9, 0xA8, 0x1B, 0xAC, 0x0E, 0x35, 0x74, 0x9D } | |||
]]></sourcecode> | ||||
]]></artwork> | <t>P384 key in encoded form:</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>P384 key in encoded form</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
-----BEGIN EC PRIVATE KEY----- | -----BEGIN EC PRIVATE KEY----- | |||
MIGkAgEBBDDiVjMo36v2gYhga5EyQoHB1YpEVkMbCdUQs1/syfMHyhgihG+iZxNx | MIGkAgEBBDDiVjMo36v2gYhga5EyQoHB1YpEVkMbCdUQs1/syfMHyhgihG+iZxNx | |||
qagbrA41dJ2gBwYFK4EEACKhZANiAARbCQG4hSMpbrkZ1Q/6GpyzdLxNQJWGKCv+ | qagbrA41dJ2gBwYFK4EEACKhZANiAARbCQG4hSMpbrkZ1Q/6GpyzdLxNQJWGKCv+ | |||
yhGx2VrbtUc0r1cL+CtyKM8ia89MJd28/jsaOtOUMO/3Y+HWjS4VHZFyC3eVtY2m | yhGx2VrbtUc0r1cL+CtyKM8ia89MJd28/jsaOtOUMO/3Y+HWjS4VHZFyC3eVtY2m | |||
s0Y5YTqPubWo2kjGdHEX+ZGehCTzfsg= | s0Y5YTqPubWo2kjGdHEX+ZGehCTzfsg= | |||
-----END EC PRIVATE KEY----- | -----END EC PRIVATE KEY----- | |||
]]></sourcecode> | ||||
]]></artwork> | <t keepWithNext="true">P521 key "testECCP521":</t> | |||
</figure> | ||||
<figure> | ||||
<preamble>P521 key "testECCP521"</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
/* qx */ | /* qx */ | |||
521, | 521, | |||
{ 0x01, 0xD0, 0xFD, 0x72, 0x57, 0xA8, 0x4C, 0x74, | { 0x01, 0xD0, 0xFD, 0x72, 0x57, 0xA8, 0x4C, 0x74, | |||
0x7F, 0x56, 0x25, 0x75, 0xC0, 0x73, 0x85, 0xDB, | 0x7F, 0x56, 0x25, 0x75, 0xC0, 0x73, 0x85, 0xDB, | |||
0xEB, 0xF2, 0xF5, 0x2B, 0xEA, 0x58, 0x08, 0x3D, | 0xEB, 0xF2, 0xF5, 0x2B, 0xEA, 0x58, 0x08, 0x3D, | |||
0xB8, 0x2F, 0xDD, 0x15, 0x31, 0xD8, 0xAA, 0xE3, | 0xB8, 0x2F, 0xDD, 0x15, 0x31, 0xD8, 0xAA, 0xE3, | |||
0xCC, 0x87, 0x5F, 0xF0, 0x2F, 0xF7, 0xFA, 0x2D, | 0xCC, 0x87, 0x5F, 0xF0, 0x2F, 0xF7, 0xFA, 0x2D, | |||
0xA2, 0x60, 0xD8, 0xEB, 0x62, 0xD6, 0xD2, 0xF5, | 0xA2, 0x60, 0xD8, 0xEB, 0x62, 0xD6, 0xD2, 0xF5, | |||
0xD6, 0x49, 0x27, 0x8E, 0x32, 0x17, 0x36, 0xA0, | 0xD6, 0x49, 0x27, 0x8E, 0x32, 0x17, 0x36, 0xA0, | |||
0x62, 0x8C, 0xBB, 0xB3, 0x03, 0x08, 0xB6, 0xE6, | 0x62, 0x8C, 0xBB, 0xB3, 0x03, 0x08, 0xB6, 0xE6, | |||
skipping to change at line 1537 ¶ | skipping to change at line 1409 ¶ | |||
521, | 521, | |||
{ 0x01, 0xD9, 0x24, 0xDC, 0xCA, 0x0A, 0x88, 0x7F, | { 0x01, 0xD9, 0x24, 0xDC, 0xCA, 0x0A, 0x88, 0x7F, | |||
0x8D, 0x99, 0x76, 0x7A, 0x37, 0xD8, 0x74, 0xE6, | 0x8D, 0x99, 0x76, 0x7A, 0x37, 0xD8, 0x74, 0xE6, | |||
0x37, 0xA1, 0x2C, 0xCB, 0x47, 0x7D, 0x6E, 0x08, | 0x37, 0xA1, 0x2C, 0xCB, 0x47, 0x7D, 0x6E, 0x08, | |||
0x66, 0x53, 0x56, 0x69, 0x4D, 0x68, 0xB7, 0x65, | 0x66, 0x53, 0x56, 0x69, 0x4D, 0x68, 0xB7, 0x65, | |||
0x5E, 0x50, 0x69, 0x63, 0x8F, 0xDE, 0x7B, 0x45, | 0x5E, 0x50, 0x69, 0x63, 0x8F, 0xDE, 0x7B, 0x45, | |||
0xC8, 0x54, 0x01, 0x3D, 0xC7, 0x7A, 0x35, 0xB1, | 0xC8, 0x54, 0x01, 0x3D, 0xC7, 0x7A, 0x35, 0xB1, | |||
0x86, 0x55, 0xB8, 0x4C, 0x96, 0x6A, 0x60, 0x22, | 0x86, 0x55, 0xB8, 0x4C, 0x96, 0x6A, 0x60, 0x22, | |||
0x0D, 0x40, 0xF9, 0x1E, 0xD9, 0xF5, 0x14, 0x58, | 0x0D, 0x40, 0xF9, 0x1E, 0xD9, 0xF5, 0x14, 0x58, | |||
0x02, 0xEA } | 0x02, 0xEA } | |||
]]></sourcecode> | ||||
]]></artwork> | <t>P521 key in encoded form:</t> | |||
</figure> | ||||
<t> | ||||
</t> | ||||
<figure> | ||||
<preamble>P521 key in encoded form</preamble> | ||||
<artwork><![CDATA[ | ||||
<sourcecode name="" type=""><![CDATA[ | ||||
-----BEGIN EC PRIVATE KEY----- | -----BEGIN EC PRIVATE KEY----- | |||
MIHcAgEBBEIB2STcygqIf42Zdno32HTmN6Esy0d9bghmU1ZpTWi3ZV5QaWOP3ntF | MIHcAgEBBEIB2STcygqIf42Zdno32HTmN6Esy0d9bghmU1ZpTWi3ZV5QaWOP3ntF | |||
yFQBPcd6NbGGVbhMlmpgIg1A+R7Z9RRYAuqgBwYFK4EEACOhgYkDgYYABAHQ/XJX | yFQBPcd6NbGGVbhMlmpgIg1A+R7Z9RRYAuqgBwYFK4EEACOhgYkDgYYABAHQ/XJX | |||
qEx0f1YldcBzhdvr8vUr6lgIPbgv3RUx2KrjzIdf8C/3+i2iYNjrYtbS9dZJJ44y | qEx0f1YldcBzhdvr8vUr6lgIPbgv3RUx2KrjzIdf8C/3+i2iYNjrYtbS9dZJJ44y | |||
FzagYoy7swMItuYY2wD2KtIExkYDWbyBiriWG/Dw/A7FquikKBc85W8A3psVfB5c | FzagYoy7swMItuYY2wD2KtIExkYDWbyBiriWG/Dw/A7FquikKBc85W8A3psVfB5c | |||
gsZPVi/K3vxKTCj200LPPvYW/ILTO3KFySHyvzb92A== | gsZPVi/K3vxKTCj200LPPvYW/ILTO3KFySHyvzb92A== | |||
-----END EC PRIVATE KEY----- | -----END EC PRIVATE KEY----- | |||
]]></sourcecode> | ||||
]]></artwork> | </section> | |||
</figure> | </section> | |||
</section> | ||||
</section> | ||||
<!-- ====================================================================== | ||||
--> | ||||
<section anchor="iana" title="IANA Considerations"> | ||||
<t> | ||||
This document has no IANA actions. | ||||
</t> | ||||
</section> | ||||
<!-- ====================================================================== | ||||
--> | ||||
<section anchor="security" title="Security Considerations"> | ||||
<t> | ||||
The intent of publishing known keys in this form is that they may be easily | ||||
recognised as being test keys when encountered. It should go without saying | ||||
that these keys should never be used or relied upon in production | ||||
environments. | ||||
</t> | ||||
<t> | ||||
The author awaits the inevitable CVEs. | ||||
</t> | <section anchor="iana" numbered="true" toc="default"> | |||
<name>IANA Considerations</name> | ||||
<t>This document has no IANA actions.</t> | ||||
</section> | </section> | |||
<!-- ====================================================================== --> | ||||
<section anchor="security" numbered="true" toc="default"> | ||||
<name>Security Considerations</name> | ||||
<t>The intent of publishing known keys in this form is that they may be | ||||
easily recognised as being test keys when encountered. It should go | ||||
without saying that these keys should never be used or relied upon in | ||||
production environments.</t> | ||||
<t>The authors await the inevitable Common Vulnerabilities and Exposures | ||||
(CVEs).</t> | ||||
</section> | ||||
</middle> | </middle> | |||
<!-- ======================================================================== | <back> | |||
--> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 79 change blocks. | ||||
316 lines changed or deleted | 166 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |