Internet-Draft | PQC in OpenPGP | November 2024 |
Kousidis, et al. | Expires 9 May 2025 | [Page] |
This document defines a post-quantum public-key algorithm extension for the OpenPGP protocol. Given the generally assumed threat of a cryptographically relevant quantum computer, this extension provides a basis for long-term secure OpenPGP signatures and ciphertexts. Specifically, it defines composite public-key encryption based on ML-KEM (formerly CRYSTALS-Kyber), composite public-key signatures based on ML-DSA (formerly CRYSTALS-Dilithium), both in combination with elliptic curve cryptography, and SLH-DSA (formerly SPHINCS+) as a standalone public key signature scheme.¶
This note is to be removed before publishing as an RFC.¶
Status information for this document may be found at https://datatracker.ietf.org/doc/draft-ietf-openpgp-pqc/.¶
Discussion of this document takes place on the WG Working Group mailing list (mailto:[email protected]), which is archived at https://mailarchive.ietf.org/arch/browse/openpgp/. Subscribe at https://www.ietf.org/mailman/listinfo/openpgp/.¶
Source for this draft and an issue tracker can be found at https://github.com/openpgp-pqc/draft-openpgp-pqc.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 9 May 2025.¶
Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The OpenPGP protocol supports various traditional public-key algorithms based on the factoring or discrete logarithm problem. As the security of algorithms based on these mathematical problems is endangered by the advent of quantum computers, there is a need to extend OpenPGP by algorithms that remain secure in the presence of quantum computers.¶
Such cryptographic algorithms are referred to as post-quantum cryptography. The algorithms defined in this extension were chosen for standardization by the National Institute of Standards and Technology (NIST) in mid 2022 [NISTIR-8413] as the result of the NIST Post-Quantum Cryptography Standardization process initiated in 2016 [NIST-PQC]. Namely, these are ML-KEM [FIPS-203] as a Key Encapsulation Mechanism (KEM), a KEM being a modern building block for public-key encryption, and ML-DSA [FIPS-204] as well as SLH-DSA [FIPS-205] as signature schemes.¶
For the two ML-* schemes, this document follows the conservative strategy to deploy post-quantum in combination with traditional schemes such that the security is retained even if all schemes but one in the combination are broken. In contrast, the stateless hash-based signature scheme SLH-DSA is considered to be sufficiently well understood with respect to its security assumptions in order to be used standalone. To this end, this document specifies the following new set: SLH-DSA standalone and the two ML-* as composite with ECC-based KEM and digital signature schemes. Here, the term "composite" indicates that any data structure or algorithm pertaining to the combination of the two components appears as single data structure or algorithm from the protocol perspective.¶
The document specifies the conventions for interoperability between compliant OpenPGP implementations that make use of this extension and the newly defined algorithms or algorithm combinations.¶
The terminology in this document is oriented towards the definitions in [I-D.ietf-pquip-pqt-hybrid-terminology]. Specifically, the terms "multi-algorithm", "composite" and "non-composite" are used in correspondence with the definitions therein. The abbreviation "PQ" is used for post-quantum schemes. To denote the combination of post-quantum and traditional schemes, the abbreviation "PQ/T" is used. The short form "PQ(/T)" stands for PQ or PQ/T.¶
This section describes the individual post-quantum cryptographic schemes. All schemes listed here are believed to provide security in the presence of a cryptographically relevant quantum computer. However, the mathematical problems on which the two ML-* schemes and SLH-DSA are based, are fundamentally different, and accordingly the level of trust commonly placed in them as well as their performance characteristics vary.¶
[Note to the reader: This specification refers to the NIST PQC draft standards FIPS 203, FIPS 204, and FIPS 205 as if they were a final specification. This is a temporary solution until the final versions of these documents are available. The goal is to provide a sufficiently precise specification of the algorithms already at the draft stage of this specification, so that it is possible for implementers to create interoperable implementations. Furthermore, we want to point out that, depending on possible future changes to the draft standards by NIST, this specification may be updated as soon as corresponding information becomes available.]¶
ML-KEM [FIPS-203] is based on the hardness of solving the Learning with Errors problem in module lattices (MLWE). The scheme is believed to provide security against cryptanalytic attacks by classical as well as quantum computers. This specification defines ML-KEM only in composite combination with ECDH encryption schemes in order to provide a pre-quantum security fallback.¶
ML-DSA [FIPS-204] is a signature scheme that, like ML-KEM, is based on the hardness of solving the Learning With Errors problem and a variant of the Short Integer Solution problem in module lattices (MLWE and SelfTargetMSIS). Accordingly, this specification only defines ML-DSA in composite combination with EdDSA signature schemes.¶
SLH-DSA [FIPS-205] is a stateless hash-based signature scheme. Its security relies on the hardness of finding preimages for cryptographic hash functions. This feature is generally considered to be a high security guarantee. Therefore, this specification defines SLH-DSA as a standalone signature scheme.¶
In deployments the performance characteristics of SLH-DSA should be taken into account. We refer to Section 10.1 for a discussion of the performance characteristics of this scheme.¶
The ECDH encryption is defined here as a KEM via X25519 and X448 which are defined in [RFC7748]. EdDSA as defined in [RFC8032] is used as the elliptic curve-based digital signature scheme.¶
This section provides a categorization of the new algorithms and their combinations.¶
This specification introduces new cryptographic schemes, which can be categorized as follows:¶
PQ/T multi-algorithm public-key encryption, namely a composite combination of ML-KEM with an ECDH KEM,¶
PQ/T multi-algorithm digital signature, namely composite combinations of ML-DSA with EdDSA signature schemes,¶
PQ digital signature, namely SLH-DSA as a standalone cryptographic algorithm.¶
For each of the composite schemes, this specification mandates that the consuming party has to successfully perform the cryptographic algorithms for each of the component schemes used in a cryptographic message, in order for the message to be deciphered and considered as valid. This means that all component signatures must be verified successfully in order to achieve a successful verification of the composite signature. In the case of the composite public-key decryption, each of the component KEM decapsulation operations must succeed.¶
As the OpenPGP protocol [RFC9580] allows for multiple signatures to be applied to a single message, it is also possible to realize non-composite combinations of signatures. Furthermore, multiple OpenPGP signatures may be combined on the application layer. These latter two cases realize non-composite combinations of signatures. Section 3.3 specifies how implementations should handle the verification of such combinations of signatures.¶
Furthermore, the OpenPGP protocol also allows parallel encryption to different keys by using multiple PKESK packets, thus realizing non-composite multi-algorithm public-key encryption.¶
This section specifies the composite ML-KEM + ECDH and ML-DSA + EdDSA schemes as well as the standalone SLH-DSA signature scheme. All of these schemes are fully specified via their algorithm ID, i.e., they are not parametrized.¶
For encryption, the following composite KEM schemes are specified:¶
ID | Algorithm | Requirement | Definition |
---|---|---|---|
TBD (105 for testing) | ML-KEM-768+X25519 | MUST | Section 4.2 |
TBD (106 for testing) | ML-KEM-1024+X448 | SHOULD | Section 4.2 |
For signatures, the following (composite) signature schemes are specified:¶
ID | Algorithm | Requirement | Definition |
---|---|---|---|
TBD (107 for testing) | ML-DSA-65+Ed25519 | MUST | Section 5.2 |
TBD (108 for testing) | ML-DSA-87+Ed448 | SHOULD | Section 5.2 |
TBD | SLH-DSA-SHAKE-128s | MAY | Section 6.1 |
TBD | SLH-DSA-SHAKE-128f | MAY | Section 6.1 |
TBD | SLH-DSA-SHAKE-256s | MAY | Section 6.1 |
[ Note: this section to be removed before publication ]¶
Algorithms indicated as MAY are not assigned a codepoint in the current state of the draft in order to leave enough private/experimental code points available for other drafts.¶
The use of private/experimental codepoints during development are intended to be used in non-released software only, for experimentation and interop testing purposes only. An OpenPGP implementation MUST NOT produce a formal release using these experimental codepoints. This draft will not be sent to IANA without every listed algorithm having a non-experimental codepoint.¶
The ML-KEM + ECDH public-key encryption involves both the ML-KEM and an ECDH KEM in an a priori non-separable manner. This is achieved via KEM combination, i.e. both key encapsulations/decapsulations are performed in parallel, and the resulting key shares are fed into a key combiner to produce a single shared secret for message encryption.¶
As explained in Section 1.4.2, the OpenPGP protocol inherently supports parallel encryption to different keys. Note that the confidentiality of a message is not post-quantum secure when encrypting to different keys if at least one key does not support PQ/T encryption schemes. In Section 8.1 it is explained how to deal with multiple key scenarios.¶
The ML-DSA + EdDSA signature consists of independent ML-DSA and EdDSA signatures, and an implementation MUST successfully validate both signatures to state that the ML-DSA + EdDSA signature is valid.¶
The OpenPGP message format allows multiple signatures of a message, i.e. the attachment of multiple signature packets.¶
An implementation MAY sign a message with a traditional key and a PQ(/T) key from the same sender. This ensures backwards compatibility due to [RFC9580, Section 5.2.5], since a legacy implementation without PQ(/T) support can fall back on the traditional signature.¶
Newer implementations with PQ(/T) support MAY ignore the traditional signature(s) during validation.¶
Implementations SHOULD consider the message correctly signed if at least one of the non-ignored signatures validates successfully.¶
[Note to the reader: The last requirement, that one valid signature is sufficient to identify a message as correctly signed, is an interpretation of [RFC9580, Section 5.2.5].]¶
Even though the zero point, also called the point at infinity, may occur as a result of arithmetic operations on points of an elliptic curve, it MUST NOT appear in any ECC data structure defined in this document.¶
Furthermore, when performing the explicitly listed operations in Section 4.1.1.1 or Section 4.1.1.2 it is REQUIRED to follow the specification and security advisory mandated from the respective elliptic curve specification.¶
In this section we define the encryption, decryption, and data formats for the ECDH component of the composite algorithms.¶
Table 3 describes the ECDH-KEM parameters and artifact lengths. The artifacts in Table 3 follow the encodings described in [RFC7748].¶
X25519 | X448 | |
---|---|---|
Algorithm ID reference | TBD (105 for testing) | TBD (106 for testing) |
Field size | 32 octets | 56 octets |
ECDH-KEM | x25519Kem (Section 4.1.1.1) | x448Kem (Section 4.1.1.2) |
ECDH public key | 32 octets [RFC7748] | 56 octets [RFC7748] |
ECDH secret key | 32 octets [RFC7748] | 56 octets [RFC7748] |
ECDH ephemeral | 32 octets [RFC7748] | 56 octets [RFC7748] |
ECDH share | 32 octets [RFC7748] | 56 octets [RFC7748] |
Key share | 32 octets | 64 octets |
Hash | SHA3-256 | SHA3-512 |
The various procedures to perform the operations of an ECDH KEM are defined in the following subsections. Specifically, each of these subsections defines the instances of the following operations:¶
(ecdhCipherText, ecdhKeyShare) <- ECDH-KEM.Encaps(ecdhPublicKey)¶
and¶
(ecdhKeyShare) <- ECDH-KEM.Decaps(ecdhSecretKey, ecdhCipherText, ecdhPublicKey)¶
To instantiate ECDH-KEM
, one must select a parameter set from Table 3.¶
The encapsulation and decapsulation operations of x25519kem
are described using the function X25519()
and encodings defined in [RFC7748].
The ecdhSecretKey
is denoted as r
, the ecdhPublicKey
as R
, they are subject to the equation R = X25519(r, U(P))
.
Here, U(P)
denotes the u-coordinate of the base point of Curve25519.¶
The operation x25519Kem.Encaps()
is defined as follows:¶
Generate an ephemeral key pair {v
, V
} via V = X25519(v,U(P))
where v
is a randomly generated octet string with a length of 32 octets¶
Compute the shared coordinate X = X25519(v, R)
where R
is the recipient's public key ecdhPublicKey
¶
Set the output ecdhCipherText
to V
¶
Set the output ecdhKeyShare
to SHA3-256(X || ecdhCipherText || ecdhPublicKey)
¶
The operation x25519Kem.Decaps()
is defined as follows:¶
The encapsulation and decapsulation operations of x448kem
are described using the function X448()
and encodings defined in [RFC7748].
The ecdhSecretKey
is denoted as r
, the ecdhPublicKey
as R
, they are subject to the equation R = X25519(r, U(P))
.
Here, U(P)
denotes the u-coordinate of the base point of Curve448.¶
The operation x448.Encaps()
is defined as follows:¶
Generate an ephemeral key pair {v
, V
} via V = X448(v,U(P))
where v
is a randomly generated octet string with a length of 56 octets¶
Compute the shared coordinate X = X448(v, R)
where R
is the recipient's public key ecdhPublicKey
¶
Set the output ecdhCipherText
to V
¶
Set the output ecdhKeyShare
to SHA3-512(X || ecdhCipherText || ecdhPublicKey)
¶
The operation x448Kem.Decaps()
is defined as follows:¶
ML-KEM features the following operations:¶
(mlkemCipherText, mlkemKeyShare) <- ML-KEM.Encaps(mlkemPublicKey)¶
and¶
(mlkemKeyShare) <- ML-KEM.Decaps(mlkemCipherText, mlkemSecretKey)¶
The above are the operations ML-KEM.Encaps
and ML-KEM.Decaps
defined in [FIPS-203].
Note that mlkemPublicKey
is the encapsulation and mlkemSecretKey
is the decapsulation key.¶
ML-KEM has the parametrization with the corresponding artifact lengths in octets as given in Table 4. All artifacts are encoded as defined in [FIPS-203].¶
Algorithm ID reference | ML-KEM | Public key | Secret key | Ciphertext | Key share |
---|---|---|---|---|---|
TBD (105 for testing) | ML-KEM-768 | 1184 | 64 | 1088 | 32 |
TBD (106 for testing) | ML-KEM-1024 | 1568 | 64 | 1568 | 32 |
To instantiate ML-KEM
, one must select a parameter set from the column "ML-KEM" of Table 4.¶
The procedure to perform ML-KEM.Encaps()
is as follows:¶
Invoke (mlkemCipherText, mlkemKeyShare) <- ML-KEM.Encaps(mlkemPublicKey)
, where mlkemPublicKey
is the recipient's public key¶
Set mlkemCipherText
as the ML-KEM ciphertext¶
Set mlkemKeyShare
as the ML-KEM symmetric key share¶
The procedure to perform ML-KEM.Decaps()
is as follows:¶
Table 1 specifies the following ML-KEM + ECDH composite public-key encryption schemes:¶
Algorithm ID reference | ML-KEM | ECDH-KEM |
---|---|---|
TBD (105 for testing) | ML-KEM-768 | x25519Kem |
TBD (106 for testing) | ML-KEM-1024 | x448Kem |
The ML-KEM + ECDH composite public-key encryption schemes are built according to the following principal design:¶
The ML-KEM encapsulation algorithm is invoked to create an ML-KEM ciphertext together with an ML-KEM symmetric key share.¶
The encapsulation algorithm of an ECDH KEM, namely X25519-KEM or X448-KEM, is invoked to create an ECDH ciphertext together with an ECDH symmetric key share.¶
A Key-Encryption-Key (KEK) is computed as the output of a key combiner that receives as input both of the above created symmetric key shares and the protocol binding information.¶
The session key for content encryption is then wrapped as described in [RFC3394] using AES-256 as algorithm and the KEK as key.¶
The PKESK packet's algorithm-specific parts are made up of the ML-KEM ciphertext, the ECDH ciphertext, and the wrapped session key.¶
For the composite KEM schemes defined in Table 1 the following procedure MUST be used to compute the KEK that wraps a session key.
The construction is a key derivation function compliant to [SP800-108], Section 4.4, based on KMAC256.
It is given by the following algorithm, which computes the key encryption key KEK
that is used to wrap, i.e., encrypt, the session key.¶
// multiKeyCombine(mlkemKeyShare, mlkemCipherText, mlkemPublicKey, ecdhKeyShare, // ecdhCipherText, ecdhPublicKey, algId) // // Input: // mlkemKeyShare - the ML-KEM key share encoded as an octet string // mlkemCipherText - the ML-KEM ciphertext encoded as an octet string // mlkemPublicKey - The ML-KEM public key of the recipient as an octet string // ecdhKeyShare - the ECDH key share encoded as an octet string // ecdhCipherText - the ECDH ciphertext encoded as an octet string // ecdhPublicKey - The ECDH public key of the recipient as an octet string // algId - the OpenPGP algorithm ID of the public-key encryption algorithm // domSep – the UTF-8 encoding of the string "OpenPGPCompositeKDFv1" // // domSep given in hexadecimal encoding := 4F 70 65 6E 50 47 50 43 6F 6D 70 // 6F 73 69 74 65 4B 44 46 76 31 KEK = KMAC256(mlkemKeyShare || ecdhKeyShare, mlkemCipherText || ecdhCipherText || mlkemPublicKey || ecdhPublicKey || algId, 256, domSep) return KEK¶
Here, the parameters to KMAC256 appear in the order as specified in [SP800-185], Section 4, i.e., the key K, main input data X, requested output length in bits L, and optional customization string S.¶
Note that the values ecdhKeyShare
defined in Section 4.1.1 and mlkemKeyShare
defined in Section 4.1.2 already use the relative ciphertext in the derivation.
The ciphertext and public keys are by design included again in the key combiner to provide a robust security proof.¶
The implementation MUST generate the ML-KEM and the ECDH component keys independently. ML-KEM key generation follows the specification [FIPS-203] and the artifacts are encoded as fixed-length octet strings as defined in Section 4.1.2. For ECDH this is done following the relative specification in [RFC7748], and encoding the outputs as fixed-length octet strings in the format specified in Table 3.¶
The procedure to perform public-key encryption with an ML-KEM + ECDH composite scheme is as follows:¶
Take the recipient's authenticated public-key packet pkComposite
and sessionKey
as input¶
Parse the algorithm ID from pkComposite
and set it as algId
¶
Extract the ecdhPublicKey
and mlkemPublicKey
component from the algorithm specific data encoded in pkComposite
with the format specified in Section 4.3.2.¶
Instantiate the ECDH-KEM and the ML-KEM depending on the algorithm ID according to Table 5¶
Compute (ecdhCipherText, ecdhKeyShare) := ECDH-KEM.Encaps(ecdhPublicKey)
¶
Compute (mlkemCipherText, mlkemKeyShare) := ML-KEM.Encaps(mlkemPublicKey)
¶
Compute KEK := multiKeyCombine(mlkemKeyShare, mlkemCipherText, mlkemPublicKey, ecdhKeyShare, ecdhCipherText, ecdhPublicKey, algId, 256)
as defined in Section 4.2.1¶
Compute C := AESKeyWrap(KEK, sessionKey)
with AES-256 as per [RFC3394] that includes a 64 bit integrity check¶
Output the algorithm specific part of the PKESK as ecdhCipherText || mlkemCipherText || len(C, symAlgId) (|| symAlgId) || C
, where both symAlgId
and len(C, symAlgId)
are single octet fields, symAlgId
denotes the symmetric algorithm ID used and is present only for a v3 PKESK, and len(C, symAlgId)
denotes the combined octet length of the fields specified as the arguments.¶
The procedure to perform public-key decryption with an ML-KEM + ECDH composite scheme is as follows:¶
Take the matching PKESK and own secret key packet as input¶
From the PKESK extract the algorithm ID as algId
and the wrapped session key as encryptedKey
¶
Check that the own and the extracted algorithm ID match¶
Parse the ecdhSecretKey
and mlkemSecretKey
from the algorithm specific data of the own secret key encoded in the format specified in Section 4.3.2¶
Instantiate the ECDH-KEM and the ML-KEM depending on the algorithm ID according to Table 5¶
Parse ecdhCipherText
, mlkemCipherText
, and C
from encryptedKey
encoded as ecdhCipherText || mlkemCipherText || len(C,symAlgId) (|| symAlgId) || C
as specified in Section 4.3.1, where symAlgId
is present only in the case of a v3 PKESK.¶
Compute (ecdhKeyShare) := ECDH-KEM.Decaps(ecdhCipherText, ecdhSecretKey, ecdhPublicKey)
¶
Compute (mlkemKeyShare) := ML-KEM.Decaps(mlkemCipherText, mlkemSecretKey)
¶
Compute KEK := multiKeyCombine(mlkemKeyShare, mlkemCipherText, mlkemPublicKey, ecdhKeyShare, ecdhCipherText, ecdhPublicKey, algId)
as defined in Section 4.2.1¶
Compute sessionKey := AESKeyUnwrap(KEK, C)
with AES-256 as per [RFC3394], aborting if the 64 bit integrity check fails¶
Output sessionKey
¶
The algorithm-specific fields consists of the output of the encryption procedure described in Section 4.2.3:¶
A fixed-length octet string representing an ECDH ephemeral public key in the format associated with the curve as specified in Section 4.1.1.¶
A fixed-length octet string of the ML-KEM ciphertext, whose length depends on the algorithm ID as specified in Table 4.¶
A one-octet size of the following fields.¶
Only in the case of a v3 PKESK packet: a one-octet symmetric algorithm identifier.¶
The wrapped session key represented as an octet string.¶
Note that like in the case of the algorithms X25519 and X448 specified in [RFC9580], for the ML-KEM composite schemes, in the case of a v3 PKESK packet, the symmetric algorithm identifier is not encrypted.
Instead, it is placed in plaintext after the mlkemCipherText
and before the length octet preceding the wrapped session key.
In the case of v3 PKESK packets for ML-KEM composite schemes, the symmetric algorithm used MUST be AES-128, AES-192 or AES-256 (algorithm ID 7, 8 or 9).¶
In the case of a v3 PKESK, a receiving implementation MUST check if the length of the unwrapped symmetric key matches the symmetric algorithm identifier, and abort if this is not the case.¶
Implementations MUST NOT use the obsolete Symmetrically Encrypted Data packet (tag 9) to encrypt data protected with the algorithms described in this document.¶
The composite ML-KEM + ECDH schemes MUST be used only with v6 keys, as defined in [RFC9580].¶
The algorithm-specific public key is this series of values:¶
A fixed-length octet string representing an EC point public key, in the point format associated with the curve specified in Section 4.1.1.¶
A fixed-length octet string containing the ML-KEM public key, whose length depends on the algorithm ID as specified in Table 4.¶
The algorithm-specific secret key is these two values:¶
A fixed-length octet string of the encoded secret scalar, whose encoding and length depend on the algorithm ID as specified in Section 4.1.1.¶
A fixed-length octet string containing the ML-KEM secret key in seed format, whose length is 64 octets (compare Table 4).
The seed format is defined in accordance with [FIPS-203], Section 3.3.
Namely, the secret key is given by the concatenation of the values of d
and z
, generated in steps 1 and 2 of ML-KEM.KeyGen
[FIPS-203], each of a length of 32 octets.
Upon parsing the private key format, or before using the secret key, for the expansion of the key, the function ML-KEM.KeyGen_internal
[FIPS-203] has to be invoked with the parsed values of d
and z
as input.¶
Throughout this specification EdDSA refers to the PureEdDSA variant defined in [RFC8032].¶
To sign and verify with EdDSA the following operations are defined:¶
(eddsaSignature) <- EdDSA.Sign(eddsaSecretKey, dataDigest)¶
and¶
(verified) <- EdDSA.Verify(eddsaPublicKey, eddsaSignature, dataDigest)¶
The public and secret key, as well as the signature MUST be encoded according to [RFC8032] as fixed-length octet strings. The following table describes the EdDSA parameters and artifact lengths:¶
Algorithm ID reference | Curve | Field size | Public key | Secret key | Signature |
---|---|---|---|---|---|
TBD (107 for testing) | Ed25519 | 32 | 32 | 32 | 64 |
TBD (108 for testing) | Ed448 | 57 | 57 | 57 | 114 |
Throughout this specification ML-DSA refers to the pure version ML-DSA, i.e., in contrast to the pre-hash variant, defined in [FIPS-204].¶
For ML-DSA signature generation the default hedged version of ML-DSA.Sign
given in [FIPS-204] is used.
That is, to sign with ML-DSA the following operation is defined:¶
(mldsaSignature) <- ML-DSA.Sign(mldsaSecretKey, dataDigest)¶
For ML-DSA signature verification the algorithm ML-DSA.Verify given in [FIPS-204] is used. That is, to verify with ML-DSA the following operation is defined:¶
(verified) <- ML-DSA.Verify(mldsaPublicKey, dataDigest, mldsaSignature)¶
ML-DSA has the parametrization with the corresponding artifact lengths in octets as given in Table 7. All artifacts are encoded as defined in [FIPS-204].¶
Algorithm ID reference | ML-DSA | Public key | Secret key | Signature value |
---|---|---|---|---|
TBD (107 for testing) | ML-DSA-65 | 1952 | 32 | 3309 |
TBD (108 for testing) | ML-DSA-87 | 2592 | 32 | 4627 |
Signature data (i.e. the data to be signed) is digested prior to signing operations, see [RFC9580, Section 5.2.4]. Composite ML-DSA + EdDSA signatures MUST use the associated hash algorithm as specified in Table 8 for the signature data digest. Signatures using other hash algorithms MUST be considered invalid.¶
An implementation supporting a specific ML-DSA + EdDSA algorithm MUST also support the matching hash algorithm.¶
Algorithm ID reference | Hash function | Hash function ID reference |
---|---|---|
TBD (107 for testing) | SHA3-256 | 12 |
TBD (108 for testing) | SHA3-512 | 14 |
The implementation MUST generate the ML-DSA and the EdDSA component keys independently. ML-DSA key generation follows the specification [FIPS-204] and the artifacts are encoded as fixed-length octet strings as defined in Section 5.1.2. For EdDSA this is done following the relative specification in [RFC7748], and encoding the artifacts as specified in Section 5.1.1 as fixed-length octet strings.¶
To sign a message M
with ML-DSA + EdDSA the following sequence of operations has to be performed:¶
Generate dataDigest
according to [RFC9580, Section 5.2.4]¶
Create the EdDSA signature over dataDigest
with EdDSA.Sign()
from Section 5.1.1¶
Create the ML-DSA signature over dataDigest
with ML-DSA.Sign()
from Section 5.1.2¶
Encode the EdDSA and ML-DSA signatures according to the packet structure given in Section 5.3.1.¶
To verify an ML-DSA + EdDSA signature the following sequence of operations has to be performed:¶
Verify the EdDSA signature with EdDSA.Verify()
from Section 5.1.1¶
Verify the ML-DSA signature with ML-DSA.Verify()
from Section 5.1.2¶
As specified in Section 3.2 an implementation MUST validate both signatures, i.e. EdDSA and ML-DSA, successfully to state that a composite ML-DSA + EdDSA signature is valid.¶
The composite ML-DSA + EdDSA schemes MUST be used only with v6 signatures, as defined in [RFC9580].¶
The algorithm-specific v6 signature parameters for ML-DSA + EdDSA signatures consist of:¶
The composite ML-DSA + EdDSA schemes MUST be used only with v6 keys, as defined in [RFC9580].¶
The algorithm-specific public key for ML-DSA + EdDSA keys is this series of values:¶
A fixed-length octet string representing the EdDSA public key, whose length depends on the algorithm ID as specified in Table 6.¶
A fixed-length octet string containing the ML-DSA public key, whose length depends on the algorithm ID as specified in Table 7.¶
The algorithm-specific secret key for ML-DSA + EdDSA keys is this series of values:¶
A fixed-length octet string representing the EdDSA secret key, whose length depends on the algorithm ID as specified in Table 6.¶
A fixed-length octet string containing the ML-DSA secret key in seed format, whose length is 32 octets (compare Table 7).
The seed format is defined in accordance with [FIPS-204], Section 3.6.3.
Namely, the secret key is given by the value xi
generated in step 1 of ML-DSA.KeyGen
[FIPS-204].
Upon parsing the private key format, or before using the secret key, for the expansion of the key, the function ML-DSA.KeyGen_internal
[FIPS-204] has to be invoked with the parsed value of xi
as input.¶
Throughout this specification SLH-DSA refers to the pure SLH-DSA version defined in [FIPS-205].¶
The following table lists the group of algorithm code points for the SLH-DSA signature scheme and the corresponding artifact lengths. This group of algorithms is henceforth referred to as "SLH-DSA code points".¶
Algorithm ID reference | SLH-DSA public key | SLH-DSA secret key | SLH-DSA signature |
---|---|---|---|
TBD (SLH-DSA-SHAKE-128s) | 32 | 64 | 7856 |
TBD (SLH-DSA-SHAKE-128f) | 32 | 64 | 17088 |
TBD (SLH-DSA-SHAKE-256s) | 64 | 128 | 29792 |
Signature data (i.e. the data to be signed) is digested prior to signing operations, see [RFC9580, Section 5.2.4]. SLH-DSA signatures MUST use the associated hash algorithm as specified in Table 10 for the signature data digest. Signatures using other hash algorithms MUST be considered invalid.¶
An implementation supporting a specific SLH-DSA algorithm code point MUST also support the matching hash algorithm.¶
Algorithm ID reference | Hash function | Hash function ID reference |
---|---|---|
TBD (SLH-DSA-SHAKE-128s) | SHA3-256 | 12 |
TBD (SLH-DSA-SHAKE-128f) | SHA3-256 | 12 |
TBD (SLH-DSA-SHAKE-256s) | SHA3-512 | 14 |
SLH-DSA key generation is performed via the algorithm SLH-DSA.KeyGen
as specified in [FIPS-205], and the artifacts are encoded as fixed-length octet strings as defined in Section 6.1.¶
SLH-DSA signature generation is performed via the algorithm SLH-DSA.Sign
as specified in [FIPS-205].
The variable opt_rand
is set to PK.seed
.
See also Section 9.4.¶
SLH-DSA signature verification is performed via the algorithm SLH-DSA.Verify
as specified in [FIPS-205].¶
The SLH-DSA algorithms MUST be used only with v6 signatures, as defined in [RFC9580, Section 5.2.3].¶
The algorithm-specific part of a signature packet for an SLH-DSA algorithm code point consists of:¶
The SLH-DSA algorithms code points MUST be used only with v6 keys, as defined in [RFC9580].¶
The algorithm-specific part of the public key consists of:¶
A fixed-length octet string containing the SLH-DSA public key, whose length depends on the algorithm ID as specified in Table 9.¶
The algorithm-specific part of the secret key consists of:¶
Implementations MUST implement AES-256
.
An implementation SHOULD use AES-256
in the case of a v1 SEIPD packet, or AES-256
with any available AEAD mode in the case of a v2 SEIPD packet, if all recipient certificates indicate support for it (explicitly or implicitly).¶
A certificate that contains a PQ(/T) key SHOULD include AES-256
in the "Preferred Symmetric Ciphers for v1 SEIPD" subpacket and SHOULD include the pair AES-256
with OCB
in the "Preferred AEAD Ciphersuites" subpacket.¶
If AES-256
is not explicitly in the list of the "Preferred Symmetric Ciphers for v1 SEIPD" subpacket, and if the certificate contains a PQ/T key, it is implicitly at the end of the list.
This is justified since AES-256
is mandatory to implement.
If AES-128
is also implicitly added to the list, it is added after AES-256
.¶
If the pair AES-256
with OCB
is not explicitly in the list of the "Preferred AEAD Ciphersuites" subpacket, and if the certificate contains a PQ/T key, it is implicitly at the end of the list.
This is justified since AES-256
and OCB
are mandatory to implement.
If the pair AES-128
with OCB
is also implicitly added to the list, it is added after the pair AES-256
with OCB
.¶
Subkey binding signatures over algorithms described in this document and primary key binding signatures made by algorithms described in this document MUST NOT be made with MD5
, SHA-1
, or RIPEMD-160
.
A receiving implementation MUST treat such a signature as invalid.¶
The post-quantum KEM algorithms defined in Table 1 and the signature algorithms defined in Table 2 are a set of new public key algorithms that extend the algorithm selection of [RFC9580]. During the transition period, the post-quantum algorithms will not be supported by all clients. Therefore various migration considerations must be taken into account, in particular backwards compatibility to existing implementations that have not yet been updated to support the post-quantum algorithms.¶
Implementations SHOULD prefer PQ(/T) keys when multiple options are available. When encrypting to a certificate that has both a valid PQ/T and a valid traditional encryption subkey, an implementation SHOULD use the PQ/T subkey only. Furthermore, if an application has any means to determine that encrypting to a PQ/T certificate and a traditional certificate is redundant, it should omit encrypting to the traditional certificate.¶
As specified in Section 3.1, the confidentiality of a message is not post-quantum secure when using multiple PKESKs if at least one does not use PQ/T encryption schemes. An implementation SHOULD NOT abort the encryption process when encrypting a message to both PQ/T and traditional keys to allow for a smooth transition to post-quantum cryptography.¶
An implementation MAY sign with both a PQ(/T) and an ECC key using multiple signatures over the same data as described in Section 3.3. Signing only with PQ(/T) key material is not backwards compatible.¶
It is RECOMMENDED to generate fresh secrets when generating PQ(/T) keys. Note that reusing key material from existing ECC keys in PQ(/T) keys does not provide backwards compatibility.¶
An OpenPGP certificate is composed of a certification-capable primary key and one or more subkeys for signature, encryption, and authentication. Two migration strategies are recommended:¶
Generate two independent certificates, one for PQ(/T)-capable implementations, and one for legacy implementations. Implementations not understanding PQ(/T) certificates can use the legacy certificate, while PQ(/T)-capable implementations will prefer the newer certificate. This allows having a traditional certificate for compatibility and a v6 PQ(/T) certificate, at a greater complexity in key distribution.¶
Attach PQ(/T) encryption or signature subkeys to an existing traditional v6 OpenPGP certificate. Implementations understanding PQ(/T) will be able to parse and use the subkeys, while PQ(/T)-incapable implementations can gracefully ignore them. This simplifies key distribution, as only one certificate needs to be communicated and verified, but leaves the primary key vulnerable to quantum computer attacks.¶
When multiple signatures are applied to a message, the question of the protocol's resistance against signature stripping attacks naturally arises. In a signature stripping attack, an adversary removes one or more of the signatures such that only a subset of the signatures remain in the message at the point when it is verified. This amounts to a downgrade attack that potentially reduces the value of the signature. It should be noted that the composite signature schemes specified in this draft are not subject to a signature stripping vulnerability. This is due to the fact that in any OpenPGP signature, the hashed meta data includes the signature algorithm ID, as specified in [RFC9580, Section 5.2.4]. As a consequence, a component signature taken out of the context of a specific composite algorithm is not a valid signature for any message.¶
Furthermore, it is also not possible to craft a new signature for a message that was signed twice with a composite algorithm by interchanging (i.e., remixing) the component signatures, which would classify as a weak existential forgery. This is due to the fact that each v6 signatures also includes a random salt at the start of the hashed meta data, as also specified in the aforementioned reference.¶
Our construction of the ECDH-KEMs, in particular the inclusion of ecdhCipherText
in the final hashing step in encapsulation and decapsulation that produces the ecdhKeyShare
, is standard and known as hashed ElGamal key encapsulation, a hashed variant of ElGamal encryption.
It ensures IND-CCA2 security in the random oracle model under some Diffie-Hellman intractability assumptions [CS03].
The additional inclusion of ecdhPublicKey
follows the security advice in [RFC7748, Section 6.1].¶
For the key combination in Section 4.2.1 this specification limits itself to the use of KMAC256 in a construction following [SP800-108]. The sponge construction used by KMAC256 was proven to be indifferentiable from a random oracle [BDPA08]. This means, that in contrast to SHA2, which uses a Merkle-Damgard construction, no HMAC-based construction is required for key combination. It is therefore sufficient to simply process the concatenation of any number of key shares with a domain separation when using a sponge-based construction like KMAC256.¶
More precisely, for a given capacity c
the indifferentiability proof shows that assuming there are no weaknesses found in the Keccak permutation, an attacker has to make an expected number of 2^(c/2)
calls to the permutation to tell KMAC256 from a random oracle.
For a random oracle, a difference in only a single bit gives an unrelated, uniformly random output.
Hence, to be able to distinguish a key K
, derived from shared keys K1
and K2
(with ciphertexts C1
and C2
and public keys P1
and P2
) as¶
K = KMAC256(K1 || K2, C1 || C2 || P1 || P2 || algId, 256, domSep)¶
from a random bit string, an adversary has to know (or correctly guess) both key shares K1
and K2
, entirely.¶
The proposed construction in Section 4.2.1 preserves IND-CCA2 of any of its ingredient KEMs, i.e. the newly formed combined KEM is IND-CCA2 secure as long as at least one of the ingredient KEMs is. Indeed, the above stated indifferentiability from a random oracle qualifies Keccak as a split-key pseudorandom function as defined in [GHP18]. That is, Keccak behaves like a random function if at least one input shared secret is picked uniformly at random. Our construction can thus be seen as an instantiation of the IND-CCA2 preserving Example 3 in Figure 1 of [GHP18], up to some reordering of input shared secrets and ciphertexts. In the random oracle setting, the reordering does not influence the arguments in [GHP18].¶
The domSeparation
information defined in Section 4.2.1 provides the domain separation for the key combiner construction.
This ensures that the input keying material is used to generate a KEK for a specific purpose or context.¶
The algorithm ID, passed as the algID
paramter to multiKeyCombine
, binds the derived KEK to the chosen algorithm. The input of the public keys into multiKeyCombine
binds the KEK to the communication parties.
The algorithm ID identifies unequivocally the algorithm, the parameters for its instantiation, and the length of all artifacts, including the derived key.¶
This is in line with the Recommendation for ECC in Section 5.5 of [SP800-56A]. Other fields included in the recommendation are not relevant for the OpenPGP protocol, since the sender is not required to have a key of their own, there are no pre-shared secrets, and all the other parameters are unequivocally defined by the algorithm ID.¶
The specification of SLH-DSA [FIPS-205] prescribes an optional non-deterministic message randomizer. This is not used in this specification, as OpenPGP v6 signatures already provide a salted signature data digest of the appropriate size.¶
In order not to extend the attack surface, we bind the hash algorithm used for signature data digestion to the hash algorithm used internally by the signature algorithm.¶
ML-DSA internally uses a SHAKE256 digest, therefore we require SHA3 in the ML-DSA + EdDSA signature packet, see Section 5.2.1. Note that we bind a NIST security category 2 hash function to a signature algorithm that falls into NIST security category 3. This does not constitute a security bottleneck: because of the unpredictable random salt that is prepended to the digested data in v6 signatures, the hardness assumption is not collision resistance but second-preimage resistance.¶
In the case of SLH-DSA the internal hash algorithm varies based on the algorithm ID, see Section 6.1.1.¶
This specification mandates support for AES-256
for two reasons.
First, AES-KeyWrap
with AES-256
is already part of the composite KEM construction.
Second, some of the PQ(/T) algorithms target the security level of AES-256
.¶
For the same reasons, this specification further recommends the use of AES-256
if it is supported by all recipient certificates, regardless of what the implementation would otherwise choose based on the recipients' preferences.
This recommendation should be understood as a clear and simple rule for the selection of AES-256
for encryption.
Implementations may also make more nuanced decisions.¶
When generating keys, this specification requires component keys to be generated independently, and recommends not to reuse existing keys for any of the components. Note that reusing a key across different protocols may lead to signature confusion vulnerabilities, that formally classify as signature forgeries. Generally, reusing a key for different purposes may lead to subtle vulnerabilities.¶
This specification introduces both ML-DSA + EdDSA as well as SLH-DSA as PQ(/T) signature schemes.¶
Generally, it can be said that ML-DSA + EdDSA provides a performance in terms of execution time requirements that is close to that of traditional ECC signature schemes. Regarding the size of signatures and public keys, though, ML-DSA has far greater requirements than traditional schemes like EC-based or even RSA signature schemes.¶
Implementers may want to offer SLH-DSA for applications where the weaker security assumptions of a hash-based signature scheme are required – namely only the 2nd preimage resistance of a hash function – and thus a potentially higher degree of trust in the long-term security of signatures is achieved. However, SLH-DSA has performance characteristics in terms of execution time of the signature generation as well as space requirements for the signature that are even greater than those of ML-DSA + EdDSA signature schemes.¶
Pertaining to the execution time, the particularly costly operation in SLH-DSA is the signature generation. Depending on the parameter set, it can range from approximately the one hundred fold to more than the two thousand fold of that of ML-DSA-87. These number are based on the performance measurements published in the NIST submissions for SLH-DSA and ML-DSA. In order to achieve fast signature generation times, the algorithm SLH-DSA-SHAKE-128f ("f" standing for "fast") should be chosen. This comes at the expense of a larger signature size. This choice can be relevant in applications where mass signing occurs or a small latency is required.¶
In order to minimize the space requirements of an SLH-DSA signature, an algorithm ID with the name ending in "s" for "small" should be chosen. This comes at the expense of a longer signature generation time. In particular, SLH-DSA-SHAKE-128s achieves the smallest possible signature size, which is about the double size of an ML-DSA-87 signature. Where a higher security level than 128 bit is needed, SLH-DSA-SHAKE-256s can be used.¶
Unlike the signature generation time, the signature verification time of SLH-DSA is not that much larger than that of other PQC schemes. Based on the performance measurements published in the NIST submissions for SLH-DSA and ML-DSA, the verification time of the SLH-DSA is, for the parameters covered by this specification, larger than that of ML-DSA-87 by a factor ranging from four (for -128s) over nine (for -256s) to twelve (for -128f).¶
IANA is requested to add the algorithm IDs defined in Table 11 to the existing registry OpenPGP Public Key Algorithms
.
The field specifications enclosed in brackets for the ML-KEM + ECDH composite algorithms denote fields that are only conditionally contained in the data structure.¶
ID | Algorithm | Public Key Format | Secret Key Format | Signature Format | PKESK Format | Reference |
---|---|---|---|---|---|---|
TBD | ML-KEM-768+X25519 | 32 octets X25519 public key (Table 3), 1184 octets ML-KEM-768 public key (Table 4) | 32 octets X25519 secret key (Table 3), 2400 octets ML-KEM-768 secret-key (Table 4) | N/A | 32 octets X25519 ciphertext, 1088 octets ML-KEM-768 ciphertext [, 1 octet algorithm ID in case of v3 PKESK], 1 octet length field of value n , n octets wrapped session key (Section 4.3.1) |
Section 4.2 |
TBD | ML-KEM-1024+X448 | 56 octets X448 public key (Table 3), 1568 octets ML-KEM-1024 public key (Table 4) | 56 octets X448 secret key (Table 3), 3168 octets ML-KEM-1024 secret-key (Table 4) | N/A | 56 octets X448 ciphertext, 1568 octets ML-KEM-1024 ciphertext [, 1 octet algorithm ID in case of v3 PKESK], 1 octet length field of value n , n octets wrapped session key (Section 4.3.1) |
Section 4.2 |
TBD | ML-DSA-65+Ed25519 | 32 octets Ed25519 public key (Table 6), 1952 octets ML-DSA-65 public key (Table 7) | 32 octets Ed25519 secret key (Table 6), 4032 octets ML-DSA-65 secret (Table 7) | 64 octets Ed25519 signature (Table 6), 3293 octets ML-DSA-65 signature (Table 7) | N/A | Section 5.2 |
TBD | ML-DSA-87+Ed448 | 57 octets Ed448 public key (Table 6), 2592 octets ML-DSA-87 public key (Table 7) | 57 octets Ed448 secret key (Table 6), 4896 octets ML-DSA-87 secret (Table 7) | 114 octets Ed448 signature (Table 6), 4595 octets ML-DSA-87 signature (Table 7) | N/A | Section 5.2 |
TBD | SLH-DSA-SHAKE-128s | 32 octets public key (Table 9) | 64 octets secret key (Table 9) | 7856 octets signature (Table 9) | N/A | Section 6.1 |
TBD | SLH-DSA-SHAKE-128f | 32 octets public key (Table 9) | 64 octets secret key (Table 9) | 17088 octets signature (Table 9) | N/A | Section 6.1 |
TBD | SLH-DSA-SHAKE-256s | 64 octets public key (Table 9) | 128 octets secret key (Table 9) | 29792 octets signature (Table 9) | N/A | Section 6.1 |
Shifted the algorithm IDs by 4 to align with the crypto-refresh.¶
Renamed v5 packets into v6 to align with the crypto-refresh.¶
Defined IND-CCA2 security for KDF and key combination.¶
Added explicit key generation procedures.¶
Changed the key combination KMAC salt.¶
Mandated Parameter ID check in SPHINCS+ signature verification.¶
Fixed key share size for Kyber-768.¶
Added "Preliminaries" section.¶
Fixed IANA considerations.¶
Added Johannes Roth as author¶
Renamed draft¶
Mandated AES-256
as mandatory to implement.¶
Added AES-256
/ AES-128
with OCB
implicitly to v1/v2 SEIPD preferences of "PQ(/T) certificates".¶
Added a recommendation to use AES-256
when possible.¶
Swapped the optional v3 PKESK algorithm identifier with length octet in order to align with X25519 and X448.¶
Fixed ML-DSA private key size.¶
Added test vectors.¶
Correction and completion of IANA instructions.¶
Removed git rebase artifact.¶
Updated SLH-DSA by removing parametrization and restricting to three SLH-DSA-SHAKE algorithm code points.¶
Removed NIST and Brainpool curve hybrids, dropped ECDSA from the current specification.¶
Updated KDF as proposed at IETF 119.¶
Removed whitespaces from composite algorithm names.¶
Explicitly disallowed SED (tag 9) and weak hashes when using PQ algorithms.¶
Fixed and improved test vectors.¶
Stephan Ehlen (BSI)
Carl-Daniel Hailfinger (BSI)
Andreas Huelsing (TU Eindhoven)¶
To help implementing this specification a set of non-normative examples follow here.¶
Here is a Transferable Secret Key consisting of:¶
A v6 Ed25519 Private-Key packet¶
A v6 direct key self-signature¶
A User ID packet¶
A v6 positive certification self-signature¶
A v6 ML-KEM-768+X25519 Private-Subkey packet¶
A v6 subkey binding signature¶
The primary key has the fingerprint 4a6722225bcd7cb077936b6e1bf7e7b3d8e8f5f49d61257bf79d572faaa792ce
.¶
The subkey has the fingerprint 9521f34e730a005fc5f912b088da710ff2f340c82ce3a5526833bfd7a0050006
.¶
-----BEGIN PGP PRIVATE KEY BLOCK----- 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 nsXEzDINi5gbRcp0g8r/VikcaTR4Cg== -----END PGP PRIVATE KEY BLOCK-----¶
Here is the corresponding Transferable Public Key for Appendix A.1.1 consisting of:¶
A v6 Ed25519 Public-Key packet¶
A v6 direct key self-signature¶
A User ID packet¶
A v6 positive certification self-signature¶
A v6 ML-KEM-768+X25519 Public-Subkey packet¶
A v6 subkey binding signature¶
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 -----END PGP PUBLIC KEY BLOCK-----¶
Here is a signed message "Testing\n" encrypted to the certificate Appendix A.1.2 and signed by the secret key Appendix A.1.1:¶
The hex-encoded mlkemKeyShare
input to multiKeyCombine
is eb7fcf5ddbc127bc80d83dcb1bb43a1c6b9a1fa67b31752564d9f5fa18d80c64
.¶
The hex-encoded ecdhKeyShare
input to multiKeyCombine
is e5564bc3d80ed72c63e5eb940b47314ec68227aafba571f011399a2b7733545f
.¶
The hex-encoded output of multiKeyCombine
is 4fa8f45b53b408b284bbcd13019a15f049c920306cfe8354fa3c5931894d6b92
.¶
The hex-encoded session key is 873b2a8218a75cf3d570729ba48b88acbeb2d7ce9f993f4228ff37faf785fee5
.¶
-----BEGIN PGP MESSAGE----- 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 -----END PGP MESSAGE-----¶
Here is a Transferable Secret Key consisting of:¶
A v6 ML-DSA-65+Ed25519 Private-Key packet¶
A v6 direct key self-signature¶
A User ID packet¶
A v6 positive certification self-signature¶
A v6 ML-KEM-768+X25519 Private-Subkey packet¶
A v6 subkey binding signature¶
The primary key has the fingerprint bf262b24177002ac8ae5dc6da47c056d22ab9906d47d07952b75c358021901ca
.¶
The subkey has the fingerprint 48b94bce2f9771788f5feb74122d599989c400cc0f49108bc98e0ea7945e4838
.¶
-----BEGIN PGP PRIVATE KEY BLOCK----- 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 -----END PGP PRIVATE KEY BLOCK-----¶
Here is the corresponding Transferable Public Key for Appendix A.2.1 consisting of:¶
A v6 ML-DSA-65+Ed25519 Public-Key packet¶
A v6 direct key self-signature¶
A User ID packet¶
A v6 positive certification self-signature¶
A v6 ML-KEM-768+X25519 Public-Subkey packet¶
A v6 subkey binding signature¶
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 AAAAAAAAAAAABQwRGCAn -----END PGP PUBLIC KEY BLOCK-----¶
Here is a signed message "Testing\n" encrypted to the certificate Appendix A.2.2 and signed by the secret key Appendix A.2.1:¶
The hex-encoded mlkemKeyShare
input to multiKeyCombine
is b755f49eb910e4e9e5c87eda9d5676a88918f063012f0bf0cc61a70f83232f0c
.¶
The hex-encoded ecdhKeyShare
input to multiKeyCombine
is 219a49490e65f96c87b7ade46bd65db9fcb96308e217acc5b421accf39217901
.¶
The hex-encoded output of multiKeyCombine
is e00d037481ade01f4b061d2c81aec8e60072d24fc2bb5806b3358926bb03c7d8
.¶
The hex-encoded session key is 0e210c4027fa4f0be5a4d856cb6a6785b2e8cb48f5a12577f1621c8f8e4452a2
.¶
-----BEGIN PGP MESSAGE----- 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 -----END PGP MESSAGE-----¶
Here is a Transferable Secret Key consisting of:¶
A v6 ML-DSA-87+Ed448 Private-Key packet¶
A v6 direct key self-signature¶
A User ID packet¶
A v6 positive certification self-signature¶
A v6 ML-KEM-1024+X448 Private-Subkey packet¶
A v6 subkey binding signature¶
The primary key has the fingerprint 275c8bea833c5deab538269381b120ebc002b8bca9c19df88740c942343f1462
.¶
The subkey has the fingerprint 9e5f6087500c4a72b96ad343745360c99a0126dd43545e7e882ca4cdfe107fef
.¶
-----BEGIN PGP PRIVATE KEY BLOCK----- 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 WVtldYiOnLnO2f8AAAAAAAAAAAcQExwlLDND -----END PGP PRIVATE KEY BLOCK-----¶
Here is the corresponding Transferable Public Key for Appendix A.3.1 consisting of:¶
A v6 ML-DSA-87+Ed448 Public-Key packet¶
A v6 direct key self-signature¶
A User ID packet¶
A v6 positive certification self-signature¶
A v6 ML-KEM-1024+X448 Public-Subkey packet¶
A v6 subkey binding signature¶
-----BEGIN PGP PUBLIC KEY BLOCK----- xsmjBlHQxoBsAAAKWXJziNfCL9rRC7fv+Fg0M2LG8xuh4oBFpV3sHG/x7ZcmmDd3 DVtUXWvddUy9xqnOwrxZCsw+GawhgExDcznB5ct3rsSOwF/izPSifyK+6EQqGyNu cP/pR6QsTG0jwzIGgC9xJsmDaoX/sxpqnrgASVnWsFGUIKRoWfHRIQtE1t0FQ8G3 uHqHPNf3C3K77vk9vGS7SsFWOptmwLXKmHQE5PC5lztm/IVJiQsQI9V4VBwtS9Wd GWI6kMnKtknZKv76SOoKn6nj7g/4d32SrDFk9K+aSJgKzMIDsY0Clph/p6UNsAOt 1USBej7Uloj+ul+S3q3Jmlwqpolt9nv3wtGdKyRTyc2pIoziFZlqmW+CYMoejPp1 uG+wcFkxDRPxnB0jWCkqAoiGtVB8ZueMoNxBCx+KifhBjp67T0ymp8Y61d6h6tnz b8UgMn/3h9GgyJo8POvQBZCHodl9gVA0BaKCDdBIQlOfUtX4B+M6yZ8bN8ceHFds R+lrcVN7BImw2aOzOmECKpadLh7/34NB0WUpH9fHgjdOcVbmPjRWsaDkBRJ+8N6C NJw686tbfSluP35DhVFHsizR79Fv0tEhY2x8qo5f+XH3NesWwidOctBDxXbjkqe0 ibajQCHXJ1cG1OuC6kpHbEwJ18qPk+syPChy3OGTvps/Evovz34dSZ6bySQOnHl2 dhOGonfWNILCHoeW0UYMfGHJbjGbWqTtN16XcM611Zqx6W/+MQ0NUQ+GuhQkCRiX JN7gbTL5zd4Z/lS7lBIFbA604dMz9flIbf7i5OSfDqBqY8kg29TTuFQvdjGBVNqv W9HtYwiO17BAZ5Pvsbmf6gnOx7ASntmfyRw8PjujPss6VOjbr/lTS7vshysAyECx 2IcpNw1SWppdkb5uc8NRfoPdj3uipMbCtNypEILImiBkZT99fv9EWJFxffJEgJqx KkFZ/dHqo6xQTTVq5PblFLooq5WWQ8sjCRrF6YWF7++DSLAw0W8FkCdNRn4RyKIA 5plm4Phx34ZVBtyaI4o185EQ7gdwlfFqLZ1frcKKRaNuNm7uQdxmAiv5RuaV3y5e Y5azhhgKMwDSJhVPbwo3s/dzgYgfO7ZIi37BCv+442CP882SisvcB1TyJCNSOLoM 6ehJkLdudMHPPyYTWZx5pRnT7JiV5M4uWwJwoHwb9k+RiCLdSMbxSIZPvo5Sd8nQ 4kHtb6gV+ZATsKrR353IAssJMzBsYlIiv212CrHUHti/lkiPeXku47yZ9qhl6mN/ YcbuWqS/tXghLmMCe+ELepzJRW4b0w6E4fecpWe3cbHP7y7I908oNUE9wdaYLSFu +xRAccg7VD/Fudb0FolIx0HHDp8NwvFEVLVsMKj4bP0IJ2Kvz3kbzqCrvdRkLVpO 6v27xav0zdD5GrrCkmp8hVmEM2acaUDsdG71uTwEoPe7idP+XhNhewlBVvJz+BQn g1pAlDBvJnOXM0LNvWEEENGLxDF2blGbCZkmEBShr60oplkmm4KROaNlMfuFnCvU aGUTHu7Haa/P7l6MK82fEWqQe73+1McEHuEzgAztezkejGFAEqOtlYxLZmIbbyJX g8akVDC2TT5jTB1EI7nYsJRdtJ+2lIIjsrzCVnsyGWUiRrA7kbzX6JC91gqSKsAR Q+iXLiBrRrgXAp89mmyWVqQzs7R5rUelkzF+vPF75Vo3SYwj/rhTRWlXp/ybn7fO Wxz82yZV4h1/mEzxZae9FKYtI4MSBVgU86WzFHVnyAoUaO7MhpODqfMN24cMzVC/ bPitehManzIS6rargL5rR768nQvFXhPleyUFMQyoVUVHmrT1ZTzFygkZJYocXqxm NtxJZfmbSUk7wpRR3w190+nVKcjc7CDBVm9YR/Wukj6ps6ldwuQMgkkHTygNzaLH J7+yG0EraTp5NgEI5wsw2GXx11e9gDvvsmBWfqsK4T7t+AOKrlvwh6qu38Bp/7q/ fgKmNqhQDOxLBGjJuvrGHNpiKWoxXm9+sY3283H0WdQdk48aV+BH16HkgHWNGBgq 7k7v3GjFTQ9TNp0T216djkpZUbA5W1rmrInux7WyabPso+RcXTIwxGbqd6/g41Cs 71Cte2YTKeTXRun94sRRAWh/QNShJuQEULj5EAFyZX1szkvJ2HH2uYkwz8UbQTd2 JFbk0H1VEFEDs5rfTKdIEcDpAZYPyPL1k/I5L3rCZqz/obFeHkkTM66gOcRdzksV 4QRGixRaCSUcVCLJ6kirW9bQrQf4T0jjT1SroRjagLGdcE1fiq1gunl1h8p9wqjF XG/p/QUUSzKe+gD8CelD5riCOEpnGaHEqdgFFUu04EOMgjnYD738Ev35KwQLS3b2 6ccTpJWKyq9N/jkKKP38nm3l2h5fhPOivqXujoB8x7PZWEGfr1qXOov9Sqq29bYB C0Qu+kOf/QUybMNWWA29p1PMVevO5AbOeExUX1THqimXPXqStObXVcM5H7kCaRCz KSezmQQEGI+oTn6gomcaHuZMUB+po4KA3TQEbKVPl4VnSSsxDfyMlcbz7Q1B/0W/ eC2fQ7+5NJ7VeRQEVdOhCRgMpB74D98opwPa9+9m0Wmdwp4XVBgB/Ihs41kGLO+O 80MWpgygG9MJaOrmjN+SQSl7wKb3LQb8/A9m9lrX5qyCTCoEQrSY9muWUNH5JpPx bCLXFtUrvsT29pp+n1f8fLAJ3GMqLeTFn9jKjky9L9ClXX/DSDFbt8AFaCRajjYd olccL0aP1HKu34nEwmyOfT6dMGUH5glEr/InQP0wDsnM3/x8PpHfa1PcNLl212yb J2Hs6HQuOtTL3utOPlQl2eynpEqVLHvTSYx61kJNK93ztPINQ1eDSN31R5ehXmTM XSFMRV7LkATOvLEItlozBzhBjF4b6yFUEF4YeIh3OVEAS1aoiG7gECefz4f2OIL+ +TtNFZRC5ozyqZODiMu5+XRkmrCHwouXUCh7ibhYX1jhE7FqNGM9eUp26deTJqCk 9TPTmLr8NHmJTaMhEHfkvDVEgTFbwc1jHsaCGX8zs4gDtBCIZTuRXWVH17wOwOLa t0RewE/5YakW37IGRn8DWqBUptg+N/oLtyRCIVHUfif03QZTZ30DDqBrcJIDlsVW Ywbh/W1zRu194fkqIIA+ibelK1MYigQmScWRjXt6zL9LUxInbZQNa1XYkz2pglo7 CRv1sJlCD4ICRzeL59jU49PLX91wXlOQZmQDp2CKtsz6Q0I6ZVGsAv0yfBorC9w+ UUfs57cNGHteyIgp7WmK/Gaz/8GmP2c6zy6dwVYOtC8tKurGk8feEpx5OhwIutWC Uvd5xt3GH/J4daNcpbXSq9vF3x9Wq3BJFWgpOZygkopZLqp/T5EkSbF/pnYJ6j1s gDIvclDDTnCCclKmplEPjMvFlDoQonXkzEWmwIvw9U04BeG+kUvaZ3pBH5eKl0Gg uTt+shS8JocrxcRWj6aKwWkB6x7P2weSSMNyvCLGA2mVexGBbmNVppF2KFXLHCVa NWfAbzymXpPCuG87HlrBDODTeFPF7cLSNAYfbA4AAABABYJR0MaAAwsJBwMVCggC FgACmwMCHgkioQYnXIvqgzxd6rU4JpOBsSDrwAK4vKnBnfiHQMlCND8UYgUnCQIH AgAAAAAmHiC81OmU6iNPXTdCDvfPS4OC8ismC9e3OHHPJzqLPj/E5Gknqtk9F06K S77pjdlBOgViC6Pj0DkDakR4xApqhh8RoGgOepJi07wuc+zTzrJZJge/4mxUiQ/b AIU3ZLEaA8pJnbvGyesLTy5KwiJGeFXFS46FdT4T41v7qnzej+ORbzqnhXP3sO2l ZUK5DhmKjvgGAKT2jYQSijLYq8HAh0EEIiYbzYCR0tGjT/Kx3uoHut1Hmczo1vw8 PzGyYYCcSSeQpQo3P97oM8epWye9/QmH01Vn9gcVrlZ4HAJR++Qe4ogb6enR4Hie ZTvkZRNDOO3+7KIc+L5QrE6SUhiKtkEe0Ii2H7lmff9EEPgOiWuwA/B9QFcAetAi rOkLv9zb4vN3pctStqZFnQilK/lxLpZZMyoU9qZA4uYeXi/5P9lWDiaXLWSL1h0n aevd0keQZgF8r0T8pBTwjQC7CgEUpSopI75BRw0gkJWu5eP6MSkAH5yPIXmIop1z 1tYPbPbYLIeIkuONhyElIHF59am4H6/q4qWVnpJWbgNkikeslPHdpEIfvFqRhSvG GTNSxb4zKOoXtkjsEVBl/VPfmgnQaACyLbnU6hSZptl9AvUNf8MPuM3msrtBVLDU AxC5jsCMYQQojHqXBL5ziXWaiA7VvDnl1A7lRDvHLqmv07zvTdBGlychlu9uMFOX 8JQSJrq39K8vGUi1wUP79csTyjyKyDLY2AIhTtZRatgxBvkmWNXL5I3btTUXEa6U G4yklDRr8Y/onnd6QrUr67GgiVVjuJcOIBOA6i/JDustYX6x9DPRpmT2128tKOr9 zONDzKBs7DpnNEAF0ewj2CRLlOsvKAVW8mMAAXWZ/by02cTLna7zWSuzgsLbKRfe veEOPjz1O8eEU84gZf853BYCrFsJeFFe6710l9d01U+sGJDcfG0eJjnNgL+xmhj/ UTs04VuCkkR2dGAfukkpiaLGz06M6gsn4Cy3LdAd8yzQ5i0edDIWpoknhlqhkeAm DA4x+QCNMwSn6ynpK5Spq1+MA4SC4YLBQ4a5qb4SLC9YafiNKdLzu2HXPClBDRBz mDA9tNQhAQ7IB+frmyRUwp4G+9xi16TGXUMrM4kaxanXtSjhEupoJEe/KsfSAMeA pAWpxQDQXQRMLWYIwWB8Rq9rrHsKbYvC4oHjO1rdGxAK3wcRFObcIGWISp8zX0IA PGGPAPO4A8vG/nJHoE2e+UW204gQdVcSQkton//0z1FxAYlrhr9d4dIETLGSfg1q a4XdfT8jSKx+WjeqPvDpe1AEiwRX+y1Lh46/P13r3G7vwOzrUaPLHqeFp+m4mabz yEFkEcyn2UC4YH6oD6DH8ea17faRE99Yz3gHrfjzPPPwlayvxN/0icpIQn/Gj0r7 YL0NxADSy/9WYmauTvKUPx86AotDBcK816CjlmyLPMq0wDcsFdX6fYgKviXQjNV8 BbNICU/rbz7616eYLZxLaNAnydDUjlKbmIj1zKy4rUHKneV2NbAQ3XoZarp93iP0 HUCKUmhAW3kYt6PtkGhNoWi7fqGHoIxpMngQ02n34pWaVB8pK+HV+ysBkVjw2xlL NCPkJ0sorRmxzNC+McRip1L7qpMyAT+71jtKXLvZgSXHSWMD9bOJRTlk++t24Tff YfamwGKZF/h6VcUK1I12UHxor3vcyfHOaM1BAn9AsInzlRCC2/vXbBIW5SsDRvic OJqk1udhBrCsejSPair2zkb3gsOzWTvbIQKgaGDGwHkLkVet5KX1etFwPqHGZOI7 GEXIVlhbZcrkOb50NNAB5xS0X4Oz9YbxPP08ZiFGsllUUZYEBGegrB/MRVKq0wC5 Htj23GQTle7ULUgPyryGDXCtD83Y0fOPYM9J3o1F+22FAoNtOY591mPd2qF1ObFx w7p7TO9BaQdwVuf2uf2r6ojFXwkIfb581iB5xKZRDxf5O7h9qgUcFdK3cmZwIgdW 5fsAFSCjqbnO4Fgo8TgjF7q4aDfr8OLU0yjQjuO+WAUee8D5MhI6AqvBrqR1XhUW jp3lUjP3q/+R9F/LP40Klbsp3s0wSMsVq8+sD77YVAyCl+HEp0Da7vyX42TjM/XK /nwtOwaatBHOJ162WPMBWk1r4/WjBPOkGaizWJI2CIceaTFcY5ZX3d4KBzI7wehO ClIpmJvzs3otHF6tcNYa8geGVkojjMNirfDRSAebsginOdAWN00iBeyYJsNENr/9 yz/SQqcr5MuUl/MP3cn12qyFh2lQDem601IJJnGcwktZHHpMWEnKHUlkucJpG66p SqBSwiwABSkYYZzBDkRfN63gezlrOtUUpkbcJ+HAueOGOTz4Llcz5IJ2BzHOt22z Mbdr7cEwII8nebc59DbjgajlpAi9VSsX9mBfoUjH8JeTrTn4HxB23WlK4mRk2cmI NW6szsYOReQvWvsRn84yXE30+FcycK9FOqroDz8BTJhPpXLhNDksQtG+yvi6oTN8 hHMT+lZYgK9JPrNsJcZiv35QluEsjr5PTEk9QR0UENJXoil/w9pZC0YQsVdbxNko cFeN0cFQVKo6ZGzFTRY42cQfY834D7hisuooryqDFh9lf3PrJ4TAkHriysZ3bSw2 ACRBBcnAYJjS2kmITPpuzG6BhPSgPyGzb6nfC/LGX2Cj1qBX0XVqekfBfWQD4pBv MZSZZxbR/A05CQUzGn7hwipdQXdjMnqL2G71hV85pyoxfqt0HfHzPrZ1a5JjG4lh rnbcBhVzl5As7hndlx2T43JrGDDfEjwLWt6B7se4Unk0C1OA/XhOkJnSRNxkttS+ B1GlDzJynOe5es7W4GIaqMUfkXqqNFKEYBRqv3U+h6PGYIM9DAJFTipPKKHzNsCf CIwJwb8G2J2VsYsGrDqYMCzhbj24IHorWgbe28jWeFaoTdri0/5LvfxKpY5xSkPD FeqFG3hWqdIJWZjAKnc2jbRn1M7Irxl3Amt9TIgBNuf9fnKFvFzWAd7aDYeAga0o ikkNilEuUk2lJ1NTnV3EDyrwT+XbBrs3HCALK27AO1rNu6JBW4Vz6tE2DCFKaW9y dzPL0IKPI1vh09ZmrfRBFz4D6oXf8Gq4MeQ5+gt4ttR7wc/6EjorbnDsFrKLK7HY kpfYf96l7HYKAYlqAXaGlUm19rtVJvt+R/7AGTzSOVgS4Keo28wmVHCILhi2hkBx qMpr2AYmB81CvYzYAi1a0FS7K4+A5rbtJj9gjdLzTR75Bst2Fv8b77TipiFsqW/m 0MTntnRYTS70BVWrTtNUzxjwrQe4SPdGKRNLlgiIwVBb6hFHfUA6Q441/z4sqy7n m9sejqNDlme0AGttm7KQ9LFsnq4s1UVhapsPDtkzeFYLuakg5SxpAi4RYXea/8tP BqHN1t+8clszcWLKacAxkwmirUJ3AajqX71pPRYbMSNG4h8TfJ/vwCv3uy2aZ3GT /00/MHUhmM8ZyDn2B729Bk5COdbLRuGlodX01Axap8MmVs7LE34R2TMT1JEjkid1 92zhxc7QJ3G8IQwS23oTpKjbgDfBIn6Bdm01HeJiY80941DwMWJwwwol/TyKO0E+ Ds5K8J+WKXtACu/KkJHWK8G11N9uiOA3T4sDeM5ldLCVJI8Z6AHznkbt+tHV2xeW k4NKBElsOgbcAD1TJ04CQqRQDdSZB0mGZkIcOk63IMo9f4JTI4um4mYS2TjE1lnj Q8t5+LTlRk31kMgBs8um51d2NvBYwUaLAty44+RLFzoXr3+ooPnFLqfTxFt8z8t+ Ib2n7hfSlqUa887oduDrIHZWCHOQE3S+2Mdbvxt4UQvnMbPvEuQrZCZEh3cBlZO8 5rep92mzgXAonHDRn9sAvyenPcvJ4Gm7VRr664IJgP45n7WdNtoAmgLTYDMQcJUS /WRC/uP+xhj9hWNwCGMbQcl/3cVVlI3G9dV+7yp/yNfJ8d+0iESZ9ci7832PmChY i2V6kQj4sBsAQywXYb1/efaqSrAOc5shYXHQB4epEUB5ELpzeIr1jX6gEWEXvak1 ssq5lGbagLMaKbbMd2EVoc+Dhpzk2wbA/N6dJm+E9cXQD0/BjKJiNGE8Pwjpre+Q rSNpofgdXCDpJyADmStcCTCMENzhnSC6WjZAmoJy1hsM78dBVOtOybPdMWRaUpgJ r0gIgp4r/z4KnkoNaFwaA3LDfdUTmehQ0fu26MH8hK/LYHYoTuIgBPHZehTEUS/5 eUBsNwgPS7c30WqMd0Vpe7dGA9AF+Dx6btCsgPe56qbz2jSJRxVN96dqHIgfGsls smZu+NU9o+QV7hVCSqFGL/Im+duCvO3AgFaojnPROUAtnbB6y7dczfbundR1UPD3 ugGTHP/p8FRUTQYi7qARM81spZdmSbecUJRbK+kKDBGqwv93Gl9n9doLL6FhsRwa Q0aZvUJ0DdClEJB0sv5cffbavrTjGNHjWZOgL+xhpRQQDNDZMr9jEEhyNULLWeIU a9ANwDsWL7dCH/cByjstI+fXPd/TNNa9H1ONLj4K9y2qAFFMzmLbpn/fJhVPUIHW Lc/B06hrvqNMSa/xGWyBbXRChmRoQ70dmlL3IjdXffgj/l8biytRHd0sZXY4jJnY rpK2s/1Ui3EK0rcMvSzG4OC11OdaVsLm9M5ZjJ8BlYgu73AVbgbLKNfrSGTeXaO1 MjwsrWYjqdLZnzAMBBoAoi9Fo/DXVCaCZsHQs28dGpmWpyJu+dK6j4q74SYOoUAn T0Ni5wpUvY9FFc8UzLDX+KrxILXau3C0nqRm6LVp5pDElMkWr0yc6w9YX3+FXUmp vTjoK8E/WkXpJLfLBRXA+XyhMPQ3torlVxo69IlK2oP1vEF0V0iQxWM02W7lY3+J mF2I9sH0JLrjfAJRR9a5LaAA6eQQTjTHgTKLg1PvT63IhbWHymHHznzgXwRB1h0T 4dfM8+JtGTXJDQRnBd9m65zUvvh0sQmb3eoCTAIvrc2jtDCOLqVHcM194Y05JpGV NzZxG/+17jbEhODnpIGlNImXICRb133ra0icGO9609urkxxhAabS91AJMQ5tL7Ey KeAljeF17XQolxEQP+rmBx4iPiilfUrk5LxxlquMcGQcdnDJs2JmA0nLwH26N1/y N8NA6iVDrWHwart9/oZcgtAXBu8S9e8QvjXv1WfsHUUJY1YgU4zr36CpDzRPTHMZ msg7TaCD993wmEzjQw95daoqo7AzNzmdqg39gdUJyOpwVuaxE0b1JBGmedvW9X6b rqqV9Xnmk8z6nadOUFcXKPMW5knpIt6gGIVYRXLO1DCiagc8QwSO0VF/nHDqZxwN h23/i42HjSo9cEzmpZmowB70SK+o5arrabUskc+HE1O2GjsvfaeLpKxSWLEa1Wo5 RXcpyiGBYaM3PfDJAcZxj8gKoYf3JxFBn6vm8eK4AvF7WF63bOcJc0P0ESjkguMp i/15dwivbr8b5l47FjvmhfFIB9tTU23BSLvNEKTApg5BEHlVthKBLn7Of1E3bUSP wKPhBduy1fp2ubh0o9a8cnmzikT9T6ClF1QyNA65108LdWX0mdPvIbmPN94pIBJF Rhv2d9sy1ieGn/4XMuf7JXEIQEd087ybPGp96U8hPm6Siya5AOfhiZSHV4MlaooS nMjaumIXPcqbdGu1TorDuHSrNzjaqmR7+M9zqYKQwUABieB0SJiM5fFeEmdKnpaE sot9XU8S/TyBbO+3yY2eumU66HUW/gAkWQd7HR48Hlyu8v2PHooGOdQZ0qQFe5Ff X+D78JMrRe2s9V5lxomFjlK3UDaeaXl0pp1gGzO2n8qjkx3GtQ9nmVz4L0XrnuIq rPtLvqcnE3iWb2f+5HtibwqQy/TUMOvoFu/A/K8x6/mcDihAijieGHRECclRU4jV 73jyrb/hl0T19WQ/m7K8naWxMvqkzsGUardojq20VSdFINr60u/BTr3AMoN0TbGO Tdlzm/OBovxDrAK1/h0c0wPQegQLZZ9zEZQsfulu+xa6n2ZgHyQRLH0SRbFKn+9f 74h44nVzLpAakWDVk7n+5g/fb+FV1u25on2L6U3nw10ZagjSB1GtFJG8ceO0G/wi tPL3KpKIsAxSPlORkkEClbMgv64w6LJGsihuKxsPp4ZDJfo+yXGNTA3JJHciW7E4 REKK4yy6+hpWMw0UnL0MK1Rk1YzGTPdYuPZISqxllTdjiAn/ULJ+7cFkCWsTbD9x ZGl7TbDg92ufUH5UYNNvLyzNKM3mvVOdz/ASe02NZXK7RueA7JlabhPbVKy4z+T8 TFNuf53E3+v1FnuN6Qg3hdfaYm68zNDfICFYXI+stguuAxRRqqvrAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAABg8TGB4lJy3NLlBRQyB1c2VyIChUZXN0IEtl eSkgPHBxYy10ZXN0LWtleUBleGFtcGxlLmNvbT7C0iAGE2wOAAAALAWCUdDGgAIZ ASKhBidci+qDPF3qtTgmk4GxIOvAAri8qcGd+IdAyUI0PxRiAAAAAI4SIE8VqaId aLiTi6TCRPoFg0LwGv3VPiOt9rXnFa6T8+SwwEPI/JIXPllmzE7H+OgcruzddERC iRD/zdrg1JR+CVuqLFtTJ04r7S3fmQkrCyEmnJ+MPk/9160AO55+9zgfnfZbOWfp wRMyz27F78g4CDEVEu8/batXtPT9qIYbjBcGVPpBucnFIx/siuQnFPkOSAYA5UN2 b9bgQdxIDCC7x0DAupjONBFJW4Cly+lXWW2xHZVfMF8xzh/sZ36E/k79SmBnoBxg Rn+9nKeeDEL3OiRZjyPd3u3sTUcYG+vnBjuWX+q3fhLhDkFG+NLeFc8FSaDpLDw3 cxSBdYuEqXRF7oWUDYfDDWaPwxWtZca4MObbDQTezCZ+NBc8jxxfY+nPeNyEWkgc hpMMqLtHGZOkc0md9fcTDJtbCcAuzg5lis/aZYpK6dHgSEixL1aifGtmLnw98t7z 63hOVtSgNvfFxa0GsQhIpMnYO+hMO7EEDFlxLmr5IouRO9tBAjPH3234ZhbA8peR La8aLPtxb8nuwqyOFgQlL7ypXaogtcw6Qx7OMlT7A5Y0eC5LpeNzlMsr0HfDRr8U 1l7b8gCY6nFfLh3H3ishf9nG7vyFYglQLlubaCjF+H0mtfWVgps1/IZx1iEnvw56 UO29ZEb9JI1Ml4D2f+ytw81l2iIMhgy7lvsqzqXeF6bvVFtKFr+hKUys0hMGFpQh udoa8KVLNUuuLun2aZ3NEldRA+IyxmuNm/8AZ7v/UCp7GUuNMURMh1+GBwMEmgc6 E1pG7ONLDB0VYrLoC6GSKlMmHpYrW3EwkJ5cON4aYpxfZMFVExMWUylzI4eOgiy0 +tYSQV8CDkh02u0I1P2OxST3SSmAI8kmLxc/GN0XMvHPDSmLrc7AhHvuMzl83Ea8 4matfshAZQOmHBIk3Pqv6Gj4PX9XK+SQ6CeY4iIb3FY9FNmPkojF4g5oE5nTsAaF vPFNsTpDyqpEWlO83c308xSF4EsYU+/W904xmbScw2lEhKDqxn3o+0VLQhYm4CGX NbXeH7kyqRlh1RjCAoV3cnjCoxBPsAG4AMXAOfBa7iigc8MiO6Em8G30hKbEOqve HPcNaRkuAx5noTTNUYcdpUvtMQ18o0B6xQLYc1vRZF+bG7dSzi/3KqmeerecXZbO Nq+ucxNsLvfPn9goQznmpe9DwKg7Z3McatLFTET6ln23KuBYGlNYzJzN4K//1y0w fxp0x/nhqQmXD/ISNGC8FtL6IFdfW/pdK3yot/dCa8F2uayL8Myarx8ovq2xcHNt JpeU1Dt00sDSAn3qzGhqVTSb9fYqCCGPtltCYiBQMcZWX1/PDGb829qfiolPBHdz 1IIpiFFXJMqwaUPZv1RJMD5Bt7dVbB5OC/NcnuhHpxDL4NwNdH/mxk75oSJhYZxu /LoRu5+bQlugMf9ovrUctKpbnF15D/JF2QlZpzH+0qMSZHjLyKz2TJtbjH8kLv79 GVw+O6cpUEJE4fGtdZY+B690IiLQDoH9Ba0riToqCf5Xa06qBGe5NY9lL50h7tFn D+tAxcHfUBMJMJ5W4hIdvaHOPTKm2HdPWXi3uKzdK1EAvYR90QD3ZxR9B8zygaP+ UI81SyRYR6WoXFU2p2J2c0ronUgL0gTVURbkfDQfYXr1LS3xzQI7yn7ETq8wQ9h/ YhRLV7gOHB19ldpzs1kx0qbEGCtjj/fV9FmFu8al95yk89n47uF8JbSRgQ/ySmei I1L5lwKZnmDQZyWmZ5yLSoI8Fii1JXD+GqKtCbksQ8q/fzhSZM2xUyDYgTE2EYvX 3XjqVrgwvPoyJjgTUpJ40baAijikqF8L0EI4z9E+6FU0+w+cYP/h4k4cPmHLtOqz OUdDLqDjNpAedFLvUuS4Yx5rA53OeKsUh1noZ8C9uTHWwtSUNUI3AWbZKVps4DEL MyVgP3cDHrXvjCcm6KbnFg0gwZgmG8I+CJOhUKXZASIdS3tyrkxoITiPZNlJGxQh tTi8g7vKaLCn8VwAiUzMxIpFuVuLEYC+be8TUQmHDtr0KdYba6OXDaiy8C8UxCSF Pc2b369ZUeZXW8DyLnuyAmAWI5UyLYuN8wyTJW5VKj0H/KAIrTvS7x2ZuvWebqr9 cPQ2+7+BCG5LxV/bFkhrR6hGU4w+mBQaAMQ5+QgAAn3dsPm5IM2obLJAdrO97rLi Yg4l3+SOluDEyWGkXMrf8Ox/yWCde/oTXR2kO4Q+ZGpCPjpS82USo+epreYVvgQy qckyLR1F9b6PAXXTLmIhsMJCTvrmyKyynV8fFCOGe3kUwGV4xTmcU2iT14LM4HRu q0mN3d7KLktIjR9j2sBs7uc2LIvx0+AWI5uljkZiH1HZLP46FDUae4aZOcLKEuHN d58pe4sbxUiZITO6jkphluXZNA6FXwEf3wPw8ZpGeQNzdrODSTStVSoeakxeOkq+ PImVR9wf1nt3c6U2CJUEuFd7+SsZJrBWHP412FfWwr5s5bEUR1YaHRYdEsccgS1m IMyrRTB+ZZp1frYhHGvv8VsqlNGpI9HBF5wSEx3r4pJ4Rj58dnQGwS/NlRS6eilA dWSdDia3xxSFKzvxh0gdbSgRepBG8NM03pxLWsS1hnTfkdDH6VA2dNzu4ys5F/KN SvoKGuX7duUZ8XRDbFTP9elO5MZnm9UM2ow5v3XyB2LkCrhSPvTkIXEDkJ+Aslyt 5NqCFir7J1sLvIlmCyKc3fzHrPF+zYTE0B4WiQgpFvU4r1X4KsnaeBia7av4dPIQ n5ETX+Y5V1qR4Chhtf+fHAQt5nqyPmbomr9VwIE0h5tgrQEN7t/KZEE+SdR81s9g INkSpl9xlWBnHu7uDxoMAx8zwBT361fAf63xvMAEc81zbLYbmodxS5DqcVT8eQHB OK2Znk5oTWG+DI7AfhiyJTnadQY1yvu2ymBnIjLnBFytYJ0GcnQ6nSK2tyJClnan YyozbGDGt60n/r22JtFkcqkFBNTJ3++lHEviVfGI5JVgilUzFfK2u8p5aHWGIwYD WQwwFBTkldsfU/qHzrSJRNXocjMq5Ed+8zo78KDPPANpZ9Re3iG01egWS/uJTGRC vVWLX4TQ+6y93aIywZZZ/41txvjHcazjmwRX90/ZxWzXRuCb6R8AESrNbR81OY3K fQuqCh1WGeq3+RFHTlkEMDNc11u7+nEb8Zyma73xKembG995QWOK8519IJF/P9R1 7+HN9mM4fgTjUmTAAZTpW1qHVhBl28OfztUWn8xTDXz+1w/OQRMaT4RnZEmEwpSU pN1+zwBSO0qRQpeE4hOMX6DRdX9QcapbV9UM5YnSdoFYOvrUM8W4mEQm85PBWAGr qB8/EbqUleLi23VQOAPGdS95Q95Y3ibGhzZPV/Ph/f9PeOHeEMpPuBqOjb5Krp3Y dTjA9QJcFhK12klM+hAqUoxbziko+umwq3fRV+RtXBY1d4G4LROaSDtHxcA4zuBT blB0FQOF2wYGNcHajqu4BzsHHSZsp7BsFzUEst0hJyrEqkr/syHMEackF00hp79w r3v/sFVUR4Lhl0hK1V5iI2tJ8GypEn/uaLlU+PSNwQrSAKPlGN9EVrJJsObm94wp v0jdwAjyhXeAkS5Vl94AAl1iiNhjAR/EJdi2KPKBgcuBjZgqPLh5js9XxDkojIvM DyCUgHuKmBBHkc9gU0fe1eCvrBm8HiZjpqemrDfPhviqeF1UMzgyKH3uG13c9mKi cilvVpCw+0qrdvuQQRDu0kjmywIaG4TFhJd4RvZ8oIvicWYjPa4gn90N6lM4ktSt m8X3JcfeSCvX0/YwVIHD7FbKM9z87t2uDDOqNAq7IbnAq5VqLkfqZnE67Mw4ThJW e6/OdMJCqng8//Pe+byQFMb7NLIzcclR+GFfqo3t4gT4fJoXT8Vx5f7SPYc8fcL7 mgJKRmrBKU9Krk8iEwrnbXX1gcbdssF6m7XPd//zbQeBEe/eYR1SOjU+Na7pXwXo Vov59wcN3EIsuOB4wx8FDaXCD6BThDFvrq8tQD/++Vs+M/0ncS+sSnHAJtCN0hUQ p9YJPzOc20NDkb9RoLA38xO5/C1dLN78klB/C7PHHgQjG44d2PLTKaYnuM5i6Ydt rNvwFbY9da8Y4QLD9q35QSOUgzaoYeVmPxlGxce/K7e8lWiDDutVICfRPdZotwZi cf27/JH1T5/6bz7A9aK2fg3ShShbcRGbQFcpwzPpPguwJmm/H5b2PRrgq9dBuRTt h01cK4eGTYsQm1rDtLRiiuvTOxuGWphe2Q69WVwDM4+FzuyFqZHgm7giNTYM27jv IAMG59OxoGlxKuVqb6M/nycRs+FrP0+Flwqh0rJHkoeDju/MsknevPmdBRE6c7H8 R9Lvwi3EILUgISv/HeBxkODuQ5L1j3VGFS6KeLhBOI6YcO5DtLNqwV8DzW1/+IPs /4a6QtQDazCbBQq9ztMamInuoB+qpLIE/lZUStfTKlkfMuHa4ikLRPKN50b0ME6A 7zAAlpi4F64lwFenJr8WK6UMRvlbY00v3WQd+tK9WCQpaWMB5X8JNCa+k1F/rLiL ai3+ePVVOlGfZc8Rx/UCeQc8sR39uDHBK4bnxQv7ZoWLqZQ3lV5LUtXWSLaUMPi5 XdUJc2QrNwCuhBSswCLR+UegGkUolgx+y4HPAfJXfzTlQ4qoEZHfDYI4XAyPtYGz eg4jTxAZcPTveAiMEhBvfrWz2A+BR5XrmpKafy6YQpqC0cWTz6qTcQCO0lZUN6Kb TJSBG+Xdv2oQMligLyhDwkFnz9KjSsfOiykQwWVv43WN3zA2CMHZ84pGJF1Pw7Sz IESiRnKZ8RYnY++j3JMx5lVJDjt0+gG28Gk9uFE8ZjbZsrRW/7K03OhA8oNYj03Q xV14zqT8fZXga66b9pbY/phL1dwJxErVmtEcwF9cUNXvrSjjDhXpltdEuE7V1kiO QtPgxxzE5t2UQ9tYP93qwzed7CRxPLmLfIHEcjgKLujfuxzABHwyU7OnisJZTk82 GVmllLdmUhMbfPFZRULAGjAQhJWFstsA6HO4ynZB6kxMoT4ykyTQXu9GUkvvuuxR i+3JsysvjMfF9qztaGGGqm/CBahOKRu213C/if67Z0VTIzghBuDp20pDnEihMruV oJQT1+iQEAuSvi0dH995QnkMN+//dlrG7eNGvIdREQWOjj7cuK+hFILrOQZipiJg QsrTZwYpnipdYPyer9XoZQB3ZBq7cOXvGva3LBsI0Jm+ySh957TYNPYKnEp5zpqM Wb3lj8JUvk46mMtZtM9WDc3H+DzDovdAc7nfL0tia3rlY59wjBRLuAUamxsyMzdR M1JeuEnC9N7df4MOYq/W01T2ZBaKtCJn5ZCtJsZ93p+Cr3AKW6Je/bXGKlsf/4iP M7nlCB1ci2SphEXIUFhhZiWuuqbsWXqOhiciqcks5EyWq+HZWdBjze4b1nK+pyh4 A7BGjt3JaFPfd5/4nnbmodFyP/tZ6x2oCMaNPtVg6JhCiJoFdpgKEDrzVFO4yExO SFk2er9FrFNsL2PhMOTucqnTXR3+01nogV4veNWknuVkM4SfOHyfGfhjnPmhcTdx C1p4JYPV2PxMS9wXJOG2zioudAqEXFoa8hde94nF9vGULRgtc0BK5D8HMqyGxMjA nRmSExCnlsXP35wbR5WAD+Fnbszpk0KZVt2jERcdoBGCdH5QAu2RwMfwfactANvR Dsg2PBFkxQnmo3C/Bfi1pE9o4u/IOGK+pGHzkyud2K689o5YIXOon1dT5DatRI4q eAhn0yfjoymb1fyg9maQoGBVFPdaewEKcMfkENc96Bf+3fIxY12nz0HS2pNNFOWS BPfe5F3QTHN/GWIS17Tvx3VclrAGHOZSWebX+yR1LZGZkbQv3EgD2jIKGSyW1Hmk MjoVXfPDudZt2hq8V2HPysTLECNMPqcby1Gn5d+BXGWsAzFOyHGZIWu1ENEqrTZK st4R4jKceU2vBazerlpxjXr69V2Y+nvzjCC8anjMAjqIQeC9ErrPxCRQ5e2/CK8j ngnCQafq48ZFIFQS2s6jm+/b/kP0imANEyUny6eLRBd4qrKLzxBDyodhgnPq8hzS mjcdRTKEEdf6QFPaSJZ5uwJhOTVvbjLSMwW6lXSCybIad3obvTs7MUdYpstA0shs adtEC/q9QUSbh8aEjpC+RqeczPxARfANIeRLZDqYWayXAl+eaxUsb766PA+8U2gx gE+GSCmVihX2/T7tYVTT1AFSOEBkXmZ7+WGW5XgSHiK6zNsSJCo1iKu4ufX3AwxD f9/t+k+i0xocN2B8pcLhAyFDdqu/5gRCVGGNohdoa+cAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAGEBcaIikvM87FogZR0MaAagAABlhbIpP+jexBnYqkCViqh2yinur2 4lsvfRvgzhh10Y6isU0n9H4e1R2h7FNUcmeKw+fWWGNDu75qw6SWvzkgkBlIjix2 Be42o5zhNffislVal1Hzb0giQbB1HvXgccesbunRvB7Kf2xHJfMMvsJzBgLFVvdz FjrKZQapvGxsCSfBy60hcQI2IbDXs9yhCbsXgG1mV1oGwXIDTnW0SgMhLFMqGJym rPOHBRprX1MYsTsnGIxIyTATOZRaNx8aaPgzkujoKB5Vcqd6wZsqz0/zNNg1xppm jTSrs2/nsLN6Nd58WsqpPsPzik/oo4DAMKlqLG1DHReCPCDLJqHpQkFlKGfcO7Yk iyRjMT+kevyLUMWbZtdmFI5lK7SSI78yS3aMmgYBWTgYvI2mfqTGuaHEfWOZJp+o r+a3Sqc6nXqAs1dlm5dradqRLhbHtASxfsKKSqcVhd/0l4YWpbCsaA9hvugRp/0x OIzijGj5m4U2y2oUcr+aTcvEKulMuncWAIRiYUdspmAbFVppL7ZwIUequzqSVvkQ HxTSePJ2Uwu7xBLoNz4FXAHViPW8Yry0TdxhrtzMGhqhRj2bKKmVwdNUagwQH6eq ZYM0ci2YTE9yW7DMNeZILqNXAWfrtMYwitBiCur3NSU6tjpBP1sykgrXnRkgVMDL r+8cdV8TFBhyqb7ruk4HKxmwDbanby8CvFSDDmy3j++Uys+XhncDEbXIbJ6TEI04 iTfZiLEbsw6YtnwFefepgEZFqKl0B7gWmY91li0qtF3KF35BVCp3fTiUbh62YFx4 LKJLnseRBPOMFrgYMP8HvhNqjgOGsNqzppUjpqmbpcAxal1pSbTgGat6BDpUzkxI ny2KSL6EbvQ0cZ8WueTcqPqTzlrHLLrBrs56uk2cufzJi9KhVt9LPgHaYIrZE1xS ny1Qas0AfXaMIHxHZMJyZWp5uEfUvskcgRcBSSJcFAOZB3QoRyVxwWwjdgfbLF7j hU+6wBmnJqbkGKQTJWoUXVyLQBXoSX8qo6DpNl0TxB2ECUtVIHCEKRkCbBMRwg3g U5x8h5v8i1rnynIiUBlMx4YgfPMxLOAcAsITgIQUhTGoAOHsaAD7HcsTz5M5ExNB zpaLZVfllgkUCpZaSQQQTT1Ft1xzaywsrPA7vO/lJHf0yj1zA1IxDxfKEvIax5+E xSZMV/G3DWD5xsgrQLxacIdTyoWLc/33tMHUb5bGvruQLX5DzlE3w2Umnym5mNvI Nv/CTgravt6jB3yik5+ZCtXUzHNsLlD7OIgLh4gQTDmkQ41WhQRBVvhGW3cINN0G wDPMsuBQjDlFL1BVH3O7uBIxMr2MVSKAlXjaBYXncLy3rKsjNVrEqPmmSatcKf0o pZJ5Mh/Uk2ezCirLy1mFb2mSTlU6gLWpuiG0GYbrOuFniaynOXTIjw4oNMKYoLUZ WF+HnKCicbFQb79mzvW7q13mKSyFc6HgLMloG2AJW5cyUaAYgivSVuz0XcZFPhzA AF95lhfigUJIF7KcJ6vZb4FpAsSZhGNoUTQKwAOwba2joPX5ad44MmckP7uKxTch C4W7eEgDChz3fP8jxm3RWKViYbzpzJU4fLirbqRRgZTWLepAs8YXGcscQ4TKE+EI qNBTwNUSZdABh9hcubNaMfO5SfX2wl3VfURiRM+MjJ2lN5GLU+8sIdL8a/uBSLlp yj6xd3ZKhW/Ee9rWoiu0IIJiZWeCE5mVsv9gORZWA1v4DetIki10TxV4u1IBnE3y cv2ZBkMVeMK2Uh1oTIHxD78rdwAHq8r0Yd2oWm9iAZ7MI8GSrOa0lczaUtfkIipx PsdlqQ4rZMuGXmYwuDGLHlBXyUAbN84xO8t7k1byfadlqNEwmUPwWI+XNNZYG0uM SGXoioHmDlVqg5P5IeZVM+dqZ82jzDzaK1mGsqlixxbSTnE7WKZCUz25QMQiYJFr C6FcXRRyKbuchAFqIG4YTbFHfriHNq7GzXX3SlT7yAkEII43yiR6LUL5eMuhTnZm RwN3ugppVtsXrHIrPjnUzY+GERTkZZjXkIxhlQgCmOJjgX1sfA2GrNyGjnmXDSey qakROWQyQLD0NePEzm6mqEdaKw1Yi6MEArdBCdpmoFV8z3t7VQfLZEf0aCaLIzRc lr0CPtFEM0/QgDeZWALjHOxOLv4dwtIgBhhsDgAAACwFglHQxoACmwwioQYnXIvq gzxd6rU4JpOBsSDrwAK4vKnBnfiHQMlCND8UYgAAAABhtSCBLeFmUpjLyhifcBPZ XlhDZJkQ9Bfh3wS4/OgNxJ6syadG+iSemdi2MfC3TKNgzbDY4HREuGMlzpnz8hry NZv0Hn9ymWTDnQou3EDsBUSRhOn/0vcW9HmHAPKJ7VwEbCh44b2+HQdwg0/pnP7G hs1JeNIt5u0mL9EKcCzaCmOfl9YIgynqHB7FKLUYYkbGdUguAKW0iSqlMHQINQsx mNNZ4kxpGbRG3dGJcC6AxIIDbXNDiAttcBh1P8RxN8pIljyNXZt94VFpukQExKGM H/7nkHviXDuFhzgZgpPxiiAppMVy2WxAgSMQJ6i6EFrwTwy3UfPeFmWeaZ9wcUNK UeXua7vZJfMmSrdDVno1fOkR3+INuBLRL7JgKIHQ+OtsapQe6NQLZZo3AxoZIlsg F4g/JSAOxNCNjV2Lvc35BRA192Yz+2Vy/fQzzrOXNZH0uwgwrC+l6NBDY2cB9j9N qtv+FW+w8NM3Qxsednv1o7KyV+/mPYx+j3hEyqOlqlolJBW/8i10qKvambQv3670 pgZ4YGr5xPsZP0mQDtbFckaUoh3WVcJd0+ezaVb8lxvMVcRGlip7yi9ij9tfqDQJ mh8V6DcobtIg2MVShMiP+6JDw6aY1zK7SDLh7UazHeC1ANgBac6QX2z08CZVlZo4 Qv4dhPzYFOV+HVf1ZdZq5ySK7hZZU7N/C2THSsCYcQz+Urbw5J3kyGzOsqvZ7SGp WqgJAa7hegGUP2UD9tbcGEOfVLUON4lZEjZCU6St9Dnnt3rGQbrQVBluvifIHtzT VhHVmab2De6ItYrd9XdtL350nE7DNmHif/IlJoZ85adYIYsSsupc0b4iyevbGyIm sDubCfvFvkK38RQPPAn42EqOnABHePO7f2zg4gzXg+rZQ5REIZu0vGDUmvyAh8GN SjavcO9OZVA9nQAIYjlrXXF9sJneWNszvog6RdrDVSvNHS3guVplxeJ83CeaIB8Z OxjdSjLlAV1nyjv78K6AtF6YfiiXnpLrLPlrth/hi2eq7XqIYRvzO69pjorvIddh SlLXDTjyqjZ9Ss5qvl0C922xbFvlmUMuY5n/SjX5I+B6QTTF/LFAE7tp1nvdaZv6 VCFUXkJZA6zMBAbosPcoDvvansgSf0Q26FefcOuP3EcmCvRPLipzgg22UYEmrNqG y2XoCYuaaqzshF+LMEth2jUkVt+6PMPAwyCeAGS+nH4inC9esO62FwbE9zr58pvJ o5OHaiLWYAGOxOB2XfgoEhR2y/G+TAgTBELY5LKUxcR9F3mIqol6Op6djLwkFT7F INXv4812TNnkvbQo4rvcpEmdEdu1t4PuZWqMc+hCSVy0Amrcygy3hds2VC3pDMcj uy84F0+LWSUmmiOEc2drALr4I7DVqrKTbBw/rWDvf0EOKfQglsv1cA6x223AHnoP Ip9O+y+o1DPcT9MUn1fq2fCcBPJbuYvJN84VAImK+9bloa06Rd3bkfUyxPHoLC/n K4bOBFGGOZV9W+qrDdXoEqmDazuJhGKnps2m65w4ZoqrMpkd5EzICvC8e1wk9GpA NeUQHCDe7c80Mx5wvRcNgBaqqepAhTBjE1Jkrxor9XpG6Bir4BeEadlfIl3JiDNC pmLdPwFVUWB/R41f3HN9guAMwMIcdSilKJGwjykVKMKtGe0KT2nBWScda0iBqBfk dr0QclngJ9wVWhwPLgTjo+oL8wVYXs2qwwKTHLGNqfAubBjo0zBRQPes0h+Nfufj wD2Ci8rKUm/YgVG7E3kR2/wakuQ0cSD9GghHGDtzNvU5rk5ishz7y51HiSzD907o CoHGxUifTZniaFsRxW39zcr3UaC4L+ea8ZS8xVZVmfmWJFQCN3gEtUXwWgpM+xgt bUGXGNMqU12p2lTY9L7Mp6accEKCUNrlnUoeWBYAjc++jnGLKcCEInCuf7cjVqX+ XOUx1rZZLEOWBO9nD/E1XRON3XNb0bxrikmykdRCS1DtPFsJ9Bi7K6edcfhBA5Q7 dHvQVUi59Dq0uOObiJoVgdpJ6NEaeK9viuJpN5H6veQFeT91wq599Hf2Wa8uaL7Q LsYjrohCSzSCLR0toNdmOQu47Ywt2ui/sqzqZWBAr18f7uZ59YrawniZqVLcgPkx ZdwRKufmMmToMq5QtuFGKX0Wra4dWfeh/CR+GFDlI11ii2bugGVwH9RxbVryJkLQ +mS6UYczeT1RMqxnWHEyXe0FhEWtghDW4gZrS6YxtDO1vVKieMPLCD38no2h93ce 1kywdXGYE2TnerhDxWn6O7/39x8Vn06HfYxp3h2jKXNpFjELCmUNkWqqUyK8eNsM ytgJ24mwvrMgobgCieET/fdRnyjA3/1JEmhzsOJh6cwwvAmXr4H3axNRQyli8yqt o5SGJq8qhNnZHulnjyVSe7XPeXKbSIKRO7jcYnq0CVR0OJK93wLp6mB5XJDBH4id hrc/ZGatWY3hawPZoIiqS0/hGn8ArF9NRiC1mRqDZGfNCsxGUUiiA0FSJGy+S0oS 9U2uYOjgLZwm7BaDkBECVVIoH8evYHvKjrGCKvzB8MxQPzWAZrHTlb8EZ0OEDg1D 1Xrkoi/h1rnMbLJ56a/Zekmow7t5t86wGZwfKJeIjeqhArwH5qUV2YJzAztKt1qk 5d1NAseGnMX4/0uaglN57TJu1UI4gTeSk+s4CTqForPB9QiJftGxy0dOWV0s4W5u 706fmwKQrhS/k3+3Ju5mjtpuT20vsVTgF6hUU+Ztg4rNWpBBdQEx+g59SIDa8O7t fpiJVCybG/RhQeQCChR2pyr0t6cC4XlDML1zNPv6ndtc0W6ddFtFUVzMgWHJxjc7 eRxlfekhebcEw3a1/agGFFMHn8xJ+Y1RsaREKGemJXgAA/r+sYzuC6sOx6JOEepl MKzT6OqIJ+Wuxg3grCqu842k8jhfUtTttjIDzT3Ggy2kSOTu/RcbizsmhpirUrzT 1aqegAUQeSD7Rb8T1GWnaQKn03ekUyWutLtNL7SZnxzC/RWPx4ll5YCKVwdJoOVC NofbwD5nELn6fevXUL4sgRnXgGCwgK7YhrHcTW1KmoSNzaWI4AoPivJVrJNzV/DV PE/V2ueL2pGa8W+TaMu12Q3NIDG9gNB6O6mSP76Jom7EmwuuFsfCWHvw+6jd8UdR O2zAjvzBWWG8y3Z3a9YOL+AThoBEgdDaQVB0+U9u+KweSSzbe+1rDo/SnxbyWlBT hDz+PxP+1Sc0eDv8crHZXlD62be7inhkJmvuHI34GqDoPe0pGiWUIFOKxmeeuWpw YzqQ8pRuGUC4TXBXf7XRdTc5tVsrtqcKFC3Vhus5ZRWs/FfwNiOShBAHLmK7WUfv Owqb4/EeFFZOJz+cshvkywfD+YTHy3ZVTji2vTVcZLC+JlDXhDMsO7eL8128dL3g vX0NBw/GA9jmn/3EDMYyOEICAMg9tCKXQk1wouyh7eFm7iXsrVQnB7Dxt/VPOdQU Pvt5jR2OKLLctXS3Yawe8gmcI4FnzCymfTEzW78/Wir5SYQLGuDm1A2iCxTUk7IC DQKG8ZX74QsPTJPXd8nrzlbfPFYU6iQZKl4EUpIu8Qv2MH4wKOzbwhMK4T4QcsYH 4EkdrbcaUxK07fLxOfTqeOq4rMvNjB9WRuF4tIaiwvQgbooQ2Awqer4APgbi7UPP dJ15rjh1hWKOkICzwZB4T2YymWBsX4d2/iuCdhdE1U27NHVd0SoI1lelRxbUdXpN GVEuUoc2WgXT2YZBJ16Dpn6+jR0zNMt6qHtAz8dg7YmoLvPb8Pqrb7pHKccA9PAk U0CMFNOMmYUmtegDMIh1J8ZC698ydOQq1IgR5uQ2JA3RrkKXdR3eQRYepofZZLaR sOZQyn+OmwIxPDRGux6s2IN12VOW7cLAa4Jtwu97NZHrhDRf66GCDCnLAy045Ugn xJHfhki5+uH4+DThhMR2Q3cZOasj8pOiOB+rssQO+laDLyhcNCIvb7E1bNmdLR/d hOiEHFbyqp+TQvLiH36YPnXzt9a+mQZJoXn0Gak7LNWZirUYAcNEVjA5OFQSnomP EuoWU+eSdWUuj/5xNKVTi+0lSr1YepFnX0fL9+4tRg5OBaw2fqnUuHXdXKt8u7kI +ZeDkphyI/eKISreU6nnV0OqXjq/8ROacRrMZVjY5XvAAhL22UPgFQHktd/CWqd4 3BtZRfrwYBZ0yfFLVVqrb3MIYW4O1A1TWjKjUEGavAreeQK+APgbjLEoAvuGubNM Y/GtGwjoqVFvBlUHBNeRsTZ05miVKZQ40lH3ehncxU1sfUnIYgpZE6E9Ovz3MdT+ qFPM2yQQGIxB6q/zlWw13L7W9SmckhQmkhpigNi+nJiYmdr5J0BN4fs0Lp6tQn4q N3aZUT6U6AE/OE9RYy/CnGpq4wftqwFrc+7nS32bwd9QxabZX4zGoEWvRe65gRBf CSPRXPxvBRikYud0vP9w5NQIqVOOgUDgR+m47za3Cff54Nsar/1M9yB8H+uoo+5A gT1WkQSRIyOMf1o58KtL5uyB4udJ1zBmBQ1J0u2+TrJldG9MwemEy9KgeFgojsEm O2UTSEnr+6WPGLT/YbrzI5gRYmPL175+9mTIPZFNJAquhHKmatXlTd54/EhUYv+r GseqGF6cd5sAw5Zq8SIrCqrk18fYYkDuk2nfq7aYwJaNMS8/gsZBFroyxWR7Io06 o70f1UgNG/v+cuGSQpLUmJu2QpNkC/GByUal39bYb1jDnhHUkKDFM4Ivlwv0jNYz ZUK6V8B6cR+oDey8j46z+lULDzU6C/E0z9zv5GF9HAa3y+JvQhMTglUbvc4KsIJJ RMMqIyrl7PMbUsJkmezSgT1O/ZYEtDIqhtaeysdFahvdDNaj/tYtmZ6QoUoWgVuE 78TG3g5pGaTCwFjOATSuJ0MRxBnOajza3jz21Qwsoo4FgMAUsOaQmsHPFoyIhw5R U6QUG8MYuGv49wVBSzPfyJT02QcVdvVuLzfGZibZ2/tqwmNzC60N7GwrT2lcDg5c FRb6xdJlqRicRyTDWFkXHTC5092jD02bjSc3cLSQyQz4VV5cCZjllaCv5gU3T3G0 iAanOZaWd4ALamWSwTB/LzKSJPGe8se3FAWuwt50d0wcedweVURTeRZNMLRBb8/e 5A65UGByEDb04BBMiAa7CkSZTobuLoIiXhUBW79fsaeVE67g/JHUnHyfaEZ3OVXb B3hnIjeUzv4s1LSbDD+6dTMxxMq46H/+iZ7JnK+EIf+V6jN72y9uZmIwoaptqep2 mDVjCShkjJ/1/SmRaZ063ZbIyfZeRcWuDfVV3WAk1SP77fJaRQFpiLWc0hX5in3u zREAf63TKroiZHFJm/CRbQPvCnClyEydvkEuoSHEoHHvg6AWAFI4qtfw+xqltXPi VdpOkNt0eSUpH7jVjcfLPHLBdPWdS83UEIbB6w0Pc+Xfby6oQRclkPr/BFNVe7i9 +/jdOrNrwg7FuVnvUexFdZlGwJhc1C2V7iW5ghya21LRb00T5LdrHYl/gYSQQs/k c4mdJckpZ+hlpyxTsWDIP94vec2Yy/kXJzGeRUs9iy5CAM3t7wL9sKhvioPk6LpT Mp5v9C3np3jt7rhxS9jZVy8D+9Kwpbr+NxCWKHoHmE7r1itAJ7jQGVv84YKi30gE 0xjNAT8jj05sisW9RDeGBgQV5KrcZ1HpR5HqR7Gy6P9mCCbAuaSGjoJBUZa2VEVX WYlzvPhKzCycFCKEK5fG4yj9z7w0JEigoXqXSdwSg+lhTng2q47PNp61OGPXMZwJ b9uwgjkqZO/VwtMUgZyh6hEixNkdhihygK/FVBl2NyHrQAfIqad7SBb1PI5/iBrS gNDQ/jKe6Ak4/0lPQbUvWxHjmUv7qk2rHpwtdhDkctJZ9/YrLe6QD54QVsaRsUxr d4YQV0m1gUKppkeIS+JDp13kMs4Mq7Q163I2NcD2M8qkjowtVUwD8lu2JDpuNKhG cgA4lvChfoWWdQ6fisAwUbahxFDehl7KRBa77rjohdOgf5AHWtlcuxhCXpqdxpzj LpD58mlo840dt6jJGqTpPGJc/BiszMKbBbqoZ6zYOc55PTeWkeF3v7XP+JPvZdzg ADJrZ4aLOW6JVz9I3q8iHH3UqCkAl2OvAvy47XrvScy6Qx2gQYBOUlar1ExpnBij MwACE/KfKPyA7wHRfqsslvBZuWnsFY+ekcP+tS62qD495ucwkwVI5PHeF5QtXXUq ugcLQxDCV4ITuENz1Q1QEZrIm5dqQVBsja27+BEwUVartr2/9TQ2eAcPEhUjJjZA ciJNV3N0ip3Q+hghMaGtwtEROnW6w8rvCg0WGlhZW2V1iI6cuc7Z/wAAAAAAAAAA BxATHCUsM0M= -----END PGP PUBLIC KEY BLOCK-----¶
Here is a signed message "Testing\n" encrypted to the certificate Appendix A.3.2 and signed by the secret key Appendix A.3.1:¶
The hex-encoded mlkemKeyShare
input to multiKeyCombine
is 98d3b185ced0cb4fbdb26e1d1a19a79c98afb1586d72947b5877162b89f6af3f
.¶
The hex-encoded ecdhKeyShare
input to multiKeyCombine
is a09c74f0d55eefbecdbc8a7cdf5a645d6bd1f6630f75ddd9958c25a6bc9d5bd8b9d2f393e98468ff9c267033f14034137ddf07a6fcf49824f3b9d1b97907d77a
.¶
The hex-encoded output of multiKeyCombine
is 3bee730ccdc5ab30c1eef9c77c9d1ccd1b2489e3a23ac2b341f7283c5d27b673
.¶
The hex-encoded session key is 3d14b7f9140091c17ff30c3215284a9dbb7e699633f5d3edf02dba4dcdbd5c6e
.¶
-----BEGIN PGP MESSAGE----- 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 blJ0gqdnPik2He+PKxP6lKHLdfYz3Mws -----END PGP MESSAGE-----¶
Thanks to Daniel Huigens and Evangelos Karatsiolis for the early review and feedback on this document.¶