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 "&#160;">
<!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;">
]>
<?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.