mirror of
https://github.com/openssl/openssl.git
synced 2025-04-06 20:20:50 +08:00
Multi-variant ML-KEM
This introduces support for ML-KEM-512 and ML-KEM-1024 using the same underlying implementation parameterised by a few macros for the associated types and constants. KAT tests are added for ML-KEM 512 and 1024, to complement the previous tests for ML-KEM-768. MLKEM{512,768,1024} TLS "group" codepoints are updated to match the final IANA assigments and to make the additional KEMs known to the TLS layer. The pure-QC MLKEMs are not in the default list of supported groups, and need to be explicitly enabled by the application. Future work will introduce support for hybrids, and for more fine-grained policy of which keyshares a client should send by default, and when a server should request (HRR) a new mutually-supported group that was not sent. Tests for ML-KEM key exchange added to sslapitest to make sure that our TLS client MLKEM{512,768,1024} implementations interoperate with our TLS server, and that MLKEM* are not negotiated in TLS 1.2. Tests also added to excercise non-derandomised ML-KEM APIs, both directly (bypassing the provider layer), and through the generic EVP KEM API (exercising the provider). These make sure that RNG input is used correctly (KAT tests bypass the RNG by specifying seeds). The API interface to the provider takes an "const ML_KEM_VINFO" pointer, (obtained from ossl_ml_kem_get_vinfo()). This checks input and output buffer sizes before passing control to internal code that assumes correctly sized (for each variant) buffers. The original BoringSSL API was refactored to eliminate the opaque public/private key structure wrappers, since these structures are an internal detail between libcrypto and the provider, they are not part of the public (EVP) API. New "clangover" counter-measures added, refined with much appreciated input from David Benjamin (Chromium). The internal steps of "encrypt_cpa" were reordered to reduce the working-set size of the algorithm, now needs space for just two temporary "vectors" rather than three. The "decap" function now process the decrypted message in one call, rather than three separate calls to scalar_decode_1, scalar_decompress and scalar_add. Some loops were unrolled, improving performance of en/decapsulate (pre-expanded vectors and matrix) by around 5%. To handle, however unlikely, the SHA3 primitives not behaving like "pure" functions and failing, the implementation of `decap` was modifed: - To use the KDF to compute the Fujisaki-Okamoto (FO) failure secret first thing, and if that fails, bail out returning an error, a shared secret is still returned at random from the RNG, but it is OK for the caller to not use it. - If any of the subsequently used hash primitives fail, use the computed FO failure secret (OK, despite no longer constant-time) and return success (otherwise the RNG would replace the result). - We quite reasonably assume that chosen-ciphertext attacks (of the correct length) cannot cause hash functions to fail in a manner the depends on the private key content. Support for ML-KEM-512 required adding a centered binomial distribution helper function to deal with η_1 == 3 in just that variant. Some additional comments were added to highlight how the code relates to the ML-KEM specification in FIPS 203. Reviewed-by: Paul Dale <ppzgs1@gmail.com> Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/26172)
This commit is contained in:
parent
78df1c1f61
commit
d2136d9e73
1
.github/workflows/run-checker-ci.yml
vendored
1
.github/workflows/run-checker-ci.yml
vendored
@ -27,6 +27,7 @@ jobs:
|
||||
no-dtls,
|
||||
no-ec,
|
||||
no-ecx,
|
||||
no-ml-kem,
|
||||
no-http,
|
||||
no-legacy,
|
||||
no-sock,
|
||||
|
@ -487,7 +487,7 @@ my @disablables = (
|
||||
"md4",
|
||||
"mdc2",
|
||||
"ml-dsa",
|
||||
"mlkem",
|
||||
"ml-kem",
|
||||
"module",
|
||||
"msan",
|
||||
"multiblock",
|
||||
|
19
INSTALL.md
19
INSTALL.md
@ -887,8 +887,13 @@ Don't generate dependencies.
|
||||
|
||||
### no-ml-dsa
|
||||
|
||||
Disable Module-Lattice-Based Digital Signature Standard (ML-DSA) Support.
|
||||
(ML-DSA is based on CRYSTALS-DILITHIUM. See NIST.FIPS.204)
|
||||
Disable Module-Lattice-Based Digital Signature Standard (ML-DSA) support.
|
||||
ML-DSA is based on CRYSTALS-DILITHIUM. See [FIPS 204].
|
||||
|
||||
### no-ml-kem
|
||||
|
||||
Disable Module-Lattice-Based Key-Encapsulation Mechanism Standard (ML-KEM)
|
||||
support. ML-KEM is based on CRYSTALS-KYBER. See [FIPS 203].
|
||||
|
||||
### no-module
|
||||
|
||||
@ -1205,8 +1210,8 @@ Build with support for the specified algorithm.
|
||||
### no-{algorithm}
|
||||
|
||||
no-{aria|bf|blake2|camellia|cast|chacha|cmac|
|
||||
des|dh|dsa|ecdh|ecdsa|idea|md4|mdc2|ocb|
|
||||
poly1305|rc2|rc4|rmd160|scrypt|seed|
|
||||
des|dh|dsa|ecdh|ecdsa|idea|md4|mdc2|ml-kem|
|
||||
ocb|poly1305|rc2|rc4|rmd160|scrypt|seed|
|
||||
siphash|siv|sm2|sm3|sm4|whirlpool}
|
||||
|
||||
Build without support for the specified algorithm.
|
||||
@ -2042,6 +2047,12 @@ is used, as it is the version of the GNU assembler that will be checked.
|
||||
[ESV]:
|
||||
<https://csrc.nist.gov/Projects/cryptographic-module-validation-program/entropy-validations>
|
||||
|
||||
[FIPS 203]:
|
||||
<https://csrc.nist.gov/pubs/fips/203/final>
|
||||
|
||||
[FIPS 204]:
|
||||
<https://csrc.nist.gov/pubs/fips/204/final>
|
||||
|
||||
[SP 800-90B]:
|
||||
<https://csrc.nist.gov/pubs/sp/800/90/b/final>
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
# there for further explanations.
|
||||
SUBDIRS=objects buffer bio stack lhash hashtable rand evp asn1 pem x509 conf \
|
||||
txt_db pkcs7 pkcs12 ui kdf store property \
|
||||
md2 md4 md5 sha mdc2 mlkem hmac ripemd whrlpool poly1305 \
|
||||
md2 md4 md5 sha mdc2 ml_kem hmac ripemd whrlpool poly1305 \
|
||||
siphash sm3 des aes rc2 rc4 rc5 idea aria bf cast camellia \
|
||||
seed sm4 chacha modes bn ec rsa dsa dh sm2 dso engine \
|
||||
err comp http ocsp cms ts srp cmac ct async ess crmf cmp encode_decode \
|
||||
|
5
crypto/ml_kem/build.info
Normal file
5
crypto/ml_kem/build.info
Normal file
@ -0,0 +1,5 @@
|
||||
LIBS = ../../libcrypto
|
||||
|
||||
IF[{- !$disabled{'ml-kem'} -}]
|
||||
SOURCE[../../libcrypto]=ml_kem.c
|
||||
ENDIF
|
1911
crypto/ml_kem/ml_kem.c
Normal file
1911
crypto/ml_kem/ml_kem.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
||||
LIBS = ../../libcrypto
|
||||
|
||||
SOURCE[../../libcrypto] = mlkem768.c
|
File diff suppressed because it is too large
Load Diff
300
include/crypto/ml_kem.h
Normal file
300
include/crypto/ml_kem.h
Normal file
@ -0,0 +1,300 @@
|
||||
/*
|
||||
* Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
/* Copyright (c) 2024, Google Inc. */
|
||||
|
||||
#ifndef OPENSSL_HEADER_ML_KEM_H
|
||||
# define OPENSSL_HEADER_ML_KEM_H
|
||||
# pragma once
|
||||
|
||||
# include <openssl/e_os2.h>
|
||||
# include <openssl/core_dispatch.h>
|
||||
# include <crypto/evp.h>
|
||||
# include <crypto/types.h>
|
||||
|
||||
# define ML_KEM_DEGREE 256
|
||||
/*
|
||||
* With (q-1) an odd multiple of 256, and 17 ("zeta") as a primitive 256th root
|
||||
* of unity, the polynomial (X^256+1) splits in Z_q[X] into 128 irreducible
|
||||
* quadratic factors of the form (X^2 - zeta^(2i + 1)). This is used to
|
||||
* implement efficient multiplication in the ring R_q via the "NTT" transform.
|
||||
*
|
||||
* 12 bits are sufficient to losslessly represent values in [0, q-1].
|
||||
* INVERSE_DEGREE is (n/2)^-1 mod q; used in inverse NTT.
|
||||
*/
|
||||
# define ML_KEM_PRIME (ML_KEM_DEGREE * 13 + 1)
|
||||
# define ML_KEM_LOG2PRIME 12
|
||||
# define ML_KEM_INVERSE_DEGREE (ML_KEM_PRIME - 2 * 13)
|
||||
|
||||
/*
|
||||
* Various ML-KEM primitives need random input, 32-bytes at a time. Key
|
||||
* generation consumes two random values (d, z) with "d" plus the rank (domain
|
||||
* separation) further expanded to two derived seeds "rho" and "sigma", with
|
||||
* "rho" used to generate the public matrix "A", and sigma to generate the
|
||||
* private vector "s" and error vector "e".
|
||||
*
|
||||
* Encapsulation also consumes one random value m, that is 32-bytes long. The
|
||||
* resulting shared secret "K" (also 32 bytes) and an internal random value "r"
|
||||
* are derived from "m" concatenated with a digest of the received public key.
|
||||
* Use of the public key hash means that the derived shared secret is
|
||||
* "contributary", it uses randomness from both parties.
|
||||
*
|
||||
* The seed "rho" is appended to the public key and allows the recipient of the
|
||||
* public key to re-compute the matrix "A" when performing encapsulation.
|
||||
*
|
||||
* Note that the matrix "m" we store in the public key is the transpose of the
|
||||
* "A" matrix from FIPS 203!
|
||||
*/
|
||||
# define ML_KEM_RANDOM_BYTES 32 /* rho, sigma, ... */
|
||||
# define ML_KEM_SEED_BYTES (ML_KEM_RANDOM_BYTES * 2) /* Keygen (d, z) */
|
||||
|
||||
# define ML_KEM_PKHASH_BYTES 32 /* Salts the shared-secret */
|
||||
# define ML_KEM_SHARED_SECRET_BYTES 32
|
||||
|
||||
/*-
|
||||
* The ML-KEM specification can be found in
|
||||
* https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf
|
||||
*
|
||||
* Section 8, Table 2, lists the parameters for the three variants:
|
||||
*
|
||||
* Variant n q k eta1 eta2 du dv secbits
|
||||
* ---------- --- ---- - ---- ---- -- -- -------
|
||||
* ML-KEM-512 256 3329 2 3 2 10 4 128
|
||||
* ML-KEM-768 256 3329 3 2 2 10 4 192
|
||||
* ML-KEM-1024 256 3329 4 2 2 11 5 256
|
||||
*
|
||||
* where:
|
||||
*
|
||||
* - "n" (ML_KEM_DEGREE above) is the fixed degree of the quotient polynomial
|
||||
* in the ring: "R_q" = Z[X]/(X^n + 1).
|
||||
* - "q" (ML_KEM_PRIME above) is the fixed prime (256 * 13 + 1 = 3329) used in
|
||||
* all ML-KEM variants.
|
||||
* - "k" is the row rank of the square matrix "A", with entries in R_q, that
|
||||
* defines the "noisy" linear equations: t = A * s + e. Also the rank of
|
||||
* of the associated vectors.
|
||||
* - "eta1" determines the amplitude of "s" and "e" vectors in key generation
|
||||
* and the "y" vector in ML-KEM encapsulation (K-PKE encryption).
|
||||
* - "eta2" determines the amplitude of "e1" and "e2" noise terms in ML-KEM
|
||||
* encapsulation (K-PKE encryption).
|
||||
* - "du" determines how many bits of each coefficient are retained in the
|
||||
* compressed form of the "u" vector in the encapsulation ciphertext.
|
||||
* - "dv" determines how many bits of each coefficient are retained in the
|
||||
* compressed form of the "v" value in encapsulation ciphertext
|
||||
* - "secbits" is required security strength of the RNG for the random inputs.
|
||||
*/
|
||||
|
||||
/*
|
||||
* The wire form of a losslessly encoded vector (12-bits per element)
|
||||
*/
|
||||
# define ML_KEM_VECTOR_BYTES(rank) \
|
||||
((3 * ML_KEM_DEGREE / 2) * (rank))
|
||||
|
||||
/*
|
||||
* The wire-form public key consists of the lossless encoding of the vector
|
||||
* "t" = "A" * "s" + "e", followed by public seed "rho".
|
||||
*/
|
||||
# define ML_KEM_PUBKEY_BYTES(rank) \
|
||||
(ML_KEM_VECTOR_BYTES(rank) + ML_KEM_RANDOM_BYTES)
|
||||
|
||||
/*
|
||||
* Our internal serialised private key concatenates serialisations of "s", the
|
||||
* public key, the public key hash, and the failure secret "z".
|
||||
*/
|
||||
# define ML_KEM_PRVKEY_BYTES(rank) \
|
||||
(ML_KEM_VECTOR_BYTES(rank) + ML_KEM_PUBKEY_BYTES(rank) \
|
||||
+ ML_KEM_PKHASH_BYTES + ML_KEM_RANDOM_BYTES)
|
||||
|
||||
/*
|
||||
* Encapsulation produces a vector "u" and a scalar "v", whose coordinates
|
||||
* (numbers modulo the ML-KEM prime "q") are lossily encoded using as "du" and
|
||||
* "dv" bits, respectively. This encoding is the ciphertext input for
|
||||
* decapsulation.
|
||||
*/
|
||||
# define ML_KEM_U_VECTOR_BYTES(rank, du) \
|
||||
((ML_KEM_DEGREE / 8) * (du) * (rank))
|
||||
# define ML_KEM_V_SCALAR_BYTES(dv) \
|
||||
((ML_KEM_DEGREE / 8) * (dv))
|
||||
# define ML_KEM_CTEXT_BYTES(rank, du, dv) \
|
||||
(ML_KEM_U_VECTOR_BYTES(rank, du) + ML_KEM_V_SCALAR_BYTES(dv))
|
||||
|
||||
/*
|
||||
* Variant-specific constants and structures
|
||||
* -----------------------------------------
|
||||
*/
|
||||
# define ML_KEM_512_RANK 2
|
||||
# define ML_KEM_512_ETA1 3
|
||||
# define ML_KEM_512_ETA2 2
|
||||
# define ML_KEM_512_DU 10
|
||||
# define ML_KEM_512_DV 4
|
||||
# define ML_KEM_512_RNGSEC 128
|
||||
|
||||
# define ML_KEM_768_RANK 3
|
||||
# define ML_KEM_768_ETA1 2
|
||||
# define ML_KEM_768_ETA2 2
|
||||
# define ML_KEM_768_DU 10
|
||||
# define ML_KEM_768_DV 4
|
||||
# define ML_KEM_768_RNGSEC 192
|
||||
|
||||
# define ML_KEM_1024_RANK 4
|
||||
# define ML_KEM_1024_ETA1 2
|
||||
# define ML_KEM_1024_ETA2 2
|
||||
# define ML_KEM_1024_DU 11
|
||||
# define ML_KEM_1024_DV 5
|
||||
# define ML_KEM_1024_RNGSEC 256
|
||||
|
||||
/*
|
||||
* External variant-specific API
|
||||
* -----------------------------
|
||||
*/
|
||||
|
||||
/*
|
||||
* Each variant parameter set is associated with an ordinal number which
|
||||
* represents that parameter set.
|
||||
*/
|
||||
# define ML_KEM_512 0
|
||||
# define ML_KEM_768 1
|
||||
# define ML_KEM_1024 2
|
||||
|
||||
typedef struct {
|
||||
const char *algorithm_name;
|
||||
size_t vector_bytes;
|
||||
size_t prvkey_bytes;
|
||||
size_t pubkey_bytes;
|
||||
size_t ctext_bytes;
|
||||
size_t u_vector_bytes;
|
||||
size_t puballoc;
|
||||
size_t prvalloc;
|
||||
int variant;
|
||||
int bits;
|
||||
int rank;
|
||||
int du;
|
||||
int dv;
|
||||
int secbits;
|
||||
} ML_KEM_VINFO;
|
||||
|
||||
/* Retrive global variant-specific parameters */
|
||||
const ML_KEM_VINFO *ossl_ml_kem_get_vinfo(int variant);
|
||||
|
||||
/* Known as ML_KEM_KEY via crypto/types.h */
|
||||
struct ossl_ml_kem_key_st {
|
||||
/* Variant metadata, for one of ML-KEM-{512,768,1024} */
|
||||
const ML_KEM_VINFO *vinfo;
|
||||
|
||||
/*
|
||||
* Library context, initially used to fetch the SHA3 MDs, and later for
|
||||
* random number generation.
|
||||
*/
|
||||
OSSL_LIB_CTX *libctx;
|
||||
|
||||
/* Pre-fetched SHA3 */
|
||||
EVP_MD *shake128_md;
|
||||
EVP_MD *shake256_md;
|
||||
EVP_MD *sha3_256_md;
|
||||
EVP_MD *sha3_512_md;
|
||||
|
||||
/*
|
||||
* Pointers into variable size storage, initially all NULL. Appropriate
|
||||
* storage is allocated once a public or private key is specified, at
|
||||
* which point the key becomes immutable.
|
||||
*/
|
||||
struct ossl_ml_kem_scalar_st *t; /* Public key vector */
|
||||
struct ossl_ml_kem_scalar_st *m; /* Pre-computed pubkey matrix */
|
||||
struct ossl_ml_kem_scalar_st *s; /* Private key secret vector */
|
||||
uint8_t *z; /* Private key FO failure secret */
|
||||
|
||||
/* Fixed-size/offset built-ins */
|
||||
uint8_t rho[ML_KEM_RANDOM_BYTES]; /* Matrix recovery seed */
|
||||
uint8_t pkhash[ML_KEM_PKHASH_BYTES]; /* Hash of wire-form public key */
|
||||
};
|
||||
|
||||
/* The public key is always present, when the private is */
|
||||
# define ossl_ml_kem_key_vinfo(key) ((key)->vinfo)
|
||||
# define ossl_ml_kem_have_pubkey(key) ((key)->t != NULL)
|
||||
# define ossl_ml_kem_have_prvkey(key) ((key)->s != NULL)
|
||||
|
||||
/*
|
||||
* ----- ML-KEM key lifecycle
|
||||
*/
|
||||
|
||||
# ifndef OPENSSL_NO_ML_KEM
|
||||
|
||||
/*
|
||||
* Allocate a "bare" key for given ML-KEM variant. Initially without any public
|
||||
* or private key material.
|
||||
*/
|
||||
ML_KEM_KEY *ossl_ml_kem_key_new(OSSL_LIB_CTX *libctx,
|
||||
const char *properties,
|
||||
int variant);
|
||||
/* Deallocate the key */
|
||||
void ossl_ml_kem_key_free(ML_KEM_KEY *key);
|
||||
/*
|
||||
* Duplicate a key, optionally including some key material, per the
|
||||
* |selection|, see <openssl/core_dispatch.h>.
|
||||
*/
|
||||
ML_KEM_KEY *ossl_ml_kem_key_dup(const ML_KEM_KEY *key, int selection);
|
||||
|
||||
/*
|
||||
* ----- Import or generate key material.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Functions that augment "bare ML-KEM keys" with key material deserialised
|
||||
* from an input buffer. It is an error for any key material to already be
|
||||
* present.
|
||||
*
|
||||
* Return 1 on success, 0 otherwise.
|
||||
*/
|
||||
__owur
|
||||
int ossl_ml_kem_parse_public_key(const uint8_t *in, size_t len,
|
||||
ML_KEM_KEY *key);
|
||||
__owur
|
||||
int ossl_ml_kem_parse_private_key(const uint8_t *in, size_t len,
|
||||
ML_KEM_KEY *key);
|
||||
__owur
|
||||
int ossl_ml_kem_genkey_rand(uint8_t *seed, size_t seedlen,
|
||||
uint8_t *pubenc, size_t publen,
|
||||
ML_KEM_KEY *key);
|
||||
__owur
|
||||
int ossl_ml_kem_genkey_seed(const uint8_t *seed, size_t seed_len,
|
||||
uint8_t *pubenc, size_t publen,
|
||||
ML_KEM_KEY *key);
|
||||
|
||||
/*
|
||||
* Perform an ML-KEM operation with a given ML-KEM key. The key can generally
|
||||
* be either a private or public key, with the exception of encoding a private
|
||||
* key or performing KEM decapsulation.
|
||||
*/
|
||||
__owur
|
||||
int ossl_ml_kem_encode_public_key(uint8_t *out, size_t len,
|
||||
const ML_KEM_KEY *key);
|
||||
__owur
|
||||
int ossl_ml_kem_encode_private_key(uint8_t *out, size_t len,
|
||||
const ML_KEM_KEY *key);
|
||||
|
||||
__owur
|
||||
int ossl_ml_kem_encap_seed(uint8_t *ctext, size_t clen,
|
||||
uint8_t *shared_secret, size_t slen,
|
||||
const uint8_t *entropy, size_t elen,
|
||||
const ML_KEM_KEY *key);
|
||||
__owur
|
||||
int ossl_ml_kem_encap_rand(uint8_t *ctext, size_t clen,
|
||||
uint8_t *shared_secret, size_t slen,
|
||||
const ML_KEM_KEY *key);
|
||||
__owur
|
||||
int ossl_ml_kem_decap(uint8_t *shared_secret, size_t slen,
|
||||
const uint8_t *ctext, size_t clen,
|
||||
const ML_KEM_KEY *key);
|
||||
|
||||
/* Compare the public key hashes of two keys */
|
||||
__owur
|
||||
int ossl_ml_kem_pubkey_cmp(const ML_KEM_KEY *key1, const ML_KEM_KEY *key2);
|
||||
|
||||
# endif /* OPENSSL_NO_ML_KEM */
|
||||
|
||||
#endif /* OPENSSL_HEADER_ML_KEM_H */
|
@ -1,227 +0,0 @@
|
||||
/*
|
||||
* Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
/* Copyright (c) 2024, Google Inc. */
|
||||
|
||||
#ifndef OPENSSL_HEADER_MLKEM_H
|
||||
# define OPENSSL_HEADER_MLKEM_H
|
||||
|
||||
# include <stdint.h>
|
||||
# include <openssl/e_os2.h>
|
||||
# include <crypto/evp.h>
|
||||
|
||||
# ifndef OPENSSL_NO_MLKEM
|
||||
|
||||
typedef struct ossl_mlkem_ctx {
|
||||
EVP_MD *shake128_cache;
|
||||
EVP_MD *shake256_cache;
|
||||
EVP_MD *sha3_256_cache;
|
||||
EVP_MD *sha3_512_cache;
|
||||
OSSL_LIB_CTX *libctx;
|
||||
char *properties;
|
||||
} ossl_mlkem_ctx;
|
||||
|
||||
/* General ctx functions */
|
||||
ossl_mlkem_ctx *ossl_mlkem_newctx(OSSL_LIB_CTX *libctx, const char *properties);
|
||||
|
||||
void ossl_mlkem_ctx_free(ossl_mlkem_ctx *ctx);
|
||||
|
||||
/*
|
||||
* ML-KEM-768.
|
||||
*
|
||||
* This implements the Module-Lattice-Based Key-Encapsulation Mechanism from
|
||||
* https://csrc.nist.gov/pubs/fips/203/final
|
||||
*/
|
||||
|
||||
/*
|
||||
* ossl_mlkem768_public_key contains an ML-KEM-768 public key. The contents of
|
||||
* this object should never leave the address space since the format is
|
||||
* unstable.
|
||||
*/
|
||||
|
||||
/* TODO: Review alignment as per https://github.com/openssl/private/issues/702 */
|
||||
|
||||
typedef struct ossl_mlkem768_public_key {
|
||||
union {
|
||||
uint8_t bytes[512 * (3 + 9) + 32 + 32];
|
||||
uint16_t alignment;
|
||||
} opaque;
|
||||
} ossl_mlkem768_public_key;
|
||||
|
||||
/*
|
||||
* ossl_mlkem768_private_key contains an ML-KEM-768 private key. The contents of
|
||||
* this object should never leave the address space since the format is
|
||||
* unstable.
|
||||
*/
|
||||
typedef struct ossl_mlkem768_private_key {
|
||||
union {
|
||||
uint8_t bytes[512 * (3 + 3 + 9) + 32 + 32 + 32];
|
||||
uint16_t alignment;
|
||||
} opaque;
|
||||
} ossl_mlkem768_private_key;
|
||||
|
||||
/*
|
||||
* Parameters from FIPS 203 Section 8: Parameter Sets
|
||||
* Reference: https://csrc.nist.gov/pubs/fips/203/final
|
||||
*/
|
||||
|
||||
# define OSSL_MLKEM768_SECURITY_BITS 192
|
||||
|
||||
/*
|
||||
* OSSL_MLKEM1024_PUBLIC_KEY_BYTES is the number of bytes in an encoded
|
||||
* ML-KEM-1024 public key.
|
||||
*/
|
||||
# define OSSL_MLKEM1024_PUBLIC_KEY_BYTES 1568
|
||||
|
||||
/*
|
||||
* OSSL_MLKEM768_PUBLIC_KEY_BYTES is the number of bytes in an encoded
|
||||
* ML-KEM-768 public key.
|
||||
*/
|
||||
# define OSSL_MLKEM768_PUBLIC_KEY_BYTES 1184
|
||||
|
||||
/* OSSL_MLKEM_SEED_BYTES is the number of bytes in an ML-KEM seed. */
|
||||
# define OSSL_MLKEM_SEED_BYTES 64
|
||||
|
||||
/*
|
||||
* ossl_mlkem768_generate_key generates a random public/private key pair, writes
|
||||
* the encoded public key to |out_encoded_public_key| and sets |out_private_key|
|
||||
* to the private key. If |optional_out_seed| is not NULL then the seed used to
|
||||
* generate the private key is written to it as well. out_encoded_public_key
|
||||
* must be allocated to store ossl_mlkem768_PUBLIC_KEY_BYTES optional_out_seed
|
||||
* if not NULL must be allocated to store OSSL_MLKEM_SEED_BYTES
|
||||
*/
|
||||
int ossl_mlkem768_generate_key(uint8_t *out_encoded_public_key,
|
||||
uint8_t *optional_out_seed,
|
||||
struct ossl_mlkem768_private_key *out_private_key,
|
||||
ossl_mlkem_ctx *mlkem_ctx);
|
||||
|
||||
/*
|
||||
* ossl_mlkem768_private_key_from_seed derives a private key from a seed that
|
||||
* was generated by |ossl_mlkem768_generate_key|. It fails and returns 0 if
|
||||
* |seed_len| is incorrect, otherwise it writes |*out_private_key| and returns
|
||||
* 1.
|
||||
*/
|
||||
int ossl_mlkem768_private_key_from_seed(ossl_mlkem768_private_key *out_private_key,
|
||||
const uint8_t *seed,
|
||||
size_t seed_len,
|
||||
ossl_mlkem_ctx *mlkem_ctx);
|
||||
|
||||
/*
|
||||
* ossl_mlkem768_public_from_private sets |*out_public_key| to the public key
|
||||
* that corresponds to |private_key|. (This is faster than parsing the output of
|
||||
* |ossl_mlkem768_generate_key| if, for some reason, you need to encapsulate to
|
||||
* a key that was just generated.)
|
||||
*/
|
||||
int ossl_mlkem768_public_from_private(ossl_mlkem768_public_key *out_public_key,
|
||||
const ossl_mlkem768_private_key *private_key);
|
||||
|
||||
/* Number of bytes in the ML-KEM-1024 ciphertext. */
|
||||
# define OSSL_MLKEM1024_CIPHERTEXT_BYTES 1568
|
||||
|
||||
/* Number of bytes in the ML-KEM-768 ciphertext. */
|
||||
# define OSSL_MLKEM768_CIPHERTEXT_BYTES 1088
|
||||
|
||||
/* Number of bytes in an ML-KEM shared secret. */
|
||||
# define OSSL_MLKEM768_SHARED_SECRET_BYTES 32
|
||||
|
||||
/*
|
||||
* ossl_mlkem768_encap encrypts a random shared secret for |public_key|, writes
|
||||
* the ciphertext to |out_ciphertext|, and writes the random shared secret to
|
||||
* |out_shared_secret|. It is assumed out_ciphertext has been allocated
|
||||
* ossl_mlkem768_CIPHERTEXT_BYTES bytes and out_shared_secret has been allocated
|
||||
* MLKEM_SHARED_SECRET_BYTES bytes
|
||||
*/
|
||||
int ossl_mlkem768_encap(uint8_t *out_ciphertext,
|
||||
uint8_t *out_shared_secret,
|
||||
const ossl_mlkem768_public_key *public_key,
|
||||
ossl_mlkem_ctx *mlkem_ctx);
|
||||
|
||||
/*
|
||||
* MLKEM_ENCAP_ENTROPY is the number of bytes of uniformly random entropy
|
||||
* necessary to encapsulate a secret. The entropy will be leaked to the
|
||||
* decapsulating party.
|
||||
*/
|
||||
# define MLKEM_ENCAP_ENTROPY 32
|
||||
|
||||
/*
|
||||
* The same as ossl_mlkem768_encap except this also uses a given entropy for
|
||||
* deterministic output.
|
||||
*/
|
||||
int ossl_mlkem768_encap_external_entropy(uint8_t *out_ciphertext,
|
||||
uint8_t *out_shared_secret,
|
||||
const ossl_mlkem768_public_key *public_key,
|
||||
const uint8_t *entropy,
|
||||
ossl_mlkem_ctx *mlkem_ctx);
|
||||
|
||||
/*
|
||||
* ossl_mlkem768_decap decrypts a shared secret from |ciphertext| using
|
||||
* |private_key| and writes it to |out_shared_secret|. If |ciphertext_len| is
|
||||
* incorrect it returns 0, otherwise it returns 1. If |ciphertext| is invalid
|
||||
* (but of the correct length), |out_shared_secret| is filled with a key that
|
||||
* will always be the same for the same |ciphertext| and |private_key|, but
|
||||
* which appears to be random unless one has access to |private_key|. These
|
||||
* alternatives occur in constant time. Any subsequent symmetric encryption
|
||||
* using |out_shared_secret| must use an authenticated encryption scheme in
|
||||
* order to discover the decapsulation failure. it is assumed out_shared_secret
|
||||
* has been allocated MLKEM_SHARED_SECRET_BYTES bytes
|
||||
*/
|
||||
int ossl_mlkem768_decap(uint8_t *out_shared_secret,
|
||||
const uint8_t *ciphertext, size_t ciphertext_len,
|
||||
const ossl_mlkem768_private_key *private_key,
|
||||
ossl_mlkem_ctx *mlkem_ctx);
|
||||
|
||||
/* Serialisation of keys. */
|
||||
|
||||
/*
|
||||
* ossl_mlkem768_marshal_public_key serializes |public_key| to |out| in the
|
||||
* standard format for ML-KEM-768 public keys. It returns one on success or zero
|
||||
* on allocation error.
|
||||
*/
|
||||
int ossl_mlkem768_marshal_public_key(uint8_t *out,
|
||||
const struct ossl_mlkem768_public_key *public_key);
|
||||
|
||||
/*
|
||||
* ossl_mlkem768_parse_public_key parses a public key, in the format generated
|
||||
* by |ossl_mlkem768_marshal_public_key|, from |in| and writes the result to
|
||||
* |out_public_key|. It returns one on success or zero on parse error.
|
||||
*/
|
||||
int ossl_mlkem768_parse_public_key(struct ossl_mlkem768_public_key *out_public_key,
|
||||
uint8_t *in,
|
||||
ossl_mlkem_ctx *mlkem_ctx);
|
||||
|
||||
/*
|
||||
* OSSL_MLKEM768_PRIVATE_KEY_BYTES is the length of the data produced by
|
||||
* |MLKEM768_marshal_private_key|.
|
||||
*/
|
||||
# define OSSL_MLKEM768_PRIVATE_KEY_BYTES 2400
|
||||
|
||||
/*
|
||||
* ossl_mlkem768_marshal_public_key serializes |private_key| to |out| in the
|
||||
* standard format for ML-KEM-768 private keys. It returns one on success or
|
||||
* zero on allocation error. This format is verbose and should be avoided.
|
||||
* Private keys should be stored as seeds and parsed using
|
||||
* |ossl_mlkem768_private_key_from_seed|.
|
||||
*/
|
||||
int ossl_mlkem768_marshal_private_key(uint8_t *out,
|
||||
struct ossl_mlkem768_private_key *private_key);
|
||||
|
||||
/*
|
||||
* ossl_mlkem768_parse_private_key parses a private key, in NIST's format for
|
||||
* private keys, from |in| and writes the result to |out_private_key|. It
|
||||
* returns one on success or zero on parse error or if there are trailing bytes
|
||||
* in |in|. This format is verbose and should be avoided. Private keys should be
|
||||
* stored as seeds and parsed using |ossl_mlkem768_private_key_from_seed|.
|
||||
*/
|
||||
int ossl_mlkem768_parse_private_key(struct ossl_mlkem768_private_key *out_private_key,
|
||||
uint8_t *in,
|
||||
ossl_mlkem_ctx *mlkem_ctx);
|
||||
|
||||
# endif /* OPENSSL_NO_MLKEM */
|
||||
|
||||
#endif /* OPENSSL_HEADER_MLKEM_H */
|
@ -29,4 +29,8 @@ typedef struct dsa_st DSA;
|
||||
typedef struct ecx_key_st ECX_KEY;
|
||||
# endif
|
||||
|
||||
# ifndef OPENSSL_NO_ML_KEM
|
||||
typedef struct ossl_ml_kem_key_st ML_KEM_KEY;
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
@ -56,12 +56,8 @@
|
||||
# define OSSL_TLS_GROUP_ID_ffdhe4096 0x0102
|
||||
# define OSSL_TLS_GROUP_ID_ffdhe6144 0x0103
|
||||
# define OSSL_TLS_GROUP_ID_ffdhe8192 0x0104
|
||||
/*
|
||||
* TODO(ML-KEM): Update to 513 as per IANA
|
||||
* https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-8
|
||||
* Not done yet to not break interop testing with OQS test server; change when that
|
||||
* gets updated in line with whatever IANA eventually defines
|
||||
*/
|
||||
# define OSSL_TLS_GROUP_ID_mlkem768 0x0768
|
||||
# define OSSL_TLS_GROUP_ID_mlkem512 0x0200
|
||||
# define OSSL_TLS_GROUP_ID_mlkem768 0x0201
|
||||
# define OSSL_TLS_GROUP_ID_mlkem1024 0x0202
|
||||
|
||||
#endif
|
||||
|
@ -18,10 +18,14 @@
|
||||
#include "internal/tlsgroups.h"
|
||||
#include "prov/providercommon.h"
|
||||
#include "internal/e_os.h"
|
||||
#include "crypto/mlkem.h"
|
||||
#include "crypto/ml_kem.h"
|
||||
|
||||
/* If neither ec or dh is available then we have no TLS-GROUP capabilities */
|
||||
#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH)
|
||||
/*
|
||||
* If none of EC, DH OR ML-KEM are available then we have no TLS-GROUP
|
||||
* capabilities.
|
||||
*/
|
||||
#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) || \
|
||||
!defined(OPENSSL_NO_ML_KEM)
|
||||
typedef struct tls_group_constants_st {
|
||||
unsigned int group_id; /* Group ID */
|
||||
unsigned int secbits; /* Bits of security */
|
||||
@ -97,8 +101,11 @@ static const TLS_GROUP_CONSTANTS group_list[] = {
|
||||
{ OSSL_TLS_GROUP_ID_ffdhe4096, 128, TLS1_3_VERSION, 0, -1, -1, 0 },
|
||||
{ OSSL_TLS_GROUP_ID_ffdhe6144, 128, TLS1_3_VERSION, 0, -1, -1, 0 },
|
||||
{ OSSL_TLS_GROUP_ID_ffdhe8192, 192, TLS1_3_VERSION, 0, -1, -1, 0 },
|
||||
{ OSSL_TLS_GROUP_ID_mlkem768, OSSL_MLKEM768_SECURITY_BITS,
|
||||
TLS1_3_VERSION, 0, -1, -1, 1 },
|
||||
#ifndef OPENSSL_NO_ML_KEM
|
||||
{ OSSL_TLS_GROUP_ID_mlkem512, ML_KEM_512_RNGSEC, TLS1_3_VERSION, 0, -1, -1, 1 },
|
||||
{ OSSL_TLS_GROUP_ID_mlkem768, ML_KEM_768_RNGSEC, TLS1_3_VERSION, 0, -1, -1, 1 },
|
||||
{ OSSL_TLS_GROUP_ID_mlkem1024, ML_KEM_1024_RNGSEC, TLS1_3_VERSION, 0, -1, -1, 1 },
|
||||
#endif
|
||||
};
|
||||
|
||||
#define TLS_GROUP_ENTRY(tlsname, realname, algorithm, idx) \
|
||||
@ -210,14 +217,18 @@ static const OSSL_PARAM param_group_list[][11] = {
|
||||
TLS_GROUP_ENTRY("ffdhe6144", "ffdhe6144", "DH", 36),
|
||||
TLS_GROUP_ENTRY("ffdhe8192", "ffdhe8192", "DH", 37),
|
||||
# endif
|
||||
/* TODO(ML-KEM): Decide final name, e.g., ML-KEM768 or MLKEM768 */
|
||||
TLS_GROUP_ENTRY("MLKEM768", "MLKEM768", "ML-KEM-768", 38),
|
||||
# if !defined(OPENSSL_NO_ML_KEM) && !defined(FIPS_MODULE)
|
||||
/* https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-8 */
|
||||
TLS_GROUP_ENTRY("MLKEM512", "MLKEM512", "ML-KEM-512", 38),
|
||||
TLS_GROUP_ENTRY("MLKEM768", "MLKEM768", "ML-KEM-768", 39),
|
||||
TLS_GROUP_ENTRY("MLKEM1024", "MLKEM1024", "ML-KEM-1024", 40),
|
||||
# endif
|
||||
};
|
||||
#endif /* !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) */
|
||||
#endif /* !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_ML_KEM) */
|
||||
|
||||
static int tls_group_capability(OSSL_CALLBACK *cb, void *arg)
|
||||
{
|
||||
#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH)
|
||||
#if !defined(OPENSSL_NO_EC) || !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_ML_KEM)
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < OSSL_NELEM(param_group_list); i++)
|
||||
|
@ -482,7 +482,11 @@ static const OSSL_ALGORITHM deflt_asym_kem[] = {
|
||||
# endif
|
||||
{ PROV_NAMES_EC, "provider=default", ossl_ec_asym_kem_functions },
|
||||
#endif
|
||||
{ PROV_NAMES_MLKEM768, "provider=default", ossl_mlkem768_asym_kem_functions },
|
||||
#ifndef OPENSSL_NO_ML_KEM
|
||||
{ PROV_NAMES_ML_KEM_512, "provider=default", ossl_ml_kem_asym_kem_functions },
|
||||
{ PROV_NAMES_ML_KEM_768, "provider=default", ossl_ml_kem_asym_kem_functions },
|
||||
{ PROV_NAMES_ML_KEM_1024, "provider=default", ossl_ml_kem_asym_kem_functions },
|
||||
#endif
|
||||
{ NULL, NULL, NULL }
|
||||
};
|
||||
|
||||
@ -545,8 +549,14 @@ static const OSSL_ALGORITHM deflt_keymgmt[] = {
|
||||
{ PROV_NAMES_SM2, "provider=default", ossl_sm2_keymgmt_functions,
|
||||
PROV_DESCS_SM2 },
|
||||
#endif
|
||||
{ PROV_NAMES_MLKEM768, "provider=default", ossl_mlkem768_keymgmt_functions,
|
||||
PROV_DESCS_MLKEM768 },
|
||||
#ifndef OPENSSL_NO_ML_KEM
|
||||
{ PROV_NAMES_ML_KEM_512, "provider=default", ossl_ml_kem_512_keymgmt_functions,
|
||||
PROV_DESCS_ML_KEM_512 },
|
||||
{ PROV_NAMES_ML_KEM_768, "provider=default", ossl_ml_kem_768_keymgmt_functions,
|
||||
PROV_DESCS_ML_KEM_768 },
|
||||
{ PROV_NAMES_ML_KEM_1024, "provider=default", ossl_ml_kem_1024_keymgmt_functions,
|
||||
PROV_DESCS_ML_KEM_1024 },
|
||||
#endif
|
||||
{ NULL, NULL, NULL }
|
||||
};
|
||||
|
||||
|
@ -324,7 +324,11 @@ extern const OSSL_DISPATCH ossl_sm2_keymgmt_functions[];
|
||||
extern const OSSL_DISPATCH ossl_ml_dsa_44_keymgmt_functions[];
|
||||
extern const OSSL_DISPATCH ossl_ml_dsa_65_keymgmt_functions[];
|
||||
extern const OSSL_DISPATCH ossl_ml_dsa_87_keymgmt_functions[];
|
||||
extern const OSSL_DISPATCH ossl_mlkem768_keymgmt_functions[];
|
||||
#ifndef OPENSSL_NO_ML_KEM
|
||||
extern const OSSL_DISPATCH ossl_ml_kem_512_keymgmt_functions[];
|
||||
extern const OSSL_DISPATCH ossl_ml_kem_768_keymgmt_functions[];
|
||||
extern const OSSL_DISPATCH ossl_ml_kem_1024_keymgmt_functions[];
|
||||
#endif
|
||||
|
||||
/* Key Exchange */
|
||||
extern const OSSL_DISPATCH ossl_dh_keyexch_functions[];
|
||||
@ -401,7 +405,7 @@ extern const OSSL_DISPATCH ossl_sm2_asym_cipher_functions[];
|
||||
extern const OSSL_DISPATCH ossl_rsa_asym_kem_functions[];
|
||||
extern const OSSL_DISPATCH ossl_ecx_asym_kem_functions[];
|
||||
extern const OSSL_DISPATCH ossl_ec_asym_kem_functions[];
|
||||
extern const OSSL_DISPATCH ossl_mlkem768_asym_kem_functions[];
|
||||
extern const OSSL_DISPATCH ossl_ml_kem_asym_kem_functions[];
|
||||
|
||||
/* Encoders */
|
||||
extern const OSSL_DISPATCH ossl_rsa_to_PKCS1_der_encoder_functions[];
|
||||
|
@ -1,35 +0,0 @@
|
||||
/*
|
||||
* Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#ifndef OSSL_INTERNAL_MLKEM_H
|
||||
# define OSSL_INTERNAL_MLKEM_H
|
||||
# pragma once
|
||||
|
||||
# ifndef OPENSSL_NO_MLKEM
|
||||
|
||||
# include <stdint.h>
|
||||
# include <crypto/mlkem.h>
|
||||
|
||||
# define MLKEM_KEY_TYPE_512 0
|
||||
# define MLKEM_KEY_TYPE_768 1
|
||||
# define MLKEY_KEY_TYPE_1024 2
|
||||
|
||||
typedef struct mlkem768_key_st {
|
||||
int keytype;
|
||||
ossl_mlkem768_private_key privkey;
|
||||
ossl_mlkem768_public_key pubkey;
|
||||
uint8_t *encoded_pubkey;
|
||||
uint8_t *encoded_privkey;
|
||||
ossl_mlkem_ctx *mlkem_ctx;
|
||||
void *provctx;
|
||||
} MLKEM768_KEY;
|
||||
|
||||
# endif /* OPENSSL_NO_MLKEM */
|
||||
|
||||
#endif /* OSSL_INTERNAL_MLKEM_H */
|
@ -390,5 +390,9 @@
|
||||
#define PROV_DESCS_ML_DSA_65 "OpenSSL ML-DSA-65 implementation"
|
||||
#define PROV_NAMES_ML_DSA_87 "ML-DSA-87:2.16.840.1.101.3.4.3.19:id-ml-dsa-87"
|
||||
#define PROV_DESCS_ML_DSA_87 "OpenSSL ML-DSA-87 implementation"
|
||||
#define PROV_NAMES_MLKEM768 "ML-KEM-768"
|
||||
#define PROV_DESCS_MLKEM768 "OpenSSL ML-KEM-768 implementation"
|
||||
#define PROV_NAMES_ML_KEM_512 "ML-KEM-512"
|
||||
#define PROV_DESCS_ML_KEM_512 "OpenSSL ML-KEM-512 implementation"
|
||||
#define PROV_NAMES_ML_KEM_768 "ML-KEM-768"
|
||||
#define PROV_DESCS_ML_KEM_768 "OpenSSL ML-KEM-768 implementation"
|
||||
#define PROV_NAMES_ML_KEM_1024 "ML-KEM-1024"
|
||||
#define PROV_DESCS_ML_KEM_1024 "OpenSSL ML-KEM-1024 implementation"
|
||||
|
@ -16,4 +16,6 @@ IF[{- !$disabled{ec} -}]
|
||||
ENDIF
|
||||
|
||||
SOURCE[$TEMPLATE_KEM_GOAL]=template_kem.c
|
||||
SOURCE[$ML_KEM_GOAL]=ml_kem.c
|
||||
IF[{- !$disabled{'ml-kem'} -}]
|
||||
SOURCE[$ML_KEM_GOAL] = ml_kem.c
|
||||
ENDIF
|
||||
|
@ -15,218 +15,218 @@
|
||||
#include <openssl/params.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/proverr.h>
|
||||
#include "crypto/ml_kem.h"
|
||||
#include "prov/provider_ctx.h"
|
||||
#include "prov/implementations.h"
|
||||
#include "prov/securitycheck.h"
|
||||
#include "prov/providercommon.h"
|
||||
#include "prov/mlkem.h"
|
||||
|
||||
#define BUFSIZE 1000
|
||||
#if defined(NDEBUG) || defined(OPENSSL_NO_STDIO)
|
||||
/* TODO(ML-KEM) to remove or replace with TRACE */
|
||||
static void debug_print(char *fmt, ...)
|
||||
{
|
||||
}
|
||||
#else
|
||||
static void debug_print(char *fmt, ...)
|
||||
{
|
||||
char out[BUFSIZE];
|
||||
va_list argptr;
|
||||
|
||||
va_start(argptr, fmt);
|
||||
vsnprintf(out, BUFSIZE, fmt, argptr);
|
||||
va_end(argptr);
|
||||
if (getenv("TEMPLATEKM"))
|
||||
fprintf(stderr, "TEMPLATE_KM: %s", out);
|
||||
}
|
||||
#endif
|
||||
static OSSL_FUNC_kem_newctx_fn ml_kem_newctx;
|
||||
static OSSL_FUNC_kem_freectx_fn ml_kem_freectx;
|
||||
static OSSL_FUNC_kem_encapsulate_init_fn ml_kem_encapsulate_init;
|
||||
static OSSL_FUNC_kem_encapsulate_fn ml_kem_encapsulate;
|
||||
static OSSL_FUNC_kem_decapsulate_init_fn ml_kem_decapsulate_init;
|
||||
static OSSL_FUNC_kem_decapsulate_fn ml_kem_decapsulate;
|
||||
static OSSL_FUNC_kem_set_ctx_params_fn ml_kem_set_ctx_params;
|
||||
static OSSL_FUNC_kem_settable_ctx_params_fn ml_kem_settable_ctx_params;
|
||||
|
||||
typedef struct {
|
||||
OSSL_LIB_CTX *libctx;
|
||||
MLKEM768_KEY *key;
|
||||
int op;
|
||||
ML_KEM_KEY *key;
|
||||
uint8_t entropy_buf[ML_KEM_RANDOM_BYTES];
|
||||
uint8_t *entropy;
|
||||
} PROV_MLKEM_CTX;
|
||||
} PROV_ML_KEM_CTX;
|
||||
|
||||
static OSSL_FUNC_kem_newctx_fn mlkem_newctx;
|
||||
static OSSL_FUNC_kem_encapsulate_init_fn mlkem_encapsulate_init;
|
||||
static OSSL_FUNC_kem_encapsulate_fn mlkem_encapsulate;
|
||||
static OSSL_FUNC_kem_decapsulate_init_fn mlkem_decapsulate_init;
|
||||
static OSSL_FUNC_kem_decapsulate_fn mlkem_decapsulate;
|
||||
static OSSL_FUNC_kem_freectx_fn mlkem_freectx;
|
||||
static OSSL_FUNC_kem_set_ctx_params_fn mlkem_set_ctx_params;
|
||||
|
||||
static void *mlkem_newctx(void *provctx)
|
||||
static void *ml_kem_newctx(void *provctx)
|
||||
{
|
||||
PROV_MLKEM_CTX *ctx = OPENSSL_zalloc(sizeof(*ctx));
|
||||
PROV_ML_KEM_CTX *ctx;
|
||||
|
||||
debug_print("MLKEMKEM newctx called\n");
|
||||
if (ctx == NULL)
|
||||
if ((ctx = OPENSSL_malloc(sizeof(*ctx))) == NULL)
|
||||
return NULL;
|
||||
|
||||
ctx->libctx = PROV_LIBCTX_OF(provctx);
|
||||
|
||||
debug_print("MLKEMKEM newctx returns %p\n", ctx);
|
||||
ctx->key = NULL;
|
||||
ctx->entropy = NULL;
|
||||
return ctx;
|
||||
}
|
||||
|
||||
static void mlkem_freectx(void *vctx)
|
||||
static void ml_kem_freectx(void *vctx)
|
||||
{
|
||||
PROV_MLKEM_CTX *ctx = (PROV_MLKEM_CTX *)vctx;
|
||||
PROV_ML_KEM_CTX *ctx = vctx;
|
||||
|
||||
OPENSSL_free(ctx->entropy);
|
||||
debug_print("MLKEMKEM freectx %p\n", ctx);
|
||||
if (ctx->entropy != NULL)
|
||||
OPENSSL_cleanse(ctx->entropy, ML_KEM_RANDOM_BYTES);
|
||||
OPENSSL_free(ctx);
|
||||
}
|
||||
|
||||
static int mlkem_init(void *vctx, int operation, void *vkey, void *vauth,
|
||||
const OSSL_PARAM params[])
|
||||
static int ml_kem_init(void *vctx, int unused_op, void *key,
|
||||
const OSSL_PARAM params[])
|
||||
{
|
||||
PROV_MLKEM_CTX *ctx = (PROV_MLKEM_CTX *)vctx;
|
||||
MLKEM768_KEY *mlkemkey = vkey;
|
||||
PROV_ML_KEM_CTX *ctx = vctx;
|
||||
|
||||
debug_print("MLKEMKEM init %p / %p\n", ctx, mlkemkey);
|
||||
if (!ossl_prov_is_running())
|
||||
return 0;
|
||||
ctx->key = key;
|
||||
return ml_kem_set_ctx_params(vctx, params);
|
||||
}
|
||||
|
||||
if (mlkemkey->keytype != MLKEM_KEY_TYPE_768)
|
||||
static int ml_kem_encapsulate_init(void *vctx, void *vkey,
|
||||
const OSSL_PARAM params[])
|
||||
{
|
||||
ML_KEM_KEY *key = vkey;
|
||||
|
||||
if (!ossl_ml_kem_have_pubkey(key)) {
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_MISSING_KEY);
|
||||
return 0;
|
||||
}
|
||||
return ml_kem_init(vctx, EVP_PKEY_OP_ENCAPSULATE, key, params);
|
||||
}
|
||||
|
||||
ctx->key = mlkemkey;
|
||||
ctx->op = operation;
|
||||
ctx->entropy = NULL;
|
||||
static int ml_kem_decapsulate_init(void *vctx, void *vkey,
|
||||
const OSSL_PARAM params[])
|
||||
{
|
||||
ML_KEM_KEY *key = vkey;
|
||||
|
||||
if (!mlkem_set_ctx_params(vctx, params))
|
||||
if (!ossl_ml_kem_have_prvkey(key)) {
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_MISSING_KEY);
|
||||
return 0;
|
||||
|
||||
debug_print("MLKEMKEM init OK\n");
|
||||
return 1;
|
||||
}
|
||||
return ml_kem_init(vctx, EVP_PKEY_OP_DECAPSULATE, key, params);
|
||||
}
|
||||
|
||||
static int mlkem_encapsulate_init(void *vctx, void *vkey,
|
||||
const OSSL_PARAM params[])
|
||||
static int ml_kem_set_ctx_params(void *vctx, const OSSL_PARAM params[])
|
||||
{
|
||||
return mlkem_init(vctx, EVP_PKEY_OP_ENCAPSULATE, vkey, NULL, params);
|
||||
}
|
||||
|
||||
static int mlkem_decapsulate_init(void *vctx, void *vkey,
|
||||
const OSSL_PARAM params[])
|
||||
{
|
||||
return mlkem_init(vctx, EVP_PKEY_OP_DECAPSULATE, vkey, NULL, params);
|
||||
}
|
||||
|
||||
static int mlkem_set_ctx_params(void *vctx, const OSSL_PARAM params[])
|
||||
{
|
||||
PROV_MLKEM_CTX *ctx = (PROV_MLKEM_CTX *)vctx;
|
||||
PROV_ML_KEM_CTX *ctx = vctx;
|
||||
const OSSL_PARAM *p;
|
||||
|
||||
debug_print("MLKEMKEM set ctx params %p\n", ctx);
|
||||
if (ctx == NULL)
|
||||
return 0;
|
||||
if (params == NULL)
|
||||
if (ossl_param_is_empty(params))
|
||||
return 1;
|
||||
|
||||
if ((p = OSSL_PARAM_locate_const(params, OSSL_KEM_PARAM_MLKEM_ENC_ENTROPY)) != NULL
|
||||
&& (p->data_size != MLKEM_ENCAP_ENTROPY
|
||||
|| (ctx->entropy = OPENSSL_memdup(p->data, MLKEM_ENCAP_ENTROPY)) == NULL))
|
||||
return 0;
|
||||
if ((p = OSSL_PARAM_locate_const(params, OSSL_KEM_PARAM_IKME)) != NULL) {
|
||||
size_t len = ML_KEM_RANDOM_BYTES;
|
||||
|
||||
debug_print("MLKEMKEM set ctx params OK\n");
|
||||
ctx->entropy = ctx->entropy_buf;
|
||||
if (OSSL_PARAM_get_octet_string(p, (void **)&ctx->entropy,
|
||||
len, &len)
|
||||
&& len == ML_KEM_RANDOM_BYTES)
|
||||
return 1;
|
||||
|
||||
/* Possibly, but much less likely wrong type */
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_INVALID_SEED_LENGTH);
|
||||
ctx->entropy = NULL;
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static const OSSL_PARAM known_settable_mlkem_ctx_params[] = {
|
||||
OSSL_PARAM_octet_string(OSSL_KEM_PARAM_MLKEM_ENC_ENTROPY, NULL, 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
|
||||
static const OSSL_PARAM *mlkem_settable_ctx_params(ossl_unused void *vctx,
|
||||
ossl_unused void *provctx)
|
||||
static const OSSL_PARAM *ml_kem_settable_ctx_params(ossl_unused void *vctx,
|
||||
ossl_unused void *provctx)
|
||||
{
|
||||
return known_settable_mlkem_ctx_params;
|
||||
static const OSSL_PARAM params[] = {
|
||||
OSSL_PARAM_octet_string(OSSL_KEM_PARAM_IKME, NULL, 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
static int mlkem_encapsulate(void *vctx, unsigned char *out, size_t *outlen,
|
||||
unsigned char *secret, size_t *secretlen)
|
||||
static int ml_kem_encapsulate(void *vctx, unsigned char *out, size_t *outlen,
|
||||
unsigned char *secret, size_t *secretlen)
|
||||
{
|
||||
PROV_MLKEM_CTX *ctx = (PROV_MLKEM_CTX *)vctx;
|
||||
int ret;
|
||||
PROV_ML_KEM_CTX *ctx = vctx;
|
||||
ML_KEM_KEY *key = ctx->key;
|
||||
const ML_KEM_VINFO *v;
|
||||
int ret = 0;
|
||||
|
||||
debug_print("MLKEMKEM encaps %p to %p\n", ctx, out);
|
||||
if (outlen != NULL)
|
||||
*outlen = OSSL_MLKEM768_CIPHERTEXT_BYTES;
|
||||
if (secretlen != NULL)
|
||||
*secretlen = OSSL_MLKEM768_SHARED_SECRET_BYTES;
|
||||
if (!ossl_ml_kem_have_pubkey(key)) {
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_MISSING_KEY);
|
||||
goto end;
|
||||
}
|
||||
v = ossl_ml_kem_key_vinfo(key);
|
||||
|
||||
if (out == NULL) {
|
||||
debug_print("MLKEMKEM encaps outlens set to %ld and %ld\n", *outlen, *secretlen);
|
||||
if (outlen == NULL && secretlen == NULL)
|
||||
return 0;
|
||||
if (outlen != NULL)
|
||||
*outlen = v->ctext_bytes;
|
||||
if (secretlen != NULL)
|
||||
*secretlen = ML_KEM_SHARED_SECRET_BYTES;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (ctx->key == NULL
|
||||
|| ctx->key->keytype != MLKEM_KEY_TYPE_768
|
||||
|| ctx->key->encoded_pubkey == NULL
|
||||
|| secret == NULL)
|
||||
return 0;
|
||||
if (*secretlen < ML_KEM_SHARED_SECRET_BYTES) {
|
||||
ERR_raise_data(ERR_LIB_PROV, PROV_R_BAD_LENGTH,
|
||||
"short ML-KEM encapsulate shared secret");
|
||||
goto end;
|
||||
}
|
||||
if (*outlen < v->ctext_bytes) {
|
||||
ERR_raise_data(ERR_LIB_PROV, PROV_R_BAD_LENGTH,
|
||||
"short ML-KEM encapsulate ciphertext");
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (secret == NULL) {
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_MISSING_SECRET);
|
||||
goto end;
|
||||
}
|
||||
|
||||
*secretlen = ML_KEM_SHARED_SECRET_BYTES;
|
||||
*outlen = v->ctext_bytes;
|
||||
if (ctx->entropy != NULL)
|
||||
ret = ossl_ml_kem_encap_seed(out, *outlen, secret, *secretlen,
|
||||
ctx->entropy, ML_KEM_RANDOM_BYTES, key);
|
||||
else
|
||||
ret = ossl_ml_kem_encap_rand(out, *outlen, secret, *secretlen, key);
|
||||
|
||||
end:
|
||||
if (ctx->entropy != NULL) {
|
||||
ret = ossl_mlkem768_encap_external_entropy(out, secret,
|
||||
&ctx->key->pubkey,
|
||||
ctx->entropy,
|
||||
ctx->key->mlkem_ctx);
|
||||
} else {
|
||||
ret = ossl_mlkem768_encap(out, (uint8_t *)secret, &ctx->key->pubkey,
|
||||
ctx->key->mlkem_ctx);
|
||||
OPENSSL_cleanse(ctx->entropy, ML_KEM_RANDOM_BYTES);
|
||||
ctx->entropy = NULL;
|
||||
}
|
||||
|
||||
debug_print("MLKEMKEM encaps returns %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int mlkem_decapsulate(void *vctx, unsigned char *out, size_t *outlen,
|
||||
const unsigned char *in, size_t inlen)
|
||||
static int ml_kem_decapsulate(void *vctx, unsigned char *out, size_t *outlen,
|
||||
const unsigned char *in, size_t inlen)
|
||||
{
|
||||
PROV_MLKEM_CTX *ctx = (PROV_MLKEM_CTX *)vctx;
|
||||
int ret;
|
||||
PROV_ML_KEM_CTX *ctx = vctx;
|
||||
ML_KEM_KEY *key = ctx->key;
|
||||
|
||||
debug_print("MLKEMKEM decaps %p to %p\n", ctx, out);
|
||||
debug_print("MLKEMKEM decaps inlen at %ld\n", inlen);
|
||||
if (outlen != NULL)
|
||||
*outlen = OSSL_MLKEM768_SHARED_SECRET_BYTES;
|
||||
if (!ossl_ml_kem_have_prvkey(key)) {
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_MISSING_KEY);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (out == NULL) {
|
||||
debug_print("MLKEMKEM decaps outlen set to %ld \n", *outlen);
|
||||
if (outlen == NULL)
|
||||
return 0;
|
||||
*outlen = ML_KEM_SHARED_SECRET_BYTES;
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (ctx->key == NULL
|
||||
|| ctx->key->keytype != MLKEM_KEY_TYPE_768
|
||||
|| ctx->key->encoded_privkey == NULL
|
||||
|| in == NULL)
|
||||
if (*outlen < ML_KEM_SHARED_SECRET_BYTES) {
|
||||
ERR_raise_data(ERR_LIB_PROV, PROV_R_BAD_LENGTH,
|
||||
"short ML-KEM decapsulate shared secret");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (inlen != OSSL_MLKEM768_CIPHERTEXT_BYTES)
|
||||
return 0;
|
||||
|
||||
ret = ossl_mlkem768_decap((uint8_t *)out, (uint8_t *)in, inlen, &ctx->key->privkey,
|
||||
ctx->key->mlkem_ctx);
|
||||
|
||||
debug_print("MLKEMKEM decaps returns %d\n", ret);
|
||||
return ret;
|
||||
/* ML-KEM decap handles incorrect ciphertext lengths internally */
|
||||
*outlen = ML_KEM_SHARED_SECRET_BYTES;
|
||||
return ossl_ml_kem_decap(out, *outlen, in, inlen, key);
|
||||
}
|
||||
|
||||
const OSSL_DISPATCH ossl_mlkem768_asym_kem_functions[] = {
|
||||
{ OSSL_FUNC_KEM_NEWCTX, (void (*)(void))mlkem_newctx },
|
||||
{ OSSL_FUNC_KEM_ENCAPSULATE_INIT,
|
||||
(void (*)(void))mlkem_encapsulate_init },
|
||||
{ OSSL_FUNC_KEM_ENCAPSULATE, (void (*)(void))mlkem_encapsulate },
|
||||
{ OSSL_FUNC_KEM_DECAPSULATE_INIT,
|
||||
(void (*)(void))mlkem_decapsulate_init },
|
||||
{ OSSL_FUNC_KEM_DECAPSULATE, (void (*)(void))mlkem_decapsulate },
|
||||
{ OSSL_FUNC_KEM_FREECTX, (void (*)(void))mlkem_freectx },
|
||||
{ OSSL_FUNC_KEM_SET_CTX_PARAMS,
|
||||
(void (*)(void))mlkem_set_ctx_params },
|
||||
{ OSSL_FUNC_KEM_SETTABLE_CTX_PARAMS,
|
||||
(void (*)(void))mlkem_settable_ctx_params },
|
||||
typedef void (*func_ptr_t)(void);
|
||||
|
||||
const OSSL_DISPATCH ossl_ml_kem_asym_kem_functions[] = {
|
||||
{ OSSL_FUNC_KEM_NEWCTX, (func_ptr_t) ml_kem_newctx },
|
||||
{ OSSL_FUNC_KEM_ENCAPSULATE_INIT, (func_ptr_t) ml_kem_encapsulate_init },
|
||||
{ OSSL_FUNC_KEM_ENCAPSULATE, (func_ptr_t) ml_kem_encapsulate },
|
||||
{ OSSL_FUNC_KEM_DECAPSULATE_INIT, (func_ptr_t) ml_kem_decapsulate_init },
|
||||
{ OSSL_FUNC_KEM_DECAPSULATE, (func_ptr_t) ml_kem_decapsulate },
|
||||
{ OSSL_FUNC_KEM_FREECTX, (func_ptr_t) ml_kem_freectx },
|
||||
{ OSSL_FUNC_KEM_SET_CTX_PARAMS, (func_ptr_t) ml_kem_set_ctx_params },
|
||||
{ OSSL_FUNC_KEM_SETTABLE_CTX_PARAMS, (func_ptr_t) ml_kem_settable_ctx_params },
|
||||
OSSL_DISPATCH_END
|
||||
};
|
||||
|
@ -10,7 +10,7 @@ $MAC_GOAL=../../libdefault.a ../../libfips.a
|
||||
$RSA_GOAL=../../libdefault.a ../../libfips.a
|
||||
$TEMPLATE_GOAL=../../libtemplate.a
|
||||
$ML_DSA_GOAL=../../libdefault.a ../../libfips.a
|
||||
$MLKEM_GOAL=../../libdefault.a
|
||||
$ML_KEM_GOAL=../../libdefault.a
|
||||
|
||||
IF[{- !$disabled{dh} -}]
|
||||
SOURCE[$DH_GOAL]=dh_kmgmt.c
|
||||
@ -50,4 +50,7 @@ SOURCE[$TEMPLATE_GOAL]=template_kmgmt.c
|
||||
IF[{- !$disabled{'ml-dsa'} -}]
|
||||
SOURCE[$ML_DSA_GOAL]=ml_dsa_kmgmt.c
|
||||
ENDIF
|
||||
SOURCE[$MLKEM_GOAL]=mlkem_kmgmt.c
|
||||
|
||||
IF[{- !$disabled{'ml-kem'} -}]
|
||||
SOURCE[$ML_KEM_GOAL]=ml_kem_kmgmt.c
|
||||
ENDIF
|
||||
|
529
providers/implementations/keymgmt/ml_kem_kmgmt.c
Normal file
529
providers/implementations/keymgmt/ml_kem_kmgmt.c
Normal file
@ -0,0 +1,529 @@
|
||||
/*
|
||||
* Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#include <openssl/core_dispatch.h>
|
||||
#include <openssl/core_names.h>
|
||||
#include <openssl/params.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/proverr.h>
|
||||
#include <openssl/rand.h>
|
||||
#include <openssl/self_test.h>
|
||||
#include "crypto/ml_kem.h"
|
||||
#include "internal/param_build_set.h"
|
||||
#include <openssl/param_build.h>
|
||||
#include "prov/implementations.h"
|
||||
#include "prov/providercommon.h"
|
||||
#include "prov/provider_ctx.h"
|
||||
#include "prov/securitycheck.h"
|
||||
|
||||
static OSSL_FUNC_keymgmt_new_fn ml_kem_512_new;
|
||||
static OSSL_FUNC_keymgmt_new_fn ml_kem_768_new;
|
||||
static OSSL_FUNC_keymgmt_new_fn ml_kem_1024_new;
|
||||
static OSSL_FUNC_keymgmt_gen_fn ml_kem_gen;
|
||||
static OSSL_FUNC_keymgmt_gen_init_fn ml_kem_512_gen_init;
|
||||
static OSSL_FUNC_keymgmt_gen_init_fn ml_kem_768_gen_init;
|
||||
static OSSL_FUNC_keymgmt_gen_init_fn ml_kem_1024_gen_init;
|
||||
static OSSL_FUNC_keymgmt_gen_cleanup_fn ml_kem_gen_cleanup;
|
||||
static OSSL_FUNC_keymgmt_gen_set_params_fn ml_kem_gen_set_params;
|
||||
static OSSL_FUNC_keymgmt_gen_settable_params_fn ml_kem_gen_settable_params;
|
||||
static OSSL_FUNC_keymgmt_get_params_fn ml_kem_get_params;
|
||||
static OSSL_FUNC_keymgmt_gettable_params_fn ml_kem_gettable_params;
|
||||
static OSSL_FUNC_keymgmt_set_params_fn ml_kem_set_params;
|
||||
static OSSL_FUNC_keymgmt_settable_params_fn ml_kem_settable_params;
|
||||
static OSSL_FUNC_keymgmt_has_fn ml_kem_has;
|
||||
static OSSL_FUNC_keymgmt_match_fn ml_kem_match;
|
||||
static OSSL_FUNC_keymgmt_import_fn ml_kem_import;
|
||||
static OSSL_FUNC_keymgmt_export_fn ml_kem_export;
|
||||
static OSSL_FUNC_keymgmt_import_types_fn ml_kem_imexport_types;
|
||||
static OSSL_FUNC_keymgmt_export_types_fn ml_kem_imexport_types;
|
||||
static OSSL_FUNC_keymgmt_dup_fn ml_kem_dup;
|
||||
|
||||
typedef struct ml_kem_gen_ctx_st {
|
||||
OSSL_LIB_CTX *libctx;
|
||||
char *propq;
|
||||
int selection;
|
||||
int variant;
|
||||
uint8_t seedbuf[ML_KEM_SEED_BYTES];
|
||||
uint8_t *seed;
|
||||
} PROV_ML_KEM_GEN_CTX;
|
||||
|
||||
static void *ml_kem_new(OSSL_LIB_CTX *libctx, char *propq, int variant)
|
||||
{
|
||||
if (!ossl_prov_is_running())
|
||||
return NULL;
|
||||
return ossl_ml_kem_key_new(libctx, propq, variant);
|
||||
}
|
||||
|
||||
static int ml_kem_has(const void *vkey, int selection)
|
||||
{
|
||||
const ML_KEM_KEY *key = vkey;
|
||||
|
||||
/* A NULL key MUST fail to have anything */
|
||||
if (!ossl_prov_is_running() || key == NULL)
|
||||
return 0;
|
||||
|
||||
switch (selection & OSSL_KEYMGMT_SELECT_KEYPAIR) {
|
||||
case 0:
|
||||
return 1;
|
||||
case OSSL_KEYMGMT_SELECT_PUBLIC_KEY:
|
||||
return ossl_ml_kem_have_pubkey(key);
|
||||
default:
|
||||
return ossl_ml_kem_have_prvkey(key);
|
||||
}
|
||||
}
|
||||
|
||||
static int ml_kem_match(const void *vkey1, const void *vkey2, int selection)
|
||||
{
|
||||
const ML_KEM_KEY *key1 = vkey1;
|
||||
const ML_KEM_KEY *key2 = vkey2;
|
||||
|
||||
if (!ossl_prov_is_running())
|
||||
return 0;
|
||||
|
||||
/* All we have that can be compared is key material */
|
||||
if (!(selection & OSSL_KEYMGMT_SELECT_KEYPAIR))
|
||||
return 1;
|
||||
|
||||
return ossl_ml_kem_pubkey_cmp(key1, key2);
|
||||
}
|
||||
|
||||
static int ml_kem_export(void *vkey, int selection, OSSL_CALLBACK *param_cb,
|
||||
void *cbarg)
|
||||
{
|
||||
ML_KEM_KEY *key = vkey;
|
||||
OSSL_PARAM_BLD *tmpl = NULL;
|
||||
OSSL_PARAM *params = NULL;
|
||||
uint8_t *pubenc = NULL;
|
||||
uint8_t *prvenc = NULL;
|
||||
const ML_KEM_VINFO *v;
|
||||
int ret = 0;
|
||||
|
||||
if (!ossl_prov_is_running() || key == NULL)
|
||||
return 0;
|
||||
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
|
||||
return 0;
|
||||
|
||||
/* Fail when no key material has yet been provided */
|
||||
if (!ossl_ml_kem_have_pubkey(key)) {
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_MISSING_KEY);
|
||||
return 0;
|
||||
}
|
||||
v = ossl_ml_kem_key_vinfo(key);
|
||||
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_PUBLIC_KEY) != 0) {
|
||||
pubenc = OPENSSL_malloc(v->pubkey_bytes);
|
||||
if (pubenc == NULL)
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (ossl_ml_kem_have_prvkey(key)
|
||||
&& (selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY) != 0) {
|
||||
/*
|
||||
* Allocated on the secure heap if configured, this is detected in
|
||||
* ossl_param_build_set_octet_string(), which will then also use the
|
||||
* secure heap.
|
||||
*/
|
||||
prvenc = OPENSSL_secure_zalloc(v->prvkey_bytes);
|
||||
if (prvenc == NULL)
|
||||
goto err;
|
||||
}
|
||||
|
||||
tmpl = OSSL_PARAM_BLD_new();
|
||||
if (tmpl == NULL)
|
||||
goto err;
|
||||
|
||||
/* The public key on request; it is always available when either is */
|
||||
if (pubenc != NULL)
|
||||
if (!ossl_ml_kem_encode_public_key(pubenc, v->pubkey_bytes, key)
|
||||
|| !ossl_param_build_set_octet_string(
|
||||
tmpl, params, OSSL_PKEY_PARAM_PUB_KEY,
|
||||
pubenc, v->pubkey_bytes))
|
||||
goto err;
|
||||
|
||||
/* The private key on request */
|
||||
if (prvenc != NULL && ossl_ml_kem_have_prvkey(key))
|
||||
if (!ossl_ml_kem_encode_private_key(prvenc, v->prvkey_bytes, key)
|
||||
|| !ossl_param_build_set_octet_string(
|
||||
tmpl, params, OSSL_PKEY_PARAM_PRIV_KEY,
|
||||
prvenc, v->prvkey_bytes))
|
||||
goto err;
|
||||
|
||||
params = OSSL_PARAM_BLD_to_param(tmpl);
|
||||
if (params == NULL)
|
||||
goto err;
|
||||
|
||||
ret = param_cb(params, cbarg);
|
||||
OSSL_PARAM_free(params);
|
||||
|
||||
err:
|
||||
OSSL_PARAM_BLD_free(tmpl);
|
||||
OPENSSL_secure_clear_free(prvenc, v->prvkey_bytes);
|
||||
OPENSSL_free(pubenc);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const OSSL_PARAM *ml_kem_imexport_types(int selection)
|
||||
{
|
||||
static const OSSL_PARAM key_types[] = {
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0),
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0)
|
||||
return key_types;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int ml_kem_key_fromdata(ML_KEM_KEY *key,
|
||||
const OSSL_PARAM params[],
|
||||
int include_private)
|
||||
{
|
||||
const OSSL_PARAM *param_prv_key = NULL, *param_pub_key;
|
||||
const void *pubenc = NULL, *prvenc = NULL;
|
||||
size_t publen = 0, prvlen = 0;
|
||||
const ML_KEM_VINFO *v;
|
||||
|
||||
/* Invalid attempt to mutate a key, what is the right error to report? */
|
||||
if (key == NULL || ossl_ml_kem_have_pubkey(key))
|
||||
return 0;
|
||||
v = ossl_ml_kem_key_vinfo(key);
|
||||
|
||||
/* What does the caller want to set? */
|
||||
param_pub_key = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_PUB_KEY);
|
||||
if (param_pub_key != NULL &&
|
||||
OSSL_PARAM_get_octet_string_ptr(param_pub_key, &pubenc, &publen) != 1)
|
||||
return 0;
|
||||
if (include_private)
|
||||
param_prv_key = OSSL_PARAM_locate_const(params,
|
||||
OSSL_PKEY_PARAM_PRIV_KEY);
|
||||
if (param_prv_key != NULL &&
|
||||
OSSL_PARAM_get_octet_string_ptr(param_prv_key, &prvenc, &prvlen) != 1)
|
||||
return 0;
|
||||
|
||||
/* The caller MUST specify at least one of the public or private keys. */
|
||||
if (publen == 0 && prvlen == 0) {
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_MISSING_KEY);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* When a pubkey is provided, its length MUST be correct, if a private key
|
||||
* is also provided, the public key will be otherwise ignored. We could
|
||||
* look for a matching encoded block, but unclear this is useful.
|
||||
*/
|
||||
if (publen != 0 && publen != v->pubkey_bytes) {
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_INVALID_KEY_LENGTH);
|
||||
return 0;
|
||||
}
|
||||
if (prvlen != 0 && prvlen != v->prvkey_bytes) {
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_INVALID_KEY_LENGTH);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* If the private key is given, we'll ignore the public key data, taking
|
||||
* the embedded public key as authoritative.
|
||||
*/
|
||||
if (prvlen != 0)
|
||||
return ossl_ml_kem_parse_private_key(prvenc, prvlen, key);
|
||||
return ossl_ml_kem_parse_public_key(pubenc, publen, key);
|
||||
}
|
||||
|
||||
static int ml_kem_import(void *vkey, int selection, const OSSL_PARAM params[])
|
||||
{
|
||||
ML_KEM_KEY *key = vkey;
|
||||
int include_private;
|
||||
|
||||
if (!ossl_prov_is_running() || key == NULL)
|
||||
return 0;
|
||||
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
|
||||
return 0;
|
||||
|
||||
include_private = selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY ? 1 : 0;
|
||||
return ml_kem_key_fromdata(key, params, include_private);
|
||||
}
|
||||
|
||||
static const OSSL_PARAM *ml_kem_gettable_params(void *provctx)
|
||||
{
|
||||
static const OSSL_PARAM arr[] = {
|
||||
OSSL_PARAM_int(OSSL_PKEY_PARAM_BITS, NULL),
|
||||
OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_BITS, NULL),
|
||||
OSSL_PARAM_int(OSSL_PKEY_PARAM_MAX_SIZE, NULL),
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY, NULL, 0),
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
|
||||
return arr;
|
||||
}
|
||||
|
||||
/*
|
||||
* It is assumed the key is guaranteed non-NULL here, and is from this provider
|
||||
*/
|
||||
static int ml_kem_get_params(void *vkey, OSSL_PARAM params[])
|
||||
{
|
||||
ML_KEM_KEY *key = vkey;
|
||||
const ML_KEM_VINFO *v = ossl_ml_kem_key_vinfo(key);
|
||||
OSSL_PARAM *p;
|
||||
|
||||
p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_BITS);
|
||||
if (p != NULL)
|
||||
if (!OSSL_PARAM_set_int(p, v->bits))
|
||||
return 0;
|
||||
|
||||
p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_SECURITY_BITS);
|
||||
if (p != NULL)
|
||||
if (!OSSL_PARAM_set_int(p, v->secbits))
|
||||
return 0;
|
||||
|
||||
p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_MAX_SIZE);
|
||||
if (p != NULL)
|
||||
if (!OSSL_PARAM_set_int(p, v->ctext_bytes))
|
||||
return 0;
|
||||
|
||||
p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY);
|
||||
if (p != NULL && ossl_ml_kem_have_pubkey(key)) {
|
||||
if (p->data_type != OSSL_PARAM_OCTET_STRING)
|
||||
return 0;
|
||||
p->return_size = v->pubkey_bytes;
|
||||
if (p->data != NULL) {
|
||||
if (p->data_size < p->return_size)
|
||||
return 0;
|
||||
if (!ossl_ml_kem_encode_public_key(p->data, p->return_size, key))
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_PRIV_KEY);
|
||||
if (p != NULL && ossl_ml_kem_have_prvkey(key)) {
|
||||
if (p->data_type != OSSL_PARAM_OCTET_STRING)
|
||||
return 0;
|
||||
p->return_size = v->prvkey_bytes;
|
||||
if (p->data != NULL) {
|
||||
if (p->data_size < p->return_size)
|
||||
return 0;
|
||||
if (!ossl_ml_kem_encode_private_key(p->data, p->return_size, key))
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static const OSSL_PARAM *ml_kem_settable_params(void *provctx)
|
||||
{
|
||||
static const OSSL_PARAM arr[] = {
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY, NULL, 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
|
||||
return arr;
|
||||
}
|
||||
|
||||
static int ml_kem_set_params(void *vkey, const OSSL_PARAM params[])
|
||||
{
|
||||
ML_KEM_KEY *key = vkey;
|
||||
const ML_KEM_VINFO *v = ossl_ml_kem_key_vinfo(key);
|
||||
const OSSL_PARAM *p;
|
||||
const void *pubenc = NULL;
|
||||
size_t publen = 0;
|
||||
|
||||
if (ossl_param_is_empty(params))
|
||||
return 1;
|
||||
|
||||
p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY);
|
||||
if (p == NULL)
|
||||
return 1;
|
||||
|
||||
/* Key mutation is reportedly generally not allowed */
|
||||
if (ossl_ml_kem_have_pubkey(key)) {
|
||||
ERR_raise_data(ERR_LIB_PROV,
|
||||
PROV_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE,
|
||||
"ML-KEM keys cannot be mutated");
|
||||
return 0;
|
||||
}
|
||||
/* An unlikely failure mode is the parameter having some unexpected type */
|
||||
if (!OSSL_PARAM_get_octet_string_ptr(p, &pubenc, &publen))
|
||||
return 0;
|
||||
|
||||
if (publen != v->pubkey_bytes) {
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_INVALID_KEY);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ossl_ml_kem_parse_public_key(pubenc, publen, key);
|
||||
}
|
||||
|
||||
static int ml_kem_gen_set_params(void *vgctx, const OSSL_PARAM params[])
|
||||
{
|
||||
PROV_ML_KEM_GEN_CTX *gctx = vgctx;
|
||||
const OSSL_PARAM *p;
|
||||
|
||||
if (gctx == NULL)
|
||||
return 0;
|
||||
if (ossl_param_is_empty(params))
|
||||
return 1;
|
||||
|
||||
p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_PROPERTIES);
|
||||
if (p != NULL) {
|
||||
if (p->data_type != OSSL_PARAM_UTF8_STRING)
|
||||
return 0;
|
||||
OPENSSL_free(gctx->propq);
|
||||
if ((gctx->propq = OPENSSL_strdup(p->data)) == NULL)
|
||||
return 0;
|
||||
}
|
||||
|
||||
p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_ML_KEM_SEED);
|
||||
if (p != NULL) {
|
||||
size_t len = ML_KEM_SEED_BYTES;
|
||||
|
||||
gctx->seed = gctx->seedbuf;
|
||||
if (OSSL_PARAM_get_octet_string(p, (void **)&gctx->seed, len, &len)
|
||||
&& len == ML_KEM_SEED_BYTES)
|
||||
return 1;
|
||||
|
||||
/* Possibly, but less likely wrong data type */
|
||||
ERR_raise(ERR_LIB_PROV, PROV_R_INVALID_SEED_LENGTH);
|
||||
gctx->seed = NULL;
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void *ml_kem_gen_init(void *provctx, int selection,
|
||||
const OSSL_PARAM params[], int variant)
|
||||
{
|
||||
static const int minimal =
|
||||
OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS
|
||||
| OSSL_KEYMGMT_SELECT_PRIVATE_KEY;
|
||||
PROV_ML_KEM_GEN_CTX *gctx = NULL;
|
||||
|
||||
/*
|
||||
* We can only generate private keys, check that the selection is
|
||||
* appropriate.
|
||||
*/
|
||||
if (!ossl_prov_is_running()
|
||||
|| (selection & minimal) == 0
|
||||
|| (gctx = OPENSSL_zalloc(sizeof(*gctx))) == NULL)
|
||||
return NULL;
|
||||
|
||||
gctx->selection = selection;
|
||||
gctx->variant = variant;
|
||||
if (provctx != NULL)
|
||||
gctx->libctx = PROV_LIBCTX_OF(provctx);
|
||||
if (ml_kem_gen_set_params(gctx, params))
|
||||
return gctx;
|
||||
|
||||
ml_kem_gen_cleanup(gctx);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static const OSSL_PARAM *ml_kem_gen_settable_params(ossl_unused void *vgctx,
|
||||
ossl_unused void *provctx)
|
||||
{
|
||||
static OSSL_PARAM settable[] = {
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_ML_KEM_SEED, NULL, 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
return settable;
|
||||
}
|
||||
|
||||
static void *ml_kem_gen(void *vgctx, OSSL_CALLBACK *osslcb, void *cbarg)
|
||||
{
|
||||
PROV_ML_KEM_GEN_CTX *gctx = vgctx;
|
||||
ML_KEM_KEY *key;
|
||||
uint8_t *nopub = NULL;
|
||||
uint8_t *seed = gctx->seed;
|
||||
size_t slen = seed == NULL ? 0 : ML_KEM_SEED_BYTES;
|
||||
int genok = 0;
|
||||
|
||||
if (gctx == NULL
|
||||
|| (gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) ==
|
||||
OSSL_KEYMGMT_SELECT_PUBLIC_KEY
|
||||
|| (key = ml_kem_new(gctx->libctx, gctx->propq, gctx->variant)) == NULL)
|
||||
return NULL;
|
||||
|
||||
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
|
||||
return key;
|
||||
|
||||
genok = seed != NULL
|
||||
? ossl_ml_kem_genkey_seed(seed, slen, nopub, 0, key)
|
||||
: ossl_ml_kem_genkey_rand(NULL, slen, nopub, 0, key);
|
||||
|
||||
/* Erase the single-use seed */
|
||||
if (seed != NULL)
|
||||
OPENSSL_cleanse(seed, ML_KEM_SEED_BYTES);
|
||||
gctx->seed = NULL;
|
||||
|
||||
if (genok)
|
||||
return key;
|
||||
|
||||
ossl_ml_kem_key_free(key);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void ml_kem_gen_cleanup(void *vgctx)
|
||||
{
|
||||
PROV_ML_KEM_GEN_CTX *gctx = vgctx;
|
||||
|
||||
if (gctx->seed != NULL)
|
||||
OPENSSL_cleanse(gctx->seed, ML_KEM_RANDOM_BYTES);
|
||||
OPENSSL_free(gctx->propq);
|
||||
OPENSSL_free(gctx);
|
||||
}
|
||||
|
||||
static void *ml_kem_dup(const void *vkey, int selection)
|
||||
{
|
||||
const ML_KEM_KEY *key = vkey;
|
||||
|
||||
if (!ossl_prov_is_running())
|
||||
return NULL;
|
||||
|
||||
return ossl_ml_kem_key_dup(key, selection);
|
||||
}
|
||||
|
||||
typedef void (*func_ptr_t)(void);
|
||||
|
||||
#define DECLARE_VARIANT(bits) \
|
||||
static void *ml_kem_##bits##_new(void *provctx) \
|
||||
{ \
|
||||
return ml_kem_new(provctx == NULL ? NULL : PROV_LIBCTX_OF(provctx), \
|
||||
NULL, ML_KEM_##bits); \
|
||||
} \
|
||||
static void *ml_kem_##bits##_gen_init(void *provctx, int selection, \
|
||||
const OSSL_PARAM params[]) \
|
||||
{ \
|
||||
return ml_kem_gen_init(provctx, selection, params, ML_KEM_##bits); \
|
||||
} \
|
||||
const OSSL_DISPATCH ossl_ml_kem_##bits##_keymgmt_functions[] = { \
|
||||
{ OSSL_FUNC_KEYMGMT_NEW, (func_ptr_t) ml_kem_##bits##_new }, \
|
||||
{ OSSL_FUNC_KEYMGMT_FREE, (func_ptr_t) ossl_ml_kem_key_free }, \
|
||||
{ OSSL_FUNC_KEYMGMT_GET_PARAMS, (func_ptr_t) ml_kem_get_params }, \
|
||||
{ OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS, (func_ptr_t) ml_kem_gettable_params }, \
|
||||
{ OSSL_FUNC_KEYMGMT_SET_PARAMS, (func_ptr_t) ml_kem_set_params }, \
|
||||
{ OSSL_FUNC_KEYMGMT_SETTABLE_PARAMS, (func_ptr_t) ml_kem_settable_params }, \
|
||||
{ OSSL_FUNC_KEYMGMT_HAS, (func_ptr_t) ml_kem_has }, \
|
||||
{ OSSL_FUNC_KEYMGMT_MATCH, (func_ptr_t) ml_kem_match }, \
|
||||
{ OSSL_FUNC_KEYMGMT_GEN_INIT, (func_ptr_t) ml_kem_##bits##_gen_init }, \
|
||||
{ OSSL_FUNC_KEYMGMT_GEN_SET_PARAMS, (func_ptr_t) ml_kem_gen_set_params }, \
|
||||
{ OSSL_FUNC_KEYMGMT_GEN_SETTABLE_PARAMS, (func_ptr_t) ml_kem_gen_settable_params }, \
|
||||
{ OSSL_FUNC_KEYMGMT_GEN, (func_ptr_t) ml_kem_gen }, \
|
||||
{ OSSL_FUNC_KEYMGMT_GEN_CLEANUP, (func_ptr_t) ml_kem_gen_cleanup }, \
|
||||
{ OSSL_FUNC_KEYMGMT_DUP, (func_ptr_t) ml_kem_dup }, \
|
||||
{ OSSL_FUNC_KEYMGMT_IMPORT, (func_ptr_t) ml_kem_import }, \
|
||||
{ OSSL_FUNC_KEYMGMT_IMPORT_TYPES, (func_ptr_t) ml_kem_imexport_types }, \
|
||||
{ OSSL_FUNC_KEYMGMT_EXPORT, (func_ptr_t) ml_kem_export }, \
|
||||
{ OSSL_FUNC_KEYMGMT_EXPORT_TYPES, (func_ptr_t) ml_kem_imexport_types }, \
|
||||
OSSL_DISPATCH_END \
|
||||
}
|
||||
DECLARE_VARIANT(512);
|
||||
DECLARE_VARIANT(768);
|
||||
DECLARE_VARIANT(1024);
|
@ -1,647 +0,0 @@
|
||||
/*
|
||||
* Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#include <openssl/core_dispatch.h>
|
||||
#include <openssl/core_names.h>
|
||||
#include <openssl/params.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/proverr.h>
|
||||
#include <openssl/rand.h>
|
||||
#include <openssl/self_test.h>
|
||||
#include "internal/param_build_set.h"
|
||||
#include <openssl/param_build.h>
|
||||
#include "prov/mlkem.h"
|
||||
#include "prov/implementations.h"
|
||||
#include "prov/providercommon.h"
|
||||
#include "prov/provider_ctx.h"
|
||||
#include "prov/securitycheck.h"
|
||||
#include <assert.h>
|
||||
|
||||
#define BUFSIZE 1000
|
||||
#if defined(NDEBUG) || defined(OPENSSL_NO_STDIO)
|
||||
/* TODO(ML-KEM) to remove or replace with TRACE */
|
||||
static void debug_print(char *fmt, ...)
|
||||
{
|
||||
}
|
||||
#else
|
||||
static void debug_print(char *fmt, ...)
|
||||
{
|
||||
char out[BUFSIZE];
|
||||
va_list argptr;
|
||||
|
||||
va_start(argptr, fmt);
|
||||
vsnprintf(out, BUFSIZE, fmt, argptr);
|
||||
va_end(argptr);
|
||||
if (getenv("TEMPLATEKM"))
|
||||
fprintf(stderr, "TEMPLATE_KM: %s", out);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void print_hex(const uint8_t *data, int len, const char *msg)
|
||||
{
|
||||
#ifndef NDEBUG
|
||||
if (msg)
|
||||
printf("%s: \n", msg);
|
||||
BIO_dump_fp(stdout, data, len);
|
||||
printf("\n\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
static OSSL_FUNC_keymgmt_new_fn mlkem_new;
|
||||
static OSSL_FUNC_keymgmt_free_fn mlkem_free;
|
||||
static OSSL_FUNC_keymgmt_gen_init_fn mlkem_gen_init;
|
||||
static OSSL_FUNC_keymgmt_gen_fn mlkem_gen;
|
||||
static OSSL_FUNC_keymgmt_gen_cleanup_fn mlkem_gen_cleanup;
|
||||
static OSSL_FUNC_keymgmt_gen_set_params_fn mlkem_gen_set_params;
|
||||
static OSSL_FUNC_keymgmt_gen_settable_params_fn mlkem_gen_settable_params;
|
||||
static OSSL_FUNC_keymgmt_get_params_fn mlkem_get_params;
|
||||
static OSSL_FUNC_keymgmt_gettable_params_fn mlkem_gettable_params;
|
||||
static OSSL_FUNC_keymgmt_set_params_fn mlkem_set_params;
|
||||
static OSSL_FUNC_keymgmt_settable_params_fn mlkem_settable_params;
|
||||
static OSSL_FUNC_keymgmt_has_fn mlkem_has;
|
||||
static OSSL_FUNC_keymgmt_match_fn mlkem_match;
|
||||
static OSSL_FUNC_keymgmt_import_fn mlkem_import;
|
||||
static OSSL_FUNC_keymgmt_export_fn mlkem_export;
|
||||
static OSSL_FUNC_keymgmt_import_types_fn mlkem_imexport_types;
|
||||
static OSSL_FUNC_keymgmt_export_types_fn mlkem_imexport_types;
|
||||
static OSSL_FUNC_keymgmt_dup_fn mlkem_dup;
|
||||
|
||||
struct mlkem_gen_ctx {
|
||||
void *provctx;
|
||||
int selection;
|
||||
uint8_t *seed;
|
||||
};
|
||||
|
||||
static void *mlkem_new(void *provctx)
|
||||
{
|
||||
MLKEM768_KEY *key = NULL;
|
||||
|
||||
debug_print("MLKEMKM new key req\n");
|
||||
if (!ossl_prov_is_running())
|
||||
return 0;
|
||||
|
||||
key = OPENSSL_zalloc(sizeof(MLKEM768_KEY));
|
||||
if (key != NULL) {
|
||||
key->keytype = MLKEM_KEY_TYPE_768; /* TODO(ML-KEM) any type */
|
||||
key->provctx = provctx;
|
||||
/*
|
||||
* ideally, this is a one-time allocation and ctx that should be within the
|
||||
* provider context: OK to move it there to improve performance?? It would be
|
||||
* the first algorithmspecific context stored: Feels weird (TODO(ML-KEM)).
|
||||
*/
|
||||
key->mlkem_ctx = ossl_mlkem_newctx(provctx == NULL ? NULL : PROV_LIBCTX_OF(provctx), NULL);
|
||||
if (key->mlkem_ctx == NULL) {
|
||||
OPENSSL_free(key);
|
||||
key = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
debug_print("MLKEMKM new key = %p\n", key);
|
||||
return key;
|
||||
}
|
||||
|
||||
static void mlkem_free(void *vkey)
|
||||
{
|
||||
MLKEM768_KEY *mkey = (MLKEM768_KEY *)vkey;
|
||||
|
||||
debug_print("MLKEMKM free key %p\n", mkey);
|
||||
if (mkey == NULL)
|
||||
return;
|
||||
ossl_mlkem_ctx_free(mkey->mlkem_ctx);
|
||||
OPENSSL_free(mkey->encoded_pubkey);
|
||||
OPENSSL_free(mkey->encoded_privkey);
|
||||
OPENSSL_free(mkey);
|
||||
}
|
||||
|
||||
static int mlkem_has(const void *keydata, int selection)
|
||||
{
|
||||
const MLKEM768_KEY *key = keydata;
|
||||
int ok = 0;
|
||||
|
||||
debug_print("MLKEMKM has %p\n", key);
|
||||
if (ossl_prov_is_running() && key != NULL) {
|
||||
/*
|
||||
* ML-KEM keys always have all the parameters they need (i.e. none).
|
||||
* Therefore we always return with 1, if asked about parameters.
|
||||
*/
|
||||
ok = 1;
|
||||
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_PUBLIC_KEY) != 0)
|
||||
ok = ok && key->encoded_pubkey != NULL;
|
||||
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY) != 0)
|
||||
ok = ok && key->encoded_privkey != NULL;
|
||||
}
|
||||
debug_print("MLKEMKM has result %d\n", ok);
|
||||
return ok;
|
||||
}
|
||||
|
||||
static int mlkem_match(const void *keydata1, const void *keydata2, int selection)
|
||||
{
|
||||
const MLKEM768_KEY *key1 = keydata1;
|
||||
const MLKEM768_KEY *key2 = keydata2;
|
||||
int ok = 1;
|
||||
|
||||
debug_print("MLKEMKM matching %p and %p\n", key1, key2);
|
||||
if (!ossl_prov_is_running())
|
||||
return 0;
|
||||
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) != 0)
|
||||
ok = ok && key1->keytype == key2->keytype;
|
||||
|
||||
/* TODO(ML-KEM) */
|
||||
debug_print("MLKEMKM matching for now NOT YET IMPLEMENTED\n");
|
||||
|
||||
/* TODO(ML-KEM) template code to be completed as and when needed: */
|
||||
#ifdef UNDEF
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) {
|
||||
int key_checked = 0;
|
||||
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_PUBLIC_KEY) != 0) {
|
||||
const uint8_t *pa = key1->pubkey;
|
||||
const uint8_t *pb = key2->pubkey;
|
||||
|
||||
if (pa != NULL && pb != NULL) {
|
||||
ok = ok
|
||||
&& key1->keytype == key2->keytype
|
||||
&& CRYPTO_memcmp(pa, pb, MLKEM768_PUBLICKEYBYTES) == 0;
|
||||
key_checked = 1;
|
||||
}
|
||||
}
|
||||
if (!key_checked
|
||||
&& (selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY) != 0) {
|
||||
const uint8_t *pa = key1->privkey;
|
||||
const uint8_t *pb = key2->privkey;
|
||||
|
||||
if (pa != NULL && pb != NULL) {
|
||||
ok = ok
|
||||
&& key1->keytype == key2->keytype
|
||||
&& CRYPTO_memcmp(pa, pb, MLKEM768_SECRETKEYBYTES) == 0;
|
||||
key_checked = 1;
|
||||
}
|
||||
}
|
||||
ok = ok && key_checked;
|
||||
}
|
||||
#endif /* UNDEF */
|
||||
debug_print("MLKEMKM match result %d\n", ok);
|
||||
return ok;
|
||||
}
|
||||
|
||||
static int key_to_params(MLKEM768_KEY *key, OSSL_PARAM_BLD *tmpl,
|
||||
OSSL_PARAM params[], int include_private)
|
||||
{
|
||||
if (key == NULL)
|
||||
return 0;
|
||||
|
||||
if (key->keytype != MLKEM_KEY_TYPE_768)
|
||||
return 0;
|
||||
|
||||
if (key->encoded_pubkey != NULL
|
||||
&& !ossl_param_build_set_octet_string(tmpl, params,
|
||||
OSSL_PKEY_PARAM_PUB_KEY,
|
||||
key->encoded_pubkey,
|
||||
OSSL_MLKEM768_PUBLIC_KEY_BYTES))
|
||||
return 0;
|
||||
|
||||
if (include_private
|
||||
&& key->encoded_privkey != NULL
|
||||
&& !ossl_param_build_set_octet_string(tmpl, params,
|
||||
OSSL_PKEY_PARAM_PRIV_KEY,
|
||||
key->encoded_privkey,
|
||||
OSSL_MLKEM768_PRIVATE_KEY_BYTES))
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int mlkem_export(void *key, int selection, OSSL_CALLBACK *param_cb,
|
||||
void *cbarg)
|
||||
{
|
||||
MLKEM768_KEY *mkey = key;
|
||||
OSSL_PARAM_BLD *tmpl;
|
||||
OSSL_PARAM *params = NULL;
|
||||
int ret = 0;
|
||||
|
||||
debug_print("MLKEMKM export %p\n", key);
|
||||
if (!ossl_prov_is_running() || key == NULL)
|
||||
return 0;
|
||||
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
|
||||
return 0;
|
||||
|
||||
tmpl = OSSL_PARAM_BLD_new();
|
||||
if (tmpl == NULL)
|
||||
return 0;
|
||||
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) {
|
||||
int include_private = ((selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY) != 0);
|
||||
|
||||
if (!key_to_params(mkey, tmpl, NULL, include_private))
|
||||
goto err;
|
||||
}
|
||||
|
||||
params = OSSL_PARAM_BLD_to_param(tmpl);
|
||||
if (params == NULL)
|
||||
goto err;
|
||||
|
||||
ret = param_cb(params, cbarg);
|
||||
OSSL_PARAM_free(params);
|
||||
err:
|
||||
OSSL_PARAM_BLD_free(tmpl);
|
||||
debug_print("MLKEMKM export result %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
#define MLKEM768_KEY_TYPES() \
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, NULL, 0), \
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0)
|
||||
|
||||
static const OSSL_PARAM mlkem_key_types[] = {
|
||||
MLKEM768_KEY_TYPES(),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
|
||||
static const OSSL_PARAM *mlkem_imexport_types(int selection)
|
||||
{
|
||||
debug_print("MLKEMKM getting imexport types\n");
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0)
|
||||
return mlkem_key_types;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int ossl_mlkem_key_fromdata(MLKEM768_KEY *key,
|
||||
const OSSL_PARAM params[],
|
||||
int include_private)
|
||||
{
|
||||
size_t privkeylen = 0, pubkeylen = 0;
|
||||
const OSSL_PARAM *param_priv_key = NULL, *param_pub_key;
|
||||
|
||||
if (key == NULL)
|
||||
return 0;
|
||||
|
||||
if (key->keytype != MLKEM_KEY_TYPE_768)
|
||||
return 0;
|
||||
|
||||
param_pub_key = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_PUB_KEY);
|
||||
if (include_private)
|
||||
param_priv_key = OSSL_PARAM_locate_const(params,
|
||||
OSSL_PKEY_PARAM_PRIV_KEY);
|
||||
|
||||
if (param_pub_key == NULL && param_priv_key == NULL)
|
||||
return 0;
|
||||
|
||||
if (param_priv_key != NULL) {
|
||||
if (!OSSL_PARAM_get_octet_string(param_priv_key,
|
||||
(void **)&key->encoded_privkey,
|
||||
OSSL_MLKEM768_PRIVATE_KEY_BYTES,
|
||||
&privkeylen))
|
||||
return 0;
|
||||
if (privkeylen != OSSL_MLKEM768_PRIVATE_KEY_BYTES) {
|
||||
debug_print("sec key len mismatch in import: %ld vs %d\n",
|
||||
privkeylen, OSSL_MLKEM768_PRIVATE_KEY_BYTES);
|
||||
return 0;
|
||||
}
|
||||
if (!ossl_mlkem768_parse_private_key(&key->privkey, key->encoded_privkey,
|
||||
key->mlkem_ctx))
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (param_pub_key != NULL) {
|
||||
if (!OSSL_PARAM_get_octet_string(param_pub_key,
|
||||
(void **)&key->encoded_pubkey,
|
||||
OSSL_MLKEM768_PUBLIC_KEY_BYTES,
|
||||
&pubkeylen))
|
||||
return 0;
|
||||
if (pubkeylen != OSSL_MLKEM768_PUBLIC_KEY_BYTES) {
|
||||
debug_print("sec key len mismatch in import: %ld vs %d\n",
|
||||
pubkeylen, OSSL_MLKEM768_PUBLIC_KEY_BYTES);
|
||||
return 0;
|
||||
}
|
||||
if (!ossl_mlkem768_parse_public_key(&key->pubkey, key->encoded_pubkey,
|
||||
key->mlkem_ctx))
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* TBD if hybrid logic is not getting cleanly implemented in separate logic:
|
||||
* reconstitute (only) classic part here
|
||||
*/
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int mlkem_import(void *key, int selection, const OSSL_PARAM params[])
|
||||
{
|
||||
MLKEM768_KEY *mkey = key;
|
||||
int ok = 1;
|
||||
int include_private;
|
||||
|
||||
debug_print("MLKEMKM import %p\n", mkey);
|
||||
if (!ossl_prov_is_running() || key == NULL)
|
||||
return 0;
|
||||
|
||||
if ((selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0)
|
||||
return 0;
|
||||
|
||||
include_private = selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY ? 1 : 0;
|
||||
ok = ok && ossl_mlkem_key_fromdata(mkey, params, include_private);
|
||||
|
||||
debug_print("MLKEMKM import result %d\n", ok);
|
||||
return ok;
|
||||
}
|
||||
|
||||
static int mlkem_get_params(void *key, OSSL_PARAM params[])
|
||||
{
|
||||
MLKEM768_KEY *mkey = key;
|
||||
OSSL_PARAM *p;
|
||||
|
||||
debug_print("MLKEMKM get params %p\n", mkey);
|
||||
if ((p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_BITS)) != NULL
|
||||
&& !OSSL_PARAM_set_int(p, sizeof(ossl_mlkem768_private_key) * 8))
|
||||
return 0;
|
||||
if ((p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_SECURITY_BITS)) != NULL
|
||||
&& !OSSL_PARAM_set_int(p, OSSL_MLKEM768_SECURITY_BITS))
|
||||
return 0;
|
||||
if ((p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_MAX_SIZE)) != NULL
|
||||
&& !OSSL_PARAM_set_int(p, OSSL_MLKEM768_CIPHERTEXT_BYTES))
|
||||
return 0;
|
||||
if ((p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY)) != NULL
|
||||
&& mkey->encoded_pubkey != NULL) {
|
||||
if (!OSSL_PARAM_set_octet_string(p, mkey->encoded_pubkey, OSSL_MLKEM768_PUBLIC_KEY_BYTES))
|
||||
return 0;
|
||||
debug_print("MLKEMKM got encoded public key of len %d\n", OSSL_MLKEM768_PUBLIC_KEY_BYTES);
|
||||
print_hex(mkey->encoded_pubkey, OSSL_MLKEM768_PUBLIC_KEY_BYTES, "enc PK");
|
||||
}
|
||||
if ((p = OSSL_PARAM_locate(params, OSSL_PKEY_PARAM_PRIV_KEY)) != NULL
|
||||
&& mkey->encoded_privkey != NULL) {
|
||||
if (!OSSL_PARAM_set_octet_string(p, mkey->encoded_privkey, OSSL_MLKEM768_PRIVATE_KEY_BYTES))
|
||||
return 0;
|
||||
debug_print("MLKEMKM got encoded private key of len %d\n", OSSL_MLKEM768_PRIVATE_KEY_BYTES);
|
||||
print_hex(mkey->encoded_privkey, OSSL_MLKEM768_PRIVATE_KEY_BYTES, "enc SK");
|
||||
}
|
||||
|
||||
debug_print("MLKEMKM get params OK\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
static const OSSL_PARAM mlkem_gettable_params_arr[] = {
|
||||
OSSL_PARAM_int(OSSL_PKEY_PARAM_BITS, NULL),
|
||||
OSSL_PARAM_int(OSSL_PKEY_PARAM_SECURITY_BITS, NULL),
|
||||
OSSL_PARAM_int(OSSL_PKEY_PARAM_MAX_SIZE, NULL),
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_MLKEM_SEED, NULL, 0),
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY, NULL, 0),
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PRIV_KEY, NULL, 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
|
||||
static const OSSL_PARAM *mlkem_gettable_params(void *provctx)
|
||||
{
|
||||
debug_print("MLKEMKM gettable params called\n");
|
||||
return mlkem_gettable_params_arr;
|
||||
}
|
||||
|
||||
static int mlkem_set_params(void *key, const OSSL_PARAM params[])
|
||||
{
|
||||
MLKEM768_KEY *mkey = key;
|
||||
const OSSL_PARAM *p;
|
||||
size_t len_stored;
|
||||
|
||||
debug_print("MLKEMKM set params called for %p\n", mkey);
|
||||
if (params == NULL)
|
||||
return 1;
|
||||
|
||||
p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY);
|
||||
if (p != NULL) {
|
||||
if (p->data_size != OSSL_MLKEM768_PUBLIC_KEY_BYTES
|
||||
|| !OSSL_PARAM_get_octet_string(p, (void **)&mkey->encoded_pubkey,
|
||||
OSSL_MLKEM768_PUBLIC_KEY_BYTES,
|
||||
&len_stored)
|
||||
|| len_stored != OSSL_MLKEM768_PUBLIC_KEY_BYTES)
|
||||
return 0;
|
||||
debug_print("encoded pub key successfully stored with %ld bytes\n", len_stored);
|
||||
if (!ossl_mlkem768_parse_public_key(&mkey->pubkey, mkey->encoded_pubkey,
|
||||
mkey->mlkem_ctx))
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_PRIV_KEY)) != NULL) {
|
||||
if (p->data_size != OSSL_MLKEM768_PRIVATE_KEY_BYTES
|
||||
|| !OSSL_PARAM_get_octet_string(p, (void **)&mkey->encoded_privkey,
|
||||
OSSL_MLKEM768_PRIVATE_KEY_BYTES,
|
||||
&len_stored))
|
||||
return 0;
|
||||
ossl_mlkem768_parse_private_key(&mkey->privkey, mkey->encoded_privkey,
|
||||
mkey->mlkem_ctx);
|
||||
}
|
||||
|
||||
debug_print("MLKEMKM set params OK\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
static const OSSL_PARAM mlkem_settable_params_arr[] = {
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_ENCODED_PUBLIC_KEY, NULL, 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
|
||||
static const OSSL_PARAM *mlkem_settable_params(void *provctx)
|
||||
{
|
||||
debug_print("MLKEMKM settable params called\n");
|
||||
return mlkem_settable_params_arr;
|
||||
}
|
||||
|
||||
static void *mlkem_gen_init(void *provctx, int selection,
|
||||
const OSSL_PARAM params[])
|
||||
{
|
||||
struct mlkem_gen_ctx *gctx = NULL;
|
||||
|
||||
debug_print("MLKEMKM gen init called for %p\n", provctx);
|
||||
if (!ossl_prov_is_running())
|
||||
return NULL;
|
||||
|
||||
if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
|
||||
gctx->provctx = provctx;
|
||||
gctx->selection = selection;
|
||||
}
|
||||
if (!mlkem_gen_set_params(gctx, params)) {
|
||||
OPENSSL_free(gctx);
|
||||
gctx = NULL;
|
||||
}
|
||||
debug_print("MLKEMKM gen init returns %p\n", gctx);
|
||||
return gctx;
|
||||
}
|
||||
|
||||
static int mlkem_gen_set_params(void *genctx, const OSSL_PARAM params[])
|
||||
{
|
||||
struct mlkem_gen_ctx *gctx = genctx;
|
||||
const OSSL_PARAM *p;
|
||||
|
||||
if (gctx == NULL)
|
||||
return 0;
|
||||
|
||||
if (ossl_param_is_empty(params))
|
||||
return 1;
|
||||
|
||||
if ((p = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_MLKEM_SEED)) != NULL) {
|
||||
if (gctx->seed != NULL)
|
||||
OPENSSL_free(gctx->seed);
|
||||
if (p->data_type != OSSL_PARAM_OCTET_STRING
|
||||
|| p->data_size != OSSL_MLKEM_SEED_BYTES
|
||||
|| (gctx->seed = OPENSSL_memdup(p->data, OSSL_MLKEM_SEED_BYTES)) == NULL)
|
||||
return 0;
|
||||
}
|
||||
|
||||
debug_print("MLKEMKM gen_set params called for %p\n", gctx);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static const OSSL_PARAM *mlkem_gen_settable_params(ossl_unused void *genctx,
|
||||
ossl_unused void *provctx)
|
||||
{
|
||||
static OSSL_PARAM settable[] = {
|
||||
OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_MLKEM_SEED, NULL, 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
return settable;
|
||||
}
|
||||
|
||||
static void *mlkem_gen(void *vctx, OSSL_CALLBACK *osslcb, void *cbarg)
|
||||
{
|
||||
struct mlkem_gen_ctx *gctx = (struct mlkem_gen_ctx *)vctx;
|
||||
MLKEM768_KEY *mkey;
|
||||
|
||||
debug_print("MLKEMKM gen called for %p\n", gctx);
|
||||
if (gctx == NULL)
|
||||
return NULL;
|
||||
|
||||
if ((mkey = mlkem_new(gctx->provctx)) == NULL) {
|
||||
ERR_raise(ERR_LIB_PROV, ERR_R_INTERNAL_ERROR);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* If we're doing parameter generation then we just return a blank key */
|
||||
if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) == 0) {
|
||||
debug_print("MLKEMKM gen returns blank %p\n", mkey);
|
||||
return mkey;
|
||||
}
|
||||
|
||||
mkey->keytype = MLKEM_KEY_TYPE_768;
|
||||
|
||||
if (mkey->encoded_pubkey == NULL) {
|
||||
mkey->encoded_pubkey = OPENSSL_malloc(OSSL_MLKEM768_PUBLIC_KEY_BYTES);
|
||||
if (mkey->encoded_pubkey == NULL)
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (mkey->encoded_privkey == NULL) {
|
||||
mkey->encoded_privkey = OPENSSL_malloc(OSSL_MLKEM768_PRIVATE_KEY_BYTES);
|
||||
if (mkey->encoded_privkey == NULL)
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (gctx->seed != NULL) {
|
||||
debug_print("MLKEMKM generate keys from seed");
|
||||
if (!ossl_mlkem768_private_key_from_seed(&mkey->privkey, gctx->seed,
|
||||
OSSL_MLKEM_SEED_BYTES,
|
||||
mkey->mlkem_ctx)
|
||||
|| !ossl_mlkem768_marshal_private_key(mkey->encoded_privkey,
|
||||
&mkey->privkey)
|
||||
|| !ossl_mlkem768_public_from_private(&mkey->pubkey, &mkey->privkey)
|
||||
|| !ossl_mlkem768_marshal_public_key(mkey->encoded_pubkey,
|
||||
&mkey->pubkey))
|
||||
goto err;
|
||||
} else {
|
||||
debug_print("MLKEMKM generate random keys");
|
||||
if (!ossl_mlkem768_generate_key(mkey->encoded_pubkey, gctx->seed,
|
||||
&mkey->privkey, mkey->mlkem_ctx)
|
||||
|| !ossl_mlkem768_marshal_private_key(mkey->encoded_privkey,
|
||||
&mkey->privkey)
|
||||
|| !ossl_mlkem768_public_from_private(&mkey->pubkey,
|
||||
&mkey->privkey))
|
||||
goto err;
|
||||
}
|
||||
|
||||
debug_print("MLKEMKM gen returns set %p\n", mkey);
|
||||
return mkey;
|
||||
|
||||
err:
|
||||
OPENSSL_free(mkey);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void mlkem_gen_cleanup(void *genctx)
|
||||
{
|
||||
struct mlkem_gen_ctx *gctx = genctx;
|
||||
|
||||
OPENSSL_free(gctx->seed);
|
||||
debug_print("MLKEMKM gen cleanup for %p\n", gctx);
|
||||
OPENSSL_free(gctx);
|
||||
}
|
||||
|
||||
static void *mlkem_dup(const void *vsrckey, int selection)
|
||||
{
|
||||
const MLKEM768_KEY *srckey = (const MLKEM768_KEY *)vsrckey;
|
||||
MLKEM768_KEY *dstkey;
|
||||
|
||||
debug_print("MLKEMKM dup called for %p\n", srckey);
|
||||
if (!ossl_prov_is_running())
|
||||
return NULL;
|
||||
|
||||
dstkey = mlkem_new(srckey->provctx);
|
||||
if (dstkey == NULL)
|
||||
return NULL;
|
||||
|
||||
dstkey->keytype = srckey->keytype;
|
||||
if (srckey->encoded_pubkey != NULL
|
||||
&& (selection & OSSL_KEYMGMT_SELECT_PUBLIC_KEY) != 0) {
|
||||
memcpy((void *)&dstkey->pubkey, (void *)&srckey->pubkey,
|
||||
sizeof(srckey->pubkey));
|
||||
if ((dstkey->encoded_pubkey = OPENSSL_memdup(srckey->encoded_pubkey,
|
||||
OSSL_MLKEM768_PUBLIC_KEY_BYTES)) == NULL)
|
||||
return NULL;
|
||||
}
|
||||
if (srckey->encoded_privkey != NULL
|
||||
&& (selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY) != 0) {
|
||||
memcpy((void *)&dstkey->privkey, (void *)&srckey->privkey,
|
||||
sizeof(srckey->privkey));
|
||||
if ((dstkey->encoded_privkey = OPENSSL_memdup(srckey->encoded_privkey,
|
||||
OSSL_MLKEM768_PRIVATE_KEY_BYTES)) == NULL)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
debug_print("MLKEMKM dup returns %p\n", dstkey);
|
||||
return dstkey;
|
||||
}
|
||||
|
||||
const OSSL_DISPATCH ossl_mlkem768_keymgmt_functions[] = {
|
||||
{ OSSL_FUNC_KEYMGMT_NEW, (void (*)(void))mlkem_new },
|
||||
{ OSSL_FUNC_KEYMGMT_FREE, (void (*)(void))mlkem_free },
|
||||
{ OSSL_FUNC_KEYMGMT_GET_PARAMS, (void (*) (void))mlkem_get_params },
|
||||
{ OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS, (void (*) (void))mlkem_gettable_params },
|
||||
{ OSSL_FUNC_KEYMGMT_SET_PARAMS, (void (*) (void))mlkem_set_params },
|
||||
{ OSSL_FUNC_KEYMGMT_SETTABLE_PARAMS, (void (*) (void))mlkem_settable_params },
|
||||
{ OSSL_FUNC_KEYMGMT_HAS, (void (*)(void))mlkem_has },
|
||||
{ OSSL_FUNC_KEYMGMT_MATCH, (void (*)(void))mlkem_match },
|
||||
{ OSSL_FUNC_KEYMGMT_GEN_INIT, (void (*)(void))mlkem_gen_init },
|
||||
{ OSSL_FUNC_KEYMGMT_GEN_SET_PARAMS, (void (*)(void))mlkem_gen_set_params },
|
||||
{ OSSL_FUNC_KEYMGMT_GEN_SETTABLE_PARAMS,
|
||||
(void (*)(void))mlkem_gen_settable_params },
|
||||
{ OSSL_FUNC_KEYMGMT_GEN, (void (*)(void))mlkem_gen },
|
||||
{ OSSL_FUNC_KEYMGMT_GEN_CLEANUP, (void (*)(void))mlkem_gen_cleanup },
|
||||
{ OSSL_FUNC_KEYMGMT_DUP, (void (*)(void))mlkem_dup },
|
||||
/*
|
||||
* TODO(ML-KEM): https://github.com/openssl/openssl/issues/25885
|
||||
* Export/import functionality has been partially implemented. Need to test
|
||||
* for interopability.
|
||||
*/
|
||||
{ OSSL_FUNC_KEYMGMT_IMPORT, (void (*)(void))mlkem_import },
|
||||
{ OSSL_FUNC_KEYMGMT_IMPORT_TYPES, (void (*)(void))mlkem_imexport_types },
|
||||
{ OSSL_FUNC_KEYMGMT_EXPORT, (void (*)(void))mlkem_export },
|
||||
{ OSSL_FUNC_KEYMGMT_EXPORT_TYPES, (void (*)(void))mlkem_imexport_types },
|
||||
OSSL_DISPATCH_END
|
||||
};
|
@ -1011,11 +1011,16 @@ IF[{- !$disabled{tests} -}]
|
||||
INCLUDE[asn1_dsa_internal_test]=.. ../include ../apps/include
|
||||
DEPEND[asn1_dsa_internal_test]=../libcrypto.a libtestutil.a
|
||||
|
||||
IF[{- !$disabled{'mlkem'} -}]
|
||||
PROGRAMS{noinst}=mlkem_internal_test
|
||||
SOURCE[mlkem_internal_test]=mlkem_internal_test.c
|
||||
INCLUDE[mlkem_internal_test]=../include ../apps/include
|
||||
DEPEND[mlkem_internal_test]=../libcrypto.a libtestutil.a
|
||||
IF[{- !$disabled{'ml-kem'} -}]
|
||||
PROGRAMS{noinst}=ml_kem_internal_test
|
||||
SOURCE[ml_kem_internal_test]=ml_kem_internal_test.c
|
||||
INCLUDE[ml_kem_internal_test]=../include ../apps/include
|
||||
DEPEND[ml_kem_internal_test]=../libcrypto.a libtestutil.a
|
||||
|
||||
PROGRAMS{noinst}=ml_kem_evp_extra_test
|
||||
SOURCE[ml_kem_evp_extra_test]=ml_kem_evp_extra_test.c
|
||||
INCLUDE[ml_kem_evp_extra_test]=../include ../apps/include
|
||||
DEPEND[ml_kem_evp_extra_test]=../libcrypto.a libtestutil.a
|
||||
ENDIF
|
||||
|
||||
SOURCE[keymgmt_internal_test]=keymgmt_internal_test.c
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2216,33 +2216,31 @@ static int encapsulate(EVP_TEST *t, EVP_PKEY_CTX *ctx, const char *op,
|
||||
unsigned char **outwrapped, size_t *outwrappedlen,
|
||||
unsigned char **outsecret, size_t *outsecretlen)
|
||||
{
|
||||
int ret = 1;
|
||||
int ret = 0;
|
||||
KEM_DATA *kdata = t->data;
|
||||
unsigned char *wrapped = NULL, *secret = NULL;
|
||||
size_t wrappedlen = 0, secretlen = 0;
|
||||
OSSL_PARAM *params = NULL;
|
||||
OSSL_PARAM_BLD *bld = NULL;
|
||||
size_t params_n = 0, params_n_allocated = 0;
|
||||
OSSL_PARAM params[10] = { OSSL_PARAM_END };
|
||||
size_t params_n = 0;
|
||||
|
||||
if (sk_OPENSSL_STRING_num(kdata->init_ctrls) > 0) {
|
||||
if (!TEST_ptr(params = OPENSSL_malloc(sizeof(OSSL_PARAM) * 2)))
|
||||
goto err;
|
||||
params[0] = OSSL_PARAM_construct_end();
|
||||
params[1] = OSSL_PARAM_construct_end();
|
||||
if (ctrl2params(t, kdata->init_ctrls, NULL, params, 2, ¶ms_n))
|
||||
if (sk_OPENSSL_STRING_num(kdata->init_ctrls) > 0)
|
||||
if (ctrl2params(t, kdata->init_ctrls, NULL, params,
|
||||
OSSL_NELEM(params) - 1, ¶ms_n))
|
||||
goto err;
|
||||
|
||||
/* We don't expect very many controls here */
|
||||
if (params_n >= 9) {
|
||||
TEST_error("Too many encapsulate test case parameters %zd", params_n);
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (kdata->entropy != NULL
|
||||
&& (!TEST_ptr(bld = OSSL_PARAM_BLD_new())
|
||||
|| !TEST_int_eq(OSSL_PARAM_BLD_push_octet_string(bld,
|
||||
OSSL_KEM_PARAM_MLKEM_ENC_ENTROPY,
|
||||
kdata->entropy,
|
||||
kdata->entropylen),
|
||||
1)
|
||||
|| !TEST_ptr(params = OSSL_PARAM_BLD_to_param(bld)))) {
|
||||
ret = 0;
|
||||
goto err;
|
||||
if (kdata->entropy != NULL) {
|
||||
/* Input key material a.k.a entropy */
|
||||
params[params_n] =
|
||||
OSSL_PARAM_construct_octet_string(OSSL_KEM_PARAM_IKME,
|
||||
kdata->entropy,
|
||||
kdata->entropylen);
|
||||
params[params_n + 1] = OSSL_PARAM_construct_end();
|
||||
}
|
||||
|
||||
if (EVP_PKEY_encapsulate_init(ctx, params) <= 0) {
|
||||
@ -2266,6 +2264,8 @@ static int encapsulate(EVP_TEST *t, EVP_PKEY_CTX *ctx, const char *op,
|
||||
}
|
||||
if (EVP_PKEY_encapsulate(ctx, wrapped, &wrappedlen, secret, &secretlen) <= 0) {
|
||||
t->err = "TEST_ENCAPSULATE_ERROR";
|
||||
if (t->expected_err && strcmp(t->err, t->expected_err) == 0)
|
||||
ret = 1;
|
||||
goto err;
|
||||
}
|
||||
ret = pkey_check_fips_approved(ctx, t);
|
||||
@ -2297,9 +2297,7 @@ err:
|
||||
OPENSSL_free(secret);
|
||||
end:
|
||||
if (sk_OPENSSL_STRING_num(kdata->init_ctrls) > 0)
|
||||
ctrl2params_free(params, params_n, params_n_allocated);
|
||||
OSSL_PARAM_free(params);
|
||||
OSSL_PARAM_BLD_free(bld);
|
||||
ctrl2params_free(params, params_n, 0);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -2307,7 +2305,7 @@ static int decapsulate(EVP_TEST *t, EVP_PKEY_CTX *ctx, const char *op,
|
||||
const unsigned char *in, size_t inlen,
|
||||
const unsigned char *expected, size_t expectedlen)
|
||||
{
|
||||
int ret = 1;
|
||||
int ret = 0;
|
||||
KEM_DATA *kdata = t->data;
|
||||
size_t outlen = 0;
|
||||
unsigned char *out = NULL;
|
||||
@ -4329,7 +4327,7 @@ static int keygen_test_run(EVP_TEST *t)
|
||||
} else if (keygen->seed != NULL) {
|
||||
if (!TEST_ptr(bld = OSSL_PARAM_BLD_new())
|
||||
|| !TEST_int_eq(OSSL_PARAM_BLD_push_octet_string(bld,
|
||||
OSSL_PKEY_PARAM_MLKEM_SEED,
|
||||
OSSL_PKEY_PARAM_ML_KEM_SEED,
|
||||
keygen->seed,
|
||||
64),
|
||||
1)
|
||||
|
431
test/ml_kem_evp_extra_test.c
Normal file
431
test/ml_kem_evp_extra_test.c
Normal file
@ -0,0 +1,431 @@
|
||||
/*
|
||||
* Copyright 2015-2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <openssl/conf.h>
|
||||
#include <openssl/crypto.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/provider.h>
|
||||
#include <openssl/core_names.h>
|
||||
#include <openssl/params.h>
|
||||
#include <openssl/param_build.h>
|
||||
#include <openssl/rand.h>
|
||||
#include <crypto/ml_kem.h>
|
||||
#include "testutil.h"
|
||||
|
||||
static OSSL_LIB_CTX *testctx = NULL;
|
||||
|
||||
typedef enum OPTION_choice {
|
||||
OPT_ERR = -1,
|
||||
OPT_EOF = 0,
|
||||
OPT_CONFIG_FILE,
|
||||
OPT_TEST_RAND,
|
||||
OPT_TEST_ENUM
|
||||
} OPTION_CHOICE;
|
||||
|
||||
const OPTIONS *test_get_options(void)
|
||||
{
|
||||
static const OPTIONS options[] = {
|
||||
OPT_TEST_OPTIONS_DEFAULT_USAGE,
|
||||
{ "test-rand", OPT_TEST_RAND, '-', "Test non-derandomised ML-KEM" },
|
||||
{ NULL }
|
||||
};
|
||||
return options;
|
||||
}
|
||||
|
||||
static uint8_t gen_seed[64] = {
|
||||
0x7c, 0x99, 0x35, 0xa0, 0xb0, 0x76, 0x94, 0xaa, 0x0c, 0x6d, 0x10, 0xe4,
|
||||
0xdb, 0x6b, 0x1a, 0xdd, 0x2f, 0xd8, 0x1a, 0x25, 0xcc, 0xb1, 0x48, 0x03,
|
||||
0x2d, 0xcd, 0x73, 0x99, 0x36, 0x73, 0x7f, 0x2d, 0x86, 0x26, 0xed, 0x79,
|
||||
0xd4, 0x51, 0x14, 0x08, 0x00, 0xe0, 0x3b, 0x59, 0xb9, 0x56, 0xf8, 0x21,
|
||||
0x0e, 0x55, 0x60, 0x67, 0x40, 0x7d, 0x13, 0xdc, 0x90, 0xfa, 0x9e, 0x8b,
|
||||
0x87, 0x2b, 0xfb, 0x8f
|
||||
};
|
||||
static uint8_t enc_seed[32] = {
|
||||
0x14, 0x7c, 0x03, 0xf7, 0xa5, 0xbe, 0xbb, 0xa4, 0x06, 0xc8, 0xfa, 0xe1,
|
||||
0x87, 0x4d, 0x7f, 0x13, 0xc8, 0x0e, 0xfe, 0x79, 0xa3, 0xa9, 0xa8, 0x74,
|
||||
0xcc, 0x09, 0xfe, 0x76, 0xf6, 0x99, 0x76, 0x15
|
||||
};
|
||||
static uint8_t dec_seed[32] = {
|
||||
0x4e, 0x6f, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x72, 0x6f, 0x69,
|
||||
0x64, 0x73, 0x20, 0x79, 0x6f, 0x75, 0x27, 0x72, 0x65, 0x20, 0x6c, 0x6f,
|
||||
0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x6f
|
||||
};
|
||||
static uint8_t expected_rho[3][32] = {
|
||||
{
|
||||
0x7e, 0xfb, 0x9e, 0x40, 0xc3, 0xbf, 0x0f, 0xf0, 0x43, 0x29, 0x86, 0xae,
|
||||
0x4b, 0xc1, 0xa2, 0x42, 0xce, 0x99, 0x21, 0xaa, 0x9e, 0x22, 0x44, 0x88,
|
||||
0x19, 0x58, 0x5d, 0xea, 0x30, 0x8e, 0xb0, 0x39
|
||||
},
|
||||
{
|
||||
0x16, 0x2e, 0xc0, 0x98, 0xa9, 0x00, 0xb1, 0x2d, 0xd8, 0xfa, 0xbb, 0xfb,
|
||||
0x3f, 0xe8, 0xcb, 0x1d, 0xc4, 0xe8, 0x31, 0x5f, 0x2a, 0xf0, 0xd3, 0x2f,
|
||||
0x00, 0x17, 0xae, 0x13, 0x6e, 0x19, 0xf0, 0x28
|
||||
},
|
||||
{
|
||||
0x29, 0xb4, 0xf9, 0xf8, 0xcf, 0xba, 0xdf, 0x2e, 0x41, 0x86, 0x9a, 0xbf,
|
||||
0xba, 0xd1, 0x07, 0x38, 0xad, 0x04, 0xcc, 0x75, 0x2b, 0xc2, 0x0c, 0x39,
|
||||
0x47, 0x46, 0x85, 0x0e, 0x0c, 0x48, 0x47, 0xdb
|
||||
}
|
||||
};
|
||||
static uint8_t expected_ctext_sha256[3][32] = {
|
||||
{
|
||||
0xbc, 0x29, 0xd7, 0xdf, 0x8b, 0xc5, 0x46, 0x5d, 0x98, 0x06, 0x01, 0xd8,
|
||||
0x00, 0x25, 0x97, 0x93, 0xe2, 0x60, 0x38, 0x25, 0xa5, 0x72, 0xda, 0x6c,
|
||||
0xd1, 0x98, 0xa5, 0x12, 0xcc, 0x6d, 0x1a, 0x34
|
||||
},
|
||||
{
|
||||
0x36, 0x82, 0x9a, 0x2f, 0x35, 0xcb, 0xf4, 0xde, 0xb6, 0x2c, 0x0a, 0x12,
|
||||
0xa1, 0x5c, 0x22, 0xda, 0xe9, 0xf8, 0xd2, 0xc2, 0x52, 0x56, 0x6f, 0xc2,
|
||||
0x4f, 0x88, 0xab, 0xe8, 0x05, 0xcb, 0x57, 0x5e
|
||||
},
|
||||
{
|
||||
0x50, 0x81, 0x36, 0xa1, 0x3f, 0x8a, 0x79, 0x20, 0xe3, 0x43, 0x44, 0x98,
|
||||
0xc6, 0x97, 0x5c, 0xbb, 0xab, 0x45, 0x7d, 0x80, 0x93, 0x09, 0xeb, 0x2f,
|
||||
0x92, 0x45, 0x3e, 0x74, 0x09, 0x73, 0x82, 0x10
|
||||
}
|
||||
};
|
||||
static uint8_t expected_shared_secret[3][32] = {
|
||||
{
|
||||
0x31, 0x98, 0x39, 0xe8, 0x2a, 0xb6, 0xb2, 0x22, 0xde, 0x7b, 0x61, 0x9e,
|
||||
0x80, 0xda, 0x83, 0x91, 0x52, 0x2b, 0xbb, 0x37, 0x67, 0x70, 0x18, 0x49,
|
||||
0x4a, 0x47, 0x42, 0xc5, 0x3f, 0x9a, 0xbf, 0xdf
|
||||
},
|
||||
{
|
||||
0xe7, 0x18, 0x4a, 0x09, 0x75, 0xee, 0x34, 0x70, 0x87, 0x8d, 0x2d, 0x15,
|
||||
0x9e, 0xc8, 0x31, 0x29, 0xc8, 0xae, 0xc2, 0x53, 0xd4, 0xee, 0x17, 0xb4,
|
||||
0x81, 0x03, 0x11, 0xd1, 0x98, 0xcd, 0x03, 0x68
|
||||
},
|
||||
{
|
||||
0x48, 0x9d, 0xd1, 0xe9, 0xc2, 0xbe, 0x4a, 0xf3, 0x48, 0x2b, 0xdb, 0x35,
|
||||
0xbb, 0x26, 0xce, 0x76, 0x0e, 0x6e, 0x41, 0x4d, 0xa6, 0xec, 0xbe, 0x48,
|
||||
0x99, 0x85, 0x74, 0x8a, 0x82, 0x5f, 0x1c, 0xd6
|
||||
},
|
||||
};
|
||||
|
||||
static int test_ml_kem(void)
|
||||
{
|
||||
EVP_PKEY *akey, *bkey = NULL;
|
||||
int res = 0;
|
||||
size_t publen;
|
||||
unsigned char *rawpub = NULL;
|
||||
EVP_PKEY_CTX *ctx = NULL;
|
||||
unsigned char *wrpkey = NULL, *agenkey = NULL, *bgenkey = NULL;
|
||||
size_t wrpkeylen, agenkeylen, bgenkeylen, i;
|
||||
|
||||
/* Generate Alice's key */
|
||||
akey = EVP_PKEY_Q_keygen(testctx, NULL, "ML-KEM-768");
|
||||
if (!TEST_ptr(akey))
|
||||
goto err;
|
||||
|
||||
/* Get the raw public key */
|
||||
publen = EVP_PKEY_get1_encoded_public_key(akey, &rawpub);
|
||||
if (!TEST_size_t_gt(publen, 0))
|
||||
goto err;
|
||||
|
||||
/* Create Bob's key and populate it with Alice's public key data */
|
||||
bkey = EVP_PKEY_new();
|
||||
if (!TEST_ptr(bkey))
|
||||
goto err;
|
||||
|
||||
if (!TEST_int_gt(EVP_PKEY_copy_parameters(bkey, akey), 0))
|
||||
goto err;
|
||||
|
||||
if (!TEST_true(EVP_PKEY_set1_encoded_public_key(bkey, rawpub, publen)))
|
||||
goto err;
|
||||
|
||||
/* Encapsulate Bob's key */
|
||||
ctx = EVP_PKEY_CTX_new_from_pkey(testctx, bkey, NULL);
|
||||
if (!TEST_ptr(ctx))
|
||||
goto err;
|
||||
|
||||
if (!TEST_int_gt(EVP_PKEY_encapsulate_init(ctx, NULL), 0))
|
||||
goto err;
|
||||
|
||||
if (!TEST_int_gt(EVP_PKEY_encapsulate(ctx, NULL, &wrpkeylen, NULL,
|
||||
&bgenkeylen), 0))
|
||||
goto err;
|
||||
|
||||
if (!TEST_size_t_gt(wrpkeylen, 0) || !TEST_size_t_gt(bgenkeylen, 0))
|
||||
goto err;
|
||||
|
||||
wrpkey = OPENSSL_zalloc(wrpkeylen);
|
||||
bgenkey = OPENSSL_zalloc(bgenkeylen);
|
||||
if (!TEST_ptr(wrpkey) || !TEST_ptr(bgenkey))
|
||||
goto err;
|
||||
|
||||
if (!TEST_int_gt(EVP_PKEY_encapsulate(ctx, wrpkey, &wrpkeylen, bgenkey,
|
||||
&bgenkeylen), 0))
|
||||
goto err;
|
||||
|
||||
EVP_PKEY_CTX_free(ctx);
|
||||
|
||||
/* Alice now decapsulates Bob's key */
|
||||
ctx = EVP_PKEY_CTX_new_from_pkey(testctx, akey, NULL);
|
||||
if (!TEST_ptr(ctx))
|
||||
goto err;
|
||||
|
||||
if (!TEST_int_gt(EVP_PKEY_decapsulate_init(ctx, NULL), 0))
|
||||
goto err;
|
||||
|
||||
if (!TEST_int_gt(EVP_PKEY_decapsulate(ctx, NULL, &agenkeylen, wrpkey,
|
||||
wrpkeylen), 0))
|
||||
goto err;
|
||||
|
||||
if (!TEST_size_t_gt(agenkeylen, 0))
|
||||
goto err;
|
||||
|
||||
agenkey = OPENSSL_zalloc(agenkeylen);
|
||||
if (!TEST_ptr(agenkey))
|
||||
goto err;
|
||||
|
||||
if (!TEST_int_gt(EVP_PKEY_decapsulate(ctx, agenkey, &agenkeylen, wrpkey,
|
||||
wrpkeylen), 0))
|
||||
goto err;
|
||||
|
||||
/* Hopefully we ended up with a shared key */
|
||||
if (!TEST_mem_eq(agenkey, agenkeylen, bgenkey, bgenkeylen))
|
||||
goto err;
|
||||
|
||||
/* Verify we generated a non-zero shared key */
|
||||
for (i = 0; i < agenkeylen; i++)
|
||||
if (agenkey[i] != 0)
|
||||
break;
|
||||
if (!TEST_size_t_ne(i, agenkeylen))
|
||||
goto err;
|
||||
|
||||
res = 1;
|
||||
err:
|
||||
EVP_PKEY_CTX_free(ctx);
|
||||
EVP_PKEY_free(akey);
|
||||
EVP_PKEY_free(bkey);
|
||||
OPENSSL_free(rawpub);
|
||||
OPENSSL_free(wrpkey);
|
||||
OPENSSL_free(agenkey);
|
||||
OPENSSL_free(bgenkey);
|
||||
return res;
|
||||
}
|
||||
|
||||
static int test_non_derandomised_ml_kem(void)
|
||||
{
|
||||
static const char *alg[3] = { "ML-KEM-512", "ML-KEM-768", "ML-KEM-1024" };
|
||||
EVP_RAND_CTX *privctx;
|
||||
EVP_RAND_CTX *pubctx;
|
||||
EVP_MD *sha256;
|
||||
int i, ret = 0;
|
||||
|
||||
if (!TEST_ptr(privctx = RAND_get0_private(NULL))
|
||||
|| !TEST_ptr(pubctx = RAND_get0_public(NULL)))
|
||||
return 0;
|
||||
|
||||
if (!TEST_ptr(sha256 = EVP_MD_fetch(NULL, "sha256", NULL)))
|
||||
return 0;
|
||||
|
||||
for (i = ML_KEM_512; i < ML_KEM_1024; ++i) {
|
||||
const ML_KEM_VINFO *v;
|
||||
OSSL_PARAM params[3], *p;
|
||||
uint8_t hash[32];
|
||||
EVP_PKEY *akey = NULL, *bkey = NULL;
|
||||
size_t publen;
|
||||
unsigned char *rawpub = NULL;
|
||||
EVP_PKEY_CTX *ctx = NULL;
|
||||
unsigned char *wrpkey = NULL, *agenkey = NULL, *bgenkey = NULL;
|
||||
size_t wrpkeylen, agenkeylen, bgenkeylen;
|
||||
unsigned int strength = 256;
|
||||
unsigned char c;
|
||||
int res = -1;
|
||||
|
||||
/* Configure the private RNG to output just the keygen seed */
|
||||
p = params;
|
||||
*p++ = OSSL_PARAM_construct_octet_string(OSSL_RAND_PARAM_TEST_ENTROPY,
|
||||
gen_seed, sizeof(gen_seed));
|
||||
*p++ = OSSL_PARAM_construct_uint(OSSL_RAND_PARAM_STRENGTH, &strength);
|
||||
*p = OSSL_PARAM_construct_end();
|
||||
if (!TEST_true(EVP_RAND_CTX_set_params(privctx, params)))
|
||||
goto done;
|
||||
|
||||
res = -2;
|
||||
/* Generate Alice's key */
|
||||
akey = EVP_PKEY_Q_keygen(testctx, NULL, alg[i]);
|
||||
if (!TEST_ptr(akey))
|
||||
goto done;
|
||||
|
||||
if ((v = ossl_ml_kem_get_vinfo(i)) == NULL)
|
||||
goto done;
|
||||
|
||||
/* Check that no more entropy is available! */
|
||||
if (!TEST_int_le(RAND_priv_bytes(&c, 1), 0))
|
||||
goto done;
|
||||
|
||||
/* Get the raw public key */
|
||||
publen = EVP_PKEY_get1_encoded_public_key(akey, &rawpub);
|
||||
if (!TEST_size_t_eq(publen, v->pubkey_bytes))
|
||||
goto done;
|
||||
|
||||
res = -3;
|
||||
/* Check that we got the expected 'rho' value in the ciphertext */
|
||||
if (!TEST_mem_eq(rawpub + v->vector_bytes, ML_KEM_RANDOM_BYTES,
|
||||
expected_rho[i], ML_KEM_RANDOM_BYTES))
|
||||
goto done;
|
||||
|
||||
res = -4;
|
||||
/* Create Bob's key and populate it with Alice's public key data */
|
||||
bkey = EVP_PKEY_new();
|
||||
if (!TEST_ptr(bkey))
|
||||
goto done;
|
||||
if (!TEST_int_gt(EVP_PKEY_copy_parameters(bkey, akey), 0))
|
||||
goto done;
|
||||
if (!TEST_true(EVP_PKEY_set1_encoded_public_key(bkey, rawpub, publen)))
|
||||
goto done;
|
||||
|
||||
/* Configure the public RNG to output just the encap seed */
|
||||
p = params;
|
||||
*p = OSSL_PARAM_construct_octet_string(OSSL_RAND_PARAM_TEST_ENTROPY,
|
||||
enc_seed, sizeof(enc_seed));
|
||||
if (!TEST_true(EVP_RAND_CTX_set_params(pubctx, params)))
|
||||
goto done;
|
||||
|
||||
/* Encapsulate Bob's key */
|
||||
res = -5;
|
||||
ctx = EVP_PKEY_CTX_new_from_pkey(testctx, bkey, NULL);
|
||||
if (!TEST_ptr(ctx))
|
||||
goto done;
|
||||
if (!TEST_int_gt(EVP_PKEY_encapsulate_init(ctx, NULL), 0))
|
||||
goto done;
|
||||
if (!TEST_int_gt(EVP_PKEY_encapsulate(ctx, NULL, &wrpkeylen, NULL,
|
||||
&bgenkeylen), 0))
|
||||
goto done;
|
||||
if (!TEST_size_t_eq(wrpkeylen, v->ctext_bytes)
|
||||
|| !TEST_size_t_eq(bgenkeylen, ML_KEM_SHARED_SECRET_BYTES))
|
||||
goto done;
|
||||
wrpkey = OPENSSL_zalloc(wrpkeylen);
|
||||
bgenkey = OPENSSL_zalloc(bgenkeylen);
|
||||
if (!TEST_ptr(wrpkey) || !TEST_ptr(bgenkey))
|
||||
goto done;
|
||||
if (!TEST_true(EVP_PKEY_encapsulate(ctx, wrpkey, &wrpkeylen, bgenkey,
|
||||
&bgenkeylen)))
|
||||
goto done;
|
||||
EVP_PKEY_CTX_free(ctx);
|
||||
ctx = NULL;
|
||||
/* Check that no more public entropy is available! */
|
||||
if (!TEST_int_le(RAND_bytes(&c, 1), 0))
|
||||
goto done;
|
||||
|
||||
res = -6;
|
||||
/* Check the ciphertext hash */
|
||||
if (!TEST_true(EVP_Digest(wrpkey, v->ctext_bytes,
|
||||
hash, NULL, sha256, NULL))
|
||||
|| !TEST_mem_eq(hash, sizeof(hash),
|
||||
expected_ctext_sha256[i],
|
||||
sizeof(expected_ctext_sha256[i])))
|
||||
goto done;
|
||||
/* Check for the expected shared secret */
|
||||
if (!TEST_mem_eq(bgenkey, bgenkeylen,
|
||||
expected_shared_secret[i], ML_KEM_SHARED_SECRET_BYTES))
|
||||
goto done;
|
||||
|
||||
/*
|
||||
* Alice now decapsulates Bob's key. Decap should not need a seed if
|
||||
* the ciphertext length is good.
|
||||
*/
|
||||
res = -7;
|
||||
ctx = EVP_PKEY_CTX_new_from_pkey(testctx, akey, NULL);
|
||||
if (!TEST_ptr(ctx))
|
||||
goto done;
|
||||
if (!TEST_int_gt(EVP_PKEY_decapsulate_init(ctx, NULL), 0))
|
||||
goto done;
|
||||
if (!TEST_true(EVP_PKEY_decapsulate(ctx, NULL, &agenkeylen, wrpkey,
|
||||
wrpkeylen)))
|
||||
goto done;
|
||||
if (!TEST_size_t_eq(agenkeylen, ML_KEM_SHARED_SECRET_BYTES))
|
||||
goto done;
|
||||
agenkey = OPENSSL_zalloc(agenkeylen);
|
||||
if (!TEST_ptr(agenkey))
|
||||
goto done;
|
||||
if (!TEST_true(EVP_PKEY_decapsulate(ctx, agenkey, &agenkeylen, wrpkey,
|
||||
wrpkeylen)))
|
||||
goto done;
|
||||
/* Hopefully we ended up with a shared key */
|
||||
if (!TEST_mem_eq(agenkey, agenkeylen, bgenkey, bgenkeylen))
|
||||
goto done;
|
||||
|
||||
res = -8;
|
||||
/* Now a quick negative test by zeroing the ciphertext */
|
||||
memset(wrpkey, 0, v->ctext_bytes);
|
||||
if (!TEST_true(EVP_PKEY_decapsulate(ctx, agenkey, &agenkeylen, wrpkey,
|
||||
wrpkeylen)))
|
||||
goto done;
|
||||
if (!TEST_mem_ne(agenkey, agenkeylen, bgenkey, bgenkeylen))
|
||||
goto done;
|
||||
|
||||
res = -9;
|
||||
/* Configure decap entropy for a bad ciphertext length */
|
||||
p = params;
|
||||
*p = OSSL_PARAM_construct_octet_string(OSSL_RAND_PARAM_TEST_ENTROPY,
|
||||
dec_seed, sizeof(dec_seed));
|
||||
if (!TEST_true(EVP_RAND_CTX_set_params(pubctx, params)))
|
||||
goto done;
|
||||
|
||||
/* This time decap should fail, and return the decap entropy */
|
||||
if (!TEST_false(EVP_PKEY_decapsulate(ctx, agenkey, &agenkeylen, wrpkey,
|
||||
wrpkeylen - 1)))
|
||||
goto done;
|
||||
if (!TEST_mem_eq(agenkey, agenkeylen, dec_seed, sizeof(dec_seed)))
|
||||
goto done;
|
||||
|
||||
res = 0;
|
||||
|
||||
done:
|
||||
EVP_PKEY_CTX_free(ctx);
|
||||
EVP_PKEY_free(akey);
|
||||
EVP_PKEY_free(bkey);
|
||||
OPENSSL_free(rawpub);
|
||||
OPENSSL_free(wrpkey);
|
||||
OPENSSL_free(agenkey);
|
||||
OPENSSL_free(bgenkey);
|
||||
if (res != 0)
|
||||
ret = res;
|
||||
}
|
||||
|
||||
EVP_MD_free(sha256);
|
||||
return ret == 0;
|
||||
}
|
||||
|
||||
int setup_tests(void)
|
||||
{
|
||||
int test_rand = 0;
|
||||
OPTION_CHOICE o;
|
||||
|
||||
while ((o = opt_next()) != OPT_EOF) {
|
||||
switch (o) {
|
||||
case OPT_TEST_RAND:
|
||||
test_rand = 1;
|
||||
break;
|
||||
case OPT_TEST_CASES:
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (test_rand != 0) {
|
||||
/* Cargo-culted from test/rand_test.c, this may need changes */
|
||||
if (!TEST_true(RAND_set_DRBG_type(NULL, "TEST-RAND", "fips=no",
|
||||
NULL, NULL)))
|
||||
return 0;
|
||||
ADD_TEST(test_non_derandomised_ml_kem);
|
||||
return 1;
|
||||
}
|
||||
|
||||
ADD_TEST(test_ml_kem);
|
||||
return 1;
|
||||
}
|
263
test/ml_kem_internal_test.c
Normal file
263
test/ml_kem_internal_test.c
Normal file
@ -0,0 +1,263 @@
|
||||
/*
|
||||
* Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <openssl/opensslconf.h>
|
||||
#include <openssl/rand.h>
|
||||
#include <openssl/core_names.h>
|
||||
#ifndef OPENSSL_NO_STDIO
|
||||
# include <stdio.h>
|
||||
#endif
|
||||
#include <crypto/ml_kem.h>
|
||||
#include "testutil.h"
|
||||
#include "testutil/output.h"
|
||||
|
||||
static uint8_t ml_kem_private_entropy[] = {
|
||||
/* Seed for genkey */
|
||||
0x7c, 0x99, 0x35, 0xa0, 0xb0, 0x76, 0x94, 0xaa, 0x0c, 0x6d, 0x10, 0xe4,
|
||||
0xdb, 0x6b, 0x1a, 0xdd, 0x2f, 0xd8, 0x1a, 0x25, 0xcc, 0xb1, 0x48, 0x03,
|
||||
0x2d, 0xcd, 0x73, 0x99, 0x36, 0x73, 0x7f, 0x2d, 0x86, 0x26, 0xed, 0x79,
|
||||
0xd4, 0x51, 0x14, 0x08, 0x00, 0xe0, 0x3b, 0x59, 0xb9, 0x56, 0xf8, 0x21,
|
||||
0x0e, 0x55, 0x60, 0x67, 0x40, 0x7d, 0x13, 0xdc, 0x90, 0xfa, 0x9e, 0x8b,
|
||||
0x87, 0x2b, 0xfb, 0x8f
|
||||
};
|
||||
static uint8_t ml_kem_public_entropy[] = {
|
||||
/* Seed for encap */
|
||||
0x14, 0x7c, 0x03, 0xf7, 0xa5, 0xbe, 0xbb, 0xa4, 0x06, 0xc8, 0xfa, 0xe1,
|
||||
0x87, 0x4d, 0x7f, 0x13, 0xc8, 0x0e, 0xfe, 0x79, 0xa3, 0xa9, 0xa8, 0x74,
|
||||
0xcc, 0x09, 0xfe, 0x76, 0xf6, 0x99, 0x76, 0x15,
|
||||
/* Seed for decap on length error */
|
||||
0x4e, 0x6f, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x72, 0x6f, 0x69,
|
||||
0x64, 0x73, 0x20, 0x79, 0x6f, 0x75, 0x27, 0x72, 0x65, 0x20, 0x6c, 0x6f,
|
||||
0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x6f
|
||||
};
|
||||
static uint8_t ml_kem_expected_rho[3][ML_KEM_RANDOM_BYTES] = {
|
||||
{
|
||||
0x7e, 0xfb, 0x9e, 0x40, 0xc3, 0xbf, 0x0f, 0xf0, 0x43, 0x29, 0x86, 0xae,
|
||||
0x4b, 0xc1, 0xa2, 0x42, 0xce, 0x99, 0x21, 0xaa, 0x9e, 0x22, 0x44, 0x88,
|
||||
0x19, 0x58, 0x5d, 0xea, 0x30, 0x8e, 0xb0, 0x39
|
||||
},
|
||||
{
|
||||
0x16, 0x2e, 0xc0, 0x98, 0xa9, 0x00, 0xb1, 0x2d, 0xd8, 0xfa, 0xbb, 0xfb,
|
||||
0x3f, 0xe8, 0xcb, 0x1d, 0xc4, 0xe8, 0x31, 0x5f, 0x2a, 0xf0, 0xd3, 0x2f,
|
||||
0x00, 0x17, 0xae, 0x13, 0x6e, 0x19, 0xf0, 0x28
|
||||
},
|
||||
{
|
||||
0x29, 0xb4, 0xf9, 0xf8, 0xcf, 0xba, 0xdf, 0x2e, 0x41, 0x86, 0x9a, 0xbf,
|
||||
0xba, 0xd1, 0x07, 0x38, 0xad, 0x04, 0xcc, 0x75, 0x2b, 0xc2, 0x0c, 0x39,
|
||||
0x47, 0x46, 0x85, 0x0e, 0x0c, 0x48, 0x47, 0xdb
|
||||
}
|
||||
};
|
||||
static uint8_t ml_kem_expected_ctext_sha256[3][32] = {
|
||||
{
|
||||
0xbc, 0x29, 0xd7, 0xdf, 0x8b, 0xc5, 0x46, 0x5d, 0x98, 0x06, 0x01, 0xd8,
|
||||
0x00, 0x25, 0x97, 0x93, 0xe2, 0x60, 0x38, 0x25, 0xa5, 0x72, 0xda, 0x6c,
|
||||
0xd1, 0x98, 0xa5, 0x12, 0xcc, 0x6d, 0x1a, 0x34
|
||||
},
|
||||
{
|
||||
0x36, 0x82, 0x9a, 0x2f, 0x35, 0xcb, 0xf4, 0xde, 0xb6, 0x2c, 0x0a, 0x12,
|
||||
0xa1, 0x5c, 0x22, 0xda, 0xe9, 0xf8, 0xd2, 0xc2, 0x52, 0x56, 0x6f, 0xc2,
|
||||
0x4f, 0x88, 0xab, 0xe8, 0x05, 0xcb, 0x57, 0x5e
|
||||
},
|
||||
{
|
||||
0x50, 0x81, 0x36, 0xa1, 0x3f, 0x8a, 0x79, 0x20, 0xe3, 0x43, 0x44, 0x98,
|
||||
0xc6, 0x97, 0x5c, 0xbb, 0xab, 0x45, 0x7d, 0x80, 0x93, 0x09, 0xeb, 0x2f,
|
||||
0x92, 0x45, 0x3e, 0x74, 0x09, 0x73, 0x82, 0x10
|
||||
}
|
||||
};
|
||||
static uint8_t ml_kem_expected_shared_secret[3][32] = {
|
||||
{
|
||||
0x31, 0x98, 0x39, 0xe8, 0x2a, 0xb6, 0xb2, 0x22, 0xde, 0x7b, 0x61, 0x9e,
|
||||
0x80, 0xda, 0x83, 0x91, 0x52, 0x2b, 0xbb, 0x37, 0x67, 0x70, 0x18, 0x49,
|
||||
0x4a, 0x47, 0x42, 0xc5, 0x3f, 0x9a, 0xbf, 0xdf
|
||||
},
|
||||
{
|
||||
0xe7, 0x18, 0x4a, 0x09, 0x75, 0xee, 0x34, 0x70, 0x87, 0x8d, 0x2d, 0x15,
|
||||
0x9e, 0xc8, 0x31, 0x29, 0xc8, 0xae, 0xc2, 0x53, 0xd4, 0xee, 0x17, 0xb4,
|
||||
0x81, 0x03, 0x11, 0xd1, 0x98, 0xcd, 0x03, 0x68
|
||||
},
|
||||
{
|
||||
0x48, 0x9d, 0xd1, 0xe9, 0xc2, 0xbe, 0x4a, 0xf3, 0x48, 0x2b, 0xdb, 0x35,
|
||||
0xbb, 0x26, 0xce, 0x76, 0x0e, 0x6e, 0x41, 0x4d, 0xa6, 0xec, 0xbe, 0x48,
|
||||
0x99, 0x85, 0x74, 0x8a, 0x82, 0x5f, 0x1c, 0xd6
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
static int sanity_test(void)
|
||||
{
|
||||
EVP_RAND_CTX *privctx;
|
||||
EVP_RAND_CTX *pubctx;
|
||||
EVP_MD *sha256 = EVP_MD_fetch(NULL, "sha256", NULL);
|
||||
uint8_t *decap_entropy;
|
||||
int i, ret = 0;
|
||||
|
||||
if (!TEST_ptr(sha256))
|
||||
return 0;
|
||||
|
||||
if (!TEST_ptr(privctx = RAND_get0_private(NULL))
|
||||
|| !TEST_ptr(pubctx = RAND_get0_public(NULL)))
|
||||
return 0;
|
||||
|
||||
decap_entropy = ml_kem_public_entropy + ML_KEM_RANDOM_BYTES;
|
||||
|
||||
for (i = ML_KEM_512; i < ML_KEM_1024; ++i) {
|
||||
OSSL_PARAM params[3];
|
||||
uint8_t hash[32];
|
||||
uint8_t shared_secret[ML_KEM_SHARED_SECRET_BYTES];
|
||||
uint8_t shared_secret2[ML_KEM_SHARED_SECRET_BYTES];
|
||||
uint8_t *encoded_public_key = NULL;
|
||||
uint8_t *ciphertext = NULL;
|
||||
ML_KEM_KEY *private_key = NULL;
|
||||
ML_KEM_KEY *public_key = NULL;
|
||||
int ret2 = -1;
|
||||
unsigned char c;
|
||||
unsigned int strength = 256;
|
||||
const ML_KEM_VINFO *v;
|
||||
|
||||
/* Configure the private RNG to output just the keygen seed */
|
||||
params[0] =
|
||||
OSSL_PARAM_construct_octet_string(OSSL_RAND_PARAM_TEST_ENTROPY,
|
||||
ml_kem_private_entropy,
|
||||
sizeof(ml_kem_private_entropy));
|
||||
params[1] =
|
||||
OSSL_PARAM_construct_uint(OSSL_RAND_PARAM_STRENGTH, &strength);
|
||||
params[2] = OSSL_PARAM_construct_end();
|
||||
if (!TEST_true(EVP_RAND_CTX_set_params(privctx, params)))
|
||||
return 0;
|
||||
|
||||
public_key = ossl_ml_kem_key_new(NULL, NULL, i);
|
||||
private_key = ossl_ml_kem_key_new(NULL, NULL, i);
|
||||
if (private_key == NULL || public_key == NULL
|
||||
|| (v = ossl_ml_kem_key_vinfo(public_key)) == NULL)
|
||||
goto done;
|
||||
|
||||
encoded_public_key = OPENSSL_malloc(v->pubkey_bytes);
|
||||
ciphertext = OPENSSL_malloc(v->ctext_bytes);
|
||||
if (encoded_public_key == NULL || ciphertext == NULL)
|
||||
goto done;
|
||||
|
||||
ret2 = -2;
|
||||
/* Generate a private key */
|
||||
if (!ossl_ml_kem_genkey_rand(NULL, 0, encoded_public_key,
|
||||
v->pubkey_bytes, private_key))
|
||||
goto done;
|
||||
|
||||
/* Check that no more entropy is available! */
|
||||
if (!TEST_int_le(RAND_priv_bytes(&c, 1), 0))
|
||||
goto done;
|
||||
|
||||
ret2 = -3;
|
||||
/* Check that we got the expected 'rho' value in the ciphertext */
|
||||
if (!TEST_mem_eq(encoded_public_key + v->vector_bytes,
|
||||
ML_KEM_RANDOM_BYTES,
|
||||
ml_kem_expected_rho[i],
|
||||
ML_KEM_RANDOM_BYTES))
|
||||
goto done;
|
||||
|
||||
ret2 = -4;
|
||||
/* Create the expected associated public key */
|
||||
if (!ossl_ml_kem_parse_public_key(encoded_public_key, v->pubkey_bytes,
|
||||
public_key))
|
||||
goto done;
|
||||
|
||||
/* Configure the public RNG to output the encap and decap seeds */
|
||||
params[0] =
|
||||
OSSL_PARAM_construct_octet_string(OSSL_RAND_PARAM_TEST_ENTROPY,
|
||||
ml_kem_public_entropy,
|
||||
sizeof(ml_kem_public_entropy));
|
||||
if (!TEST_true(EVP_RAND_CTX_set_params(pubctx, params)))
|
||||
goto done;
|
||||
|
||||
/* encaps - decaps test: validate shared secret equality */
|
||||
ret2 = -5;
|
||||
if (!ossl_ml_kem_encap_rand(ciphertext, v->ctext_bytes,
|
||||
shared_secret, sizeof(shared_secret),
|
||||
public_key))
|
||||
goto done;
|
||||
|
||||
ret2 = -6;
|
||||
/* Check the ciphertext hash */
|
||||
if (!TEST_true(EVP_Digest(ciphertext, v->ctext_bytes,
|
||||
hash, NULL, sha256, NULL))
|
||||
|| !TEST_mem_eq(hash, sizeof(hash),
|
||||
ml_kem_expected_ctext_sha256[i],
|
||||
sizeof(ml_kem_expected_ctext_sha256[i])))
|
||||
goto done;
|
||||
|
||||
/* Check for the expected shared secret */
|
||||
if (!TEST_mem_eq(shared_secret, sizeof(shared_secret),
|
||||
ml_kem_expected_shared_secret[i],
|
||||
ML_KEM_SHARED_SECRET_BYTES))
|
||||
goto done;
|
||||
|
||||
/* Now decapsulate the ciphertext */
|
||||
ret2 = -7;
|
||||
if (!ossl_ml_kem_decap(shared_secret2, sizeof(shared_secret2),
|
||||
ciphertext, v->ctext_bytes, private_key))
|
||||
goto done;
|
||||
|
||||
/* Check for the same shared secret */
|
||||
if (!TEST_mem_eq(shared_secret, sizeof(shared_secret),
|
||||
shared_secret2, sizeof(shared_secret2)))
|
||||
goto done;
|
||||
|
||||
ret2 = -8;
|
||||
/* Now a quick negative test by zeroing the ciphertext */
|
||||
memset(ciphertext, 0, v->ctext_bytes);
|
||||
if (!TEST_true(ossl_ml_kem_decap(shared_secret2, sizeof(shared_secret2),
|
||||
ciphertext, v->ctext_bytes,
|
||||
private_key)))
|
||||
goto done;
|
||||
|
||||
/* Ensure we have a mismatch */
|
||||
if (!TEST_mem_ne(shared_secret, sizeof(shared_secret),
|
||||
shared_secret2, sizeof(shared_secret2)))
|
||||
goto done;
|
||||
|
||||
ret2 = -9;
|
||||
/*
|
||||
* Change the ciphertext length, decap should fail, but and consume the
|
||||
* last batch of entropy to return a fake shared secret, just in case.
|
||||
*/
|
||||
if (!TEST_false(ossl_ml_kem_decap(shared_secret2, sizeof(shared_secret2),
|
||||
ciphertext, v->ctext_bytes - 1,
|
||||
private_key)))
|
||||
goto done;
|
||||
|
||||
if (!TEST_mem_eq(shared_secret2, sizeof(shared_secret2),
|
||||
decap_entropy, ML_KEM_SHARED_SECRET_BYTES))
|
||||
goto done;
|
||||
|
||||
/* Check that no more entropy is available! */
|
||||
if (!TEST_int_le(RAND_bytes(&c, 1), 0))
|
||||
goto done;
|
||||
|
||||
ret2 = 0;
|
||||
|
||||
done:
|
||||
if (ret2 != 0)
|
||||
ret = ret2;
|
||||
ossl_ml_kem_key_free(private_key);
|
||||
ossl_ml_kem_key_free(public_key);
|
||||
OPENSSL_free(encoded_public_key);
|
||||
OPENSSL_free(ciphertext);
|
||||
}
|
||||
EVP_MD_free(sha256);
|
||||
return ret == 0;
|
||||
}
|
||||
|
||||
int setup_tests(void)
|
||||
{
|
||||
if (!TEST_true(RAND_set_DRBG_type(NULL, "TEST-RAND", "fips=no", NULL, NULL)))
|
||||
return 0;
|
||||
|
||||
ADD_TEST(sanity_test);
|
||||
return 1;
|
||||
}
|
@ -1,95 +0,0 @@
|
||||
/*
|
||||
* Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#include <openssl/opensslconf.h>
|
||||
#ifndef OPENSSL_NO_STDIO
|
||||
# include <stdio.h>
|
||||
#endif
|
||||
|
||||
#include <crypto/mlkem.h>
|
||||
|
||||
#include <string.h>
|
||||
#include "testutil.h"
|
||||
#include "testutil/output.h"
|
||||
|
||||
static int sanity_test(void)
|
||||
{
|
||||
uint8_t out_encoded_public_key[OSSL_MLKEM768_PUBLIC_KEY_BYTES];
|
||||
uint8_t out_ciphertext[OSSL_MLKEM768_CIPHERTEXT_BYTES];
|
||||
uint8_t out_shared_secret[OSSL_MLKEM768_SHARED_SECRET_BYTES];
|
||||
uint8_t out_shared_secret2[OSSL_MLKEM768_SHARED_SECRET_BYTES];
|
||||
ossl_mlkem768_private_key private_key;
|
||||
ossl_mlkem768_public_key public_key;
|
||||
ossl_mlkem768_public_key recreated_public_key;
|
||||
uint8_t *p1, *p2;
|
||||
ossl_mlkem_ctx *mlkem_ctx = ossl_mlkem_newctx(NULL, NULL);
|
||||
int ret = 1;
|
||||
|
||||
/* first, generate a key pair */
|
||||
if (!ossl_mlkem768_generate_key(out_encoded_public_key, NULL,
|
||||
&private_key, mlkem_ctx)) {
|
||||
ret = -1;
|
||||
goto end;
|
||||
}
|
||||
/* public key component to be created from private key */
|
||||
if (!ossl_mlkem768_public_from_private(&public_key, &private_key)) {
|
||||
ret = -2;
|
||||
goto end;
|
||||
}
|
||||
/* try to re-create public key structure from encoded public key */
|
||||
if (!ossl_mlkem768_parse_public_key(&recreated_public_key,
|
||||
out_encoded_public_key, mlkem_ctx)) {
|
||||
ret = -3;
|
||||
goto end;
|
||||
}
|
||||
/* validate identity of both public key structures */
|
||||
p1 = (uint8_t *)&public_key;
|
||||
p2 = (uint8_t *)&recreated_public_key;
|
||||
if (!TEST_int_eq(memcmp(p1, p2, sizeof(public_key)), 0)) {
|
||||
ret = -4;
|
||||
goto end;
|
||||
}
|
||||
/* encaps - decaps test: validate shared secret identity */
|
||||
if (!ossl_mlkem768_encap(out_ciphertext, out_shared_secret,
|
||||
&recreated_public_key, mlkem_ctx)) {
|
||||
ret = -5;
|
||||
goto end;
|
||||
}
|
||||
if (!ossl_mlkem768_decap(out_shared_secret2, out_ciphertext,
|
||||
OSSL_MLKEM768_CIPHERTEXT_BYTES, &private_key, mlkem_ctx)) {
|
||||
ret = -6;
|
||||
goto end;
|
||||
}
|
||||
if (!TEST_int_eq(memcmp(out_shared_secret, out_shared_secret2,
|
||||
OSSL_MLKEM768_SHARED_SECRET_BYTES), 0)) {
|
||||
ret = -7;
|
||||
goto end;
|
||||
}
|
||||
/* so far so good, now a quick negative test by breaking the ciphertext */
|
||||
out_ciphertext[0]++;
|
||||
if (!ossl_mlkem768_decap(out_shared_secret2, out_ciphertext,
|
||||
OSSL_MLKEM768_CIPHERTEXT_BYTES, &private_key, mlkem_ctx))
|
||||
goto end;
|
||||
/* If decap passed, ensure we at least have a mismatch */
|
||||
if (!TEST_int_ne(memcmp(out_shared_secret, out_shared_secret2,
|
||||
OSSL_MLKEM768_SHARED_SECRET_BYTES), 0))
|
||||
ret = -8;
|
||||
|
||||
end:
|
||||
ossl_mlkem_ctx_free(mlkem_ctx);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int setup_tests(void)
|
||||
{
|
||||
#ifndef OPENSSL_NO_MLKEM
|
||||
ADD_TEST(sanity_test);
|
||||
#endif
|
||||
return 1;
|
||||
}
|
19
test/recipes/03-test_evp_extra_ml_kem.t
Normal file
19
test/recipes/03-test_evp_extra_ml_kem.t
Normal file
@ -0,0 +1,19 @@
|
||||
#! /usr/bin/env perl
|
||||
# Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
# in the file LICENSE in the source distribution or at
|
||||
# https://www.openssl.org/source/license.html
|
||||
|
||||
use OpenSSL::Test;
|
||||
use OpenSSL::Test::Utils;
|
||||
use OpenSSL::Test qw/:DEFAULT srctop_file/;
|
||||
|
||||
setup("ml_kem_extra_test");
|
||||
plan skip_all => 'ML-KEM is not supported in this build'
|
||||
if disabled('ml-kem');
|
||||
plan tests => 2;
|
||||
|
||||
ok(run(test(["ml_kem_evp_extra_test"])));
|
||||
ok(run(test(["ml_kem_evp_extra_test", "-test-rand"])));
|
@ -6,6 +6,13 @@
|
||||
# in the file LICENSE in the source distribution or at
|
||||
# https://www.openssl.org/source/license.html
|
||||
|
||||
use OpenSSL::Test::Simple;
|
||||
use OpenSSL::Test;
|
||||
use OpenSSL::Test::Utils;
|
||||
use OpenSSL::Test qw/:DEFAULT srctop_file/;
|
||||
|
||||
simple_test("test_internal_mlkem", "mlkem_internal_test", "mlkem");
|
||||
setup("ml_kem_internal_test");
|
||||
plan skip_all => 'EC is not supported in this build'
|
||||
if disabled('ml-kem');
|
||||
plan tests => 1;
|
||||
|
||||
ok(run(test(["ml_kem_internal_test"])));
|
@ -32,7 +32,7 @@ my $no_sm2 = disabled("sm2");
|
||||
my $no_siv = disabled("siv");
|
||||
my $no_argon2 = disabled("argon2");
|
||||
my $no_ml_dsa = disabled("ml-dsa");
|
||||
my $no_mlkem = disabled("mlkem");
|
||||
my $no_ml_kem = disabled("ml-kem");
|
||||
|
||||
# Default config depends on if the legacy module is built or not
|
||||
my $defaultcnf = $no_legacy ? 'default.cnf' : 'default-and-legacy.cnf';
|
||||
@ -146,10 +146,16 @@ push @defltfiles, qw(
|
||||
evppkey_ml_dsa_sigver.txt
|
||||
) unless $no_ml_dsa;
|
||||
push @defltfiles, qw(
|
||||
evppkey_mlkem768_keygen.txt
|
||||
evppkey_mlkem768_encap.txt
|
||||
evppkey_mlkem768_decap.txt
|
||||
) unless $no_mlkem;
|
||||
evppkey_ml_kem_512_keygen.txt
|
||||
evppkey_ml_kem_512_encap.txt
|
||||
evppkey_ml_kem_512_decap.txt
|
||||
evppkey_ml_kem_768_keygen.txt
|
||||
evppkey_ml_kem_768_encap.txt
|
||||
evppkey_ml_kem_768_decap.txt
|
||||
evppkey_ml_kem_1024_keygen.txt
|
||||
evppkey_ml_kem_1024_encap.txt
|
||||
evppkey_ml_kem_1024_decap.txt
|
||||
) unless $no_ml_kem;
|
||||
|
||||
plan tests =>
|
||||
+ (scalar(@configs) * scalar(@files))
|
||||
|
1981
test/recipes/30-test_evp_data/evppkey_ml_kem_1024_decap.txt
Normal file
1981
test/recipes/30-test_evp_data/evppkey_ml_kem_1024_decap.txt
Normal file
File diff suppressed because one or more lines are too long
1972
test/recipes/30-test_evp_data/evppkey_ml_kem_1024_encap.txt
Normal file
1972
test/recipes/30-test_evp_data/evppkey_ml_kem_1024_encap.txt
Normal file
File diff suppressed because it is too large
Load Diff
611
test/recipes/30-test_evp_data/evppkey_ml_kem_1024_keygen.txt
Normal file
611
test/recipes/30-test_evp_data/evppkey_ml_kem_1024_keygen.txt
Normal file
File diff suppressed because one or more lines are too long
611
test/recipes/30-test_evp_data/evppkey_ml_kem_512_decap.txt
Normal file
611
test/recipes/30-test_evp_data/evppkey_ml_kem_512_decap.txt
Normal file
@ -0,0 +1,611 @@
|
||||
# Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
# in the file LICENSE in the source distribution or at
|
||||
# https://www.openssl.org/source/license.html
|
||||
|
||||
# Decapsulation KATs for ML-KEM-512 from Michael Baentsch
|
||||
|
||||
Title = ML-KEM-512 Decapsulation KATs
|
||||
|
||||
# Official test vector 0, seed: "061550234d158c5ec95595fe04ef7a25767f2e24cc2bc479d09d86dc9abcfde7056a8c266f9ef97ed08541dbd2e1ffa1"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 9cda1686a3396a7c109b415289f56a9ec44cd5b9b674c38a3bbab30a2c90f00437a264b0be9a1e8ba887d3c3b100898054272f941c88a1f208f1c914f964c1aad613a6a84f88e42d3556835fb161fdc5cd15a3bc7e74b6f2612fa8271c7ea112b05c2a36cc707ce38d5d1acc5115462a8c1aabf07276c72318337f74b5cbefea7a803790bc0393f3a54c724a5765a48f296b03f484376023626930222704c08fd3bc729315d1fc70eb7975a97b9deed162f486bbc64a097111952d89b57d765e8a991a2e564206ea7bf5e4007a66358831ca0e34b2f6a84d10f79c477cb66a8a952569367388130d7b974a63aa51996c97709bb8eabc94e6a535d792d2905474952d6b8c2222b2ae56dc66fb0461192066cddb43ec05984fb4982649771397c6a8379f3b5643069848875919e89cc439a3be2f081490f341bd1240add80ddb8c9963b47a2a0992290338da9c3b725c6da44718c01046812562afb084837acb3c575e4f93936c352ac0e70aa3845ee485296e6b02de0b47b5c4c96b0b7cf94c4abe95486153118e43c2b9c84d9da91c6c5acd5a57002d058497992799e5ba1ce6c25eb29844d858ba1c37850c0c2f57c60de37f77c082ec14494eba288a65915116c20a325de31aaadd680db19c0cfcc3460f0aa01a87a6a580c6ca291faef0ccc49b76a8dac4f9d41640509dbd0b4045c1530ed34755d47462700f2a8caf9680a6d7e38a7e2a63e937650a23306d855da2a2b7ef505ca596ab0485013ea927c7342343613643ba4007d6c874b980c79c3aa1c74f8581c34849b36ea79815fbb4ccf9610583081d7c5b4409b8d0531c04bcaf7cc751103a5fd1ba4470833e89775aded970b5471859250fe7267105835f390030c5e7cd3f961019eaaea23777d347bb2adcb673c02034f394342271bcea6414e546c3b20bd57481c7ea14c77c388cc86251c12558b100f8c5b3d03ca2c70713909659c8ba26d0d1765e0bc823d68ca5570de600cd0941725d386e14c1012df5951beb8d8281a4f6815d3760b764295ad0406c2bf7928ad65032b65f14b77ccb8917c93a29d6287d8a6062399cb6400865ed10b619aa5811139bc086825782b2b7124f757c83ae794444bc78a47896acf1262c81351077893bfc56f90449c2fa5f6e586dd37c0b9b581992638cb7e7bcbbb99afe4781d80a50e69463fbd988722c3635423e27466c71dcc674527ccd728968cbcdc00c5c9035bb0af2c9922c7881a41dd2875273925131230f6ca59e9136b39f956c93b3b2d14c641b089e07d0a840c893ecd76bbf92c805456668d07c621491c5c054991a656f511619556eb97782e27a3c785124c70b0daba6c624d18e0f9793f96ba9e1599b17b30dccc0b4f3766a07b23b257309cd76aba072c2b9c9744394c6ab9cb6c54a97b5c57861a58dc0a03519832ee32a07654a070c0c8c4e8648addc355f274fc6b92a087b3f9751923e44274f858c49caba72b65851b3adc48936955097cad9553f5a263f1844b52a020ff7ca89e881a01b95d957a3153c0a5e0a1ccd66b1821a2b8632546e24c7cbbc4cb08808cac37f7da6b16f8aced052cdb2564948f1ab0f768a0d3286ccc7c3749c63c781530fa1ae670542855004a645b522881ec1412bdae342085a9dd5f8126af96bbdb0c1af69a15562cb2a155a100309d1b641d08b2d4ed17bfbf0bc04265f9b10c108f850309504d772811bba8e2be16249aa737d879fc7fb255ee7a6a0a753bd93741c61658ec074f6e002b019345769113cc013ff7494ba8378b11a172260aaa53421bde03a35589d57e322fefa4100a4743926ab7d62258b87b31ccbb5e6b89cb10b271aa05d994bb5708b23ab327ecb93c0f3156869f0883da2064f795e0e2ab7d3c64d61d2303fc3a29e1619923ca801e59fd752ca6e7649d303c9d20788e1214651b06995eb260c929a1344a849b25ca0a01f1eb52913686bba619e23714464031a78439287fca78f4c0476223eea61b7f25a7ce42cca901b2aea129817894ba3470823854f3e5b28d86ba979e54671862d90470b1e7838972a81a48107d6ac0611406b21fbcce1db7702ea9dd6ba6e40527b9dc663f3c93bad056dc28511f66c3e0b928db8879d22c592685cc775a6cd574ac3bce3b27591c821929076358a2200b377365f7efb9e40c3bf0ff0432986ae4bc1a242ce9921aa9e22448819585dea308eb03950c8dd152a4531aab560d2fc7ca9a40ad8af25ad1dd08c6d79afe4dd4d1eee5a8626ed79d451140800e03b59b956f8210e556067407d13dc90fa9e8b872bfb8f
|
||||
Input = 113db2dd06871235e7bc36c9dcaa528fc26ce5db9ecc1dc32e957d7ffb3c7429d50c3c3577a515d3183a1b9d267b936b7eb8f543a3afb77765ca7938f78aa6438ce80a06a6966d0d06af75ba3e0d4f37bac73369f5a729f73e85729edd97c8c2a8cc2619e4cf7b6091869e909fd47d9709149204b0837d8d6f25d267972be63bad34b544523c01c09de3b1fa1d6b7b059eee9e652062fe870f68c68005339ea181e1d0767c152aeb38faf0f9245ae59d5cb0d2b7f201229ed97020d0623a46100d097b0ce1154e028ae6194de05de97dd9ae2e85ffd25d95eb22effe5ba19cd807c530ebaa9fe9f642ccacff47ed15c22bfe3036ebf8ad9c8ed23240aeebaa24d135755100b85ecee3174906e46312062ceecac75de5275256c2c1a653fd6915b1b30c8ecbb6fd4280437453173a96238bc7d108892343e033bcd98e437e789fc5bebaa12b2634b51ed0d589f11143a021d8ecce594fdd48dae84c8063ef3581bc378a48da4e51bb175b0db47f9dcf99318c30225ca7fa79c879bf1c9397b5ccc5efad94c500ed7f9f385d088e34932221fc0fc9afe51f6875548131697695478abdc8736f10095a6b92ec679fe0e2ae5d8b335355d58dae4d4f0b17aa5d1e52f1d45584a892c34ce4b04fcd00981d51caa16064bad92d019dc3aded919684112b29daa28b9dae09b86b21a93310d5fbc6527b224b9ce87d2782bb294673f0ec06f26b087652a18d6ad7b1c93303ef0561c0fc9cd4f678f606f192cf5df92b1548f5dd2687edbeccfc6d4e9de4bd50d3c74fb275abd9b3e90277db4a0069c0a2a7136f50cead4b2f1995faaf168040e9e4beb7c5722049d6da6402992fcea45097df7c1c20fb068222000576935a0806773451921f54c55fbf593a4f147c1fef3acaf0cfa907ae48c8c06312cfdf5186904bec7fed4ed933c9256ab04cbfa03a967c1f7ead4ab40df116be660e27ca2b543526d4b9684c31e1e42383b969f896299d71390cc85b703202acadecfa8c40965c08c53b5671e0d59455bc5a8586c655db8c2ade4ba8877f19b6000e18f8feadda7ede8fe80aa662d694c6d8c33b52
|
||||
Output = 319839e82ab6b222de7b619e80da8391522bbb37677018494a4742c53f9abfdf
|
||||
|
||||
# Official test vector 1, seed: "d81c4d8d734fcbfbeade3d3f8a039faa2a2c9957e835ad55b22e75bf57bb556ac81adde6aeeb4a5a875c3bfcadfa958f"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = c529329d8383b3d5b1a17c350599091ef0680090a975e49b5ef44f5917683f1100af3999a5b05948254ee5661f39e4785d248835b784bb08621bac54720068ba564fed861466ba4cd6537a1a48b7070097c81035c8121c87d45a83a5093eea600483785d475a5cd08d6c7923fb300e00263055da4b8369334e632cd04310b07bc345386b12956b7b849adab423fe516342ca03d1f07c02097586c73af1902d1c3bcad87162ec1127e397af6f83bcbe032d89158d2e68bb7b65573b6141884ac5e7a8c5db478593c31ed1388169462226b85dca11c0e1351634c0420f087183b047d21a7a7e34b818553936e55c4dc9b52535b6708011b8708db14114df6c7e8a484a2580c4d39ca5656bbd480758be48a0adc121099541fd814ed33cce17bb4a6927b1af59518279b846000b4822599cb53676bb62ea09053d9238646c8282876c9d73427908631876b4bb17291b28711b966e8461498684239ab46ec851b7942b244878514fc59abea034d96169329bc95e8890938ca7d705345d233ebf8cc4c304a135b04cbf1b18f6ab6e00a6b80308cc4326c4dd194715f47adc1952f832c3a1b68205c2b3d5b856b7f0547463706139c217f456dbf517ae5512a5bc5a2ef5a96ad30d42969ee802cee640abc5c61da7833c0e9b3d91368ad73729298084c548674ba6643ce3a504c053a8b62386785c2192cbd4f92c5fe86b2f3327dce21d69895eec8c398dfa2c3cc119d4fb3b197c381aa36332c2a2d6d8bdeb949430e966eb5915a3816ec353bd33c37e76ba1823dab5296ab07656a579935e2ea53ff0d34439719e31470a5bc88ca5e88a577a5ffc1aa90319b8d78b2597512cd9f2112e4c867e1b5a83d7a810e186b4269ea6264b03c50a8c99037d84b37d0192ef742a980253586ca3affbb4eeecbd7566348914358ebcaae04c50f440654c4ab28391562b3231b88931590b56d95990de4421bf507e834b851606ce13d3a108f9999bf33c8dc2add4428941e3b6e9e6a21dd9b24a9048b2c9bbef341b08f7c8ac332743177fc7c432d3d894d5817a9cc4a646f77a35cb92b3c86792fcc466a7254b59447262a0bdbabdcddb3ffbd1c958aa04ac8ac815e054039ca2084ccde34b1b58212f8dcb9c8d7867d78120c2d84ccc20c0f136773b90088f273b017c4c29404043593192201f38eba1d4b326c653bf9b91a7f4387f0ae876f627b3ff878dc38aa3007a1a98387c3293396a74337ad51297075e09c1197cf50ea83c85f7085c1c81b07b87514f67898c64c9863b08744cae06da57c51bcc7ad588869806c4fb4e3430812af24ab7c1409ed89c0270a8632a4ab66a1009ec0253b4b128690f1ad7b3db743a1f85aa27d37c70c832b2b684b5b52aa6a7042a601dcda065f8f44008196504624e72a5099c686b82a283360c85ad425ed7c5af71c23747e21476462220f943a9381493e7060621b3d19674fa1bac0bd0b3b1cc484d7b6452d97d42898aa63674b25a51dbc655c9e7b647681c7a0a1d4714634754cd2401c0dfc4023b1b475ea1269e373ebb740c92d7be97755919c63aa939a471bc63d4b027799a34b2fb24a8690c4745385922b942f083b6c32a0d5c87f7a3b9fe168fa8b60d5f3247f9840c13259f992335debb52e7e08065264291f250c351c868d5ccb49c865be33c137c25bcb52b809351c476be47bb3dd7b85aae0a994ca746829597958a60ea55bde887c52a38a2dbf490cd506d0da19340d6cb4d1c1f5c84b4fc5357e21c0a44ec3a498aaa288c2b4e2196e1ac6e0b4213552621af049145687c4e69360a39afd69b38d9409842a65c36a5ca89b115897297d5c01d197154caeb77a44289a3f93e565690de3995501804dc519f7569bcc96a22e719840c542da779c943780a3c843efeec1a066050c6e47c4a39ad6e58266ca510ff3ab5dff37a2e34baf36abe5b09791f7b8e2391431d5a6a0b12ba077027ffdbb0ffaab72806d048fa066fcb4c487820a56b4bd10567f755bede04c91376330f797a56d59a465544b02ba68b96a0f95823d5e3b2c36c90423ac550abc796bc53833aace005a06b814db1d8c6a406bb5752cfb2b03a0824adb1ec265e5230b447a5082923ef1b0395f66c0fb913a9a133b29634716b65e889b0f80c4b02575ad3b8018331a67c3502c6195322bd2b71fd958cf071806587648fb31f7e4ee9ead48e0052b06244f3d1d760244a5fbbfdb6ed75a732af8e11edd52e412169c9f523fc8cdb3f8bf21b18003271531cf27285b8721ed5cb46853043b346a66cba6cf765f1b0eaa40bf672
|
||||
Input = 2dfc1275d0391e151787bfe12ba647b3a69c28259119330d33a1ca00d40d5ba9a4ac9238b6ccaab9efdbe0770bf9b654f544ecd94711a760c4be7e51f328856596d921d9b77128d13e64ca588da7b3a93ad56c41d998ab5b48d626ebc546133aec9aa56c961e0cd4a01ba788eacdcd2b3ce1cc14b74f4fcbbb931d8891a68f37e8703e9f9bbdf9091bd1f4c8c03abac6af752d0c1855d1b1f7b78d14e4bba9600a3703e7aae5f8a850008f0f531f15599133df1d03722d5ccd499408700730af1ddbe1f5e232c4d8b6f725d5d0da5076a97d1496579252e75c12d1c4ab35d46e3e33211f53269794be9006bab36446f865555e62123964431ba1ee6e4d54f3491761f82d05eb394c90fb5aabbf6fcd82f7b9db1a771c05bbaa7fc41f0b9a768e77c6d3d570eebd8b22e27fe5c658ed55af1b3b6822ddd6aacd5d29e2fc01b8e50c56ed0cb28c7115ae230ca34d858207d05038c55c508093a46e70be3f13632c3665dc01dbc17582adc63c9d9fd49604f245717ee4569c004d3065517ed65c60226c63a74f88987fc82f2d740a17ddb8f57ec3bde6d7febafafc04ca6412618fcb8f65fc25ad35bc6c7a19459576fbd698f7354e88add8b01ef35a45f55b91327e4af1ec5f80a5fa93e4065c06ff221d717961ee4e9043f610a1a414932bffbf1155167148437c49a7ff2f0123f1bfcb87298fffdf02e35b3bb68d16f8d29544f0d4eeb7e64c45f75100cda51b4841722c4b387b130bb7fd821cc159d3af60fa54e48b86557925d4647ba01f6baf4b827649073237c633f407736a66cb0158880ca3404ff362a4367ca8e77e9354464788f6dd160e479d6df59b8d5f3ea060dd02d078bb6328fbc05d560b9c724d7e734ee3269d9d3515b54890e49d879506990fe734d04991979664b360b1882b5f3801e4607ddda5a2a7e885fe4a7a5d8e77cc5cb6da28adcc04e94e86742411834e74ef3cc27f753bb7bd819400b13f2d987a2aa671d687c9bac7ee629ce97ed76fcdfcc56bcd9251579f27e86eb781f270f69942ca19613fbeefbced31bbf2a3843f2dd7d73a5ee9d508d070f510f18aba
|
||||
Output = 3806942c857ab9bf77b1db8d57ec9dca0ffbf6f156f2e250d8b88cc2a74fa1a7
|
||||
|
||||
# Official test vector 2, seed: "64335bf29e5de62842c941766ba129b0643b5e7121ca26cfc190ec7dc3543830557fdd5c03cf123a456d48efea43c868"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 231c3b6bc32904e370b5699f50d54bd8f71a218755870266352593d0687ee55095af157ab5f8677da4a82cd931b502318b076cde3499c79a89b1d931d8d2a8e0023fe9695d50029a032a7a8891a154c52336ec57d540bd0cd747b9aac762252720fa1a2590a8656b420ca15ad37b5ee173ad866b27a1b2321f528287727e742918ae0a3436344607b0c387409d18dc609a488708e644ced055f3178a4cc69813d2c3259a0467243ca46619bc2346fd55837fb16ab5a08581b93715a5072c869225c2475f9c0fd4ec00f5b26cea55c0ef4160634a3f4b2393752b4ecb1683ccd789628c63698b965949300e79760bd4c59449c7de27c7be8238012c112890bc95e2c5b2f3a37b04b881225e48d4ce5d948bf1c25033f761c3c198b3113c28832eeff0b442d87f4a019afd80976cb9a454e594f4a912b5b890286c47717842b4798bfa7c47d0c16837e58122345cc265b52b673323e26ed2365dbe56a38cc39794137e1738935a8c9e56f37682250c89f665b9b920e935ca83186ee9655a2f944b22572b220b87c9629394cc681d999188f8b8c1e08eaa38a4114959fdb5a2061558960b63b9ba7d30257431c31e6e335d9a65adafb047e2eacf037cbd564a62ae13587e720be0018d04669f786ab240188b22c67bd7ac48ab5b49eda33cda8b5c24390f32b09bb653888642ac21392430532388d67afcc56cc96353c98b4a3388404ef1507ac2a97a7a2f838a971eb7bfab7c457398b7a431818edc85dce7bc36a27cf938b237149d5c86c0ac8066a29a64af26248ec518d6f00466392806086c1c9cae49ac2001610d02b65cc8bb63ad665fede4651bdc6ffc83ae388278a1091e49a59746d0859af522f2f693f3d297543586ed3976f5b8c25ed766d6919823770fea5b9a88750f5a6bc77a13c97f37afca2268fd924e7f99cd2be5b87dc477813b50b0fb4b65fb5d7560a6c9d71cca894a0701784ae91834368573dc1fd009b6a7012721b3b24f4025a85a4b4dcaad484acaa739be2a3a6abca82c6029c0c9d19cf09c3f2dd396bca79b4ba3330318c88ff4457bc5496f94152aa5539db45024503105a73db30a555a947e6122749bb67f9d30686d9bbde6b720a6109d5fd3b4c7e6bc1f9c8c16ca3299c77bdeab47aec275e2622e20104c59b398f93c7f70a047c3832982cc7873163ba1d45001b8089149cd75cb9ae1694207c24ce846b21d87b23e61710e727b7f03826a76210948279c125f65d4a8d4096f3ac30f683c6e3dd3201224a42d67b7b150acfd96bab8992ada72bff486c00d78536b68ae359a09fba5cb478389b6621cff13477e6b4fa21b1b47b889d550a4c73535a3136b165009493a3410eac077954e0f126afa5c00e4bc05fafac63ef443fb749e3656035ee49f33bb21f3f5c24a2b964416440ffa0b7f4290ca49194dd911cb5173af9c87bd557768578c5ab9b3440852dc48c983541367a72d173bba671569084c36f6e6c021b54e951967ed28b23bdc9f4ad9236f9aaf14a47c2737ae4a123e37a3137ea0339e21ca834855541a4e05b5229e4588c983a4d96c91c83bb740a66c2ca4853e84848cd613cd73a01a34a80d7aa1cbba41a26a714bc4b5340baf82b17dfbec8593ea5ff97a738c522bd359ac6545c1ccc4a6933726ab0224a95b7354ba1f4d52a0bb46c8f3d11a75c67e2fcb626e2b3b61e326b9f71dd21479af3b687a31cdb7f4bb9ea8803429bf5713c55be6285e863ca8113b3ce4c258b036853828b6588ac4d0c7bc557f07b4637de3754d701692c280e7bb8ebe3931040b114c1c12df0ab298464d86f9889dd675edf89dedc7a1fb153ec3552cf9b59e39716a4f579a9a2ccc5b6c164237bdbea1745b97547473a8bb262559d17dec6994e0a5280cd9b345ba597a5c38c3e76d4972808907c20d0b0440170f7c342bcb9348a0850fece62ad0e25a89465e45d8896b42cc12534de39a40f4140bedc67caf03881d0338c0d44801e48a48b191d44c6e5516077af0905df2a6e4353a39bc1efb36b37e77adc39029d1d70271f29856687bc5428ab42916e5a390ee198ac55c3efb8b7e1b7a1541a12b91f799923b57a3613c6e75593f33a856c5814a209dae2688c2dc2bf1a115491a94bf9a2e81b0276ef5176b298127868cff4634df1197f5463b23f126f1ae625bd2be8ca1229457f96ab5c25dbb6164a80bae45c7868ac174856e2a888db11de3ab2c7f1fdf15ed8d4bf31f32f1e7031cf236e6e0e757e0cf62e82fcc97ca60ccb27bf6938c975658aeb8b4d37cffbde25d97e561f36c219ade
|
||||
Input = 00a7cd29649cfdac962563ab54759912302b7d3aa9b20cb186746972771fb6f9f5235582e633fa218b0ae21b6422a4a6a4786689c92749c2f828fcaeaa3fd809cb7e98a1ebfd5f1610d4475b340511b4b112a308873cc4461dd7ac0497272e6e153d1063f86b61c6f47c7037f923757e540dd15565ee66459af4f5e840a1cf187efe8deb04ac65e89a2d8a7856ccaa7c8db22eb3ef3904676e3c84eee57bff3e7915ba440a799ab35ea00a9c06367057f42bd184f9bedc36fc3e9268ec3cb22e7cc16bd0dcfdfc2cbcf321a987bd5358a39b7e70381338f043f94cf846bfaaa50515ba1d0b8a49d1d917d03dab179a76cf9aaca15bc75981e18d110046c779bf1133a12f9043a9e4bcf8e484dec2e869a9b4653e7ad8ae181d6d761c61de95eed8862f6d6f19ea4aacbd81233e3fa40d550115b6f89492b5cf6cc9f0d945ed838dd2ec7b75a8f849f5e62c3c986b312d9cdb590907c82c1d328d033166621c1e375c4d464c6d590b0ffa9adffc787e3cadd7836efa2b92b5edcf504dbacc8d8261c96a0ab20430451c95eb0962be241c01bdf3b391db3cbc1076ee1bd36580dcf76d7e08f84027d5e133f7f5b3ff2b05a4ae324981f3afe0def5805c8f7940a55f80ffd59b3b61fb96c2273bceeeff6c3a06053ca135725f986f513eb14f0bbf7de8ca03f160b4bf3caaf769f30f8a90c136ba826067c4cbb0d835f5dd2438ceaa4d3514bc2acc9da73130b500b9f7086b2bdc0db2391d5c725dde86e909054e04cd9d31f74e84f6623b395e43a1571bb6edbdf7411882b56d3a903d9a7cf5e021fa3618e390142eaae6843571888fdb711d2757dac0fcadd456afca1e40bfd56384ada22d420cd37b67080319f0f61d0d629b56baef1dce49ae67aee6d84af9bad4af5983904162b6e3a2bf9dbdb51f241cf8d22c16adf0aa514bd76c82016af8bce3b5ae91fdc681436e84532952c5808a0a8fc5749d9afbe4c17a7fa4e675390716488d6537b971d8a21a50cf616fbcfbd2c64264618894c93cf249820c6574faa4efffb1f53cdcfc61de3c314475ade8e221b07f79840b7eb0f4d4137c35
|
||||
Output = a1e73a1ebd907a6f176acf808b0d0412d31cff0e9d800a732e1e96bd9f8d7ebb
|
||||
|
||||
# Official test vector 3, seed: "225d5ce2ceac61930a07503fb59f7c2f936a3e075481da3ca299a80f8c5df9223a073e7b90e02ebf98ca2227eba38c1a"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 34f9cc7cf5937b3b628681166828145f98bd45a7532c895cfbd85245829d7e5099e9478d955c8e5ef473f8f04893f2b7729bbb7b640c020b12c0c0aa1e72be323931807ccbf6f96eb6f593fae91f47454f6e951004d204a8ac529e4b767f58c13b280bbf142db0c582729b24df038e7d569276f73ea984295a37a6eb74875030c48ab357326bcabe8a7beda13d66fb234a9455a89078e04357daea40c482b46b5b724ea78a62c449bd9703c6d7682c1b174ff86992b9ca7680802e868059d12fa6f17bb7e07df59aa20e024555891e9949bfa889b5f8851952291b815306165689e78a45cdfb8610dc6eefc91961f20a7f0aa1329ca4cc6495f547a1dd116f4c3973fab735e23168e30746eaf0823dd239b8a7ada33a0245d0924baa4e78c187b1487b4814b3ca311042bc71695123105565e1ec0fed94663c7ac2a1db30f6483938c9be23424a5e47b7f3e3c3433a1c2b3a46060296ae3b3cb8e43a1b61a129f6165caa1d11a02fe006974a3c9565503acbfc98400c0855b31da2914a4a57cc6b7237269a2ce25ac9cc0271ee533494d7b5bb0b4a217a334f573bff128e96d0281fe4215f9a0e86a588a5479168d16a87e545a0201d9b56066f63b5761a08f9f53cf5d76d4af98a0e2a3563485233631d91e10706234b45d6c2d9303b42974619445d86109aa81241efea36faba7682622ea3dc5f893541965897a3e67e12d146bad2b867eb054bb189ca50bb165ac4986703b75ca2c67354c7142779c5475b00c579657084da72822ace4104196eca8000a540ea34cabdd68549a3642d5207d91291fe53b22d632f1cf0c4ac8c383a663133b2746e15b6157b8f8fcc9c3368a64f802764e80535876513365f36bc3bb642528dc04785159ea1d5c832c07d886a8439ca9686fc64dd96a4f6630b7b9c0d2d6bc25541985ab76e41237ebeb84f46bb35a9a881692731408009f33b722d7119e4881ead4a594cc3616c87ca4050511ec25386f56d7ed2c6c837c4a88165b067a9712cabeca26431ba179a3185c1ec84437715ab0639a0a62132e7cfc91083a5d0316f620c7e330dbb751a4352bdbff484451c173f414121e153632715cbd185608c4ba0e35923ac85a31132d4d28ba8452bcdb772b1d414303068c6a4a2d7ba83f72bc00cb4c99a9b6b26f4be08c3add612ca7b6aa422f32f5991be0b4cc5de5644ab17b250444228e62f91822899c694e1133ca5db14d884a445261469055659ecac02a053b9931f160052ca58a24592556893555f8b13ab08b0e9790ce1b42da547a7ae91cd77f3c6dedccc645812a9d2cf4f749f7dc61a58a67012dc517762bea3282068504698437840cc24bb659437214b7993c0b6248514e32f07265377b0191f75ab5238ac85b181af153bab90742461caa8901d8a3489c504502478c75432564468ae2cc719ed23aeec6460cb791471f702c2090e21b273c694aec9369ee75724c999cf7c95cdb863625d83076b7b03deaa221dea8991942f068887730b6527d8cffa7a69a4521eab818d32065a6fe36160aa767a6cbc930119d38b49602609419272e1eb626f3802eb15bd318208ca827317c64a58d29b430656f3f9852546141fe98ec2d34e636bb1a3e8130111c9bc59719df361279919950618d1d0434227233f877b62473b558873bf15496fd1769cc59deb7b4e1b268a7f6a192adc2c7eabb00160112b7c8b3a679b432b95bf34685617a4c76313fa258d85ba5ddf6301eb39614b6a82e707509605a90c408aa7caa8ed3c59b0a5102c789afe421346d919873b9ef5029ccfd46876b98715f7b12e5ca82f502e50c288a8247823585e526ba291326e02cbb03d4c768c76585cb6a0a1e5050828aaa9457b691c582905348b11593139008ab92bd5445d0a63c7b756c5e2ca328d1c5f6832b56245cc8ecc2c7d6164b2b5a874a01fe27a1e1b5640809abbedd042dc18489a391c75e89407817e69d3a49cfb96729c7af1b48b9a4089a76471b2597479f4b58dc77c0340baf6e103b7b61ab1f082f635795ce66d0c3b4501114582da8663d5783c981c26256bfc058433767d1073c77694cb472b21bd052255189f45cb1100994ce7c970528646ef307cdd43769917a7ffe429ba65a9e643796d7b5395ca9c5de71ea5239d8a0cb5002aac9dfa7b70afa11e30613fbb4eb814a6d781fdad9eb7235eb67684416054abd5ba87e255a30df672528ae0579ce33db704673783b5ee84d5091361dfedb52080c01938bbde950541fd53a8a47aaa8cdfe80d928262a5ef7f8129ec3ef92f78d7cc32ef60
|
||||
Input = 5f6e711e30a8871c45a5086b9fcccabca7be2ff75f8fee0f928504c23e4ac9a46806eea9659d1582a6884461cff6a7f98884627c7129acb89323b5f7e1eeccee6414584b56b795d50bd7a9184752e5d565a5e10b3f9c15dfe7bcd67bc06d5231ada5b6500b2391883040e60ad4ee03211e362a338b011f07494c0457d7d51e552d0a29e3ad2fd8d0bb5ed17d39296a16c97365e3a0e9e08e41db7f76763e96e73e9ee48840af833887fe638929980e7883e21247196e799471a9657935e277c25b83a0d7235a0a75e29049c920e41d4ebf2c56f942dd7eb1eaf7cf91d5ca9c302d356108d03e968102273e5da7d88cbcc6fb8d00dfd87660533de43f891c61d9ab9fa44f4de27e158ba98ced2f2d5e57f1d03dc04682b488fc38f5cf09fa8ccba6148f9971bb4b480f1bb7069d306d86e9849119181b66707775441ca73e7642dc570cc90cde6e96d9c8cd0938b486f67bfe733bcd58a7ad877a7f60b13c302553989fae5019d1c3ef8a4041c83c3cb89bff9f7a203170309aac3a62e38ead03e66b69c39dc5d89f9cdcbf7d8eec4f9d4acc020bd8ca677f0c52e445ced8f4f49a909a46caf78420a0c9169492e04d66881c88f3786c238407bfaab28929ef362b59a1a1e226163026bf98c65747aec16ac4ca9a77648937c4e55efba717fcc96dee988bfacfe585935164da16f317865765e1d17da460b8b25b2ce8cd8a450865421ffab39d83112e3d8a7142593732b9cf880d885e177d04fd82fbc09a694a2da7047ddcb7b4b340ebce7a964366a491852078dd8865a52ec654b9c2583974332f6c1135a74cfaafd663f9f049c320cf2769cb7842e23fae7fea6bac70381ef008e8467ead6cb257368014e0b34ef8b8c5983b696014e6b3c30fcc93668e1e13b373c57afe52840f676783e15fa5b1d0347d8bef83af666d0c0de4d8e1c1db804625605596319743e07fdbb07f34b3fa3c2f3c398c68cc4faa417c0f2c2d8bc9ea5f2f7d50389071662fa79a9c91216f26f3d99c0073bb8dc4fd24d08e093c10cea7213d59ae8ce657743c8a2fba58d72c21db29618d56b63bff6ffcac0ae8
|
||||
Output = 255b06c42b0dc4a66e704a50180ef40cecbf7e4ae4b0604fbbfe92ef3472b671
|
||||
|
||||
# Official test vector 4, seed: "edc76e7c1523e3862552133fea4d2ab05c69fb54a9354f0846456a2a407e071df4650ec0e0a5666a52cd09462dbc51f9"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 5fe1950683a10a4c266a829b28fb08c5c1022646b083c3949d7a628ac5bca68bcb6ab7558ee87cf6ba7bdff0a1afb13be28682680278ae861790a31cba65b5fb9a0d02897091a83fcb71686fb50549c4cc6be0932d679229b90489c170da877d11b2652087b91fa437c035762cb736e36c69b049343d2bc75961a269f2a9b4e01da593ac7e25bb233b48ec2ca86c1471ef5c4decf62cf4cc781c926b9e411f51d0ccd575158a65a09f125795b884c41a77fbbb1084a6ccf7706ce0c34f8894c72bf89dba6c7da40112cdc33192b7b44df12e19a3142665a0d735894819acbaf943b24368220a54c7115910b57405543e859a897c044993936ec025adf8497df0306ec9554107248100284475d701392a8240ab53fc44a32dc1c31e953b58663fa2714eb63b9fd9a34c09084bcf11195e72b675aa3c4710c74d9a7d1f32943e31800a2532cb4854a86c1689eb5b1af9948491a19320c1620b58309abc7f2009fe641333c59456626e302228cd230d2e122983376160444a42f21ffcfbacdf9c7d71298b1be7ab91091d90688df9f202d1dbc2dad2ba856086efd6949d34b02d339655063ef8b2baa83b0335769f25fb0129f19047337a7e3336b57081aa521fe1d726a62c1039c49487bc500d3bceca4b5035c3937ce43d268b2ecd4870ab20b400f5b460e6bef0942af4182ad2471ae1120e9ee8896b980bb5fb02827a65d9103747fb4aedf9045d5c02684774eca64a4a2798bd1ac741858f9b5191d0d97b09f066f6095ae2a7464ab58c42f9095a080bd0170ac691442f461a31947a03972c982219459b10af395b81c59463332abd08b9a0f08b87d7a009b2727b23b9960c0af374b83d3163ed891746260835054078a0034f8b73eb566c16071323a800252c5e0af55488c15c34729a4d8c77bd63a5264cc1971766f9573666443adeb6272386222bac997666a286d89f3a92a17ebb8d13aab95cd87802c4277ec6351493ba89e19df479891190168e0130576492279b0a3dc39fe31a094ae90f23eb0a4b3b0ab38515ec34275793ac5c94aaf23533aebb7451359508191d0d54ca12902cae9a88ec4c3778691b80c5c7e1916e8f4a3107d8b4f6071b9a205385360b5bac870a0c876468c2f9905d96da3cffabc24f926861271b7b449ff5129489749933b9151b1277a8496007ac16a23c4610922ed1032e53e3aed0f36f07097c97c9c4e15871f37c8182320526c92be9826cedb85302dac7eab759fa2370f8bc9986d58426399fa5a8377b156a686c22a9f831f97284829359a02688cb88548b368eab1cb8ebac0a7ebc673e437424db392190344a095b5819bbd8da5b443602a48a106c672c7754c4ad7ac9acb59d8964385dcc256d1b58add3cd3b0c4575167f809b2003b411a3c65ab780c39ceb02dcb0b257583070d561335c87786c932b1523d4b9639afb4734f42b7a43339904830999a9d98529ea145338380666885e1e7598f8ec86a671234a301f5975af86a22f4369cf640ac1a86334776c7821d6cfb8c5345b63c53c3320206712eb805188c55f9146959e8a9c90640cb7d98111c0077857552d89808f0169bfbc60e90ca69a1202c2e34bbe040b92500fc375c31ae07b59c7804d8084ebd8b1f49673fa1cc3d32009bd4ac05ad9676c8b2181a7a5cadb7c3b860fe7e272f4c7a9bfe68c6f386bee3a9a4cc61b0e91c79cb743db0a1e2e6c3577b4099b4c87397b794f71bef5f0685353738ed5b9f9428ef3036b406a258c3bc907d8bbb32b564bf23151f23abdb98918793b1c2c6ebf049024135a039a1d41404cd8db2b78734ffd38ce77e1a83a41264b059d6e2a502fbc7e2cc4ab056c5be9e22396fa759f98127682366d71967a501132b8cd46b41b2145ca1e32cb5a06bdddd80701e43a8f56851bbb6df01623dc806357b53e93d3b039674f94a68207451dc7f4b2ea036bcaac508fa13b004a29b7a64ae5c64342266433b435dbd9be5bb79a3121b9c791501c971a04959e7ec91fe3f4a81b807959cbc43e64a3ce081dc9e31e20a851ec051dc71266bca03c8fd25f2c9c02e02030b810793d420f3eaa15e0f2c2838a1df1a12a4d1ab4947249e29668c58a14f0a8576254125e774427f34ce9e45319cc0c91a2b482577b804205b79a33faf52614817202dcce47e40e64e77af1209082d51148d31d02f83ec577d6799a220cff5a2ec08701ce02d985ecfadc5ec08bfb7e2b4c02c4fd9863ed6ea3dc9ffd92b2072db53010d2be2d3c64d38269a1ee8660b9a2beaeb9f5ac022e8f0a357feebfd13b06813854
|
||||
Input = 4afc741512ca6ae6b3f8bdd6e69d2dcfffb59a69dfde9d493104bbf6bff3c117a3420032024cf408904034136d00cf900871ca504f776dc159203397387861e184807f99ca62fe6140b908af93d152e48ef7c5bc8c131255cba6be4e454b9500550d1163f7ae780e424f030567ebb1a8883dadcf1e52423522c8fc0a08727ac55317e8bf5237d51a4222060b70e4cc42e4d65c9a3e17e226e55f4de977cc0966a395b4f93a12333a0196fd49a81564f994b4c73e9147d1d88d73c76f3f80413024e20296b3e6b210873686897c9759e2c683f539045fbf63182f8a41341e6004812db9ac6e53c135a70bb2063cfbf9e3de017a8d431a880e922b489739642e931f1964eb0539a15b72096e62ffe0725736d50ca6e461857216a2332ebeec7cead0b721217f8020d6e3fafc5724a20e6c54c82c4d366f876ae5907cab86174a6d04d7ec735b20f49376593daaa12dfb46692fd92b8d830e71888b9ee75003f2ffafbc7ddbbf057c5044fee1e77b379bfae3c14517771bf52870a8a97c1f5a750a12f0f75a8ec1328c9a726835b3b112254fab16e8e708911694bf5242f16f4d9c8741aed9339ed85ff96492e866bd181489a38c9d083d0449e2ca7e52651842261956de218aeeebf3825ea804774c0ab0f2bbab6dff55f61929fecb960fc88f36f3c028b3f8fa75f92350c5520d8ff29842e3d4cd80e1e3a4b721fd3db2bda87a1a1cfd00665e28ccebe76b802806613e91e218e655844c93a2184d3416cf373ff9201fe16282a3e30f5742943ffc4e2c00021e8d404c170fe9697109bb1676cb50f1668ace80f1ab00a7032be39a523b2ef80242860bafe28071b8b682f9eabe8da21fec046606262af034898543bf50319d3b829fbfd050a65a63d68e1021039b9dc6457972546cea5c0e602ca2579f266190789e9508d48fbe23c8ebc472cc921495ecc6d9a576c94e3d8a283e0edbd173053d642f76068c28ed970b30237c665988420d75657f0f32b9b185af96b0a344a0a6a8601ff062a467e0b88e66fe9097c72ba51b122e52164c2e95cf41ea71b8f1d03b3a34a3ef234daa2198af16
|
||||
Output = 2bc3d772ed76d13c7b13c479ebdae8afd841c88199a9d1c6a6635079a9ecff9b
|
||||
|
||||
# Official test vector 5, seed: "aa93649193c2c5985acf8f9e6ac50c36ae16a2526d7c684f7a3bb4abcd7b6ff790e82badce89bc7380d66251f97aaaaa"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 4c0cbf32815e93216f5e765d077369236987c18c1fe354584b35cae490a0cc0c27b1e839b2da251fa59c2db7495fe27493cb4fb4313b51346e14c98fd1483178d394b7b3080c9205dfb7bff532a8f0d80a758519f1775cfc9b04cf947af549a48b64a9ee35230f508619499578b89f5e711bd6ab5b0bbb7679c9b1c4496c5463431e846131204af267845d1628c36680bc7ab4cdc93d56f2cc1707428d293e0e47a84340aad53a99c020952a50595d95204fe43b5baaafc7509c3b968bcee1c836dcaad5a00f2bd297bda19e3742585a2bc67b68821cf861af664cd59807365bc363303b780bb88c405033e775c1c563673641f8494d9251866a2490cd2a66e1ca9720f943aca90744f23aa3fc42bb86abd34558f173b7068237379c2bd12c73929a1495ab9bcea01da7aa4b7f864defd8ca3df90bd7942410309ac7d166db0a06fc9624fab8a26bdb435ea965055cbe8fb2574cbc161449885303334e5a33bbb5acbea13febeb34ff7bcb2256b1db09a1e2c864272174134a92165ba5f70094ece01a69ea8b0114051eeb1eba5a7e67bb8b9e6a014c1309fc42a31e4b08a9e38a77622902071d5750404d9c2a77976c1c9685e6ec6d30f429363b61bb7c3bf7f7ca6a14a71408bfedba4c7172231c503828351fddb74c0ce523b96b8ae9f78345f663124913c9c57be0da21c1b6c403f8272bda9306726abc023c5f61cf0bc4092f440c5b66a64c140152ea2ba3793e8c302c4fea7478fa7235b0caf18793cba925f6f380a810cc849182fd29236e9335bd1c7de67b0a7d55bbf264549ed134e4287e0fa55dc987c251164f3a070dbff29f8c30c1fcec6176724d7eb829569c8cb2858c5924642ac63e4ad1a3c0b01c32cab68568b26a47b443da5a8ec2a1effc75488761a108aebf0611d2a2a55d9a26da46630252aca321a0a9465f28da068de6626e660c617a71e03c904fa81f2e74b5ecd24ba234ba6dc63d8923070efacfc44c111a574cc4e1b4ca9847fa98b304cc409d377de583234006697e34717322b5a028014afa956f51cdd43b16e5f35126ec00db567c24841fcc959eb62676797a2b3dec9bf6159cf321b5f0f521a4216904c25a94b21c48a21e2d384b66db071e527c4798620ce8292c8cb962955f550b3dc0a1266dc47693b6b29e24156300375353c62640654d168dfca3445c2bcb06064c5f00b65cbb6d723b00a7999c74e1aa4fd1a64ac57c4356b612ac41ceac61e9983312d597b48b24febb6fa2962a1013a2d0878dccda268f5b00f55043239746c003140ea2ae3739ae17921c5bd7b02065a264186a081187dc500cb8200a9e9627df4b54b7682bac393f1d33655f643432f5c8164a2906131d46d483c684754ba885790c3a441374fa78346815126386021337304527a7df48a79ca62d32b41ab18000778b4ab6792771077e7644717a4845e9c248801949ed29b30cab0afada52d58a1b1918174cf8423d71ba0d22a9b1c71ec0347f9dd1a8ea111c8ac58cb5c61eaa977f3a8a0458082d8edc612e6c3b5d5b67f0541ef6276f15d11649010c1912a976ab3fbd7586c7372748bcce38b01fc39a62b65c2fb1dc82cbe22a3d4a26ba219a0afc093b745e7582168e3a33aa2a705a217180484537910bbec04256097b9fc174ef93973fa50f1a923daf51a2e59a1250b1a5a04c9a105a3191122d88d75793a674bc32006202bed2b6aff362540413a72e5312654ca63a72620d4a48863b98ea05c4faeb3d7ff8874198720dac3af8798dc148592a373346e250b0902f2a80cc13d8ca636664240b6a74ec4a570234e213a786655a4577afb84874ba4b4a1c97369da665493988f2e2cf412374d232236683ce8954ac4478408b4164cd26bb586a91a268c4cee82788411f2b2c387265334bd07b39c4946d0c1656b487092287780024a4027778605d06ec0ad266869bd28ffa11c254d123ab2c6b5f981dd44c3c79d86150b8c48b12af3899414d16c53a6414b782012d151aef08b31f4bc694714c04f05b51877728598b516b4ecbc438bd9b8643dc02ad741dd03c1bccc4aeac579d063b10c9ea16ab71b3df5aadc4b56b8bc1c08b40bffa8ca12e39cdaa137f7bd3bad32c5bf70b92c7bc5ffd050f801c797b01c0d3f307a579c61179a4e13a7097caaf445760018e6e7b19a4829a5d6323f5635cb3728135c43151e3701f36223e94e170e03639f1668e454ae9e5f45436a1eea6c01a444bad4a81f1edbae5280955a4ddac33a08ccf451b049fd51d7a9ad77ae14a81569df8c9bd3a8f1ebea86fdcfb823082
|
||||
Input = c8c1d60caf863d1c6554e4d84ec2578faab96c81c2c883a1be5a828b602d7fc7a75a1842541ef404433700a67f740b4856b80d0059e6a0ea85240bc5835880f0ac561a85c6da88f6b0d64798757b1365cb52f7e2d73a24fdfbf35229fe19694211f705eadaa72ff66e930badcbcea67b0f1291391ae88fd82843bf3b20de0022f5abed09107251a26f126f82ab32b595ab2b2b48276f684568f9b257abfbdd607b58ceebf6eb8177bde4b9e5d24d1a3a1ba98a483b2cb91ab974903b3536d3e2b06542c60541e3c8a7fc85811bcb8151490505fe96451e280a7a1c2252fb5339ffb2c7b7659872b223d3877d1c9d444fdf797385b1447b8edbb846366e27aeb3ca08e230ea4c26ff12c679d5594a6959f8abe5a440357c79e524f7911d1505d3ab45cf218b201c7c90d64c5d3648e72f858890d5e680ee23c0a50642d316a971873e10ed933d7a06316034cad7a2b43f4a120b378717095ff5ba5b92a5de6cd997ba37307369c67e01f058d2e5139855a78a1fdba605460413b55f99f6e3bf581de8c8a8dc5a2ae11a3025f756b419ca850f5202c6834d66ef260745d0c8a6422d10bdac3b4a6e6299de1a59b0998d556ebf4cb72b37cd666757dead145018e49c6f0805db86c15f431b756f1e1ac0d3f1a7ba509c40ee42554c4c82d88c0b31867423eca02b8a45dab189a1092478525195b56027131c8b329fe3551d7218210d210dc59d8eca9515396e650f49ca278e2a2aed646993a622c252356758ab3ac361d5b003a1a9e872f440844697e66b1d92764118f464799a0672fb198fad0418c2103a862fee65344e54b4f3614da3b42d17096092544ddd6c5aaefe5ed2d7555eea3e26596bcc8371aec079415648a4f28c5b71704cc2d755b5935a1026943f7859487f39987f422a57ba2a3ea28786b264fb5ea4e11f3d93bcffb5acbab4ca2eb149fc2c1d508ffcf69198b179ef4e639c078485aca11cf06fba87c308102fbd4f53418683023c1a1fd12a655b31a4a4011aa7cb45e94d78714715703c976bcf9f4e015fcc4ca3ddd7e11865679aab4a3fbdecfcbdf10f7b7841fe64cbc9
|
||||
Output = cbeb7f1be09e7a73b83be91deb2377e3cf536a89ca695b270436f0dfe5dc9403
|
||||
|
||||
# Official test vector 6, seed: "2e014dc7c2696b9f6d4af555cba4b931b34863ff60e2341d4fdfe472fef2fe2c33e0813fc5cafde4e30277fe522a9049"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 53f83beb2b780919040351b4edf56f3f4c6213b4bb1c707fa1c3927c033769a4baf054bd0537ac1d051878c275efb4527327928d12c822248789b2c7b0826b31739ac20b71179a5ba758b4fb9a2ee969162592513e2cb16a742fb4a7a1c3a55db4382cab26b7051a05865790f97302ffdcae8a375f883c8693104ca7980ce08c9ebcf2cc826508f77a0c0798b477a65df2033a0975b87e858c98ac321a0411ffbbb2852751fcc22995830bad64ba5cdc1c34e61d334b234cb5c555e4c8981411fc9a8e45ac6c44c92554ba8951840c6b0419e51b546d9824ba7798f30b6476c0be18917c9d3358faf44d0e77b4653c0cce623edf30b1e1fa7810f30bc01b6f2c5b63075a25e9bc2eb05b6962c44439f2a4d6325a3186979fe50cd639538d19b99f75c355598a2e22c3fa7908c6a37da8b758427c7b10e2ccadc0045b6069aea53101c611d582c025f05ead796139822dd0437e7c9c10ae954390850191d69569fc117b492e5d34c44752218d771e6685c48535c49fd2210844c0fb778495267b4ea9b3fcfbb902652f5bb42fce5094af3018e810cad46b6db4a60dc847242877cecce437b48ba076315afee7b926ec2e4e909cac6a2c2b458d53601dd57bc983170b2b86b35411c5740182ed98a67200a68e6b66273aaade3ac294d0a4e0422162f3759b4c2a6e93b03a1153a7691807f473447806001b5e92e176b98b72379059a3977e28a21e5b502e315abbb5dba8767a55feb29a002549f5d029f0992f10f53c7432b33d9c112c850ce6374e96fa392cf986ffa140be84781f0165a8b60e4d4b01a0fa2a080bab067204be095ba041ac36c12349d60ab2127a737094ad2a69d3102b682a4a80b078ba22a1197c56685810fac9734451a01a42258ee3b5089111129937f7c4c4bf16bf6118193b786188a95a8d73ad794113c7b503186141e48ac1218a61e9b475a6a12a0f505502c839aec7086a989da1842ed5ba45f9047c75d07561757f0d1cc4c883b536782e77642dd72c1be9bacfa4079c8fa09a6a922bc55a19f3291ae90a8af8fb1ef709acbd018b3ed236391c55b91168a22baea4b07e18e0ae7ba716c2905ee295a8be64682bc877e1b8bb7af14889d58a5c510526d050b6049eec47409c1ba4704b7098ab8044e33277b8855341024492228164480906af317a92f876240349399f609344801fd682881d410c9d8c373f03aa6b1420ebe375a51126eeb173dd493b6054b49043a4ec1a3abf1a30557b6fd981b728f23c8712c347a6329dd72d3cab1716729ad9899c8e9765416290554b697162b27b133dc7a8b63e02d08cba91097aa2d4a697bcfc456b0ab4d180bfff46241d002a5cea9c91eb54eb6588eb026f49fc31a27b82a06c7916b71f84a00afd9242bba668f7aa13d5684e9e00cd78a2a8b56533fdb5a7c1037de1b17981e90a20f075b4e9777d5a4bff698cfc900a0195508490a6a7372501f3b19b3323b6163adbaa53851402e01587b942c9213c067298354b936f69c57197e36d5333a540b8319793169f698d32ec1cf109c689130c0af3842e7244f270ad1ad04511dc9827b17db25209f1aaab62b769725c9af86808fc367b9dd91641c31e26c434e89b3851761092a70f80b41db9fb84df71bb40e7393b04c26776a00da0be3ae61436f10eec07b9367aa8733b4eba72927640b518b6268b012b9a630dceac578ee255a99c4aa366a18792bedd5c130c604efb4547d29b89ed72b96c55a71a54746e56527549cd81e8217958a07cc45f9770861a6a67a404ae3c87bf0e53a82c7841b0cb7b8d48baf882953a66618f2c33c329be3ab64150655b7e07b5da9355e215c326d65399c4ce5fa48fa4a2642af922363714bdb680a2211c523c70535b1143cbadebbba8ebd881af6c1d48d810134abedeeba269440cf1243905309193d0cde5065498ac80dd600e662b0231fa5a60e952cb321a4fb3268cb165ee68b4dc47b0e8fcb0fd8083aa0bb100bb8f11301bc960a62db905ce44b4883acb4016460aa98a6e80b979bc6b2ad79c4491a696d7978f9c4f868ba63827826afc8179773ead18b9d42b2bbf74435958478feb23d2fa5ee3f72c74d43e09a98b59128d77f949fe3c153f5976c2aa16d2933a680148aa0b9daee91bd18c9a6dab61aa1cc7fec30307d1604a6b2cf6fc790065ae12b64277655fa27fba5ebdcef7bae7cb2574dbdb7b37a5635248c2a937c2f84856973f47c8a965852de3664c6c3fab0e1ee9ee5784ef52db5eaa6df8ec3a0bc5ffa730db0dde8c5f38f266d5c680a78d264a7b96
|
||||
Input = 108e5c0fb8a9df13ce99a2867c45594c4278935d6bc1881011b84f9a48321bfca6c56a12c0248837fe5475ddf9883f2833716ec75c5bf3835f51d7990a7e1ab01745d2b82e172850a3f3ca8afbf29520dc0b75c7c3dffe306fe3e9c4c1dfb98dacbb3f16ee5622cbac8f9cf0aac69cf8842bd729b0dfde893051c9c18ec928297e1634d21944285d4c62fa17f6309c1ae136b9198e02da0aeff3019b95702539736967950422aa3337282637abe5fc3b1ab5bba130b579557ca2a4108d475751b49fe04798875540bb10e35a59a6b0057206eee32d755bbf8e6a29cdd9dc16cd74b5aa5ecee1415c1fb827c07ffed3759dc497e32d96b368ceb5c6105d8952c184bd1bc826f047e513db647feeb8893e089d315c9ff81406dfd1ef528ee6b338e653d3189fd8c9d672dcf31991481c16a27306078b9d5ddcc025020737e8e1d1fdfc63334ac71db4e2187ac68adc92a74d70260aa50d05f85a200839356fe06df41f6077427339d5af2f45f1fd5eb6e47909a8b1c78a107840a5783f7557859b61e611f049258e666ea73c7844dd94c6e374b0da61e02514067b9079f3e234e98dd7c3ece94a3bee7cd1dab2b76f203f54bd951871e51da76f0bf32c0f6fc4fd38688356c6b652e61925b2139b21945751be7f1317ba7ff2911a87a05884275bfdef7a58f369fad98cf5564f49c71ab31e11bbb123b56d97b6d7c544b500289bfe9f295da291449c42180e75cab91fdff461296679733bbdb80ae86b8cc5d4d3c684c5fcb49ae3757a6a375c2e83e13a688d32d074faf7952e31b4e7b5ca840205c17b780e043b1d1c90e6c592bc7ea8ff5910dd9c8004918a98da87d9b47fa073aaac25e9986d295c938de6753e7b04cd9e013392f76889a473adeeccf64030aaeefbd7f4c4add70061fe7e0c58960a3c8ed8d5f3f04597580c595147a2da4390d463b752ad83941f6fe3da3b2ec796f91e86ce0b7b1f99011b50e57a3324e50b56936dbfdc29e6eef3370e5ad2cb523de707130be839320b3bc28cbf6e61172b539a005c772ee78caf63905de03b5824910a5a663090f399f365b39b65733c
|
||||
Output = 4a88951f0fdea4f6c1b90865118456771ef756724771f79d752f41c94b8dd754
|
||||
|
||||
# Official test vector 7, seed: "aefb28fdd34e0ab403a703b535296e3a545ca479c1d8148e2d501b3c8dd8b1034bd986f13f1a7b4671be769359fd2aab"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = d9198d2ce117c77bc991d57595481d913b878a60c913b64793214a211ccbd95cb3b756ba8cc1c1e8335b10d6569e20179f47683d624d142749fedb5b7c894c915c6e05c91ce6488d5931cacbd93f816b507acc740d796f80b9b1a468cf455575c4992082e07cf3cc74487261dd9ca3e0a38626166a78b90e12b204e9623e3616b1cd7888d7735a5c16a31ab75c0d5068c771a82f891cd8f7a3d755004cfb66c2a5992c31a92d159c65f7508e34a065d85616621af6897e5d525e660896f9d5cef8d90155856fd5a8148460be34f04a8fa7a820a612dad9902e60888e1c20eac154753134bb435b8c475d98b157da948031279ccce9bced961f30535347d0aa46532b7c5401d223a61c08ad3c18392f4ccfaac41ff1dbaaae511233495767258d5600cf3a71c8ebfb55206904ae06701c78c6cad5637adb7d74fb91f2f3b416e63b5043a8bb503128f00b7a73336ec7ba1499b92d00b9bbcca3a9e3917324bb1860546775c001b842dc8c61db33285d217f80a964667819f2726f67c9339c7b653eb852833619051371387575e9510a2d950529e2636300619de075116a78f73016f27939448b5cebb0646f643968693e492a582d95a1b5c75d58a8ae66f56200776e00aa6a586132c9350f2f535db56177364a03be32724972683473bf925c79b78211122a71f8f8091664975da9a21c938bf6876628434bff14422c9acd8db68ef79b0b8313826c993059aa4fb03736ee07b161a9384b0a89dc201d6fe371ae52927601468aa8952b683247d34db13c3e8248c2c5961e06c1a3cce32d4c6ab64111a6a6a6935101724e245c6afbbcf54658bd3781649b7e7e387dc6ca89f88977dbacc1c0a9a990c123f0d71c71061c68801084a28ff5d8373c2788300790dfc7154fd194ffc9afe73168309650e2ca2c68e5a1c0727813ca169801bb8392244b57852b46aa4fb75de055cee0ca042b68b928a950e16c32bb034694803f1662343fbb986b30a75dd13b011357d03acc2048c438ac2b84d025128113b5f6beb4c6c8e82b05bbb461d8ab116ce3389f6b3827ab8bc0c054e1238a0ac11c23313f0db29db808c5c3894d41ec6ddd357e0bd28e1d2c4a070a3140e2cefcd313c5e5484a403f43f3cae2863b5d7ac00f6a7cb96197b1a71cce6b18828867afa82326b450f5d43f5c51a5f94ccec2c482d8b305aa3c401764cf251ba15a42028030589d88807469cc3886b2a83a3cc09a78bb5a537ab715d4287f10643584f5ca9e1c3dacbc548303bd24a7ba96a9613b9c67b469a3117bb3b3449fc8e967fa9b0747b1550303bff3192f109340ec254142a5b829ea8c4ae80310076b5adace4e844a2390234ff53702ecb38a45563c933cfde77672389530fb45b5869623c29d924cb357f926069802b2590fe7a8534e0800f0d03f71b80d48f02888a09fff26399c6c4cbf578965e12b611a96e6d63381f749731a8908da899ec37a09776c0149c65158c717362fff2300c625b98942bf752993caa947d1a5408ec80f2b146089f87dc383053ba25864a4cedf595ac0bccb9afc534e165c0793a6ea03b9a73a0e412cad53501b0e878445e9a33a7a798a73717714af1c515e5f1114d16c9efed7bb1102b219a9b148a9016e2a649708012c3a03f4b583a6fb33826c4ef2c59ff8618839227b9aa15214504a1f713fa20c507ec879aefb269e58536409982da1a80644876dc499259c91ba53073ee06c486461ad00ca8556a18dc189d92c07b26a219b38ae91e902b11c899e690c004a48975a2b5a0b7358ba97ad2b603ad15af20569a00201ee197bf9d61040a04e63a57e0fd53fb2eb3984752e20bcc6d2ea2a137473206c11f02b5813430b5c3663f4b4aaf1b5b0fce0a1f7c5043ac703c5597477a9c1cb03354065843552b8d4fc087c8980f83959aa459623f7160187ae115ac1967108601c6562195c0fd31566c72ef044abc668c9a4fbb16290ba2673b867a3135cb217c76117a831595afbb173c7489dbb1a0c1badf5188a97784104c2a8901c1a6f5a27cfd5af0f74a394d53dc5932156a1895524b1754814611c7f96716fc7849597589fffdc205b9599b71122cb5c6f7237691e50880720333b3b3cf0a59c921c225b44633764b2923956b06ac602a3a9892b630d3958304bb1d1741257cb4aa662e8f1c68d270af725604ceb8a7ceb1c543d1f18ed4ad3ef745d94f8635d7cc758d131a3734e8300b85f16014f607c6cfa02c5864a8b4212aecac18299daf37400cfe59841afc412ec97f2929dc84a6f3c36f378ee84ce3e46cd1209
|
||||
Input = 054c061f91d63a5d5431ac79f410b0d6eecf1d3bc2ff4d84223974e35a47e47a82dfe30aa2902ff96d02923fe3310cf645331f6bca1f6e1722aed50e61faaa873082f1a15761b3fa58846a9f2df926b8aa6e085439e504ed3b6ccd057a53a56f0ffec416ea45e7d814af0a0d04fb8f986ba28959ebe17ce72712da80e49094e9a9282d8096abf9a864105ce9a27f5b57b91ac55fb804c673fdfed14cf0f3ecfa106dda285514d21315f8c59c86450d769fb0e9c4e59fb410339392f85f577ae0c7caa17b5c0c50afe7e877b05d13ac4e91b5b93bab79b623eb9f59e0e668b93d561e5ae0b0418fa0ab02b0af829c952126380e63838ad177965e4b1732dfd1511d15178a44370ca1d5ddc4ed7cf2d7ccbd875837223b4180a7cfc54095e76f5edd03f7a741d6b461458c44b939bd59475238af7858b5567181c291b21c9cc9ae8798aa0c23ef29fe299dde61e0b983b98084bd6a42239a8027968cb27ae9748cdfb527aa84c3da85998e64b060b5c7b293ec79dfb4c9b502ad945e205591f0ea7c7a774581131ca640e7d40f12357da6d07a99179449c7eac4c78a4f7aecfa83f162b5712d19d538bb77b63104e80ba87a24e5068ccd22a711e6cd9f86303a9b92057e313aa7b20fda58f1aff7016998d19b4a7db130cf9015bba8a747c85f407e1317d75c1ae73033a0304770163bae265fbe854c832e1e6cbce516385237a50d62ea856cb373df535055b93e8e3d84e6446f5cfbb8bea7b1e8b0666239bbeadf096555e3e6da6e59c7f59667e212e5ac7e5dc60b518134cdddbd079e23e4bbf698ad85c158b62e69dfa10fa7fdda0474111d34266e57fee6eb3a66f17922ba59f779c4f4ed94afc4c0ff0d207f8d587a9f9e7e0294c83a76acf04454eebe8f4ed75c0fcaad2b5e22718f09a0fc53ad9d0db01c675c549704b72275cceb6c1af27904040daf2a19cbe663847e79244b20affb5d6b45f7a4048190b191f5c5b31cdedfeedbde49963c931b809fbdefedda5b978deda58ee3dd722950dc9dc0fa5cfa0f283ea0f92c3c2bcb578300d62a7fc2476cae0c07ab6dbffbb8b3625f85
|
||||
Output = 948e74805c64bf386b623f0b2d105d11d7609d49587372235af7da3d98a5487d
|
||||
|
||||
# Official test vector 8, seed: "cbe5161e8de02dda7de204aeb0fbb4ca81344ba8c30fe357a4664e5d2988a03b64184d7dc69f8d367550e5fea0876d41"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = b89a6e6c56cea426913c001141f9236784310886b2c01629dae54792da4639231da41453e0c2b9e78bad0d4a1419ecb317236116b8c5febb86758a83eb223af68055eb21150ba95bdb46756cf17d09c675168c7951db0a9859512e3a64eb9074f9f83a8b5020cd32a9e5fb4bee567ef4867638b3bcc07603c86a22376b219fd69776cb4d9db90617c52f3c7b7f1633026f606cf623a5e1c4476a613476cc33d2958dbc59ba8be8bd450c7b5e738e3ad0819ca3cce197b8a77a6a84600ccbf481114a6618c47238f46aa11a5343946835837d568531b7f86798a86d41fa21e0867254e9931fd92f066c866cd53eabe866980a9f594b1f7877247da68845d20272f2b3efaa6a19e7006a354cda6454a499648f6890172279d04199bf44611685c1a2b2c44b670b68a049ce92299f54737b036a1b998e90da7fd890b79270087cdcb6698b2c0ab672d34bc04ebc5143b7165b027aaf518d74a8bbfd3945ce71a4eca14e32128690e1b6cdb1acf180b6f0399cc1d08c1380b374151ef9e1844954c590943b412131d0ca16aca82e80a62f7344147fd23d6994ce71da2621466cfcd0702aa35ebb271e4f8640b3eac7b1b21ee3c6247c48467379633375cdb0254813c831efd0c1b8ab7b92cb6217152ef105a312e215a6d18262e77a49f058ab604790200b29f60238b163b817c72e4cbd5a547b5b95b01dd59a77c6c54e77bc08c296d5e4c4b8daab1770cd2922b2194757c836a7ed396e1bf23b47254e057a23dd0017b093aee4a20c46e275b56b8aac244a82a269a11a6732a91fa7663c0abc55f6909a6f5c3683960b962aca230ba1c8b9a731c33ee45825db7bbb76f6904e1a91a113cfbe191599233708b5a5c948a768d78b9b8b76563b0874187df60863de1a2cc2a777bf192dd6f160e4455ff46891eb93c1ca60af26e08b155249a4b82d11f66691c724fba3b265d150b00843fea27ab764723e70089f974b0fe07c72bb30f32b845ecc4f596170b2f83b0a5427e899bbb85c599a9c3ae700284d007e3786677359ccc5d80a62912e5ae73d7f98a6b6382845eaa313e31516491712f53d37b8b46ff76752ebb62262b56c1b32b9d72d41821d21d5cfaa02cd9d29cc127b5370c167d7f811bf3b78efb3bc4e717a3663cee3e2b1c1f2b469f759b12505bfd8beb79c894be52b74c1724bd878c01b8ba41060c1f12a20e234f85476c6e8cc214759d3580c6f95cc6a6a2a6312cf843354700a2e4fc38bf0a52b68190b1ba9bbf01b6fd06571302c1d16e92f2ff88ccd7648ed7c214508b433c5a4bc7a2adf6415836b377bd432097ba01da893b9f163f5528d48773b58477a692c35f2f95552f2af39d2151237926e9a3d004903f7851e66dc13bd9bb874591ca98590a633503569212dcca0a59513261456445ab40959c42f21274a252c3e09623583ce30a063176b9960f7c1df65baaa5b1c7b8c2d843126b2f3b564235adafb5a0bf66c70883164bb0ecf20b39965a9501279b08a51696891dde820e2a002bfa67f110162afea7632f4b45adb04eb6c85e1b1a68f9a6bbd4b7b4c4ac6f0b821c59b0049895b6ae13fcd202e5db7808f5b916e5cc4dada5c48656988b19ac44cbceec40ea1d71a0630b3ab295fb5c911c893a1e60660df36a9fb6460e0e45528b1c376d6cad0ac375057849a823a6cf74f6594065c0b5ab341a959a04de845071e61b8a4fb92b71346b0019a96f9cb8c660e7220ca8c2ca9c57362559c31d69c2cddec0f86631681e2344452173157cb96d3c4ee051f4e6c3455305d541bb4ad3097fbacc66db01f54b648f463b21e083a68a96bb2975b6d05cd0a415f8a87735691b1b032204ad34751d5a796da410b57c651d36435253bf3f85648b352a29921a5d240bea34fa2cc40982bb28ae0b378ba3fea491479d690a8d21863f8c4728267fc8a48753093dca438ef614eb438b36d324852f1062f21c9408a7478f16d03a4ad656b80d7e81d9581282844c0df28059903c58911ca4f174013769b091a3260cbc251171fa47980a3b78a764069587b620f8abc28e258d5daaae9e110f7d077c9f0905e76cc3b0a8cf068b9aff77dc33a767790700c85c663a9357c80a447d6030fd519ccb9049db02ab8b8a20387038132700ae9389791072e796e206a76de7aa367589fadb82aef85003cce1a7228b882b3aabcb1debb4bea22d584e8964808d3cbdd31edb64a804a434033c3edf156384b40eac3544fc5f4104f323f37d2b017da1804ddb5aa9b1c6a47a98f8505a49bae2affde5fe75e69e828e546a6771004
|
||||
Input = de2d9709afa3e829d65a80af248138fb38cabc9052a308d3d86d81aafa45fcc1b0ad0bd4033668490f8a0525deddac8bd8c50826fa0f084b59791ec1eb1335b23b92240ea5d8506802fec58ca39c3b15ad6538ba6c9bd57ea55d858bbbf2eb0fb7a2be51e978dc822f327284ae2a4506657020921290f07a11cbec01f8ba18b00b8df339245ca3ca4e29ed507e84e9aa52d7f1570090a5f6ef4e41a3242be3c001213b2db57fc206f2d6a78d359e320345213b2e62f92a586b39db98e9a610b3697f0e5e090076ae5fc35522280c525aa9aa422b09fd4f0e6134109a606a56c385b2df576ef5f0a8ba099ada5a4358c7b64da6d22e423cfdaebc93bbf070d64a7a20d0d116c7f622f675b73677b37df774a3b54bb44c9da74701971d6e113fc616b7deb196599ad22e2806ab1b691f0516e571a7c3d2e2969cba3615d9ee7851189b0b83fb079fae5c387cd4e161e04a2714c5c6ae2d789dbfae68c87fc3577650e01e180a4c8bb07a9c00ec5b404db5facc758c7b922bdb8582b1bb75af2a2895d9cc1829b5687296838e8b47b9d5d39cb98abf7b9ff5b1d8f7aab0a773515e09e80170320edcb9a3091e19c9450b43c0ddcb7bbedb319c9a812a0d9b786966cb6686f95f252f565a39d2f57342c01be54a2e3dccdf2e7d625e32b75018108259403e373803f45577db5192c6a795467befe2ff06444c550ff6bb55508929ba29a5ecc78578fb25f608998bf68f5d346d7ded05df5335c541c46ee9032a11803de8098565c9de6c9eb4cdf5adc8f961e3aaa7acb113122bea67bada7d92fcf2620300f8f104ea1b8cf58424a4128a8d55cdeb43a710761381cb1d082925419846cd2e493cf4887d3d93625e871b10ceae4f0b93e351da34c329fb066aa7e1781fe539c4fd4c27a0e42423bac212a0a8947c75540339a24033acd291d6d0ca23ea4f1f7afa95c27ace48661b9a4d7ef73adb17d79319ee0c759af4955fb4c30f2e69efba20bce0a86e80cc768b98c2388fc7bdaaaa0d2706187048b4bf7024ad6f21c61e18e37440473053979caa33993b44967f88a04d3826c3def8f088e78c
|
||||
Output = f2c33a2426460d9f4c95ff8983e5e6db6e6f79ef8b7b1dbc6ff863fb0e034349
|
||||
|
||||
# Official test vector 9, seed: "b4663a7a9883386a2ae4cbd93787e247bf26087e3826d1b8dbeb679e49c0bb286e114f0e9f42f61f63dec42b4f974846"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 49f021eac8ba6da58a63aaccfb2b5fb3a23c4b72b96ef9c1b7b984e72c711cd43ddb2b0ba6a8a79121840ee193cd625738eb931689330a2a6a50ba85cf907462569953dcb95adc208272869f5aba0639091c05601085abc6d5262a614b28f57cd2644a2e9504d0202c30d159d49421bcd70ccf584638c8c9621011da502c9e15397100cf1f28072e1b9a17b5b40aa399faeb9c2033b3ad4c7614b8b2e96213b03528f909a1be587da9a86567cb625df9cd22d28d6db41ebd54061a8b2eb1105264e58b2571afa6a908b7a6738b517530c7b1d14290a4347702b71c815834d745a2a085297c637c95a736e4ecb37b3704e9b7504af6a982c83cb5c368fd067596400e66755794552ebd2a246f291156fa3af51b7e9db358c7ac5e46bb00ef204adda06fc1788cea0cb07621367fa99e920446a80bc8354432a3934373fb62e4d82a6790162409ca68c72835e35d5a99bfda071befcb41485b13617b56ba53586f19b905e79629564e74c5b1606a7d62f1a7fa31a86481887c67852ce77e4c87485cd84e51c9296e31a1c3268600e04f470ad0cad53f55d6c2575522d913a37d6309acf3732a6c18907892030c6b571ac41b895276ba8ef6fc939db7b4db440e514b1dd49508583b32aa72193ab94a2637390fda5f80e77bdd0229dad6827334677fb16a9cd1882f0b83c632102a117072e4b2f7e0827ef2602946350196852e91034ac791cf798c0d411ff1454863b1ab3b53c650f6b4a40912e8f7615a88b8f0cb869300a1ff2370dc3805a8bbcb3393b556f25ab7cbcf6d5ab057b462e064bab5c23dee3c27dcf71baf88137705803fc2203129005f3a238e065133380699b3c5e0750036e02bc2d1a2fd7b49ef66a32146a5b6096f2e13ae2046c7e35a7db870c0f600a2601a2988ac0d16b76a71677353b334159022f9907a29096927b7a4627c1f0b801d58f271efd86b74c83574b2c4c4f66d3f19ae4a903628db52fb746f5cd8473de14862c96fd0142d48359161d7cab7f9be85eb2a194553fc01c8abd1bc94577328a0683c8c474cd88a54e739332c32c436896bb96fb5a97d6ee5288468b91f0c3bcbfc6d0d41b443d2269bc905b855992527b3fa85c305b9bc4b316691609957ca3dc87273f973cc06b09df13549a6222a2a970a44b108f6a434f5415489bb807dd6ba8358c0b95c9a92b7413808bb5bb094e0b54c15f18453446a28505d049abb1fa551feb055ac23718d17ba668230f2b57854cb130357937ca10c4d726fa9eb18a1421a491547b8b59b33e07e7a1529033722b6931e27d5220a083c95f1b85eb62c5428777bdb37b8391abc6cc0bb576def240dd096069efa48c812545a365a462c9e95065e7ca7ccdde66ca8fa4e3df7278f096ddb6a47b32c613ff46b56043d3d6649b109b17dcb81ad84b9a1aa85b20217f8c973d205588cf0927a3a0e8227c39de35eff82ba2fb2b3e86a22c6407b3fc1620b3a16b6e93a78ba2007fa4fec542ca9958755c1167616021a32a45ef1846b0991c9fbc65e2b5b6b5a4240055221f6336fd966ba074f648920fe210c6499a32661019b190319a7b9ebea341b9a79a94b95b7476b1127c888fc46321728cef8cf2b41c616cb429433c14ca64300e48b9d0ab42f439f7be5a46c24391499749c133612096d7051024563a97c11991ef702adbb93bf42c042b092ad4aa301bb32bab6bb2414b958731e950953628582ab2b30d5412c6cd1993f5523510712ce3727c68a3def23205b9c6871e92b93771211823c8842a0c676af0e69ba03948262b59eb7e424338b6537d8412cac3abaf9a14a682b769176fcac2cdb084361e681522a06d7f2a38b7b7722298570c492bae0cb7b2945df904e24e7ccd4a9abf4d4045ad1323d996f155531194bc4b96b53bea57ef493bf83019a74b22ad3674e23c40c6f95050516a4018b5259ecb158273238e74c6fa03f28a6606db41c85346c7252b60bfa1aaf117291b4bf5a01afaf400d593a230833abcb7c35c0c9a3b6f5afb40968abc4bcf581337a1b39f443436445a9fc3a2a6d8410d20441d0272155ccb4db35bed163c200e325e073103105164999bd4552b955943b5a8c5038ea2ce32a49e652a443a136ad4c9566a56d5d6b0ec8153f10c5908525b6d6b3bcbbe628c6e06add65a3aca0d32d1d1e6061a595141e6d1b73c3a8b2e8da598565419d6b69ab70142bfd8510df5aab4d05b7daaafd2c33aeaba815b1d15bed1b204f72b721b5eacf1e4056047447b810cc094d400ab204cf9ae71e3afa68b88586ecb6498c68ac0e51b9
|
||||
Input = 54e0ccbd9af08db978a115bbd5fe605405b89538f6ffca5f9d7018e004579f6ad87883e32fa24757c85607a259722dfe103f29fce81005bdad85dc27438510b162f82511703cf6fa688e80405a270ae5dd4228ec150b7ea3fba5e79be5f6b7793e5bc9c3c8b4378c5591227ced4b577fdbdc478c6ac15925232f3f1de6636be657ecf7845412315bdc78dbba25b98e38e53fa056066396f9fc3600a30769b99a127027c09624904eb30c73737951c297c3d282de11b9a8c9d7434ddc61f43892dcb8dd0249c766dc197bdb5055ea3346e8fb0b76f0b57a54f34811a4da2c9792e7e728672bfa0f52896286ae541bbec5eb0e047ca0bfc2b4866c8e92e9c806c4a399d33783a507a31f2a16307b840d8753c981e08735d7d5043fed7b407640496faf21624b1cc8f7f8f7475a311c97c12ac0b474a282a88419cfb9eeb792e7c2cefbe2072e0da740db402769759c6300767cf711dae865899f043a7abf4e93e1bb060e9d808ec25b9d34a23d8d681006fd33aa26d40865bd42b1f7adffd93d6eda1372499d8dd05f466ae361a0135aecf0484fc1116e7121dd1f843795384ac37aad83efa8990108c6168da9f73e55e84eb08c4fba94d9fb9f4b2d50063baa0f83e1ff8c5cdc68c5a5dba506f3f38f4b9fbed89b9cf93c55f9a605cfee25126709f72411c5621bf75e9b61b6de0410c876e940e81b39b23b3f8f70ddc353177525a1066e75932b8e6ad06d8aa65e6b02c484edfecfc0c0774f8ce21396b813d8e1a9f51c5bb076e095d1660c3c71c2bdae890fdefdee6096590cd15f4d7b9c22b3e8b97df02e8f6da3271826c3c235847117ce4b004f14e9d308334b1bbc65b663ef09b3043929219616f68831d1de70f84fa61d686274ffe7eae147010095e2b441a3fabd7060e050b99162f2d1f2bf389198b76c125b6cda9b7976d9541e442f9798ce7a9a33edf53e200981853881f0c175b201d48dc55d59cc081932dcd6c4693f281e5eb8194e9ce677491acd08caafb6844fc56c1a497e0a9496be179b5bc0cdccbfac8095d779fa2f1e944779557db18863587630010a2ac27b679cdc
|
||||
Output = 72502cc5436ed5d9c07baa2e1eea833eed515a3616936485e74ed7c0a53c734f
|
||||
|
||||
# Official test vector 10, seed: "980d0ba7c8f8b23d0e948a6029ff2659810ea1360064663a8994d0333c8543ee5ff5d6d5c9acf446e61dc464f792b9d3"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 3da77d1c019fc8e911b8a3ca727443651357641102017150b50b2f5c19a70a02633213af20a961e670996f12bf52d2ae171b221ce5088c98b316585d92ec5831a15d3e2c515f46a2ffb732738b59b30768aea60be47589d061872d117bd4f67f353b4cd069b09d53cc68aca2b94a1ec29585a1a91cfb2258a6267df6db65c40a910ed92d544503d1288d8832c87f83a3eba5a1ee15c7f72b924ad42dd7d827cef3032f89559a53c5c4ea0651e7bb74360d4684c9fc9caff2995597b77d226a9e11b2c5f4a624b297482641be197791f4800311a99a048a951e92321c42b73c95107ec008ed866df54248ee30949fc461d70342cc933f50dcbbd821844a4305a73a900fb435773850855606c7bb94aadb9763c55fb2f93c6d62cd3ba53fb8ac45b16a4e87f18bd47a68c3a881d217957f1c274daa899a544268a409f2307cd8f0128437af0582bf7b03456e9731cfe69a6461c623219028d21d303090b69159c0e0be26ecabf96998fdac3482928b30b73a68ecc7a76b23d39a76a437a5eea40b01945e9ce1afb6601f130254a9fb594f746b2b236edd4b854a8793a8c66a0ff09feb124ed741cbdbf2c70fd42b8aba9b5999039d995db7c022a4e411885b8b4ea9a36232c9a9956ae629c39972932ca7ce94c936af69b6f1b903cf8a32b3bb800346c4370654db82720bf064b9079066d264a2347ce07089f427c6130524c7bc7d079152804a0effec0a78b56e5d821716f76ddcaa9da4a1baf2748e7794a9ea382d1f38b7d91c6f2d4ba69592bad9d42fedcb0feb868985fc1d54093db8fbb8bb986ea635507604ab1b56c66a2222bc0a68bd50c131135e5c0213f5735d6f757c4f693348d75b57e653d7f8251de51c1f6563455aa9eda839cac519772104a3e71071e2b5b5e55b210ca40d9b8e6825c88594ab39b9cb983385caf9b6bfe568dad316fec65dc7cb8442a73730e9732496bd45b9186a35c7d423610fa00fa622464b7b44d993136b1c23db11cbaa443582c23b3ec97ae12748f46c0c5a4c7773581885059af478332150411ab0134748677d8aa29076a1b72c5de20918c6d921f80b7f0c0bc7d6f759e70acb8ff26a9e8a1e9b3876a18c4eae937190f3365c6571602aaae8031c9d429509609043f80c03ca8d0f024d6c943e2da09b2ff1125e5b56fcc505f6229714c9760e4898bc692095c89cdbd25579e4a3cbc32279440236019776c28edba9495f359a696967e3c22437e511d63944a0ba28e9626ca1c148955b5206d9c7d842c5f242308ea2bcb3a20db4f571b47c977ba25050bcb33336610b0c953450096e1c9b9e02972f160cd0245f1079aa480214ff7a3a93f2613826a8bcf337efd70f6f469d2256ad63f30e442355b9f7426fe04004db8cf2a11903e70c82e4b673aab014488ac51a29d5d13c174ccc2241a87127b89adc0f0cd3a30050334e650f86d785797cb00ec678f77c5838c19c008d715305d0382b2644e932d46b7b62e1526eeaa08f4106f21b077765374222218d7b5617fa8ceeba5b120bc8e636663f876d2437664a44050c55afc18574393b89b3364ea1a94baa031c43e7c3333b755c0b04599b911ee84e6c53ae2c58bb9d435f472b83ad319aee795670575c6fa64626b4b023eba91d0bcbd4384d0c530fcad4cefb566725d58f5d9418966b3a1731b16633aff1eb6980b71ab2c2a54fe4c8b9cccf2b786912580bd4025e54bc37b395a8712351a83725dd454810755843e95b5f5129e7d13791900d74ea1ab1639c9121ca5a5765c5474ae946487b02cbc3887fceb3731b339f8ca5cdca88b7bba35a7b36b341a24d94a46b23f629d37915832c1aca277846247b957304b4b858d2eca94a3702d41ba8b1e257c8bc2cf1137975433a9cc7ccbdb5067fc7c31a9b93e0a444af291e7026c1b7aa684db03daa48700e2283b7371a6f351bf8529f6de2700cc25bd765089e3b7418145c4ce0481cdab57f91a36cb908a94c40ed91ca2e6c495d6777f15a6c4335af4a4a1cee50494ad66e1acb5832293c6d4bc0325b8602631d9eaa725e319cd0b72f59bc5b2d934ef895b367bc9cb7185a567c5636da439181cc90aa3bc66082fa32cd28388ab3f1b6d88374e0260342e918d44ac8e26400858910cb0b848f55b4795517d533592605954b645756c3b08d067fd99c404fa9658a5a7162fc42ed3199c054556be48c14ec97794c6eba15a38b9c512f892c825db9c850301f99fa3675eacca7097afa57bbf02ae88d6c42e7270ee2b77b6045385f3d175984a0e260363166c73b0c70c971644363
|
||||
Input = aa6953cd5508d0411f99970ad1c92a18bcb7eb60b8400bd55e59b198b2103eb692b2d90a3819e7d962c510c0d863b9cdc83ada30d5aa9695c8778fa3598bbc309e3a07aad36eb6984edea94dd17743dcc58c8d76a5e4f85a306fc99b3e90a407c75f16d6cd01bea2dc20ce3a1f82c2c30a15d9fa24f2188f3d5fe1631409831a121ae6ae6cb8b97a43583fdd6154faff2763122a878b9550520a53ad8c88d2c6da574938f89088bc164edb042c11a832766711ae8edff95801371556038508e096bcdb253bf592e254bb31b1f753b10de54da322cd056630f7e75aa57dea4da79579893fa24629be930aed67ec1c308b20d2a370eceb1e7b94f9d1182c02e49d39a11e0db1bcb6b3d7e2e08be906ae8b5a16bfad2c7834618ec65e3d87db71c6101474c872877dd6d69b20445c4a81e534351fe19968df40163c877d6a383558d5a9fee2b213ccb23d556a10129908e818c13fab1a5e82380fc093fe9b9e59e55c197b4bf714907c12f9214643c1c26414d61e96680e8a2e3ffee41d776c1ad071051329410b4c33a3d48d1a4c056d11d31af8f9997ea120f8cbe07516a7523474aff23007b87a775a6f24f26c57489fb40de1631f8b28bced6bcda812ef9a056ee6d3ccd79db5d368e0dc58a878672bb3134342e36905b3ff67f705298ea3fb3414922d5d576119a4ed4ffece4dd8355b6c1c97ce754e294c41f2eb1ca0869f1db564a78effbec34b2bdf362fa2bfebaa736c38840120a1fba0ccb48e1e9ebd9e4ee04980e808cafffdd0acc09c0cb11a5246e829b82116b3ca4f237143ee0d060565d4ad29aacfd54467a3094677025ae50b5402d6273c72c1888c7c2cd73702cfadedea2a752c2716a02d7575fbd94f18d26a5b40c0e6a1cf14ec1c5c8fcf0bed5d5ade0f699d480f05ae72ef2dbe600bd5692fee384e81dc1b5efbf096057fd046e4da2fd77686b3ba7561562c0f618679d34e6cc8d7b1e7ac28a34187f737ca61aa1fe4bf7141d25a1a760f8caba87c7544f05252abc75b56088b3fc491fafa5d2bc03690b78de2885a687b59d925c1d6ff5871493a52fd20ab3e972e35
|
||||
Output = fb46778f597ebf40dd0125f198c236f064019c6d562ab7d9bf677b4aa2ec9f32
|
||||
|
||||
# Official test vector 11, seed: "6c029462ca42ed520f10a579f52687101105e0b90c6e7bfa582a4c112b579d5ad0a0abd38f72abcfdcaaf5893a112bdc"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 9d0706d6579dd9a5a9a9f7c32b0b9f431a53b24c686ef69e44316dbd66ac874b7ba4f69c2aa5021e68a42e78881bc647e484c1139b7237373c69bb64faa91a6394bdbc0b7d6a22c8c7a74d94e8cc74f33851748999975874ea60e799870e2bb1579996f5bb427b982aafd89c6cb3883c45838ad3c753048f27b3097ae01931732a145315381975493bc4c2e95ffc6ba12d074f5596c450eaa0438abb2d7bcd3da06a50dc7ec1ca720340479bf75a3f03859cc9504fd59dd5c65ebb1c73a3b47bacbaa5f8c1bafe6a04df728d671207494c052bb3994266587bb9562e8926d7893df7fb29a476224376a50d5695db5cabc3986c3b629213bb105e790df18277f8a72efc3c6b960844ffe49c5fba45a5a264ca9a43600b310d43c6d09509e1962b98e4b37b8a4ffa249630e0b458d495f8151240a7561c2c2fbb8c824a52be2fb901cd08274b63bdeef06ee490ab95826c52caad22f593a3164932d149f18047031a7ffd0a05057173a5c23098267e8ea5932184212f07422ba3c091d98433c431515a851ba0983324a76c534bd480a9092c4fb40a488f227658c339c769804e4102199a9343511b460aaa37343513062de5e89aba16479a9c33f4db4f3ea56ab13ba5221405dce080716389016bc6d2d7c94278947b8a3d8eb462d035767d8ba762cc65753997ff8a1f383ac300665862d14a68384530700f1cf96e99ab81f78b8469f9cf4793438a5793fdb4771bc8b50d3caece16c31db99e96f6243b2c75a20a12b54a4b06aa509aeb4d6f01050fe6510147824fec23c0a65cf3d1ba05ac4d8f381914f070fc94368b1a64e644c9fc93b71718599ee6862fc5582ee26aa86b97fb407b0a73260d71479992884b6a4593bc1327c8a54e4a26cdf9bde386952ca635b82c4a4f40247efcc792d8278f9a4b20d978d1840ef51380cc8c09081724ced34b3cca1aab85134f6486208c2df61ca14af8646e9b98fec13d648b6438b8c4b4fb80ab602735fc633700b9bad3b284713b2a288fb59097d6279f5f8891a96122d8cccf2db407d1b054f0b470e2506004caaeb2e10cf2f8410a105273a6a16e36165f702849dca47d8534d151beac491198a002d1f276bb502aece98c181475f20a7a6ce0796e91b82128bf87c9513c710cc38b9ea42182de26c0c4c9b06e91759af7bab56c1480a527a8b281de0abed4640bbbf210174a576fd1666c039533fbcc1658890b42c424d5122963761fb510bc0c75ca6b690e0160e6e54a4ef616d4372c39fc6006177752eb2050d2b2cc16a2e573a82113b67dd8c5c9f650e81157bf991f40b9adadea9270079a3e62bc266bb668dabca4a8bc4d13ad7e6934898548c7c874cad1b28586127219ac8da6849c54cf38dc666fa33ec45831a2595cf3756806218471abba83f6b96e73bf091a4a10530e17b2a092e7c13bf00ea5bab289242a221c164e98ac33771f1a6701f309cfd1ba0d1534913759c8f60bbc50d249c3740715628fdb877eadf97f35325022e76418f6348bf0150456c28644337d010f46602739d31666ab637037466e7714d4f379ffdcae7aa3a4b27a5dcfab721d4cc25810b96939b01e708ccf2988a1a00c56c05289878677f50c6fa8588005a51f785cd3ab530ba1926a4a251363a0d78c5c6a25c180e951099cb52decb2b4005ec7abc858b3b516b729b40b63d888cc56f43100168b6d648f46c912129019a35818fc694551372a36bcb5cb34723b9419f74aca9b787a67c3788a0aa5e2d03319f18514622a88d6117d4b0f8892a2ec7502157702839c7809c99abc050711ab2b329c1e7e892eb39640cd4137551147d2ac03463a7bb3619b0d608b05201fbebc450e7a1a8ac782593421005004ec299ff1816096a2565d7b29b37810676c593dc0428664863e020e7a352d51c687db63bcf699b29dbb2ab3f35c4582040342c8c2f9a9c9e43aea40324f58c8e03b9975810c40443b2df25249d002b2e14c6b2889fc59c586b88c94422d3f84987580ab8096849ec5387d31a1caa8b36e8b08d78305ea633c66e32be633a40a157b87d380b29c58c97826fbf274f6e11a89ea1acae4b9ec1425f95737f9c49c9cc334d9e2a808a71d7c4bc7fd679bb1dc0f6683c207fc4f2b7ca842307cc30a7320f5cb1285645c00aef3c72bc42186904e7fd299ec12a4881821fcdf1faf3490cf55a3365f2fea6c9e31c553046f860705c8b9c6252d54d5d6c84db86499533a8249a3777302053f40be8f5edf1b0a812083bfa3b670e3eaf9b443702fb6db16ac1197656bbd61a8e25ed523b8d1e5
|
||||
Input = 6e6bc6527d96bb9118136923762efe5800c6f5c8d1a23478390e6beb3a134a180019314a42a48ad668553c71b81caf071a538cfb211742759e98d101f5cfcee6fbd68ba42d860aa9c9e84c7e4ac712e41eea87d36b30c25b3ab055ae932a37c945e39d936034285a2e440f65e6e54c3773334521e88d7f9423b0965cd717d379349d99e38c77c8e6b09fbcf8e6e090b756180019d71367d63c7d5379153e82a6d848dd78a3ca4bc761c570d6aa39dd57135c02a58194b73fe564be5b4e24f4776f55d4b6b777944a5be79c02afb36ca2153caf17968934d648aa7941bca413eec6fc6315b32a44ea3bee761ad0253bda4bd3685c3d0dc8425ca513de77797dfcdf332e7c463cd280f75f135d56b59949b51b1b8235024d2f47d756c0c869989d3f5a6cd41ac9e2d60751764fdcbd1536c81813ddf8cc8befc6de417b32bcf6a56290bc11811170125f9b1f931039d0d87a91cfcc6334c49e03e7adc09c1b7e88d3c995fd7cd2f9c0c7264e2873df7b3174ce1fd85b92e2958318a7b257bdd7beb0cefc6970c89f2be6215f529caf517305c2e543a792b7bf6064e1b8da7560c3ba8a259c7082316c9d11eecbe39928cb9269944e798771373a8faf24f4c1a67b9de57a50891a966365948115fc5d159637ab2ab4cd289848de8766e9d01c7d1db18b35781fb365baa6cf105b820e2cb42555ac80401a3da7af6223f8fe85b88b344b84fb965f0afade11cc421026a2af90529e45b4d1da9fe2a00c921d4938129724473ef5f3f2ba28ba6af0656c2e863f9bda052e7dc534cccab76f9c726b57f66de7f4a64b1ba3f0d3421511c0917bb8ca6079c21a2d6fddc0d6cf32a2e1dd5d5b9292d71b507c7a277e638485ba166e0eb6042f350505d46f97eb41ae68cbf1a1fb89d519ef607489d31e6593f99d1686dee63b97b5514a4f304c25153f4bd75310322fdaf8413f5a2c59a16eb5c6217c0a359c8540076c3516eecacdc1b1e3ababaf31ef166c30b27a6a9286914d1d04fce77dcd5fa7fe5cb4c62fb45290437f116e8d5d3f5d37b84c5f72dc7594a0c4e378271c843191036dba208e57f7
|
||||
Output = e2cb350a013a86fa003da8ad9a424dad20b3e8f3a652455090707643f5c60c78
|
||||
|
||||
# Official test vector 12, seed: "db00120937570d62331f4c3f19a10465231eff46465cdee336a0d46aa1e7493df80f18617f9ffd0476cf7784a403ef4f"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = cb5b54068255f3810cd1354815f4b365e66a0663837dcc939f1b868a2396eb5a674d7c6e45267bd976a97cea3d42dc6a108c8a54d296ba600ddc58900d46bd8a38b024a37480164cd0c311e26c9637056599f4a35fa609c7b2cf55185f785c2d95121d72924cd55976920461898253fbd561a9f154072a7fabe649e4523e0a440abd651069296e1a18ac40f2121916c08c2048bf17246f2b68fd1ca2b6946bdac2ab5d50674e730007f107853a49b6da57ce247ae448c8604110969575f694798e849e049932fa9806e445964000536b45bbbb3151bb3c46a0791197904b3a956c152685429031a1bab4843a12bae96013ac4895b001aa24c2d094abe68a1b726097d04b3dd956bc69404659624623a02c2d48b58be34e7a9b7e3a180bcb9ca320043990c65eb9f1183d271805943332b37f43ea2006c269e274679d91c096467f60aa88641458efa58cd4183a382b3a7a56684d9891d0f214581994f361ac9a099b43744d0948c47bf4006fd2a9c6f39d345508d54cab6271cf3bf3268f7ca9534b94c56450b6fb5ae26ba84b5a4d3866c2dd5bac971550592a3cbd223b8ff29f05b8afe1f1241a4808d837a384f16c294aa700bb7a586861f463b007b9132dc014b3c64549e967ea6bc9b74789c48b1fbf269028826fd7c3c631e19a51d77d683c8cd90b15e8386b8f042594d4a08212c969640b8874659d5000534b407c29c1926579fc4173b52cb5964a2a64e28157b12a219686ef74319a5a9cb19587478596779638011116188594c057cf7dab6a6206af0d74343acbbeee285f2df33b3fd47288a0618e025aeb49120b128aec61a832b47386da159ae41efefa2f09e54865a708a5b013f480874b73cf9ce2c1f9cc3a70fb0787e1430a43b8bd691417e14a95178e7f770854b4769e219f1a140d93e857247c74807b9b56361a6e82965ae942eea93257a34861c80aebcc65156b18d1528ecdb67f1ea150af1b50571a9d75fa3e20e116009cbc5dc324b784b10d1760b2bc26cee1319f0848cf844b015abe4165a124a44734d076b26524c6575dd82c47b9a5aeeac322eff7c41cb147fc51b0ab0618059774a0e81e1e98aff14550f5ec53040152486a3f5a3880211a99bbe076a3706b09a7cb38837d2da0155431967c93cb5e1630e2094c4fd9b3a36bc1f80ca7e57c9554377c304ca3d014b1c07a396d0807559a6ba8f5b5d0bb2957e8935c09318485869cf3732a82a4b49668ff91c856146c07452ceff56681ac1d9844ceb9e69e3711299c8079dbb97f1b99055a6acc2b0b2210b1ab4fb222bfb22b53d11be062c541e4a4e03c57a405825ef6ab645a2746471d157b1399c8bdc440ca74b20b8507be463064dd499becf6029e768194689a9e933dfe07049c303d22bb9f5bf0309595954a74c5ffdb874e421b06224f94401eed7405cd0a2a6bf4538ff28b5d9968395687ebdb16a9721327dc5324b954b6bc5db1250357989238d94d9bbc97664c084027a9a5daa8582762faab060971b062845938c1160a3cb774d6249a5521fdfb922588afa4f285ec185a483920bd1b4e9d64b466a9b974f1a1d8bb417e18aa2f9551ec56aef14393547976640099960823908851944a29e2304cd730936bc873afd25bb27465b20b6870f3a5f4448a49a867edd24844d01eb9a164d78a01d6149a06b93c17e5aa3b8a9ea7209ceaba2c29b56ab034b4910b7ffd24ab8bdb985fa623a1979dbf3968a6e62623ac05446a5f18f67005a330f6957699293a2b8774304063b6990c979c00878015e4c64ebab6183c756bfa944dcd000deaba4457d51980ab56ed8716306253f987b8f40b2bd865154c9aac4ee6a0bf395447ba9bc7518637770b48c0149ad0a76bacc4855992586b424348a74bf290552b46428851ec08665961ba36338155b3805d44248a24056190bf492241b9d3509be0c302d9218829cfd22b68129a3df809a207592caa41c973b148cee73a07ab960b191a51e2a44c80bdf0a78c83579afb6613b90a53778c8f992b7d0923ca99b39e27a1b9acf2a38cf369b6a9458c10c951e93957566dc8bb9211663e843bb9f209bd07802c619563503a393201b75b416740b4652ee96264a70761261d93886920085ae8b49012b27aa1e310c9655efd48b929e3b1f8aace72e6a806e3a4dfee0fc91e2ea827caeea95712add3de7978b028dc69f94af608b9cd0f4f500c26b0c4ecaa8393c8c669a8bc6b6652a69b4375c34c7f553a1dfc61dc208e9a30597e4b52ffa87a54b83c91d12a5e9c2cd90fcac2c11b3a348240411a4c
|
||||
Input = c6d552827d94b90902abea8fbb81c283ade8fbeec76b4ed8f0f410143ad2b5404d08cd03339281e1577240d6229031cfad1088aac914bdd010229fe60fd18dd969c26a7a11a0b6fcc07edfcfe350d73759f7a7cd98010a4f99cbc18c98fa35169367dc64a10676e1d3a9de1a3503e00b99211d9b31512082e23a14e01d0606ee9e2e046ef2c5ecd1088576fef242b49e701aec90b1cabdd3524c568b903c90a99f5140e14898e665d0cbfdb402b20b2428a288a1e149fd9de899d5e333023ef38868707a80f4ea3ac7f193ec8be71fbd03972037a3abdba82964bb6d9f538184c644edf1255193d5df6192a27b821dba33f5cea89fc54c997c5ae64ac1ffe3ddb2ceda78a3cb7935935ec4878996613b4ea72c7563657e7d37204fe2cf613e0f57dfb57298f93e688bab7011c4c0922efbaccbb5c2ac4c3bb3f4a599c0dda337ceea942c2f1c0b6eaa9779509681488da0b446de6e6e0dd886fb447297354d4f73a41da30f297086637cfb8ffa716fbef6f054aa6838b9908f62d4f2787fe0c70fd2d26fe83f142991471c184ea7d8ae3dce5e1adf774753b53f205b89d635f18e0043a10db9ae700c89b8cf8a0c8dc160b80a6bfdcbcc3f820fca74205dfd97ba8ad6978f3b0290cbbfeb38c9793d623ec1b821f45bb1b177530aac77a30f8bf5f097c21b3d59a88186a2bafe4f82e55c62790470a91d63473e8af6ae5ea222dbc1f5c92d0d9f698ff0e92e138e6d23b03fb71af2658a767826ee86b7fe0ddab2f4c2e61673e801de9581cf39708dcf38bd7a8e07cd286c73f79681d1dcad834e47524e99aa7eecc3e34371dbc5769438e8a1671d2ab8df11779528899a56e4196e4e08b0063563636cbc77b62951ba304cbd2d58ea335bc5a60b5f7b907f4a3bb432621a0087febf02e6af59ec9beb10e73e8f0929dc7070214c841885290410b92ae32f274d25eb594fa431220e0dd31727fa2fdaaa5c2421e23eb249f8baed3159b43b5a7bd963aea45f8fd2d71416e4fdf0f8fdd8576256c899014c84df428674926bcdbc8306e3120b07a3acd47c196699ad1fd77dff26deca91ed82a4
|
||||
Output = e329efdcdf764506e1b90e25eb2688be4c3785fc61e6f52b22799a4c130f2d23
|
||||
|
||||
# Official test vector 13, seed: "bd26c0b9a33e3b9b4c5d7ea32d5bd1fc371015be163c86f584e49bfd5362c8d8341161cd1308115b2a03b7e5eaddd418"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 58c592ba6b1f0e1a289c02763bd75e62348c8868af98e9578ec1648c795e246a8800330ec84821afe4b98e92577ce801f1d12ac269833015839587727c051c290bae61ac70f958998d04c140e17ec6e64b489c03c6112beb585b6be3198c10885cf383b72a676783248cd3b571d9bec3e82d4d0620ab76a4d3fb1246f0039cb1a34abb44afca47aa46372f3875dca99740e63663a14a229151abe115b0da20609ac576db267fab7e1c0866fecc8104d5b6b237a7f004842ed788211645b82992cf532b05b4a161da8b5ec85f099c1cf5e21d6b2123c10679884168ee018bf4cb6be4b54fa6181d57419f89c2c8f1c048b09538b42114d74979df2b5b3dc589a168215d628910d3335ff95a03eb97bb195d8480ca0dd25dbbc65433110a3243804a275c403a220f6695a81091b8201e5105aa17f4292265c45f9c0247926ac75663ae34206af0cb8a85660568aa5fa8ac202113fd4b702e2bb75bebbb05f31d97686a7f588c80b47a0049a9fef6cb8ab0c6c8bcc24a36a2895462a386768a28abcbbc412039863f6b47dcd58daff916c83239c78273c972a20a213651a7988bc19fe7849d410602eff8838f967848534019b890441929380a07ba1419b1316010ea3e5c9842b0946a37d9616db76d48d0782678b9c56c5e54b45f3ff759a7bc5d72275b65fc0823e382ed5833713cca4cc1b7ca5830b952506b3a9d53325084c7a87158b095ba60b5d9588c4103ab9346d45839c13ab064c77b4a272b6cfbc064a80628a4bff6d6335173a9fd1076f8937f806310a2f854ae65cd23734fad3a358dbc1d74da41d8c42a99d64e531114d2e243af050c76d437d7a64842615c75d97b60008d7d9c01c6d89cf7247df5207cfcf383cf845b9a568d3a19c41eb59cb8e88ad3a53fc3a219fef33488244f0065966d728014a94f44040594c319f5455dd0651c93852af7f24d19a34438f74459134001a599f164815e7b68d8a3cbb743380b1a03d05454f164632b2725c617b5e03b5d3fd80ab8da9d8c546407248d0f3b0e5225c4a836835d5c75ebb1c340a12eff247885c5cdd9d40dc66396c8850c8851b4423a26a35a953a564ac73966c6e4afb5344cc7456ad272b5def6586b639989c641df178b36282c094499e0357bf00b45da9393f15c0d6c861331646747fc43ffeb959e936f9f5c8c1006be4780bbb970648d9935db61cedeac478244c8f5d83910a70bca517ee49b2b0ea480746caef80516a7f29fc6d697e2910dd7d16e9a84b6a3e357b6ca3b2de587019c1d28ea6d7b191f4712c6377b34968c6f59a899ccbc967aaa6a08a518644460fce65cdd1a69a817ce47e26bdd5b238c677000e8109d6c14da36cb44e92ad8ba4b7ebc8f0f4a52b188505ac50824141e3d5b0811e99956165df3b10ab72002e12248c8127662163d9119be0a4473b5ac6c1ef213b95b7fb02643eab691075886f0e0158586c231008d9d65c970e158453b888cb00573fb07be986fb9c45b6ffb0149d41c584b99c0fc41ca18a7e6d23073156d10c069759c7eb41c9c274ac379476d34e0426d650724698c93c54a350a4da54b49f9b687bc29b1a85144d5c8181bc86361d76dda23036c49113ae40b2b6820ea436e9c4a05f7e56e3273b7996b7af71a8cc8e60b58193cacf60827a814860b3a35e8bf9e0453930980285c06cec08bbde83066e90c7e5a0132ec3af6f853b2f70602b870e5e260de17ce690161c81ab0736a66ff349f33b83c36301c933c3f4ff9c9361581071986769632ac70989e9a946095414d979aace7509798999486a83931785d924d79f342a284283e5a7384c882b412b1daf66485218217d919e8d1289515a6ba7c3251d8a4e961c65c76b577574781cc0bc1865a115048203c3f6856cd2320128810252603b130091dc0faccedf80f18247c7bb53bad16541efc9d1d8907b8c48f74a3b9b8141d0519858058801868b553424c2e2b8e2a264199bbab1bcc3f6de35bdfc1299cd8041aa475baf576da62cb23ab58e9f0cbbb59a380abb4f2dc1890555f7503040fcb073d9997121478406cb95b1b882ba5c09e118b60827466ccaf67002844634b3424ce2494b59df5b3c1a75b7c13981a657c1809b2df3327ff00a4b623cefd513ad53ba44d9cca18764bf00472547543507b2dc13f2ae4aec27d89cfa71508a93383de3f402220003e33612fab49f280c0eb4cc0c5f7d4b5a02c3f5bd2804190e6501b96f9512e4696adc4474fc96c0ec0f93a8aec87a9a79204cee2986867a2906eb851b734b8b22b91d6749b1a5f07c44e3b
|
||||
Input = 1852bdd4fea3b69adb6294fa71e2692a81103af62f4e141ffb21b7fb583dcda647d1859bbf076d51f18ca958954613c00af8b65eaac4af4312538b6061eac1ad7209dc58fa2fed2c4d0f68931b8b348c01692b84e6f785eb42eccc78a5cb34f4555312aeef3a9ca4219a72118f123a9ebdd73f602378533dd5338daffed6eff1f9516f1d32cea90b3d613dfcb98afe71270d0f520690542b1b38d239c0502e1f5a804507fb58717ffbef4459a63ea8927f5e1bf909789cde973c88d06089ef4b492e308e233311a113ef28cfc7edc988ebc683ca67f01184ed09a277daee58447bfe7bc6e17f9ac5d3f9d365c6443b28205b998f2849990f47e473bc97b364a46cdd176714bca7a4047f4946ba7bf9c263a7bdeb1eea5512e2bf0c4f48dfe01cd79091ae15a1d2241bed16bf2fbf29862629614b9cc92265443a814dc5bc5f5a5fddcad777d8957f1d1b40c435f7be04b3958d3f0b69e7ea74e0f0130cd9d48564f53d52234701b2e62a1f8fb24745c320748e68ef0e49366031f4085e6c178ea538c5f5d2dd12f1edf9b7209c018a81c84d3b027ceac71f65b98dbeccb608ba1875a636a3528153fb0d80c3135530075f553e7b947d4e58fd3e773dc6e5530b3d796166d7eeb0f95e7c97ac5519c25323a14f27c339eaea739949422bc98c50139a7d735e7a7182ddd5dd5aa65fd873317633937016d7aec327fde5f4f8491d9f85f70666b237de9f7ad0762ec83823038ff121a3b15aa36de77d1adbde5c88e4b1142d56e82f5b1100fd8061d9b73628de372c38444ea645fd63a22c2e51fcf8de1d7023fcb3d08ea491955ad722027ac7ba49b823baea988df6dfc560a1e72fc61f3b39484d5eb221725044aec5011c4b35b91587dc8efa72349720b13f60f6dc710b7a1677383f279f56c87b221a716fcc8290f56b67a9b818241fe0f56b9f9bcfa15f6eac5c53a328a09f8b89d50a1ccb6f2bd2722526f81f2aa4723741cbc4204108b733fc3eaeeadc8957d6e79c337a6c87de18efc956842787ea0ba1a11eb662ff6a5b8e56035146e0e8ae1bbdda8864f7b9849a33d06c409a392518
|
||||
Output = 55ca52096dc335e869b0b4b989020fbdcaba145f9b52ac1dd9453b125dc539a2
|
||||
|
||||
# Official test vector 14, seed: "e2819ef86853bca1b9dee7ee1c1619988964f9a913e635aacf0d96ca6e0300d084329dabd8f149e24176d22757404260"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 45e5ca86479d0296279fa007bc2bb534e7aac369007035b65911cfeaf59ea001534e20989c55a1e1635754e3a37ec4abc944b84e400c583c3819332f01275dcf25365b599047db05c497b4f0f06b30a0372155bc4817ba6515020d136cbd078a9c14072eac938fbc45b4d4162c8ab21ff2a96534b9bd742fbf0a7e2830a204173143c5ad58633f5682cd4080357021c6c7914595b3710f6541ef8c6e54facc11db7572411841c85447eb078c39142cba5041515d02b50445d478ba92c2ff546649213c9d6a75b333758f966f4d9aae4d93b345c00f8c4a2452c88af20598da795c94469f25f57eea21815bbaa8d513acc4da0bcbbc20ed73b55fc450fe807eab53ac574a5684c046bbb11847296eec1a1b86b0be5438cb351bc0cfd4be90558ab7e9bf8f0a589c8537354445aa1c0ebe63661e1a7c059b8f9da11e69384ac4d03f5c2cb09697572b6773963881d12633b7ab6e75891701721c98da722f0550596598d3e6bf1fd944c3d8588d26abab824e6240a59d67340df31461803ca93a2289ca6f39aab28716a91490c0c6c89a1a5a514d5c4a6440ca5f379f46f519348a256dab7ae3ba5527366683a820beda268dfb9a0bcc40b9795392ba5c77a1ab1d0b11a5922d84a262f1407a99043c48796dd840b55629891437c15f28cd6e8247b8b099f7283fbcfb8033f6395c64a916a642e3864d0b6a23651b56e45a5588e688f034c2f835aee5a98d3a0577aee972c7960abbfa13dac92a7a8607b3e52002440ca6655fe9a5378660254ac4b6894a962bac5835b28d3836a3bf6427159691f54bbd0e531760d5325088c66cb56c5174343547661c4bcdc01b5166b61fb5417c5eb8c772e75866b591b07480c8bc5790804c4c13718032c332ab78e515715fe65327922819e8c1a8c160d7b9afca42befd4605ab847a3e5cc5c3820c7ba49531a91cbdd44a25468b29fb26acf587b39a4bde950fc5400f7c63884b0527ea89467b02955e907b5e2ca7a284a6c0abafbd58acad3c7e47807221c18607f0cb5b8852c2801a45b1865c01a028340d1c433b3d3106837218be61c3f46894beb2398b45b26f75189ad2a444f209df44bb181583bbf16a09272eead7c4ae71ca5126798d023187c8399b638310322a0a03c56ae92f90fc08f9630e48981918281dc0e01670dcabb6a558bc2bb88814b3d4dcce2cbc2803465c1313c6ed0199d54b028f4540e42cab21c3016e4318e19b636086aa7e757eb37215219b4c7ab07a4fb9c91da97daca134e45b96920c10fdc62500964975f24920143a6aba278d7195e8b122ede20b574670fbc50091763106d10f5e08c927c5c167ac496a01879d33487cb245d34072d2b05f3873cefcf5337eab68bc069d10325aeb3091631a9d47f09808522a3f38b58a56917884ca3e11bc7fb35d597c57f731abdfd404e148b47c07cbfbd89d8ba1a76633b36d1bc99786602e618c69f9b488acad60d3c9d8704da8d134e66158ce701039e65b2400b38a744557f37f07915e514c10d3cab91aba96ebd62815a96d8a3ca38a7045a974836c60a59a7a0e847937998731d8e06de163528790cd9ba1994388844c5019469610b02a92a9a01e223ca8fa53a480cb5e2f5a7349b372cba13264910b89401d77a58c5fcc908d488331697fa541bf57c267d9b9122f63c2d23acafef91b337a2b477139d094814cc76843325b72b21ea2115515581ce976567d6cb737f44724701338d93b7d394a232a54f35a1b053c81086b5dcd223f4811b02c7a858841c164b3b76162c2bbe574f05a4d72ec462daa1833f37167fc64af9408d9ab2b68d8badb0457c23b25d833c5158a81527262f064c02f319d55036b3e6a14c518717b262bcbaab27fc7b226c545ccea0282b49aa97442113b7b598889416303356571ab2714080503a0a15178f66ebcc118951888b5545f8a77a197e41c1d97a78e923b1b3b79ccc3b409f94cf19cc6a5231e03b114d6aa1c32e3a2041909b3831aeef462bd5797cc994ee469b09f0c31fa86916b935edb155770a035ee128c71919baca31c08a4ade5ab3fa7a3c90e983805f613063092454b205e28862c597743b7835289cdb8dc0a849b742b7838a71a6016bbb9122335d7535e04414956124f8b689e4ba66732f6558c019f4b0b76b6198eb840e77364a99397540e8ed674c6a9538d619211c4c9e7de5bd0860762af2affce80f9c0d66e8ddf2d8a428c25ed9bc4dea70d4d4df5dec8f28bd6ad802d3043a2acf359556df4a2abaeb9dcee945829beb71185b4d6bd18b76e5668f253383a
|
||||
Input = 5f0329fcc86c0331e3587b811255775e16683ccd26f41974f478de15d49f57e4c30c78aff97aa3a973f3dfa6f61e9482dc98cbd51f241424ae1ff2b7fcff630256725da852e48456cb1847613f9c852ff0415b28ad214771eb1e2bdd2d44f56b7229be705de3eb32254371700774811ac465e21cc60dfc8cb3ed2898c3970f88307a501a0b2643161b71f72d704c340ecb3b2bba6ac54dcbf4e4979cee85efa159157e12ae6128f973e451aee791595bca0013954df101e01618b7008eb722713e3532ce69ab3b336c78643f3ecc306df5e36e8351e3463c2e0145a40be12f96f8b7c76df815077f398eb2c28fe06199ab3d775d6dcd99eea2cb1519843540ef84150133c13907ab428c250ade3826f825ec6c7e85a0dd7b157fd9d34252d7e861e9b6acd0cef5f607aebe2e7e8ec99f8367a9c9704c09d516a9e0f0cbc4095a0318b5858dfaf8610f465ecb7cf7e7b63f0baf202c0afc91f87df7d997e630dff3acda7988bec36344225440717baf2047880c3a18395212d87dad5bab17ba3fe7aba2a5a01d032be092fc524caf2751c45b4c783d7f205603bbbc4242c618cb67168a5693a632649c82fe99e7364a6cdb881f8bfb4bfe78b9649b78db6063c42e35e278b08559bae81e0a80fed5cafb70cbf3532e01e64b95c211cb8d623a354a2b0582b1ebac4db870279357054fa2ca26d844719793eb735a057bc251b96d11b0e625f00c327fb3fe2bbdcd355d13270c33e68ab18187746489bacb484c4221051486dde0eda0c7227d577b9979fdeb5f4588dc77a446d108ce8f41e80de072ebfc048ac0b7a0ae2b6436821c97a9f6ed424a6f3e0b84022beb7e892c1e6a0684609e7ded9ffc3564e9d48e069863b0211775fdbc2b5607624bf87b91b7416848919b2de51836f176fa3a40f40957640f2e3cc3249c85ef573fc752508125764535c7574dac6c44481f8f719669ac1ca5d7959fc4364b6060ef3082edd0eeec921cc7f224bc80826e676cf3afd8af4197563a1add237ddf70fe906fde47e99e1c36631f7f5eeae6703b75b83516def250787433d786a9434cf4bba44290ed
|
||||
Output = 24a5640d7d290b1f60ec2d6df54f2d771882ab1564ec2ae66c0eb50f14762a8e
|
||||
|
||||
# Official test vector 15, seed: "669c4ef8a051ce201da65fc4bc34d398ec1f806276fc5d987ad71d93bc12dc8f107b58be6e8422a0795c88cb9a0e7488"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 6be81787c9c02b338ec052cfc9f157654659cd407208f71cbe130bc992b482d05d9ad7bb2672cd8dd13099a9436a0c931d5a30ceda8df53caaf084a21dc450770a606c2a53c9204796c15f35f42a57953ada0740fd19c9b0817f75d4aeee7411e08b538a2b1e3b72bbae400c91e26c92013694024c8d680e3720151778be045baf5b2a5e0e56609b7a48bbc38345f7ce2b5b88857054f15308cb9c676fba001d942b49cc51616b31b0e6783849ceae6c4e80176fca5c8b7275869d3a1c63e3998b5407d09b3378c6b3b6772f01207c460b6c26818f4c8a7ee460120942b46fb685623587d6f69681b34ebff055d31536e2c88baaa86949b46ae88b0cbd456dcab5387ee82b56da856a511481cb686eb05b02760af46668bec8340bbc870e61b74d2258ac99c2507611299871b2abba34989cae04ac81b5a376e11e885ace0aec91d500b5a601b0d4b16a820abc5497b60200bf8691c684d2968b483c156ccfe9e18f40d42fb0c137a6766260315b37fa0250d60513143e19a77ba55807c1991606f4a838e81e0bd99a7a9b8945f378a230c2b1d748baf250f3587c3e9b1f7321a2184156d182cedd426453176d4dd6858bb4017de69eb2767e6c7c4467482ea76814e49049bda8ac0120381458cdb191143a2a99e5eb3553900cff67ade48892322c2caff0990f706cf1b1814a41b315a211a646a191c03675a3a9f5eb792cc6cf8338798a1bb580f25d9c9248c2c8202576857cb9777c1033d425a442b09c285aaba58c82aa840af0f4074f772ef61964468c72fc0356fba3772c0894cef0a7a8cbc1129863b4bab89a976848091aa839a302e52e5ef28bcf51676b450af4591e98ac6d8ee9c3ced0aa2c127755294a0126ae8e3a9f4674026071778dd4103b8a1bd7fb866dcc78a50cb596078ad00aac3a18228a97486ee47fb13691e9bb6acbe755549095b05763127901f62b360e9993477a1744db44cb5350bafa5e8db28d7fe8c4a447b54bc43cc0bccb515b0d01c1874fb828084585b836182a5ba99112a37b1ccf01524787b1b60fcc2719436ca3140a1e516d6eb02c71e14579359535275dc1a816a2b6389130c4c8298651060f57618192540c8ba0ce593784f8881ceb4b7eb91277f5344ad0b1c64d1c655c040c4c430345902675a88051f335510740889a2b2c58bb7ae5c6f8c5972072790a035acc996841eb19aed27ca9818e916676f168cc4cfa21466c693c0239b6c96bc2592fbfaa28946991ede4b8bde8bf242677bcd7ba5898a32bfa8fca4329d323b79ae353d8457f0ee893a514167e6a92db58ad6f84be29a74e609c234b35a5367c41f63a6af8e227e0a120bf8607a4c528bd30767a99bb26070ac8226587603d9df572d1545ec2a043e0344fe986659a24981f4952ad415be5272f1052552d42738141452f353f6399979469c31c532c7eb16aae249edd713dbf00822b09b0d547424b02557d9c793d08321e23580a599f253a4ca5d624fba011709ba1a19008b866129f6a1357e48971d87b7d3ab217642828b5a1ee61bb9ef75291c7c530d4c78b1339bc5361fca9a1a0b2913604a9607859419a915f35b98258959d58a434e801d9c05b1c5927e00c2fead07da4807f164ac483885e5ecb77bcd2bcc80296f588a78f26c1397392e54883fe9c40d6025d42655ba3ba1490bbbb919bcc25180e3fb0346527577f8abe1c401442da6b4b6312989c9665086fc615b8a4c88017917cfe004026979cf8511b9ad53990b9009256a3e4fbb020f7941f6b4349dc9178979124d64c01d62c323493e77289790a247a7c267a9225b7c736f8769ccf3a27e20a2f8d8c72f77600a5f4731dbb56ad36753e98391f2b818151645978b0db735c57906f1f3c687e77a7c12a428737a6ff6a7a0a1cbe648b0817232e238376f7d532c9a069d03b672bd05d9471b827028ff0e3686aa3955ca60b77e13fb47b39ac4c11cc3568caa36574a23ffc89274672b0c8210680ab9d0293448c185c2ad01c3b210ea905b310852eb0db31601320ee05711736743128b446f6ccc8e223a109344e62272aab01ae22335df6cc4a6629fab99421383432566be130cc615b0849a70157627599bb8e9d2b40577b8f9dbbb724f65449e6b7210028163c5bcb489d908c79a11165955030c5a6be3f6fb22bee77051ac24bbd4cc3d07d20ac24ebc047ffe40c4f159ed334175983680bbbd975db3835d9102bb96c089439d5964fcdafa63cd86bed5ef8d9a4b990df05318b5f655efe36f1b678cf4b875108a18db2fa312261caf839f84bd956c5
|
||||
Input = a47d9684a9bd9cdcae50d5c48778f036906d810d6dec1ddbea090afa4c5985b780a56ce10523f2c1379b66e0cff6c307e932eccd8768380201de4ba2396fb92d698df05b1722138b4126a8a4caed5817982bb65689ed43a105a9e77e98cc89349d98b224182ec6993425b7cf85ded5296b01e75cd250121977104d04e318d8eeb1d6d5fe4aa9d255391d9b1a88c5d18f7764cbaec3f0c9b149e04b34905b44f6cab917da9c3e54fab0941cb326605462a86ef8c8d95cfb24002e07903790e7b51aca561251f6fc70b46e2fa5493ef731f9507fd21082f1d872e1dd93db318d5a167f84279bbd7bec9e2b40ddbbe578e993d4d90f3064fcfa18e04adbf17b2d4360ef3d5c9d2cd0f18444183f8150719ff1a347eb357be826edbc51d233dae4b7229ea819b8d23d2d5de9327e0fcf0dd5c5a628be01da49f9d5bb870aa1487742145451b7e92d3af5aa1139cafce96e9b9c1971e1f39d59527b402ccff2325308c48382b2d643d599e0872785f5f494dae7b46c9b2a399c2da2481000d08e9a534377f4e6b84385649a805836a2989df7a1c9ee19a08c7dc7db332260f06fb08ee8422cf1fa61cddb4d3553e7063eef44e52521450c1c0bbadc694ba67c6ced62c62d9d22784aec347e35ea43b87c9bb23b2e9a3651a075aff989d7e56a38b1fe244223f89bef3494fedbd627577c3a1893a9ef23cd1b5f3a72bec59ac2b74b1f24b9379fd0322a5e99dceba173c72d45e5cab3d1f8146aabf7badee600a4c7c11668eca1ab29f025fa319935102a812a72c46dd18d52693ffe18b9739993e9e482c866f8617b9f6d4cbff62d3c75367e5cb102bc70c07ed910496ea56c3743eb360ca38bb06693414206f3530657a479e8b257c8cfc470a15b4e2f89b18c655f52afc1fa4707c0be5e4f09c306c1e5a65f94c643edd6f2d8e5bff0791884bb681414175819329620ae28c15f910e1b9048c3f6cf4bc147481bedbce6992374fc1ebec5bf9b05386800fa35dfddd44912d9a8ed6d5f8764e1b6494aff527c8b09b4cdd935fccf372dc0c96106163464a3f354409f74caa8b0721a83d9275aef2a
|
||||
Output = 6094a57bdf3b74480b29731fdc5f976e0c23b5759275ae236ecaf9a9cb331dbf
|
||||
|
||||
# Official test vector 16, seed: "9debccfe818f6b5204db4ea09c03ec9a19dcf1629c1527685b8a29776bb1daaec45f8abf8f0adc9a8c8bd6e2df6d8048"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 3b701f43760b9ce8668f8025e984c1a04c8c5c334296981f08000dc4e93896a34df946130c91ade6a05317239273f651edf11b2fccb6f092786e52b808c403557a6f45804cf3010cd5b2164d2402e3a6b24721566d2742446b05292a35cc96b297ac0ae82bc3ffb163fcdb6eb71a8be32c6c6827b3b73c557c892a717a867940a10de888fca9085301370b187e65892fc2b30f4b557a44c556def2a261903b7a1156a0636dcfe43dfd55c4b0ca9b17397f6bda2694c09c96c2a618cc4fb23ac1ff50c8986767c6abbb138118dd50869f47b111fbb816c0b3d54682a0b63a5d8344369713dac271738873cfc2861f5232b5e6b26b8cbb45415939c409123b689d0995084373b4d74d94710b1be3908e22b1609c12aa1962009b0e39e31700165953c686ceba9c1dd4ade0c0693b55037bc49c0a74cd61ea2dc890942dd78bee3a6521b39e0e3619b3651b9850bebc1b8eae162de93c30aa8338b8b9cccebc05fd75941856a5c3b64c539a564ce7cac1625565d143b6d726d113272020b27dc984920bbe26c14fe6d0cad1124814026b2b73514882b9ab4cb44d13685939701aea2caad27c3d03274eac5798524c59e170dc071166f07957141cd1f60f63b97d878a676ab7cfa40a25cb04719e101799dbb3b75c181c6b9538b15308952bb15a32b79b794ad61ec260a875b3b08cc87061921b50b796ba26a1ec445e28d138b0574e9e27b19c422e9db5a5a1d1c9b917790c327f337a76fa88182090385e919f02a5a42d8168a25ab81363938ca49df15968a709c23f5ba61786923f01639a0c324d569b8c28b3cf0c1b25b27048717c7ae42985322661f11bb2c854b9fa9239e8862e86ce6a228dba1b89cb3bba8bc2202f315080986d4003b29e8926d91807e0c254714049f6b76b1c16c5f40167e9a4319a635b4bb28643c405c4c381825154e708704e166d9a5c10394aae6a2a9bf5410590c823c6b242e2fb4bcbf88f3f258191472458d65d8768063004c63eabbeace614684377e8756ebe09444d0b56b9b13cdd4a008f3a4c44195181551a526a0a141161a439a3878053179c498735cb5d316103a26339e697af421066f606f0a441154b3855827108e9cde6525b8e531ff93cb39178b33a1c256640c68bb9c395560ae96a0fe148136e162eddf33316ab0a5e36ac34807cf062864bf6033013760cecc4330849b21568993c821f71a80969bc3d4941183c2370424cb87a4a9ddc130f9abf939531c1a2b9068543707936ab827a23fc85787a484d87b6e93632a226539eca94d33c784d04c9144cb837e41512f89f92816609b20eb89752a9f9a96097bdf9a42d146c2d898b990e5a97e6249261446a0b568a765cc57f37c55f1a72fba82e01916fbb4025b31a3d0b9920de54ae54c13fd123466860a9e4250e3447b64eda88ee83777b900a07042dd6642dd41b66d0853e3c5b8217d003194639949215aaca51b81b4e0cf545fbc32916e0160574099610687ce6b66155873e3aad1f5290bb5458d3541bfa2baacaa47cf60abce6b833475201afb67d5197588ca76b6310ce391bac1ab39d6102586dacaa6da98e853ccc5cda46f85a770ed4c50f30b1a1b835d3990e38a98b7a3cc1ea998adad74aaadc26ce206647a64990793a7dc043400396511a8776868adf31ade69b67881704a8c14cce737b5f7bc6db39b897554bd29ac1ea6b3464e214da784791bbb4fdeab657f24f171a3f8d3c66c6b81285fc122ac3cb70475fb295c53783ac7f35ce790394d0f292c5175199415cae0a833704a7c3a2718ad87b68227266aaccf3384c1a1abeedc91d82b8cdfef63259652f4644afee1bc6300c6e503bb63daa23eba4a928f7865470c41b199290c8610439036f3344e9dc8a7f1032fa360bbe6675bc1150d2f8b5b6ebbe751acba137631bd03dc139be84043ce9680f6bf5121a3bc32d9566c38b6623621e7de5a55605a142272e68bc3affa710494b00bf00683baa639cfa6fedc6303d191ce23c072170c62cb3c89bd2bc6c333ee62a4452ab40bc9c23f41803f51362bd9824f6361687901b07c59f83844baa99a76b7c0eb5791da501c00227ced6114785f01fad454d76c94314e7c5fd475b1ad2011f7559338a500e5b1639671424f69ecd6045a4bb0ba4ac9dfef96f1d4113748c35b77f773a101713d74f9609a24a15a20063c8f175e1751c641f8ae2515bdba94ad660ae996986a3321bcccf132d497bb2cb53b6a1817992e5eb25aacce1df7d92dda83e6b2ef4cce08c9134563063068a196d7b1a1a13623e48ae12528e
|
||||
Input = ce1e8a034d6860cf0a5e90f56abcf7c3bd5962b00f758956c4d4e6e925945b25f68ab40bbb16d9c04a264d59f8f3ea75ce4b6f12f77b2e8fe22b4624786c00a03088cd3e8a8df3eea484f21019bfac79cf26fc33c612aa64ca655852b0feee69c8aaa15aafbb0e1f1dcca9990aa48306ebb61c1bd3d8c820ba69c787f7c20c4ed38ef01db897dfbf8ba5039d8c85430b77e03fd15fa4dee094862e2ba0451a70227e504db686295eb242ee677c374bde0a4f6387d9c048788c3a014ffaf2755277907e62bf6b46ed40b32b911530cfce7e232260e80860464d5f98780098a953155fe33f165ea4d072608fa51efb2ec8b6168c9eb26782cf25d6dc7067b38c03df19c8f8c6e278007a60cc077359d90e83d75461bae110048fb25fd24ac0f1eb196ace524850fac7cf999845180804cabe29211feb94d674fd5f0337e059fb03b673b774cef1bd0cbf6d855bd79bef510f6886d1e79fa371affb96ac8ea4554ec00d891ee298d6c73f4ba8f6ec24e9eea9f4cc4650009c9449698e5d5efda743697d2db53198a1f622795871a17e44a30634019020ee6afad497d985c557c8d27a30f637c0b77852cc73df5f8b01d62bdd52839469689094d2297ab40830bb6a086a21334f89e6fa455566466026f62e5b7e04138f43f6613c6a55d776fd25a3706bd8d524b0ffae83f8b3599c72f4e6145ffbacdbdd884e941c701abf1eb5fe9d499b438a2e2e699e9af107d816afc304734f4ce837e200823f465a3b1f250aba704a80a3eb4b02a4d107781f95877eefec2701bf561aada6c0f36082b0154d109c27cb89de1382d84070153801fc4a728361d8d610317421f7220c3a06441a25ca7bf807a3e088e4ea69375aa454ae1de09643bd498f5e8a9ace4ec161fba8edca3bbe26b7962f363244555d5706c8847544ccfecafee82f5a2e60bc27a84cafeec2b9bb12acbd32a38afd91f35a08efac1258c227ccae741e883a7f3f982e0395e01c9cb1852caa62b06809d69e54952d012caf14ca385c0769942792778b7c200b8b3c4ce7e731be77ef3d45440c7bd33e26752167f03d65c0b3566b7af9
|
||||
Output = c798b2398d8ca4a6fe777a74963266543c7a81f862c845844b0dabceedad6ee6
|
||||
|
||||
# Official test vector 17, seed: "8098ae7a92c10f707d405f7dea02c2efbef44efa132ba8aefe81bd45e543ecec74f10920ae48a40b0653d63532517f2a"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = b6f863071964e10991a44ca21ec6b684698e1e292b7e490a72eb464cd2b7258b508f2780d00a90223990efc70d842913f2114c7d844224d94e0b83037af64169fc38539151e082040952645d622e28509cedacbc92e6b9a1f09a5730676705ca958abc9ff72fc2fa9ac55a8da4318cb82c23688455046a8a365b90d0f168ac7977fbfb295fe79c2f125aaca09b70f47271b13a9fca92c5f720210336dcf68be4739d4c5b02433058d1637c60ea18d390614c046262d579dc804c52f3baa73060b9c77f89a58b3ed798606042c3f5357218ad0b4630dd3a6fdf618680502694235579c61886206e1411cacd119333532cbf3b9a828b258fab2ed3b1215c522f540b42a5d0a2f13683d21ca7c35c7775b48b82f8a0216a6d9339c60240140aba4c647a5d8f50b4bbec5c4dc8986d72945de75f76ca3b2fb5ad68746480a2be5dbb298161bd38cb30ec3691089916dd467d571bbe314c49b81812626366ca1144ea853a8a98652b163139e83d9dab9164d97f2a37145d629b02b105946527d01a5cb15a7b8cc2154e72888c12cd1ff8ca8015543a1975ecc2341f976f4c53388a12033ac2373cb26c038b11c2983c9535be20931998f4392aac52df070df684a87241b102c1a210e28d1a64a3e2d65a6cbb9661f347aa33a8a5d0339a8b47e822b9f0e22c01d47be54091cb12b980eb1ffe0781ecf5b0740ab1a58c4f6f98ab100bc0799aaee36a6114397b0e00a823773b09e6cafb74c650c18a3bc0b48102548e3146ac7543b4fa310ef7524adb18baa0c36d195a8d8b096814a492926200c938abbcc2981b677ac54d32ac4ce80ca3716c9b3c58871e60c56cf877442712c14a7df6812fc3679c30232a0a5876d4129029b163d8188a1ed7c40c1134c2dc305364983b4cc3978a44b9593c0de1c066d61c328cc14c5b73f2128add15ae356388609cb256cc4659784d24245c76891ae387cac0645b9e12cf73240f70b18cd4e7ac553a486dd4083a0719223a799c6100a6da9f12d97602b2129c20b515d7324c2a0855781a703abfbfcc67599a4461f4a44a5840709ab5dbf050cfa532b430bac6147ddb0a1141ba8e0f0912d625aca75cb339759e42786b6581952ef55f599280c1d43e86ba866980b91ed82cb404c63f694214f15ca5135cd6195bf01aa885456b3a2790c656611a6b88e905c9e6bb3726159a23f76a11c2b63c957e2a5972fbab1b9be98d7c98b5357404099abf1ed2154ffa4badc8bf0c06169e91212e558874d66275b7693bfabf2cd26e517395dc3010776655d4b805a1986673c42254006988367b91f4a90158b7ae6c02eb990dd8706b95fc163a3c2e7990275679c9e3557aacf94975b1840ad875d3509a1328c37a571c35a923f6816aa7579f28486de2c7618d5c204681cbb4713d7a2197ee0078b2cbb53ba6047258bb32b37cee98493bcac8b4f96bc2f7672a5a927bacbd9f41ad4f648f4da66ce9f68174a240c03c4b0dc94c1d01492b64cdab62af8736082b134b39f30c3a0073164abe56e02e48faac3fa7724d0bcfc5c88f339498d0725108b7b810a17b0a155eb1b08fd48c06f8e3514f3b67738b22cc99125f9420c2575c65f16c6a701629671642397f33b98ff2fb5209b544c930894ff6c2fd959e37663ddd14ad0e7cb086cab026ea61f073882ef799294a3bc82a7f7bbca63ac48339f5cc6eec88a3e76729e5a1af87b0d6f395fee2ac3ad697fb7c338c26cd3f177fe9a043cc7a879712877b933966d8012046bd64f9601a800f519999e109a12f92837ab544ce648b19581d634c5a713909ca039e3ba22f3707945a7405fde260927c055e371f02298e7b714a15892ca4e652b95121bf36adf5c19ce6736ef0616c1ab91ebd84bc4fe66e52b1be2e85722f383eb5db4ede61ad838a4ae5b39692d15dfea14df70910c12a02cb78c585ea3c16990dfda125bf08b410a447f586690d737cd76a0ed84739c6c473e48338f53084d1856445f5195a55c23875609b95b5f8f2a2e1fcad25e2c024f88873fc543e86a3e67955250b65c9b5225b0a31378ca9dc824b2fd52ee54438bcd497bbe7b228905c244a7e090cca4e75848fdaa40ea1461ef68250925619800eeea23ffc0a9985886444235742577124fa110f086f2bbc8afe48c8b82510cc053037cd1b7e844e5282bc225e9d33dd085b4c8e7229252f6203f95de647cf839f2f46b03c7f8f64a71e96c2cccd1dd4a9239bcd8b2709b37b7e6b02835f3dc1e24d0f6aa3e88f7fa8a96067f8cdaeceeac90c2d0b5e277e56e9c405ec9420c30252
|
||||
Input = 59ec42a1c54fee5186a727c43c036772d6a4ca2a1e95c2a0ed4e26d18ceb6bbb7e3808b0f7da4aebf1e03d40212555209d08f4f3165525f5601d71e1a176c87c4a77a6d33703cd66f4d94ca41f3f371b4505a49d4a9a4dc8a8a5afd99194f334605d00af702b501e65d01b9c048de99e5e19ab9531e26ec05eadb9ab3d7a534861f48a94b639a9f010d0d021c29befd39150004df07f55f217472cfb04e9674fd0d632559805b2f8a84302a8dedbd974b13034b97ad8dead6430b3c1a713822535b50fea4f77aa94f5d48d5650dec74172724031538891d8705319f3dc42bb9d8d46d87c93078e9b5f589b7c7017ac29400838d306ed67c9b8ffce5a1cf615670369d89c019370d5d994d51e262ec175be68faeee3d2a5a39d915117093119f9ea6abee4eedd616f12d54c45160346d5a56b1b7d9606b2b5b9d697c8d2507c46c1fb7a0bf73c97da765a8bbe77ccdcfdb4ea3d1fa31fc5b51aa47d1a64239ab7eb7e5bd2001d1cec54d613fc536739851fa9e368b2a3f205ac54e0fdc96d92983800593ccf50a5f447b8ddc12486900103bc8da497f83369438de68414b860dcc04301dd8d40cd1d379a698513258f49d112d581d4e7b6602b8f65f695f6fe870a454b761ad69a26b21690e61c5e0c02432200a0188dec0ee6f260a7178e0d0607760ee4b0bf525351e9391f29f5192d7e22af5549dd30d0bdc67e668d2edd40b029de86f484eea9d3585d0aa965fe6d1e28c587283354505e636e2d0a4e8981fe93806631a1345277b7728a1adf32e272dbd0b4a3f77642caf930018e3638c02235dfa1bc32dc5f3d063a40f6e64601b8b18d69b6059b8e076f83a19227dbf8976ebd55f98a8c6de86fcdfa5c19e7174f6311d63080910b2c9e4643238755f8da3e80526214aeb0cec8f431b5192c8f955361491981cd4b1bebdd4dd5af828929d9d0b082fb62701fbe5199bf9fffbbdea34462c48debb76f4a9d9bbd05a8f2ce89576d417530aa3212cef853668a0610f2e488de8b5d6896271142a98d879bcbe82a9ca862f0e2a4e114527bcafd7b6e4ebbd3d5caafecd65c9771b01aa25f
|
||||
Output = ac574ff532f1cc76e4e7a58f8ad8e276d60e807fe175b19c871d1b8d30c06fc8
|
||||
|
||||
# Official test vector 18, seed: "d5f23808871544e9c1d6eace2028362b48e225312f77663e9f78cafeb512b908cd9e25875d61a16ec615f4b8ff826856"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 7a0c54331b800542b9817472213a42f3f0ca5098b8bef522f5408098246e29686bcd9576654b8049e30da2d51ac1f3305bd97c64869482050d1da097e66ca431f4154dd0512f913395a2530fc827550a494e788c5884284756691ce076a4b8a282541195c26b49c32c62c9b229d90fa7dc1f53881f7a9ca307188e9146c56fc56539a93d2585227a54ad5b344f212148424279204c66fd2826e791cce83336d0623068b9748e3a3118668f13b3be5ad11ce6424e5309bf098799ee6562bbc807a97b4def7c39ae71c0f4672356391ae8719f0b69a1d6c781859c98981a1f418c76bc043be2f5817b21a7bab48abcf83aadf09909282eac65a001e0985b8c1dbce18f03775cd0768516fb1484d5c537c186b3027726b67eda65a5440353f4c34c3c509e327abc7fa5817635b186982c7426a6a7405cf25bb9963a38a52761cf31811f1470a8939b45b1cd97b8a45aeb5547265211e1624f428c430177c233236ab3727a8b36d950c12e643a363581cff215ce350d2e8c90a55cbafa35931b5805a2fa01c76a45c9d82cba936b79ac1ea3c503e124872db6898a87a1e66745150099c3bc6d239ab80695c339325a46fb7f3914454e720dbe970687048b704ca521d160fa784676c0580ec37a1f064a3122af3ca0ca89b411f3eba930455d765cc5300a65c5202a1fea8a8f409b218074d6221af0bac4e675c553c61bfbd84b2eba38cc709d40155acd1a0a99f56e51426ac032c7d31117b27630d1033a7dc84a9af9606f148381194affa3c0c3ab1c449a5e8bb111ad6a7c6af70cd87a19a6a90e6bf16df9d2b0c9716ec2c748ea52877caa84b67744e4f179ffc702f806a796a746c734328d72a778e4123c67444e9b448e4a3dceb3af11519017951fd3b05f902a0b5b5a318f315b00a81cd68c5ce521af7b54c4b153cc07e11da6f829a7f54b4313576bb416a4f3798b8b9ecbc00fc1a03a8676b221ba6bb410cee9d616e8c256dc54a9352b711aaaadbed3425cb587d687333678355c650d7077b5f9a971f424255fb11c7d807ff2cc4f28ac59a565b1d4e1984f5b4f3d59068af459ba29588f1b0fb922219852c143d7c3be4c4f670c6ebb901e2a1a8351a547b0d1b00bebb9e5734cd4615da69b9dcb9a99302c39c92799948710d384027cd4062bf8be536c282302855913c500e462afe75b87a7208f43ae09067cab0534306676398822ec94931ff4a23ce6b3d4586309bac804dc34f54cce17d9949f9182d8a50adf0873651124912aad5cd747fb61a87d42701ac09efc934c146914625c5f2c471eb753451cd8b599201d5ed10d94c9a1537b091b96ba06a2c6da30665d3931d109c7b080b1cc2b82405066d8d37fa1624769a850aeebcd3fa50a9f274bb62809e7063a0151a00d11af90e446dd9b3052c8b4c0c23b5152c3911633eca5cf9408a8342b8e3fc6197a7b25d7b9825843705d4bc2ef15a249f4c9baf171fd5116f4764afda29f781c574a5c65b7d80357316e77b767c5727e3a6695270a2afab91880c9a9f47ac43d4b89f7ac75d2f859f3a0c2d81963479533915b8b79fa69c6f276cc7a993ba02c6c83a567da3627c96c5524255137503ee3116972a84303b1c44c5007d53e6b2b7e9963106fa27282eb74aec8b8a56804d628bd5634729e27ac4fea14af99c0c6db7a5f61a08dd93b794191aef5a7ecd69d58d94467576656111a339385f6fa306ac45e606361cf7bac0c2c744572a987d573938c6502b394616cb835e086d9a214d5996a3fc75bf9c41fb300a9ba84bc37f6657ffbc556b8c2655655e1605d089c3f8f4b3fc4895666b3327b009967dc6cee4ac5e205b705abaa2da70c429c330395823efc0f377169cb3421c3f7b3c9d9959a836db8c2c5961280ae75710688aca8277048ca0ab5fb06197c41a728679b191671607dfb570ac2d1bb85784e3c8a6442ebc3ea2b702de3368fa5071d8c7126208fc1f563d8e197da494c62c435f3bbaa7e778ea3d433b6db3790bb43790860dee44ef3b09255c984ac7838a7354cce3ba6b4ca18f55169fb92b4dfc6912e0c25929b312b93113a2876ff8265a8c72db62279c2f326b95b10091372d1519f637650faf23b6a38afcd9a14ed83568716162e23148f172a8112c6ab60b70ca59ccdea23c51405d1522200b6553f7832c4faa6d99d5df82d16afcb00032397c74a7e4555c33707246204abd035f25bcad20e4ee2d794895e77d234a80ff59177ecdede77c1264e4d79184f3029e1be4e1c0258c3a22ff5b50b2674cc094ba7018da2a61569845c17d26f
|
||||
Input = 0f73fa9056098665843e7e548c545413b1129d3b8e7f606055fb928f95e1559ad4d70d2be97524c3f74f9144a6cde91364cf4ae8311069bfca817c63c1d0991c7c14e89235b77ee92c30d46d0aa7575456e523a952dbb1afcf13190422bc938a6b02dfa93054f4c8475d09e3406928561b07856a26ce79054603cd966cdebac5c5b7f194884cefcf7b3f0f70ee62e5be74a5b41776edb0cc9754430e5280040d3c2d59583c55c4dd0b93ccf4811a6aad8ded37da4713497381f6a703aee73e059a124fbbe145021f00b180650e1462aee96ba1796c38ec4e1e95b5c9e7ae0aa5fc22bf4ddae65d82e70c59741e76affe32777a0a59409c59da087985b2bbb69e4dcb5a28e7633fbbcab5619dcbc14a8a1a76c37c379a845278a2ac1ef24b4f6456b85ede5c163e3fb112a4f37fdc45812d1ffb35e741537b924530d9222c81da55b9ba6111395745a086b0b71a0cc89f672030b884359f2303febef804a80c5792264973d1931334149243dd0e52c02d6b486b57fec7500bd87620b8d4fd74c1a5ced268dd81cadbd1d4ad154ce2a5871f5b31ea5ac7b31021960d4236c8d16e631e3915b5f0093bb063eafef5531a2352d7a0d3fccb1de74caec9be4019ba5f80e7c114fca3968718f0851a28a34ddfd4a67f4a7e4ac188d5903ec154d934b2ac117bf34281ab83ab9ec756aa20c363e0e23c0292be17694477fe6d1aa5fe00bcf0766a1aac7550f49c988570dd42c5933cd03463fc6c2770db946fd4849dd93f33b4c0bc51ac10e32d2162261a67dfbc2fa3912794e727af3d023fb32bf20ffacb2e4c6d3db985d2673b9a0eef49b64f28bf12411c4ef7e8971609bf2eb313d55a3fb9be8e28f0a8b9c6c98adbb13a4f25ef1ecba0e6f6a328dde562cd4f56a50f818082a8f6bf3e69c0a89ad44e89f05557fe3463d1b008165999ce7758e9689e9fe1045277dcf796bb40040db242117b849e4114173c312199ad3ac04acc5f09704b22b4a2a9711d36669e5cc7d0f701c0bc2edc8a557ab213b6fb475de56123e72497063896d3f4685e7c607f626eec6e2023ab196ac3a53a8706098154
|
||||
Output = 1bdc185a6a1d872036e8a859f13ced91b38115c0c3e642608c1cb6c8e51f4a76
|
||||
|
||||
# Official test vector 19, seed: "822cb47be2266e182f34546924d753a5e3369011047e6950b00bc392f8fec19ea87c26d8021d377df86dc76c24c5f827"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = c825066cab0a347bc662d0680f8674cb09433263c9791a80257c083d610caab034a59a686ca4075d9c191cc60183ea150561998770acd0309a3a250652b0357005a44bb1b2df1836e5c46be9f0148b4a20356277dd36abafe7822fd74b34974e420b7e4b90c2f1e1800adcbce1046720f11acac70bdf2bc393f901b6b8981ae5b2baa4ceb27303b908d0ded707fe94bcf06a210e590788889170c65a113c9f88c461d2e7b9f827ca82c450d9481ada46ccdb1c7d54a347e2c78b0b47435ad22023523bfd0804cf40894c17c93fd7881f654a7a58a7b32a462d50717bbaba8622baa2c2900938aab6615bbee01653809624a2a50b947ce39bbf19e8973d907249ba2d1b475e827a4b7e4cb66db24a4b34b5dcb767b9404dea3b0a19187b6af0672cecb89106bce6e71cbed42acffc34c30a8067952087379a1602a549a137b7b29b6bd2bf90ea7bac52ab504705316c420f811599c4875fa682afe11172678b0bf0922c837afec06bf2699464b9c923a538e697c82355cf94b32fa6f1b617da1f690a9b2ee330da1b3128f3194c22b102ca990407a859843ec2f32d8a4690a9fba85b779d3e6ccd7eb0396e973dfc54314063aec32a69a846b26721375b9666158c605e7c7a562031ecb3c39730a057aa0e5bc91c5255936b27bf999c319df3102aba7eb2e7771256abe21511a35cc98c8ab7eed12977c84174b6300f2a3627c4bb0618aa2f7c9374398fbcc441439258d27556adac70fa0cab55e062657276395b5d70c932f247b27c1a6d62c5c957f20c6ffb0accc36c09bb2d758276d96a974af758c1e78f8ccb25808296b17bb6d9c71d01b64844c8c4b23ba2afa8c86acaa2d1bc8a66865d494b342353b6c6296f5ee896ab958b09cc3caa91169028b4573cb590841107740d41e80b3bc51e47017093e80204763294d86d8304ca553226bac433bce573b2e011532285ed5510a9656583a0a680f995bfa19bdc96c4cdc4aefee2336997ba7c61c414c4797180af4448c75c4b1f8046bbbe8244225b6e49a50a35ac9050c447e342087df336ab0b57c388306efac351b3119908016e4021b10942e2a6c91bcb404d2baef6ab317d47b200a76290938bad1b3d3f2582691a64940a6937551fcd8850c886aeff163b19258d4fe3c92e1568b0010bd28c870c3075cdbb022468420845b6fbc98869a75df65c90db479855429bc7c71cdc1cba7509cbca7435ee5672dcd82c676c323c58ccaee17c9a8153e6d3a753979978b3c344b8cb57c15a6f16ae19e840d7b12577e20f2b362535974a9336165ee6a183ca5b18c4b5b520a2f576657f87418d1b39f1b8af04db37b6a94290ea99e973bf60b64e552430d4f701d44abb3864953d874a2f4cccc4a7227dd94d9aa0a9f58bbb19d6bc8fcab974f4a41911bf82fa756a022233a83105aa262f628ff4dc59dd1780bed683665628ce7905c2791b01453032199df6d898a1e184cf15404b9068f8d7495dab359597bcd953c3dcf36311143c4573b6a55c9422b672f41569bc2a9d6f851fc770375008b5f6cb6541793417ebbd142a87efb7cf2f681d1061c6d790101b8a672d162b549846616a67d8302ee3955be1c96d49c53c47b67755c53aec9744da615d25c43dba4bad3f0b30767a9f8c0b1210a82fcf750c575708c887b6159c102035a512765701c305d90a83c4f8c9b0753924127ed1142d6ec52a1f299c9efb5ebfe0071325a4e6bc3cb6b67f1dab9c3c023a84d4813af0197d0602fd56c4072b4f40c63d36f01a1999bb1fa42576a66ca3772f6acb069b143f2d05bf59701ce72986f9a85044780754e8132a6022b068c7d0d167cf94c614238a433c8c78789b19bc27a8443a576ab0ebfa17b8867d63e44e6e6324fbd1248c58bb899c8a46721d7b555ca3592fe69c7ae1b6c30b4787afbbbf2599582c6a2c5ae5a7dd81026f07c14433438659ccc100545cf891982a405e6346e0a08ad936ada0a75c8c103f85471a8d0b7b608b02a310b6df343298fa2ba4995319a1477153a8fda06b77f6afd5152287533a2284082ae8498b547373aa84a68612bda8a505d1adf374bec3b03728d3840294527e5b0f009d3cc5850262d654eb759b458bc6ec0c4678910d544089dfd34006597f2ca3b93cb058bf53a0a12c29cef911edc8219d5c6b643f5649eef13332d62a44b4eb56db16d2624bdf0e67ef252e56b3b3c65a5e1f55aee1c0a6256ed51c5d0492b2215a71c16b6f0eb9e0a6b346567c6b381c0ec046899a777655233e4e1b5ca44e9afbdc67964bfd5d5e3dbb45e60d03cf
|
||||
Input = 73c7a09d567d826fc1a30ac7e2eade43524de7b9687b026350631bbf00a4bd284b60590b0da3cf2ed79ac4154b416996a958e6250facf958f67768500a920eb4c5d5170eb0dd6adfe1436ac5a374272dd00fa8ce23b05a950547ab4433b5ed16ca46d2bf7fdf3ee893bb0656b5ebe3a3acadf2b30bb10de7a8715b623f7218ed438adc08166dabd53fb9e10e7ba58afe5dc27c98a29b9879bcff776b71136850a7adef29869d6947427c4647d5f4ef1aad5c34850473bf5eb320d9ee584e81159ff5cc0bb2d0a8b8832cd791121ab8f18d810a8f919ec81c7144ab806cb4d180a7cb3a9b67868ccd506b10db5b00d84e22110cc914b2cc1bfe5dda57a5702f1ef5f2acd29681911ab0df68b035eccf8a38bc41c318940606938c38ebafe475b2f03d73b2993e82a4069a35312a85fd77267f968c085ee65a2eded49737b25a0429df0b8dd73cde2bc7b571372c94e9131326c3a5857e918914a3660d970a07475ffa3a62dc76a8e34e87a368c77cad9e9576de0f3a54ff093f2ec228e14a1710af04c202009b20c0b1687b69fd1805021626690a5299b6c7ff0b3930ed9879f99b2b27891c281ac91b87adc7e70d0a0cdbbc7913a9173818c5dfcb5399249ec23a2ef7c9f877e57ce909c1cb42a55251a5980c83da4ccba7009c3ec92275502724b65a8f000179d0e1ba2d4bff4b8ae7beb6d8a453c59f5af1145b4efb7e9115fa1ecbad04a548f32de8b0b01b156aca9f9e98625a4f37350a69c7836c7b6af1f8d9312abbec7c10ddd023102e2278cb27d1abe7b3733ec1fdf56773b74d28899ac05b994d57f36cea656fe0207e49d2ac9bf82bdc364a32ecaf03b3570224208105e58bdab65848ba06125f359d1e302aa62f0a973ff6d3d7c04ca3d4ad41e7b02dd95bed3308d3d1f336dc79411e90592998fd3ef08327fc25b68777de70cbd597f764d1a2ab1f7b7765ae54e22b8ec5004d7b029f188b8cb572cb475393356728a91cba069da67172bbd9868f959eae308d15243acde5d0513bcf884f9a989a2914d33cd8e839dcd95478b83411a5e9df1374dbf23d29cce3cb3d36c1243a
|
||||
Output = f3bc901de0d6680cf84346aba78b5f181e4264db6a0682c04686cc4c1189e50f
|
||||
|
||||
# Official test vector 20, seed: "81401db81138d6874e91b7c11d59596e4ace543f5a3471b6fb00999221765fec3ca057abe20f03b2d59003375fd71fe8"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 842cc25eeccd4fa8776a22cbfad2472e90af86738c5edb4b2ab005f8e303e154769f75b6d96b2c1d074517b11de796426513408c740ff1a554a3b8260b6c16dd7c8a58d6c541e2460e087c6187632649c119dba50978155614a40d99903de7c8cc91aadbc405788b6b1a86b2676415c1791a40425155052d79a71f50713d66d3093a9b3ba9886ac4437d72d80bff058319e53813096ee24a193d739fa2f281ba3065e0daa82a08b3b5c113ebb488169b6ec6319efa8632091251de1b7e1c3a9925654e6075bb4e161c14078df2e92359477b0239719d6107e9235d279cbf92f1cbd9062b2993627f0851a2831ec6f2bab81197ce34940266b28dda4a88c215ca032e8d4250c27148cdab9a7da6c7aa0b4e63141b0ba3c7d71a49d000b002d52ea04893ced8798ef26be3c3248936affc81ac6a940a48480acd7b50fe70701e5930c9043061bc9c44eba1a73677464836c906059f077f642c4a38138939d2c66227773c163e7c61989622c295277905a9512da83af6d57ec7f02783fa35d2d805d2c1be68e92b975b04eba9c610126314d30fa9969a55fc433dc057352080640323456424bf207e68dc977d899f027a71833a2969732478692b570a2fabc275fe00590125ab84b22a5dfa43fa123e9498a98de822c0c79a25329aaa35bcc9c885385074ec2469be753fabdb9cca4c437562bc8d349fc8e3ce08975741cc32ed140e65f6881ae8bcea5aaf893bc5d1d3684b29b6f76793015cc421b047d6393a8f11943ec641934104b68456af29461a51b4fee891e23520bbe25d58a795641c0288ac4aad3a1838b1444b309d37c48aa061680e7b621ce25cd9b3077923b883143cd09081bf38961c20ce15e0114fa2956e2b7296332a120a465fb05791f0803b4a96d2d293b610cfbd944281a14595419a4ab06dc735cd3312cf8d837487bb5bdd6c4dc662799c0a343f860002ea90c2d2cdb002202db32595db343ae2a38f47abaf22723a171d2e182bce1bcbf585a1e48c9dfdb7a3674ca45129c67e1042da1833841ac34c8649a05651166414bff3ba6246a1813852f0fabee94322803a3a83848e57d28b6c87bbd18959ba7095d7a796a5827295d4a39848652af31ed0eb00aee4bdf9eb938e964cadf7ca0836c379bc7480259b74624adb55857355c30aa740e3173420659f9961a2d859887996ce3f897a96403f578c7335ac3270a03a3472c0a5bbbf4daa2c765625e76b7581fb9c5a0956394bbd79db858a527874038a28cb8e3b092e1ee1330612067bc5a3c4ca4e4b18cbc5cc007b1554bd0a8cacb054a2e61966742100f39afaa0c04d8ca98876b466286318405b366070c2688ba4a9391d71a8ae14378cca83f6131669704429040f067cc405051d740aa8e584428cc310129c8d3fac011142b76d836d570ac3904a61c58459288acd48f19717d98393d691435562a25cca2dd929aa35b5762114dfd3310937aef51cae7f2a0f2fea8db0bb349d1866abca3fc6ab81279663d6c5a7e3b91ec32cb610dabaf7a9a61538b2ef325bb096704fb71197f0763ed3c5594944a00b05ff33888444642be62ec213788e65666d03a5738b5d615387b095a82522822a7b2ca1f55718729885ab4d842331df14434568bdab1392d1008209058b145266bb878d368b54cc1b67fdea5aa929c268648ae634886ac2c9b4d01255cb3fc16a74804718c4a60b84f84e2dc375d111761cc9376b0909b703ab5b952c5e7463112bbf74f5b34b12bbc09521758872efb9544d560be015c3eaaa1735c6b0cd7751b4417e58a3162472805d29769d87881c372314c48dd5ac9d2884b54d8225772bcf5f23befa480bb1957abc217c78724b2c221a35bc111f691af1c9b968a1a45756b4747c4543074d03d7663fd33a1769821f266083fc758b986034e15d375103d162a865d978d22b719c1439e54a518a08cfc7f149b195224c5947dd2b99776bc3e416902380952bc6b2ff93494449a590ba09ac870d515c165fd81dcec70add4093b829639657a84e0b179b0b62aada7f0bf0ac2ce91ab1f959af3269a6039fd1628c06685d25bb87e721b49b4c8d1c862585acc000e333d1a6b88a5928a5678f75c232466c4c2509d045f5905eb7acc3e33537849ba028560645bff81aa290ab6bb9e56a60829cf841c5eaa348b76f51155224ae68fd7b3b522dd1cd4cfb4da58eb34e438388fb4206dcef1444b937700ee59389299a5d57d73ffb8d5559e9be2ade61b8b795696590a2e5c7ed86cf2c5c2a898662bc9a81418720bbb632ef9cf0b845ed052d73
|
||||
Input = 9bfd534a244878dc51df8b2dbb6a2da6e71f87b0d835b38c84c712f0ce54f1032aeafe3a372fbf6e59a3f0e23a8d4e739ee7a883d73dc827cf53a612c3188361b97a9e9482d18dec8d6d30d6de82b8f6a465324ef60b9d121a5adbc9b2676e57c066e3c651ad459ee36bf6b4c5827c0299dd50ccd2033997079b3f618acf7c0b0d1dbe8f2da27a8bc4c4388d221c5adde7272a961277ed26758575588a86708c0b4a6ca6e92e1177f1bf7abab4276faa9f7801190c7a9da8bae00d5db83279ab79ff3b0605705c4b70437af143cf9aaede52fdda449c3b786d394bd808303fc3b99f9fd340a8d31223ab9a1aa81f99a8273cbfdf883e7cc0a1102758fd6618710871eae4b24ede8600dc1d0a933c1d6a107f0c6e3028652cf7e6b9536c8faf2007c2954030ad92df51560f00d0f59b60685b34211370f3daa34bfdc62c94ad290ab4c3d168b2608b1334773f8d66f1d14271de7ebd9be188fc6bf507c66090b5b3f579b9da57526e4e040cfcfd9eb2acfa9ee310fa1e039c59b0a36c922f7f23d66be98f7e51d29cc7e0627d8c48be7695e0bccd9e0cb68ae8f4f24ea40a388212d4bde88ce664db46cbeadf62ff20d167a23398481d0b6724d8579bcc7aa62268333d86ee02c1700603fe7d3e482e6f43d0b17ee1294d1c03d78429b93e6c27566cc7e2d9c0fc4dd934057d20d6ab9d64c492a57708223833b951f93fd9574c2a433327694c9b9f24d67266ca7c6153fdc8cb0f8a522045ea14688ae76666bde9b70f1090b3d38345c65fdb414bbc8add456b258778f743ef649a1c5b65ed27668c5d5404d2656396f0fa872767452866ba12bac8906d3eb5719df0cc337312bcca5d2529786c75ac347afdc9c1d148280fbf0ff65174e51630c68a81d48c41ceb364dacd969e734228f061b76adb7c61b0c9aac8601b792d4b019ed6c59020c1e5493c9e3cde9cbaa2567b0950124440739da32b1aae140ae8d8b443754bb641b1ef17d2090d792e001e08cb1d0157bc6113fa315e047c33f59afd64fc7d8f78024fa6c5bd6308a8cea880bb6861a80bf9c0c71d4739291a4d9137de4a2250
|
||||
Output = 61863ecb6b42bb1af06b83263c5fe95c66032597c924369858b530f11ad1c557
|
||||
|
||||
# Official test vector 21, seed: "30b5de5b73681ec08aaa03f6f2d2169525d25f4042a5e3695a20a52ca54927b85f8bb948fc21df7defc3910b28674994"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 522b0005729214626e9ef86a1c0ca15c5495b18469bfe8c868434123f5bd4c7862ae8688c8fcadcf3479053bca6ce07cdc975810532a4b1aa73d0482eb6870e1013954142676899bed0c39b2f7b2be864e71f110628855f4e368804c4d3ed70f6238be7a058cef70a650277fc7cc103d7c9334532b0c365d3ddb6f08d10d16c35bc2273136d3255b2887e01bb9edb23a96cb1f34b538e4d1bfd9b29e833c344c175b4098549ae1a90d63a0bad8c2764bc443bb3d6979b34fc2149ef40b5a1a3840d8076e9b64a9588912859c497206e1c24c7f5b4193d784f0c491b9dc629ac84366c85cacd35ed0994f34a2c30f4977aa9265976259c3627346f31087906bd5c723700b5ce56539ca258aa398859335166ed92ebf839ee9289a1620040c2c490178c3d2b621a38489dccca8c032338b8501bd0aa6af21bd2c679c19e19e9e4b3b8a029ab8d64a8b6c3be5a1ab6ecac8de689b4bd1b58d8a2cf3856ce51980165373645b7cbe8c8be296450e19721cdb8c28933d3017b7ae9489da5a1d211350d2723412e789bcd26b1140548c824cf9bc4038b426901aa39f1a78db88085a2784f1a76da0d0ab9be92e495b2fa1592d9279bb161928e1777a8c30af14a420623849f302935e2b2762b809ef10ca32c122c071625af2a9d5c22ad0c3a6c8f7b6bdd896588b0181024be9a69931d1992be272ffa598fee49adc0a7255e637bd0563cc4c8752889aed367f59b85ebf6896a269c2e1b54971153829aa2fe62a38e187aeef5a27a3ea13c524547c6cb8324bc511873045c78157f32da84028acc68e40836ed8745eb6f36c6fd26c6aa1306f304daea87ee57b41a0b891ab35256dac010d787cffb45a15098308d7b7f6b08bd2d46bf8e5550ba58ac7082b01749782a418657b889c175d13d5adb31a4ca61727d1a016f0d09513c96c6890cab8d6340e698bbbf9205445b88f055612757963664ffa19878cc46000b855d23227bde6773e6630ef9b37d3233efc38961e4a68e298b0bf1a987b082d1c4623b5da24bdc64168abcd20c81f04a060737318ef33ce27f12f5e3710593c39146ba9c6c325eb36bc68c4ca64c6c5ec8974dd00707da9712a2617e4d18746053be322ca964076d0c4bef355277b7ab8407014933140343210aa7400038c06fa646345a001c362876a4a73ca849f5bbb440a250a00f4007dd005b453919b8bac61ca21b8f45448301fa0844d3140c2d495beee956d28fc7f524cb8f7208ab6b57ce138b3a50a703b4aa596f0672417b462d54685336da5a889d85acee8f7c92e7967ab25a4b21833cf08bb7ee2438bb7ab5ab56a57c4a57b712c9ecaab6e89a40d9b5af91a378c22ccf72448a2a433b1493ecb1921ebe41a0022968c821f2f418c54b797a72a45e3b9083d9540dfd23a66c43bf4255bef3c51cb90b77b97c034e083cc00165bcc8a4d7aae78f871d9f212a0babfe992c630d55af0d88187fbace5f716b95373b55ba7416cb4a6913ee2e5895a7b0886f606212ac72e4898271a5cc3cb9da02b51b5f68be0bb8f7e89c41a3319c6a70e477b376bac2e14516a7ea4412399c0fd9a722ee3ae3b0813f9074e78b84ec6f10ec679cfa976233182a851904bc9b54b53039f696c0a5e955c5bac0ade5537d0331576c4b395b6b51ccbc20471c0f3343ad354c8f05b4b303b571b628a202058405221d2b9552579340041236f2980346a15c596826ed199d3b0ac66552b3d5677017898dfda8758b8749d69bf0b06c9b2e256c2524ba0219948363f7dac591b09c532aa85c773b31fd2898ec210e495407b0b6135767a1a52c0a970c06b29179455140c555a8f21364a33a40297087b1b40324b6371a13b4e8654578a16671406ded7337b7aa27ccb3754f14941755de7f35138d7672a210fef2cb724d68270bc0c32813eed955a646a23ae64418463783458bf04a7a388983981542384b7094ef671fb782d2ec7420a87b95b6445a4c89c85830dc7340c1e859c0d34508937bc9acb7d87055a3ea8654e2857e1c371510b7290da83b3b2635180a1cd22c85f3c88fba7237e59962502195489ab3123cbd8cbcda95b0a1657539daa2bbc9423fb771a945588aba87e36829e1244c7ae0868ef338ca0821ac80acbd8047b39756677f408b3049bf989111c2859770b04de1d7c6c2a165e41d9a1d24b44a076f92ae1304d582a5a28d8fb82e3eee2664eecf79082f0a70bf91879f04d701b874e718a6f80f251d986f1d448218e2dba05b6591121e25d64010c25a18676033e1d7278ac5f2d0b43a31f3a4156ae710465
|
||||
Input = bc5715cd0fbeaab8bebb94aef1005c2c3032a3fe018cac00f5a651174a9b0b2821f10a5e7c34748dba43cdc712121091f150b0f85f24d183dc56a4b86626b3812f8c3cb2245d5ad437a489b1012bb913a6c96a4b5c68d2073a38b7366370824ea419de541d657cfef12e5ab81dee674f1b6a4cae69bfa13afeb8357209d52ecc73faa43d91fcc8610ccffeb23af44a7fc3c6bb91a62543b8350f303880deaf1cc0d0035f31d677ede757da6d4875d135505be9b43560f3a92d5a1a3aad1304338cf8f6ab967af839036594596b7610b4337c52c8c1ae1b007dc4dc7849cb3ae9b1b01f5013ecfba27db3147d47c8dd96c5c41a0c53759b855fdf7e43fc97b824da23817b83c40d87d2aab42038826e9fdcf52713f2e8cf8c5318820eb97f13e380932da435f9fa890c4bbfac3eac364f918e73ecc4ce8c6a03d417fc1e2695e54f64801c1b7c31851a1dbeb0d1f6cc229c6919a6fc0fb076a33ea7c7241a600f083abffbb9af8d2f1ab8306b729e392731a2c60f0763cdb5e5ec03cac4b72048da2d59ac3e1860f33403a7ae136765f0c013de088b6b1913154858a48ac69bb10d231f342fc1800c05e52ed02314728bf137396b0b89c539f3744512dcc50e348310e5fcccdc3c84665aa547ac6673abb090708208df3822ec2c4d22e843184cbdcfea74d5a6469cc4453778f75ede5cc756b3b30f133194a833abd7a029c1beffef5ccd1a227580a3cc6da091ac84e5d5785cced48ad45e702f4fee0adb2c755f99120c0710e4114274a7a895d2b35863c247d259a1f4ce67a7d9ee1173c34d314a917ee0727f55dd20ca029a0691fcea497a9645148286902c0d160a6631bdc44074c20cffce7ebb2ff3b44796fd25f9c29988e574ae239881c9d26df6188ff9ee93cdcfcbd8c3d85bfc7b6c0162156df7d3d0bce9c79ee94d1944b2c259b0bd1997924a0742c4f4a46a1401933b434f7c054aa21b58a4921da13837e7259ac1f6f07c9aa1e8d2d2e4d0736c39c5934f5e14473a394fea6814fcb03155f0b99e76f5dacbf7e748f1359c67af612f923dff3d6d60bcf8cf4aabc2d96b286681
|
||||
Output = f7a6bfd175be93e079f6e9dba996f887a981b3e4de71401be391a6b3bb083beb
|
||||
|
||||
# Official test vector 22, seed: "e335df8fc0d890588c3e305ac92c7160ff199e07c85760a828933750e3fed8c83b0dbe802234481ecf890a32d7a2884f"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 256424ea565d6067a29e90b46741874f21bb488840ed2468ef6a81b20b4f781c5a65210029a54cbf7934cd1592ed825bca541d18665e63973e3d55ae93aa3ad0c07a7179c80f637199e2c7f68c856a70cc87c18ee749c27b3379fd8048b237c30ac72efea74411a9c73a78b20c125a42984a6013281fb3cb1662ae5de1cd0521250a4c85b83378e34b240eb94a7c8688b89ac3de075b128068be5cc9766391307c8ff9c889517b55e509b705f095014bbe1cc9591e532f4cf60c14a6136fcb7cd5481247d4105835c404db593cc3ae2dd93295e417d7071b3e602be8ca7067a15b74d4b7c8c2453686cda9a24100a45c7dda92446b725197ab3b7983e127c56cb21d8322c0701c6312f4797ba72026d07e2a3795205859d71c53bbc07dfe03ae4ae76a99824f519ba64ec6acf50a1229392e195c3342950853f76ca838bf51d60e2c3a7a79e806303cc9a03b61b3669257c1cc537c55349a0c6350749756733b627388c944e0766ba717a5541b78ecb9734666a6fe1bc5b763a4065628414455b920b82e7782bf3a82f4813ce0515234818e52a187c7546f30c7434f1c85d5e22f37612763375577c66d29446aa0da48b515abfc330e1da1955606b0a6b6b20b0bae5763beb00a66a5e57fe9a79ac841390c790f5257b2760c739ed7630dd8c7d174b26dc44c4c93533ed838b8949e2549adfe18cfe893089c201924a34f2478ba7a893b3b597130468b63c26e4744164431567f75af6a6b2f264737be4c116c7c5433095a64972bff53a02dd0942488781be05cdf85547369939954ca6f9c5bcb0a8814f6cfd37a019d6b2c07639dc6924fb6b622f4297f9b599fc64b25ac7b45f4690a7be09addd7af9c94473a948588f1bb47d61112567d1ce3174e7466915343a25088d8d36b1c664d300960ec74abc20b38420a718a490b9a4ba8452138bf3c00f199b466cca25a4b0012ba7f22a202d77c49264ba91ed68175d077d43b2a01c39db243bc089730ae111d327011545592c448041e6602bbc2076738cb4a92afe485ccac640094633da7cb7606f2982f0958b2e1b515d5c64241b20312996a73bc103491321a9eb8e93664713f005c95d31b970d5c695f8870452626cf7c12da58ce767a9ae222a2715429ae9c9511b7867211afa11a1bc92c7d009739365cb863c114efabbabcaab9fb3373ee878b26d2ac3f7854a1b49af4c4c1803180b1ab5fff5784b761b2a84bc490011c71a8ba22b876f7f289d4a3a5bb77b277644f686706f48a9dce6205b8923cdb23b746aa3169c0150de5c2f7fa32bb143f74eaca22cc0913aa2246ba12046b0c066137830048bde386b6bbc2bda113ce81017ab82788240b5a3ca7992cb98e857c20344f8f012d52041887f597c9ea72abe5602302c83cc33b04a94e986a1745d8af2848cf9ee9c57c7815acb4408c329d34f38411cb80bbf408fd91723b7cc7105880084412ece768724c48b53106b1950f8bcba150c337665748be1336ac9cc042361a72c4cc0460a0f021a288590531132fd30a6b4874b9c8c20a4eeb52c65a6155747e4b2b93db32a5be91c122d8996051c65a412a0e47b275932ebdb434979767579b0108e155949c47e7664f5d3a26be345c27b49f7b379675ea04ace7c9dcab25c0294ddfc5b886a9735d582ca9e8cf85cca8f3008693cc354c7b73ffc58ecda015756716489575edd9525418b219372e64083ab112a9b349c7f7f8748183727b4a91bae7254b1606cb072b34465b48267451ac78511a51af4160b5581075aa6774847710f97e9d40293e45cd56541b32591f73b71eb6eca8f4059208fa8f61c76a66785d9b4219c4f07d967331a6801eb41ba377770655f364b8336dedd81ecc51449beb157fd6cf2fd01e7b16425d1a8c21cca768725d85519c2742807e25a38f156249a08b79babd4e331898ba0ba0cb59f62b03eeb2599bb00e5311b46bd4a5b30802af668bb01b4897f6644d16899abc03a6971f87177adac2c5cc9190547c67acc5abbffa1da8b58a7f593e70e9174ee111f95b8d72f81cfcd292cd39254389c13377a29947cfdc38008c29391c9a0a92a187c7b85b742459aee15200585c9526c2427327faf0813c9039b3f20a3587c69ee204e8f525c1d9aba7cba32be33837f043c25128ec5561959bb95c36c62e01c8567e6c38ebedb89d920f0044281bd48ba98f0fb15d6f499a2269ccb0b82755814de055067899e6900234a10b223ae2eb0c5fc2cb6dc80c14d47676eae84d11c4528382828f7a689a0d5cff87b8ca0bba97feacb39b935a8788cb
|
||||
Input = 7a7b0a9d767840ad6633a626907857972d4b8f517c4b0ca5fb3cc07f3c86cb8608b16cd81c23502e764b2858547973559f6ec15fb24cc3064dc0c91be8ce06ea6072a05c4b077230d7bee371124b91b8f84e00af09d52f7c905adf9c9c8bf4a0143528f7b619b4e1d770baa6ebdbad99d5f95c2ed10868b83a34c3ca36d166ef5fb595e0d978adae18bc8201395dd417fa874b6ec7c3e5f1017d8fad8ebdfdaa687c27bf13941be7a7e002889ebf7fc327f4d1265b74815ce3a58888a7d1fb26ddd01bfe4e13c597c91e5bfe2f93aa10a9b6b8bd15e6ca29c18f41d1207327b94af868c099fcc806e18be1542b6546069b89e52404fc91619f5ead21b9adedcd99adc3f18bbc6a78b22c58de0a7c3cb14af7242c72f208ef8f9804c0a45fba61f5ad5a06a91e4fa6d5611340a3a0a5ec1dacc748cb6d6633ef65629205ec16a5aafe39eefdfec6be87940ffc2c5180681ad51aa64920d20d9565d2d0965a64ea6d22df80c488f9a42e20c03bf498614e5cc68853f56cd12aee725faa0a34aea25d7006bd174dae9db1c4ecbb9eda46b7dd0bd0525d6e233cd5fbfbf7ee8d5f043f87006b681e332e7c89df1460550d61271fe8802a40d2ae200b99b292a866d1a0bcb570e74384336e0cbc69777598ae092e6f497d913787fcc98413fb7aa104bb66346f1ef760ffd1652b24a7daf13c692a5e9139a7013cf7c18ff5b1affed1b2c7f2f569d4dc3f7e0851dadf815fe813bda24d25f23e76b276dc28e4e0226dac8e7af4792587a3148baa62904c68ee99e06fe948368fe02f0b6e54b82ffc4f5150e1a326033d763cca1b4404eaa67bb7f21d7483a980e2bab7dd371e0fc1ea7754ce9fdd69e1235c8aea4fce9d0f7ebccbe60de5e71431cf5a3da7b96b1769a8c1f4943547fab9d8b18c3a7f84a502c971d9da2ff3629ba568fe0fc93af26086bf448ac5be6947c2ee6a73cd07f8c301935749d0335cc34ea913e881068f783384b14e42460baff9995b044270c8b4de81e6183e7f737da70c809f1a9227441110e7a05931546b5acec761da6cedafc337ed9a65b09c0d68ade832291f3ea0
|
||||
Output = d9a26637ecaca3315e39d1f2a4f84d2c861fb6383e3f6e6026a7622209ceeabb
|
||||
|
||||
# Official test vector 23, seed: "fbea1bc2c379f4f8fdcb0de260d31cdb064c9ea9b1d6dfbe91b3692add1d34dec9c9ffae7bf5e72ed2743ba3f9f2e43d"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = af8a1c4388915eda24bf1715e956a1bc940c5e83892ca9c3530b44143376a4fa4287179c820c0c1eda19959245b3b3026f27887e680abaec11bc460c88b9cdc772c169246170e62e5efb75ef5a405a71a236f66434d99753cbc873639c801348a52b7874e5782316c3e0469157653f024940b1e1888527b8d007a15d86188b92317f06549f421562a55c9ef445591bba12f34ba8a79bc6550f01f3a1f14ac9c4888477507814272dbb75867657af1fa9cbe385bc13193372205611502a664c950fb9aaa7082bf8d53cc817152ca2630e6022c6c8746868b5c245899b381dcfcc9efe162f0462a5842a6a2e99b071ac54df993395781b971b14eba53eee3a1a9d55afe135ceff34496335b40c71846d5c7a5ec05495f519c8842443b09938dc6c04a7aad69c56ffe52db152c988b7b5f3832ea3d8790b931813175f595c4e7ff7a4db4832a2d6c8eec9bc859a83d3dc1f1f1961ebb8c94f894dddd64ee6a51b09d76a6571b94204b6fcdc4f00a46d736c5c68a88879bc2a54c81dd9c86d9632a4c1bc66d31b5543d069804b5cf4f60fa71a9a2f303d38b34a52686925f72f4d145ccabb2b5808706ea24963d572e5376f6d79a5f8c4cf6caa5cd6f61c2285766f39cd1f50b98a16a5cb76cd9260923b7bc324bb06e473cd4580551ed3a5de2210c4928f41e35aa6b05150c75514f9b6643c11f8623be58830801b438866ae5a1b9ac736ac876c076b4b8f95a5927be7c42ef6b529b68b4a415fb09ba73cf2281c761261da4fbcb0075aa93659c29fbd9cc113eb98e94353b6aa4047a3b240d56b5df9bb103a3278a5470db5190be7551fd4acf3c571e8d386842b2b6e93b4a16702e3d94115117f48d2489c57c9ab45b0a21c3c9d23a8a89bb1efbc1f260b6b1ce2c2868a08c7200362f73adcd80fe90a4faa7571f9b065d7c4474e844dec679828e0cd13945dbb07908d60414a667f610ab80b566319e46585c8547036c7080015a9dc8e2e80c9ffdba846cc384037454ea69fae603e8cb9b59fe9a380d13cf7dace3e7511edfc81866b799e21812f1c98d7b24d38511d5949b405b6861b40b44c234ddfca92a6d66664d071c33c569966981f8bba3b9909894931b5b57892bcca7c8baa59fc1098f21489b5bbbc490d7c777d26430a66534ac58bc152fcb38428b450753737432f7cea571f953473160aaa5c0383118c3d1819e2e86f00fd0ba048cd818736020b1d6c06a13efb30aab032ca83156ceb8de8a8399fd4bfb655acce0795057c22cd0bba6d849e0a16a4c7e698854601206496a8e324ad2796b3404d321abfc12ba63d13049eb34e9dd5020d0bba46f61a37c6a2cccb7587432721546c9b298ce60cb03a649b659747ad62541fb024d4a2b6b8700fff315251eb3782d3b96e766002d9a388baafd013716b2b10af8737f8195b7d445a4dd1977e049aa0f76e56fa14f56139f9f2810271268cd35e31c8431d551e167a79a412c4ed115e84f86d55f70bc7045ff7646456484a2e4bb41d300c18aa332a8a55104c0aea0a7cd8b0cd47d5855beb2e6f651d575a150fa8109a72b15caac7bb6b9770d68f50e03c375c5524e545af2826f4b756a962b5d9457ad45554f51b8688eb10595aad094c30f72297d062113f2a6c4048318f4992ec56c6cb6467f96a67d6c6145a3252008082d728aae7342229288779f6a9035a7d4834afaed13b7a2ac10a111a1f8146a057bcd7b547f6176ccc1a5b5de283aac16a79dc116e83a3d8430323da5e26b03cf443c7f8719b1fda1bd735ab2f37205afc430c587544f34cbd01b0dd940d0ad02e6f0cd000fb6c55962804171abde47507013ddae041fd21a5e00b04a2373aa8a84047416042ea1481437f35bb5673359c2f0923ac04ceb7cc094b29afe9eba2d537a0b8571c7ff24a154c8506640b9af26fde822bf2691a4e5613565b0f0780ab86f259d7e4b1d3c08c40dc88c4b52e861a643e7709e764cb90e897211492d701205c3272f8203fc8442b50c00014a6ac31317272b5635fe745df10b95d8b318f95cc511c2b06fb4066a66397d4a313898ddba5b1d2b7cdb2694004e4731dd6000ada66e939ae74c21f7cc6100b4bca4811235cbb2e53f40ca367b4b013b73ad34acf761bc888aa02e05741a403a6f84e92f2487c32799d6bb88a6d53cb07a06ba579984b9d396995aaccd3db98e445624d26b0955b17ca9825934a0337d7b76ba83dd05a4ed818174aec5065993db278552f32af640097ce97fc9ebbe336dc464489861db8253606971bd0a9008a433ed17752d04023781552
|
||||
Input = 12c94d9971b960229ac0673798f39c6ef6b5ec42ae7bb887c4149a8e9b510845fb33bcb87aa33b48565002b3331d49701b357d9c1b3ac3f1febcc00e94c0bc0c9df5bc652e365b0f5ccc2db5b30b19b96ccbd31bd04c446424e9e0d9f1711662eca3f5f745ed419d4258d7d1b986be74bdb25795de8afa97a1aa3fa80b902fe19de4f8c1451f6d910e5fc3f280cfd79625dce9e71b23b0f9b16b50fd88e48f92609e8ab373f2f64916194000d80a8c4c2c284f6c88ec310cc2f987e06899d23a5419d1dfaeb7ab6b2af9a1961c6f90436665b044b1374bcfd170be16112151a65d0b30c1ece048eb3ae4af905444614e33f65e96767531f7a2960e341d50049a02b203d9a3ce2b98b343e1d2437608042bc667115699b9692dc8c297163c60ce663ec922c3c64bbeaac0bdfff7e370ffcf96a10d76fba939865f4051fec05d8b333abdbea8ff1525dd785d8ae6099b8044c63543cf6ffc3b9d80b605da6766fc1489309f08bec4f17a001979935e4b486ebab4f152194d125e049ea0ba6731119eea199dcc5c8bdafcff74176cf1f8ad2180289ba9d8d4c4ea29aa62cd499006c3a527957228319c3dd6bbd2d216d4704998d8e55521cc2012f1d2497fcfd5af2061cfb093deee502180257eb01b5b1b324202138a4f2f5bdb6f4a288b674bb0a727127eec43f71812c77be7e7fe534616e21068d5334fb4912be1f829e3e8dec2ad744b4c26b9568e8b494a9b39961fe1bd26ead5ebba523cac39114cfade6aab3a98053cc93b4eb8ebc870fa702ce6f450f5f661332ad8dc390c4405ae5755369ebc420570b818c05774b9f5667a049f2553beb60fe3c24b94f4139362862e328623219eb28660bcc31d9b9b7546ecddbadc59cae1e1095c88b5c053f5d9943479f58de1d43ca68aa529b38cd667addb1d34296f9b56ca96910ff619d4da56a6ea64608043667edd6df2ce6aecdc1fba1d42fb0d54e4dc77f40072b9f5c188959d8f8b659ab80440111e682627f46c62684793696056629d3f82b0e41b525f828057df7a57b0f2b60a4f993a7f64cd63c9a715c5c3afd39f05cbf613732fe2
|
||||
Output = 287a28afc86b4294ed65766aa77af1c06de1811b859fc0edf5d32b2e8d5d178f
|
||||
|
||||
# Official test vector 24, seed: "7e87fb886bc3c7c9fc12569f465d2ecd12532e76cc27c65644c8d3dd603b0cb2d036c5974e675058f271d5c82ad7a813"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = cef67f82c5543af8cc54d92a92ec63db0327aed8673fca06112530857a4be4a483ffd37ba7ab9f2d140692a30e184a8c342962827970dc875c449c1addc21b155645e5d9074a070f156a092036b4e054addd943b44e359932b27fd5190de329649a84d998a39cdc83fff2973bf46ca82159ed03325d58503245b9188026673c55fd4868d9d39a9cd167129c227c1485fd0a33eec9bc2537abaf8ea629a0358ad772b0dc44c6156b800b952daf0c72bacba7b6206b103c792d4a2b2006e89b04ffc45a9873c98153047184c9710012ef5c865c81aba798803c9588d3a273d615431f00018fecb164e8c1f83791245941716bab96b5292e632c4f56352321c3f79187c49cb6f0ac852868988566b9d11f87859cc9ba0e53cc053931592574f4c24db886e1cc989c978ca7ea7baf632a4ede872c8567c8aa9132eb5b909862cf953044e0795d4b48c1b0b84c06a89fe1a28ab23686f99c7f470587831906b325ed2964ee22896545660e35c8118bb4de6682e8a33337c2304ef98c6ca7727ee0b38f865307d263c64dc0d13f85b88fb5b15c9583944772c05b219430c8670605db33f32033303636bdc0a58d3d90826e8260d56c1911a9fead6c5acb04af0e757cd762951971906e55cb2f924fed5b8214918b83bb53cc68715879c5730733b1981652889a2a9377773ba56a74ecce29d6f3508e949bcfbfa2626d1ca03bb21b6eb19bbab3a9a8724e6811a4d6ba09dac9e1ba57d4c441cc02ca6fac7aa870780180365fc81b3e7d8beeb1a296954367926bcb4d492a891c986dc45a3249af00c011d386305eccfa0466f79442e6022a541091b3dc06ecf676eb9a731df273ede7c39d6f452a4f89c52c92b7d143c88c334c8b3bd645b8b10c837d67c53ebda12b4ca93cdfc08371a04273c80e546c052ab0075f145a42170ff9c6fbe997fe405966348b0014c58123186cc8b3fa1e5360a8bba6c9c7af36744c520a2f884a2c4e0467f1379b3abada558263ad8110fe91fe67b47e43b7d982418f2b3bfbc59a97f18857c7c56d755b049d2ac51644140331bd6b5866e48ad25c92fb6c0a7009bb5334c30d34c850745751225bbfb93a7ab086682f3b7114c3e56e340f0e1449e2606beab34ff58ce6b036d9cb0c9fa444de705720a947ad24135b11a0cefdbb79b40b820f2c052c435a14c3acfe077a2532db58513c2b377eec0cafb924db9fc9fef5882ca8a3575691de656aa7e5a557eb9014e7748e639a86ea8cf7ea95fb0c7720ed20582e90da78a3fc9c6540fb201c7177acad1793792cb3c5b61709759047a322b2cca4fa7a9e660545fe3b455861054944b67da08e60ab0abe132bc42b8ac18c31281c6dd26a6187663b160686af920cf7c5461a5a60ab7be2b8b293861bd4074517c918afb66cc35286005218babd965b514a5c802c77f7c4fe4d5566f8b2e75134258797ecca049c49997028c349c680ff8d1a60af294d5073c8e0621ad4c82c18a4c57b3a66a68858c373cd46b6c399701e6536d7c0b4b74e94693ab9340d46e3170b045bbc643278b06aca3f3d43faba33eefe4ca99074a0968969ac13366211834f5556dd30413219e466b3cb26957c534b31d53c51eb1a8a272a5842a1a23827c4a39488335755e1389f8a548a52c4dff958eaa4c18d273cc4cc931eed176cef9266d33379548bf77408a2b29a7b19529fe0b46f7d32030a478221414105991b96ccf6fb864359260d847c2cc8b3a1aa936e12bb950c719db5bcd01d50f5ec46893632258532239a0a3033957f410bff51b1610c5adb950494efb6151716715b64b835b35942716c36c8c06c96b4a35a196e69224345fa15c50953741eba718355c9c41dc3ec2d0268e830608f0a06bebc789ec01988013ac397f0128a9a963ad53f644c6886cda9048bcdb610332910afba5fbb62a454696a3fb50aeb5c6c57520f79244d549a8f4002763f88dd23bc855f28796ec19b47a4a5fccbdf84a17f5d32aba83abc474a229d094101c3640615efa75a0e2c3b802a24892bb105513cc25776259b12720f6081be43f2dc13a8348065a7b1202165ba4ac5aa489cae7a08a074358ee33c702413b6d49bb41f52e40a05ab9f008d1f82f16ac514975b356c1258ba4a863a88b0b0abdd70b1bc99a143f414bc151b6147bcdd8a0b54992d7b5db5a524f2b160eba5efb8b0faace10d492d25e52c75b2d6632d8594fdab618acf08669dfa36e80546853fad47833f24e32ca38b8010c1f78a7ff8563038aad865a817cab9ce98846ba75be9363718ecf5fea538aea90b2a558
|
||||
Input = 7809278764d2eb18dbcabf9307e9ff2e5ccaa958091d63853194adfb4c42e9b14dfe1e7dca178012fecd4e78205ce75eab76a9bb5d826c26907035aaa6f3ea028ff4fffd3e13cb9ed7e9e134545297820b2a22e82c2fb2934965cb3ee15fe2b73fef1c0719c45a01383940862b777a075fd69d9e0a19ef82bc3d38c145ed3851bff3a1f43384e0d57aa8e7ac7f406026fb72737fc20cb23c3d8064c1c2e616ebbe47c807dac0e137aaf5a9109f6a9f79af3b45328dfc2893fa9658618bfe5bc7cabc274e34bc10d557d86305780d06cc95d27d41ec66dd008e76aa4bccebe51d922870d2c5df544278f9a3bed7653e019a0d20e2a15ff7f3b219c5a539757c571f77ae6f85a224a7b0de908a036f883511247bc950d1c48c800d1b9901cb10c7d5b826c424473f80729e6b5d38bce714c3fe5efaa73b1b16bf771b40377cb3f5461cbaad1b00795b37771261b4a8e60596b0d3c84bc78ff1ce8c7b78dcffa7fbb1b716683e68068a2c38f63277152b77af824b3a215461858f1645cbbfac7b73e3c9eec0e9bdc8e28a369c2db882b453f71c9feea42d8f601a99b4ec35b67cb6f60b1cbf8e7798f6d410edb5b1186a0a0c9c0c84accc2681001d83612322af524c36f5cac1d9c667349562a311ff0626388813106c14e7070f76c3e4b32683284752d2b173f6f0dfeef2344a73b1a779b18d79d05cf77a139d2bb4797060b058ffca31836dd8a43e5803b9d9f215e8a76ea01549fc0570509456219d2325b150bf0c71e5861261caf24cfd75124d62dac65881d426ccffd58605b3dadfd4dc8ddbaba504ffd032d47efefb3f328fb6eb7aefa98075e5d6c0be56f96915af36c04c7c57f7456ab434fc0ce0952eefd190a99b0a6a795e9de3c7241370d0fdb65600709512f0db7da59b8d70ded0b6ac19159871260ee9bb4f8412e007e486f112f25d8af58304bf096f013ee98e4120693851d8814102595f73f73f5bbb25f03dc02813369ecafdad9818117b643395b0728d700a7802c72918d2ede67fd68c0df3e77aa61e4b1b89641e40fe4fe7cf53e40ffcded674d173d04468cd46f0618a
|
||||
Output = 9bfdfc3572dcfbd3a7daa91cabd1458b9548ad62dc0f1cb27406ff2421046282
|
||||
|
||||
# Official test vector 25, seed: "ad1424e804f306c7ff513da4c1e8d445afca7bc942fac5c0b335733aaf70693712ecbde26ea726ee0f9fd9d52a83b1a4"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 179438ea8a02c30211fdec85c40c7f22ab2eb8ba8f50e0c97085b49af6a70177c11a030d13dc19283cad3af39ad7f94e07ab1d58a8474335a2847260f0337bc4396595148bfd8b19bd988bccf274cfe4b6d74a9bfff73a205c3419f4a6b81c1c9214099b4454925c603bd654d1a03492b88a2c8b65cdb37315b071b940a714094c12788ae4c90def5131272001476c1fa5bc02f2bb60a7ca4cfef96e3a61b070027aed7b172142a48d6b299ab81c6ca993423b610577a25b874e6c702659081291aa1961061a1a692fb4c933c1c73687104158a345e8ba185ff8cb4a4c7388562d76e21b6bd069afc107918b2c46512f0615635d422c73644d9d92041b7647c7f6217678784b45cd72332eff2c41d17aa5f9f99cab5a4a7c81af9ec7aa4b9463432561d3e116bb694d6e290da4d0037a67c5a1674866b21209b0c7c841a895ebcb3ccb0f73c3335c810163c5ad88e97ba775cd98a1a9f40c0d875b6496eba03589b960da62c168439fa24539746c56fb1e48e56f99228b3f6740ba1bb771755fc6c1b7ea6b6492e8523d541b9ada90796ca1ecf21ae884b10b841af4c1305cb0231530115ba24348497a1cec1dfcc8ac14b03276020032cc6390d442a25a5e5b7c8dcd2757df96b4bf34bfeb4ca5b30cb134e43ddb39560e0515db372125f870f34075788c6cb76c4af5723ac1d518aec54f9bb86b7b68cf6555c7732299f124a28421c91c80c2d95c3a73d833cfc22a72a79f25d1b62e10824b70962dd55ac92216a101ba5e7c322d045e2b82bc6c1237d79c04370254b3f502ffb719b5c6bef1e62d75974c93521a58231fa16931bdd6023a05b32275a9d753ba0239885329a1886c3cd6851c299a43990844e460586e66b2ea3ab8c0b096855840779205483a8d0ca33565c531e65b5c8efc8a8f6a30c88c715146886fd04656452817646f36226a33e6ce78a342508394c75756d8f20e85d78fed8a03bf20299a4653f9e44b3f81377f4412d8a82ab5802dca91832a918eb69560ef5c47c71c7ef3ac75ae4c827b22b642cc23f029677a59b342d612d98b73e68691dd3ab73c6b7641fa2cece37862706cca39b1412bc60823b1b60996dc6c6c70a1868d869de542506abbba79f334a200527f2a27832c7b9e3b6d46c11d765cbbd663b78cd933e0e8b0e600cd190b005b08637b6087fb5a65096501b00cce98a14a45f2a654150e2ecc3b39c0bde5e8033583a0af7108e4f50c22151a54c6b58fea32641a0c41d95472e8c64ba916f6740b4022071bc1928996bd07bc1b91694fd92918e99c35b2ccc74bb1142c85922a95ca37f14d9e18985ea54822a616883a8e6815ba298c300d2b02cdb35325c29dffa2cdb1d470cd254f25838b4e80268529544c4200c8d4bfa55b8817f90fe1c0b3fa1c3c61d0406f87cc62cb67def2abd08b098301c0797b29a891a9a0897c19a825d78a6232c86ba1725bee63382500299555a2221c1f18f3c754833633569940f28af9035ad66893b5a706641812a48013ac19c438f5b0693b746a8b841857ac22eb916a0158b2094253e76d6cc0b990f72ccb407400d140159ca88b128b511c9aa390094529c78215b9f4c9777e923097178da73b559bc04b95a190ea0295efd89773e14ba09485d91aa364768ec82694e75aae718b346096c118508eb7321cb8d44fe256bfd744913ee12e85b1017357032082471204486f0ccae9545f291b5c8756b8cea56d03576864c263643465b033a5ec1bb1ace7552e920ed546b9a8b89157344d41d7109bb2787b438b8d61bcf04b1bbe174ddb612c74653e1bdc27c35bcd8c95b4f51aa9adc7777a55464fc53c42237d7768bdd5e367d6dc9094faa9b777215b4293d0f9c24da673050b4b514b61eb75bc8423b13f4c58335674bdd5505ada9f80d78fe36284124372c3b6ce3067bd9f447bbfb1495fb236ffb397d0b21f40d2192f81b1b0a19c72b80be04973bf28897fd37ab7a467f3358224046119e2bbb52c5af5b7220dba420469c51457c1cfd67e44233da16908343229ba607d3890c3392c476cc43505e0154c03c584938b9e2b3afe6c7ed9cb7d8d6a405157c6f5eb672fc601d12806bf03b58d23a1dd5346e9884eb896264b7a8ed77125d53004734a5dcac3add7095363a3238be65492835da03469ad8f370de3f58a978dbee5904979e778231a08c3d738198bda89bfb25572a061d5aa695ed35bb69221a107c73d8fcbd77b3380c10ef11a9464cdb1d7922b33dae1fb7456ac0aa1b97068f452cba64ebdc138bcf5d36b0a0fada2a3b374141eb9
|
||||
Input = 93fc9623db6b194fc781a7b175685323b1e39010c54a8a1db7656a850286a9d9b48f8dc4d372d15d999fabfad0b4edabb85bae8b6f3ca264d9f7cab1bacbf8b2fc663f8b70f3a72c7d23911b3f75691ac358053df039f85e6af7c6b2b1361f2db5c5a2096cfd87d88798f812f354a56db2265f0a5bf013557065d154c44e769f84f6b3a87bc7fe700f5aed72474b330d85b5b4b4aaf542d5ef4a275813812989e4ed75771a9c282c943685446c65953d064e9c236d9be5810e659c3b09d85d2eec178ed0019c0bede8df801a543156354855f32667be29ecccf279a500eee33e8bc861059abbc538bf5e631fd7bef6a07caf4d890e74052264f2c1ccc1b72f820459e9227cc04b3f8bc5d523a59018bf83ae045f98d22fb6890ce435e2fdcb156b13143582fdcc36d4a6711683047ba2a2ee69f8a8f76c95bdef095fca01d86cd865bdac4462515d458054c0ad7c8ce287055e0420c077ef8a5a7b9855ca88b82cf51232cebd6c44790cbde8502581a67fd744ea7bccb49d7762d0d1e5077d5a7bb59940b0679e28805efe4ca43143292241f64ef865c42b077d177e7c1796690dd4b64169a8c6712b9b068a7b8d2c15a936f0cfb642f7aa1a0f9bbcf7eec6f901af48426268d63603f5882b4b778ca3a781850dbc78098930eb590a447469e3d277b0ada7626928871787d6edccde1624e105cdcc0189b52b1cc6885bba78993ba20a6598d0630d5f043ac3aa0da96fc9bd2d77c0cc2ed4eedc41f92771de5369545643035592c2c675984c84e8f4fac2fad5d188e31442c9c6d3591b147d72815ff12e1f091651e6e53d649f57d14c4b69c07671b2a0149c6aea27bd86b0bb926e0ff799f7fdafade50cb687933b8d81265661b7568d65419bf7872803113c7032898a5922ba879cafcd68d65a1b634bc4731aec2cb602d234f309e5bb7ffc9f4832cc6ff2aea4b57a124ade2f4a9a650322b45c53cf54695488720ca8f5a25f1034a831949e8f90cb5d1042b993d47ef48f60b1e19bdb643926498261a1317294bd417ff6918e06f79b2167c6ce74bf2771a8b4c49c710514828d00e29c79
|
||||
Output = 7a9bf279089ce02f4da09a3055c7d8323a9f5880d6b6c0a07cca7d8d7f938e0f
|
||||
|
||||
# Official test vector 26, seed: "7c33ca0e987226c8524dd56c811fa4d1ccf9995b1e4e4dd5b1481974e88cfabfbf6787775c2611cefb27ed4403ea9b46"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = d05a593e768830c20ed3017618f9431e458136046b0e628e28f0768534c05ad0505c0746190b763a474ce40859902499d3c90129f339e5431d2f09ad33524b54c869bb1444b3999aa38aa445879932a3869121ab3b9893daa03e78e97c66ab5c164164d5d76cd936291df35cd4427439a913fc248b42343cc4e0684d72a5587a106eb665e31730d6d0c9feb348e775c6e1c2679e69901ac126ff21bec38179fbfacbce7a94b96a68046804dda4a1a2e132ce745c9265469915355c9aaecf212d6846c52e1652739cc003e9c77fe4c011092266e2ac4e851424b82956c3a1979521342384fba6385e4934624ba956c25a068987fee81abb2933d1e956c99a731e50ce658569d57ba6e575313ce7cca65a777c3aac3196a6fafba5ace7ce70e292df498b231878ec6140701576b9c4a2e967b68d7558584807923c873f7271376963830a2629f1b9d10a8b54d445809c5997875b0ed7294ac8b9b327ba19471336e6bf580b3d5ba423b7613c94a309e4518695205f33112ea9234cd7c76786d2c07452a9ba4596caf64207b97c70dac627a49e0e1770b70382e3a26bd101c872daab395455b6c4ce780831ea51318a47807395789147acb93039c197a32930c29c342f159a2692cab3f21904ec580f1a95b22242a0093b5a8259b8ef68647ea8b41a280283e05b3fa4081a6c882dea94bd0a31c182ae87878e883c893c085e5f470adab0a3c70b6b384b2faa23a415e72f439c12e7e1b97bea49e7fa04baf923439888688718005d39b400a64040caa1b6919e116652524cf6065da4137e98359aaddc9217f170a5bb36cb42bd2bbc0b76352d3ec08729f121f972c92040c9bd40c887d48d7b579b60620956db202f87c9d552776719681b4191b9886feef292f555039c393bfd48129e5c8eef1a23ebb4a91b040a205258a724bfcdb88c82abaa320b8fdbeb5193b7aaaec6c808674d973190e74c394ab3b73ec0bfc7446c09d3b5aceb65d18b72d823683bf5288a55355fd5ac89e06d7069c11e46cde82819a7f27512348f59514996809f5293352960ce7ae84748c72e9f5c6dcb39cd3ae13da17227933522e161a994825259c03ba14cc8b160bab55606c9e1a4b2dc5d8b328d88f80c9940cd3cac5229b16450135d09a220de46455d30bc7032236e285d72c7b2aafa0744864ffcf01c5f6618657b18a3c6adb7f282d0263da916acc2e6af5884cddb19303df83bf650cd2f941a48bb83a698a615642ddd81462cc8cd3964a066333eecb679c2934983957979ea7b57d6394c48a30fcc22d0d215a95b54a915414e602269a409e054852bf545092606a0d04244518a82524ea6873b0cb772744505f59c710868944d1a7847e6cafa392e000042c546656fe9600bb665923b9e48c86122b46483b1211e30496f6b82614b57a5d14d737675e82ab6357c73ece96ca7e7ab2cca9ce2a558e004cbfa94cb5b9200f8e26026943b8803608f204276957bc8d53fdb682f82a6a372987e60692b22721bd833a0f0ac6b0fb073c0fb529e442c564373aad7438721a563d66c1ca6037a04a97b0574bc9c9d07e95eaec8a49dd96d2f623c6a0706691015fee61f1bb23d543c634e8003c16bba4f61b0f45a3e4f98c63a01b2e40a62ccc7a326894391255ce76492cbd83740b3b88abb2bc1093dab2956dba5113df327ec45a3054aa126438157bb710c44462af97595329f2011a402c40795346f0a72c7bad9228fa8737b024575eb72ffb0b54b4490aaa779cf4321834238c0565b132365a5e051d0065b60a84e0bb3cba9c97c2f20cc0c45a9a157abd2b64b0c2c9e9315b3bc07aaa39549fab613b570b08bba7b68738f39f586a9ab19fd3a6469d9bdfe71af6fe02e655ca7a43834096437e8c4cea870ceb5d99a3458065f2775d0d057f7875d8ad25b2e0708b4ca2f91e82ceed7b74bf2248c9c48226a68aad9bb7f7985c5d11435b2a31b842f354330d01cae78577cfd0c3ea6a35c852cce77d3055bf37f51088e15da7330a53fd3bb5e19484772372db1886dd682125f19a39b858ee8940be32c1a71e9a718384133e70094d3c05a47939c57379ee3b9cb297309989e9ab3355e215f58445e386a2997558f35905d60b85a2a483e4ee7b899e8873b796ecdb8be989723493a4ecc1358b737aaed88f9f77904f8718055e71a50b2d22da6762bd27f2adc06594959522fe4107ab0a3984fc13ffc6860669994565b9344de9c6eb081e6e4e904bc22b9af2b98919da0c5da5f195b80fbb99c2e8b06926074f3f604b3f6195b5a5b9737876bba72
|
||||
Input = 23b02aa6e48779bb87f5fa51a685f8f0b956994c06865d1ac67261289c7ce0d71f15797c3ff04d38e39acf80eb910188f3f4fbd46b15c76fbea7215d1f2ecab52988354e585eca8774baff948f015fa4e72d8a55b95ca54b58fa188b74eb2b5e41abed7a5073e3cad804cc7aa8d5ca1884f5d78c6b749c5a4681b0468804515dac28201483fee592378ee6cb324822f0c4c32cc3f20d79f186ff3f476b548f9b806e51d927a016a5be07e53ebd856938420067d883e6b4cb9163db164871dce19aa14539071bcbd0107fa49bc71fff13886ed635c8a34fced513eff63b39635400d35ab17d2c79e460b8981c805d05a62d06007c489709b0affcd67c5f10879dfcec613e4ded84b23e95b2dc9c9aa5d8c9500954ab5e22e19ba6720f67783f01fea17cb5e1e31140508f056a47137950945dcdd0eabe89fd7080c68bef0d454ae24f52d65cf7a7d3a1cc8ce6ee7f189fc4d0ac1ab2bbe0ce1a0d2137b3f21d937fc6bd69b2a9f88ec8e17cc1cdd084bb4388906cb2fc94494e93b6d0f610707001ff37a26337039be179c5398cfcd465b518020e3c1a30b940ed3c3723dd8ab309f30d45ec97d56a88638d57428cb0e8ff006c89174aae78c720d7066075f7ec0001e44236a99cb56c9543720ae727f020f15878109a0b3f955d9cb7d5d8db02408b0d8d2b16a3995c33cc12ba04fcb5500b2fa75513659bd2b27278d769e273f5eebee69acd6f5e6058aaac3de748b6007dc09aab14b5e50e67c57d462e3f31e7f13cc6e478875ec0d9e6e21b9854d8981d52cac1115a2af270b9953e882030a09b45b3976b5a28e9bdbd5c13459b8212a51164ca89274ab7c7b76b4ad084c7ed513170d6cd505f8cba72742b877a30ca10ed53298e4d687a3b159adf40e9bd7d62688ef2ecce0cd72ce36b2a30e5dfc1a09a1b99d4e12d36c70b6ab210414e284a90dacaf058876ade336d87361c6d267d51f4d7f8f6befdf7df6f38e1d01626338fcd1a68fc919699e910e8650bf01ae075db60bd9398365ea573859559262205724cda6d20bc09c2f62768778fd978e0677d7f4b00a781ec0b088c852892
|
||||
Output = ca5b135e2011c61ec9c4914324b6064393544743885baae2f49c47c02597ebfe
|
||||
|
||||
# Official test vector 27, seed: "54770ea1252ea2857d6635151194f5f520adea8a41e409ff498d40c271359858fe2b084d5b96bee087b8e8f4dd4e00c5"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = dab6bb15e68f84e20770f4167720304dd99b08c36924723c273c3b4a603c9cb73037833c3249562e3b9ba9e08c52839abd0990001337f8583b8fa83fdcd89d9b3511d4e2787b67ab6638a35226a48803750f2a6753d1932d9494441c94091b68f025ac611834d2b7705df2115a088aa80b79f34c02c7e21e2ef80e80a374a4fc01e5bb42070c1f0a01c6ae9305d21385febbb5ac09493ebba8592444f5aca0372a7ee4d54cd5013cd72b961e0c2595dbc4fd601c88317f0ab46022c61b06ab062bb200586a5e0dd3219097403472138ff6be7a6b1e45f8beb3521aac9210f20c7052bba722297224d6cb02b99fe206af825606b1272289c92746366fd68ac5aff334b089b5bf044d9148b474984457432ca515370e80ab14bb76b5198c7c2527c35cb9fafbca01a260bdebc976290ca3dac2c62c2ff45274c0794ad2a13f8767b7c1b99222364745459adf0cb2d88babe4135d8e44bd66d47ff3536d8345089dc11fa961a7c9e6b5bfecbd482c3802347df13a349c629048c6447b580a8d8596ea111e05e40dd3a9608e17a14e41c4e2e30f7c9c792267b5e531537703310793205bc273029c66b2b27a7abb2dc04518cd8c0875b17ce9a51e21575d6b3491ccc859b197823f140a4a27a2b2432b74292a0237299a505c4a0678f705862dc949ba346a8bbc633fc75fc3a14d58ec76a99a4e6b3bcece4552d1ac5c205ccdd1e91cf94724e4d5a32de1c10ef53185ac4885a58e2c0930027a88dbe5465c1b488bb54aa55480aee676bf73b4bd11c7f8538eb6b12080748ef837c5889863b631a8735156c5d7ba579b5c2ae3cb05572696461092f2425b50188e888e8ab06514900cb452c00d4339c8265e5c3a2478171469b4937775b0383b6a200c470c491dfa4a9879c515f7f3904b8bbea1c045a072c02f3947c197547301583bfacb5d16011617cb38554b9b33185c1a7b462404c73a660a713b8fa05ee36261390cbf58c20671d83085ab09b64a67ca643c13b491b1a855f5b65e38f1a9a2a515d86b665ea35ccc4078d9a4aa46243d55f341c450c1812c39c8a336157a8d3fa045c0f36a17a8bd2670cbe94abb9a2c0cea7473d260b0c1661329a40a9b573d19ec0bb534a857f442ded80e90237b89f7318851224aca2ffa005bbfa18dfcf36c5fb949f3317d51e156e96a09ff2ca46fc131b2179fc0204cba447f84352aaedac9e7c3975862aff0a36fd5f4bfc7c12b2df36fefa454fddb1b442a68f4735ad0f3444082b3c4500577ab317dd4a76e63063606cc87614898fab5140b3308b555e4163504133de3b19ebf52c79c2a2c5aa0b09362224c49103b32680448b08c42928092387d89b9eeb1a749b4a2d9a83de7738b6b2c081cc9025f0b9806b0bd2fc66156906931650873d7a9f12a16d7341d0a6c22df7467c9345905518fffd609b1e4c1cb3c6c6dc71ee2b75bce856636192a56a4523e28029ffb5e28470106196def277cc8443096113657e98110da56ed066b4ab86552f1c9f9e00e299312189b3438d62576c88291ca5ed7479a07270d5c56710688677e29ae15493154cc4f3b73acfb0b4b928a01d86c94128672428abf2c8c3a96eba46550852f15c85da0992b7b18d8f5ccc8704d756b032693085e278258003425eb0155248b65e832e5b11a75d4bde5d011db219f5a620c71b1838a542bf334748e07296cb9555f7a92afc07fb3050b1f05cd7fd7c77ef61493a6c865a82620a4388c1c0ea8771b97513e4fd2ac01a6b9c080a2c34822492709567c29ca851aeb30a856d991c3bb89b1994ee50193695c6f77928085d7bb2e003a94277a5ea4a563f23041e89dbb55001e4540a353998ee78c49eaa9809a75b6dcac3629a6cc8aaeef0054944a24abebcd2d494023789c079b3d10c65eb30437a1b71175c44ac0360fcd79a5ba8532ffb90515e2aaa0d3a95c47a827c2aaff0bba2d75653c724e7c712c9dc6930da7ad79b6202ed450f3a602c2d719d7c85bcf7277eba1b6eec85117297ccbec42edf19f3fc2a1a0e5879dba76c9328d4fc2388331944b6190ba739c4a70181276b6c7d47ad89364017ca6df1ac23f716b92c188b64100a2a690e23b7671160f6cba5f679939c3e20f8ba6159ee73ff0b862d33ca2a574aaaca1ce2da65a25c7076c9c9d252a910e8d5426142810aa1cabbda6cf4ee100ec5b87136f06319e0fc6719dc5882820a89eaf6058fec4baf40c66232a3bfb19625ca6c502007d281f1fccded5fe4d9071600a8982c350df524cde514431ded7aec23576530894bcbf0ec0bfef0bb64f
|
||||
Input = d401d396e79cd9b66828705f1e71ebf7c49a1bc07405de7c8e4292f8b42960cd217c6b4df9f574f4bbc30e28e9930250c01936a72ada2cc59add50bbbfada08222dd97485c7ca2bac26ffa0b472d693630affa357a62e4760d0a6166dff598ac1236e6e8fd1afd9a3158fb8e6057c3fa21c2b1d76760a310a0466f4a0ac77ddaf96fc7d261c510c4e103a3ca9ce54910f8caec7e2888318ecc24ddb91a589e3fd8c824a9f610e07e10d4f0bd93d6aec34fba6fc331416992215da3b3ae0ca058bd6ef0dd3ad245957f039a8c7ce0147d761b29d56e841f73f17db95b953c1764b0871cb275bf8d9c6694902445d25b8e58174f3e38ab0bb9ac07bd7851172c32b006570e9d8221238c40612e3420833aab2f459a9553c3b450c0392559fad216a905c97f8680f65fe1882d55bbf9a2697694b0aa067dfe088b236d60b1658fe53cc75a46ccf54827bf6d0e9f485d310c197f7579ba449214fef47274a9b2c65d0a8e6168f1be18e32a9db249bd4fa34d7fa8c85f0a637d2b6cf43c6afbca34a554828e3f79c091462488a56e085b89ed8dd5709fc829e0345564ae95c9b704c063efa0d44ccc20456cfa67359063de579af6d3de124daff1a9629beec078a1c071cb2b7f5cf64fb74adee0469b0c0483080de44e39b48c1e8f3b16c47344b3523d2f4a8215d7c5e087ae1416ff85fbee8ce1096bb622135766e41993bb333c2a21f6a43a136ed67370737ae93090f9d6abcc7733af04c04cb0ad7672043711f0a2585b13766a49b4658a0c12f5728d9114becde4a5da9394be27d5b44ef945e5c14b1fb0f557e0c65e6a9326ae406f9d2d7968e4f115e9cafe7e4cdf4801695a28794ecc7d1f0196bf0630961b1316bcfb3bafffde63a82cfcddc2c16f55b35129807cc8feaed80149725f694ee477cb8b71df1d2af8647c81745e17a19a94ae11582d239adc3ce20bcdea58dde975f94a4c1dd50901c4469f0a225bdd30fe7b32decf4452b1a5034c83fff0929ca10301e60ef5b030c62a307f97ae9cbad1d1de9955019fdde50cc1ab75d5043681923ccd55732a49ae300eafbe0916add44a
|
||||
Output = 9baaa93879d2499d70fda552ce3c6cb030495c99da8934a700327c25a6a2cf8e
|
||||
|
||||
# Official test vector 28, seed: "cd6cfe94e9c0a1cc4ffdcd2d7876504be5f50f1d1ca5cf93482943465b268276056f2781f4de805c138976ca72621387"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 5557196294bb35851d77096dfda84924c624789c793a03cebaa236dd980cd2e2654059ce50dc953b6748d1a3420b595675e5a5fd6567acccb3f1172ab786a7fe213a48788c97f4af087b21a0457d8fd3530947b42989634c31984e705bf3cacb10734d81e9ca95b88fbbe44787635d1c7637e6eac68da05ea789933bf18eeed579ea83a698489248b60a833a3475c55028c40e80737128a3b6f7041d7f749091f7805d02a87998319317b82890913c782f309774f05633db43126ee23ba9e06cbb5c3956159726849e91771351ac3714c8c0941c50fd8b54c1e097e8ca4db2b0b3402aa93a6a707b19a564936eb0cc927f30b52fa0a96ed639e9d39ca80c4eb0127817507b0c6877187a61a56027d7446c9f6872ff376a3b2b6a50c05eb38c73c0628c304495ca6187d5e2c5ff2c1da8251b75b03c20648f4bf2178a6b6f90ba85bdc21b03780373020a22c635ab65ae934898a5303e73e87afb8c85feca568a0745e7b3a9646288a66b8766b119b2a22208307509516c93226379520088b41c2c886e0f62a458cc7257c85fbd27704a64a2b25bc904485559d102805340f317c1159b1b07cc62f4d7bc3d275761166dc2950e61a19c8919a2a30699b32b01d57592fcf71731b524cdf8652b4b7c4043482bbb99d02ab7b898b955823e1d948f77b6b18d3abf25e474370a7cff14b81630712a60c5a716597b41a999ac27c0d0cf064b44a8868c39c3962bb59f59e168212053117c823d79acfb6378299763bc87b9f2d4aaf5932d8f8220f707575eab85a5e485f16b402ac068636c595a920d78035ebe8ab30a38b7672bc417ba29a2f150bd5870ee922c5b296fbad668e6e08fd67c444eeb55ad38c5e4197c69288e7cd7a5e5467c900861c221123abccd70a7805c954e62611f5d0933643a72b6c263238aada2378e4c75631d7cabc83984c8fb7b38c60f432913cd7a6a09ac6da6280e45bbce8bc77981f5bfe77980a9c510bf6a9fcc4b786532156f02713767711020a95629658695cc8a9b906d936568286b5da9c97dcc53b641741dea28a3030595406ea51c3843d8aee3e7404bd67522c3a7c2ec9efee4178ff8885d216ab24064b3a80080a42c8db67f27b53ed40cccc915343584000212880b2a985aa00a39558a0d639db330789a538a4a526eff094c17327e0e1585a4406315a1426ea7625dc21a738561e9ac1f993c2bdcf54ce5d69b313316d83a83c6f79adfc75a97636742839debe545a8914ff1a8436adba4b2e06669148dc7d23f4ed984887a2f9deaccc050145cd01efc3930f1585199f108dd5b4766a792585482e72c8be8e57ca48c2b961663b6326c0fdc5f18a89747182aac6470f7b57d9e67c43b338bd8419b8d7a4b695acb04f44af9d50bd48792ecd39fefc67fce2539e7840e70a41b172892d3e9b108fc91715cc6ad5776d69437fe08689c511e9f72226f49a79a7a6ea4ebb7df553c025482a6e91290f5a0f5eb2573529d70e96a7ab7695663c287640a79a7312e007cb58bb7f290442d6252f6054e21704e9a9ca9378907ef1a9bf0d07a75c46cdd5872ac3789fdb55c6bf448cdb525de0a96d842b2e738195a12455072b8816c1df62b10e4ac66e2853d3476cf814086d4317128f30fd55236f738bea1e53ca2076a4a5aabf3b0a49fd64d1c5b3c6cc611ef7abe2602399c10becb179faa50a086213439044ef506a979605f853a799f031c7fe35efc7b6e87a61b5a570f00b8681af15ecdd4be4ae57936ba480e1495102986df3013f4b117ad004d947921551b1ffd247895b9334acab5edb470df9b36e8b50c23d66d4d07ad14170d5dd00de041a774d598b9e3bc7c8cc695d9036d163393ab2e580632e51870d4092d35e7b03e46cc868c6187869e41ea389a4a978ed90d68ab295f973939c6089ce8457ac1a6c11390d09ac5d0984beff77e347591659275dd712d6fb252d593380af79070c72861201c2199cd39667f26b229bbd4c03a3515494bc6cf772f7995a35bdb112a26251566b027a2468716bcaa2155541423736092606777505239b108151a0536916452f73291bd5a43906ccd44e218fbd453d27903786c44e8f8bc7e50bb490a32bc254da6118c3ed228d520582db2bc23e3c4e3011252764061e9c02f00b17295c50366878ea762e2979dbfb90a99f6321ba01bf4e1969cc0007c45328506e9dd834a462ba5ad6a80b93464a435b551b5b59daf155bf824f178335d0d2429544fb0ad8f2f0cb8e20e145e44aae52cfc609e6f47fd7a6f6af877190ff52256d0ac5b05b89c3f449f
|
||||
Input = 4a07b880ddbe8ef8edcb011f7296a3d11e42e09bc4dc3489835e7751b69ff1f1a8f72612f9bf6f46b2d1a8fe3887d80db9066aa523e7acdcc879045fea76fb6e0110ab4999bc1706772eb52e5e404f6771c172532d6533e7b512c282caa07b5680eb713e66f4934f208e9f4021b0bd65816fbae6439558b0e5d8de5b76bab377a15112fad6a259d9d9dcbc6636a5c5cf4845cb625d587ee08e1e6b7d60f25338eb600303934df6476061775a1aecb6fe2c9ab4988386c2f4773d26fdfcb601bb20cb243300ef84370a21e67cf77ddea9b60ef97c5a108534a18858e18cd90fe97dbf75cfa5b3d8d5d0a55ca4be7ff1c893938021d6a49a5f939c9557ba77b295c19165092f88add8522e8a0a07949c52a6fe44c8ffda0b13dc2eaf794854d6183b761eedd91c099250d28aedbb9e91dba945f0f42a505ba555860941e5892ffacd1ecb000a3c55a16e0d9d015e8bd02227f12786ee9e0411530c4e00ee69db69273604dbc61b0b28c7cdacfa6a87df56473a0797a318e65f802d48fc5e36d10cb3a19580350f635c9a774a17d266b45695e5019c840900c56f69a754d3fcc19b3f65968baf63ef489ff85efa11912ea0725b65dba856d42740644f4b7379c957cb5edcf59be9841eb5cb21589213b7644fcac9225ed8d72016114afaf1a287383ca871571e63d39ebf3eb89904c11001e96d6b8dc8cfa36fe99a3fa094983b7255b13f72e8f17d6fe3af72ab8da6dde57c9e69df9ff63f3978cb02e4efc5613e8c989e8ac887c7d2e5d3b75569478e05d25e6b0f215a872c79fcd32f31d5da7521c5b7f0f890bd872ff7b7162fb21c83e1957304da9ab12fb8b8c472086fbbb5c33c7b33b2b155f5e7a287ecb1c8d5d1b0bf2c640bfdcdf4b0ce0760fa6a891c16562296814971ffb5423c348448453d5906ecba1974331756368228dec41cbaa9ad5f8e64a1bbcb23909076984b6ea86698038e406e5f24b612738c5c282ab0468d7d40d5d5b61cdec630d81e82462005390b7b5a5c5736a7041464208d7300f28912e1cbcb686e11d7fc929d56e33dcf4885a731e33f7d33f883c92cffb591
|
||||
Output = 58af802548d173804a1d405b79fb292af5b5e18d582eac78221a1cea893757d3
|
||||
|
||||
# Official test vector 29, seed: "265eb2de7099e4bd5614e5de7f0c2a05c78ef3e8e2dd4ae4cb70f3e5e59c8d1d88248303f07de0c5508652da66b47222"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = b83c58a54458ec86a8c6664450581432d64db0bc6ab2f53f95db897a13ca3d869a7eb01c2c775cc3917f14166425d1ad04847a4db387352a24f5e65056987ffd7ca73672ad1b7a5c88465676f98c8e43355f00116935aa08d446b22c3d7cc8b45467b7667279bd4473d5f90b70ba7977f00f3f584b3d2a324c39b8f100ce9a497f44308a10f010db9aad85a3ac18b7cb5578402a7ba2df1b85c5a9af2fb54d03c083b8b78586269812142a8469aed34a8064d2a5157831fdf28ab7d17e76bcbceeaa32eb9a5461f854c32c7efbb514a12332cb9596bb1a2230e0a8aef17cb4b6a018a48beaf144efa92d40dc2106170aeb1782347419b1d7b851ebb8677a37a6f9268d4ab122414c9c223457bc1b0e906b629c3e29307c89457aef2741dabb21089c0c79468d4c2aaff2dc0eee42b9e76b8a37124ad1a50bee563525fb596aa9b0ace626ef67979dd6656ae7ba5c42253ff9460478248e711fd27570693591fbd266ae6128167171bcc0752e93a020a57b87889a288194e25563c328cb5ff441c2ca315f563d8feba0e3706bfdf97fc2fa90086763b2a4192ab984db54170d8b9157e42c3f16aff85240d5c81a7610c13ad9968a6b009d50a456b1adf5d051772605db501d922a33fe01085a6c9085a46f595a9c76711c53259c103c6838f04fad8071e7169c3909a942977bd7740c13292899245a3a114c443145ca8a69f76c3f5a20817cf3b6995b92a813ae147159cb3c78d5119eb59a852fc3b98ec5286eab4762f532b716cfb7f1466b671abe6919752896f6e51fb3583cf05047af8a0ef97ca1697b5517a17e11aabce33a837da61538c959edba93f3418905901a2ce2c2bf6baeb223c8b311ac18901c51855eb1e297697aa2abc2235cc6c6e5274238aa152e02480152636ab8a4dd3451d927ab43c99ab2638c21815ff6202e5e62bfce6bad91755f10355e9e546534db01016bae94b0c31a6908dad3358d000bd256c34f42acc6a58958c63343d8b079c908b7cb2bb2b166de5598624b09c5361e8b679ec5d854c03a3251055e6e0c7401a6c32e12a757b471b7c237c6b930f41004933c70af716ce40ba46bb52df72215a19c632da601f15a769eeaad20825944773df0492003c16742c8298d10a08564b211ac7deb939946b015f7b09f3bb6c585e994981a1bd4a033ae726f5ab2bcb3689a0e030deac6a245b2cc2b6b20f70a9f5aa895b74c3ca9ea379a086778b0c22002c54cca7c0e9a1bac975d7a703448617025633e81885a17ba9d54494b3bd947c1212f387a8c23c4bd49b42463568ddc2251898a6a8f755af65a9691702560898caf91b835010304252c3dec7b30d44e027615a1020b34f21c5c2219abd47465f7ca87312ee649c69da5439796ac65c8bcf6c23cf5174592456c77a68426f37f958a978c38291dac2763b732a1d07dcdf435a362a46355b387d0c4e35a77471c3877e10bb7279aea7ba8be364953d4163fa8bdab438484bb00ec821562cc63537193d0b4829dd574dbd0a0067a78f0b922b78290db77467a8951de2956b31014b5b7b4f098a2f1c21ed03067363958d9d03b41630f05c9725b6733e2109a0feb8360a3a7af36190262a19863860ad00f5a8244ee4a6e492aab22b58efdd38ecb43a3b630cbbad319eee40ab8437f564652e094ad21048394a1540be7142c7483e0e846c8b6af9a629771231d79e07cc1170b412a25c03b8f49eb97f145b8b252476c8b8c0da95e4cc9097c0479c9734dc4a376edea6ff4eb2f3ae4208cc7385c859f68382e6e5653e6055d0945584fe7c6f5531482ebcb6a947e72b16e726b2145ea5073156582d5a938b8c01b92bdfb1b253bb928289567b14865b0a03750405e2ca6c5a61c1664d1cd614045dad379b62a137cf25b6dd0ba6265903595ac56fb1836499317c4000c188fe089ac4e2579ed7365fd17300f93c53258643c998c7a585f829670da35aab3ca4c604a5ce150807701a7b7d19f510437be7821c843bce6e02d429491262b29e97123bd860f5c63684e606c118361d53b9c80622cc1f2357e953e2177c09723365642288a498e2f305cd36a0b9f829b8b74836e0a5f4c14121571c75673748d9888b16660e4f036ae96431c7124b9998e724c98d208b0ed7997184436768c6f9c219446166647bb93d2c33e6ffa5a2cff7c2273409c9b75a60b1f42bf5481e96f6b680e7d1177fb974ccaeed64d486756e7a0ebed1b0253b4e8ae0d6caa6e4dc28daf8613c450a7a2354f7e5cefa6f4a4e9a1c411eb9364506e9e1204a8acb3cb77fbd2c4ed
|
||||
Input = e270f9ed407aeebc1a44327f1a01ee21dcebc27a2f814d78217d1ccab144ef226b5215037103d3b2709ee430224f5fa06eb88a28371cc217844ed2735008fe865042c9ac425f487390f671ff47b0a3d3f1c8a813a91d0f375398a462aae8b19b934e5c96fd4442b17441db38008cde3ecbfa3a8f42da30b5644ffafca9c0ed3e9a1f7597fd4ec7decfc297e4add5a73815e04c8b1d9a72360fdfb8f565cd4b3608ee01c18bc7d97d1210f3f00875468deb618a6cd006217b4cde6483d99b92dea4fdd3f0ab7fcfe88c19df3b7c3f890e6765286cea1cbbc21ade2889fdbadee2de32b4de4447e7e9284957517cc4adcc58495cf32b9414949cdd5fd3ac006983d92edaec7b5fa02583bd6644a72cda2018c7d52f56505efbef6a9a4762e250cff40dcc977e9adaeb57128df2b521561e26337390205ecbf91a0e1d0162426844b7d15f4bcfe3b12c9e070ff54afd84bcdb19658568dedb203e160baf72419f32360036d12747061a127174700b8c4166dc523eb633bc64384352b4bd10168928a9866f021b3a046318cf0bd113f605f8e5d2c8553f3b70915d122876e2c62f070fbb902b21f73f7cb570d55b15a22f4d1f2523bb2c7a9d23f9e636eb0a4ad25200165e0e483a8e946325e8c0276e961f7b26230076b42432de78e9703a6d72a63cc93ed7d9614e5e8d35c787c85543ea5632583b37bf86002f8a5b581c852ab4ada222180b13c79c9b3da33b2c9e8657e15e1721e72cac7f066fb2bf880aa636b3f5fd1593618036b5d0ee8c63a50e8c3c7f4783a49a660ddce5022e8d94a559c071cc1beac1b5a1eba94e6001b65641775fcf08d6f4bededa5e49f1344168d1ad4082e7f874aefd4cf4f19d0d6958db40a59464dad949a1c82b5c5cd67a039584cbdc0501b9e3618fef80e9ac199eb5b194e088ab86561013bdee878593bed309cff831468a079baed922f18d63fb10ede14da528d107341118891e11b9217887cbb2889645fce12f7dda6bc4e48b26bad8397409537a4c71aaf78c026f85f9b7488221a078001ea9cb700aa7d40719e17384af7989b4aa55aaba54f282f21c
|
||||
Output = 4e917ad1cd0754e5af0e862e4ca55f6002c919a034f5258624697aa8fcadf76c
|
||||
|
||||
# Official test vector 30, seed: "806bbd111f27c2668318387bd0830f65ec21a51af01985ef48d03d64e1958ff7ee5133a4ebf6dbf36329bcaaf65f40ea"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 05b97bebd985cea92054a01bd6382c0aa259da7b04e56aa819ab54aeb1b8af689bb6d6abb9d77b565b882870ba6b351df25793dc324a1df2c7734bb51687aa20b23776cc0341f112bcd79244c580b4b82a89526692d183545b3e681651bbb6c800ac5fc9eb94b6a0c28bf8c478a016d28b0622644ae602aa31c2204c52c441f756f2e50e2a0c2f98fc58dc440d4f12347b64c64e30253c97cf67b5697dc2342a77285e1a6bc8340c791c105adb81690882cb6054220bb488a61ca0709d8d57865ee405806718033239c6680e8611abd5207eee8abd9161814457b1d6da162a68c10966998f45c5db690b4ad5c61bb0c9ca7c52cffb56b253b6528182fae064111b47837436f2b388a3b212aa6c3f87d5378b02be378a5342f1ab7713159ee53eb785662ddca760c5c543910146d5b7fc791b529116b4027754d6a7d282681ac404533b453e4bc44de34aa2d3a4df2c987bda5e57b8cff7e1c4fcc3c2ce287a56d5b900ea229097b06e62ba5a5746512bbb66b413e2a59e431020178553d5ac813236341139960e8c32537a8fbff4b80fdb90c019203956bc1e3ba564f520f9f83b5c212a08268b5aebaa301a3d6648672d52087348a7a625822cbbc474f9b7bab874bd3a020a334d984241ca0b35d161a5a2b340824320026096ae31197cec2a314378fc899fa7b41cb5a1c3c87c257a468affc96c945083acf393195a216da2106f77a3212267df528d32da16aaec6143b308402239fa37ba495ac00830c3688c8fdc8921f7a023fb090b7fa84c8f4a25ae1937bdf72c1442364d21cd04f234c38a509a02a5a9496fb57b236d807cdd4644b24894929259688081bec9564d0b9d5e4b818ff5966ad9cc2abccaa4c2511511c2e7d533de4a061fd48d4050bf9d579647248b6681929f9b65d50a8f4fe2909d4c82e554cc318c2589f1a55b35059d0cc75211bc6ff6b86ee6c249f91fd0314d16507830cbafc5366fb266cb2af13dfe8703917c7f5f64035e47348ba7c102362555cc2085ac14b43b803b7193ee428359632ce4f50eaa0370ac44410bbb75457595734aab17c6493a21b21ff1052218c4f4f973282382b6c012d088bd49938fe7f41b5d116982423396137a6594756ea26a3cf34b0b5cca62c85a9d739afc0b9acfd244691c13818c135e4a88b39c0c54b86f8b657898f14c0927bf33010a10064c6281616dc828a99b9b98c53a27913cd2144fed62baee779555eab762d4586bc79ff97a60a1a955feb2acbec6737ec934d1d9cbe960bc6833675877302a0bcc4238226f7990345a62780a333b54c443e540dae956d732af8d5a678c04659d51536d265e4898901c683dfb2a4a08f64bbe8412b35257dde64c03451561b707b1587af7273b48a19d0408982bb73bfbbcad3bf388b5b504abb2b11f06b53ebbae30392bbbfb87bc5293d0b21716140777841f74eac01ee6cdbea3c8c8c7ce3b986f0d3a471760255db1c20d2c2e457ac28e3a8d1c9b5541e3a7ea1a72f3a44a8a6ab7e0d69eb699b7b14a435c435cbdc5c6e1499e46a24c5b38247feb71ed47787c04a1e0456ec11844258aa4e15cc144570b9d4204db20aada1b2f318cbf438782b1c70a894a97dcc557b7b204b0ec17b4362eb7f2c25914b7c17260aa66218fdb1925630ca3c7c8371b96c7cb49a401c8234a3928534b8d324957440fa01203c3318f00b65ecfccb56fdcad9c38a695fbb173aa75a8226db2e92b6a58a71e22697931c5ed0aaedd60483fa02f40aca6119a5997a1b95d32b34cf902ce5a9edf5a1b48d383b7f383c5f5b3cc054b47e78d4f9c994ff1b64a1c22526a430d7b6b30b720caf977127aa669d641b062801ab33a40685718c7bfb8b8149b7463d170a2f9b51c6d314ed4a81dd3e8604523793c8a84073936d1e58e4630430e07ab3ed02c03c0b2fe71b3dbb50072394e7d4c0f1b02a9ee46c795149e8818aba0e76792469fcbe4951f0204f9730733dc0909e4594f7749ce393b643488e751a011bcc840856f20a11edc9a943d57ae54ec682687b6f3dc120b357412b1176b69863cb05d395baf76736ffcd47102081756c89571d13b9d0230bd428cdbe51223b8028cbb2175317c14d6b0caab940c540864a8be38a73ae8a68cf53290f4693b89185361c48b55e41b8028cc543355eb5937077c7ca8aa6838bd6e0ceddd36fa05b1e211e9dfde525344fb4855a216980defe8c6578a5d9f0c7916576e760f8b37df394e517e60efe2844540fa5281f072d9b5a99f9c7a0a011e4dc10f6b600d611f40bba75071e7bee61d23fd5eda
|
||||
Input = 19d307d83014a552cfcd64807139713a04f1911b59936a811ccf1318c76838db3aa9a2074556357781ff4e2988a0aaf8256ca8e946b50fcac6d1dc45b96400a37912050efe20cfb5cb32f59ffeb7de272ccc7f76acb022966f306170af3ca9abd1ba3a195c7fb99acc3403b78e72c434771cbc1959fc695538d1b7978b08d4726731959a9134eae6f0c24aa1eba7590a88f0b73e246230e65e92bf82bd3dc63bb37b52d4713aef46a6fe29d48f3f4581f7a26d83118ae237978dda35a48e0567f50ea73db9bdd0020091218c3afba07c7b0ba0b27ff48ee5b0229f08dc48fa53acba37da1891cad4d462bb0ef5eefb63b10b8f52ca8bfd2cd3f13819ee2985b697aad1b921ddbf5582d3fe61a1ed12ecd5247a901329cbe354fe1baa5fcc8b0c83c64ee3f87690d8d0f272b306c30a1598e3467c6ff8db75751a984682cae0a2e12fe991401692885f01a0f0a4e80c61dc04d319b45cdf14d92f3962102d05552ef760c85d08db609e88f65e3b66dfe5d0a4c408eec28f35a3a32db6dc389c017b82bb2effbc4d9f186a63f7474f8ab1d6e8ce01464b2178b315caa99ece93bc2f5240f8f1101e3e8984da57980d2014da5d39ce2d6a129ea0ae6ddbed8614fb9cd5c6bc5e6ad46f104b1b3b2c48ceeee7e1b2681384f9ce14f2f3e836a32188a23c3e4b43e1655ffc5d73ed299fb7f942dc1aadd72ff57b3ab0ec40b4ebdeec9b939377a861478322a3e23a71d2f2758cb47082284a5d40881d1783d02b4e1dec4d4382a0e2326a0ae2c8bf90ebf3a299e8c96aece5f76e903377dcfbbbea122d0af16f8ca9f0b4c98e55d588ac406e3359f79692681bbf6e5c15d3078888c1fd1e441a126a4cb663d04ac17e911354e118790ab964f1dc6d44b758c073ddf7471722644cb1b9b3ac8eb1d8f0d6d9368d6e8d41a3a3934b58dbbf3a3519ae3f7ce8a9c84f88168639822826fd9377861e241599c1a0b321a7b995aff5c05b4a7c6807abbbd677ba6d29ecbc75b1ac53fbc0219b4c5e0ea5290e6f55861e232588c24975bf006431662805cfe3dc4a064b4d77fd7965f8b979e45f7c20665415
|
||||
Output = 12ff2c4d37b7cfcd87dad305c59bf2e53451b0d7340ec7ca504e0a6bdb629532
|
||||
|
||||
# Official test vector 31, seed: "ad540a9ce816d6fb1661e5483c44f6fdd00c9e7bd1a8ceda4b4c4d3697d4f78ed0a56954996ccb7da96ecb8f5cb15809"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = b1b599df29317cfc31e808909edc273b52a90c60a149974f47934a4a0708dc249a1fc1ade1a6216eb606b4f52d2bd77499650602b6b51197801fd03ba2734cb47ab85b4931c4fb4c521ca79a149263982e5a6802373c6c683453479727001d8d8f1c0978987d8d8745c6c974020641c35bc9062962277a3494ac0fb4dcbaeea9a4e4016e995681d295c3a31191a0d6a0e5cac17c7c4cb79a2ddd45ae074b7e8b1085d66954598195e8caa0462816274059fd0578e7ccc6ce912927615c8184bc0a0b13cae52d05e96a18470e7408c9a6828431355c3a411f5a73910f620506037a4aa34c82a69d69cb86b641579caa1602b129331769e9b7c829bc50d6f844bb7b48a97cb045276ebfd98d82903c5ae40c22359b16a9a33c99849ca8400180ac436a7b7d6c929590cedf636c40d39352591b7441457a498b25ba86fbbbbf3c297d82584575f9c4bcc86e234288077710f8f3212d98b8ab81837b07b4c7e796eec79aa5577a650a235e83a387a3a2d0c57238402526078b672a3fa1e41a3020040a704351458590e04fd1a79e6fb1076b4b64b24a9e59660ec3043191827f65571cf6b9264571301660b703882e86a65d605423a8a7c7e220a36953659e891baee305002121b2784070e65d03ec20124cc4e9184f686c78cbfa2e534cbbd5a924b618281db87b5dbc36041a57ff67a228d6cac1b32781f9b3b58854accc1814e686a03176ff9a9d04e012bb1677dda8aea1f001fb5ba324fcc6edd901f0c9363854b4f8aa6591642c22f8ce07539c7970473c6c90cce2946d67a5e8f207a7e30b6964aa9fd142aeb97dc721ad2148754008454fd127f7c46ebee7b8df700bfb267a722404494ca3d1848b5347c8a736968df606ea222a097c4ce3abb945904e37c0cdca8111571485ab095f598275f553ab2ef417340819a09b808a46b77a06986d5052792a484dd40ee16098a6a7c4a7043b4a889b260904825b8fb4765cdb21aa38c19994907b4f7ba875d3bbc595ae822a0b364187be91b1f7c607b7960b746487781b6adc3b07d656a9d2e0031458c1b35432b578b138f77270d52eef81c03ee563d4228eadcac595024435284df3002ad42b4212900a3f7201f3824e0743cdc598af02fc04ac107ec4a412b77307a1394ec4c55c7bd5c826e0442d833dc9f36129388fca76a59d167e7a4774cd57b7f4533386774ab13a4b8cd06e488714fbf57ab0650b5ce0005beb4b7a5a7108b70131d10ae34a1514d7a860bca8e1fb971762bea5f886e0a913cc6c19e7e05e69ac3729dac5bb901ab0c63bdaf2410683529c72667003782080b9ae4c91a89300c0d98bbae61bfb4546e7f87ca68478aa369998ebc0c3ba6a0af9380e1286d0f59adac252447895dfb69b2c189075f32d9af461d5620519fb7b6139be037883ebebab79845ff7e450043b55ba43cac8d786dc2a945e2687f348c702a8839ae4b3206837effc24cbbb870079c476362032718035900442929b9c422ff9730ab03a0e7fc9a2407364e325b405d854691b269ffa4e3216c1ab3b4cdac3b4190a27ebf5b0b82a3fc10451c73a5ec39a567bd09dd7daae5411ad24cbaf8f25cce272a63f005813d9c7eb55559e474b7078b55b6abee77b5ceef1359a4a9e03397c8586be4fa56e4c0bb8aeb07404834393c78e4d201eb7a7617c5cb593d51f7e9c0e2b1344f9e02e4c5b3fa8c0b447572a16f66d4d239dc68555a344025869cc76d866113012f5347bc96b49b4b94113cb607b672020cc274cb1cdea8110a12044c056a2821c15cfbba1b11cc8a39945b5ab717c34801540c610abcad94c23bab78956842050d37999ea47e0c502dd213363a7932786ca92fc0174425ae5ab250df52b3f372753d79a3fd721f7b10b63826f90dc9e6fac07a900a7237a2dda32bc3c69a5771617efe84b05f51a5981646d67768a95445ab2709a72442155b47bf111368975c365ab94f59b973756ff8bca5a7aab3f45242725634b7142048571b7917a2a0c0909a8a6732b268d8156b32b0df19216404a157951a12f5b1e17e8c94485521bc3523edc7e6235c29c172181a0af4730a950c873dc982316e35aae55b760767a8d6b9ad1026d2c93a7b81012c18b7714677221601855ec919b8a96274c7ccf14a596c470a9902e9bf1bb5d40b0bf8258354435b360220ae8029fa59b3f6539ed6eeed58952af1b7cf7f118d9bfd61e3bc88050ad387e31f232b0a43b3bea53627750f6af50b92bd72d67225ec55a4d0a8a41c4f666854e9b13673071ceb2fd61def9a850c211e7c50071b1ddad
|
||||
Input = e174dec38a7703e61d3ee9b5c29f7bfdca50e220d4998dfaf066ac5515f22a04effacd266ef1f20c529e7f729fd02fb390728218412f34f67eb6db40f96dd7dc06b2b24735144704610434a0987f777ae40e595285b640f2b3878ca307dad36d002542471993098d092112878098feb16588f40aac20948140681f90c05bdaf0eca81b1cf8ad2d74a26715ef52487adf14a12e5328ca8748865d8bb42f8fa1de046aeca200fbb2471708090a9b96c5f6e2203b0ab369168f786d7f997c5b87bbfce2611a5c44dfafaec1423276bb5a9c529e7160b5d9dad3747f1162dcba6a9a30d0a630d7bdd9e3a14d3273bc5d4dd548a172106b19d906319c40d47c0bd8a2a34def8f2c86022d7f8c6cbcff42b0c2cc9ae22c10c694447140e0b9b75dca4356103398ae3bea1d4121eb220f4632227f0801d07da86893f4604de031233be56b8e8fdafb05999097f62e1690d222f8e940602a823449542243c9545e19a074d3d29917973d96fe08a826aaba9276d5236474b30c5690aeb4c30356323192046416298de37baffe71a9fceae20528b4170ff486b0cf3f0890709dfb140b227d90e0f6dcbdf318c4ba9fee9cac9031831f5930f26c80410efbe1e41944b136a4a6012397845c5e3a0b02e3b54d0947a508ebf1953bcaef1a872047eb9e9c1dcf75142422dc24a9b47887297210b545015ae62ac55840d826d6215f1632f9a2b3f4e2bbfe318d98ae8311f87ff0ab292650c15a443632a394e225e441ca4acff359cc797dde86fe9913231f0f17e08139ee484f58fcb93c307e50ddb18896f1dae7aaeb89114952ccff875e867f2c8c84295339403e236025a8942bf3f0b98e72b534ba7f1cce37b42fdb4c1709e1c07392051bb2d32151f78ec9ed494b989be60880e4be581fbd140aebdfaf64c2e1a0178fc6a303163da43a220bdec51699a805bfe5c69ba2025eab547c8a2604fc0990e2b2f9aef02bb90fe11dd275ede3272585ca4acf2f6d7359756ad8cddf3878fdd29319c9c64457d766ab75f91adca05b0f35486695de767c741f1eef13df0161171ee156f922b259827fed253166e0
|
||||
Output = 63e76a1f1f3b775218902e2411e60a634ba51a51e6d16affc9978857f9242a56
|
||||
|
||||
# Official test vector 32, seed: "288a5f2684d862a86d2790afddddbac6fda934ee7d2e6da1508bb550838609e8107312b28e00a6c01706374ccd3aefa7"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = c656c44d7a67fce6b1e380a541c4224aab9d35041369a0977c688cb9c74b7dd70a938812a7123ff7d1a36f04593b0734e9e311eac2aee5438844bc9d5f3194b0b1104ae1ad6339b4ecc849aa83a49dda3586e46717a0b87370921ec042c3ea52e3892c8f1b8a3322c19733bc7c1943829a4be59a9f5ab68d57761b2423acd2fb898e3470c0607b92b380ff4006833308ab9111a18c99e03011f932c44cf708cee7cca682307dfc115ec9c3ab69bff9d6027463040725465e01c33dd81615868bed38441fa58e7c40960e340839117baaa5153aeb7d18123f280004d87a8a80d3503388971f33a8c4e3be8bf76ac2eaa9ec30ad61ab18064a76868b15e0e031086b515a4b2bbae20fc1b84b22a1514278ba36c73897fb5b7dd2a1ef0658874c5a35022ab736bbb45704372a08d93782e68bb04108be72b2cb7c6c27cfb7829c8954d15baf3c82230d2881a724139677a37c5b671e2634749bc4cac0bf4494418eb1149fa443ddc985ea9811abc10ab3210fa6169a752183dffba86cd10f3e323a53ba4e7e50ae0a387e8aec36e427944d121aa1e46a1e4602b1a793ee575336d25629e3c67e33520c08ac070ca528934803967951b02fe1a9253cd261fb0c91b2eb86cc797492a538e821aa3c44036e8878a39c7fb3cc972528271bdccd21a2a199ab4bc0f46c4f3c48f5420265e5c4378404da2c3e2b9868fba462b2aac68aa3314bd630e8c85012a23a06e0132a8c43c0c052b733989b7a4761b2397a28665385468db0262da1475d5bceb314abf5a6189997b96fe1c0212ac1bb451b02738f66800a62bb8ab6b300c9171374854a785b8bd3a98114eb605cb13397849abf5b50789c9d9ea8522faa0925d14a08828f99f607bb36941cc9250c179f889b270b5a3b07072f50c90441395be54795d8960c3fa22f15a3a36048ad2fa2284cb09657b7078b8608d2314859310f67602b9a0c9b27b4384be56b7c737ec70a0198373e031097b7780cbbb5a0b2c25a5a3586915748d3ca84c9b1508b23a510935174d83c3270506e53ab56e5c3d1b323c7c34d01f4712d0782fbf2027b962b837c1102e38929738a76491c6bec86e3600a3c814bd3b042d4a029739c55f9a0224bbb2f6a208721909158555b21c71a6909281a8b95c9f851c036694dd0a57ed5b825a682545ba795f30dd40a5edb028b2d8832a9474f03d9a6dcfb2cbe3057fe827107b797bb2760bd541ee3a16da25495f80963d5579d73386f52d0a9664a8eac24c4245455bc1c0e1f2053fc726136e34ea5fb1c673a5eb0e3c2ead3b1f4f81bbc17a427b6650b17b676964e3da28aff414c71431af7817384ecced502cfe0c7cd04f9865c69b3b1955ffb07b37a34cd86307458c0af9452a184628a91d952d2b1c28283add23a342d05ce3ebc38a674ca1c51afcd243174047ad1e0055300b7186c19d7e6022e57c6a10173a4c71246f58743a2b9126116cae68ac876045f600d33fb66082815b3922b36da286b1838fcc95573f44958f855f5953db5100618626247036268678609f51e8da4719f1c084c8253a974bade42703adac8db72782501ca97447f51f7cc1667ae15f35ccf0a8f9344c27764b4326bad953c58e2e794b4c690f6512025978c4b6b47ff85a0313012e5fc360da5a52c402563a1600f87260cf5b03c8c1e2897cd63096f96da13aa7368a2074dd32779c1780f1a691a145464ec3923bf3c6c0ad438979a17faac3a1641393dd9a02db33db39959ea71c8a809a14e06adee39143117978611026f327c20d4bf848b14eb27cb12385a22337f37c8218b538cc8973c521cbd3dd717ee602aff2218d780695fe3b694a16a94226e8081ac5138a27f8497f3a024f70635de82c0ad90b4203c2da92b5fa3d01cca916d4fecaf00514a68f9465f14b28d7b20397376ac1c4bfa374f84260b89cc35c6b3c51db06fbfb4ce24d39f6f328cac585c88d79238a9b3e3572f75cc1e4ab96390d9a4a6d347aed974e534642f65c8dd165297110705742fd1e44db1827bd822bff243322fb605f4c73178184379c57cfb997aa2320061b98440c734f2cb93c35368ebe86c6044ab2cd4a722b51e5ff43dea1019058c24d31c0b4a060afce86a09c15af8437f300811c12ba040425285bcc7614a88d0014986661dc1d8362e17fc9db3febb4dac0ab7b84bcb430c48c4c2eba452ffcfaed7e8d1ee58377ee1f04e79eead71b8a5a1f1df186fc6c49c981fb42907d705362c69fa907831ce36b817736cbc5f7b1dd6eef5fe6332fb1a598f3871e5470d440fd2ea631da28a
|
||||
Input = e1efa585e47df398e51da70ed2e929b8f207728f872cc26641b130e6040ea7b6538331bd038e3c40ad42261e427cb923b3131197d35042bbb823bc1a49d4b7f239ad497f10c758fd6e2e85e90c8678d01bb3a4d394989bfd1973bad5e6fe3c6623140a34b2e25088abedc53504f6638b159038d2caa1f6fb5ecb7df51a880e5be37147250743a69bda4dd8ae6742ebde47119d26607e33d1b6ba53b66cd26bb174ccd8b04c07e69b805ec53c0ba0154de044b7e816d16e611f91f0098e1ac5a44f4d337e0c080bace49d6d928225cab30b5bbe8be88140e584784e91aec6350f7bdcce7bb7302528f6a7f49e73a8826856bd40c3c2f59adf25668304856c7fb8dd34c24de4ae4dae660f6b0a3b88c377add642b340260eae3b2d4180c3bb7637c4d708a1d92f8234285c54cc8af7102fd6b621fb5ee9a28410217edfa02ba0efb8b5a3475785c794be32f97de0478861dc22dbbca832f63b3b34088a227e8489f57278a7fc7c585c791d910baa189c0446d890e11956465070bbf449396d9df1c479ef91b98da970a3b60f617bb8eb9bdf5ed1767715e0b15c7115d104595ef79ab60516a8558aeeef2085c226b2afc2ffc9d7184f8521d0d11aa3098348ea81a39bf2159975fc526176752b1873e942b29c6822795463cacc4ab307b02cb3eb9430ce908b19f81243b8a778f5f8e0c2b0638bf87a578c0b57e703731fc90da86a2de83102bfbd398858d0950b24f4301723e519940c5c5e096bdea7f9dc1288cc6dbbe613acefd2a55a7d190562bf674b1df40d6b980475a5af3d1b6ec2ec15fa5dd41db42b39cece6adf3ae1bef9886f9994e3129940d4591bddef6cc23cab8cc17d123a2d42d152e96f511f094d3ee8a0aeec371e45161198307fd34fbe5cf35164160804b22bf156ef0a386f78ff5f3919edcd729f4f6d0125e7eeccff6a1239b868ec7447d0a00a9203b79a0f6bd2fee9ff00ad08f6580aa4007eea75f597051dfbfa3471de87c29f091cefa5ae537493f4214ce668d1e20001e8c73f7e1e3ad0f01e02f319e2bfc6ddf6cfd346b24b4e58ac7f923c584a3a975ccce5a8
|
||||
Output = c8190ec44fd30bc0a87e53c01423b2d7e34421708dad96ff36108f7e4f6c946f
|
||||
|
||||
# Official test vector 33, seed: "4635dc5bb92ef98cdb6220df0dd717c7f8158375eaa2b78fc3f0b58e9c9653e92684cad3461d9158a481da3d14694c44"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 09b7861f2780398a84d45c103eb6bf83b93f863c25d674ae277a7a3591bcc033907d0c9fdcda24deaac7c962c89830c301d71506334735e7b77b247e5d9c421db8373e107420d64e37565d01ca300a0b90051731e7784c59ac449a181a35dc4dc0b60cc3c9995fc9368e34c0736a35e7ecc5c4dc5b40c474ee1580c77a28882195d73206169394f257220cd1a378f13be0ac4faf2a4bcf6b86c8c622b72c1d3652a25607b859fa7bde83cf2465b3f9f779d6451ea76673ed1c014f3c52d454a8dee096ba902219e34f70215bc49b5784631a10842f90d70ebf5bb4f5a2c8a1a28951d38e5a72aac896a3ebfba521c21888666973613edf8411998889d5f060977a266aa83a21b9c603560807b73f89f330e6a0a41f576720f07f7fbb50f744a63e884d41587394e3736f871719693cb36717288697b56238138533527b89a5d28b156005d09552ef43385f3ab217a6468eb627c98092f77acb17e0baaca8c51d628caa76a46f264be63b2dab184053c8374f267cab19692fb700166949c140bc9250b48fbc761ad9c31f929b716630a485926803caf87c96cbb6621f3630b734892e740783b49ece0116d3684d0919a8e1d98f055232fe474e21787cc8257023f0c13187812bfb0be9541493c84b5d249bf1a5705da5a7d0e45b43383f3470b0bd5bc9abb70a12095b72f10a775a6501cab1746709349340eaf868029324255745b5c55a962216060865145bb23abbbb57a4c01cf50a56353c86cc75aa1b303d21b484aaccdd359887777290ec07bb905c78894d4cd222d52837f3711a06605249f12f8af39d5ad074592a55960019bdf96563a77c16773c6529384a0a94c0c59543c1331b7c01d9a888ec213ddbd72711b666b3fa5d8c5a01fc2b9323113ac10654cdd821c8d523ccb75be783cc4304b6eb8a504e524b01f1c8d186380b537cab56269ba66be43301194bb8a6403f156aa49c293b0610651afc4392b91cc025b7a0c10e83d81f28f8617e54a2d7c7ba003d5034007689758cd5640967fb7c274bbdb8c4cf60e07593854d7eb549b9d81caf5c205c0185780976c1924201e3b68c9538e20cadebf821c24265f5057a005552066018a4ac69264c36efb1028ea355dfd8ab53991cb7a1a4c202be63bc1e90881dcba3c5d67ba791caa86efa745e9b44a17bbc38599c4aeb463337a210cb7a0ad247e4655dbb7c984d0415c0987ff5b73cb1130d71a1a59a158a2e5a9cad684f46eb84d544436892bc50f28f70cb225829aca5e2ce3faa133fb65239ca6bab3642e2e211b35817a5f7521539bb7ef216377985362562f4798f30a10a26e7c7b8019e5bc1be58799bf6173444f24aa8f907c4b166bac3b64a146979d5391545a26275548418ae5cf3575fc1b59e51c57838833794320bac50bbe7818057a64b819d5c7c51bce85a57435ecb864d039104c81c5ba8c5c28369152a2017f5213086ba197db2b27c31b9f3fb1b51691143845752ba6865908265063679ca8aebb2985b622529355403502a840a32f86567d17945d249c9a655301e9b66f5261919479725b02423688a84705a0b3b14ee37ae6e97861b1aa8ed8a8d384bccb3790733c09dc2c6928a2b58ea373076804f31f72fbdd9217bea15ebd756bf696b0a77cdf76033bfd2757ed911d45a9d66db2618f3466f264bb605b842a69688bb018ce27b330ca6a2b765e98498c2592ff152a5a8ac8c88857341992dfa0492cec41744645f6cb98ef42126a459c74e2217414767bde6bc349966efd84607ba4dceb02478e4c5eb4954ac3465a8f978ce7140781bcd8fb552c892002ea08dc27826eab81af59973e5717c577249520c2330651885c7471e9ccc5e0289a62921ef36615471460d0b485a214bea4337459011d2dcc7f651aea3d85e8b4a8124705af77a6906731fb487822220bd5dda2714fb54f86616aaa694890a1163a49a2e586792589454e602f7b0285d178c02c5c44760267bc18e84c0747cf4507210a79644c0f0d0517ce3b6ae10a6b5c6aa4750799b7546581a98c112b3ea995923145cfa294e3af88f40a107b3450b6804626932b7b16483ce3b491a69053444c5adfbc0960747e9d81d8e9bc84769b8547ccbc6128e3cc5cb6263af864571a38a42eed7b4a3d43f22e102eada81f5c40f1433591a2a83a39fae47fb47e7a6a20deeedae6d107a352abff2d5c539ba4f8b90d216d74e311ba5d734ae2c606d96748cc442aa4bd69460dc2fdf6f6fa8e7afa6af8f75d12195ec32a8686d0600e45d4a7f54219b0d7a3826d193a51b9156ecf2edd6
|
||||
Input = 84c3501198f56d1b91629b9b0851d90100a90ccbe59ca11977642ea02af30cb731124a2bcd85a451bfc2ba186845c9a8b3b4fabee4b99439c0e2302bba1122ff4b6079909b9526003ba0d384a7f399fa67e33c5a53d57cd93a70ff25463add1b6399ec0e5ab4f8f6573b52d73fcd4143190fc8c81c9089aca6fadb2d6311f13768381ee0b80b829496fcfee63d4739646b2b42a32ebb7ef1f0c5f57d63d8239dce888da2696900e15b49e722161d75bd87094e2a7787bd11833d695a375725f552dffe42426248ef439d947eb737042df87abf8ea2b00139877bafa8bd2c133ac3c290b7329d5d5ebc63bcb85e0952330a8b5140714a6487e9676b7d75ffca7a2ced5938443f3a3012f16a7edb20be34e58b28bce7caddc21cfff27b7ef733d960a63d765597aac8e2e74cd95f983c4396234a712c70436da0b95cfcc33fc75f0d623526300cf8a08e992397e596d24ee30b719573b1673242dfa790373351f8f523144e92193f6e59ee1dd1d8dbea9d14e44235e240a32b50e33fc13c0d35f6fd13497f597b474d470eee7aeba00a69983e8136f7a46921109574e093840364fc0e5c8df5ecaa3d281f628cd9c98f3a6aec17484bed98fc26f4410d88b6b9ea657604078350c9fb89940d20ea1c72e79186b0528de2c3a5d04259ba857584aa7dce85fdad2a76909497952b3037ed98a84ea7065e4a17ed5161b11895c5d7e17388040e9c07607c50c18fa56abdd44f7b3cf2b12aecf35849a8abb4a486b6330c7d5f5050ccd9cf6aab031ea874e0a17f6ada63deb6ab0dd2675f3b91b82f5dc9f369c755ab4e59e5815051afa135cba7c7f624772002a134445cc5174d7abe651da412e300e796b41ed6a6e526b5e3347fd9e90f3f76a82603a2f2454e22b9cc59c25902ac9c7d3fa27f6dcd5c33ae63ee97fbe8eb3437d1c6184265efeb68ca8201132c0d9ec675a0173a2eda8ae568279bc5bf6321f6b3b9b3e60db495190b23032e4c0961e485bcf20baceb4816c3c00cfe68fb47f6e4cb705587710314e605bdb4cffc844ca618e514ab2ff9e9d88c333ad6956562da0c360df539f467
|
||||
Output = ad277878eee2d9a256573ead742baf0cf7daaf2c9296d2d3a005e99a0862cd05
|
||||
|
||||
# Official test vector 34, seed: "5da2c51b4acf488c8bded5e985cc4702e4a7bcb248b5ac18aaba529f7f9cbf30efa776e99f76d5c1686e94f50fb57dae"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 33e5a0996787e4b7990adb8d7368bebe03874a05436f22b366c29efd12996d572b9aa29cee28bff36798cf325c6978a0c154534e384c2e097a35e4ab25db23a11b4aeb060f1b5449bc37a2fff8a444aaa84160c0fcbc91ec6a97b7d1429d9a99c08589e765789e7a02f891b02f9c0a4c40cbfb0362d99c2486512edce8cfc57baff4cab613bbacced77ab34248146c90ec6b5733175c2cf309508269ec976c659340e6b4aca64ba5128bc30c218b5976c5ec984490933268c8164101397d6ca918cbbd7e4609a82c0e04d6c5d5b48777f70d62b715a033cf701085f83c12c16ba70e594fc8c851f24a42d958b1cceb7f26435729ac1a5eb639eddc784353c573c8b064275fda8913d1700f88227a37b9b02604c8f1b5c8a9528519358874f57cffa059293622e6e5c9a4e40e10a352e4f4c03d8316a692b0b2f918ea698dbfd2b065791c64e87772f28056067cf46201642ba5f6ab42df74cf06a975b1033fc9f216fde33c60e8666721259dcb8297468b0d590e7c56639b644811851da207b7e192ba4cd9a3d899009219c5c0c4bc65a1a293fa1d01677bf07cabf3d4a4fea28a18b53772f5af40070d7d2855c25499a844a9dec0095fa2920926184157c68d6b92848534d7994b6496780bec1ba8b70ff5351af8b28e44a6a64017302841cbd5043ca6f82473d102418998f776899a20b6af106012f5352d37ce89894eb9d8189d6739e73b0bcb452b233b4d6959c7c9d449b3faa170e699c9db997de264ef62939173189764477ed1c78342a8a5137e7ceb05caf70c60d706565894e9bb903de56854ea6871a7bfa7eb36755c7ee0d788935a5ea84742778ace13345f8cda09a27666e74355cfa536129328c9d5ad24c4a103c4828b3298030696ff218b67510f32d89ff4da842fdb10f7b24f5936cb8077c518852835737889410ed056029892793e434371a88885497ded4c16041c415f61015e3c87679318b8e2c52558137a52b18b890a3ac23bec424018a677d0223e2a8a7c97f5a4a4a80b2fba98ad01225e17cb74b0c4cce1c190200bfeb6ce58d102f2a3a5d28b9dfe3010de67bce3e01a30e302e54960f903cf1f17a9dd3aa31f30453c1a239fc746543ba92646344f06bea9f256e7681a13f17b0e93ab8b5972b611b455380102b766536895a690af28f6461897bc12bb09cf85767cdbba16537618353dbb7155a9a3b6c43a2ace4279ded40c79e36df75cc4498a268d8ba04489c74d18ae7cf85bebd512543859ffb7448153953f138db815c80f596871083801a38bc3d70e8371c75f75294996777ab12c3e239a25990118c6a3a4e64fb1a5976c267dc4f2cb60db0bed2586cf060379dbc9c33a52b8c52ae7048430969c0b0bb506b102e69942329933707aacb9ea7863ac33dc17ba5b706d9a050ed865a27205ce30519ed9e4c3f1c405b03558693855b7baca0f0a4e607ab1df608640cb6e853019b6f1b839b52e1c8170be276d77b9cc0b743db8689fbad0add4f60e6c84c55d3488a435549bf86c23274e0912752e854682e52d3f3bbefdc76c0d93cfb6ba0b8ca33aa61a04bab740b0f95826cb19b83876ec1835222788bf52a844575ac1509fa0517d98470dd585c00b78c1e99129199b177d3b2d96b1919260a004e7ca268a4c8a77ce1115486171ac5a69158aa5c894493d3c9c845a102895939a96e145adb22d5c9a488939240342a5d53c22f80a81b47742c678b396f976d2e79f1108465142b7032b5e4b748d28f10361772798d63ffc06573f373118f97537dc2922a96709ca1d7132be59b6569a746985f881e46415f9792d17b11a96a05f241a6ac5a59ce5dac9266568f3126dfe6a5943f4c3b70630dfb42d7cb2c52c08a7d13902713a8638a51dae34355c78269d5a7b154a012ee02b1ab12443268566c4b1fe47962d380b40e2adf7ea604c94c4df6a8e03763bdd27ba8b6b383dcc6edcd3ae189237bddc6d6ac72cb2f83a13c631c2b2b497061a71137733024421b0ba6c87424f614131aa0490659a43a79f129a32a7713fe04c085eba273dfc7eeb00151fc9ca16b3731c1005bd069ca7d1b3bd166f0b988131875bcb556529792594686707cb454beb8309539449417d759096494250dad1438707c828eaaa58700bfe4859a1f3bc5eb075bc91c875c147a928ed5c0ef09a91063098a2c9b99814fa507b362d3ca017f991e276ce8e1f82b5bb2be84802904df92cc59847bac515c23b50daee429eb8c94daae147248c0a21ea0bb6d6f56f12300e8584d8e9a34e0e6f52227281151ae4c305fb8f
|
||||
Input = b478fab62b510ee0a762a123c60e2bbfa1dc11b5158aeb085bf7d69889b567915a73638f695a4dc5d9f9fdacdafbcfefdccf86fbb5e1c052904d2ad9730e7f5b8e98f92b05ce691a888a268b0f3157b334397383f978f2c5bf0a754a3c327447af322902c5e6e308751f39ff19c30dc67417b5e411681500d960977b4dfb36865a87fc113534da60cd61918b2ee36f8314cfa8385b746a97c2f5b7eee72b79df85e9d8959f9d2c50bc34f966ced319bbeece584b99a2d42161b67307008093b36f82a93ce2010604967d676c083c64c9af1cb8b938ec59c93a10c7c4a726342b94b412597fe31c886eedf6f36610fe1a793c8a0ea7673f9065d1dd99e231f51650342c916eb17584e1908d870b62a0547eb392b4e8802b6590c1204bc04c51dccebb87aa69abe8c5ecd2a805ec605e0cbf0d87c1575f92df92a1ff22a75fd3bd5fc3a51aeffb6a592e2245da1dab01323082b3f4a124fc93b610e83f35b80817acdfd5c48cfe4d0124d61a0cc7986ded4cb052c1cf581aee910fbb33d66fe9c3c216d1ef6deb8e0b9f76a8b872d9bb738ac46bebec26e470ca08e8e173014f06a3d578127ab26dfb73a045cc81100bc47223306197805a9a0e17ccceb988b741c0dfaadee0463d57f0bfd8d51a3a87eee84d0dd602b49d43b6fb58b6132ed226f11dd2dcd3527841d979e4df2702fe42a0314f7748a95c71fb85457e8b171503231a7cbec31f053f884f11c0631957ffe09b9de24d1f94ac09bbb3d169658c393d186308f73e63fd83e480d83dcc8d8c2d23069ac7787127137c5256378f6c98b60195b32e926bcfb4a02068f01d04b859f54b182d4d8300ea707f0379c941bbdcb7477b10edbfb6388373f8962158e580ae920ce1b1985d588c11404fcbf9ab367c2d37e921a0d40d3ce524942d511921984933fe5ff427a3f5c7c97c985570a7bc920ba29251ea707434928d2c2c2494b6ad2d4af7b29e3048049bf752118baf1a304e3cc0ae0716f475391967b1b73c8847eb1b8c4250d4488dbd52e7f082a9076753b6091825e0c7329707b741d4b5212a7384125715e708831164f40535
|
||||
Output = c4be00089dae8cc78187a857fc05261b08cdb75b113ec2e9b295818e00a5b0f8
|
||||
|
||||
# Official test vector 35, seed: "4d2239e84b052109a78dbab6d80c51a86d38248105970476b74a0b78b9cfab6283e30d5a406fae1c7f54f8bae1110ee4"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = e22c2b3301b9055cc224d79d41011447083389f8a551d7309b8300a5a0ca39117f53980da1a2843f18647169849765ad654ca735308e2e83753f38cd576ca961366c54f72237d9bf94ba6579a29aab23c494d69648f21d99609beec82498e04a5df7997dea56989142ddeb574bf148379abd2c9c3e6d0218f55b8117d869546a16e2650b10294ef39c986a53c1d2d52c83b432ceb5bc088260b2f28155849b8bd87c74c007090c44b28c627f51594a598ece76a03fa4113a1c1559683580e55eb2732a76a79a31e88775111e0891003639b79acba6083cadc687a60bb89f54113bc959c6d1829faca7bdfeb268775b07a34a0a03525ba9c63b5ff8a53f2620ac8cbfd3c89744f983e7d3b41ce316f70c7aa3c96376744e65eaa40f40cc720c9982167d25e28f93bc0cc203d0b3423e4b4192dcdcbf1d884eecb76795776ccaa6a931a1c89ef3afbb3a0c8261c547db7b7294adb05657e5c018e468925b6012fc38b89fc13c5bebbf0f633ca83a37f61632604826a13baf67302b8a7abc5f2220b3497505170d3fc04fddab4903792a9b0243b9c6b9d3f97397ba41ad05026a62ad5c8207bce97ee6d7aae3ea8742595ecda9520b89b4cbc2c40b6ac43d62a39244185aa1b851202d00858c1c4438f8001b6692c24d98b2fe5b52aada43022b5471fc76f403c2395cba51a87c9c0190b4498d08f859d87722f212a626e1707a71a6f5ec115386327bf316d94159e1cc94fa938817a9ce3e44a598a30d3abca1600bb28eb2170de687a019bec01339a88c4920503a2f77b8b4124ba92c069cf63dc960ac71d8175382503e1590ff85003b7c8cad6a8f443c9892b9bfcf3086c2cbc16bd7c94b94c49f5cb30d183e8acb18d2fb11cb532fd244a7fdf3808d00433fd14c7e165c2ea20e0143b178662d09473b448cbf7d36c45b71ae73cb97269483efd007178b6eeda7c0d2ca32e1a223eb0b4369b4599bb0513a79781644be4227ce8edc77e4c81cb5c57581ea231a83c8e5d029881a3a36c9c25d4b5e69f33f0ce59b14e2a0cd2cca50f8b9e6677ff9cc38da15916525046d99b029699cdea7b0d1a2ccc2e6050154815bd729fd5843bd61c411e4beb3f36dbac03e1f1618ae179946d39f3a5107a13204a859a0e22c4df8dac0eb8a989aac1082a156d5d990718a2a53a8185b868cd173ac0bcc6f2c856a4f5c5a27961f4a13960192be1bb3a6b4a74fb8200ea65714c63179c229a3a77a4887b70b2699c7d8da86f7914f0050c04e8329d506281fdac58af2ab164622d1b9acb45b1a0ed938d8048bda2392eca87f9eb8209fa7b10d86c652fb6677e2444ec0a8263cb6a78084b11b29d83998bef475a6e8038fd708899178eae731e943add65619f1131002dc678684090d8028a7f89e02126573a710876c1e9ccca3bd54a9f7b60c38c594a622b7bddb48fa8bb1fc74837350381f28c95e2b2687b032bb93ca40b7710a9742bf739dd281537d820f6500494895233f56203c05384fe5bbcdc271c6d14526a987e3029eb9a44bd8095f10272cf4372e1df1c537d9918e4109f0e860f0b83843a81ac4ac539fd292e9d60d596b9b5c246683154d42a4523c7cc811b16fd2a98905ab868cc8aa78b05dafd32a1b9226c7b809bd7698a3d55d008643544b693de10ccd7329d8d095b912bbe6a7b684f1330e476df2d8207cd0492a992d2e4a6fd9ea8b40d6949ab1005e84bc813502024a99c8b5719f170532ac8f68c2ae11d78c5691c934d1b178ecb24f376c0c314a0fc8ad0f67cfbb3b8abe360ef4b7c275e31f8dd176be216589d73187ebca0d298602fb3015a1114f79a56095073c28c3e8fc41cf440f89c372a675ba23e1c9d641287aa99fe620311fc9a72abb47f26c1b2842b3fa6a6763aac5461335b5b9284927bcb39206183697fcf57309b3b43fc81f02428b9f748eae9cb5695791ce7b9752a4798f84544335c8eb64902ca7c6c1e76e3f34342c304f56819cdd21a9f5395176ebb11209a52b22c9ecf58f54578324ea9a82e644855525ee7997ef18658ea3ba1318b18b932f6187acd2dab3643ac4b9d20574e48ab7f63531f65cf53194ffcc3a210642a203899f83735c10bd04db869ecbba52e598f6a28e27b89576b023919540502a7420ba7b00e3ab2c16362625b6b375ca32d000c55468d904b9e1532da02f107851a465fc8e3b43662c4e0141ea13104d4a578f7a30dad7dc700ddaaa4a07ae3661cd2f542663e9dea36441a18982cb1e1646460817a0fce5836bdfe124a7448e7adf7b8ecc2652ac6d280e986682df71
|
||||
Input = fbbddd61d4ef9311fe304e718fc432d5b6c372195310d10c15716d26f259f711e7da1a3bc734375e1c38b8ba876025914be8eda02d75be4038dacdc965e75f95dae15824f008b4c3db87714437418a56c6948160d89b6f055fe0a6dde40fc13db31fb4a9d2c758a33df4414536ce3e6207665352f353a58a0a79aff99fcb6952e4eaf34103e2459ce5cb21b394066bba1dc21bd1b5ca8a59cc965e8906c59a01b61461cbd0cdd5985871cf57c5dc682ed016b5cc8cd92e816586c3bae7aff3b9ddf9fe10871288a718e9ee4a6d16f87511a5b90bfe311107aad95040fbb3fa2a19118a206b47984ee972c2d52adeb393e38e45ceb52efc42f7575bed9d72b3248f81c100f75a3303819e5da6cdc7044a435b8d0ef1c7472e39025b0b6d565e7f587cb3d2cba80edaec3837e09578a0d7a43051a2ac56a9494bd13b0f4d7b869b979e8b1ceaac984f0dc01baf22bb8f6dbaceb03b5dca4927b03b057584436ad816519d3a8ac51c8c2f758ccfa3e6a70e59c1aa3497b0883026de2fd298e58794bbc1c88e982a03156c228520e4f667113d712c7764b203d2f069ada9724c1f7c0ce3c17bc98014cdc9ceeaacb2300ef5dd12b356b8501134030e83a0cde503b7b076a49f6d2d2d03bd871dc25207f87442de8ad4865ec243bf698d10c493dd74c6ef618598fc1a85ee51fef76d85becc9fd16b4d64bcc79679baee8d9de5cd07020c59ca37a1a7c9a78751882dc6c2e00353c9d6bb57729bd7528efe1c3d783bccad2e117f03e67b2d9209e8026357ac54a4c93e718ae61030465b177052e935a608fd13edf7b9b83178b677c290217cc0811e97daa8bcfc4242923b225a257fc68dc51a4d5aa589f81ab61071ec12dbc4e7fe4df969bd5d34c95682933e1f9341680eda9bf64f6dac7c11983e21bc8a40a3edcce2f1276f2d5fd24bd5ba309c5a873e14d83497953aa88675b4509c19186cef6bf9e547d81f189373c0b3c00625a4dd6af9f7b457a81da49f7731708f2e7fe1f6080e6538963129cd72d3fccca134b357a3dd91b16aa60dfec2467d94be76f9c3691a5a9e41e0528fa4a74b9a
|
||||
Output = f4413efa8dba4bf3b8da9cfa4f3ff3d7bae540c7f242a377a1f9a783f7b69542
|
||||
|
||||
# Official test vector 36, seed: "ee762f5c9021c36446706a88ef16312f4a12c725cd7afff1484337c91eda8e89f7007f3705747d29907b3fb7500e5074"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = fc9406904b5869ba0792a66c73accd7c14a5f9848c3edb07b14586d66501b14c4a75447ea31b18044aa3f8452d4b753231c9240cfa0651d96e46267f392841137633aa917b5e4587a0d225d6cab4e9a780596a9304141b5415b996720056f89be9e3b52e452dd57958d5512b0fea3ec73040e68c08c09273c1d8557460be2a91b175e63a870a812fe7b0193612d00b3740e988192c863244b701627d84374cc06174b35abca6e3289440c0b305813d1b31a68673988a35a8d98cbc78599af45f318b6c26d152a72a4876f28645e503e476430336a0721aa676b166d777615d163cbc1532568044e05a1e15213729d119d54891fea7c504fa4f13402e73c6c2999a96386b68423907384c162e0a1b7ffc80504c53a4356786cb38c0660d9941b8deb4c09c1122652132ce9b92847b510f76ae8775634feab417d39c3ce9011928c9e8899c15b22b3c448fac11247f05c200e82b604b28ce619415a0308a52172792ad506c8367712f80282327dc35de1031de7a7fcc4149fbf02cfb150af7782fa04b152ecc757f10507505456230078747306ae675b1f8cca7044601fabf24a018f27c8fa683229b9aa930b35c699aa1d5d74236a8c22686b4432464a00803f8744df6353264c2b070577a76b25137f64f2bb9be2c9a5cb47118d5eb0fd9394a14c3c96fc0aa1f338f554410b8871951f072f1f62d71091299b07b666c142c5360a66a7f690b9cde69230c32388fb61a1aacb2614a5a024b5a264cbc26041876e8b4ae7019cb70856baaa03cca4773149db9a5156ae05e0e63aaab1980a4319e98b39469a67a7a0249a36217b19c0544d208e47a950da031e201809890b5378a0e355a95a57a24b70029ff808da47996e5a044a627786883b39f95687edb6a8df790d8866b61f4498242bfe6116e13d48adc6774f0aa409ed3a60094a478c02aeb5c40f60891382b36d6e97e30f40e449a9ed8d1139d1b093c839a229b9c16ab7b9953867ca392b41b7c0a47ac52415f2aaa0ebf5384db49a782c74f613a4eeca05e904a9626e787702b9cb5590a06978c10b63672f188366c1889318bfc130ef5765ca4682833c5688d7a598bfa85dc5b47399c41a1764b14a1a3a04b913307802c2a8c0f9a3f9280317c657b3ed8772ba12a8c766a935a62a743091474a15cd257609b7c0bc94c5b5290d80c472383cfd00a92476a0e7341a54743635a3c703d4764a75612aaf9c37a164b8f8a8c14eccfec5b5281c149a1a362724828083860b7b10c38426b72c994f836506861429d3a6a95ab52a033adbafc59316961bee102c98ca069d25089d61551a98890e3bb26767a574cb1cbe800231aa9a264ad746c51587b2176a46b3112249e1c676368c704dc61be48a33d57a7282bb2234ac53ca95dadd30934053bc80b22b820a2db481c99128bc273a1ef31b4079311cb484e5efb1e2ca906dbd3732fa297805a4eef315a1be42e60e843aaba9e63c60857a4736faa0be817cae2a0c76c05cfc1f9209e2c88a08828e572a4dd6c09a0d57373c6c48d1c74e24b92b891aa8194b7c65b4d09e681d6e4ceff720217a905fdd0ba54c87063b72252838501a37ecf72c7f9c5b794830c44772b0e272d039a9c52c5272360cef038b35fe29b1d8643658b4e70699f3df2697c2a6220e11af4008a304a50b4bb66e2684b49db261fd749fbc937a3233db999c3ee404e7202cec0f58899bc4dcd2c3768c541dfbbb91fc94aa033a59bb7151a83707ae4aee3e98819277381123404f555fd012f5fd472a1e5ab6ce33ce8e52ac3f8a7a049407702202aa9a5035779d6e02e667202afd2a5e962173b469e2028cb6723ae986109f452727e851713bbc2b444b0e976a72bcc85e134cdb1d77cfe4032bc51364cfc308611721396293a73b3324c31cd16705ac77e12d36c43eb42de833fc097a10b8a8acb804de6203a0e532dd7f6697cc87d30a88e76b41482a60d38c91d775c66c9e6bf81b93353446b11840ef5801a11709eb4e58859831f29f4cad9c7785b210d53b8a7dafa17f49727c064160b075b09f83e405b7070d37df2840e91a577e05827e41433f3d64a7e19345a8c73e2db01bb662948a4a97c83bba4e700bad26cc5f0365c251df5aa62eb31558baa95513a64afa56d285b496aeb31f4db94efaa66d3e3ed69ae4b198cc143be5c3678d9339bbe888ae946b58a4666cb26d3841dbdbd7c4b5dcdb1e5e85f26c47050d5a34ad902eaa7a291acd826be0b213115679679238a80dcfd7c992d84b2dffa67493e669243d4fa38c46b090bdf86bc548411
|
||||
Input = 8a9537b3bd3c47832e71720814cdbf70d51604d0ccce33706a8d7e3c4020c10c588e220929c13c0651841211319bff64b355de9bd4034032917a5664310a3cc4fcfb9697a41523afaadd76d07dbef01955e0bc0db35dcde975692e78fdd841306aa0bace44280a2a702704d3210fda2c385955d613764c3663031fba821527e605ec688cc34430c7ce8a0dc3d1b9e52613b24b4c62ed15989a63ac1fd7225e2102e2e75000092b5dc503e98d8fb7f5513edd5d50b251a63cde805524e5e2f77b751c915fdb3ab139684d4a2bfbe1b00867624fec1ba12144c2eb495b003ec60413a4ba772e0d2beee8414b54d79c00e2d8ed2eed7f60ff53e3ee581ba1474a7b5c7bf04227842663825dc77b429d3712c5fbbe00daaee7abb45f81df5c7f574a35bad3da5c1b3f4725cc895735a2f31501011edeaf2e6838fc7e1fd167d880b663e0360f56b16753c8b9c3b0997d67d500b75c53efef0ad7c9c536fd3545b7378cd320f8d75a352bb9bd17c7e34113f9809b5fe17d6c7f7a5c0e48a0d3c2c5804365c97f3b07b7f3aa1ab99a8e050c1d577b346fe7ce9f45fe45cf80cd8ca32666d2a5037e1a7e7f317fd57bfacc53d69c581225cd125d6a1da68e864411bc9567845ab3fc116799cfb0d25aaeb91a9012695862e1363cc48e1b63149787dee361dbd48f2f521909efbc3eeadc0d25e2e74123300d8d282d277aaf6387c93f4bef2b3bde4f55792ef1e4e36e6892af30acf99a17145d61edc548bff8b2a35b1e37d4cc3b669253d75267d2b3675c7ab55c77747fb6077d668334cb1e0cb2fdf0c0356ebbea4ec77f6b2cccbab13b03125458f24d56f7f4c89874544c236e488faf9b48e1cda8ebf2b940c9c957c272e57e02de00e7be024824279977c98e07e6ca6f7bdd33d017abc0d0ba26b17b5be3dba4010881d849bf2f2b4722afeff84e401e8301fd245ca095d52203f2f2f227b90d51b284006f16dd66e4d2532bc9f66f331f75724f312610247b6e3d88320259371f3d6b78ac64c8e20829c955945e933a8e42b5296c5b64363fce18cf87f33048bd4edc4d6bea132d3bc5f08ebe63
|
||||
Output = 1ee5706ff92d964b406807e97547072b0108466d36d2ccd7107121ff5e8e5d56
|
||||
|
||||
# Official test vector 37, seed: "d882ba69ac8bbc88715f1c6387531f53273a5dab87e66faa8221a7f628d2bdeee1cbc59c0e08d0add84520a3a70c1389"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 1d3c2d52b0c6612ba2f52347416c21f34472560103ba81a29c18807b26b938a41c6ee3383419ccc0f8ab76053a611ab55858239cbc692e885fa2d8cf109523fbb1873ef0a4aa07667c3641d1f2b7820c8c7aba235b0799df2c94c1cc023dec298f6c04c1b5ab8e8091b25c1dcf0006e741628cf4cb4b34bbc2973ca83414adf5164fdc5b6fb6176763bd018018df087e05c219473b0133a5c852f67058f85b089c05fb97bd9013904cb628e39887960c6e4d96a1385bbce9d047db042ff50a3daaf19a4fe3a8f2bc85bc4a77c9ea490bdc8f95125c637a45d8fb30df8b899b206aaa9b515ed3ad64d30feec421b13a5e0269aa7953a4a7e2ab24f094332a9ccf45abf1051c0255c5b9e8cbbab63e92a796e6a328b6cb6e8e42731cb49c53480751866451293f4bc462cc5c270da8856ed8cc49149dad57ad97e517adf0925e911d3c21ab4b733b9870b8be380b17145af89675c5fc3b8d93033ad9a377b22672d9aa82577b4eb4b8ccb588e407a6aacabb2dc29e86ba35c87b636b28469cb79c230438702120c9b22c3ff8698071860dbb67a0666bac693f7768bdf02843fe22c92c045ac7d44731919e221b6b0eb3601133ce0458799e32af65a7be65b68cbef0c23c55a1482a7dca74a03cc98945fa26e8894b9a289f4f142fba85093c8b0177d94211b3368f971807d44752fbab03b95503eac8710b0500e348d29146799b45d2a52ee2c20856277423a37322b1ced01a673024132c0b07e2e3bb0d89555295692fe12cdc518ad51864d0fa1de7355b827cbd2cd617c3a15fa95ba6c39a310dcc85bc5c3f269748a9e6059e07659c673a51e697d5324f74613596d08ee6683763ea6a519cce53c1bc94619d9735a3c6422cee019199dc5b8af1aa07578002e14015383b30d97134aa0611b4717f51b36a485dc2a79c84888f07b605deec788b086fe606aeabe5c823100ec726618fc3714cb23d1ce165b00018e8bcae39744dca0ab272e478f1cc6ecdf245259c016d280446c8acc3f2c943b31805b60110297fc48bc7bd40332dc017b216a59eb918e05a1e5e403f0eb25d67f0365a752b0c44207d2b1dc07c6889f972630cb59ef8aaa1f66b9b69afd049b4f5b318b8041e21a452960960d00192ed859724759f0cd93807b78ff4020dfd78b93a0c83b0ba020b39b1a585a0fe3722bd548a04b61fce032261d8425ed0417a783e385012165285fc2ab3c8d522f456b2534464ac20cb45f3a92d599a198683651c7d241b0a8cd794e1a881196855c84c8ba5f6baae47822f3b1daf7cc232ea0aa203802864418be23e0df4ba79781d72c4514c524575d79e4ee85404e601bde8cd7975c834d08af20435cb8b8e932493b3f9b455755f769cac5b0cc4b264b65d3b7da2f22299660a383306eddb7e1dd391e611bba2a64a0659727ac647a08a9d5c6c9917eb0918fc515a281ab51b4a84376e5f4c2e8b89c5d070a831174127072e7c37388763966b0c32ac620ffd640fc366407fc08edac9a7b0a87cf0739e84cc24b0e0393fa77b73935861b2750ecc0f89f38cb97b68fefa455996a9bf939cfb7101bdb929ddfb380846b9e4837f6f94cb5614ad162c1119c322f91a64d66ac0bc181df9536ad1a91c549a9ffb6c96a1258cceb21c4c726859060de52ba5f96236e6939f09ab969fc7ab68101fab558cf9319da199606ff873921992e9fc6ea53909ac641b75791dc7755022272018373e71c345c8386f371865e5045425bcbae10a155bf1b7c61429c1d4093f55820a79bf6c25a1cee427406a4530904f0235005b246790b9aadedcab69f25c7e17a0ab0c5aaa314ee3555991467c8ad457be07a55ee23d334800eb2428cac04d2f1521d0635c10f977ce3015ce321f4eea1dc496cbd2349de603850b65088f6b558cc70e42027d9c078b9a8a6e5ae8520d986a4b8b61ca171a97830370437bddb88cc7e728d8a5b209121d31b110f8c049ed2b65fc6950e3d74954146a2eb88d11d10bcc78154e25c35fc88fb2645046d6a48208bd60b8115550338d570359008a904583c25223d9b30726505107726aea3217989c27867b673ac401b7f50867f6975135aef32b9583b1ccf6f547f13b6772a87407723d6d5b18ef8bbbc8312011e4ad71a63cd9a921208ccb80c749393564316a970326285e118a4df65b14ec260a133868de1f25a352aa2077ff96662e5a2c8336c3ecb18be331d910bb3800749fc94108e75153523c20ff6e89d53f802b23c6341f135cf64b6403e103afae34da038613e2853bbfc36baafa3c6a95347193f37c
|
||||
Input = cf112546bdb7e97202ed8f52372476c05b617f266059f39ebac770871114e9043adeb0cfb4d3f41f815767f2c24843048d4398bac87785ab9b3e63d745225a327b63f49028a6a54e243529ae0cd0feca703425f40acc7e975476de9ce124098dc4663b8e6292c03dc4207d7e1ca6c2c5fc29c862440b282882b4709359df318a7fba8c6d7de52ca109603e7436ca7f9a06a8f3bcdde0d81dc46a50b7ae8e9286b2b22ef44912018417f6b7e6203b2d440148f6961770d17520866f8cccac96cb39318a5579478b8e46200305d8f3285fbb517b60b1b2ef97898433001ed914ca446b7b44a371b01d3fb9b9c34d18b26f9a3a99881594fbe6a23f02a833287f63365d7a4b74e53bed34eea78003d1692696124bc2e7e2a7b8c118e050a25292d70d6a170d8e7b84f63a8f73f9e7fedb1d31aeb1ad897b50a2b9ae897641c7a95d3cd91c574dd06a704030db3fcc9a931ce3b976f6e4f4ba1e1e07867bb98e32be1aa911add61b3223bad8c260b76aaf5fa51649ac082154bf39715441f5da4ac52f00acdb80fb82b55fbabfdde95d3d7098a0300f716af5862a88a54167c999ab8639a1b304247c5455309ad5dcd4ea7b1fddd7b4cb61d85ed630c6eb2f14e41cacfc4e3fcb4e8736e8ff49f176b2105135133ae03893c2274a6efcb4bc35293be75ec252450c5e6e87e47e3c8962bf95e5a4d6e823bdf2936f27579cab59c5856ffdf5d82b5ed60dd420fdce17cfdaefbdb7d92191439adc69f88382060eafbc970faefd45d18739e0cae99077243b2d09951a4787eb81db46339ed630b5904e08053a5cc72639ed841870c3348c49c3f3223a6b233eb8b2a1ec794e81af9ee0a0f919cffdea9d0ce82582c508d2dfbd2137e87d265b1465024432b84b21ac310fe86e23b660ab8f0418c0ad08ca26ea17bb1577d2de14045efd8d0071836d1136820775f9058261de60cbc0bced00925a7e8d275b338e809a5cf5ab018132c1074eb28271fc54390cc5bcd239e3c99992a770e46176e43a65f53feba1de701a8ab38b7966b07fd603d8113fd4feafd3ca98ac5912480767ba32a2fe39df8b59
|
||||
Output = 7544bba4833759c97bcccda3a5018f3efe76878b89a7e3b622c7ecb84bbc76f7
|
||||
|
||||
# Official test vector 38, seed: "6c3aff39f5d097096d882f24717718c8a702382dc4aaffd7629763fda73c163cf084807bbb0c9f600cd31a7135f48aec"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 7af19e7d8841a907c7968b08c528a917808e02f652c362bb72900f2442a80e552fe8996522478280118203913fb5ec7105375240b7cb46d689af4684bdf36c0cca04c700a28f529e565bac5307592d69b8d3892bf15411c776268c1aa7fdf88142f14c28e3bc2e60b5d46c1e3b3788b9e807b83c4150071ccf01c9f316367b05939fa34a68941fa9e690f69c4c080b975031c08f16498e12cd6dd854e3693386cc36beb45ad2c847a86902e0618a6f856756f073cef8a2cf88552c79b5c5a720ff7a63d10ba8069a010fec159e3c85ce592e6c04354d528639d82832acc5c169cdc105c9f06011ab1ba7490798e2e11ff173bf845a9fe46926a3b5bc8f641c202aadb7357f19bb417bd68d8b15826e083532c5c542514cc7d6a970811fcac0295b137fcf04b23da71070ac1b423a5353e34edfb56074e350e62b30925bc3d822a110205f263c6acd7a1453385da696173b5a346de14c92f94a79f29411ca6fdcb7ce26d2b63a357fde844f9c78aac77955747850c276adcdc44319dc2fb9b92ea760a6304c76a962000bb78c3a588200a50d8526b1307071a9b9cf8411772898386a9535c687926d01b4bd987d6b751d9bbbc6a3b71d2ab9296706b968f4766eca10e6f91efc3c8a4e5abdeb7b3e27d67c4cd29d53280c7c225d7f9c884676b188cc37f2035444b3422b3a75f83cafa459aa6fe7c6f1f9b3ab79706490513ef438db561a94911329e9a97a68a4a8148975c4329d0a4e9637946ae4590c73037320382c6b4126599131527866377c8d658353c8cbe0e3850dba0b75a48b80270eda6a7187c783b5d722cba22ad3205b12db4bd64b711720389de25649a532989c237fdc93dd5488a22644a12bb919d82540914d7296a03f016cfe48755e6697f54322b2b2c16bf093493c3411c10f4beb7c8e3b9a83858d9c38adc677a6e7ab458ee54575d5896bb0c05306714fcc2220d8915ee6991741b7a87b438433596358b6beaa7417c55731e2a0e8a113c38506818a0cefa4befee00d77b95a2d72167cb93125102f7b107859b3b208bc07dac7630d78a16b8c223e96458b371ce93974290980e3f720be37ac8c847513c3abe543a4b99570d4381005b174ac05522055aca88031c7e3765bb69f7da3a38e928fcff46751ca03cbb5b70c0242cd89b290493cd4521190d1159894233630a803b32c94568e3cb64f110990112947b20b85242c7b93c8b27365c50fcbb112c544377c6c6f0c2ca848778a70487df839d7f8a452c13100e99017058ec86142a9fba54c7c5a00c2bceb8ba783550ff9c205a5a93492d01f62133a3f1c4697c504d211b3078706ccf9a93462a66cd4a484a961d3a384e7804539987823b795d96a2122111a7aac9991f14f75c6beab224e154b8292272223a99a1934a701529b6fb79bd393220bd29629e74bb100c6186c16ff2b7f62ab12f189be1b46af8a2830389ac80a645aa81041c216bbf1a71ca9fc58e1f43294741afec8c11065cad828b14731645f950aace5274c603e63c47b6d385c47e913c61a8b121690df9b9638a69bc650051b3327a4691518507380db2a1a062d1e94730d9808d1632463aba6d818a41ad17061676022f597a33205be396573e69378f6837fc1cf581164241c6952d8689f42b53b332625671c7351c7cc8c95128b11027326f46869d60c12f64470691b8e200529e2c14392815bf13b36694ccc29a415c9fbbf73d4a61fdc060f9467114177a3545ca2918c8faba4931bc38268001e1215ccb9a2238848168c07da90210d31c63feb1723dcc33b7490a22a5143431d2ba79858e40b8615280cd643505a8d8bf855ba9168381726afa95fe25c425f71329ce53cf26a9e5ad34723eaa2f05a74eaa944b26627d8601d3aa2ab03d07f3519916a12444d5bcac6c61a6f518d515b7ddb2b04caf32f71e8a73dd76fbca992bf921323c16dc744b45245aa77e9c915984550558d6ecc8ddfcc2e5f7bc9f96bb921140436900841378b9acbb8e3698390373ace7ccbfb82084da758ab0b342a6484e5208ec9f3061cfca95367938567c744156ada178da46038b9433cfc45039e31427c208861f38565e7649616c28fd8cdd49180de25254b30151b991f705ca32078b95d82003370b5e080b828299e43813dce7a2e642b22ccab6efb85f1d32bf365355817870c1fae083d54213409052b2d5dc399cba92f04e7957fea0580712265383dbdf8c3d33e0718a34646e0ad56f9d2b504dabde37714c862d7033947ae42ca53522a65fbafe18d3bc3e0cb66164e9a094fe4b44d8977ed
|
||||
Input = 84897e29b7cf71ed89eecf0d8025246cfaf1b153110f7786575f5873a7503d21323f3ecfaef4d7e1e8ce4a110061d3b08b959431725fadad0729f7657809cc4352c9379d901e66837d9f0dab27028ba75035e5f9e28cd9104f313e343ce8c83ee1f87b730bc40aa1620c7488e830472c148ee7f963e9ac2af4903f70db186931f64c48c040fa524d71de468e1366439ac7f09cf50d7a78e317ddd093b2e1d433e81dc18d7e189c3d9d57e547545bd8805f96605bd4a3964c878459e74ab43805e6ba26c5b5c23be1240d7e624b91558dab865e7aa7a67b8f8c6b330f540d30251c8c0b0d0e6b07d1a0e064d1b33e86b4508255eb99ff62a7a8d68b72d041510b3b47779b321ebcab2fae92281ec2f73e3a6af32fa84e85e1f9d6565499d2a2629eb14fd822c4e05be48a130380282ba73301c07488d8acfea110436c043d8dccc8fcfbbe2d0491949a43d360f2f567e0b16830e61fd121331a95e8c024ee388401812397fe52f7d3e57c8a15ecc842362e66add5f1e9eddd61129ef8d54c21cdd7732042ec25e799f5782c369d79cf3c4ef76ceb325aefc51904420d6974eac1b2667b4144d42bf860e0d94fb84cc3db38f47dd2ab6c3bd87a94c4588e35ffb366c3f9db03af0b691481c00406bddaf6b6d57675b049fe8acb3cccbd772e1fbb46980ffa6cdbd9423b3adbe7cab0002b6b5e9a07f43fd9d5be5351197d77478c468078e4fd3244dbc89153e16bf826471e64d3a278140022893f3b08f09f9cebc80f2ad78636b4d316feeb7d78855e1c48a9c6d94f40c974b06987d0dd791c219e98e36e7efd28368c97c95fefbdc90d066d9cded633e5d741cf7274f78a8517c38831d75bb62b0cd1a84e1f7e5870768b21da04af0f354b193445c4b0e5aefcc3d9d70b677ac71f37b11718dc42ce3b50748ba914159bd8bdad2442dfd71feef0712a697eb884722c625bd1aca83783b35f2ba1d6fb5733c545b685466dfc379e8df090a6f051df66471d944177a1e7c6e3e5f55151902602b9763ebfdc9f9a0f56858626d1e1bb0873498662f0ebb6c9082b923d49835f9a637de711295a80
|
||||
Output = 0ba3e280117390015d3872dfdd37a4688dcd8b188ebd4a3d4dde1ddf0216aefe
|
||||
|
||||
# Official test vector 39, seed: "cf520b92a2e3677afd003ec1ec6ef136a709d78f828c9c0dd4946efbd451c5faabfc83ca66f9d3d17ee4220553b7a69f"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 60f2b464532c0462aebce823d9ec68d1497f6e39a5bcc30f4c3a60b8b1b4cc1743560a08f632301f4b9133b7c1c617046c9c22f3330a00e13203d8954027a23e599291a25ddf602265664bcb5a53f6326368612e9ed6b5cf68a3a1ccb031b48a8a646718d4318356bbbb37628892c38ed121b04cac2b328d19336e06f217e0185f62ea65b633595bc556e6839541e0a08f79c0a3f8616c2743dfc7343d1a2dcd98435e042af2c1bfd0d3b66cbb29760a7684203601335a4fe36e7f18212f60b78e591571a1c900960a4fb67fae4c30c9f1a4312514a2ac120959be9f6a656be1ca641ab4b4b5928f0c86be14233e08422d0203aa13740b6546503383611873de31c56b792c906841ef73c44ba0646d795737149639888c0ad61671817cc305b9d5165512b0778fe53ce5c80b514916ac01c2be0108d39123c7fc35eca542b21c194bdc01d571b6412a68d43048c14a9baf305917ac2f0fc16addd7a81dc6bac0f35ecafba8f67cb7da948692d56562ac511c1757d9851fd5823309f47edc300ce2c8901f8bce079959d72b3ba306870c186034620fb4809a7b62ccfa113a32514fdff865dc9911aaf19f841935019a8794db1949e605f0cb1bc4a67c07b795c412200c2b6e68684c895a2422b136047b2fc084b4623aaeab573d04596f128444ea67ca3cbb782047b9b178a586e992a7171419b2a3c90ab41b1074234267dc227e5e27175c38b5522b71994a5ae6e10206f60cbcc2ba91b91312a0889eb18819c4c81b08cb4b6bc0678b380e1a0200cb78d54b7a16521468b91ccfda38d7036cdbb7444c42bd70c906772a976ca43c9df4aebb19aa2c639845410d2fc46110c671055a7f9878761fa45e07140be4c068e9c416d7625cfb086bb64542a1d63e3fa4101b541d9de07d4a3753c3f7343342c840356e7871b9b4154e37ec17a1e374f84c4c7a10a1f59c92ba30afba96bc99c8619944a3d381a9c97b1beae910a87a4e42c4be90a34f59e74e40b0bbd7ea566b1cb37f574ff020784a171c804268a9c43b3d8739e782a3e2860107b894ab317f389b450cb437b99726bda2414a7a5a32a799305802fb3241cd41a1df49168c953c7bb0ba00a74acecca3c87b5edfa11ee3f3bde02b52df2922e1c0589ef264334024a0d1274f1ca7f150129644b3ff63a0ffb7b490c311101599cc4b7567205e77c69b6a88167ad1445f4693d79c94fc38cf1ca513da307fc37a26c1e548427a6d6df41275a0c2fea14b65c85b76fa0040c20c3ab99f3761964f61253babad9f7bced99c178770264a50aac903684160b144d73f225058c8bc9ee0833f7497735d3c079d48b6d64bc9130345504a48469c3eefb3bcc1b50196b430190697f4eb0819596cb2431efcdc5170049d6ed08ce955a6f91cadcf7c6553099daf4c70b58b27ec6a850eaa6794d9b716e2ac6b54143f5a4b32c5556751af88c5290929a034f4a28f123465a00be41013464c7731f71479211db708cf62965919199eef88b54e7bcdb724850e90aa5b340bfbe0569fd226feec7873405e97d547b8448b9e1172c46474d5e4379ef8bc602c95ed38344a3c5984b71362a75fa5285484c917e18627cf3616220165ebca134173756293b8c4f0576b85b3bad02864e79e44989f56c626c4bb1a52445f6be11772a6846a5b6afbb47f6f18c4b82b13f1847885d5cc8fbc49f025bcb413cebe44a9e4645e31d9611690501a70a6efd4aab5543afb82335c5919ab393d0fe0b13c6a7f3ee54625f6cfbf5a1099a59cd9e46555f95d15b3991b962400b16b62e13d6378517bfca259b899fe563a21ab597d44680c3c0bbdc45e89586bab137d20465e1cc9893c70c7af6573c120a6181590a7798a3f374720c0a387dabd1689b9fa6a5005d0040388bd989a3e8e482860702f737c349e2a76106bb191c3cd4a746f54093a4657cbe5a1084cc14757ec5777ba8032b421af1b5b9826391e10411dc60844c74ac32cbbe3508ca7cc2d38c395056a74f4ecb026740aafd28f75e57f7e323dad7703b2d465acb56aba59065a3c9e921c75816a30bb6baae54b70d96a9a5e31485b3c855d993301fbae8e82af72a9aa0de93f9400cdd3880e81a5292245bf24a41080612506f511f7e884e9904471fc6491c39624868dfae309605024027120dcc782b00e4a20899f92df27d9ce3278971cedbf8491299a33e6fb32d7d69379bd80f5c5452d1336cfc1cca76d1770b5524b68540b8722795f17d639791a85fb01c8e376fdb140ee343106c093af7cb149b316ba79446ceb4e5e0cedb9b164f9
|
||||
Input = 5849a7f5b9f60b0281076f2de032e49173d488051a56c6d263f9965349bf3d77a2dcc298958cdcb3ea1dd93280f1ca9fce7f6d46f297e9773629dd8f1e3d8c19ff743f3f0a147b2a4941b758c953577a2965000dda430725fc0e357206cbe7c75c84a1a6acbd0eb850e48a39d466216b3d9607fe8e15d76cfb8497979d736764d32c4914dcdc7f8008fc47115b2037f0d5025477e8f987daf458481907ebf0d292a9abe94e244b1b2bf70ddd50108ea71685c3fa043b40594521b781950006550c3e12ca7497e55e18ad4d8c21387d1d9f440c68466e1d055b6de8b2a5933a109a72b3673f3c437faf9e080a83ff29dafcca170ac344b90aefaf793a8074ce0b572b1d74ff0aa4613070d297cc4571ad311bf88ffad878f84095824fd0307efbc8a7cf6842ae96e2cf1e576b91772146606166cafd8689e7eb296e507f0221f03a904f9a8d12ed86afdbb45934ee01eda449e7e2c42298d3f1ebe6734cefe9793a441e043ed02cdb82509abd7e8a61a6c178bda248f8a2fe82e042d19098f66db685a3971fce61b806dd471803f7219eee6cfc685e678ac84e91596964f43f896a89976879006d9b6d9c28d03d71738be8fa742e3714a9de3a80197d804a14c3a39669606c0d625c7ee41931112d8f317d14f492611d949b6b55c46a3cf0203f5189c7e50144ff22088890ad9628c6e11cc045cff314829d7259f0a01a28d5078da002643a3c3040779539047ffcc5ed49cf53ce7b26700aa9490707f53b8bffaacc6b934f4f54529512104ec4a0c5ce6c23e6b0e3721401a55c46e563e1b314c07bea13eb13928ffae59f0a9a326401314e802fe16966232488618663348b0841283e984a970da656253dbc9ba692809b2ee577cdd7e776d75319f529ede3974e9c8c0c39d3a23a7d16e9c5cd8639db76204f57357ed3c3389e3194034a57d123806ca41f2d566a5cda2c3c1addbe06e280e69800404efecf8d254fe905ac31d4c8871284cd1031079d944e9b628729c3abb5f17f92f934d3320d578eaaac77f81b2ec8e2defc5f0eca87710060aeae768df64b93113079d88b311e77514f42
|
||||
Output = f02b50d251193fedd23743b33c4a2610adee54b61de0a780ea5247801c86fed4
|
||||
|
||||
# Official test vector 40, seed: "197e5d562de7e01bed4fc597db28dc6efdf0179f3a5bda5f94caa39d67bae730540534d59a7a06c8448f628da8b7859f"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = a2d9045133c9c077660d211c2041cb67aacba5191594d25e062c8d8d1c70176ac8e061b9c52292856ab885533af2da4638d198ad65140d1050a596ab5fb06c9d5449fda4c28ed256b8b2c3b741c80cc832c36b41d0c94058a3cf98f87190cc2fadc856134033e5e71858d9845b048ace125ba7d3541c0ca15a447dc3b17ec9453bb813b75cf0988184a9590b46bbb99e40b72360c0b71633226bc58504babfc25c6d55061749f26715b69e31a345017623126929b8aa4e226082999337e00c1ff38081b5e42ef4e050201146dc3276a3f831a6c0ab2204a8aed13649d3a44213a9ae836321244a446762bfd73d04a33fa706b43af4aa2297b59d83c869342ad0ea508a281a0318b1f45968be2559ae88551726825362c682444bdbe22c454585099b0714947f01a60ba8a84cdd90a6bfacc77f292efff2395483a972244858976e56c4a3d24c1c4ef69237dbaaf968241bd965111b20767493981c869c608b1e59b025e2b0302c016ae9a5cc6766bfc1c65d9b949d72a07924a2b3789daf34c2b8d45512904e3b297ecde812e1b531dd080e2625c3575a9113c3bb7990a283091f99b7cc0c089b8842652e3227e7f5333a448b80f6935b20a718246d2c013b252b8571020d35584616c0b72421a820c28b5fc0b92d987068b2212dc32fde0a53cd787cd2d95f8b667d5d5b6a3665c0ce2274754a68e1bc724630caaef553fe07854d91cd97974f5dc45035d9b00615cda8646524e17ef4e20cf6426441e37ba07c099a919b75b736633991ac17663cda35a7645cfc87a444f682cf58a94be40674840975105457752d66755a8a2658d545c2c7a341c18a32d82538fa0b2d7cfaa2fe212aa7fbcfb1e393e13bb6ed1674597996e4452f5a75af78b7a158dba990189106d0119c7badafc5228f1318152824d490976761282ad533b4437a73502d97935a7ef284c7ea312ed1c9d0f7b85388af589848ba4a04af582e428153e645cc5c0b79dc4c1a7c87239b5766e4a30d82d32a0c4b18eb24522a033a7ca66b43e177597c5fb9b3ba6570050c08922f8833a96529d9857da0905a8a01b69ee593f1c88a882c62d2e74c3f898d6e94c4451b8f1434b263c5794f6b30b674bcc7b06787474558b68b2571caa3b18700073db1eb08d2ba074debaac8d569e778b11ea61c989a6456f120cf8353f806a65f941c2b7a56cbf15758547634d6b21fc854c33a7f0c281b276ca1a0c1c3a25c9f88498e5a4673f57136b952cfa9a51bcbc68a25b86d123bb1c2eb9403e2357b14a1623c761ed3664345caeb1c5a4dc87674d27d7bd50c8cb5a2c574a939d21b1bd33a9fd1761c8c0e63651234946da61481de2a9f7bca3b79c26c42c68ba67bb66733952d965f815061e749435f664db1863a854056de5343fe122885f3758a144f7cb48f616a88aa1522a3433125c37e5f2ba52b3640d9d78b9a0b5e24a719cc6c71d89c89d38571e0aa2c70c28cc4d12fb1c5625c528b041c8005ab2c3f83852cc0bb08a78c036c8f55b06ac2b3cdb1bc678c5a09cd447fde85177415076cd2bce7312dd605ad0dc87a80db2898c839d4ca2bf84b8b8c270e79108a14b01b865c7049c09d132987643802a8082dc8a39521b449c29616ddc76335ab96978a9296203d0f66acd8109c71767bb27282a15213acb09b3054cd77e1cb03b96775a2c632275b44ccbc73859697a74e7d28451bc7a6b6166441fa0871ea1def29ae81408092c77a480524218c70dd0902fdd57c3bc06538486e33d2a9770529223cbb27837750e3495d500300bc2d024872cb613b27f99b7b370bc4986b58f45ae26a47256039b6245f283262f18067e7e68d12cca7513158b3826f4152a046b54a79a34f6d06ade8972aa5ec8d19f44fc7f3b158c3641139bbc2050a1b830470d32db141c8437248c49b0787253d571c60c405560ab029addb12d4fc8821f316c5f4adb1e672ddd05307f3239ca19d5cec8708e791d6987a2a02771cd27a46f01e1ec10272889cf77279da4bc6aa570303a42a023c189f00c259e8a82b427a58b63e3a340276176d5c74040684ac1d9821fed29d0317a6441aaa25f64458634d79b6498af110110501ac3c0e2e981bf9bc04a384819360cc466c9758cc3af281ab299b5a54fbb2a84a31ed41bde8b2c64b29b882cd964ae023eebf4fced63cc2c46ae89b2d8e1b7d241c00aed0aa7c1ee52781de22432e87b3e1627bf1ce346187554469241c565a5c14cadfbff29e6bdd8d010e860576285483bb5fd36e2f944d32c4317bebc1e441470c1372046a790d79d4
|
||||
Input = d670b343f7cb3d6adecbf25fa2a668617207763b3608f02afad1510cceb09ddace24915854a6a97c954533781cd4d4d53880f64ea463a3192873568e6162bf83a94aac7787e4503672c8fc34da581d73f4567bf2c9b36f64697d517af1477c5634c25e12aad620349d8e13dffe6dd05eb186824d4df5f07cd68cd4152e94627bd7cbd146e26776d1a523c7ecfb02ed351a072cd3c8489dd66f3676a948e23849fc0e693234d0a8d9bf7b6373ab788d2e181126eeae887de24201533f6ce8c4204c2435668f0267fc262528bf9d7846235f16ea8ae448b4679505498e209db64a44b9c4a25a90dafd74d32a130170350280aa6892fe0a7a6099a5aa4ed8ae4e90d9e0aba2e6656446a73d63d795c63fe46651a799ae2f70fa035b936b863f64e1814be901328b53c0822e062c1e80c59716d32690e9f9d15be19c4bd37d17f2e026597265674d4604f82281b05bac596e3e8b9c43023c8adebc93bea419855e6a97e568e845c12f63b9212796b26ca4f9735478eb91335b0846c2c18aec8ef800129390865a39e6d158b29b59b991b0f85edc69a74648cec41bd1150e5d964ade73cc02ef04920b2f16de8253fc479a0789087fdbcb5ff3911a3bbbd30198e2ee4b0a474ee4dbf0218462c28b9ca1ee63ea6a08ef26e8fa37521fc36e10169dda18d4170a13e8cdfd6e1859c59ef2d40af8165357d112e51141635fd57944f176660d04f9e42648387b17d5c1f41e0803c7d234d7b4679096b3627d21909a3bcbdc28e52a72af326b82d8a7bbf1c21e839f31c80a4ff83a6f6c44febc6ada3d626c853fd7b0afe4e0f7fe074acd9dc4a9cca7cf7aaae225b4a50199d307ba0334afb56bf5c5efcbc6c6b5e38302c09060a9c56c99bf992fa7e1fa22c864c7b30c2c1a1cf264bffb6e18ae96ebf7a0671c57e79266b11ade3a96e63b8ca0b2c62540e26984d2ad5e351576776c1ff01355c7d6ff62930497992f1e49cdbf2d4d1d8c72b5225042dfe7c693426c58879fc229513f656768a5ebdf20dcd22bfef481fa4a61e46dfa2a7d36c00b263927760131fd9eea12093491f4ef606c062f94fe
|
||||
Output = b8651dbc22b4c050fd45f4d0c035c01fa7f12c7b8670f2f2c204eb7b2081d47e
|
||||
|
||||
# Official test vector 41, seed: "f170583cb451d8a45d105457c02c01a33a40350616ed8515bd49067142f61efb00f07857e4fff3fe11e7164c648c76ed"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 29c8ab82c157fb693a88699ff6d00a138776dfc2c456f658e59687abf9891be9b6099176de598fbf80796026b2bd8c3b61222c020458a316cef9299149e89bf988358695433e75953cb6a834f5611cab70ae3121730352b153345806b7f193af96658c26ec85138585e9892ee3db729f39230d42c4d038668ddb97600c2745c760dd579fc6e86e997ba66da4a8273a9bc357a0735cb770704a7211787001666dbccaa059333f282c7814294e6c8967d363f6b5860f88975794c564536ce0816ce4c929e595030d81895d590d2a1175c26b53cee91bcb75c849995506a94e350c9ed2b04741f8ab21eb5702a13aa59ca19c48cec366a6e0024e4ff18a002331cf9abf9c7c8364a840433977eedc93d0da6145c44732aa420051655af52c2484cdf2fcce94f2831456a240b286869813d3c3cf54b282a5fa343e4c46ec775be39b6f5128179b073f37d2b63ab05e91a8a378f1718c1082d5581ec8805fd144155e1a094497a4d25398f86b78ad55918ac68b10a252641baa7b5352b2facfbc591bde6671233880eac8521e9599ee898a76a6aef4ac0b5c7b5250638167d56d9d9281f19843cf03706116040bd532f78b7ee012a0a38b95c7f47a4c4563e2b9033d771691e1a8e09958d3842054017fafb93ec9fa4595db9c9f074deb6593a4a65efed83851f21036c2a46c5700e007baf3a418c858a3ec619b54fb45e1041620ccc5703a4b41a1799fd82ba37874b085002238467a010684d7972ac77b5e9611f13745f7f10dfc8c7510522fc65c4ae788277306c9c7db94ee77a0780708ce3775647bb636374fdedb1f30e12d7b5b331e056271861a6059bbcd434911028d9d2aa981b9984aa5c257da4fb0668886805479270ed9254b621a0f23708cce996cdb184e59973e4f2024784a2fdb1a609b4b8efc445c6fb77a02a88b202c6b69c71cf8e22d2b77017d925df3211401e851e7a467c278b8f8721c35683aa9a42259ac733a32a808395e9888821c3327850331b2197bc1105be1fb1379a317b903b4b23bc11deac51d098a9a82ace24451fb816f91d258abf826b2ec42d7b34a5b84bdb082452eb84d21e158bcf7652ed82bf2c83498013c711aa1e292290115b9ca1b88ed75913b003e8de4844b8ba6c2c0b5b70c90ea63631c6b7edbab7fe94bbfbe2b7ecf5707cd069e4b27bab8e14c6f0246d875a75d9b8f6d18786f21891009ac9353c4d98839c5f6b30c95bc6a463af7d503b3c97f73d9aa0e882d61c6894765a39fdcc98b37a90c01ae1b815c25635e256b5401e97601bbb099e39cf49bcd2acbce2f031dba15c048377df7d1480e1676e6341a27c60f23b21c80572d8b59528f455cde5737e278b0fc908cd6273e048177f27120973806a0ca08133a9adba099ffc9c0547377a8b159382c3278c43660429c28371732a69600149fa2d196e56a798114b22be225ed584e5064582d42aa8eb934d3576203c68ae1001bb3a26569aabc36bccd7ac3ce81161655e719230911ff99720c110d4e87c5587440f68b3402d42cc518bbb46c0978350b94870ca358c81f8a7ebabc2a1a2a594b2ac4ceb537a1118a5c374502a175ec813a82e3ac5ad30fc8609150817fa7b72dd25732825a1bd3d96665b3b939450329f508c4bb9b7c7564fe315f39607d5c913ef394b1c92c41c582a1c76846f921035d2b9272423411b964c788cca593a41642c7b3440ef8dc0225399a8e04102d5b0ea4d6ce8d6899eefa31d6ea3f2f53713dccb1d5810e4e1143ab765cf37a796adc9c8dec74a20343ffc4a8afc57d9de63243b230f3467934f71613537f29409ea6b22cd5ba7f0619865ff42a6b47984d3bb33cd3a8fbe8234ed1696a28908af4171a937ad1f14fc765c633048f069225f72c9d9cf3c095137555a25d5c80469c8930d3b2126223639f751e51ccbc1222ac4d5855aa2c244833585a36179f504d5f121c569624fc70bd633b3486c90b7a913e114a7dbd8110cc307d82d941a509a038e23ef37574618c783ecc0d6e6b12b0eb8c23d83ea4c4200d0a171bf51459ab299fe753bba28015173b1e6ccaaeac2d9262c8f4c72fac3169feea8f535c41ad610a92bc4023074f0a9885555b6b044cc16ee74a33751d5f0c7e9f166067f13944036a9678c3e1383514d25e8d563d1c88bddf25e17ce69cdbc3e21bf296deeb65a4b3045f3a6a9ca84e8805631c5abe31861ab5d1bff67b0e5d82b9e9e2690083ceb0529c937a3dab8c62c17c5678ff82faf89d7d99d5c3e0d10d6ef9af054d842375f695abb28e3b8eb495100f04306e92
|
||||
Input = 5cdca6e6d9b17e558fc40469e70f932aef00f3852949fc6f45cae7f491f024a9a32d138a72e12a632e22375120ffd6a6320f0de74da29530af4ddfccffd90cc9632dd7b3bfc0b56b53123cde6acaf4034ce9f237c7db2042bc5c91f8b136e56dd2df100bda93de1ae81055ffd8c16224647338389d40818268e223b921dc3db443ef6ea801f0679215b99628b1f2b81231065faadf443a86949187c70e6c305058163bbb50d4440910303a3c1bbca75ef4f25b5080f141593694ee85110a7f95fe814b0c0abeeedeff1290a8bbcaca99c931aaa4141f10e6ea96ac155cc950e79fabe64c81e49dc478c5a1072fb1f8005f3ae86673a65c2522eb904448166c2389d4580a3e13468fe3b8a7be4dae3cb7b4edcbad505a6296d58d7e377c54394836b5237c941c28b50e995ae7a8bd99cc718a5128c5cda469b14c3bb8bcf41d734805bccda9797618eb2c6c549250b571def4767024950093e7507c45de3aceaabd070689fce48a804502b8e3ea4b5ae4b7fb8b92a4025353fe29fdeaa55497e1b7d8ba2ec18cef7dda3a2651c5ddd16e442d3ec72ac97dd488159b415a4c80077d2a95dc56d0ecbf73ddfc9a64d26445320b9bdd3ba110e8d3051c34d85e22061829001de49f1eecea0aaa6ebef5a3809c06ed4393dc052df762b0081eca82d3428430b5162bf461f7db8287c2baac25af9e28692c24501e52cb9230ee060753996f66c80835c39341db61780daed5bc08ee5f54b6c078bd21fb3d517bf3d572a9d1faefd6f2029ddb6ffcedecffafaaef86e13d49727c0ab11a7a7201e8023906677ceb2ea8801f48401f40612f5d4b18bd17ae98f13a336f4bf1d2cd3f2ca37966370e15d1c73c9e5b02648fd988bdb5649e6593977c8634531cc1c45f3a6627420e96e7b9110c9cb3f28a78c182355f47d9d77708ae3dec94a70221e5638d52f2f67b14710b11e95b7cc06277ef1c17aa8bf99aa63aa448f9ebc9e2970a07187222b2ee855e671c12f271d85ec834f5f9d7904d2f791f396d914f1a7bf35a8aacbab764aba562e17db0610181b1d2bc1eca94b90dc8ae0ea1e279fe50c612
|
||||
Output = ad703d0bd4448d8ccd0f1816e024e7bbae4c26017c5b93db0d2a0ee090f8ee7e
|
||||
|
||||
# Official test vector 42, seed: "44a6774b2cac02dff210ff861a090561a453db311f47b6fedb81811872d5d9489f5fc4103010139ae53fcaed209dc9be"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 7a1c189ca7409d7c41284ab00e1b610354a4f4c6952bd1a2f1c3c44fa4909ac106bf0b9231e6918c1c3e76813868c900a776cfc41b4d5dc469184a05f3a602ca2aa8cde4a47a3725ad6c931a080f77b65506321e40a05ed9d0963979338f76971390995570632633cdb12b0ab90246afc8a625a7a2e635944c0439afc566535148c6eabd96facd444a8cec10bd633c3e5dc5535b5c036f585309c5a64fa889b82406ed486f6a499faf93a5f550b39278bc29e59f934918b59488d817297ce61148895051712a9c062995cb668be38338cc39dfa5107a724ca8b979b1691416598fe6e914a5e02ecf8cbc80a93b386c6556e04a36535412654b31039e19d1ce8cd2745a0480d0ec3328d76ed84b46f86b65546c49da91b2a5010b16bb98dcc38e0cb9a8fcc8b02c113c582a8b83b95a2a678df9d3b7adfab400f054c302c5b68837af2b1e79c46ea9ea4de93b7e16b6a0efc825596c01e0c92ee561ac67fa8ec7db25327cc4d8ba82e43277b7a1cbf0174a29b54cc2e3467a787bd9a73c8d0ab6c54c7a960350004bb66c8684aa838e4d74101c192869a25f3c245cbc8a19c215987285216b14a49e0407c32328b8b0807680b8f7297d162138de9914abeb4fe55bb00be482e7a5a863ab8a1f540a04b2ce03124d700c2598383c4beb4c4de81b0b748b8d5251af6059f647ccf36024cf84bd8006ade568b6abb9b0b9e4a10ad89cdd4093aee62d73e7316eec400449849e6bbe8f69a7168cab3010ae8f0cb51015bfb0ea85e2813c2416053cb8b88180bd8cc40ca44c58d8199eee25b74394808dc534bccc480b98795ca74a8f3c9f4797abef5c8fe99c33c1955ddd62234f0479b9abc0d02b4e7a32603207a66d48b1c429cde02869739868e5707fb3d4cf80997dd16152e17848f04ab7c6c4b65b845527452c4f1682010514e37377422191bd18a99ff635a797151e81ce31c656d6391cf0a430a5d72d05c1348670a243629383e75a7f19939a021ae4420f87e68bbe44bf4bd0b46e14b6f92c8ffbfa4b56218aa4534537203756e81643d37509ecc699a1949791a9cc163f1a23825f3acd086980250305d5baace768780ef44dfc520b2ad2884537b70866106bcb40d3032f8907bcfdb03cf593a30e97948154b5a008346442cffda0b730837950d50e9c89c06cf82b17a1434d092ea4397d49754704a2639640284762b6205001267b03bd2929a3065fdcf953cf963db2988eaba862b8060e76c7981afb6b723910bef478fac0cea9aca70aeb6f0b1aba81f84281f0462703453de00a8e986f72226690c6bbb47c7540b2cd3e184daf908b78cbaa96f76291134ac691b8c125a79b621e0d89c446a24afb5928ea90c916b14ed567a05ab7ab00059a4010ad0c95908b46b4efeaa64db3ac3806ad690ac17254bfe214c6c43a49e407ceca84780926c23c9ccd5201cb04d3b7f151be4335301e541189c791ae701180c1492266c8903c75bff93c4420502cfb2e2148a73d222c35097464e30387538009943483e3c940d4724e9b2222f2af1521cc37f9285316bb65805fb3a4c5dbcc1641518aeab732ac818a0ab510330b53af41a2bc665d714755859748c19a65ab193706c67f2cfba079699aa4a2c1dab96ccd33b358c29d21209462802da30bc032e67b4ed214e5c732f46a6082f94525ca3a192a6d9ef688beeb5eee884e383b8b34833aeb38526b27448eb400e5a565cfe09db3950b4025bdcd375c3ae0354bf40985ab97060bbc26a4b46f49bed0f7c8e3d6c64d0068cbc0b06c407b58aa0841e1753b6caa7c9881e10b3f39f37f727468026c9e01e991151175367604493217c4c94926d34619a99d710b0b9717431e394be697a4f7567ed6ac353f712b351281eff90342453c9ba746bfb77eae6a69da431a6d31572513ba4766408c133188f43cb35c45804a511a8245df002165d5c1bbf59749d5ce524655a29bb3d1215089c52f8f8bb7de4cc585635436ea670cfc66d4f939f4c2b1ede32fb4c86825b982439656b14b18bd150458d6a7fb0280d2f32fec716af0f84f4b064301b807cf1898e5119feebc98a5bb924c1997ad19239251a752e1a448ab0a039ca9ffa0a3e7b9a46f21ab24911f9090090df6a322795d5d99706c6a9bfe717ccfdb7c978178674a355a1b970dc940ac10148153455bd3f5ba4d7e51501b921fb3ebaa74b4963d80cfc36f64daecbaf99973c4a2f7733e70193e1bd7ce2cef900bb0ccdb344a8ab92fece749cd292e4c5f9e1a55e0489bceffb204d672a6215f4f3980a646d9f880817c52dd
|
||||
Input = ae1f027a5c202229e1390d5828075456c32d4d2150a921d3f74ceedbd6ff1d312a3d198de5c70c7183e3c6ee8335b6c9ff17b736e0e8cc8391a5f4bf28694ebaf6048b08e0f250e2170c0df2705267be31ff34d0e4fa33b45671fb39c5a588fdeb9b4ddb4d851d813a036ee2013917829808487f907dbf986b4b402bf20a08fefcaea5f3df064728050a99a379f5429491a787c8f49f470dce5e84018ecddbb8dbe36dfc9eb6613b885b38127e4c5e387072f0a3efd46f39559fc56e9d7af3bb6cac708e414cd59d40fbf6305ab4a55808d12b347571ed55ce1962d288f1a35dfa0bab72c4366c49f8ad91483595b7ee7bf2e61477769422c6fd728691675682c1b874c942eb7aefb55f57ae126b4f76b4808a4595d72ec43fabc720032a2289bd786fb71985f28ea782da14a3c8f3e935617d5bb1dc6cf2a3d46940e2c33c5f04eeb56e9c698bb8f47499d0ad6d75b72ee44bdc33767fda82eddcf36eb2fbaf41ad13f25c54a83b1d8ba36261eba1aea0952390c5fadb413f491c432f65d171aaaf5fc0452ae68334c9ebaa73e737f8be3ca517801eff8aa022a58387f4c956ae297cfb0ca46aa46262fe3aed57887f872d03c8f7c203b157ce9218dfcdbdcfcada99455be74c3b9c28936db6844f85ae84d7d24806227e93e89ea942c85fbcbc9072adf9cd507ad90abe29f0c4a8274e6675d62d2534f695c9d4ab93bcab7f425f19f2342c980ec47d63c241507e62c9ac2300d0ac10725402a3af857a5cf6e977ca2a7a360c3e3ad43712b69252efa947c26b43f0bf544edcc7978e075b626c412e536254685ea3fc5b2b1b7d275da16af3273b4da05bff8e852edf54dfa9f05d5dafceeadf0613613f7eb81532916992343918f95fcd562d7ac21f1d0d9109abbc8e4311362ae68dc4deebbc684f1e7919429a7da102b4d1edd397b9c7584af1ec7d2fc58c3204774dc2b1323a3c2fd13d036892a27559a142519651997a4da8efd6a898ca0bc8cc9428b0f36a00af20218fc73de9b2f6dc9541e5a176fa58dd43eb2e3464f1f5d760dee9f7b14eda091d0e699579f92c29159c88b9125d
|
||||
Output = be5ef071211ee9026f0a2ca4d34a71b516ddadeca881f32705cd85e19d80b233
|
||||
|
||||
# Official test vector 43, seed: "49e1855588b6235df2a400c4a70aedf8ab17b6e5e2891aa745f132fa2e7ab0c8117c1df37c39f5d57624eb77c2b4a091"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = da674c35006dfd691af6d04209dc2072609f7e2c5f8b17622a986b283956d10c2ba71a09268c47097504ccac6bb79c58670595e0380b41b48cef3329fdd18c8e3948855bbf278848ba7b36a930bc1a9bc2abd08b07a196a5cb7691e1bf008c7db714c42ce32024d235774b2a1b062c8949b47ca173b8d59560c6b0c09993fdf96c93ec0a7e2128475c8413e7636b092240571a29b80921aa4fe64a0f28bb6995e5c98de7afc819494e4356e4d402adf32da9eb8ff638c7ba9cae8140582d0958ec272ed2858b73e721b8a1363768abc6f1bb4495141e304c6a684b9fa58dc353ae3b414c8c1c08cc5428897604cba22ce172cb18c7cdc0f0b59c4757bae20c387a39c6534a580a0ce907a1e0b091a3e23f5e78b0dfd5c1e0d371ee46488ce5913d64252f409ed841cf0128bf01e39731eb40d4c56a07852c8c1c5fd8ea54fb22a00b9a947590401e95775f0892511bc617675882fb32050a27dd96bd6be27b3eb4c3f6c50dc3587bb6bc44e4e66643289c462960ba219ec2395a259bc1fa33cebff73ac93910195ccf6b6c8572553b9ce3c4965c5184e9399ba2734544af00b13cb8d61aec881100646975d031f1e6ac53d019c143b4f3b79fc070c7996064abd87c17e4cb46a710803c492a0165d81774cf4762cb72ab31483e78b7b41dab11b3f68c2e52c65361a065807efc148af035466f4517fe986d92908982c2164929a68bc9abcbf83d65f44603558103735e21b800e3d7be7b727169b494328c6445a891d09a240f88224ab8834ceb0273f49f4aea842955894d0c01ed689a95ca885fc31dff6b8552bc2fd47b4d634114737a4053601546d7581d302a4b9c82a08c1689720b858869b5e2bc54482184469e63d72a43142d4ef5639de337e5f449eff154a2e910949106a47092cd67c3236a63d7da4dae143310a01a2495c36fd297aa333f1997c7c54943d0985a6e53a339688324dc53f04a6b10cc1d6e042e53d009edd84999c1b1b0ec4cb715247ea59083fc338c083ddc0582827bc25762308496c202f51411a45103ab73550ba8ba93b5b36a3f8bc51981eb4256f48b82e94c85467ea9081e6e937c65c817ccf06f3c556c28cc11c5223d1c341d749b69b812cdc1895a5a294968009e34509922a3c5e52a5279379a146a05ea534616b403420ca8bfa2508836ad9466678af38059f67f9373713ef3602fb9a195f2b7e58048c0235f87a1cccff562ea8c26472aad6cb61a9a192d26a1aa700540f3e2133ff4a23c09bdedcb2296c01fd0a5c2387b75eb97515bd4229ec79975c3463848237d6580634c1c2f894fce754d690856e247a7f446bfba722c39013277a3b379445c674252bb2c41d403bb79006af420bbe7280fff8cb479a01887f3b41ba2add6c863b2598cbd522d322b37850a0587172435b7c3cf33537970063ca322622a99e798cd48c390d1d5c20698aaf04874427b1ff2a20fc27828328a2f3ec7448e9b63eb715884b93f38fca6fba056b466ba02c2945d771cdde115dff8b9f9544a0cd1670f7891dfd384747c4c64b655ade6bd493c3572fc5ff7bc724db7052fea39b8c7c0a5660b1d45c0ce3709bb1133faf773b0d8571987a5476191cc54909746c4e7311061852ebe60b8bb959829b02f56412df4d11260b349a4ec6338d049c84558983718c8f17f0d093ac5a23076d67787a5344b950da059ab3ef3cc818cc0f1c10284f4488d553a51843e921c373a3a8ff72858eb345536a56638e1bf8395b744c3c5031b29d7519b39b63087423f154668d5c3a758d4b515f82ea3ab7a32f4702a08612226890533ab1d857ccd0b561f50b9d70983c671982678683124977d41878e21325b5c7b7f07cb4388b4aab713c19359a9995565670e8f14516a97c5a7d37c2d199bb5f14e4329a55fbc1ebcfac4cee1bbabc968199275b23517b8f0ac253b248259bcdc62aaf1526580510db5e1332dca3dfb9cc8d7b3b90d32c25e80647ba98c6c3c88e0d66e9dcb2bba0cae59a567cb3aa83f2bac9fd70b6bc77070004020e3920881b6d6e14482698d31400d88a002bbd051f252c315da158e77cc9799893445c734f6b4abb2bbee31b8d0da9879800758c1112e98cef96a16e7984390d62811282f4d4923a4e164d85a7f37d35ec7dc823e6b725dcb3f32122266edd9b17f20f8db3eb07bc965f404b203a8f072004bed3cf49d8ec8f4061384e26f015ade2c914dcd068c7899dbf3aca3d9cf5d6d02b2541da3866666355d168c64c049c6dfc0f1476cffd520b055756162f7ec94243de6b14ac0b9e5fb366c
|
||||
Input = ac619037a4f7bd4a3977d7f58bbb14aa3bfe977d9e39a963e27722c9d714d332445f8286b464026eddd0117f6f48db730683dc0b6141f9dfd5a99e6035beaee0c4717d3a800c99877023142a3b6d3989e4911e037b557840dc1aaac1bce787c18d76993c27e5f0daf549563772dd702de5647d72ea7cf70dc737a6f6436459251529a39378e7dd08ad9600e71b282880fa1077815cbfacc56af67fe0685cdef4cf859125d96e81ac8cbf1ba78093e9e89e640b8b01ed74ae2b06ce0c933dc5473430f89fb01f4c078449cfb6b07d01a7b338fe9d0fff262040dcae5a872a5c9b859b103dadad4199f4021794bc591a6c7094c35e4bec96ab58acde32cc9854543bab5a68599edd27941eb98f1a301083ddd2a4f65566f32e439ffbf8c7f3c6bace7a7ff6669ae17d47612ca8bc3c6b6ef704e86cd89d7dbbd9a3433d63ae3d5220a2688b7f07f6fb8805f18ab2360b9a9b057e46a37692d3cb272eda31fb6a79e5c10ba01cf276471ef7c242d5b9704090fa51dcbebf3436ab4404b2f0cdd44a3c41c109006bf013de2997dbc2c04415d4b2089d7376bf49cdb48eb500baa47357b571c412ced9ae0fbe33eaa04b3e15b52069517a245cc9b67fc09a8091fdba4f787e0b3178d46a141ccc1953e68556902f36ee32a0162b449afa336a6bd4232a261bab1ac288019bf072d8befe02b292126e10a68a576f2fb9658a1c4a6804e5e206770a5a9c0a4f8bb29feaf2e893256f0756626748eac3a05cd2a7b2730d91f64409903b6a4163aea998e52705fa2cca9d7d8221f771e20fa2358094618e200b63d65ab82a94913c214a49cd52aabcda891f98617591cb64976f520b8128e2e068370ce096f9d20b0da867ee2e30fb186d0351c6c17321a68b33dbfcd643817186b9ec5d678d0c2a37e46feca6ded502dca546e5048d960d1c9038852389762cf130f923c11da63723698e02c89bd7eb8e8f26c3d6ec9784d187574b79049dfade50147f6c0efb91c6bf87e1fa52ec4a5e036f4fde7064e9b0d9753e97d9e094ad72e27eb0ea2c67d5ba0f3687cc67597273fa573bb00288cd846e7a2d92
|
||||
Output = 69cfa5c666c6cbdc6eec7ef004a6b4464ea6b11126aa209142ca28a97cd5505a
|
||||
|
||||
# Official test vector 44, seed: "df0e41d2f6f86c1f79d31fd5878e7ab434fc0af3a0d5f47d2ab3fef31a42bd949b0e3629df9f575befbb62e829e51dae"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = b888984741c4e51067770a261e23b658493bcc8865780650b1b55795a58ec8ccb51134115a18be0f61a46f848788d7af9787c335d77762e070fa40999d937943c495c63108f44cc05a5c57ba31b207eb1c3e11a72c04a7fbc8bf5795b7d111b64538b2997c1a35ec8b69b816e44b9e24f119df4c60b70ac53cea8bd0d31ccea78242c758baa2beea94a3de4b143a1178834453acdc43236c46d7e259c4e537132634b5e4356f5c49441028e2a45964ea2f9dc7ad8a43454240828a407270bc8e24701b5ecc7f7467024ae87bc90039c0827f83904f99f0b76bf9cdd865b13549c00ca659a42c0b065bb0e518290b7aaf57996aa0130d4e7a216b175f287c8284a3244443b99f1455b391938bb6b6ba59c26c651c57fcb99c324c3bfbb37e1b3704e6b462852e6e5142dacaade24160dae6895c291cc7c28d86f1a4198277ba04c17ce023c77197750a97148a17748757ff8c276621ca8782533b960d8ea6c0dc0c66c60186ed4007d0839cb51892fc46279ba3c3b1b51729b34179953f12e60ebb41437d911098d3a3edc81d7e7c23922c7d3771ac8f9c57492a2e403589435887ccca4f75c70f81688070924b81339134e3cf4db1097e612995544eb98472b1d688e52cabadbb0a04b2b69009bbdb37510f75cc76f9ae79008e49dcaa71e1c8ca69b3ee129430a4c0463063bee240f73cc5cb160c9b51942885ca5d1534a5b165dc7b2f499168a2482be8008d39b665460b431345b413d391bdd35844b73465860a6a53c7d843b4d3db106011c5b21565edb53ece6cc853849903146730ac6fff401cf38003925b6feacb99d5e003f4a369bfeb014c93a45ddb6b5c7cccdd36803a8588e0409a5941885645cb9bb919ce134cc8588e23f6538aa62ab7f02a58283e3f43b1593a1ecd75b9d76218bb189a7bf63bd7551617cc96a7f045012959f570092e25883b89931142ab68c8030af732f85574ab42a11d7a683c6cce7b1a01c0baccc271bdcfd00b3528102115abb101791ec4b77da65cd53b74c0a3727d430ab2fbc83c9ba002e59cb1c69f31762185b9667ce278a3f941de94b618e6334f009bbeda4bd3b073a71b3f1a2c1d0923bbc6ac1b3210ab79a3585dd53bb023272d57b454b91b7561a4ec179a0213ca3b1471ac8470036aa17df24cdb02136f057ce32c3cf3cc49d6e946c6fb099c14cdbbf99c36c96c7f296658bcc6c18713c3eb97f823c5c04112637446a18b9d22a59089a910236cc67febbb9260a6be03bde9c0a936e4b935620c45971196f6281e842d2ac1babd6b80340a71de5035ca89c915da186e612c9b7108178603e447969ce41535015c72525a5bb71b4385232188955c009449801d5da97ea759958dc830dae5341802a382e8c3095201f1278a09342cbd9b55dbd561479a7fb08480fdc526ffca1ee5b8535225894fc439278b1452e33291a07229e341446206e8a71fc7b67a18f1abbe563d21bb5523fa544e899719a7541efa3cd3936bf552262a7508e134b39d824fc5ac63bc282f648119b0b02bbb9b266e9723d29c0f88ac190881bb20a32c0b0154f0f6cbb2724e7117301dc2a5632888195ac0b84264825c51ef509ddf52b422a9639722364c67b5e7887d5a4837daa18dff29486c4a0dc4d7cc23e8cd82a443b5eb17ae402068e254531c5ab812012ac1b6933bc938735c6ba6475f1212c2d032bc612d63d26bf31046d415a07bb52b76f48fa81b7510b597d043c58554a49d9c3671b55c72e67e46632f46bc1903436261c637bd99ba617bb2c39b8c163ab70734c950bc8b2118ae5ee54a07eb6464c84265210d316ba04c282698f68d7bd30362231b6f754086851ad8d96401eca50a37b45da05d00c56cee13af0c91713ab72d5595b70bd53ddea2cc88d5304f69ce0058a365f11875cc0c209827bca16be7c06e05185d71936e49a81e82f489ccb232d5fc8ed19163cc414db5428120e47d0eb503294b4ade14c82ee78800e07e8b141abbab103a35a249d151be6a5834437303130cb45200962845c1bb7b20695dbd3c92b367843ec07b4ad6584c3662a2b77539177e3de90d6a87bd7b6957b735cc5e8b649c180c168683ca892cd2e87603362e9da565ee28322afb87bb1038bc2838dd294343c4a45021afa3c77b06dc5fc0962395908578bf277dccb87007d8f15e968c51b8e2e376949c67bef85cc8d66529e2f6f48bc6ca25b76c4f29e0da8a73939ce8e06a0f6afaf932b5b3ba52d77c8019234be5e40771856eb77e4633504899fcb86c6a3d433d0b8d60e26f07bd61f1d4ed69bd
|
||||
Input = fd54939f4545b5421ca1c841173ac63f2b3f2a2b587f79b6f81d10d3a5c42a154bfdcfdd2bf0a361c723de6f428d33ff30dc3ae83c84e0424b9faca382d0840c07c8756070374603861e5e4316c225845e7572f6cd312e29fe752554faa7198ef3be0ff42c1697a8d1fe2ed2e508cab19d64b93c796343e799c3324f1547ec1dd73b5693e480003de1258f1ff706d77b348382d8dc37486d032be7f051f95860909ddcf30def3f4388156a8a67c7711cbf051ef6bfaed946515fdcee3a07969907a2ba6150d8b5da2b0919ddf574021515bd15c0273e5d7ae1b48db90ff4124d9c94fd0c6b93a9d02595f570328b6bbbe6456b13b9aee7d23a6e86df751ac8e8f694e2381671b8e9e3d4ab333500ac0b52a8df81e176e655515f6bc3046b090b4fe7c04bf8ef41dacb1aad94705f6623c99069a3053af052547fd29893f3a76934e662b955126e0851543347d6871a934005f7108cb7e5e50cf97e633728706e8a9fbca3e7fb0c207fa6d0c2d4cfd210654e47a9c8a94f7babba92fbafde95dd9af18b6de411c3c5e380c162af2a6d1e37faf3378afee3794450e6f008cd31c76c310317bd2b3eb18620adf1cf926f28af03d8264d4e20737cce25655d4046e641bb6633747f7c131ca5f0bd4a79244e436acdcc1dccd39c4caa2fc0b475fae94cd2d3e61ac83f6dfbeeaa123383a0078742ec5f7a766e86a1aa57683284536911f4ab13f56e8089df9faf9aeb064c27ea3c89b07035ac426d986d979164969c2aa6004bc8d5160c52cc89a792b13813968506c5294d4e085032a8be70470e06aecdb5d3a9b85b67f519bffcd41cdfb2bb9a2a670f940dfc4be5364d987c2535492d5a3d8d5340ac9faf49c4b64ffd939d3934b6b259b3235556785435b75de3b113654162ce2a2a0fff3e38a18240f67f26f8a6ec7c8b24dc45177175ad0058011a1f95ea6a39e626137cf7cd20e701213a67899bafb6928aa3841581e8499520b1c19cea69e1ff1c83520e1e0484030905f36de5723a1080cf37be40063360a431a567a40f9f71417730df49f23e0b4cc6c57ef335436a96195e6dbddc3734
|
||||
Output = 50660c9d4acfca69b77b3d43fbce809ffef94de6b046b4c9eb0e09b7ee0fb924
|
||||
|
||||
# Official test vector 45, seed: "d3c9ebba6eb03ccb5c9b9d2c8d7f0cfbbf50841e24396cddf0e56525b38918c2fbe6c34cc1b93f7bcd4f4d5777e1a488"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 3790552ef50ff1303042565c918acfeab09015176923d39ba028a669392980b1740517ceddb58c1b9c2e414227f5ca8c70351cc2961b9d20b1617ba29bbc0c56b26522d484092026bf524cf83307757b0fdd29032ce1a01a32aaa0317bac18a85a7c66eda31b14a458ed7a72d1822f3e6bb39327a90461300c8b3efdc8b3509312efa0a15c4123878371e6e7592fdb9b57aac9efb81786a354e1bb49041327aed4854b5a4f8f6122c4273d469c78dc4269b76400021770286cb09cc16d267882bde4bee63ca6b27b898de14f283c2566c30d6f27227dda89d1aa787727484c805b49dbb6577130fa7b5a2e0971eac4935c79b6148717cd536b54e93e60d4976d432794c9b34f300dbf8b2b7496802e26b2907b6a972370530554fbe12c9fe2a60fd70871a86eb1e9a3484c00f1db310f46c9cd51b2e1921bb3db510ad57f927a3fd8540c8a794cc220c69fe34f09c347fdaa4cebf75ef9ebc87e8c9ea9d1b2bc750119d57acb14afa210a30cab2dbc992cc7490f267506929aba78a3603f238aeb5a1ddce095bf18743d93b5e3a0528e42191c7538283275ee1585f642c333d1a54185aaabd99961a4abef2907fa14c09267b18657568020208ce01be2bb9ea7617608e51bbe5a13c9c5030cfc595da43d411a83a66ab874202ff2e77dff5bba4221a855b9a59416b9c866941e6231b1d37fab9c5944cba5cbc80543385094a7a6dff1be12f5c295e8422dda5375a79d3be737e327692a7b8ec595a02ca32cf233296e3b569fc3cdc746a1dd3bc7efe3a20b16226b1b2e4ef763fd8b7fe373c79e3359f0180d14561d4766538e967445c963217961602636861307f0987b35a14d28135790170cb6f4bc248c85ebbb50cc4480a7ab87fe2357a50c9fa6aca8d0fcab4e4a5d16e7c3cbb6a4ec47993fe5c5358c6dd6774b3bb946f6ca1a34470def368808105b406126b89172ad4a764eec0b1aba22b79b9de8e607f926265523917d045f45d56bb03850a8fc497ad897c252888308713b0998da899400acb5718c7b88a37cf42258cfcc1079e070eb759dfdf728d80c5e58571085c58039638289076387fcabd0405073109c0c45bab69c2e8154c02c0a3b524c213805ccdb837cfde3c262837c9ca4ba17c24e7f649e9909274d41ca4231c2190275cae42b67f539d2050effa088e70c4b05dab348138d24014583900d7e9952f6fb6a48906594024e2226c79f8b14cb6078378b9b35122d6f26431dec265b05bcaf49217db88231342cfa240815b87074f952f89c5a5a22528ecb7c023714dafa0ac771c0fdc389a7f065e07b5f78ac1f0315a89167c0f78c3acbe66ef06ac31d3ac71e1c665f13ae8e24985c917ce9426910504a70fc38edb10c0046b23b153cafaa39eb616de9089b69b856c65020194ac4ceb3ac509ba2e89569008645bb75b61fa926ae22252644466c236d14a38da6537f88c3b1ad962c06d11753e74cdebb1f8cdacdc3291156a37f7c91c518c2a60f53005489b8297a86fd08d08ef848963bad314b47d45c225a47832b2ace01238459261360f54aa4e6914ac85f00156ca4642ab3056f22d2c73c44a511c44093016fde7b4c83211614193baf0546a2948752819059e33f686b6ab519a749d8394bc992116453fae214660b6a16a776996b6d959880be5917c3e5b71b6608c1d711e9888577eb95d74377a1430b85219e4f46c4e41696e4a306c220a55cd99c2825ba3c621d3df09ccb7b148d92b8dcc4bb330439ccac33aaa18fa23c4f9eda4917c3026a3085e3a72be62a0fa73452142c26ddd78a7d13c54ca0c81e9453ee73a8a7a28e7605be25699575e94b5076ba9adb33da052407d07b3f602da8e98a56ec843c54c27bd8a6d99240a871a4751ccd54cb37681127efaa8050e5bca4965b6bf88e85f8283190160204738e3c38ee00be96bc6de5931adfe69221d7585c5a2cc46a308e321e8c6baf753c33ea3a9bd3620341c70e4911b639ba02a9e552965b24b70c0d67631c73370de52b09e49835210783ca9b4614e2859819a8e333553a498c321bbf337091b9b579ce0b50acc100bd18af617827e1e4c3f621c111c551a45893d934c0ec84025cb6588f54442842ae10f45609370aefc22befc12c83c289b5e1b24c894665a53c57d0790ab29445678c6f025a9cbdda29a097a3c20a7bc7950a4246b70d09d7ab4147cf96f0f660b1f67083b34f12f916a56b46549126b7c115c4f5eff17b81ad53eee6f80fce9a1480ded5edaec5de3bf5b4d7c2f2e18e87f499c1968993eff196753db8045e2c8ba8
|
||||
Input = 9d6d14b02a62724dae05f0355fca246c77f0f3278614fd38d65992802316010804060f03ff2bf98f7031f6d577b01a7ed3745a9d5cae8e448f63027f250a080f9e0702c27f69977f0e025b90131f951af187018df2fbca75b431abc165c458364a20b07cc2dd79233b406f1de7a065f23a209a6f54ec2904b64671eeb597705935217de197af60164c1c5d6d5a6d25964bc0869b8cd34f805cbf047dfbc49f04e2cbb04da1d5e6d54335894ef5819f670f0be394f6c90518dfdf1c5b3be47a62199d120f506e9e85e3d2e70e083fc53c11fe55b6cce2b36a4cd3cea7ec835fea1f7b13a40715e3a6fb2ae9cb31d650c332ce3fee3b3dfecc026f25a0feab03e973fd1f5be004a819a4f2a381d16ad6ba4b87afa9ca9b47ba9723cb91a5c05ffaa560f431e727628783c8ddbff8ce258d5a4d4daece3575ca90ace6f65a0ad883ece771085b71d42c24e9e91fcda51cb2a91be06a0d80c96e57f326424281de35f27436becf858e01980f19649c4f83be79b6502f193a2674d521476553976046276f8dc5f766121ac0220f59600d29928f81d818cb6256026308a8ef17709f2eb33788f89910b1b084a941ed8284079bafad36eab92c7fc78bbfe02e8128c1ea221ffcfa85910a9450411929d7f3c496a36fda7cb9ab122db67c0bd8ce9efa7d51a295c323640aad49cb802da87ab55b4f51d57c0ceaeeb8419ad07b51896ffd0fa777cbb86f2e9a8d4a040d1d254cca31c606d9650dcdaee551d8daed86871f806fe0b56a2eceab90b8438de02880dd1f5f350213515ad146b582005ad6cb6e84ba3977f858ff159a85eb8cf4086f14e1158d2020815b83abe3117a3cecd0bd0e9d202c2b9bda5dd7c42129e7be135fa8e85947dd79c3b5bbf8a068f17370016077f6caab01b32f16af2b6d3aa51981ca57239fd81b4cbbcb990c391931e48790f78f2994a09906f78293c763e76734fd1245c283f478356c98fd8ce8178b021dfd6e69c417cff12c42bbf755af537c8aa56270245fbc085dd78781fcdd81f9d764addd6dbf41aa0e691457085dab67e644e6ebbde49f7a906a518a75e28f31
|
||||
Output = 61ad103cd549561fbea8e9a7527e3913484d17587bd8cb3c8fa1c9015e0f426b
|
||||
|
||||
# Official test vector 46, seed: "6b3996e8bc6f52879f2b7be012c44ad555707cb7e5fd8abb3457a298336d6fdc9eb7853008ff13201d5969a315c7e493"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = c04b2e7442a058c538308c419de64925391b0ea1872406b66198c82e7a99fcc2bce4909dd9841bafb98b27b651282c77f3ca698a4533e1a93ac19891c981ac03e88f9248bfe3a792aac258d651a04ce79efe423d53c91300553d4648c0497c2870f56259c82b81053914471ddc958a817898612a5a47457a75976cc6b693a358b170a2bfcd1760c3f5c996eccf2d9a6f617b052e1a5f1d6856f4513ce7aa6bc1048f1d78cd1d136f8045934229a913b758c8a3b247ab093f096bfcd6c85dd1832e45806e35a9a0e2a9d5148a7e24a1d0a9739e2c232555b72caa6150e1c1165511f7faab2c181cc789aaeda98929944b3f10b27a360b9a964ca5011e5cfbcddd9828473433617b20b7d67f828a4cfe133634e3bd0bb1b81f13452ad66b3a351ba1467c01b648a6320726580318745a4e03167a2cce3f459f393b6f3cd3c8e72332c5c0500ee2594fd243daa3b1ac297de284a328b2bbbbb4389ab5aa655a58699428f7403ea222a42a6463a324c3ff7cb115585a95512f072a6bf75b82eba456f0b6522192c6c6799356d3969e14a30cac73e5d2aa20e681ae7b8e2de411fc37b464f3bed154106c303b7cb046c690838a8ca00efb73016174ca8993a2327a5bf75ecf570cb6028aa97c502eeba7bb5ccc5ad24b4cc9b66f3158abe2a96436b93862623fe3645396b051607942c8505008cd219b572f1ca76ec0523d6ccc8ee80ec29507f7388f13508f517c6ed7425dad4528b398aa6e01ac1c69997ccb3d3a96714483cbaf872e2373b17315cadc77518f124eafac8a240acd6042093f8183281501f4131d81164759d77ca9d305699b2e7e2734dc83a6c08862bea9747b21ab2db5ba790bb94b951f79095980b0ae0f30062042840b9a731980caf97b6309025711c8041910c0648096cdda392c146ce40109743c42bfaac8035c300175098c282181a025b2cb36caf99546796261794104d756cc570687fcc1249860e4995e1a2a32da912b62897c6eccaa0375a6e95532e71b3a8448425a536a111a7d709b6bd22887728b5720f3499edb0d69e925168a2da5851b5ab756acb4baf4cb96c3c26937fc660fc783dc1999257544086c75908a1df52c3c39158c178648e64cc2f5f0401653c900baa63fd3c2f38b9e2b159118b04f27772b83111c86d54d93322c87b19362f7c123d03fb3001da57525d79b41af6934e111a621c6152d87173a2785f40c713e2638880cc60cc852ade50207251dee04599e944d56e89d43a979152748f0f136072b764e3703af487e9582b8957a8b7e99b9de355d6c9268d0d901b6984bd8f5c446e2b918c082e0fa5fcb60652fb925937659e3b1c399947f8d58b64d8816a4b2927db17807ca6133e0c426c359f934a59f717d93a956c702c8a337738730937028951139c150212ae2acb67b833461581b84a6be279413dc073659424a073a94cce456c3cac24ee472a7c0bf852146b62664c86bbe88e29660388cadab6ef4e9457e28abb7ec15dfcc754357b2c9a27ae99b6908747ed1e670d7d6bb8fe955c5318c1f0a6f7f001fbcb272409806f3076a9adc2826d10ec9c284699c3487c106f4580a5828ab219bb8dd5b9af1fb5289f685c232b1ad2aa77899ad71235865b007ddb398936817f65983b052806dc70447e3c633225d38a2907b91c44865b5bf953c4c728643f3afafb82656b775d4964f02b160484344a928b5915b0ec5db5586e21c2ffa90cf1c0fb1153abecc44c6e7528cc140487a731167830b305b29006a584c765bb2580753bdd84b3a7d2a8a6a3888684b18a7859bd5983c16d4155fc61b722c5064264b5a77293ea1cf3afa510485163e213a834ccacdb746f3f55f00d23f8e8073d4547b253c279f7802e862bb035a3f62272ac917387b8683050093a5529c37900dfb32533c5b2cb803ced2a50e7c1c5d87141eb42ca864881b88bc2469f33070b939e6d6396fd98aca783b3c57719c877c52cb4150a9b900cb8683498bbcda7354342a369477d2d28f9cf33db7764e661279bc80bc9eccce769a4375dbb08836509b686892e98da1b23f39656a73281b44328c2ccc23d41343f069760c5049ac4a339ce249213aa9d7629250f77114e266834584284a8df7e422f5ebc17547a736865f1065c948da403c5866060a171141a5cd43a7f060c0e08eb3ed2b1ada0571556f056a8a6b42b790c77f953a9b3c6f60d5a0216ca6cb4b8e9443d8405b218e8e434996910f0dd3a18bb5e6069b78e41d1c96249919cedc2369d8d739ab125e0d2ccb82dfebcd90240a545cdfe07511f2
|
||||
Input = 5fb1c8ba7ae5eab19320d537ef24f16d81081d08b9d431933ee2eabde773ac1dca741933875ad696ebee6d5b0caf3d9716fbf01758880cc4ea30ba7728561d818cbcef3e1ed972a04d7f71a71f3d4f9d9f64390dd3477c5f92275cddee998785ee141dce718545597ae28a4692d7a53ce47dbae80bb99614610fccf53fbc3bcec7d2de111888f3802a2fffc40c14dcdaf8da313b5dfe665136dab7205ec58a8030d3c5cda480b2c8238e563fb0ed78d6103caaa16abc1941d51df5f4a74a62cab9729f9cee138309fa8f00b564645dadeeb1530ecd1c98996f6fa73130fc55524e7fcb1095ab4e924d868bceebbde208e7e87cd694087512724b84c80b12b88c7d0573865efbb540fcaea075f3b6184754543afdd551d78af529a47878245ea40a32e2251fee105b5a79eadd381a8cfb77c967cf45b189caf37369661946e719c79891a667f6fd1c23b27a0e08c7255a6ea3fff503e58e31614a50d8124a1d78e91b1b61e268c5b6f410404ea90811876c56c8db82c83bd5deca20dee1e1f6088866cd3789470ad6266485e35a34c8cc1b82dacf47b83024215acaf84328e5e336ed28cf42192b7e44b9287ab4d3fd110bb0497a90e7828bf41c88562c13b2133751390f9d791c99386b652d2c7d2d1f6c4e98a091e42f19867bb18b1dca0c7e6851ccfadb0b17aa667f8b45d500d4e7fee1a0a396cbafcc7291bacbae5b6502b33ece59df3978d27a8c844a4517c0224e521bf996330b90f9fc53bbeafcb2e4ffcf4819291b9710c8f9f80ac910d10b7684f24fe82909de34ad876a1c337c60f04f73168482be81591624f49bd1ceb5688143124bc98361e25e0f9d81683f60eecd8b6b47e63dda2789705c37bbaac3f5d4ca3190909dc06f9fe29d1695c9a4cc74296dcf728a383c9f7af3f2180cdc898d3c87882182d96a98006df0157dab605510e456a61acc11e8b46017fd66b17af10d09d6976545ea76a6332be5df45ba9bca96f5eff5f25c74726cebcc5eeef6ea69a97a5cda4b399e764d2e3506bda57e607599e9f37cdc78c27513efd26b02ee5bb708acadf88e07022ff4b11c9b
|
||||
Output = 6faa40af120f702ce6ab77b8d673984b99928f6835bba2643f4a656ee09ee6df
|
||||
|
||||
# Official test vector 47, seed: "730b65ece22de27d573ce3aea7cb021c415df210d228808d91d4f380070ffcb0778b683c71d4853deb569c822765f2a3"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 50029770b98f4125c98fa3333f30006ed27700502da565b383b219c53b7ab2361cb4dc9c56409fcbf509fc77476589762d787eb0f08dcd779e39db7a03e3a2e6399b87e05e73f16359943694c173f07055cdd13b5f925db9bc1efa7b2d4ab9bfabd88a91f651d167319e281af40b33ad50706ad966fd9a598c7b4712bc945f3b814e655d0c6c85b34ca904f292082a9ab39c63de01551edc423db5ade78c5e3e8655ba8cc512f6beea2c0bb7e68683fbaa51f648e38cb47503b2da6c5a9a1caea32073a105b0701aaaf2a77f45527d7d5b9780e68cf62636fada8125c049fea9cd98e8185f83b06df6a148f88ac8926e6e8a32639bbca411aa9b17931ae5240330aacd2a1ee5d58675e35c81f1b41216c0be5636864790acd174a6447012935da8542e24ab9159029b1817b034540e70911cc15c6eb95a34efd10afc49a2a13845c7d5b52a0c6879069525d9cf1e1b50675ab86f493c63504e0c04888092785b2331af83277bc9780cd7a39b996d77b66755c27cb868ccc2427aeb27414ab8aaf09a0e1d826869c0c500d55b8f0565241b5e71517d821492e8850f6928b6d1513b2ee31845516dbc85bb4a6c5ec4d22829559d93e1aa0a4bc4d7278b7aa0ce7e34b95f2854994833c15aae11cc5d88d781e838b14cdaa3d3f443aa422173774a29616122798c391b98c965583d35b18c825cfc6514bfd3353e2bbc9b5689c72b6c40b40ded0b89c0589da10630da16b959ea0a8bda72c1752f2e033a69450e8ce6ce891a5c6d6b60695676f17ab5dd737e1d729927253277b78bae570c85eb6a7f3ba3b4b3213f10077079709fc23705eb79f6fb186f1365e279516f688e137a7aa3f4c9dda26e4d4b04e2f7bc0896525c1616bf34afa994cf48b66720071a1f8bc7dba426804799004dc386824083c427581489f01b8e4818a12f551bff1b2abe00883220c1442385b568b31f22c10747a7c1f61971b5429b4c6f93cbacd5677b6e331c85e99fdcc96fc1b5cd18199c3aa3606c300a6da4b48b6c5a9c27349da280018461d0791598630496a6186615584a90caf5c6c5a75565dcd2ca220aa8192240ad257ca4bc4aa36643b8b696e4f06a57132b8b5c3577a14016a5cf8ee837958b6241dc7f31e1af27909e72cc459a767b2a334431383dab0ab60348570ff124e55cce7605b4fd6c12a1831115b6c76f51734a20336e3b920fc4bdd77937bc789f947c815f1018f766b28b5b7073774d69267e992202ee965a3aa0778357a4b3f18bf23c05a5da5a2f9a4066185323ba71a3f92f921636b5a02e37e06bb3324a3f33222d5a5be9d062a2985592b52b3e3833af647aa4c9cb4e8a6383388b444821ade0b375da6407197d64304f5a818fb54cc0658abde9928c517c296be087c5441296627cbc205b04454824acbb3c5665f8c54256c20fc16c4734c13639c7bae307700d023da668bd82c849851571cd2bcf25a20fd4cc7f41d7884d661819a61f86034ab9625885e9b38f653b9573be52c8cceada18e27319ec51885112c145b70add796672b2c1607b5309e12d306c9e863a62e5a52fb2d62b9dca3831e89fd29c88fee796568a6e2b3306a0698eb33c492c446fb2f21ec3970ea8c5573c2a67da04c0a6a184b3370a16193c0ba15851ab3fc32b1bff416c998193f6a1b3393169749868e851cb64d546004b4ca9b02657084c1fe140942713fa3a61d3e676fde19b029b82e1fa92e01a056cbc340e7515a7046080a62c76f0538633615d6b35f0e50b7e4a08e241c4c57cbaee742fffe2b524dcb6b4c40e98a417e454795cbc8870f7a7bc5413bbbbc98d2b289333c7ece799feb2a2c4647f289c4dfd5a715a32620b71a404a9200894afb3c8219f23993fa9184b2b140d93747049bd9aa2ccc3e65678fc759aa4159137730989bfadd439000599beb6794bf116f9911a441b5ee273c5017c793b9c932579aed69c1b5985c138fc97f5e22ff8d763a8c4a77b2903ec7ba455c0abbab891e3102631bb17c20518af8934dd97336a3ccc8ea3baa799528c8b87cf968022530fd41150a11362fe319d59e192735ba9132a39bb307071eb46947779906341868b92d6cba5ef511986f4975145834c8723eab95be14a62492aabf59793c9631a81730f4477064084199e9c7883521d053c47ad0ed94830627371f15df2a65778cf8edd3af04c4116aa354a6f2ae067f52758f38eb0f75495417ad36d1269d0daaf16ef6773b1d6ec9088ccdaede77f606525bdc370460375a778d1a31d01c42b66367ed8d9e8f84551002f552f0e52102b5d
|
||||
Input = 9eaf1b7e76b47f3d7c794fc33ab22d2b324cb45229c7e91dbc7b3f375ab426e9673ba19b00364afb561608fc03e561c7cca33165a760b1a1d8b8beffd79abda512e29f0a4fedfffceb230db186c0f88968504965f91f1e1eb34a16b797612822e18842bbf895dad0deb883fb7c217228eb1596b7e7e64bd34d204b16d968e1f78aa20bfcaa37e3e7b05eae561e0d21b8e4115ecce362cfa06b2c403f093ba809aeaa6292154a29f1f00fab799d0bd1a1c8514bf43cd0b02a3b05c6225fe5f486da4f25e7a0029f0bcbe48f75e206531d4b96aa46cde2542644784d590b5c59bd5e6d5bfdbe7975c140ece7bd447d3347b771b88d646da33ed9333ff6b4826f488ec62da53a1e50ed8bd980bec120808075980c3fc3d69d750a6d2e4810daecdba648cfae8e970a419c7fb4d412eece06fb76c938e3b24534ad9fa7642ab5f8c383e21f8e9d2385938ee74e88119c203cb56e69083cf8c6378141cddd629d20b30153ec4a0c7ab61e7e874a83c6610cd43492142abddb1593a5b59408e3941e589c5309328d4f3fe8e071b979245671549d2a9209c15eb0a8184bed5e8ee026e1a20a48fc458ec0da2f6f3f36aefe916e2ec8212092c7624b7600a594311b9a1116130cd4d3380c14df6fa8b5d9331a488402e87eb380e725e0c10768b9f517a38a5d904f81c6f500d68e686183f2bd8460cb8910509715d99d8815629995e2228244eebddf7d5ab33c64d9d4c3bd7130f4dd5f23d90e1479dd02aaa7c2a450afa1e0aaec8404054c0a586391be4d65b10264249f0f8e9b80cbf7326872cc9242aefa10383e56d9284edcf0c9ff84c554aa85f6a364f6a669016046289048be0f4f5c05b48d007c8188f52b5d2543762b31059d211b8dff0aca08390c569422634502b9c34de06a2700b0c0b6ce493aa438ef0151a549ab1558091d39882010f7b07bcf0d20929f2cd44a308f9e92d2cb58dac17875d7c676c97e033bcd59dff31f850f28ceb94ac9ebc521d87d5249e02d1d679e1ead660bebcc0b44bc90b3068bf03632684efc6c964b74b88bfc1ae9f1be5212669550f43021da052b8fe28c
|
||||
Output = 60fd3bb8de18c84fef4b07ac082470ea94707724bdb3a3744a8294372d07f936
|
||||
|
||||
# Official test vector 48, seed: "5522a5a891a9a9b5514f4556afd8df40b9cec63a01492f0cb8a1db073a285a963e4a9ff2376c88662f7d8d241f8acf17"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = cf6cc6fa4457572b1799a0295dc8483dd6129dbc2ebf1b4b81ba5454d0590b35ccadc2be3c39aef261a5bdcc700c2c79b6e51c2c0a17cbd6b2e6b57c40c8b3cc688c47c43e26cc5e40592e0d048944129da9b9a6ed460dbb95bf2a29a3e00b8412d2a0157b5fa1e446bb16a3e8f01bf3d879a4206bde59670d5875411cc9d7cc7beac34a0cc376eef35817c8c62ab82df46381ce3c8e1f9a8d25d186c65a3be5fb80e9b4c7042769c3a230e2cac490c07f9f0c34ae7c90efd32761d3b1c0f5b74421246c8a6b1b33b997056a8cb7c779a78253028e5aa2a5f673cfbfe40477738214e123c59ac759418b2b71436d1a046efa2581168790236eaf27c361b313ffdb65b52475cf6797affc01c32cb5841b5dae7a904314a160c58c162a69ce37ae6f28c8d0bc440534ae32caa06d92b1beb8c8007aa056e82150026be14b35dfa72e5a990786f80e0da34952090f90d6171c6b064a7a75c1d4b29658813240cecc03c6c8b9ba97dcc30dc5b0a936343ce77a44f8bd38c69ce7f3923173a7042b7127d12c5889c1f1bbaf8f17b3058acb6387004dc4354294787f016a66cc2394992d3831784ff3ce4496a2b0f225e80985cac16be16194d4a83c0d050bbf6334162b71c877a269e544e023b5b4f1967e775060351a06c47974e78e6f081ffe6759276b0f6a5b96d7a0acceba6f85752cca116e9489b6760b4434117fda6105e3915937aa28fd0889408193de70a413a7b752b30e255130d81216a2361a24b593e3c2726d985f4b671d3d161de8640844c4a448da52bf758572e4c09ee81a0b84631afa6c59962f86805cf2920f8fa45280e0009a1876eb7487d6e59442cc319bb50a876164b4c202270a98ccd6c43872aae9053a0d893de9347f78107b8d55b36a26cae926bfb412a9e0243f0b851d7663b39e87ba2308c5dbe04243d2bac3a10da346c62ce03688662037a362c49423ba2b151074aaaf1b90bcb5a9f453c169087a412032af930c1f2b6f5a8855d1097e0f0409d6bc5aeecc415962862a916c34c5c22ba242bea3ba79431dd2318d57e75d950395491ccdc9337f916a0cea81367ee9b1dfbcca556228bfa52dec5593c1d02a3bc637b93b1958176c7761b89e68af8786b6aff24e80745801ab060a5b9f2b53576ca132a834986e39396d79652d6c9941c1384c81141585cc014c044d6b3670724a271b2c8ebc60e1251fcf2a93c0a56f7a64cfe88b2fa5e6c59a120f95343d034930d0cbb8fd71b313303c39d682aee0c34d37983fba471e5131988443fd958024c26cae9bc924234548038511c85c0a093706db4dfb3358bad07420f83c66745064040517268f38653288367f964635bdc88c06f858e4c6a777939ee6b425aa1aabfdc82c1232781e8909eb259370a17791d479b4e110a8dc32c5541ed1119b6ed41e00f670b0eb29c6e08642931036a03f1d864abf843497310db8170a316217eaf9b0b885b3a7b8642ce8958cb0a93950c9db7336490b05d69491ebb4a382a705369c1089c6a3c3167c904131ccfa9de109840b3a54c01c9b7e22b63eb617822c2f8cfb17ba795a64893554cc2fc1799fd81c7729ab0ccb853799399480a58bc3c031d841b7740ac28579a483230d44a40eb83b802cabb625b34c34697461078f6254c68474a5df529fdf920c4ed7ab24a86d4c6aac29873705118c43c5704f98c90f9bca4ce2abfb8a7cc24865c3381c0a6257131c77ac511d710305da828860f407736aa9d0c962df54cb185a1313745e0ed7471c68b7434101fa0444fb5c508526b286713f4ffbaf71611690fab3c5ec5343aa599de20a2aa74de8713862fb0e2cc46f45717e4093c91c922dcea87903e79764a1bbe14c88d5b7356f58aa784c332a330a069728c8d7284902bef34068129bb5b4dbce476397189c4978530bcc48508ce64c4db34a2254b63727154acc6f389005bf1617f6ba7eef1a9ce7c876a2ec5ecffcbdf799b81fa8303a4658b497aa58aa16c707a92d0848cf935f546180ce37c7c971a15d66870b62925a455327d05807c814e223cdf07482634911e6a027dc3c5c23763d45418724945f7c13c191389854244edc9c13cb94a7ae33cfd2219fa12a3cfe6108b4514f1c28421c706878f847af73c294a0c2f228bf29e68dc2699bfd3c4dea8198d0a39dbeb90c6d94c9b9505eef74b0bfb52292397e3e6a7e18b90a344e566ff910f39c60e99a2c3a9968c48ad9a4d66bdc13d2b6bd6cc06c19872dfb955dfd66fd5a08f656a6eb8cd20679930a31caa6a6331c4b133a6838c223ef9f769f6246
|
||||
Input = 8e4b805018ae28bb0e71d7c78e1923ee52a7bc7ffad6548c0e4254db12b8c1f589a189655c0be451620a0683289d568743281dbf8ec14feb33dceb69e38c72dddc21b12a1a4437f4c97aba1a6f7d05cd25ceeafe9f268c8450a75e09b92665d0dceb960ced4c2d949dcbb68c485894c1c09bc62cca4a1cdb4f7ea8db13261ffd4c738f582fbb4e9ebc4964ecc9c96123fea8731738f25caf90f27caf28b675f3161609aafab1847429a874a6f63a7e76add075d3d3db0cb4906530ac2c227dac8aeb616eb28240e3a0410bc162b4168e9a5b9804f893c1c1a74465da818adbbfcef2b94ae36009f1e5460ae5ee8a06c7415c82e90aaa1dbf83042da9c16ddfc55c04e506ff0266f472314b62d6b9647110bca15ecace07e71e7881b2fc290038cf06c1e79815e60bdfa5efed8fa8d7a4edb78b06269975bd77ed67487b80ed120b31eadb38fd4c369ff0c8584d0955b1ce7d17470fd8c43d6a81144820e7753e0c89d783032390d3b794f2c81ccb04f320d9394aecbfd59d8f2be10b7b4e9b65b58cc35476754a54f30adc5e0b3502ea3c378459ddb018feda84147deac01bbc165acb06843f5149c553c29db4cd1c0628f42cf36f018a38a6cb56e6ccec0bb28282d80fc2a6e67036edf701cd0315affea31bf538dc178358eb84e97575f151d59fe9678e62b903bc510c6f9f89a6b979d1bee87979dae66800278404d8bc1980222d59cf852e96bca0f2ff9d8a9e387b52d3a9bd27f114e2e1e1ac76e88e35ca7f571240e1a9473168f411101636122c7332c8d6e0995a408c0e598f1340677054098b31922fb990e81187224da342f177f37e7ce9f8bc8a6d15c13629ea9189acc27220b0bf244d7ed4e95c1743731a687a67fb7b24eedd2089e14465e3171deee25ddad8a5457ba79c7ec6ae91ba68220051bae43bdaaae286372409528f8630ba29acc79edfae6d712966bb95254225b917f4c4aeb0d90b9f54f468c9ffd4903e2c09d4b04a4876a603a5fdfb34a221b791d146f1d0768aa5dfdb98c98c2739d6cda922a9f63d1e7cba8af9ad520b6cb227de9d28d746f9e3360544de03
|
||||
Output = ea52046e13966f869631a25174239058b5cf832d3ea8f990729336d308070a2b
|
||||
|
||||
# Official test vector 49, seed: "1853e72329353b3f89ae6a1b1ef700da8ed3c10d19f9e61ee9252e28ebb0e15802ee43083a12a0b7527088832605e3ab"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 7b617a15930b4d24b5b798b2f3158302090203882bb817331d5274cbf19d9d3a4c83a0cb9d96455bf6a15cb4cdaf6325d7f37118d4978cfa9718c86c576152e8fa9f5f7a5095417f761a32c9d4c62ffa1374407d3a8cce0c09695c2a9abec1770f2a7a60ca2b50944fad5a828f22c466f0a6e0fc1895465dd6b553024aad44f6c0b0a299ba6c7c052c0763ca8972a91eafd62e8e6493c0e6099a97bc40916cd85c915d12089a4525afc15b0d3a1cb525163b5cb0456a139fdb680819c4199613c5f07824b425ff61bda8fb20d7598ff6005bc830997df34465d55046751d9337c9c5606f5d3ace93aa91987b263cd120dccb48c5c10d350a2bf3d620ead54df76a381a6a7af3513b887c36f155abf165a736d80e04b580c00c0d2572301f3a473cbc6daf3365217161f547442fec78d4e634f0798830664f7fe35e81bacab1007abae1ad64715988e825517b1ecdf34def2b8248c90227686a90c4983fe14dfe1b8e3b49c3b29c4c5402c30318549289a5fc571cc1dc889f8906e41c36bed567c34c6f180774f6b0532028139a94c2c48c5f06b86f21c2397977cdffdc29dc0b5dbe3ca70aa297326bc08e11b2b46b8e288c006017b63bf1403d249882898709a162d1585b3323359b6a59e18188c08a0e7748898cc95612c4931e4126181c45767121b56320b47c3192e193eb25c44d4a69c299b34bc1a6aea76d6e00b665f45e9bc0c63bac8bd9776b33bc8477e27b02dc1cf4ec227623b765abc8dca162b95842dcac1fcfdb96e284437305b2d7cb39513c810a010965f70e76604284b85d22b84d0724be70dbb6615a1a2690a29d0220419c18601870d1295a1f5a753622a6477733f67a16f3c2b37c7ab0bd7c2f5e47c81b848f05c04919021121e2b245750a89e9c943128cb4a6406488a637ca6b4c72989a9a64106c4ad1b3871ca2468d74aec3bc96dd2c70bb4b5567ba5410d98e6cd71749ac849bc7cd542c55f7eab7bde9567e0966d968490f356da34b7c034397fad0be1882c6b3e520d6228ea3a84d7ac163580152a41a5802d153ebac5358da445e8481b5c7c088707964eca8c951abeb68a50891252f78b199008c1216a209c19efca5beee262ceedccbf3f076c3d9137c7206c3900813b63a943a337c482c0e279fccd5b618479cfec161bc57b08472072d23b945bb6c40196cd7d1031a8381fe161e53cab70d8ab8b0e38c525c63c9d216049886a9a79c4a0aa32d6acc77f4a94c26ce4b3b044e04c1eb8c392f2653059997561a23c7984b4e779af80383c361676da02175a436e474cfaf4433f78a77219c0e547494228305cf5c3019eb8c7543466917843321cbe6f7cc58f832dcd6561e38868181c2260b2780b18613612d88eb041dd2721c284d51020b6daa8a429b392a17b5132b65d108804db756af556b6c3b4225f8a039caac0d7b3292da3708ec8e687199c793841ce78e4ec98e72146f6645223a59bd5bf5c2d378099f57ae4b52912d3c50be48103c43acb7dc740d3c7b48d3cacd1733f11a1e7293251c161b979694eebbc2f1947eb5da0bbc937e13bccb3e7732ac1807305a3de831b7c1fb32df64159ef42f9b234bfd09a84f5136f271a5dcb0895fd7b9be855241aa31b72c077df0152c919b8ea5445bb8829548a5109b5379417e67ca00010751dc0209d465b872f5946888777d5a2696d01baa7c9bec340ac0dcbde36ab9f408731178cf1c13b6d9260fc1912fb2392ce71253f90438d7435a758b7aea8985d2b8294d85a0c1a75cee9badb39b0c832627034b176a08aef446596f7b5bb5448d3a945807d5b4f709b1e372848ba0b2fc2b3be7b24519426960d9970bea904f16ab6df8735436a472590b9eac5e54027b9f5b3416e07d28181955e1c45b796520db341c884f8ba3097d2b12431a4f51101d49410c8104cacb0785bc9a365e11a19e0a89c6e82c6b6968450881050620fd28bb5783c15f0823f211b72e0c3a4a6499c3cb332c5b6c478176a360b3bccc20aea36141104459d46c1755bc09795757d3891e8710f02877741993c15cb875d28b23ca466dd8ac50fa42f3b256b3970df5e89c019541bdf658970bb94cb08e01e65928b72164309dcefb8e48c2cceb2c597ce09440702e64256fa7979bee6b54b3d6558c04c5bb1b8c79d3753f134789f750a8d8093cb50e5d96d55c2691df1740a558b8a260ee39611565f407960413271583353ecae73e4b01073ea5a0596a7252a58fb9ee0c3e21a6853620a7237801f470fcc2bd9fd7bea8322859b850f7882d362947432913dd068c01
|
||||
Input = e154638bb15266e412aa39f0c1a3e5198565b3836d453d6af5fb4d1766d3c3bce8a7f16c2a1a2b07edc7ef603ff5cc00c727c252fa2556baa824435f4c8b035eb98b9459af0f7a3abca6f24f351e54f33beb8a1d761759f015fccc0dd88965f489e0cc6654c7767b88ce16dc555c1dd595814ee4e5edd53ef80ddd67d6032a55a093505b29b8929a1de5a7f174ac1b63bd4c975ed6e7d78336b340f988fd18b9c418f608146afe8b3a41bc034a39241bd200cb67865fd4f62b310dbe03ac0ed94fefd71375e3ce4b3648800bf97a149c2b185bcd38ff43f9ea55b81cd53cdc14083bf8bac8c6e08fe6d413af6a27beed37a03cb937299bbdbf94ba039c6b4eadfe167dec601850cad0a5f71e482d074e1ac2040f5c0c176d64768ab3161d34b44ea06c40382a07054da32686716c45339616bc2b026f1249adaa67a5fa30dc3159cd5bae95dc06c30bb96137bad7a934fe3c33ff52f8cc83261d81211c284bb32cdc5903afe43daba22be1b6e3674b7fa6e71398f7589b8606126845118b4f682eca132af09e732b83c7a59b8be961fdcfd0ac02669c76efdbf17458844936c09a80bf2580959d48d77af7ba49258a8471ca218cf942f85fc61ce5c994b36a8ac0018e2ba0e3191d8830137f838e3f5d8506cc6f6421951a19da9c916955f2b8b579e11e545c35927dd14cdca0fa493a402b0603c38e9eb6a3505abea154d3cd3add7bba6321b5f3cb591e636f7ef100352896876bbce274c6351b5d3ec125120ed45bde38ce4a0057a6e6e29bda5d29f2a22a3d448895b461c5b92e27d5e6fcf3107f8e69570947bdd339d6815ee34f9b4fe4214918bd9b3ff50f024408e634fa0876d1f9d488ce6f4be5415721e978addb532fefaa8b217d7df66cea1e015a1c32d585da1979fd00ce4fcdd43d05fe7b5e458d60c1baba167f0d3dc0fa629be5cc94dccedbe51fa0afcac245b7bd4f54c7885af705736703fb9557bade586186859b18297c8aab69ed797e5b534ecf1ef6d6bceea7725f2497cf4e333e31489d5755cd3a90623cd9f3b9c475c6ed1a0e31d81e28164c0343b470ac110ccc34
|
||||
Output = 65911246b31f72b69db5af1099502977bf056200c713d28fc41ffb81cf591f0d
|
||||
|
||||
# Official test vector 50, seed: "027c3d5847ed4470931141104f25b19ae76117cbb64b224ee424ffb782e9a0e988839e0bded0df666fe8e5fcbb5dbc09"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = ee8a0be59146ef0a11912320d0d89ba1d5621b724e2859ac1ff99cffcb16de69a0145486affabc7c9cce959b417991c47ac7ae529bbadb5b41fafccfc1a9b562d60b25ba64f139055fec53f055b11a602941b86b5ea65a6f239ae2f62a4ebcbbdadaad7e037b53a86221ca4542f8ace70c128c0c5e5231b5510b5fba460c89d8bfeaf3408e493dc83039887829d5627d13e6695d2caca05baee8ac953307108dd371c405afc1a87d88084343805353376a525a358bd934d3b384b25a11743bce36308d54a210b39b22c6c7876e291cda06a91e19b6ecf1021ff6830de297d640a823a3a285f92684978c76e911245c8f863272e5bb255db4a1811a992cd031c293576d312c64a4b37286795a71ac64d2c303018aa69bc900ddc454ba9ac0696eb73a139c1562d84783db12af2617270f892cb64a7c53a23232a308f6589eedba7a00f3a04fe4ad2d8c49aa462ea9020d88038247d6801854090f4511f4652ccb53ad193b73762c8954f232e311b85513bc2ee21fbb30a6b5b16882185d951a16337c1b7d7317554b578f1c5eb2123747f30f4a521173079803211acda983a717452ba40695ab8b853a59eb7530dec239e8ba9a9cb239629b138f2c2c0d4aa8dcbac47de4c641818c120130ee950aff3b733d115f71c967017912c8ea18c0c1ae510652fa738c86c294a3d7095157a49f6529a4360095c02afc422432295383c28a4e270ba63c9709fcbaf7e24d5ed56df3d52f87210c6f68099f48191a850dbbb909a8db3f6e4c8e9c1c757a77bd0ad10f9552587049c252842202343b93b72e22721d3291aa32e050108b0e2600686e9ccc16532fbfa76e51654658426f747397e35b18a9e381d6fb0aa094a574507f64692c1c570d2421741db27a7a8c25a63b17fe918c452a66712a832f540bec1c4d537bb3f66ab06c2b3d1bfc0b572c9d8ed500ddea619ce29d9a0950b031caf37265acec1757a20db5db7ca72808327aaae2785d373a5328b5cca6366bd83ca716b46226988e3958215dd019d9511cc1a537429b7f1f504f3db8a4e72664ebaab9d1379ab9ea362e1abe1540a05ebb957359a1eb1c18b52700bd063d8dd4c422944aceb01c20d58a44db5e3dd414322292c2f15a9bf0a81ef1789823572d2a38cdf72c4b87546509394f67cf7c2b9bee02a397f63bca09ab46b6aed9c680994b53378c57587885876a83a60250d5619f993786f1f413a0ea58e3659ecca0c120741f79288138e18386526902e615c278155741684143c50af3802a60ae30a2ac782a4bc11356507acaea6c228390779724b62640bd5bb13a039b6591089db9394f90088fc9912759d3b993016be3bbacb52a1b63b5b130cab77ddb755ac3b22f0b6c07b277eca71c25f8a65aa56e164b96f8693b118613c0db6b80798d4baaa01727bb0a752b657b2fe928386eecb20ad0725a476b4e5c21c43944650431acdbc55157878b759b296b7fe507c4a99570f6a61bba3702ef1742dc476d8a16489a3a29c9b2584072ce09f69d98f14319a8b292412f60e8cefcac20126cc289168f7e8a8914e1c3b4b4a4960b38ef7a76cd871b289b8b00c28fe3ac5ba932c26e700f77f16d8f08608d04cd02c44d060c6f43c082ade9aeecf954ca54c0e0d5b31de35e0a177e31ba17c4fc9f0829b6ed4633ccd186ffda8b74f9ce6823674585b637f56c18806c4c30c335a97f98f308dec1002890104796a0b0ecbfd025ce4e88163081c36b714e362a304a656463f139aa6c77b44b2f1a040687c569e54ac118ab0cd20b3a95777486586287ea490e4b3d8c29850523cac056abc3cb30c8bbaa42e599316a6e029b3fd29c1d4937954be7870f236514722fe9084d2ca9411d2671cb03c14feacaff083eba19183b589ca8f94fbd335bb7a7ac1308d0ae643eada201b1c7507d877c8b4b86bed579b5e53745d2b2e9a70f4bbb2104d80c9be0b11e15933c76cb5c07a20d4b1d4cb08ea1c46fa1347511a64703988d00ec9f36a706a9dac259b6761caa3a9c1149ae04b7dc78a3ea1271add9730ba099f69babf71c8e6631c76ebbaf52d7bc6a744bb7db3d72cb4e766bb68c926e54f38a0677b523189c10f285493c40718862754b04d5459693c2a91c93b09a60166bc962a2439b4a0366f88a9f87f04f95f24c009b61652447fbf931196f8b9ba0db9cd90d450893d94ced829f0a3bad232f0d4a4199c0216723f9659d2981e083cbd94a6b8d67b645565ff3952bd486ab2422c3a11f7b534537addaba4ecf14f02ab317d36cb9f0f50222ced7cf029dff8a0d3d2fd9
|
||||
Input = 07dddab02f3a495d37ad0f8a8982f7be4f4f721bfb3518e42c35bf332c378a3857a733116fc8ab7e524b5eee0e556d0d3f7b2c7689a9daf3943f1877120906dee9436a3a41cf728954f03aa69b91045322984e293898a9b320df8f8c22e0ee271f9e111ef84cb38fd88aff2feaf15631158df793ddeaf4cbfb29962c41a6d35d508074574d5860006e3f178b21e6b304bb0f2bbed91995425752e68f2524d212b8e6772833575db69e864c7600cf4304a06bcabe4671ef9607b674b25afecbbd3d3462748ede36b4771ba7a7a01c563e19af04c5924ebfaebd4b3832e24ae196d92e3ba20eb444a03a3ba417fb460f14c293f52e940a659265c3228423b27aa39b8cda61ca76597e38bbd81c5531554e27b181e8701acb98b085e4e5729323f12fd422e6b7e9ffaab4cbed74f6f3bda499093cc42d8efde9b877187fa37449cc7d0ee05651b16ee1c52f4e596712ea0c338d29739c8d5b56e9d956d088742290bbb00c670d66bef46301af0348f3f2eebefb86b7fde2b8cc83f38b46d3f2c661dd8ceb45f0f908a27c5b13d4095fd2e36e038911aef6ef2836b930ea8ba09854285ed52c8de51514785f070e6fe0143e7de598a7731742497d869f595dcd21ca6ec7fd16ab15c6c61d3428b0c4c4e8246faa323995557afca4eeeb1fabaa183163cb855aa7c028b67c0224fbeb8ec9f91da94e4ccc36735e5ae4ae75aa4e68e87f269d93c5dd8efdba21e7fb921c5755f30f0623e868a0ff079ad0373f906429ee98b7225cd5d45af1ccf27c38895951baacc811dc2a0d42864c40d2ffc7bf233bd5967d21ca5c61386b9dbc00d1b2f514ab4f91397c50112e01d263232b66cee88aa1b8f55a50e81a822ba3b88fea3a0f8a98ef16a055ac28d56196aedc1472cbf92f2b6f3bb0d4edf97ae558829e32b6e95140f128f2fe4c0d9198a8ebe56390495b54cafa94e1ca6e722fa23c1e47b69219488016be61b96c27b133dce983623764bb202da580cb2a838ad7f1b2ebecd02572c62ccbcfc0c267e67379465656f8346fb9a0fa0f20f21c761d7a366cec61269a17888b3370c9d4d0d588723d
|
||||
Output = 519e938e10ba46ce96614a4721987cf49a26978ff66fe776d86df11b4405820e
|
||||
|
||||
# Official test vector 51, seed: "450751d4401737459c6d93e6c5f2fbcc4a3af7cd7250ccf404bbb817a67bab7b4c9d0ef4570bfe25cf919da331c31d88"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = b7556f2b6caa5ba9b230473fd9c34fed830105362d02c003fd5b8c5f8c6dc71a59f8bc6b64812c117277b8b814791739208b56a129b4ad684578f058e0b75ee96b69a6d0cf52bc21cc376089831789c49b64e21f219c20b6f37a04a330cbfc3ff1749ed23c7baa711d07976097c648477511ee439a8aa52704fa10223133c85287a3882ea08789f4b675e3f81f3a6958347586f2fa9e9a2854379412c8117b02a99f4c1728c0d40145208d7cc3c43e6696078b9cc72c63dad3261da15bbae64f5ce0b73d1bb0eaac4fe56441d3b19c45aa620ba70a89d50922db73fa3a5a675a9a76587ed833535ab7952a03cb4163bf7e0042385c19e64603551cb2b4834b72b950049448a52bca67396dad83b550320f41462cacf11179aa134999300d9c07cff6c4c7cc105de93f88705707e946dd48471ab0cd49b2bbbe3269912b4fe239984b46859eb34106288fcd62571e6bb39e599c8e37845731149fd4854c1bbedbc89800000ccde15c55619e0a92026c4cb057524da09781bc843ecb12a32a73a02b90237809a3e7f8419cd8902cb0392c925a154c472157176875215c2a4af82012bfbc4b63156e9ed643a45302da4b39a86660d57ccd8b72651304919a32b6bad8834d538a348178c733a69a22966cd8b789704d3b493dc0929e93fb3e7c9312845bb3b49c5e96960c7e7c34fd577b08c94b0e5a862403100161593b231febe3cc4723c3d637b853742b48a2891c88297ba3942f166643c26135cc822d659dc53764fbe3a54aa4935bc287fd2bbf9fe6b6e1e362b233bb0070123b18cc6200bf5c24c5fc942e5f89ce0d9bb0506a213f3c7bf7914e448a060b5914cd999942ec21c60ad07d70b8e3c6a7b820b6a8a15fc698abc2097797e3a626c6c1d50c4f3b95cab7d42e44137c4ba061ef8b0db217255240842753ad4810ca8c45c62900c661c9105b9237e125aabd95042a44350dec8347f6933dd295ac832306542da48a7ab7b562dd493ecde8796689035a442e7381056137223504691683c4ffe00dd3231090c1416e96687c4341991a427fb4aa0c8a8c4e9a9e1e75ac3ad03c1ee93693ebc3d9c66cd6ab9a65254b489cc5e52122ac715faac9cb0f227c2d7466560a47e9fa491ed030e86476e5559ef41a2a7eaaa3e9f895bae581034c966b0a5da224a1f823059f291f3573af722042cef9ac703a0704a98713629b4e422bbbc4899bb5c0c9359ff43544e1ac6c8db790bac39292e0bbdc121a7fd0b86edc86e8277e15b067bd3a8a23aa199907bc8bb9b0dce8a1edf271729b553459413b98637de606a406b064d9ad274572fa80c4cb184259b9b603903c9a896001029f723212b0b896814774ef7b715819356c2363dbf186d95c6d2e622f4a310516b62937723f82674f17b53aea7a6d96f651ceb1b470c14733f89b11ca01a9d44292f8367085a4eb70bab5167b3ab98b9ff1a3a8c9047686cfc7f11cb39202b419a0e618356a33025ea6a5b9c86a14876b15fb6265b0158599acf1b63067a1476e29ba9c7a7fdb558dd2aa06a6c21c81280080b5b684786442c425f1dc57626158b46471a5baa61e034a71c5635b6c2b95939cf5428d2ebc0a56d75e3965738cc2a62ea0cf9952772581a2936b5447b9b879b06425442d20747f826846c4f78d465c1fbc0b13b0d20baf8c8c2da4cc2177632a8540f53c13a0308569daa1c6da6802047fda80263658a658f6bc3d70a6b26063e3e593dfd53a622a64acc67913594169124bb2b93edd7689c9e1a6a38971f11b2c1352511d813c46277bcf12156629151f84802eea01877c5880b17f7b1ba36a44912b7751d7653e7618261ae10c9480c90a1c9e5fba05ecb26d3e38972cd4c38ed770f53b03f4c6c388c26cba243a1cb2c7d93b2aad30b26446a86e62b4cb32bf50a78ebe928a58e8267f42a9b89c8cae3a45fc937117275fca08a1f45c4428772f867a4b3de7240d7c968b024376a99f9dd556471a81a1bcb0aaaba7bd708690629210c91cd978882edc752ed2c840165d1b38a38610916013adaec00eaeb2310b082545e440cb11096d44c8b75522e69c76e3f8c6db7c60d8739ad6e2737dc6b75af8b031b91fde5c2b3c7981505b6951a8ab1ef6b2237c71984a04c23c2ebd2081b15c879387c6d2b9aa53803e365a3587bd1afb6d55c1b489f8bdd6cd18ef0fcf30a1f84a93d79ec602e578aaa859b97217747a04f04be3895e711a81080ad9334e567579107a2ef675e670e64dcea0f48a9254dd40b117941fa35a66bb50296327b725525deef70e128ca8045ec451
|
||||
Input = 8a7bee9f8e79ed98111d4ccb3f95e83453ac1ed072e6aee15d0f2d39166bcf9909de8f2ad85cdc4a447c0c1a323b95d6fafa5082482f222ea8b5edbf49e4b913dae9e6f416ac4b7d772da519f371eb4f88ef1c390381587a3dedb4e62a777e8d3aa2fcdd03b3ca80809de3f89e8d96667aca31bab9a12bc1d1d6b5a49046258e837d13d1b9307629bdc30cd5b9b440dfabadd267705ca5aa88a3a4acddd3d0f776528738838c85b320db9eaadcccd3626e3a86cf3a4757c4d2eab3706f1db27b2aa0cc3b67f4ab7062fa17c02614d97562b6a49376ee7489c6a25a591cd542d91e302b54bed92fdbb0239458d53ecc98c643104f2fca10a00608d482b1403fc7ae4cefda93b39787a7723a91d2ddfdd088cb86a8783ce463dd981ebfcb2043ffc7f53e77f129c411fd5a2087bb9a5c2c7d9842b2f0f44572b47fba5443c9390ddb3cd390bdaa0d5a1cdd75be2d15e167070043e7f85a7d6f04c9b6a0a5d08a707a45c89d047d634b86bd1957b7a6c337d72fc6ef68e5196db509b74ae4ffb3edcc91071dcf6306629c6ea0eeb280c2a14d78c727c8a26e72465d4d323561fb7c75ab6c5137cbb50a4b56c65dc4b8561220da0d0f3f101517b30291649a9e6c01605248707bd9a401c70878974a28be0c82f320928b4fbfd83a176daec7fb00b759d5a3757fae7e8b3d1ba847fc21c7f7367ccfd127532add4dbd179ab5c0fd4c9354e154f924b04f131d3feda69b6f1a0342c7d1cfa44e56929b5fcadff52ce57f0c5081d9872a427ef357dcdeb9b6f653f90e774d572d8e4a6e41e138940945070758f7799d0ce7a57bb505393f0575b6408d6698e5fc90f9b0511458ad596ec8afc91e88bf6e172e8ea5574d3534dfca4dcfbe1efafdf0e69875525435c48cce7def34f5a70d19d7f38b5bede779cc8aa8c530236b6a99bf32bc77f1fa716f967064dcb7dec52190129b7f0e90b4100c17f0ca47d1d5a34102241796acf7a061c51e7712cfb1461d048c66e4b29d9a77c8aab9d6d58c2d37c3a6c2d0d3eeb5ee66308eaf399084f4be2298c8314698622814a4f015cc8cf55948ab7d8ad008
|
||||
Output = 516e695dc4f237c1a4b451a67426baae02df1acd1f7f57adb00735bc7ed295bf
|
||||
|
||||
# Official test vector 52, seed: "5de720f2d152bf4e1f96a61e7ae5f1bed6b8548e32638c2ccec9f43b87d1bb43dfcf334f0582984d27e440d519ab662f"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 13021033844fa281364f18464a86314dfbb3e5ba6bed008323a0b87b49be73653869624d3b544d44b8a2d7e9a269e45c22566de6f4541aca9d3aa63c2923948c7aa039d95894c9b326c681701b15aec3853919ba86b658aa8b631b2921f9557aab4998147ca9838793e7e4382f67b8955332be134f54576f9814aeb6858a891922e7e74e88917e0a2c882cb64e7662136c3bc36ec519e611c7dd977b508b13a2cab9c235a0b6d86d033696c08c648ac11d8ad661b1b1ad6e9605e21726d9e3b31d0c5f95bb265a8a99b19c1290f9babd053c8844c826916ed6e15f84c6cbebb56972300ea894c9bcc2be8a57bee90732f4460f98cc2d792bc536b78f1cfaae2c935fd6104542c974c2f49169aa51a8e05813163240492854db279a634983c02cf25c360c498714c2b606079f03e2c21d6293ace3b01b0518a1d623bff90e295a9d04022bb4cc3a0a805058b86011801024e15cb33361c1158d3949387d7470ec84a090cc51e22c6a48587fe05115b8bba39ca5a6e6f57b6a753509c042734210fd5b7957dcc766b19b09504b260a3cb3c470203356417cb64ba338d861163809c28531b225a6453d4400d4f26a7b3511db424892d25c936416c40731c9623ecea3518637a07687559c7888a2c23cb0893ac39b1134667cdc90a540764526798e2bcb0a7fca1184e61cc1b86e29a4240251ac4c48c754452b04178dedbc44e7640383054ef4b2acbfb45b3a280ca91598ebbb57b4936d46f766fb660c98e22a60c49fdc646c650561bbc6ab3e635514d35afcbb0f98c74c8d1c75a31665dc91717381a51c46a04c5a605a53044cf6a287ac2695d46681e0b937b5677a51016031baaf76355af11bd049ce4c2b3f027c5a67c6077e2a7e5951bdc0eb57da5148e60c9e0b89b7523c1dc403ad3e105ed3614114d21fdff35b1ce1b22d715d9d82aeea8a5307f7024af86843684c16947cad33505e982498a96258974eadf52eb43abf597a26a6a99c38a4b1cd3867f7383f801a6d604371a0bc049034a33ca7c0aca961460c0a52285846b30eabf4796ac6199b4883d17c7500f4127569c56c9578f4441c33ec4df17842ef1447390164264b87d52b24d9ec2b1c84030fab345a103c60d89106059ba8d178f62578ac4bc204f053d6c17716a58bcba04867921b2dd6a59e8c8f05dca6bdb5aa8d66342c02217c555a0707228bfcb13b061e5ddc061f013843330fd8b3392eba57a57669ebf77d0474647ab96097387dde545897a97438885659fa17f42cb5d9a0be3a72c6058426f1b005d316c19a18cb88b8924ba0c52c6653b655aa7886574b0846f55b9e73fa9d27534349755ebe0949ace1152dd684c4b33f355281b091ad4ed544d8443fb630a523f341d45a8d81a12145bc885b157a35c4366a446b35b08d2cf9b9ce2230be60ac33554db9463c9e9b1be243b27a776a3544cda9f550c2768c5c0185aee8ae27362997766d15d38789fc1f2f544905e373eacaaac551c5af4b00f947a4765c6dfadacbdf634c4d3404723b6af6e56c2fc31f16b12d85dc78fa553540111872c8b68cdac763610ac513b7f6688c620b9818a06df541365181c6cc010cbf43c9af40aa35a08dcc47b23e2772b85091a9311700933c8c9b0ce6b48b3d0c1a3807ae0ea192200075db0b9050acb56c41a47a45062fc3223fd0357295a1f3634737045be07a46b27550cb0624d4ab851c9481b8c1135ebc13c5db6999088992b9ac4426559068a121713eb83167e951413af7701a835f218332e3cbcf6502a85f16bc3c1448d57a4b9c0b0cdbb25a3964197a466eb7c5599bdaa9c0933e56c65b979c0f735836fe907ac758706a785ece498fd1d1547998be49c1021bfc9c42e694f4c7a9f7e8b7ff343867290f25f84c1893115e60a4ffaa56c191842d9ba916548125b5258893bc22887eb140ae952aa76ad5142f5a5e8272a9594c92b39a10c2fb647543a7088c6d9c4537b71a9208434bc17207a649a49a51aedd425f090aae8b88c2b9632456ca7c665401a242be65545d6377c971b1bb6a2248374ba33e149cb20186aa9ac8314c7087998079bbc925580dbf678839b5c24a91c48a227bb2e5b9cad20809259f6755246eb8baa2414b684237f5f53c0ea3cb26451b90184c38431e0898496804a92f3a9322c0a35923c57b40457b2b61462648035770361dc794ae4f7bf9c098ab118d2ffe467c500bc35d123dcf8ea7bac85cbe312d3a500b7077f3f2cab56b5b12992be6c45c7fc62329b13c8d29844405db8ff6860de474bf727ecd19e54e6e1a141b
|
||||
Input = 142dc744e3df82cbe56ebef0817f78cf91d95a69dd250381e05ad593d01c4d62eb215070c0881cad2e3c733fd53ad80f564c9e26ddfd83d3c3d34a49c4c6a4efc1c42835e3809c3b078c5ad3c5ee6f49654219e3dafbe2ed296517bf88ea821de660138810f13d031fa8028999752908841e7a2a51aa6bdb00ee7c47cda2e8e509a8074399c85624da837bf261c4852d9c5fe4e874a09ef7f66b06b151cc3abb348ee9c4bd0feff670e3e03a8f3940c2f93325394bece2c44808e6cd31da029cf0fe502f118dce86e81499d9024ead0a2473e58a8e4f7daf2688dfdd9cc7f46ff5dbc3645d59f26ab1e2e15be3fa052fa9af18c459b34d8a7e1a4fb09c3b4202736898cd011097dcc0caff3cbd3e0bd7427dc392df50d0cee92b1bf1ba929269206f7d8a4fa40a03aa529c2ba8496a09a86e8e872b80f92cc7f2f667327b9c33f1166d6aa52c8e9a1d650f6104ef6f7d84a03811b2e1e9b234dc93081640022ba60641fb307c864db501dfe224a0eefc584af2de0d62307dacebf99b47ef68a04f97825e1db0cc7e5c4b84e56b5bd0138f3a0624d54804267afcf99f4de7652bde4ce628a9e41d57d57c64eed1c8b03237b6e37bb0460c8d732609a0aa2a1edb4938cb5590ae55d985d99a2f28ee1d85e8f4ca20ba94236ef281eeb24d2ab0b55def7984ff408ebeb947403432e11bec37c489827e9f9d41bd8cd990d2c8429cdc2b7ab051f9ac3bf50fb7241e895f6a6c9c15d6aa308b18be051229f9ba80c25469a7e06e173697abadea0166baf8adb77932b71480a3f292b1be2ec6db371cbadbd17e3062d2189a4e83471a1a2b5b34e4b5aee47b7b7771b25e128e605c6ef9fc046a805cfdffdcfa97319ffd280746f7e0ff4d66c9997cbab52863597b56796ed48ecd9a679769f04ff84194eaeca0b326247af81c74d1ab5cf2dbd7771f3c4a2bd060eac3cd7ba5a7518795e9f02ec2cacdce93ff9b6f14615ce0f173faf242da764bf0593f39eefe215e7825787a2657b7da3667a4937847bd3ee5181e667fb594197a742fcae02aac6046b8e149e109c63dfd94f3af9eec9a36f9b71d
|
||||
Output = f72c09754b77936ceae9858894db84cf773066ea0b594a297eaa1c2e8429c456
|
||||
|
||||
# Official test vector 53, seed: "d71729dcbb27d7cb39e9e905025d3e55c8602efbcc483c9b866ebf82326157833169243c14550ad728bd1470f39c642e"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 4f93148b5a7531c52e8ca43650417eef0728ab7b7b7cb9b4ac24663483837c4cc7e21c2a8fe8226340bced404cc1fc1b5d289cc577483c32892042748bbc01b5719f9c57ade956a8a62bbb890a621ed732f419476bab58533b7c4b49b22346567dca745d9a4c4ca607e65c3ee4dc8889b992707864b1dc11a54acbcd2846dbd9cc2ab356b7bb27c7672b58e976f31ac84f168a364a237ae793e6bccfa7969b1e283599cb6d22f0c7e7465df6e029da151774d646b7c69e1a3b51a7fb937af154c5080f07b740ebc3145633b5c7537488f10d9451057c0c03e710243fca41fb85c8f0694f0d85a076760555f33566b899b338b3304bb28963bfd2a9693d3355fa0c91f727a38e05bd3db49de9319806fa098493369faa7348750952dc7152992f93165721bc436232251087ad40003c84176467315d4b21b554f3ab0ab1a3b6c1678c05290db05681b9149be7a7978577c99081a57613ad95c16430a770a454a6667e8a47465ab92b8fa405b5c5052f4a69047bcdea11c6611745775b6b40fa4a9a0ba1f8098637647bb073ad9ccc34293172b7124e745a56b9e0749cb0a382663bc1399c31708d697c1ef6aa5cc9a7578ee69c9a39b4c89a7c80f46e6ff03c7eb186e2e2553ee7079ba014b5b68f2d4129baca9b350180f4b9994bdcb6377b26b743274e086570b0af69f60eac98ae94e6b11745a1a5164a676b59d9169ea697a70ac6280204a1acd09e408c3701fa91767b064a93913a63162fd0634932750353231fa890e20ccae791a383624ecc2a65fb09800f6bbd4ae845b9aac616a6186ab266b112b4bb423272f20995330133782fd3f85c7b972e39895f8a77c370732facb399fb238e0e97b42e0a07e1091862a13eb86a385b895dd1698b550a66845764fb50859e5a19d3c57f56d6bb325b9cd1b3add8fbceef45742698a4191137af02c8d9d2753422630543b7e1f26fe911a8f0bbb7963a37cb417a95b48005cba87f0c6594dca0ac364c3286bdc852979116c3bc5a8ad9a01dc1799d1e92815da83a61767b2b958d1326cc5411b0ec8406ecf5cc5bcbc63158695ec7cbf9c64bcb432e1881981d83572115134e5b1dc55750049b8fa8860743196eef1b8a82ea8cb18903d4ca556d11c4da76bed4e888dbeb968af03b782ab662a1b7bf3c380dca8638c7391b89b86c7bbba4082709dcc2147651f90c9b466b7f7bb286209990621799602c8f45a3b3038421877aa0b5008887976a88479534fb08279377efa73c1bd97d0a50270c4a0113003c3cd4cf4de8c7d1c293fa9bb087826e49a009258816c42850cac843a973ab4dec8bd022051140988a4bc1b85b49b9325dec2cb38bb064ce23cbbd88bc2d7abe5ad4644d6b3d2d5a01c4399310544c35ba0480c32e6594766f8523aed9c141238696295b80b3005246cd4fd82646715b49374805e0c6ffd0965ff73b09e29e66398d53f0905af7ce22b557a6609908c278f504a52db4bc6b45a8d9d4c879ba2007e66dd0b5c93d2ba3f2778f66695bf105588d968b51c2bc66b823f8689e5105a84aa370ac68aca193aaf749ac0641c4d59848e748c0d52421cabccb0f6b1f1a6a2899d7546617cc39240ea70c19551333a5fb99730552604aace857890b8a5079341d85f8425a1215c0206949b51a1a65ce8f49c881d00fb375836105439ffc406ce6418c88cfb0a70733577d4efcc2d09461445b12464c8d01d567af8731a30792646135aa77536994211b568031d2833f9982c2a911fe339aafd620c69c9194e7c0b04b8467c52115d4a9975a15e58552d26c88604a039aa92446b4b9b67546a6314cbe049434145e78d6235f70cfb03707d05cc138257675225b631baa5f084a7e0c0bf4c9871b973e609b31d1178354647ffd6622e7826b7bec0d4dcc10c7ca8cb6b958e8040c78fb5182682f327c646ef4b909fc44dc4bcf95499f4bc9cbd4e104547640d927a90f194cfe557302039e9d096507f09619cc0733016cd7d35a1e539748c549fa6b9598bb12e68b50d3477a917ac1e79cc9f217974da843212591c4e91cdc8661fca496838485f1f34ae1d53f2ea4303e59158444a733d9632f04c961741435813491b2b638162341ac0bba2441fd041652c29208d97c57109263b133a12342df811a0f859e773b7248d10f495867c191bfd6dc528026fe494f195aa90685b7aeb1328f04eb2324e4f2248abae34a322cf2b60ef01bbc17bea1e9e16a23f36c4c3d7ed1c0502d976e19e3365a3407f591791a5db4578b5972093a95bec3b8e70c1d542c9b5c9789729f8922
|
||||
Input = 88989f75abd1105794c5cf99d293884c60410cd9c347bb36187263f95e539fe2c80a3b0fd676783ff93419dcc44c21045edb4a768d9f244e723b477625232aa641e5d8aa1542cf1aff34b6c090d93e9c49e6d633f8c6f4a46cac27d6396c80ec57b5f1cca5e109f93e91222c2904a741b101e91d6fdc8f002ebfcf9fdfec51b12b8bcc371e3c82490198c9dffe2ba98faf76d33728ca2b9c47fe7f8a3e5be93755dc52bc30b7413ca0ec046a421d607fdf24e8d0de553f0e8b2334fdf632a8155b21505439b6024f90dab7c615bc42e4584939a32e12512096a1e758151cc76f93f3ab46d65b70eec79830c0ca0fafff00c5dd569c9394ca1a94752d69421d5fbb9a8826b0fa56953f4885e7a9556cc7a4b843bc366a33a865c54f15becfe9c7574fb1d8a9841d7520ab3ce7c7d38ebbe1cf6628bd074f7a5c669c1c3ad7b5b2d01630c5d5039f46fa81667e4fe88438b5bdb861e53394075d20596c06a6c195822e726c38c403b8359d4df17a93e881a455b36b0a846efcf30df9cb274b215dc4ef561301143392006f9b370636f1b7c92ef413c757370ce13ac79e721bbe13223271cfa5e4f5ac89bcb76071a68d913ca7d08a9d475d58737067cbb89450e2bbb04a5e4916c892567aebc7cd2d94bbff0a0020147313c016deac8a89cacf2a39dfba61ffdab97091c9fc5759133489b847e1be5c343f3031bb01f131e9a9e8820268092ae61dce1a99d82a7e3be2c0875603abe1378b8f66c1da100bc2e6d4e92e3587c61de24e9e0b5d23f60f813da80bf0295ba9d4b3d7c863146859c86f6232c6a498076ee00a63cdc0c9847a60c3bc0516332e497b44190f7f6ddcb208dd59000b5946a74f2a9cab40c6a0d6e572c55291914fdeca418a13500e5a841803e9a0bce809f3d6036e9d85d13e8dd8878c4f678eb7be959883e9243a3de4b1e77eb19f284037c5f5cd2c6ab219b749ae808dd091444234bd6beffc0cfe5cfc1a64ed904f3b5524cac0bc04fdd40e901b281dbfeab2544f5d1b95c3f4f5a044a1835b18ce394287ad7ba21d9ddd10b6e1fa2dfad1ebfc79c5338a6ada0e6cde
|
||||
Output = 5cf212769657fbffc33af54b153bee9dcf7a073bd5c8764c04d508448f0128e4
|
||||
|
||||
# Official test vector 54, seed: "a7c2c8edb3601396beb2df0657ec82fd5780a2723581a9e03dee1cdb018440439bb1142cab0487c5d136e9af46338ab7"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = df390548092c667b4be959b0b7f89a32999428ecc6a95a5a11e6c96f3b6f6b880b93835d49e6cea4f7b57b48309a9325a8f820540a748da18076aa76170bc1b6d1a09fd8569a2aad795c085ae08a7dbb19cfbc3d9716931fba78f828af2ce868ab1a92fd7ab55d405319649e2581c3a961286c2221380b996f94315dbb3dfc7c354c01adeea403c0176f6c0759716b7f2247b2935317fa64426878bd086521d79a2cec7a0cb918c8a79b19cdd90280706c0dc15133991354b41b58389acdc101fd853abc8286a546009fd434c3589059e0bb47bc536b88a7cf92350c0a24ccf535f998c4a6588d03549c3118c2d84c9d650693b635adf1d7c43892005a45bfb1a5409934375f75a926d8a691fa72050169a9c4006d21860cf965eafcc54b28a06c2944bc1468a83c3297c089d6f8824a158502a7891bb1aa2f22328ff45f627397a5f8aa602726396733cb32c52158601cc219b73879ad9b302594683e54c169639f51c98e541942c78a228dd251d3e59d93125c8a57a00a444f378300443952850487e3e1b2dd903741866c14c3300c6431dcfa9e59d9342e3c0edbb88c07bc18907b18cbc895420706f6407523736eea105ce82c3ce8385717ab811750807a3001902bc69278bfe6e1378bccadb0ca445f824bc89715c9c181d5d04d4eb9000c27be5bda273c7a222fc6a19ee49e8e6082e6f493798c5069c2071cf5c4963a7097cc175835b19ce0c11cb83338247e47d5cb560000978ab05c201964c9c91ff0a4b20582717829752a2791460959129d3f673997e129b5476113f5189d3579433758e14b602f98c593d1702b76104d4648de1ccd32eb3ede4912f40869e50849e420144e9b7e78249359142143743e2c78b92da81830424c4560350105b40b8580209a812128bf3235143326529df777b3351681686916306451f2555509349f98c5b14a40353b91524bc79c0c874c1997b80395d4d3c049464b769562fefb5a46e733a2803d1fa1b0520775b345936011ab13c0c388781405327bb6d5bd4fc2cc3f9c16066c55b442b4d79007c4530706641a9af343698a2da7f949ea2b1f9ef431aee760d2a54d4fd61fc7493855878416c87456ca0795c706ed4131c5369069a15ac8a175e92b708749a27947833c92c26fa28f1d7b3dcee420d61ba02a808ccf37aa4d83c8f8a25d35e642802b0ff6b9b73395c3ac801d56b78adb14be5f0376bdf63f4874a8a9f41e8c46770eecc06b9b5a43dcbaea8bc4a2fb739e9c8fe7293ee5268232bbcfcd7b09ecbb4dc1a558edf2659674539cd10102dc19622a9b35479955ea12f0e746430aa573572590e097c709350a28ad603064e6b0087286a0f10607877a16c9352e3adb62da9064d8f2a98098af7cd4b9d3b382f9acced9d8ba450a0c13e76405f96221ec7c8b2877ec473efd86cd364c857824b902e536d2883c95f26fa2452b6f831717a00a62325e1f39bb9aecc6b5255d75bb2128d65f173223c1550a7146a0ffd45aef04068da65d79146097ab380c819509e05e5fd49d94f23c388bcd78c75ff33b8c95899ced81b3741b3149f42dbc1186ac6c23eff74f92846144020d6d88046046a7173966b0a0823a9607abd9632b33048e49bc34b17b1fbacb7ed83d4c8902fd331a34101f8dcac9687842012c79f46a417a3ba21a09301316afedcc2c7ba909f8e10a502ab11430960b16403777b2142bc4baf2841843ce69b1b5105723c5f3736b35299ed1a894b136e7f01c03a7749fe59d1327c8e9ca9ded0a1014547f405554c916176e800fe4616e43e9cfb2d20b10ea9ede42bf33d33ef6976dacc27031383f8884377dc638c3f8665d571a51d5aa5225c7ad30ae4804c245e9ce4a1cb1f20c64db39bff9175fafb8a1e86c91241950cfb996164c9617f552e2bb54457121006c301a93a83dc5824c1895d1370216d1ce76fab269e0b37fa7bfaa7197e9842dbba0862cba940edc34977ca40a726562fc2f3e7848c3b52917dc7fec80c73f04366b65241dfc502e412277404816881c3bc9cdbc874ca5e535bc84623f828c0107ace3c404204a9a1efc99fb52042dcb875f78146d88c02117b08e360aee99112507a41c236097cc8f5cca22fd2076e2c25515474216f6ba9426a40e3572a64363d85877afe4ad20c38b9a21130513bb38c0a7f7b0a4c206a8119df9ad5c3af3d313074a677fda1d6ae280d52a429837b53bc044a7c2ce503b7946e69f1284a5be8b097f6e22c58091e2308d5db9402bf02481ce4b27a52e87feb92c4399c7f2988d40e942e7496ad15ad2aa88
|
||||
Input = 213baff5ad4e815a21f9895d053a7438e6634cc52f1ee78905d555f8d142a61293c0bab458d53affca9d5de9b5d7e317951aaec2c67513fc663a7a5f11cb7631e8f794bf3c4855a4d53194af9afad7c86a1df785fd1c6b97d9f7fc95e2d299746a86688687649749deb16020bc5114367f7dc980e1bb5c6fa6d5694bc11dbd5f2b99ac07320f20dfc6b46936fba7e733bc14140c06e2806f31fed41910533a5ee47b0f4532bb60298617e45d14cebd70e708f73d47b36abcb43ea65624cca0f60ec96a3c92b943a642433effefd42073cb3855732a88c71b986aa338e93d3c70e071b97e3983b3c94f8352ca365faab8af411010c0e38e0b7e0a50feb6e58db1e812a7618091e77aebb84df38ddb61cb120aea1fbd65c1af6f209c4a12642c76712a7ab2ccd052421c6d88cb36c833909e070c47455da49e443c3d1429c1664a2587b2086821f5f8f83cfb722f43647b183a08c9b198f89a42e03809575bba499bf217d2e58da24e74ca756a9e4e41e4eb3b34402007fc43ad8b9af3141777ceba47517b148d3c0e1bc47db876d1e1af7eb24d60cfc05e66a2638d28ee5b367b96804d8ea26f53b45c1553efc9a5552d8a6c236fee5f8a11b32276998f9525240960c9a1d313356d8557b051a19625445e22585ab7ebebbbc7a10a8d800ca60d6cad4ee14ee4c4d618910259cd5907832ab0f7ced25319d592e0e6c6fb5754f0b665e307979f62364a905b2a17fb22f53d022387b5eaa0b9bc267c4656fcfbb786ed1b4cfa0a255687808adc658581553098ae8574d4fa6253e8220e8996745ca5c1cec9fab8ce1af6bfcbbb613e98eaefd6b5122ea41c7b35e237390425c1d91198eb6c8aa0b7cbebe1fbaac9c224da509bf764c69dc76beeb9ea14c1c680d46d191fc71f7b9ee0b0a3a4ffe42791b6e8907aa7d168dd6a221821c71ffefbdb1405894726a75b75e91e4b69582189ff9667fcb8b62e280cd8b7727265408299b1a6e65820ebaacab87e2fe2f9adfb798c6d9f0cea36b7f4b2a09d7241fc74024181ce60cb17b2d3312ce3eb74691529164468781d047e9c94cf675c8958ff28
|
||||
Output = 3a89607d3fabf4d3165f3688b0ae0b6eb6f1b4a21c53c6b75425cfeef90e9905
|
||||
|
||||
# Official test vector 55, seed: "467f6158cb86b724039ff18c47950ae5c49170163c910fc9a9b30141f86e9c06ebcec91497bcd156d95758c9f0c6ef91"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = df91033c6a10802554f828ada9bca7df27b5ff06c9bff25d2a2c63f19382426776f6741e6d50cafc0c762db01cb6d948890ba74066160c9a53a6a204568839253b81f64327a475618dbc4ac20b70b5a8bdc27aa7d9a57928caa4911b924ca4702246826192550bc717da3aaea260705a43a46846b810fb98306c2fd819129b98068eb17709d664477cbecd249e2662bd0d307f60d98fa6eb9bc548a515c99eb86a39f717c20b73c0f3111791c8cac39a51337076e71324b5b985b44a93b9a64f867a278f440c671459162ab7a632390fd2af49f50f8715579f83ae66309d873c7fa1bb0ffc35a3ffeb921d9c02e0018dc4f4c785d9cb830a1cb78c67ebc94e5cdab836c93cd6185df1eb9721319cb875be8f8959cb708404a2080662204177469360682f81287daa079af6a56c22b8fbb7a0aed132ec251641736cc555265b530c2000575bf19190756da9e3799666763bc0a719f224c0bb831eaa0a8119cd09cc53e4a3b89756419f7865cababf2bc6be3a495ccd9173f358c381483a51abbc8a7911781b96b8da04ff897fea33437f1718466b0031646ad32422afe2ae7768918beabcb85b4268f49ad1e30997047dca5b1cc03b2fcd9722010692fafb0819a1a55fdb3ca4080c440247c6b5cc08d2656e358c31439164101bd80bc978c202051a4ba323a1fc4393bf603fd3e0ca9d6c932deac1f43660e9227eed975b32d1a0013b50fdf615003c0aa5715f2f7585a69c31d9dc7dc419bff4995fa1880db9197440511d54ac6e26674099f6ae37c7a5e6758f96945127086d2102adfd41a3c3d4c0241ba7720b8af03c38c98a28aa3b56cf022b51025d80171c5c2a9c18378570774243a572e7330718b0be8566882087bbc2d217e6345aefcb5898000dd76055a0787b05a98698e30bda6c2a1710250c7bc06106c4cc269eb1297265c6967b9460febb32fe2662bb618fc61698d581729cc21c06f40cbbe609c545b5e74b63aeb0ca3f706e9266c5857708053c6294a7c78426b387283c41d9647641c4db7c49dd493689129497fb2f3c741301540977319ca87668064a8e157a64f3db0c4cdabfa78608bc69af4e3575fd760f33733d47f95b0323abb1fac99f435073073fdbb0ca5a90c263918639819e62462f829884c9b69daa90771a625b60e12d7ed61967933079c07719540f3d806a7b83c53285af48e2559a24c8c72a8c1101cdfcf730e1d1caa376928dab2c8dbc49d2c3219eb36b58f39da9d362c3eacaeb1592bb297241d2ca95092957da249f4b2a24fb15d5b79a87768f8cabb4c0f42206d79db3164e96d68833ea4710eb066d445d9a07b69f40363c2a3d8c535711b5cc0623b2b744a9098898b74c378df1114e3019a3195d4d506ce449348f07861941750cab63b53716728b456be2ab9004b4ced9c1c91b179194a264778665f18beec347887098ebc9cf270c8ac3821bbcb02ce80a3de8b26ad5277f008c24d7289e4aab580aa962139c184b5c95ea54c2f193a7d7cac71829a396a0aaa6a27086c04abd638d04379aba1984fb824a9b866ec1ec7b94970e7f116ecc240deec329316912fd979f8b4c9c713ba4cf4b8ef5999ba5a6684bd31baba0b858c72aa8e0954ef070eda007d698160913c2e7964f966830c9c2c5b5711f3275c53e5b27c770bc539933772350e5883caceac96e0760432223a93aa7666311a7d6180be5602d225009d132c77c3e83687587fcb2c0a99fafb5207f2158493866420a3fa8d74647e5703ee9b7491b187f727ed8843ba3a1a55f55c2f838219cd5c90c9476d4cc9243f58f04023e1978a683f0c0963c6bd1a0c27e875e3818877624acc3f2c99c58559d1c643b41420c799a8f54c391d9c4f37643c43b31b2116d08bc45e3dbb1cb94a6f0cb82e0621f48d9a9e886c1355a7317ea7657054463a07d93a95dc6c2677f55c22fc7818b63bae839430b8b3d1b8354f9d2a648836f85da524dda04c47cafae849454bac882aa8a4da074eeec0e37683deacc864e27647753cdfc93a7acb50cbc8504fe5c6b98a489c9b0ce28d265a2795ad0ac30b645b3bd572678e1ce5f136f3491338b77bf31ecb0587cca637c5d48102268c56596489775029fa49586a6e2aff6879dfb6935e4387db75c16138b59a37a9ccc0c1b0ed425473a4772a115317b302b55a2e9528ef50bef3b10de8fab327244a09a17688b63401bae9ce5a577cafb7d5ef62f8d4e4095db51fa5eb7dcfdcbc572875024e761563c0a24c3da70fe850e80aa818301d60c70f3038153866dcd5d179e22db59b8991bb4
|
||||
Input = ebfe81c4ba7f9177099975a9ffec7854bee6008fbf9c07b3868dce3d2a450ac4950576484adb6faa843a9a8ff33aace483d958e56e46177c9b310e89e0efd80c18e53013b9bbc39f71523260c3e912d8e6f03869a5a2fb316c3f0589885a6968bfda17a1bca2891c05f47960c9932559ab7cfbe5229908a32cfe40ed49ef244a697c78b554d574a608d28d0cf5c2c81b85a9529eb7a5185a2e50a5a7d43a84748092bde1592589e337852f478d9c3030cb8798987a4c6592d49fff163e273d1e7712260a9cc61b85595dae21b4d345f442772c551eafc7b7d5b3380876a3c1e21cd9bce343fce4c88f6058bd4e37ecf6119cca0bb0629c20ddede9f08ccdbf76f6750c7fc278d3ca25ca129a5576c99aac495882d2a704a2cf9e3d4520e10d4be1af9e83d6e532b4531657d95f04cae1fb73a536bdd0fa5b2658ab2551bdf5a8b7cda63ef69f3e8c264b14a4738696028ec15f606e0795485bcf63d7056a88d01212f30d3714b49758ef6a8a168a3fff3147fe2b2948b4478f8959dacf64491cf702401338ec3d2de3691bca88c9496b626f3ac63c1c0b3132609c71a3f10c04dcc53015326fa4ba8c2efbbce6c4ab33966d70d31dbc7e318c29988782ceb61d615f3214b02a4292cf56e7e79fcf011724d3892bf984a3e9ca2f95b1e70d5bda275b8927d0ef693c3657e9f895cca0a12ae82f8ddbf017750fc7bb9fc5ee1dacf471519026e829ac8fb9a5d5b47188c09f406f8a5a6a4b897cb02d3170b2733450471f27d379a68e095c8cbae9aa58d25816ddf7303dd4fa04b0285869c5b95a6adaf1417fbb662b1d264db34a0e48ae5ad8c0592482f4a472e2694637452d2f20c5874e6b65c0ba03160c4c410d7cad986b44e0f4e3ca0a773c7452b960aa1d10f6a17dc132d73f2d570deac710be04612c4992c66641e2f16b81d0b515ba4c1410add8ce1b5fabd65da2cd5c5463d0950b7c19d5fe132ac1f527e67885e7dd7972ca8cd53f872b3995d1656d6009d7201d3c7aca913ea3962662d06dd21d7506e4a4c926b1b1e91657b2c4883ad35a4add668a47f8e7a2d463c94e7894ae0d
|
||||
Output = b9a77422a72a785193d07040c3e562d36406c5125301ba5ff6f703a44cb89764
|
||||
|
||||
# Official test vector 56, seed: "687c02de1041abac7b2c1e6ec2a7c3375552ed5edb10e3a8139c24cc76bda44d719d8121a81d47a0b762b4e9eeb85235"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 8735157d57b31e142101518b9ecb8f878894a0ebc042eb2dbf09cd5ec35002114ede74b95381175ac3751827b5e3c55a71b05f2dfb0c8149b995759109a3bf9d231782c29fb88853684b9e230669e6b25004a7199879cd3b2b623e35238f27c058363711a732259ba9f6b088733433f364b3e20a0ae33c1524ac0552f0c99ac56fbe8c4a78a25b6da3ba2f768020d5879c4c235a0747b2a831fe1410df4bc5f8c972d598a2d49a62e586400781b080116ab296215fdc21f11569eea5c876c38213c3370e339f6789ccd33392afdc316e9ba42e3834ae07b1815c683bfb933e0b66f86cbfc56993db4b6c040a31c3a5115c502084e4c97b50c605a611074aa35f388a4a540df1b28794b62200a2abac824af3c7a9822c4ee820b2889a2e752938186122f0ba637224461188886261b9f6d065b5533895b20655b03178b6ad5ba5ab21a59c27f852c27857a427cde49309bcdbceaf553c5279845641cf7f4a0ba1c134c8a767290349fdd70cb8fa5bf87b61014364c54961ead2cb5564731b1159d6f27dac73c6a145840e5970218986ecf793f9ea336e1aa9bf71ca5991906390acf1e375f87bc3d7b403afe15c4eaa8a802095bc18a49ee0817344b1a3a70813c167430cc0c8b10780725d0c6a8174590bef919048f231ef7a253e98779f38313007c72be23182125fc60040ee0bc3c4f5211eb279db144fdb017982434ff57992fa8658dd5583b9c37efcc16ce9243d54b546f0a33152f95478b4bc05c48b568b8ad756c60bba1bb8d81dcad9bec6679115a428ba10b3a45218c0bc6114fc4348e20eb1eb442a207863217cbc61be2738c9ce5570edccb5f3192c3ab4c3f95a357e5193c0a385c9b88fa3c41f5cd55b27c12f02b586fa889efd27693582735c5ccf72b78ede855a444cb90abbc4a4182803697ca0174db3540412ab18ded19f63a611da574b2824b6cca17d0aac6dd8986e575c33610807c9735d4f2549ec2886904107d77a0cd1dac34747ae866a2b6d362fe869234679a55aa20153a447bd17c7e0176d51033efbb61c87f5971148cda1b88ec6356c0e23c3bbb63e8b01ce1fc842cfb08c8f9b347b45649e064584ca6aedc58b4f367df83b6ffb2379c3b06ee0d5026146125d36419857233dec0e1fa2adbac82fd3482df14325a44b08dcac9dba4176b4941b520a5bd41abf611b781256c7ab10c11fea9d92f9af9a392434fcb6618a1754326abba922cedc1c5034400d94c06ba995e872ac31ac9829cb7d83d5aabc95a2b42c8e7b1186a751c2bb9849aa3290cda170d3c7a45a649357cc9f3e54b0c35048e425b6cbf2789d724a4ff8209ab6659c00bf9126a646e8b828c3b245745289e40c12eb6ca4eb2474d76f1cba2824793b02aa37e99856bcf577e89227b69b711428c5954a0579a116fdf773ade48d99a5afa7203cf1345456b88c11ab0dfcd107e64ab16ec2a0ae9913e2f29c3f108d3de372f142b7840384c0e22430e691bb0266eed8c02263ab1325516ff425d6998ee9d806ba114b4a7513683b60d9330017233b25b39917f54578c1b1b5449f473b5f9fc0bf0cd77336729763a26fb4c7666024bd9b361de1b86791a4bcc4898c45162cc1b45bd4b40ee79c5759f62946b7af1ee3b012a26bb7b011911b790327b15e8074970377363c1c62629a5e4c62c731cb3038c363c942c67aa03c4aaa755939c9f2aaf1606bbbfa0e24305eb82a0b96d0827ac7a148507bce10551d42829543a75fa6c32d5901217744fdcab66be26bcb2551870c1278508948c5c58cd678579a9920b136e5f85e586592a689169c538e7473080492b1ca8055554148a4ab02cd506bf5b9594c69bb0dd9b283388bf13455256457a47069661a22412aaeed36586f92723037a1fb5637cec149d0245d4020429719931a2a160532c6e3e63c11233b1e438dab42b386b3a43cb7986419156d936f214235f72773464a35a316110a71593e05acee38bf7d106ebf1374693c3737d603553610e3b92dd50182778b359702463a125df61269af99c3fce0ac5fac0951e45cce69a5ad6679d268203b12697f7a5a49b04ec8dbcb1df264c5670c63f02662682dcd9b0f474a2698598054ebc96d51359c23179114a075d8c647d06840761e54d13c509c869e482fd62753158869cf72952c67305f578fff578157fa0b7ca95526311983eed262a9b5c411a4ea15a0a2d10783d9d571c555c109af25029cf5faa10bf8be57626148ee76966388f7a1957b3afdb8a246a56ee71465591831c371f2eb87467b0559dedd776ba063ee6d2f93
|
||||
Input = 4fa3e9e0b1a158ebaff29f02da7cab88027ae5aef1630ddcf7996d49329876a229e85bc09f78fdaaacbe102c70c8e8c62325fa4f5774a1954c2c260fb77a44c7b355a522c0106d4f5c93722305a51aef0d524a428ac98f88dbeb1ebe707c3a29eda37d19a77964b646683230b2e20b5e0e54f352f9feb017babb394ac8c0e2cb88548defed5ed32f46f2dfef9f84d78ab7bd16048008f3e70c45dc0a3f486e206e9af0f2029d79efda2defbb9109d80a7caada92acc3689aa5e815389b6b4593d1d27ef244e12f965bf76796eaa0280aa00fcf956e121400500a7238dd715bd82b6c385f702f9445027f1f5bc53b2bed9dc5c1fd0f20c20a1fd5261ea0bc31d544267d542e125d7da2692ead3ab0bc4af6bfdf501629b8c0ea8ec17e5fed54681755b158ffcc1106046870a8c906cfc8d074e3f686b8bdb9a399c0580cccc9c4618b6bf078034ea0cf1504e5f9bdf5e8c9c67fb447f4c7fe0be6e6a7a59d81099efe5894dd88470abbe68d16ba926f5d7e20b5bf84e4d60f0261b6858590642bdb6dfd538d686ba7397b8d5a3735f05afb52aec609390d6bc300949eba20c286f8650e58e7e423e1acc80584e496b5b8c8e4b3f8b8214232837db613b3d7823f00700b673fdf13376bd4160a1e2ade86670373fb524637a8dacba57f4c559b92eaa70c2a1584ee7dba306a7f3d8415db2b533efff33ecd22fcb33c1d077d1ef3da51d1965ba2aef630d4342bee999f3be1e4140c67f1dcdf6441e29925b144476d34ddcd9ff80d395a3422349ce2c12123f5008ec402686fc43608ae7e8b9c9b5a5a04eeb9198cf4d55faabd46ab48e6156f82a978a05d564a2ce440526ff51a3217795183f17ef5ff69b90d69b8fc1819862e6e4cd76a67ddc1f2483e0f065b90cdf711e4352d8bacf18cb7d1181f98c075654c13dd8e84640e3c8184491bdec1e1d292fc93c04b5bab961d65ed270477c030fa8e152d63d7666ef49d6189a11b71c117f99d759e47b606dfda482d4c64b7a46e83ef6e4160437a7d9da4f1439dc5fdca8932944c264b585a9c79703aa9f4097a214d11b2f1a3c9a123d50dd9
|
||||
Output = b86770d1e8242475986327e5c070dd5926baaf2ec90d017cc1e2c8d1af83d9e0
|
||||
|
||||
# Official test vector 57, seed: "4142237070c216bcbe245a39bd9220533c97651d84832b26727855ad994a0760c52b9319ad404693e4248b8c5ff324b3"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 2c698ef7a69627f4a3c24058d1d86f7229b588580633730bb4d72c7ae58bb5d220fd741266d82c5ff91005c52066e21f8ba8affcf279c620c8c5929d8a8bba34199f7ae48a8f509822bb78752a55562aa52447485aaa7728e63a88c8427be25ea28071166797477a94b8a31a591395d8ea7ec9999ce8843534a5cdcc78542d5a078a87aed9b178fbcb9df568980f53a4ff80ac9f31485537a09eb3b0945a16b79280a1b6852122597699632baa8e3f57717dda224201ca8dc8c54c28151b364be6807b97380f3649c41352bba331136c3405374a11b3298e23685343a116e6d992b6e2349885486de4bec74aa7091b451fdc130e092c6d1180ad34548a1c0b35a10026d660aaaa4a0037489527b2a5657c189cadb6120317360f77ca795f1bcf93575680e07a264029628542346723c220866d881e48b21dc167a022bb18f633a67ef6381a96c3b0b06ffc115aeb493509325618dc51cb0a3b5e4ccabfe53dfeb4963c50bf3e905dc276aba1481e7e8b3a0a1874c7c2b02eb368a8e9cfa57884c41a44b9a74d131104430071b616257f9003504029ab283fb02b6de3b4bc28c03ceb6a77c53771282b743673584f591b67718a500b7dc8439ec8e399a39bc0b996b693290bb2761c8fda1da8ba259c3bb51bb56e739798ffc32e69bb735d0768ecd62e65bb9d14a26e21059739c0688ed16686d942efbb648711807c858bfe6228d7049a7596a761f478b0aa6dd0bacb874b0a6c5c0c8bc9232fe616c17495480430ba163f64639fb3468d5866882d67ce4347bd2159863dd362347ab488d2a5b4e52893b43afcb99934664a0282b5a1dba16744b27d589984395f6eac06e2f64da17c25c4b24b996c2759ec88ab51b1fe29199f2ab9499148d4fc438c912eb9c11f14bb5f1cd30d021ac4858567cb07cbb6f9c604e3980cb2b1f8aaaa3659195a241f3d46162eb97815c257b9374d7f10783ef13028925e41d815e96183888c547ab710c05787c9789af0c336c2ea8d14d7080a36699e966418d0aae37552009712a10635a4b5bfa9fcc91369bd3ef1840adcc1c9b44f16e99aae5a6c0c3b6bc1b43c5f93857136616b36880a56b7cb736d48fc3df37051b9cb977058b21ddb629c302b64a071c2293b29eab6fa10b41d558ddcc99a9617857f123a6742894ec24d8135778f786561412b77b62a3328c09c41238cec55a1c042c9eb56caabb0862c812e0775c1f89bcfe59514c35442cca6bb00ca7abc1ed0327ee2f75a1e486297c5cda394282f633b8af49bae7014b7541e62db2654b3b630580c4c101ab3879da125cf2677834c6bbecb88903d434ef1c69202b11eea068c5c09cb0c42a4b90476f7fa2d133a1463f5917304beb989c789d51c7e8271843c52d4fc34892bcc77901f0169c083b278ef98b9379462cf0159f5a0afb786538566c3d768b0760260c93c24598250c2c6255a011e79face3d4644adb5a0f7179e3db252a81015b16998c1c71e2fb07ec83079aca15f636857fb37007ed2068e4bc7f8299cfd02c97fb44883a446d9153d600b640645c44c457de9569b48b3cddea93703842b53f394d6023949a6969908c2faa7237cb726bab76d08b8a80662475f7b4913dab81107584807b3637b5cdcb6130f090f1166c4a44bb5880a904dd15212716541085ee377cb622056808213de738430f819d60587cc7270980ba39590cbf9cb04c6d26c4bcc6c0c1a0940a936b6f1a254775899b74ef7866ee857023168cc33c8c31f3766100065d9996a68449c520792ba0aa49766a6f8db90478a5ac1d944bca5b3ca9775c2e50700384755108ae2102c97a701816ca08e532a9be51ed447a83e54b61d544285565365f431ef6c75df675bb0d44f86b679b2dba8605a3044900b9b1296bd8b03ac7341ead657afb020c9443a5242591c8c394c65259f2265ffa3bc1c2a20af28748ad1b708550f03242d6407a05b434abac5935311725a296095933f4349375a37999ad2110e975f95c205f7670bf8d378b2644e90abb36191645fec8d157a462a750762b3419ae7298569682fca9ca53b4d3e075a2e1988bdc59064927739e42456c4cfab2c918f98a626ac1ba6469374fa0777589e9c38883f9c4c77c06f9476c2d7043f12663aeee53c0a211baeb3523e872604c10a5f891957bbdcebe210bcb71712b69222f0df56e9dde12f0995b2323acaa4d83d21e737c9f63c66089182c0137f996d4dda23bba1dd9360ddb61f816c3f5ac0d4c49242230e05b7114ff0395cc6634db1eae8258072d09c09f291e92d6620b177dc50d7
|
||||
Input = 81906c245c28e44ab5ffcb6b642a793eb7de2a28727ee60a946e87a1d42bf920e1b346753d780e32e2b97e48d4b0b74b5c3d62e7e3d23b33aaec279bdd0d1a2e44e6275d2ce6f0ec8c9807275d711a70554d42196463f601b137da15fdccc37013a5ec1386bb6c9bd8ab4ed699da2aa18f46445ce854c4733df39bf52574eefe8bddef363d458792c7cfcb82cb4be5ad5760238766d2d5b85488873c92f508736a1dacc1371f7b278ed19abdd881d57bc242aaeddc5f4d9fad84e9d809287bef19600cb9a8d0e1f8e70060c5f8263c5f6ad67947ee64d9254f453f0861ca81049e701d8773a56af4e3ffc0a99c0a694976105060542ee8049d1c06401e9bc39d84f3477ac051356f0b417c22132f6234c47e1893318c2ba7f9d8ae7796f902cafc2328c0b6d86eae84a5d193fd04a50e6acc70536f35075a9b0f813b621a7360696556ef9940ce95be8bcf417ac23737d337097367db9696a23298c56ac85968fd51f856b793b2e989c96105ebe152803298ecec041eb674931b4f27551d384ae9b19925fbcb076c9f50efa23116497aa590cdaeedea581002a7333ce2af777f36a2b8d8095b09310bb231b1da7da7b6bba1f6980525945fd8ba54f1a25dad5c9c077752bdc6f9a6c9ff86db732e5ba637bdec7a6d3f29dad9cfa8fe7cb80595618eb963b57ef50246078d095b0beeab1fed68c5f35a01246fc51ccbc2ef8b1b6438d18d27da2e675157a4f16685f97b0fac63fa3e763ab7dc1a6aef785a1063bf760f32a3f81ced9986d222c1a7f518cc852a9d77b87db5688c7afccd38630c6219a8cb5292bdc025be4f0d9a16ba51cb0a819f3e8aa8b217b94b6ae7fa1d6b8deb3143dbe776c9ac1a8e1c297dcc761e49f98960887ce17e80e5f9482e46ed88351fa5c1654c709bad5d2bdc98bb529799036d0f880a492353b41db9b3d9622893ac328a1f3f70299a30ddecd78d82ac0e498090108836a2cc7fd317c2384d9018583994c523cae96ef0f8c30511a4ba98b7fde2a5e399c1abbba1b1ecf30b2a8b42b220d5f1fc67c4e9f53f7a15e8348913b2d029d3b9fc232107448af8c4
|
||||
Output = 99d2bf8ba621976b78aa1380fdb9a76e5e51a3cab0d6cc209b59e38e1b85fec9
|
||||
|
||||
# Official test vector 58, seed: "bd334d7b7eb14e00e68863f2e5551a095f8af10681c28353fd19b9a7e70b8bfe266840860609008a567abc66316c77ce"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = d2c8642c7ba3d841a755227c7c0c7fba0a93d4a0174fa29e2bec8ecce27ecea00b277815ac4197280ca34c848eb5e51997b5427be96370ba88f900007830730d0cad5c4b9dede4785a87178777266ed96caa759ead1aad557910c61bbc27fb9db2c17c0d562755953821935f6b20c2959ba187a41c51f9ad6d114996104a62c0780cd1a2c968054673c215f51fcb44ccb716725a1b4f4b93bfa865be0612bb1d026b0b12c93aaa818cc22caab92ccbf509bb7191ff076e3c917be3b0235290893a6c1d34613e88181fc7b54bc4059d2ba53541207ae0301cd27bc074720794555b21b5504f5a629249b9b8e36c3c214e7ee8ce5cdba3035942dcd195420abf959110db61a22a67bdf3d546976cb2a1bc276be45ab170c7a42a9a2fe6336e864736eb9bb80a59e1744120939d91f825bab41ebf526ba9d71a9d04913cca0e708b4dd3534f9d071396135d4b5298aa7810fc95690647c3735894ebe332832cc5e8e12ae363069ce9891f9ccccad42339740388290fb2795843006463db8f55d12ba911c31f66bc93e445ddcab97a40231844c878e241fdb32846e72fdcf805e73435ef26205334a12c453213d399f5a2a1cfe9435e6b9f1c5c47cf4accb8e44943229397535b0e21168332296c36a44a5a042b5445274c4a4192307c5577f7f54ae26554f4d9686bd95dd61ccf7c4c6235e19e60331175063739c354d2a752e46891dd2696360934b1418420336f842855a0db11d6976ed58536a17c99dbc2c21f84b72163bfebe371a42abf835b736ee7879907530fe6144ec31d9db6ab786065eb569426f0a17c85127db811f74bb10c985bb7ec8a003690ed3678ac949cac8a45a4eb11bfda94b791856ff55b033801a376bca5eca84a598819c0297030cf72d20110572502a815d852accd26c31a5a7981724cd3a8a5eb5b051142947fd30c6d938372c2a28e0911b0e389233a849d4022d68c574bab7ba5993e0a3176186c65e724cd56d727c678653bda4d8aebc5ab95028047042f08316bdc0e597b9c1dfc8fa8940e2abc5c755b117da498bcd049a8582b98f504aef6a548fa0147425001a3c3eaac7760d03b7699a4f10b7f43c8a4da183cc593818892a9e427b7aed713c66867e6c9a035c85ea4fa09658b407af48cd81103fd59b22d2b6d2e441af1c5b071742a27e351de43866c7c2b61057919d85396464251a38cfea965ae88afd3d226b9ccabe92906ed8bb833f5a185b8b72de7b472266bc840163cea957e812ed3892bbe63a181b498b4c4bae7726f8c84bc2d4336cea75cfa69ab6bf82e73c5aa228bbccb57ac162866528a29976bbdc09c2626129e9b0a1910649052a31bfdd44a8e644ac36786850b80b5e1b83a01c3856503d32a94c7c36dc4ac0c664c180b4888e447b97e79007e5c1d2335874b2620a750820958b82f567441d269f08a4819c40222121a7db26db0f89cc02b904ad38f4097858cd72c7d0417a1b83dc660ae52083d6b8a7175d01b74e530fca976f9db20060ccc1ed61877700cf2db38a37b002a39cbbe49a2f081cf7cb87a0680bdbf69234d237cf57a4c95c931927576182b336786725efa4dc3e3b0dc8b1e64036e7f5c0779624634e7cb34b5145d319c8cf350bee6bb61940d8a050c44ebb18ce08713366292390a27900e1a3376de14c59e7987bf4a26187406c146815368bacfb0970cf2a6d42725b8f168788b2709f9243d73a22a9badca4218a56340675a5240fc56d0e5c54e370be8b678b3a0a37291cc72152360e222a9a8a2daab4171d2ba6b0c1d5983cfaff4a737b4140799457994bc0dc098a67c23d5bb598641c2ba82afa52b3b2c93a1e1c36383115f59662bc0b16696599cf3223f96440dc83cac794b9f045b47397564f6365c5f714964c891447c30863b2c6970a5d917403ee4c8a4a57f6a6989baf06972005e8c0289289acd8d64200dbc85061c6f1ed2845a398ca612826ee572b755b674cba7296cb9ba4b3d36f7378bd79d73b25a7343276db09d76b2a6be2cb06fa887cbfb27560b7fa673154ea7655d076fab2b14b3c43f6356b717ac5041a3bea0864bdd19211ef49a5aa9a26c7a9c34c7b897e26e0fe6144cfb8c6f47c5467c06d3ec52de2800107bc322e687a09c2d075428365ac629ea5c29c418ccc51433cb90c955abd7bc9dd2adecfbe6295d93d4f29f67ed8214a4acda5cfc15e35ed2d11568d276d24d6a0b668f74a9eee1094f7100980cd5ab191264dc86ca4989e269e61100ced48add211a5c937b8d6079d8e271af3f949edc61f70e60453aef20dea9
|
||||
Input = 6e88b20c8d8be7cf9ac0d630498bf80df52cb9f8be22d174862239ec0529673efe8b7fee4a9452670b82806829b208dd8f3e79a9b2d7d288942887be9a138f44e96e947203c485e82f1a69bae5bd1bd57fbc116ddb6191ef39bc9765bb252b25689ca842fe60c547c737f5fee7acd2d214361bc1ad6119dc5d0533a606aac17b851b877e6d4200c4576b7cc2dde7942667067e86a080fc0a6bcef962a10e6769be38f5bcd862f46304b655a0f3cc46eeca3777ed295eaecd79c99453380c456802288d5f4f8e48d103b4a159431693bdf26a65f107680cab9df416573af62e7b54b427d41c8c0122ef3575fb8cb568e19e789e97df83b67213abc21ec2895504f72cc90469bdaac0ca2582934d08be26275ce03ebab2579e90238f5380ddedfaf4dcfd0c0967ab3566482c5d3cdf8aaaa46d9f876446724b2d97a3d14d3a7331e353c96632c8e529cda4ebb9748044a47e64d0a9702b44bafa4ab05cdc83d46a5e109c0b36c36bc0a28d7201ac304eacdd6987035f4165350b920db985d114f0d9f9e3b82673e642cc592e42a341d146b94ec3ad179f7adf14c05cf1762411eed3a8854283664d5f091fbe73bf83851570e2adc798ab428e992b4475331fa0cf0a42663d997eb5cad6d3d3f0a003d246470f961435be1574238798e4bb8184b42f3f0d1e7c22148c0e692b5080199993c6ce7c9b5540f07afade275f9bd011fa93f6855c7a84817abb7fc6cec6d487e9d58333ee9ddeb4ebb06656e06b19370669958a38ce1c76087bb5376e4c52e095eab2cf91344d8527e5ab8a122c72b2ebfd4260a954e6b2ce59a0336ab2ddc0473974e067be2180f889f32adefbbe6c654421553ccedff2776d982b35285f44d6308652574f6f4841c81d459581dd11a00c3189c8ed2e4c6f39ce675e1fe781051f80ce543938647918efd891f5f2b207f2dcd096f2e766f7004c39a93c9663a97a3f1cb016b1d740b01f6c0ccd933b9e0617062b68c0565bbf870c8c371468841d993a0fed2b19e19924e0c8b0bb516d71c48b70c64b603c5f0f5013ed580ffbe4807061eb813a389925af28d32d6fe3
|
||||
Output = 48d6e820ff23d18a3626489b28221139d7f05877f9cca10c70fe501b6e02f7b3
|
||||
|
||||
# Official test vector 59, seed: "a0264c58ab1f2cbcb212077fd378d340307accb31f1312137cf84e3d3135044d4eae8bd38bc3e540a0c14d46458f6179"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = cc3c80bd85a53cb2577e9a77dc419996db86da85cca77034a05b8fbd6b1a6bdab3ee58273241744dfbbb43eb22c8279342f39259d55eca726012b1493abcbcb4669ccd1117b04c93fd29c8275168f05253621a0f79093d09350bcf62a7d3e4365cd00db951973ea44321e80fda68073f73ba83dc6ba0628ca94a7a65210cebaa020d1b23582377795a074fb476bc0a337479223da9b5b4555335fc92c167c05248cbfef58c16459dd21b8eff67100e4844153378d4cc4a8674663d25a4154911105b95b9cb4f1356ce47aa33bc2927477933e7a3c2b8e25ab787caf92bcc642cb72ac8964e22aaa8886da97a5b23102aa7938a6990179fa957d5567b90433e3a1c1b5fab1b7a9576553531a4f11585dbad4214a2ef31a3e4c1b51408cf9d091f249c38b71b2a356201dc7058095904831163e7e7972842abecf26ce3dbbd9b15440ba08cf30c8f3308c1492675e7ea02700c0142f8168ecbacaeb73ba27c6595f65355a305327ba5e032ae27972d8d09c7a4aa86d17bc75da36f4acaab83b1837d632ea7882231988dbab5435fc1899ad38da3dc4ad7319665ec8254ec2bfa19b93f57045009a4f8d58d523c5750d6be5c3786bc13b4223b8ba3a6c8abb0a6860aca479462523c9945ba8cb0b9c27a62a1116408cde20409fc4b31f924c592c0d0da4c5c94acd03b7afcac9f9b2a222f158850e078cdf6b47e2685ddd53edfd134e4c5094d7298a7c278cbfc1eef09873d29095e8a737901c58eaa6186dc392f99c91673ab13976bfab13c777066a8e712567b3e502467010b8639ba9c2ee3cafedc74dc12203ad76fc6ec96b72a0bd5b43e30452ee18c4b5242bce80067568b4419148b795801a4c1a83b991173d6677af9091c10a2a4a2aacd74b8493344c42089731737006bc8beab8650a393886a5806e991053b11def0adce842fc3c8bbb6d35099253bbc9a96c9986f05ac51802984b1e4370ca29d3e3c6489fa5a1ad33fd81b2a14956f36f09575682ffb4a82c18b749598a781b88d237aa576b8560a83c7aef217ff5c7ba533771b1b6541310a312926ac79175b84a424431e1331cbba24b97b85c0c450469e89895b3864bcbb291c16ad40da5503f98fb09825207668c6b028f304061b353320ac986dd09484dbc9deb15c0ba90226b79ffb260e80422fb937146d9c82d9c5be8a231c270aaf2b28c7772a292ca8cd1e8b0e4c7b2712b405a487aa8f0a2775486eaaf672d774701c861be6d1aa32223cd582bec2f80a1f291d8d099bc03c184697ce44f8213ac7432c4692cdf72af38484ab451f8800280c33a511185482c77f5e3a0231357558c59432ac9909e5b69b50acb0527e7ce2805e1841e8449d7d4ccb9596cc1c942cda42bb6c32a549b84c76875029c87b9383411d05c43c9b4de1c0b64d2c7f9d4b915ec8786590406afa0d85330d3c3c0235a081d9e15b93c34f1de2295b69a6723035e901758d108bb88b367db72fe7a31a5a834914399db946a60b5c86406555d9ebb05f836dcfab8359c893e3a145b9e309126717fe82c584181f9ee6270f1bcf506c344043c3d4c456e5e90eb9b046c2e3a8c0ccb38e0012a1d051fbf723e0d047f15555a275837338c3734b72f304bf46c779dad4828531a54ec5b1ad468c59a02b852045e7ac4204649c85488e33634641206a3348b982c7c095a22cc3a4401da858714357eb0c56a50a1f1fe53a6d707bfd24084519c987649a8937b94f2105c02c3410bac35bf832218c1ee57a3235a156df57a99b4cc37d521bb39921aa009ea9ba02eaf5b62181456c2a99f489b4569babd0910a0fcc6c7738a556948f7ccc7d17baa92e01b456a4a841d05f02e4b6883292f5326cafa84e02fb87546975b34b9d3508098a8b3b384c719b34bbd2acb5429707d60860cb713fb7d1ab1640a36a52b6f2bc5240a4bd930799111c164db5227de2252bbac406e2691da095c242285669c3ad93051d58938ee4139085157d457ff27a9bb0e1195f007522b757f47661c48825f8483a26417fa48503eb076629a630f079528c78a736523c608b9564288584732059c4a2768b8705551692f5a6c6aa7a50fc92e57bbb97c60ef5ac57345500f63a1f33a929c2bc28b170c2134561bce5858d62bba0326b7c54841404c2e2c7acc090a7cdc39d2d60470756c63ab8ce021bde343051d6767358c434006ce88f2c5fe9122a968c7dd4a31d305a83e5697fabb60e6455ac74836f27e314af344eb24f49deb9961b7a3cc8aa3239d4c52ce4c95afdeff6efbfacac10d294edc0e7cf4535059bfdba
|
||||
Input = 4548cc765f64cd6b7467837da0c281ad26410a6aa0340f177d07ecc0b503417529d27900eef2e9ab0693f245aea9ea75685535beb01daddae6cba1e88cb77ce7e87d2eac047b3358db198646e1bfa7e49d4e097f7b00ba0919efc462103f3c0c9da500617b33c2bc03edfeb2beb0753f5e51a79d37b50474fed11594f2550128a8281e20263526064f3e3af612979e8889f776a539770186ef319d1db18953384eb6fa63a18b8adc18a18efc4e8bde9dcd670acb5c24ddc2959d4458893f02085d91452c5c02b140daa2759ef6ab3832a7424bb743e488c0fff42ec9239f74b5a3ab0957cc6abfd85e6df8e477e3cfa0765cf1c6b3c875eb1f7f19be075ec2999867336c8ec662a44556d441bafd39e19af78adf18d08de187c06ef3cd986bb96c7cc890fa77dd18b24676aba5f010709d8c6405c809e223793b7dcc0d3aa0c8c174c311ea6180b995aeb75f571664e32bdccd536c92914cc1a67099a461f0b59eccfbb534b7920048f32ba78e6afcfd40ba9f747d735dd998765168bb11e35cc38147a59961da938e2d6071523eea34e7f266c662675668ddcb0dc5ad56a2cce57917fc2c625726fbb989f4f13381ecbd129508fa3a8c984f1642be6e7b850220be39dea6cf56279acf9a4b66ca17154f5f5316a985644e30d9ece633c11c8dd139ae863ae1e9745982a70110673b4e05ec960a2739065f3134eb4a16022420032b8ed7764675d94b01745f3f1743548faa8abc31b12c9f83e9af82053822e304a8c54908f64d36bf3660ea569fcdd156dbbf8edc15985be6d9e1f07707c682a4643d1778c9d1299dc0b9176dadf8e51bbeb6614beb9c3062ba8f0cf3b0d82ddc07dad44824fa3709087d246a12a6ef1330fdbacfbd0e20cc77f6ed369e8e3c703db1905cff5c38896e3ce6279f677139f5b83c790cd0fbe191d8a8d5d5fb9ff45f65f136dce8f3f383e60c4c49e1b19b9c5bd28422d691cb23b528909649b8c3cf0b52b9d845eadb4ef4776b48e74cf7232b57fc4f76ed66229c63bb4c9e33525f989141cd5147d9b9fae59d4b81dc22e5de9cd7939b2b1ada9163c5351e59
|
||||
Output = 8452c98810f3a608492f944192785c59dffbb137f6ee1e8835d1cf5a1b63a185
|
||||
|
||||
# Official test vector 60, seed: "99a9cdbfc674ab3ff2c64cded7d697a6e27a767434a47aff7c3fbf3c6a22d6043d27868955286a13efe3de36d22ec48e"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 1101710303c039a3717d69604eb104cdb28257887a0a829b20e782b65746b9fb8f1ec893a2c8aa00f5464ef332add7c621f39e79c44ece0bb4f8e5a91475c35bd88e83c2015357b0b2d4c576eca5a8027cbef8350bf2ae4623b4f490487c60a97a265321d95f7f654ccf7737776664c2fb424b3b9cbd65a76153019d92c1c781cbd91800e0ac9d6af53b70277a647bb0d4547224d44f08d3979db26e32a1a8af5ab01db64afa5966b7f2b228b579b03150c2935986539c38d1916261b4cbac31ca66a0249aad37d1cecef993eb673f5a99c1173c20ed91b5bd328809917d85d2bb9f0907fa96610d5cb0d1e76ea3a504e80787e13c1d79c5c9fb405b3662084d75cf36785249b41a33fb6454fb1593086eb7c9372d105e3c6b2696d3ac52ca7ac7cc92486c318c3990c6c580bf6aac3e26828fd45b9958ce8973aeda713e325438a233b8a1c36e8675a585e22f8f1b4b80f1c33147b5b68c4606e877dc9ac7028951759b5612da493b7409f62bceb7890c853aac49e5a166d2b7ff2a971eebb3b8483d86bb5242a64d38c6874b5813fc24c66890c4e564bfc9d088bad8367ba0519362be124695625c607735c7e2cb0b4b319828f7ae7ce8c984c57ed6a211e6f1bda8cb44edd80f13b3a2d3d75cfab37f5b6133330139c1a3b28dd269b45c091da8785dbab2b7959a0332b9e77b35edf6468b97c0ec06afe160927fe7a8cfe1514e0b7aa652676af204669a476846b8deebce87c1808c5248eb5ba815a437d1c0a0f0607e3d24a815ec52f4333ca2599168f16556d3820bd0738404b21ef103dde659411a69b7095a2d1013435cc8b625230471274d7b1186860fece6510b4c3d3e9525cce38b89d2a62edacc354825e1637aeb815b161250d7a52b20d4cd27c4154a936f7f440dc4c26d6d18570bec16a805791d1aca696509c77955784bc44fb50acfc9ca57e3a7bcb6320588bf04e4b4d1c04282225b662b5d0cd36c4c687f0177c9c3541c0736818328972f6606a24045174b80c63a906a54bb29c6253ffb8397f69812883245418861670c1196066c917dde15069600c335c54c3e4236257b1b23d578d652c7d6c5115d93b9b712c1a71120fab84819b963ef8303da408b3f33c1d0a6cee9d596ce74a48b827e5650a77da4593e89cbec23a71a4931d4c69657037bca336627807052d9823d484619fcb40599326e922d25c84ee0fbcd42e60ef4750d25a32f2c311ec8bbbd8c7c407f214bf89b3e90a8396a777d4a622cd11349bd0cc17f209c336808ba435cd02b746c841959cb2cf1f17b13a9979ae49745990a6e7b09cdd46b03b3956787205b52541fd39d1a591b4947721cf402df201658077e327aadf82c4503706dac6b0f713a88649867fd7a1b083134d46a2a6099c2979bc72f843cf9e90184227bfc2850e8f887052cb1f1971518860f4834476f3b52f2684412d2442ba31d62c0a6b652a779002c56954298542072d97e2d2650a86aae794171a865be78fc7b4b17463ef16b1739191af17f7d97b4cfccaf706ca1a70200095310f24c626ae9878fb249c0f35f88005aa0420733d1571049335ec1ad2323c424f64dbe1007159a687ef74bb853553af80f686482f1d6331a166fea28971778955a793cd9d7bab0ac7513164b93e24e2ba863dc44bd9a0cc04fbb87f54a0857208350fa25dec2b599d19f4d9c21c3614284cb3b78836ca3426f5a9952f28716c36c9bdf8451949b0093da26752b40db4a4c2f472d35b39466092876578df7262c0c32582ae7b62fdc656bf3265ff751d539740cdcc2a54a7cce815a9da25d49964ea42c8d0eab09cb6b55d269c912b6749c8ca58642c81af29a25573e42551f44dac9c60aa182b7a55650b9b2ab2510385753136f696b4ca5717461798fff109a2eb4ca46e99ddd1187162c6aa0f541356373225a6c80e0b509733ad8dc9ba8610344945c8b240e8333c187ac341e2ab6038c323973acad1706d70b0c0d9c7536820af34475cb07be00048efb00657ffc2baeea0bb5488514a98a0b91cb1b3304c262413611790af6944c070372e470e77370eefb4e958b8ab616aa27099a0ab7cb35986ce614c145e1cf2f484584547fa9d76dbfec9c5e76577508389f51ca2fe2bb787b0f809bc95315a23f98c6749826e7a6072f352c9f7a5d040682c9c6f462593e69a2b4f1dfb44cb6a9bb20946390372d446ba410012135370b86ad6bfcc4eb9894044dca11d5eaab6caf8798e4496d798f7d4fae8f1481d7cab000e33fa07de8dc9627a85e76fabb4428a3376e66300cf12a0787
|
||||
Input = 1b1a2d0d2173fe5a6ba9941208df08f6dc6a35e514e11105e0b228f76501d893b3d5c427a104bf772abed0aa6543d5daedf284463eb98afc4dfa517f304648aa69450e68efb54cb2b3c0d4083e54b7690590589504eaf495806e9ab25a1c774f9a56530b5b39f5abdcdb04fe2fe70df131834ca466fa63e3a2e8e911f2b3143eb47c27c8843f25cb9e07a9ab6659d324a83cfc8beca8cd1bc535089abd043695af856534135a1347db23cf2139ba553af5a9a5599b38c870d455c5f5316f5e840a088d0bb65c0aa190e2d730a5c04c508d6c921489ededa6f156918c839ea5891f921907b918b966cd9910955ed06e1f0dd41581a21d9a3e8f18ea4ab270e5b3c0d66308ad44c61c460c0e90ce3e7677485b50d934f37c9fa4bcd362c5c1aebbeb86d6191c87462a20d7d0d82ba974b943234c8c762d45deb41e960af50bfbd9a3ff1ba739d4f27190d4e1d50533b1ae3475f8037a0e7590fe0f4a10fccd5c0d4b637ea83dbab8c84cee64af2281d1a609da4e53f5c2d3114194a57a67a63eff298db2abaf869ff6887cae46a630a5266d61c4abf3637802471d33553f6fb8d6faf3bfd858ef841440b0f8b96b36d15280f1ae0a5aea06625e9aa36b447f7751e3a6b76e82e1828549585e367ed1b84ecfd4217c89d60bc6be579faf126b0708360a45582ff96168230c8339c0ccf048be8ddc12184555b89458fda4863e5ccf8a2e2acbb23dea457d89a4d1fe74f09b01d40c37c1c02a31b83193eda747fd517aea237f626cd9bae6e48f54ed27c18e906f8d546c21779d84f925a0ab0c0f796ac0ea71ed36685952ac0e32efd9036540d94f8b322e370875495d969e946c1b0f5357b6239a5bcce42f873faef555cb60fbe03f6567575f5b18c4e238f542153e716bc1b79ed885beb1ad4be24394139b6cfa83e4a4a912c15e90755d3dd256ddb58363299efead6db206666afb07df74ad7db4ca7bfd4b6bfb6919f45871575fede0a549eea725399714f309a581dcef08a17f2772879d142dd300c4208bd266e8b04d1fe0b67d08d44ef91697a1b8987139b87f359fa8e56347b68b2ddc49
|
||||
Output = 8502f3f616159a2072339f7858c74288420ee98612d43a7c8eaffdf595774258
|
||||
|
||||
# Official test vector 61, seed: "c799d57b41f28c5c446dfc58a5ac6499c4bcf3c162afd2b09a16549826ec2a6f689e44bafc4acc82f5d6aec23f4a3993"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 9ea580cc301011415bb5946ed215b4f1d5a2688869230167825197fec49dfd335b24d389b07042e3e7a33ea9b3764379676407ed3aaf21c1beb7746e02a85f6b3bb019e2680cbcb7ddd171ad7a88c4a506a99268a64c57b455b8c9e87e58885e6a39534ac90df737bb1cec70bdb8627b4b78b7f580fbc61d91b4111a7c1be87cbb6bd98c77cb660ec9b6d3f35d11b86570e1a7b5a843b23915c6d4bb185ca811a44b1d99a40e8c28d8ec5e7ea589f6992611d368da48582107a98da2117d2ac1a65c7a895c93a63b934570b6150a25e0f9b54d81362dbca6dc7c199346a2e4985196d27cf8d21548925a075c875944ac564b3e31da633e081cd5a090f5eca52ec300ebdabbd658239c6aaf82a99bda497de5d62427b97a65c94e5ab39b91086e92f03e0559a268868d3ca6b45fc057ed00c400f0c95f7460dea55607b39aa80c2b11454e0f6498b6370987718628921b90e0cdbf28bac58c96daab9abdb7ceaee8807dd66773626bf48558600593b6960801d0c0939b77f47910ee75b11e67c0a70cb77a32bc14b7aa2d7c37a20a1e420c425a6a20f487ce2cf3ae66c593f913743e48ae2f24180cc74a5421b15f1a495795ab217761b40541f9496a6f58767a4039087a697c668055e900f1fc7aa8b77037e71e98eb4244486a0276b98556c1392a9d249b804c47576242111c2218ad774363432c1b78ac82c92ce6752316f650b5d9c256200a7dc3556692898450381d3663b6c79b91918841b47aa31545d1998dd5f793708144996507428172955149f2699d77ac859e88cce18674048666e79a3a62e54f288795d3f278b4fbc09fe46eac1a876a4a9aa3eb01f222ccc97a4d8babce93f4aa6b6aaedf380f91b49f838b52d2b82f73fb447c963b31d40546b0cecb739eaf6a8ec8f2624af025f330a50b4baae2004eaf1c2682637aa397819550c4e7f6b7e6d5a206f58892ec0d90da66912b5556f8c7fc03694f47b042f9cf23258da0a54aaf36c4b740a8ef80c9ff83351d1aa633977ebaec955972a16e7bcbe67210eea3589c2631717c3445c34b077125c6003adc48477088493d760dfae78961fc03b60cc6824ab2b825af9522c98a564d66f2c50929460dc961f0c83d4a456247d044d9c7427330469f5b783c3a19c357962d9c6a78fbcc60c279842cc489866f9ea49f139821aee82ab44191b2093f6e222b93329c1e190c8a4c45a5d9638b761851b45180602e0cb94a6df475b76a87b4517361687e22a7a0eb43372c1187b005945946957eb191bda6393604573059275ec423874475b3e976a09453fde3c2c6431b8d132cb12a874e742314b6859d08ca93489d378998ba5158e9c8a33fbca1007d979ad15a52d2821a4a150ffb1454f502a97287b2c0ada7847c44aa6dc85368e11a0cecd90f80e7c2836a63f2129d85e117c0f2a9cbfb7a4f735a64e277fdc558d617182eb534391c4574550ffa84c4f4814808257d63119564f80babf87b51a438735576326169387cc04ea781e710485532756a689c87511fd4dbb3eff63c1e943f456a5c03768ba638418d8899c24746a52186907100650185fb2c6bf2c6554503c1121cb2a62632446bb839027c08471fe2677d9dc71031622410408bfccbc7c50ba5e87238602cb792a3a85474ad11ec9dfdb97b202864dc9a6691b3546d746e5a55a594cc9daf375f025ba003f44f65762e1485494006280386a0879a7fc8b62f81b3c68e779cd4cb82253c3420a30e8c4065f2974e87961ac3a4788b5ab0caec03eb020053dc32799083b9dcb3d23b044f29540b87c54c06a685e50d41491b05d0546a316b09524e6de5838dd9b4abb72975bc40ebe2a224e787d489c4a02a9199f49f48fca8f1171a31eb7c8e73aab5a6c8656ab9ab08cff7913a60a137f5eac63bf91270831c09aa233a43b1462bbc5fd685029a99a84c53aff6bbfa429829583da1aa80fd2c4241a9545b187e7e3038a3f8c22d3a8e41d66f93e35d57d487241883c4e33dde6ab3aa3534ea648d3a8832e9c4891caa45cf8610f021262b550253308fd579ac64005ac97bcf986455a5f0962af45ce9408e4369360bcac705709d79412b3be96508952bdc255fdb571b25c76b56f13f6e666fd48bb0b51368d8165bdfeb78f3b978a8737a1e4422681bb9d92320928996196f07a694b049ecddcd014f4ac027b1bb3eba7a4f5c9b650cb367b1146ed803f13344c56b643da0660d085145295dc167f9e5129f975b8451c0baa9dbe2f8d320ac3cb0c52efdc753282f092bc39baf4a18783a48ea031a191865eb78
|
||||
Input = a790146093864d2226ceb7c7e5cb425d719870c09002bbb6e75ec2f329e637436454a2404f8b12fcdcfd92b4ef77c3aec55a9acf4f71a31da723c7a102e477bdffbe524c07d64646caa32fbce64c49536b9bd0280f8f6b9adad64fc1a0c54f1704b6293d2501e60ef02490c6f7a7b2993727272b013bd7fb36e18acc6cf9e3ee8a7d50562cde78b757f6f37930b63bb5afd0ae05e128eb2a7495cbe4c7de9524c27730019337cbfcf35f4c121e319e1914a6e1bce24c1ab9db1f1339546c1fbfa00dc3412bf5bac686f4dc518bab5f11fbdda07ea1b7f9a520c6158115384c702b1b869c02697a24241f53ea3679dcf5fe02e6008a5cdb96cfdf3fbe8733c77f8d1b428cb865d4e81e51a465b2dec7fb18df24d84571cb810942479465a0c7348664a6efaa22517830962b60bd3b61adf1e8f6d69d306a186b25f3b12927ccaf2bf0f07650dc8d537ea67d720ba8bc9a2fe49e1500af3ce0fe3cbe56cb38c05dfafbc235c6a390c489c052225bd1a82b4b2574ea5a6a444d2d58e87358338431c2387fdd5a3842607192de72b83d5ef80ca90d62840a9aa217553f13733ac1e60c959c0d98405ec3bca93bb39b95a8373ea2242285908c9a5f4ae8e27e64fedefa25c77d77635c5f315299ad539b1f4cc90bd6fa2887e23afa84a66221d48ebd06bdca2160ccd3a984c0f0e70ce1aaa495c954a9fd9f88cfe1fdb8054b4d3a832f26389768e805763f060dc9704db4743ffe15991901623e3014d6a756facdb41b6b30c05f69d020ef25f30c2fbf4c2fd7094636de15a940d0a658ecdba88c99d97b040707b97fcf1a6221ac9b63d2e09f97ec1cf2584e2878f673173b04292fe59592da30afc14ca206e6838fde3cf9ff5fd3a285bc28a341e28c4d82cedc5576d3892c39b9eee916f83899fd63996f1d2b444e24a74b5819f70bdc814353cecf6884cb342d973270086c3d78825605dc6b2c835446e6118e93d5fb367bbc64a2efb3097365f62b00fd29676e8681b757bbcc548b218edc0ba02384e2feb3fb4da51e12e186c3daa8c76c7b950e698e4de237c673c14a36d82b8a7a1793b46c
|
||||
Output = 9df5a20bab82e9e81fa4273f9fa61f9b3119fc49603c57d0309875fe2d87bb20
|
||||
|
||||
# Official test vector 62, seed: "f7ae036a0176a9de9a036a542dd2840033277c44ae936d10b768566216de9d4395cd42b116873b69d9804ba6ccbc05d5"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 1ba7bba7241b5598823f8c97da2b9c6d9445b073932f848e8f31898aa080686cbd3cc09c66310b8e5c1f537bc5e580a6d83267b631ad2bba31a476b0fb3b6675043a76476295e34edc821bb6c800224599dcf8b96289920a56402f37c73633b4e4397862c201a3e95e26261d2ef1b9ff73c17544a33c33042959c92bd91f8279b45815b7b48587a6941adc1c0e983cb4941b270fc2b991088dd5001613f7b631f4a3cad4454693cf36bab8ac5a7f6449077942bc99429d0fcbb93278c6236b3f60f0b87a499b259bcc3d129e5736cb81db5f587025af8b9915945db9b4719efab3c016002cc3a0d02829d0f9aada28846ddc0de9349ba6253091693394b12c2900282cb39c07a69c20d1509ec22921ca9b9edb3c2d725512285208a8070a3b0faa66ca4e53080d3a5c107141eab97553732d94d3231460043cf66ff2459f955609476888a16632a9421e0e64cbc38911e6a5ce3c3bc690f3a0031100cce0585b780a7870c73b67aff72830cf65770e1388a7193bbae965985130e52aa50625a18be51641ac899ce05b9853974ce6cc3417c752b9c046a0a87072cc87097637017550064735cb25006a1de016c9a4e67251d604a20b85ec3cb7a31c47fa81a0625ac9e62884567bcafa9b144c20c7eb35518ef3ca00c211341bab36158a46458d3550bce23108b8a77311847584e80358c45cb4e06db24b3f40d68d1932c0ccca9d553cbb52227d2b58c399c642126813482aa82cc3345bab88123c5737b6930bf476056a805b345d4873555e545e427226aaac89560303b38b6285f17b407244a5509150b9c06eb4b667009abd2476a9498c7124a798e9b52090884a848aee666c93013d961636bdd9bada7b7194e54eb7f31cc1eab839185b99166266610403696bdd9ac08c823018b907a06382cbc9aec23abc4b7205a88ac8a10cc6114bab71d5473646a20d1773f540cdcde868c34315087303c875b8d5c7a6b8436f706ca315c893a9f78ac8952ebf3c90c4e222aa83a4dc086d3e4058bb55834db36747214db2c1b853b29f2045b20b04a06bfb0aef7881c712423c0a2ef08430b61a1324791e046c2bf0da85e9444b123024f5d1c40a14b85a188aea311d220004477a8605b4c444d210fb01941159a3a6aab366e45638534b73e648713335539827573ba83336366f0a891cf52ae2579ffa63006ddb29c3a9c7b0a86db226ceb576a9b853a98f42797e0625ceaa18907c95e8f68e5f2056987224112a026b9181aa3b7ad3ca245eb7158aa08a48e3a5d8c67ecc78822f3a1e2af243aa68a8f1511bde6989ccb546116a66324519f0e957903b7aaa544aef859aaff4752109ac22f6535ed15258886d799a844969a315a6b22b714fdd6042b09066675526a9a68b8b40a59e28739e871588d56e8fb987f5469f7da027e7d443d8d115bbf35c031b77d0597e05ba95db486dcf4b025540cf983ca11c08858f7b596233ca96c049c9810fa70840b140bc83a90d2ac121f36929192a14bfd84ddcdb42aba29584103967b70fbe42272aa49ba252105268451a1a5ac86a057ac5326cd8497b7c7491100aced86f0a8c286b23c94cd617b2770d8b5b06dc47231f5390d43a4355427a2f417af243a80ddb1976b4a6bb580192b122bcd28fc8664ca068404aa1ae374ac8e0987fad50169c6393fb401910787c1d147c6fb1599cd6a08e5b38330409a19b26b5a074bb3c0bede2b590d33d6254c6c9848a1e9984c9401b924b62399aab0a51ceec520bf038a6407c90545b93532b8c475043cfcaca96fa7f89449ee55742c455a20df3bec78b5d4160c181724610a01bfdec8cafb24c5ba43367c26ae8724cf791a5bd08c56059bbcc83c5431289c17815cdc55b4ca65b6b8ac65aa0a11846c1113bc765aba1bdec6926b154be164783b5a581aa2a985a8f70e7b58af53b34b023bc571cbcc4ae4d200e05b958f18b6a969b5fe31992c4c6631e158869359f49b03c2a32983d37acc7f86a3be35f93ecba980b317b4868b4f917c01a56e230ab114c6e11ebbd3adbbc2f047ac550566007cc5d95ced44775e8d0878c144ac0631ba5214ffd3960aac81f1954c47ffb7b420059a3995ab051c6de6a1733f30cf7009f5c9bca2c018a09f9527eeb708c37270261185768bd6738208f1889ed69254dde69e10ce648a4843dca5bed5c993b0cc3bb94ab831031aa30a30b1ae4ca05f2de14fc5d972013cac0050250dacabf48a7e75aa6b104b3fdaf69eeeafb6312393308641a9a4647f230201e1389624a296b55192a9819fcb19ab77c25f95445
|
||||
Input = f4ac52b1079f555b68e53478190f9cf7066fbc1bd5d858394504b21094a62476a7fddea06435e0b1864f25ac8cf53ebcb3a366b0b1294b34c86ab45db0b9b18b2f1fcb787ba274a4795789c4c637c2364a336470af6047eddf1a21832d3392f28ffe2f619beb634e97aa2823cac8e3ec0be2b51daa66a1ff5df4f522aacf7abfcb461ad8342d1b8ae95ff0cdad8ec69dd9ba1d3757171391f1141f11e4146f6dfabd1cd3b605107d8707f81fb02ea2fbd450e8166a069d5633572c4491858e8867f557103e093362c79b8285625c10c9efbefdc7b76c9caca03776ad7d4729f150a298aba94f2db889325acfeaae9b4e64dc5381fdf416c7b93b26f8e2f8728c41961075a9192dec1e3b0f94b31aa2ce4d5d6fcbfe40eda8b71bd8cc5f989d37557d4de2cde09d3d3dc80826e835958be41a0f70dda947198f2abeeebba6c4ca72148d60bda3e5eb2ea6dbe4f364f77a78dd6ab0699f69132b06cf8039c3cfead44b2baf478adbb5ee057ec8d35617d5bd9556d0a3aaf5bed54edc51ce54e4d8edc58fb6af04385af9ed2cce8910cb62ea81d462222abae222a13a256d9c9eede399de06453072caddd45c1308f088a1335c7956f323978f4d1a6a781de504c3782442805d35944e72002084241cc09c8cd7a28294e6e53faded39afffef9eeb10f58cd9027fc6e1ceb59e7df1b8d45243cc1941625f529aa2434638dae12fddb42ebd778a49ca58cec5d383e31363e4d36c8305182b760d5b0b94fd20253b1e6f6b6c77f74449e0e3c4f67a269a67b648c5f2d509d43e48a1d0be05efdec19120273e47f7937ed88e1e07c2c754d0ed8cfc6037ef0d08365748d792f77d40b29eccdae6a8c53611ab5b0e337041f7d0727b5f6cb2c734aa35f1f1a1111296add43cd2d4afee6b5c2ad9e7f61244efe281ee7a12b0460f1a5763f8d8fdab1296908b70b76b8355960d817d668a24497c98151040a8217d9ed1c4932f5d27047f217f1479271cbb24ed96bb15f86ab49b60d07ace3013beb0a06a05cf684758fa06aa2ae75c85b889f91f33c39a13fd39d2a5f08d98c10286afd04770ba7eb79b
|
||||
Output = 44b9a28392480fcbabd5365202ca4131327b953bcae892fa70e7aaebd19789a3
|
||||
|
||||
# Official test vector 63, seed: "d995d38f934b6e1a7ca77c9522e3d037676cc939b0c8bd4b84394b3dc91a791f09d2d97199258c9943da955e7f7b26fc"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 3b5bb301623f1583b1d7c9cb3bfbb61d123bf0438f926396d8791889502be0b5ce7c53588248ab079b3bd27bbafa4433d1d6030dc34be02a61a2f6b51a20c53227c9c524245388a6b5c4822167396dd3a4f567553cd90c4fd38deeb658a439c5f9d51d20f87068f379ff8aa3cea75d9e64c63d65545161c3a14387736632eda5a3964131f446ad424954d0eb879457a17be43c03191d1b675981b5979ccc41bb6a7543db5c5af17a16e42c73e28718a120f8f75dd3bacbdec82ef6f1329863a92e4111ca51adb6e27f67b2b5d731285b8148b8192e4cc41067a43ec66121de2c12c0a7abd47bb29dc4be303c699c63276d504b5d872cf557283ec516dab74fadb57a8e69ac14dc0c76588d78b858555317e3f491ba1c097371a8626336abb94971b65d9c92b342798e78e83e791a0e71d72651754f55901a58a2ba9d733afa8a36478bc50af8c7abec3d77fc5404243a7c036b3e80aff5272a0c0ba1b3ca765b2481a5e406413b7b5a906f044120cac64e242009d25b9ab19a2169649a03836a7ce0183cec48989388aa2928350c6bc2b5904f933bb9f0a7e566c479c8b0728a46446ab06df971a0bcad2361c97d1834cd40ab2556b793707ef46a5b53a3b7eb197d08069583a024ab0aa253da0cd9d7c3cd157e613c83c67300f3f55bed22352de7a6ab1a09ffb75d65277a0da1055f88c694da15ad9a0575ec414c7306694905a236ca2e1bad7a9c6521aa5f0f005211c406a0caa33c01665c2808fbd1a6552a57b8c8a75e9aaabc271bc2ec7a6a5c9f0fe7add4560d86724e6315aceb348851d94dbf65cf35fb59f48c5f5d019c7e10193cd03b2eeb2461037847c575ebfb32e95c0caadb1164720def146e26408791c3a5b13748461c0a38b1615bb816e8ca539b24420ba1385d0678f23c237203a5bc927b578916cd24cd4e431f6cba380be27c6481cf51655a217687241b9fddf87eccfc7f3f09c41e684c62c4cc38313667d1775c304a89c92b3aa31d0bf37e3805a354a0af58dc1d3baa186ba6c042ccbf1c06619161074ed77268a9c55ea11c5cc5b2b55ba7756222a78c9a304c8635cc8456a0992dd4081b0c82bc67cfd8a00308794c6cf3c5e9803c9c531329f99db4b6194fbab5d71559cb5a48bbc2622ca13d823a3fccc86782f14a84c273fb5802e277a4b78a38985ccead800ca95a0693534d1897cbce217455423fd3a5828de069b9c2414686aaab36489ef05c65f019b7d53059ba17522c3fe5a5bb3d11a26d6a1329f147f9ec4c57446cd29809ff1c5574149ce3f44454fb12c60142bb870d87342522c97cee47c5b541b261a7cc59696d9f48790c3c6c96807683815489c676bbd98327514f456ccd9f502c332086dc3088ea0ac583430976191f364697a5a71b0a879886464e72657022947160904cd007b97815a8d1a0b85e8baef89131ae133a85b06568986aa9c14dd297ac6483c62a5951bc808bd284838bb8b889cc3990b47c3f158144746a01b31b6da528269209f887617d928939e209d38c8d2eb335e523c2dfc96ff917a421a84ff1eb17ae56ab045461c417112316282ff537bbf8cd49e4027c41845d41ab8864a33a494cddf1413131b1138ac65dd24ed3482d3b396ec150436aab0da1cbc30c6872bad29d6f620331a36c622223edc92ec2d0604d7674a538b25b08c54e23be288bb804892b3314562a7071535879cb4b673075c734ac8ffa96ac3b1b23f00b4e1c781d9a13ced69179a8f847603594ef3868c128c0fe53a9d355ce9638b57ea5c324e83fab909dd717b6297c319a1320f3dc9fcb8155326c0ec95629e97788cf966979457a7f8b596677208227286b8a4dbaf7b1005539ea8474e0a9255371c120986a640bace8a949bb43c72461b08a63cd992288d294a59049a4b4156aacd9366a6275412cb9bdf3cb9373aeee29c2d0cab14ce7905445c681166ddfe7780abb6efff89ccdf64f3386c89b4186787c8e5b19a949b541e3b557d4825ffbf22e7b821708ea656b3b9b605a63d17abe451b65534834adaa7a56184c5a15bddcf799a8108b479a4c96962c7a685673fac82e7346acc037208ba100236b02a26f42549574109cd5063d4c8baf09713d261170c73acea1b2662d1412ef07b967fcbd39e094b4aa25f6cb82c397c1378483b1d27116086b8b1053d87f9e7385317f69bf32ff66518585fe8448c1d4f6085aceb07ab4ac0d98f0c46e717b33ba80963b3cbb7c1ca92af96561ebc93a1d7d25eac9d531a532770837a854b4f5531f6e0c8d6c10183b30d3435498c2dd142951
|
||||
Input = 347166e8c6adac8eb4bac86504447411290ead3c02cd59dd01cf98708fd650496987bfcf7ef1d4b9737e65db095cedf474fd3e96a6f8eb3849692b40c56f9c979d8674390d85e240a47821a5eb9c11e652dd9be9b80f9e3b4d7b7dc1e7bb4640c2b285e37d0bfe7145c301149cbb2804672eaefee130f821bca5a833f81dc457f9986000ae1c23490f50c82704d0683769fcc21883120d4aa1b2d5052891bcffb286b330eb765aecff99ef4dca73498dd0cb99fefaf66450ea77375b773105d29bd96457d6abe0984377768f33a13d81b715573d4bf9be1ac419902b1b45b1f01ab05d74ccfef09117640978bd9c40abd042ab4d48cec4358cf1f51246f990d52d0babf0a84b9fefc594b10dff0754af94066d2da4835f0e058616e952d51411dc338c2be7c8a6c29ddb2f74428c28887d623f44fbd3627c4ae51f1d89bce8c155928739758df6d61e7e392f2ac52449e892c3abb1873a2811cd183c5450a67733b698ed021334476c5ae1cd5ac10750b285c48f8820ed2f4f8b8a7287aa120d4fcdb80c74f2a48104f62856cc90023ecf7b824bffbdb648cdec5d30a80c1abb521d754c545e1f48d167d51cd0aed6b7b4f8e43072d2edc01f6062ab0965d8fc25ae2cb02330185cd015991b2dff56ea2be093676a991bd924ee782af920997dbdb97e9e1cb2f2c0a5c81f9585cee07da3d376be287dc99842824b9c3c71fc501aff215d74765b913adbce621529c5b4054af75e41de40dbe659efb3853948e23ccb0e89c2bd7e2764b15e8e27325dd5668978b45f16d27243ae0e95e50dab1eb9412f18a0c0376793e8a6405617b63e49e535c3eaefb9eb5c1a573c7a419683a1d02f7e9826ef14c4a6cc024db10df8f7f0e8a25ef06b6a70ccf5405f3ac68b6b80d45ebd22f68627f2c5a089a585b057df836fc53fcce926481072439df5f4483be961f2b5483dd6f8b9d3a195f7d13415e2d33bb2c9f8f5b70766f7e36629297d4dca29be4a13dec5601e249dc64cb0c82bfeab0b25789bf8c38e96014ba71a59de340999848e73b96d7d2ce1bc7be396e2bd85e1821e3409d5faff02bbdb
|
||||
Output = 1d66e17254ad9293b69b3a27daf763c95daf081ac0d3301fda9e4c80c2538c3a
|
||||
|
||||
# Official test vector 64, seed: "5929f02a271725cb40200de32d9d03d8bea53b53ac83186c42c7f565ccb1ca508305d470850cf86e9b2c61a5b8ca1c93"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = a7d314c9851b96189fe3a30f344702e558240aa69df715be176a5455f7019eca2b2b80650e399e301a7cc7c59338e10d22e6aca8b8bed32277edf5254d4a1760f7ae3e8a39ac26982fd64c6a7834e51b7532e54443157378390af3596c2d2b19ebf6124e1950279350e76aa10b752691c45b6092152f1b912b775976768dce0c173d13c03637ae38995fb51aa91b470afb3ba29ee409432248b203bf803b12ebac282f3a79af63804fd505121cc01b6ace3434a6d305552c9b045d8906e10a2ee896a3687aa990497d53a3c804f0856a226a08c15ab31cb2d832bb523b4178c5380d5186e515569052c0197ab2dde503a9da138a7c0cf15a8252478617a3a5c400606103903f5a1a47624462c7314369058335310f881087056d17fa5274a3bae0c855dac19aa3f732b70abb9d64a6902498cda465d4054d67849e889a9178faad59fa50ee448fc691bc5bd98dcf1c1655a4526eac2cdb8ac3245275883071d16755745401a7bc0ac79941fd8c29341b81eb56297d7406bee11d0a671eb0976abce12a9bfa04cc31a92625791fa0ac97b9511036066da98327d27aabcc29d876675f26277175549032726242bd627aa072ca7f30580a6235afffca1858091c5a5cbf6bb216d079c429345724805b3d4a917a5a1f9c47ce8397620ed6150d0a6e7d01b38c3651a9eb87030aa49deab9367817cf5cb1cd49005d3a00c07b2df843038b0561c84c8a41078aa9084945b83beda1823cf697d8ca83e065b4636b25e219ab35793bd51234ba733c704b8c8d7208860b254bd94a606c489ba8063f853bac597d6d653db962728c98191c542de80c59821535b5b7166da7b43fa17647011ece8516e5e82bebeaaed4e44a6ed623c7f5155414635807a0db1ab6a5111eebea184ecc83885463b2956655927d00f639d76978b15705ea306945c5c132443cc5d4c5de3b869789bd417746c4e2c1867a486e00c3aeb6973fc914529886aa7a356e299da1576822f8c3f46224574677bf9423be849260a593a83bc31677a3972ac15af089d2e3cbb31ba0e3308d7f58c89804430d1339b6c3b9be41b6ebb058e1cbbf47d0762c5b9f1f1bb6d0eb9e10e0c5bd5b90fc20c6aab49981760c4a2c7beda862f38738e73330f603b9dd665a42f371fb2437ea782e4eab586fdba27cd6319c5b030b7b5e0a2475e3c2bf21986656db623d1203a891048e810c87762ed564142fa1078b5aaa6c28064090bf80e3477e38079319cd34da93da2b35bd0b87e9e3bc95540f68d4b0e816726235047b54948472be171ccf412c205956b1888a08ee683ded579d19529aeeb0a7a0a6aed571a8ba327d071360f6e7c43dd34baa86afbb995ee0f30afa82bbb68117d3f76972e79463519d2ff808783433603593598661b517042ff97210b6a79c094e0dc17928d98f77f7311c45c33ae6c54fb0b316c080da00bc1c395ed2d413924499e16bc26edc82e8c463ff79245c1c3329ecc09f4028b6195ee9896b534b3b8e384ddac84fc08a482c301e05fc12aaa9b1867973a76999ebf1bc84b9484a9a112b55b11788bd145312bdfb4792b67c7976141c295d9c14b290d524e08a31cc190d1059259a4a841dd904166acacfaa0ad043429e18b73fcb7489a17fe12a6e3c2779c063732e587b0c27c9dea064c76c6bb3776cc1e09cafeb181719ca14312e3391523206211277a4940c4102fba35a6b43c366b588975bc9d1a6a36bb0487c143ce31b2e45524b1aa1ac72a9043216c49167683b563624bd5afc566c7c866473bf06aa87f1e9742170c11983b8d4b1a238000b92a60e93f51ee34a363e8962176b419728153e271e320bb409f36db543617d869ae9b29cf8c0a06ba3a82917af17a741f0f718599ca295ac4937e50736357c36faa6e8706c2a448a2c34ac309bc3acc6aa04e121b7ea41d07a98774023bff21493c6c99abc22101c4e140266402c4e158041e00ba46a0c6405586b6e5b8ad68551e05038ecf61f78b12aba025b6991b33ab12f628b980358509deb84975690da260941b9ba433273db45b52c37120c19823f6a542155cf9800a2120c35db2283188c56956c6a9b1ab5384b1794bbc2896a7cc1fa48b32160201115ec866642eb88ded975b0711fe1117a87cc63e048ca64b45b2d54242ec951aa259ec48f9f9d9542c6594aa436a2a2e6d106ea9a7487121e921a8a7f649bdce229720c59cd46ea3f85a41faa2e7e6f882197b1e6d9c4608f6da53ae32e69b65bfdbf3fc3d8392cb53f36ed647364a04e37278a0e0a45b720f4a75c580c9920eba98d
|
||||
Input = a850d0aa76cd5df68345cfb288d1e5bdd01a6f40eaf975f04d28ee0a9d52b63d01b188aee0d5445de2ef0ab2b72387facbabfce91ffe659aa20539cfd5f0e18604d9718aa43eddeb8ff7c989b161bb05350f0a63733748b1ee2fef21d038ac9aa7544dfb71b9ff6a8ed64afbd0861cda2ae9d5ff5c7cf2d89a624ac6e5aef1c7a716c0320dcaa2e116bdbf27e96b4139f29ed4e5c4ecb88d71a743d038472784ee72b2026c43146e9b36205c59335d99e784a458a99fcbaae6994c4c616f44a58573c9694f5ba7e35f8cc20cbf56a6a5d93051cc0c2d2f48c573ee0bf1123383a7c642913e0460b4b5047cd3f73a95d6693f4ba8aeb2fb013666f75b073e8ac0407b2a8d5b6d65fd39908dde32387e3e6ecf18392cb612251bb6b79fe1a4a78d8e0c6c773d07f07aabd8f6058efea1807a5f595bb505f05070d24a8ca77772e49b9fe9b089197026ac66ec697e128658d5d6d24b2b01ca9e816a96f5581d15f096ee95c36aeedea10a55d1e1e1c373692e186550afdcf21f2ca36819bc1f3b1239cc3258a2150733458df8f2545eef0e20d2f0b152724c4174ecb14068420d33894a07c155df833e1b9d262368721bf93fa0cc858d4305d210273a50815b1853f6e83f72d890c6f7a37bb618371af3f223fbe13e6cfcbb20c16113b0c85aa7d901d70688d62f185c12f9f7beabbb157e51e18f9ac7b42edff393b5097691e5f3aa3152a84674cfab6a080fc4f054d8af530a54b31451d17bfb6a75222d423746108fa3959c79b2b2ecff2d25dd402c8c008e24a58027c7bbdcc3f778e1d607bfa7a9cc9c026e0c2dd033e950efc5631c34aaf49725a20ebb3be6a05626db7aeb85778094d681b798e410b1b87368a149259a5e32c760731cad73889580ad1579d9bad9ca8cd7c72f52989bb0ed39aa9ba08a62db3d09c0cdab66e8baa664db2f0728de104f6db3525fac8314b8491b37bed5a6537bd8ca2bd676646968368a2f7937807235f784bb3e28c7b19c3d55ed6e90d2b0c8880552195d244a001fd6f6564809330af82c15bacdcb2be503a66b402fd8292944de8f1330e9e097b09928
|
||||
Output = 63fb0d287b6bd4ac3eb9f5484195e5dc014dcb96227ed53a90b0825458343b05
|
||||
|
||||
# Official test vector 65, seed: "905074033d7b75deb2d06a2f29144eb377b452534c5710632989f02d45312d156557e96d4486020826db200153bc4a8b"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = b6a195e3c631c589c54e187df91694663013575bbb220024a54b1a1548aee7eb0ffd441aef792528f0626b0c334a3472db2778cb9555c22767e5e9c9fed51309123dad059e54fcc7e747acf34b3a71f7adc2d704ad69b9be989d19218b3e909d87b83e9678a05281a7eee36e4f494c8ca37acce6217a744e791c030bb251d616c4dce419ff2c4f4b165acc4c406c9131c6d975b882bfe68231d48c9addb73bb3667f0fcc36727c8521318df8f4c198055bf8c526c81316ff68236bcb4055e87049b8ad36ba41c26065db39a81e19b6fa761fe6904c8c550cc2144000219f7ae69aeedab66269ac83f47027a70a4e274042e38d65f22c2f071a431b5b37d247563316d43557e38996b7c3a2a4c63cb19bba14e1c840541a0d8050d77332f373952dc6585c720b26b0787d4122458b36e5e2809606a66fb971d9fa1995e48937725c4deb67b8c12f15761ee9405a3c109437d15c2a067b789c31f621a63ec3957506000f24b5dcb2aea10b4c4b985c5de081b0d3a890774ae13560b0ec14f9e9a9fff382d29893b1463bbf53cdd4fb1a0ac47894ba48671004a6c6ac42204a3f8cadeefc08749c52e60818156a2c09c86d5d796116925e1e5957b0ac4be359931b3b86ca18987452811a230feb93117273b8e7b4045c9b69229cce2639081d09508269ac1e875fb6fbaf03d926843a37849bc768a808ef2c5189e64d11a73bc7a994be226e21622c63095ee48876b92b9b90413c324b057c5a7a2ff92fff7b2492777107b81ced574d9321a8c86a8aca8254c520354060766cf419cbf465f8e130ca11a0e48a9ccee00268e0baec5cc1dc4b35121b45bd6951e926980b190ed685c7867b901d461f2bebbbaff6c6e965489a0b19e00547616a9429981cf724a24e667ee63b915b10089a891633a2a54b15ac51108a8579532656a2bc0732f5f81b9b3ba7d6e92c926a36c382bc87075465e2439aaab22e4aa6496b6632c8ce6b961feb4ca8c10448f33b3c11690298e946e150c9bc360a20faa36bf9cc9d05adb47c55a9cc274abb2c8fa2001ae0c31dc54e5dc5b67dd952f8c455a885c9765a9ae584c945ac302e846ddc37a6e53b6532f485f29644f1341a8c1bc75e8b3bb4a114648597bf616c9b62c6af9878e86a72218263aa2b71588412cb164464bbad41b78856d3387b877ea0681ab041a2ec23b59fd58878263fb7e21a2e0052b8b757b6018382a67450381145b94c84db163dd547b80a259488cea36a6deac33821569534529ded481c68fa50cb27019440470161b224999bc143b23a028ef97691a38c036dc68e8ab51a55967f6f799fcca9c1364297551387d8454569e327699597d6718e39d75aff32989dc4bfbd46923231b81db94cbc18131983a6b4c76d8a331a7c662b7e564adfa7c85e61bab22aa4fc74a068f077c6020f865b8156118045c633f9a3651ac082f9c2b43b29c8b0435b5c25c548b2656d7542e78015ba512093c58a4da3259257c1b1336e9db11613c20148fb1c19899eb9d6cff1db1070d966c9214dacf17078716b2f794bfcbc0745470280ac784a857d07765d0cb453f5ec227078750061ae851aa80324c2b7b02da0b6578f74015fd1155f3118a3d01d7708bde8b19330925d2bfb444408c2f0942c5a226e49b2c75e5b1bf4a619f46034a3fb67b5c108c94c9742794cc015126e06b3c3d7b33f722414d4a784f82858e342a3d0345216a34b16c21ac00c25e16a2916bffcb129c8570b41c23bbe66704a31ceb678778cc768acc9148d217cb4c27d59c8beb9d81fe20b2ebcc62bdf3a14a9071786d55abf27a115f8861c3b5ea54a83ac3030ff701e04228a3bb4c61f8828c608300598ab4db75223d01992fa8179b180ff7a2b4e2188e96b4cd7ca73551605484662e5ca816cc81e3df8c51e8a2becc4cbf02462b7f8219ff943a26309db9390bf1706229810bdeac2a55766aa462655f58d65b9a573d26fd981191598120cb929de8761f49817285c3dedeb9ccb99cdebb7c79c0109943308127baadde4a2bd9a78953800568c6b73634817bc8b489b945824609f98c447700f2db6256d887e75d48a7d6395b3e5c24220604e51cf9ed7497a8638b1bb8b153c40ac084e71511680520c0ba975a936541a96c6337964ae55739e6a055a42b5fc4181769f0f703afe5726b5bafdbefb73c6596e4ca7a019c4bff691222ab1f39c3c009a27aeacf3b2c7d67d982798b8db46d38a070ea9791d1629565c996ee4608f84d7e4b5d8021c486b9c3114d7cbbeb7cd49eba8a61bc2bcae1f1bef30a1daf76d
|
||||
Input = eb704dbe82bee9e35dea36bc0db51bfe75cdd6666102a9e85bc3d4ae5df6c2b68363ba5ab1e0cb73773606403f5f2a66c9b18d8cfb1fcf74073c0afb3e28afe3f19a46b324442169b6bed183d60923580e2307513417dd20820013538199f2ed352d45104131c72afdd0270a55003b0be17d3d7903946caee95f5f15f34017173427b767e5425bb34f51bb996a96899cb049a9f162b8e555ab8111627bf9e6b5410e4fca4a875a1e9e12aeaf7bf3b7a14e071bee076e26079d120172688118a2279220bb4e117e1d43a81e13b6fdd2e3cc162713bd38fbbbc1ce2ce92a2b6917a2df84346353c618b1b00702b850bf3d37e05579081444cd14799acb63e90fb7619ad60b04a66397db0a0d841b59560995d257c24b774e4787434554c66be0c92d92756b3e2166a3cfecd1b1d99048dde96da8d88f9c8b1f2af66d6bb0760514cdedc8930247028591412efd52f8186adfab2ac8ff032c3dcf9600db72c81f6aea84dabf4fdfcfcfcbb2c82160f48d3f0eb43a3906175aad7ebfb2b25f3247d886380b727f7570a6f1d03ac5d0bd6d362e8062aef5cdee2b1ae8f3652dd4bf414de6480c6a5b109a50c1602c02216f587b1c61f697078180a13344d921643bf39914780cbbdf2f2430364355891860a677de5f6ae26da07f8861a22a8d331fb3c6df71b2cac14e2ccebda188768c7ac3012911026be55f4175fe6cbb8222ccf8518a88e19937e6d5a363bd2154fe4937ab087c2bd7edc4f2c9bf28b6891477e8f4c64e12bc7f94cf698732c24ba69f1dd9ab9aa017fc5968f9e209ec6dca7b80f62641cdfa67cd2712c70f3257526b748e931f9ab1ed1025bd088dd63d9b4437f9d020708f8ebfccb97f07364c4434c2a6275fa041a9cfb7d13ca2dfe6798adb4045726a39850ca784711dfd334b031fac01e8d08a3abd1b58259cd6f6fbfebd4db5b0de9f61481d53d54ce268464564c0e4865c64a84e89a5df4d9ed5862966be5e391a5ecab6fc439c6796cc91818b5df9f8b7b930592fb02196cd8418f1510913028ce3f2d1f72b4353032f510c9e630ab56d2d3be2596fb47ffc0dcee851
|
||||
Output = 638a89c9132f4bb5c91f20327b6a6892da980dd71210b85e8361ee4579397ccb
|
||||
|
||||
# Official test vector 66, seed: "a3e2e511afa7bb560446bdadf67d2ee2e16ffc7baeae7efb8c5455068bbd4e91bf9be9d98b280072faba7712c75b26d4"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = f0466b76bb3b5ea1a3a6595dac723965b6be662a004ab4954695bbb7ebc193b78f36040a3427a78cf1bb6165c4e51b981d67cd6ff7b42ba5465e038f086a5bac03161218ae6f652eb3cc9b300a84cc05763d71a7bfc01df2ca4b6520b3f2a70f08556f8d1cafb26292dd31105a77a893d7cd2311c467011b24402b33dc90d2ab224f18c1b42b7f87e67011daa8d7e499df9178c8a909fc83a4806716fac37d31a94ef275aa95e1232da2cdbdbc6b47c5c503ec69626930c49c556c189dfa3b0c00750109c7833cd33df9e120ef9c2b1b49ab87d288aa252ac3c12b700803dae8783775700ed96b15c26a88a148447916bc649cb703b84374bf26340d946319eefa662ce38b320b4ac2a1b8f45c98dda76be052bb47a9cada41cf0e5a50d79b8e4b3003fc7b9ad4b9b51b9b395cc0475c76bc8915276ae2cfef07cc11f7868225b728f8793eaa0b609a4c130140acb33c87508273f722e76c94c05704cbf5a6d779b34bc77ec006bfc870944a94ce41d822d89466b34626c2082ef8672511106057d77f6b995b7f5c95310033d9e87d03f5c124a5c220c735317640f6f6ace3f985724929852600407868eab97fcd827c9b069aab112ee10b71a2e9336c87a29d25b4278c9648339f39500a3de4a083e3bef126a9e04c703091b677f8707c4719433673fd228a2d85ad0c223181d727ce063cdfc0c035c221f1b8564203a5f82c5302b017a515921c027928ca5381725e63963b7c066529a320dc057dbd97162d9800c1c57fac4c8b36897edae900939a24233a35721cc3ddc75ed5e8be514607e6493dc585bdb7e431e9588a36da2cc5449a3fa243c0cb902407d08bb5689ea03961011d92a15add231841630972873304174a8f6132c6bc3658e87f6a865dff98863f20bf3862bf531c8ee110a7fbc6caa9845c0a040ec6dcabe734af1ae7b734f7c21de10417d59603b2467b819cc33a79d1ac581ce67321808ca926775d902c4c72c87e97a9237cba94faa1d8b9837cf64fc99276ff484c93183493f63cf075a40de57c1bd1706e958ae73a6dbe092843cc181853b11049b762e00dd7772fec730e2670a76339cfb5f570f9d0531592adc6b0774b100ae5eb067be5c310d490e2f59896a9205853b8e7d530120ccd636b6fa597af401cc4b6b3cda812278b2bc68f8cccf68bb31fa9466d019f859364a279be98458cc7006dce5396e65bb515dc524cf620d67bb20dc07098966ffa4ac640c2710bd18b22393a4b03a010d7beddd2af9fcb3cc90779562a095704732d6485c459330b01cda164b8426c167cc806157bb679502ac53165b97931e525a73dbaa321e0c627a859c3549fee88bfe26072beb7813d48442d2cb7f9f28531a84895c000845017f10c1d0438088b710b3f9b2d2b382d12d101ab78b22f00a978776be4d81b663a82105c5040116706b772cf569246dc75fcda5d55e88cb8c8cead79051b638c7ad61a39319468ab2743abaf4514b2f53830aee14daff31a63ecae55a00ab162c60c967fb687ac7287bf512850c6122f7a80ac07e18d8ea86abd452561927aa6dc39e5d7483ae02cb475b04faa8b0e95c1ea1279eb6431177407da024b24b124ed3061c8a7a6bad5aa451a0037013ff5f057bc9455621130e8a3c9610b49cc5ca1660143b6368fd2725b8d321b45251f697cb4c18b88d1521de9f37dfb688eac255288e474b2997756a2285968a060422d697442e73acfc1a324c5418725f335f5b00a03d39133d8c82697469a057b62362e1534ababf057aa78299bf942052b2525c92dd84459536ab8598440f0cc62f7e3bdc7d79ba8bc8b8e977480d1961c73618200cd1fd3bcc046126d851d16a1943c9c3f3cac6a283b1247c42199f1159f9a1062799f40580f5034649ce66b396696d90c7f4ab3bf8e3c8610408d60e51a069113484426c0f6648c96629698a1dd8b62af059e7885c51aab9a9cc0b6ab5835886974f12113e5c3373c66ad11a5c6640c93b1eb641c7c286ff1c0f84239b84c1dda6cbc1ea162aaac43706a4d8a51056b812f85c74df307baab2976120ca826f0999d354622764d82ab0b2953a354680a50fc28560059969479031c078eb635e9e257c4cca9c9b406dc470f8b9329026745732c364bc2c72e0915f3ab32a958ccf8e52bf9212afc9b1bd317eef54f6e882af31c8fc0f50878c3857117c15a911f302a0ba7d0106551690ce0c13150e3fe4bf4488a12716ae41ba97a5a19c5f79aef958fdc5e2bb2dca81e3f5f748d23c9d356a2209f6b2d60247b2e45c9808de497f64f124643
|
||||
Input = 5829180de4c4f5d54021135a9b1a14564df0543377a35588344868d6570a2d06932f61b1bd965f36405a035d72d188d7749beaa7c627cf4914410da79a9d360bab8682d80e1435431e1663298f29c1a2aa9a1843c866b811a2265a859ee46c9296df283be0b6292ba0fe228a39c3a352c06f39c00092cdbe799699a9f0ba845a0e1f8de69509fbd8ad2140938785d8a2815d8ffe990c454008d1e1f9ef2eeda2998c583dc5b54f1cbf882b2864a963e9aab254bdd0cf477fc1b6a923543ad97bc78f1ba2be464c47db55398e4a44634455cafa0fdf52f8ea4f9af8c23833e4c9b0fcc559eca0bec62353919ae0734351413181a6c120481e5c54729d63b7af6ce2116da2bbce16e8a5f6ba7f02eb6be6f80e3639e97bf4dee3a6c2dc1a08f2a4367e8fad6d88507b923ebf92c6a8223a897308e1ecf9f0905528572d3b34f6546d2d0b3480251316814549d76155c5314dbfaeae87b0fd91240817813b989ffd344615c6d84042c74f6cbb8abfb500c14ae0829ded4b2c071b70487f74fbfdd042412d00c1cf0c7fc3965560c1e736b575dc5fa0b47dcdd320b144804bb628123c7a4fddd0bd419ded4ffead508be61bf49fd2e97ba479385e897dedc3258d24e85c00222f943a3e4417e58361148c8625207a9c8df97a82c84d6bd7aaea13fd53033b0e55b4ba624a349757738185f114d118d80dd84d0ad9a57169c7856545eb6cfe76f59191c60a7fb7afe7192ee80a47587c9b12436e8ac1a8ddc4c8ca572711c59821f76ddc3e207d58954a14cf93d0d1dc655619605a4fcc0a80af140e9b3488de75e14705d5c1e92aacb44f739eafed2d864a65fd47ea387db29a95787631fc0225f5445ca84af4c1f13b2b7e0252830587e00668ba6c8c0a2c01ad47ad6670cc04f6305c74507106b09e370e9e5e348c7bde0d6ed5da1ab2044c0dd2b2c37ed535167f392d4c5878257f7f2ee722c0ed73bde701031010a190293117fe9ca676492a97fd87d4423a8035996c5d4253920ed0cf2494616335f2dcb974a3f0792e46bb068a6d61e306d1b0b5d784346511ecb06233224c8c862c11a856
|
||||
Output = 6dbdb6721e684477737c6d93a46f236df54ef388042e64137ceb20b65092b25a
|
||||
|
||||
# Official test vector 67, seed: "074ab1a37ba5a0403d8f68d26fb787bc2c90f5ef88f2a6d286c3e6b168abd85d393d8225618608b8eeb301d26af53bc0"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = efc17af08716d084656d021487e3a79181b71f936665f718a2518aefca124008354492045483944f3041ada97dbb3aa1d9e0201af292893001a52bc10396589ce8bc65a010b248145622a8aa0b8453d6634784c997f49019969e45c6972f814ec9224e64c7465dd8993a0343c3b8344acc10d453168d980f2f138bffdaa087303cde043010150dc0086d40c698691031e9b4360663a1d3c12709f8083be531fb348269797656874183a31b9c6a805504a9aa0b1b9e782c1711cd881282b41a0e6347a36d8aaf28f513bed622dcc152904723985aa14d123f509c41fbf04e0d7021d3396bc466435902633bdb8844eb7d59ec436219178809b1d7503d337b1c5eb4927db07e8f5996f74622434ba965c379e90a352e070e7cc655b2a38d517b628396b3dfd01957084441e3ccbb72b222063a90a3b677a648a8b55cab7205ed4854f6d762b3e4360be02798f192fc260064e5ba764736410464ca73bb62e88f611b65223165fa6a61ff562681810220d611be5c317dfc0c7e2621f0479c14142b6a0aba94f9bee5e2ae87115e26273d4891cb2e2c44995570186a34cea0045607463783c44487c672c7ad894325df4ab5fb9879cd60abc7bb45a9e8c7992a61f99c209191b510c60bcdb1936a070f341024354a8496ea1615d4a95b933bf8b9ce8d2b90df164d5ce068904a84c250a098d060d395032ab9b9ada532f7e540d2e39bdbd4a473d35d6efa0ca9956ad9d18dd7a0cc8fa97ceacac5d2969f210966f41119e3336579751ae17237792a558dd5c9c0caadebbbbd4b18520db0bd88808815470cae35b721e238e05352c078b4f85c38318ab820dc02256b3287f169abc2cce2664434a0344bc616d7903f77284953b89a76dc4ef28154b0a3166c83ab60ebb18911b3b5d241af6c432b60b398748b19a25273614f109680f4e3572a40cf406b7fc3138ddfe682f2e2737e270e135c57e4f7b1ac3a7c3e70a8f2447010c6790c951e8269325ebb2bd99b0bc51b059d33aa035414554266ac832b4d56b76ca6845c57264273c0dc13cb72b78752bc82467b874f4b956d2c51248a242c32c0604acb75b09750b442c9c76e65553cd9f8aa24a664f64530a1c54cf067cdfd0719579cb030025b8182502bd30029a9c0610992698675fc9899b5dc9aa4e8bfc5dbb61bb6a25c08180c8b0bfbf66a9c3bc5447a117d6a057f33cd5904014e5c07791b9df8372dedacad233c889d2b875b66bf5deaaafc2027c0ca3718d1800f660b89c8b689f39685117eb91c0f3cf30772127ed3acafabf5c91826577e4acdaf149e4b50ad044608cd1600c803b821dc1f7e9733cb9596125a77fd7090e3f093776004b907ac81727a6a1503af350c7b4551c79c2618cc59be95b7d07c85751b8942632ed284cef6d642ef13b0aefa4c86fa5b32c6510dba620a109ebff8c657b19532232dadab7dd9fa26c79a778e023b412c13a2e131f782ce4325423c5b4f84d8aedd694fbf786025516cf1a676feb0a49ad89e9b56266f7225de68bb7afc64a6219c0e965433da332caa5e2490c5745bbfb7a3b309f66ba40a45729b86e44924f494c77bab0c012b5a17466956ab689c78ca41269c1bc4463afa2b4d480773b6abfdaa6cc95570cea63a9c17bbd4c684f237556adc37e6a54bf6b358d313088071a6bc846268a196bef82f0c3438d2ca519a765a02a2c7578a59c0479bff5843cf88081778c53d5714859681777bca42918098e0095db16f847544ebf22d10b2c9df64959026b7b2e329b32a3939b6b8a921a672ca5fd57ba8725911c3f8c21af06c645280772413df75bb0e1685f078071bc8cbf58c88ed2629a23a3bf5e60d1842530fd4768db7a112087dae952f82fc58c4bb025044b2927537d9354447135ccd3329303a3b7aa60c2423ba40974144f583bb25311848109a7744a4d3724d6762ad0c749400598f26c43b4b49992213939c0a15a65aa3852c65682afb4c0bb309aea136790fdc8d6f7758ad313fa132b2b36370b7d03db6b8b492cc2117667f3ef21594f4a0a8e467214631b00005a317947509ccb61bbc22937fd6c25a79101b7eb62e5788ce035264ab41c9b956b248f9052e3709778a8560861c0f45b01c278eeb24c3851b71d1f9bf12e02700a3516a461bb7123e75e72730158653ad2af9f7ad96817d7e4b1f71e5780d7aef36fd67b0294e1b6a83b5ae5090c57b4290aac9f45f161c01c9937d8c80d0c046af66529ef85784291b00ed72c553aba5068af837be962f439f233593d193ce5e08f7d66efb3389885927b89d2523
|
||||
Input = 07c6fdfa456019cf0e7cd2739959277fe44f3333043e84c6c28bd763897029ad2cf2cc16edbb51f83c6fc61c9a670ad4c50d568d2cbe0c23530006496cd08d90e23d916d222968d1a43e9a5b683ec25515b9ac58d5ba4d3ab3949ca9e084bac963c813a12edc6ffe2cf237d17b237cb6378a5b45981615595c8e87126372b7ae7ea178fd933c8a01a35e72d1de069432ae539b1bf203c55904bba2f155bc018eeefd2d0fc8a1f4c48c94bd871512b9e9ccbe8b441062570e0c9bb33ac3ad653af08983f5d2c66635c3c9098786b12032b0d2f3a11fa1f204b369448bf47f1cf332fcdb793c9a7f295750739144ba9cda8fac333248398084302952e317111e3eafea9bf64707187b4b58d13848dc348ab976789f678feefc5a789f418ff5b8720ca4db778e57118c6536e6f6bbb2fb7928fecbeef3d20636fbea96fbcdc9f63fe7fa38e859b10c7cf177c075bcb90f917397ea60928dbbb0017babd84fe49ecdb302d5e11425d38eedc073a3974ba0c6fc88c5f2701d981826439dfa2effafa178d6e9d209e93caf5a4c18d78f67073a8bd54febce8bb8e702b020c83f7c30b3db9a06527d1f4db7e1b73c55c3c3bf3ae2b1f4a0910c1250192823edc1dab908aa3b1b56c2a7e58147ed44eac52f43f71ef95fedc3d5ec1aa98fed51e1a8675e6fd1622f9d64e0863c7ae81552cb3c896de42d86b5bb3ac92dc000e6dba904c722fdebb1e063a54e3e7ecb957b1c72c3adade674ce263c2c29336f547c3e6b0f64af2961ed176b49c3da214bf3796cc972e85ebe79bf1db4479dee65cacf8baf960b9413105379119ddafcdb49c0db94edd7e6f0743d29efd83340b79af3aa4b11491d0b81600ed63bed8ada4cd15aa011b25378ea7597c27b21f4467fd573cdaf6238be5b07c299e3fe6c8ea6a746f5419b2e6ad835633e7078cff46f3a8541bdde760bfc6fc22f8791b21103602ba3436296893af70086494e504c52346e0d574d8046ba84c1039b13c0d2ab894187c143bd7ef5e9784808cf50a4e734cf66722599be37f43acaa800853f1bb6881db5633efdaa26c3c6b624135cb41f27b4
|
||||
Output = f450baabaafdf4f09360b861251116f9a202b9cbc578105e0c2235689a593362
|
||||
|
||||
# Official test vector 68, seed: "cc0c86cc0abf86fa21899be1953913c00e7c46e6b5f730c4e88b3c034012763981d7f14459d3081638080378348856ea"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = b5d349dbc14b381396ef112fd99c5f5426c93c8588547441e16b8f4b4bc6c7bc1395c60d15376e1c918f5f226f00699c14966cc0c5a404673e2a5b4a7ec4a2e8a3682e56b6569689445154bf34cead222c87576798983802e4560d583a1016cf92c1bfcc14195e164e378965b20cbc1a0cbadfa8c297e4af5d62b1d8549d276a10ae010478557be69a4c3d07aaf8d13dc36655507131cdfc8555b0c80ce32cb2ec44bc51c5aa636db2917e73c61c68974f40943303c04bab1722e473cf0c36abf63c5136cc89567c7594327da62a02e5324e8d7b1ff2098d39c959ad87a15848b526c81c8ca907d1c9284d4395290bc1b98a5d16ca5dcf75b0cdd1675d51b040f6b5ce5a8e6ed607c3e0095cc106200b31dbaa88eca52a6af260c4d8787cd78d0a4339e8f7538927c625004cef6b2788a33f8cdbc88a9b5e0ce32a4fc9aae129b72bc88272c2677fc2bf9284bce7589befb24d94312feed1aa6a798da454b97c39b48fb9236c7cc176ab45630803292117396644dcdac85ad0c33e3880d69282ed592fffe954d1cb2b7710120c896fcdfb6f4a1861395a4a0373c59649a958e28d0ce86cb61c5bc26574b642309d327e30e9ceede752fc06b651e257e4ab84c9598d49e14a58752ebb93a50cf2b0ac411ef9004868ca2633e7c66276033dc38b6d65a1a25752a2fac09af2ce60b0bc55989db2a392e6156a502c0fe20bb287a34cc4459bcf72c9e27840d83934ddb890f5c49f97db9a3c4034f97c05a91627d1a4a7816b0262f9a79c8776f0f10b327b676163c131a966436750bc994701468c5039a50d789a4495957bf2a07c71ab5c0829ff0c3da3e8b5af799fbc188ee34979843a822842ce75c8289f544343d944df152e55a92dbc81a2b9183044675d3e211087e1367c29c17103cf846a2eb6632b66f5364ba2367425932ee11dfe728e38868dedc68ce076833c72399e592a0020421aebc3ca05355cc50b63e5a464b1735041904cdb754b17beb135581dd89102184d69b76cfeb086e09cc526c61cee14118a3846387970b5a58158b9391eab51cec1843ff26241368b13633aca94cb02f5493a911e7abc0f5b87be52d75bb3cc8c1fc13af0c608b0c8234eb798496a39eebb80deb80a0e2404ec3519c3caae5c81c132acc6b3162a78f115f7fa6a118c8359c6c0ce6208b72a74e74809100524fc3b25a338a1d934371bbca1b8f8ba22e5aa32aa7c0470a518267d88b9c9e557cd10da1d5a5939670050aa1c870b05a123c1425e4999af402c3ce06b13e55216984d2de35379eb0f1603b05d18b4f5978547607175d2a01f9c0908d86503bc75d2c02885181b36e92498095e86a88f67196290fa51c9a6c5fe3b3121158dc8c202fdd2b0a6ea0e602556292a978bb04b3bcaacf6d86213fa98c2d9be06c79472c96028b9184c5426e4a54ae8e71303d36991528f4ebb3e35984c1342bf0b7739d0455fe10496943b59ef2331cae8be3ea8ad17cc9c9dc88189f33a1796b743a6c0d009cb78ab6bddf024b47b24aaba2395972898c87248ac5ca11a4c03915e18d15317c2bad3f47697434b0116b412f7c47812553de574bf8b1fe5bc485702a0cf1b0e59619f4ea2a0e9251a046baa3f450cb532a76dc85d0391b29ac7036d016954c5aa38285a7b1841160a9b1af5b4c22b2a0c217c6d99889b99942f2a6d8d9c04d49c3859162db7544922f32c6e186dff3b32ba28a60afb1aa9859277c30667aa80bfe826558ba3cee5270c72a385a910f977be67e1358642ca2bc9bac933a33e76c27be076e4d5c2a97351a7d053ddf788dbe4996643160e87b5d8b884f7b3b905b1bc0281c2baa3cfb6eb3213f9134ee957e8577e0efa9266e3521103624c26c3b2aa763fdb23e7a2b535d5ad7ce3595e73238ef3479262c3f70a33ce770434d46f4365af9b02c183b03a0d0643b0615615447bdcea16dc01946df757616487f1445746731ce8923a1eeb37d7bacf5fb036f1cb5bd794c025d9292c01aa47f35a933215d91aaf59a2c7ab2b775fc048ee934a78834183956f0a9cafd486029ee55ae1e7589e963ed9342f11d28b57066dd7f18447eb63c1a6c03768b05118316b496fc44c1764c38b9713619c188ed55b11534ab4c0e0a2629158a3a376b3e7708eec320dc10a805a7680676cb1317da56db511495f5ff467efee9efbb9cb5bf0039a7197081c39d526d174fb9f746fa2db59882bf5fce5068668fd76eb4104a839e0476fb6e74147c990dbe00f4dff8e56f68440836a072412a30d851ace2c7c6f02d60e7a8420001a63e6c6
|
||||
Input = 707b7497668b3ab6dac199c1880a4f4679e3a9c57aab28e9e3debff8f514a5f60b8da3b0bebc5c65a3c5d961d3a36cc1e9ca10aa2b01db9c2d3392dc6813d3865aa515fc8d1a328600be3f835a050808c8deb2c8fa7aa9b65ac3ebbd08e3c1aa07c91b8c32a6641220f5e9019066044684be58b31f5aa681c6bcd34937e7878f73d5610dc5f0f67684b8d7ebdfd0994d52a56c586653be4ca3fc8e946166ae337257098b9f8ea4a6749f29fd223995202bbf094cea9e616536a46d68a344b7ef35e46a80962b280b7a687d2a9c71ca9e3429e4d8797bba43edc367e73667a32b553f0d429e82fae65ddfcdaf2084bce2de435345865a8260c4c7f61f45a8ee48024465ef5e0be8293e6d15ec8ffb27d050f00e02800d0c78234f2e3ed9b45d2e0d80aac8de5f342f7b4b9ab8a9dc102cf706370d6b4435d13f3f6cbfc4d2de3979f970c4a4d59c94fd37fbbe15e7e5f86aec04516ca868c58f61f21d0d982c5b67fe679700162ea31c98c7a1f9baa33b24f490fe94fb8cc29dff84dffc8f9acd3c91bfed87f26f6c33f594732c033c93bf1092d0f1b929fb8b23b442aa85586a42735f19457244dd6d002c1f23245690e4573c44a3e6b2f0aecb2e49810aede97f33ca9b9d63c3991ebba5f5b767611eca481ce258d3d7ed4b3ce5a3f2543e680cc4374358718d103ba09e7ee92e67a0bab04b04c19e9fdc068b9f23211ff32d3e09c907adbbe66b142de16966593fddc1efdc92bf30993779504db6ccae4aee26e5fd9c60be9d2a1f7539130ad649af924be6a9f0c8c99ba02706b5d0519041846d6eb6d563cf65582f9748d9cecd65f1f2d9977d861ed2626c937af2b000b56b4483809730b64e706a209a7f7075220c507f3738451105d66918ba26e5e33aaa0fa6f47a5bea04ad8186723689f65c784dfe5e4bdbb00a85f0da8e1d4b82cbc4a4ddfcef9f859eeb0e188ecc6cba30985c5968bd429c24dbb1a1e033217ca30a5856b30f4f2b9c9382b0348fd248c25657f1cd69910bdf06e43ebca0cfec8993e7b9ee38caa2d5315df77dc7bd4a8826ce888298b84cb6775005efffebbcb9
|
||||
Output = 6847f9fd5f6d4d466e74e5de9e820d151d265111ceecb4c3e25cb6630549688c
|
||||
|
||||
# Official test vector 69, seed: "6d5a7cc326ecf3983c4e7683f45263a37f692f3bcd2d920e1fd9584350119e74f9a3f905f70d3e20318c1413de2a0dea"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 4fd118878254fbcc8966329e80b3af778956f5a78057201685bca13a70a8676388445b9144caa521dcb043bc6fd50664721355511c275b33b49fe02fb3d967b9ca9264e34dc33b267db325244982dda4486d89076aa626e023703700ae439b8ce9bac7422829c3d6902db5601cc11b7f3c4b8c5caba42b2bd34514046a269af84f7d3c1f8f07b5eb88b9f966165698b146d108cd495a90dcc4fcc15927658bfaa2790eb85127202b7d3a2be5a741c53036e8b7170cc72ac38714a465b2ecc78b0751358b604238568a0d26cff8d65309d84eeeea2a234170fd847a8196ca0be7683435a5d53bb1419416bf6371eaa12d423a848f7c1c913b4f68562c3fa74ff043c6ebb8545c43b01cd31d5d05336fd575018a09a268677a693700012377709e261b80194b71bb654f781b978a8052232112ff14add73407a072c8f866921452840ef8c4c38cb9e9b715c9a5a36ff3c9d01766d5ba0866861660812077994fcc728b320012330b9d4e92a1dfd0cd12e76ce0715dcb7c1f79c88af18018c584a2853956a3862d2fe642f6a2c1bb6045e98474419cb260fc066c008660285c79c27f011441cfa867c7097ae3d87a730913fffa626e75cbf637c86cf98ff0012689a9887b63114fe9cf0a56094809c89eaa1e292a1bae5a686d4c0a5ef79123a4265658058091b8d34ab584a5aa00889ee136c29dda7814825546a166639c1a622ca5c806b01c640e7a8924a1ec3ea4a9750634c93dbb41fa4405669abbb5c1c146624d9a4500b73a97028c51d2613ef6c88349848f886631d79785ae27cadda8065a8a820eb7cf088030f0291d9a186a50b27dd10915d5d10942365f90d710a1d0314f536f965c9db64c5d1da38a1ad1bf829a4388d91ce6512244c733d86b884f694b4a21ab86106504683ffd4c14e96394ef8b2b13e84d0123aa873ac81c55464e6a3fe6011530fc13ebd67b21306db1273a79d7622026c505b2b0d780c498c1b318db0f6073316ca30d8f08148f72ab845aa1b316b764cb9a12a58e3bdc5765585906b8156e2a322c3b7d1130cf4ebb86b4c4ab98a151b3e8901a77b75c0c0321c436a4b73ea3d2632487498847497345478529b6d04c12b4e35fd67639ebdcb37457cce319638c98c9cfd88af3a918a68380f1ca458ec212437674e05c59640b87dc618bdc1a7d4329614c444627ab4e7941772ad14699135774840e251c14f74a4042932a89178434bb3380e7143d381b2bf522cd64a16f5a1ea207a749db0f2a2579396603e4bbacc1e8100514267b98906d7c4e43706cbf3bcd08b10190d8c268bb4d6428576d784f824b426d303b80ebc6bf565009278946130539239472780f5893429ef9255be512e9160fe4d202cbd7cb08889f49cb44454a7dd5c5749580091f3628825318536271fd246c6c5b1bd140c8f0b25409f7acfa50cc09b21608928547b99c0a410a850638544bc7173acc004543fd85c5dc5c64f8ca995759873b1abb3c0019118a9a5dd7427be72bf0c7711d929486761e70b88fd11caac2c646b5bc2fe2ca015c140060085da974958d471b8661175c343c4271786516c9b7844dacc76190a436f372b783287853ec3ea23277f7ba7d71359f6df6a527a7b981c6cead7c7fb4c22ccb66409160c57f183dca297f406109550556a63175ba4ab595e3aaa6838ceff0430ae475860827e39b0d17b64b2aa087567923d6f4a915d516bdebc470716d95451f222b845ff1019dca88cc674a5dc09a95992cf05a8db010549e461a74b9a57a4ac2320b56a941a169d214913ba8acb70025921702042e87e0b9513a727a772a6231870aa89bddb71dcc740ede5c0ccf00b7bbfc9194744176292f91914994117fcc97804c14caa392562d543bff11c6816960eff8929dc25b4777503bfa57efe9b01b41263afc2f3145760b1a6431b70563b1595c5710f09b864f12327791687460a2038babc7569210728084ea6f9b46084ea23d0013c7fdd07a4c482205103b4bd1382b66c5111a5cd5560d32f3a438718e9cb363419449ebd877d7424ef75c513d09946ac7c215360f6fe50e027677bcf6a7d1e62bccea0068489161f3001b1444cb621a8bcc13d2252238d7596e493de85946a73a9ca05aa32ca2af76808248882057788ef9fc262ac4a4b65670fe2baa59d8367d10c893376ed0bbb44abebe123b4172ab6477c7ef242952582b221079ca424f4dff49b1fdd2daed31b550335e1b51ad805aacbd08110e982cfa39cfbeb28f7e7a15a005f92400ce33db073d49b53871594a88fc45e0f94207b5f0f2dc
|
||||
Input = 19b1ac75b1cb03883d8fb3a5e6409e0fae4d6f6cf1fafd054758027b305c8aaea77271479b4012e7b02ce315cbbc83658b645c51aa5561195a0fee10d0613e1fd0b411e70aa7305a8fb3fd1cad00998e1f5874d8233f2a84d12151136f08429521fb526df283ed3c8dd80d38039da99d260be201396d9d98e19eafeddcc4ed5e07f3bfc5200a3aff5c38c91b6cb6cb765c0dab694afac9e32f14805a4b0850150a7daa6578cb909518016a48bed902d06c38aef2c6588ba95ff3c0fb2f7eb03b2c55766bb94db5efc7cca4c65496faff804572e8ecd4da64f51a1b64f69b3b5fa758511fd195ad6fc8a919960f8b951e0f8542a9c0907fa68421d75321a84281a1775ee40b73032ffae467282d8ecc3e2eb7bed58775738eb05209d8b918e9697f1515ae7c77eb2cbaaa55cf20d72cafca880f5614001d7d324415c4ee0eda6d0a7652bdac35c58528ebfa848acbe18601e0716b4db79bcfe60c835ba613dd10ad7558cbdd8a7ff58daff6ae252c0d71b1c68a7c85f796b7b86db07a514b2efcfce63c194477db415652120fff502a7d192cd8024af4de30c1cb7da0894cde88d6368f429be5ad80a796eb1717fa8874aee0a567ec8c2ca4b5f25badda06210eae7ced02f781453df336f13a60aeb2d7fa893424cb20b6977f2b4c20b678d3f217e6442e990dc0e93e97bf7ccd6e9f32dd05c094147ee7a9e048b99327a2bd8e7f641ccbe99c91ddb78b7370e4066156bcd53acf09f129ccea4e9ccfea6fa518d7f6845db390460934155eafb11bad779a55ac0ccd87aa837c856dacfd4b01e511a38f57a49e3de7946d884be72a7396e55cfb953efbe8986bdde6dfb9bbc1f6ab9a8be8d4e5e9fe37cea59f64b0abc924b9e4cc6325c6dc7363e476a3574a53fd60ee8a9c4b2e02e0b7c6aa7c91f36cd06d87dfdaa48c6f88b2af110fe51ada44ac60d828f0e98e5f3410f551916fc7e2fb816adfc2d8f3082e20d8d7588a91be1445b2aa3343cf80dc4521402a7e00318a7c0d836fd49414cae51305caa0c2b4d3d9f57509ba552d6abe6ccb32b058912d1e5fdc5ea8fe630bdd849b46f4ea
|
||||
Output = 6d9d9cf40be1ce9b6d16cbc4bf80391e6dd0fff94a8f3df6ccd3d9f11c7247c8
|
||||
|
||||
# Official test vector 70, seed: "f68fc0314dea88f66afaa76e6c9b6804b13d4876924410d1f526fac59a62e26c560b125b1d0f8b461f1fc2e351effb4f"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = e9b19f9626c6e824c1b1128c489a38a89ccf074c767f87b3191618200188eb768c79dca6c156c7a456c6cc9a107c3012de5135ec66931b5140da19221ba1c8d4a0161109cb052509afd4a4ece09607065228697c7f940cf18a3d30185e7072016c2a573614343dc64ee04a395d0cc509450002e8823fdb1a5232cebbd4191a1c8c050380b2b65dfb28470888a6b0a12deeb56677a948089cb951fb8d5a9b7a427970871b64f9f041ebb38b169c5d4e16247fa9bcfaf7613daa831e5b6eb8b04eb000328e1304a665580217b58bbb5850849916fb662a79cd27524755b1af386b7ac9a0cd4024cf5bc11516102db68c1b1db45cc0e42a8f21257a771c83d33f11c82cbf6409504456ea858c0511582fe1beb144a97e50ca96278882b05a39541b15a184ef884ae83ac41ae89de0a6514d793f549a5bef9c8caf49a78900ad38f11ad0e3b2f08a843b46720c049fdffa4eb7a144c9dbc97dbcbf23162e8f4953e5d9b51bdb35483c6903f39c64703377c1528a714003aabfd4d4094a98b6c53518692394ea3482baa1c19830cb154ccd4b812bef2c05dc554429956edf79a8f0c00dfd75b2b11a14fa514a31849428521984ca28e34169ded50b101b9dea869eac034a031a56748a1e58b44d693b7bc6803d53276827a9c7a6c108a6c30ce6a233a60170707865828aa3c0a069e81ca2ff9b699c1737e784bc79cb07209b27de44580ec064197a026ee49a22e22df3802eed749deb1392da051a9cf27476f56ad08a069537aed6c31533d5bdc5da2f7fd169301a5b90e34980a5c7cce280f986af8c31affcf460f40a3e24b4ceb0192917c15698bb7f9b143130f1c462854c6170ce99f37d7d63aaa3d3bc73c36f9e0c96d7f929cd1766cc2c3e4f583fe671a2b034a4a1c8468ae42ae3320fe6a96102862ad7dbcb79acc6af2c26f9652b0e18c110ac25f2d01f28b2060bbb2c7cc9a9c817ccc9d2315f442cc76c9c1d3431e511c0fd344948c505e2a74ec0a246620625e48143d689207a49b23177a81114786ef9adc9a056d8a5afaa182666900d9bda2385d05b967351a15a88a61b2b946b579cf292506b72dc318be69774cdf58c9199bc07973f37187e0a1474631a5a99646b514592a71923e723af23737e3de001c0715ede8c1be7cc537c24958d180e00516757ec8022f792798c6aac65856088641e98b699769915b10c0a34bec74bb334f7b21c58095e6c991dea27f546c685553f672badef22ac5974129f0c2b86215f12f520ea035e438731fce9acd255c1fa49c65e0429c1e7cc3d65684e5b4e75bc1abdcc69eb4328b1a211339687cdab221c6263d2c00cf5d6868e1a6c5994ac45a3682c08bc7321984eb7261d7127fe255c8738882436c32ad1acadf6bd28acb84433816e5419b524c6df63ce51b225b91695a809520d553ef6123539ba79664135940819e4e1149c81b5372a31be15aee579061e5ac10310bc918225afb4452273002e63af3758358eb9000514a61527ac27e64a9dac8a5b136d00b85884848b269081709732e1c6424ed1b0febba7db917af32216c116030eeb5bb21946c2bc19aa7cae6c001ad490c0cedb3c11e4057de388f112729fb79f71ba6b21a39e4f52cdec6a2e4608c786579e655cb5b0209fe25ba1e257cefa025ee821a11c3c3ca2937eb1d268feb4b900f2aff1d82f57b6cdb2fc74ca69741a71c36d368f56226048984b2ae19817656cb9ebc4e6928bfb840c9be83b7d198604567534ba079ddb2b6e7c3b7fba1b462a8d074b3cb399322632bf712baf30db28b7b50d6a047aee7b54b4749b07e97ef9e742e2502994454b9221a61429800606bd3855c784a822280a295d20789eb0c62d166a07c82b47ab8591216bd54ac080e7620d629b7e1114a95899ada2b8f56c91c1938178a6ba592c22fc5055cfbb41e1365354d5678b83a10f4a4473fc83301b41b5f40f461a638977674e4c1c43c6b62cb6420a7a3851640ece488cc154230031376f05798edc7bd31060635275be30b3124c7e5796c1b102b116e60229983920a4a09d20b1c8b52a011a7b39f15bb63a0b54b285f518c5556026c7d9add0917acc9560672577b996c4ca87c1b5a54d810261451634e8dc1d2639caca27ab57d83d7f2251dd391c51242594182a472231225722d82b6c3f735dc4b6cf1043c6cb130c8288fb0ceb08985620c6be85178cdfe6743bef1bb7af08e62ae7b2022542b1d6e61555c6d4fc7129c36fed2a31634b229cd8128601c28b1def8d393a0db283229f7c7383152a814e7cefe8ef9d9768c473
|
||||
Input = 7e855a83af2a7fa5f9171452bb961edc7a2d2291e15585eaeb1d24c98707e3d8db7c7a25fa0b77eda23e7be9b36799973c8fb53052e2425ac1687762b1bd6d432909d0d44c2028f64cef2a9061f6b1e40b3e4d457a546d823e8a9ea708745cae0c9ae1dc7872a0961935e75ec4cf2e8485315d09e493c8d51067cdf6188d5f746f07ee004159b8168734291105ff538c102a0c5acced16a7193199f94e3c4f74bd81fba1616b6d802191eeaa96bae775bdd5ddff46d4df75fe12a357b54ebbc02bc62f623a1a30f4f5044d0f0d855e17a8f230faf0519c6c5ad3541b3002b832a1637c5558ac708c058af1b69d19ad1ed17a39dfbf3859d86a9efc0fa6fb8bfae72d0e4ae75eaba9b7af82aec8870169043b1cdb22bf7a3ae5ea71deb78ef96b39ce46f0368c3bdc703d5c9dca682ab576bbfb0fccac2e10f719d3bfa3fd9bf8557e96635c91ca8358d69d92247d8ad755f5a320005e745ead37f743436da1b6fbbaf4285362d608845635b8545c5edef052f52a95b903b84f547e145e83fcfab9e6133219c9281623ab54e38be06b963ad0d502fa0246870d921d51138dda400e5d43b0817091b51ac40941a918d621663ea2e9ad92cff137a4b32e5a9504bb19c785563936a1d062c7f80b38fe0b3abedd7a7c810a76e6e3dedd4d24cc35685fb822054464d6b1289b10e300dd07a7ca518fe15134665abb890243705a82b2dcefaf9d48dd1442cef532124dce7e4afceb5c0ab53626f4292136c3a90a7f7e0e0b08bdb3fec67c38d9da2a260725ec8ef74fb3c0d39cd3f99b95d0455ac5ddd0f9684c4cafe35d4d15d2efae783dde5d8d0d8aac5edddc12386eac8bef4fc84a38ef91e04ebd7b5514c0384393b494a05ee593d5ca095534dd9d51d2e8384cde4c529a37840a9ba28d9c781786035fce1fd5a33ae6f52ef0bba74873694ca7f3d5c888d35381873a99032e6bd75ff3f40d2c3ed888a40858669b6b0390da01623a491d3e7257035168211e89ec94f4166bf79b147848502ca137b8ebe0f76b56b967c217e1fc0707ca0fd07b2feba977bd89b6dd768cade14af914f07ed79c
|
||||
Output = 41bde508779ffc73ac9445cae93178a76c94cc1731864787b61fb05d6e62092e
|
||||
|
||||
# Official test vector 71, seed: "a229218b0d51f58d915df549901548fb0722f352c7470900e7e4d8399205764a319bbddbd06c00e8c5932722ee5a404d"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = b837511eac81be342ae912b31480c3e473391f255d7919bf137c492ddc2d3c83857de6761ac9cac64aa506612c0bb8b19f522f41b57326f10b40190b19825a5890bad01c2fd739827c8218a5e14d3373335c5a71fa7188d95a64fed45889bc2c0d98539973609b4c1e50f791e9f7c2ad579cc03a9a6675ba83a61ee4cb8214e72f05542479188f4b1182fc26ac35846e64b6545e27c46b78afd6db82a10421c0667b5de417a4c4b96f60a306769265d5973a553f47658458477a1133b1136866e472235d783149b12de0f3317b54c97454cebf675b7d6ca1ce06317df3a3c60bc30ce48e6ea5cfbb35b0c0351db5916a8851a520aa0a3d836111017cbf4095ede23c20e5aecd242c51b01d3737b73c8088011c2d89d3a136a3b652a5c469b3422c6bb371d49ef3d8257a41713d5c6d8837b1f4bb7977c29310b72b767ab89797797ed78c0bf925407458fa1c12490c4ea3c66269371205b9114e5b7840fb4ea86212f918074933978e09023839cb2c4746fde43ee3c4891947cb10ba8edd791f7140236af90746526302ca2350f21426fa21c2289096ec7071c01b19764330a31f5a14894b26ba6a420eaca5931cdcb766ba3442700e2a4a400f73977dab319d9980ec54481e63b9becc554fd91884b63c02f2b3c345aedc8c43f5d7c370a18937c7bd5e03c8c527269662694b1c52c2c059e3c82502335877b369b6201229b4c439c7039f9a01f2e300b0f02f34008431c2ccc5d488bfa12533c8ccc4e945dac9552425c3fa320d5181c0f6f561b8ac64b0c327958c94b6b39bab126c50454ad93b0e0a06b1614164c2778a82a392a230a0a9a151d3149e3f830362890e5fb0c589315db72233bd94a7e17aa2d51c0afceac3c364b7f386853ae1260574037e6046c9315a4944325f65938208301b351841508ff589aec0870315fb370649733baa968718193e62600a35554ea4306363bc852b7a4e462801385331730298a1cbf59c2ff3932c29b16faabc57a9150edaca7574079b9bc70d370b0bfa6b40a2cb3a37ba8052e220fdd527e3aaaaa7160aed008558064944a5398855921e70071ca101e24c7db71603e421c9b76852e8353c2c31a00b37a11dc8b252f014570a023202840e8b06d6465045bc7334e3babb75abfa2ab7a7c484bd33525bebc027a6796e1719227731d69698f7c5cb68acc505107d369c2763e79932bb454559863e682ef65668358a8c31148915d15905caa5cac892a97c91af4b2313c027f8c53117bc4504102d9d9bc1b782198ffaaa495113a740b5fb473a26e56293a695f8765634331e4b61b58df596422a49c77364d213356ccc31e42a19f0a31535625a8a17238c273efc49513c308606c358144855bb062e0af2501d57a37cc0b225f07dd19a58c1681ac862b148c974a98b350a34cc9436996b753c944c56e0d7c26463cd9f84129a008085bb94efe956356bae2126c0048097f8217522052dd1975cc37277ff6567576662ac9017ad6b832050781b710991c60330fc242e99c790d21398e39f97aa3ffca9c763f040f43ab0f3d67ddb76a925f24d4c88c943aab4a9e3943c14c7b732137d207668327ad7e491de5a1fa1674d66346e40a1b20004ba5e042d0c119f1cfc7a4ce97ecd299949437a976c9e6e7c8f6a1bbe2a493be8100861982d30d843764c2be8088d281596024287744c2580e6610181899528a8dbd8481dc242a403947ae37e690aa8118a6b8be0cc8d7c9a1e231c93a26e35152d95d25a977ba391d37e36fa70a9bb1780e0af16a436842b8fe72bcedeb03440a6ccf8e072bec1725baa1e61e9857f706dbf89aef6675a3f7ca24b93b65f5a23409474855a0bf750c77ff28ec5dacd40805b398701ce55962b85826a9284e61662ea4c5172e10a79537bb77517bbe5b9c7591a6868032a16512ea77812d8131eba6e9a671728807a0672b347e2c673c22607b2343e21119de9496e238cf7d33fb0dbc860eb9967bca7b07c760753c84916c2fb7cbd549c2aa758b492cc3e68b0477500a86e971584461cf951c298f861be1caf7021607bc033b0d7393065c2dbbabf2a155ec66c105e16b532d0643f1b9b4b702721844860a0cfbb0a9f223485a0aa885fc51c9ca41ea052be4e8328a87b2162a7ceb3b25ae5797b0ceb4f5d468df1a49f7d279887a27a69a627d59803412a300127e761644bb60db23f60d9f6a511e7ed6e44be95d574fc61b193a8c6f257063e1cc581535df4a91249f985bbd0b6d75eac6c76ced1b0a025b40a55440712ad8424672e761e9bc400d63812006f
|
||||
Input = 510f5aa021f73c36e2c0265bf0df0b06961b740c8514261eeb00379851b44451b4c247e7d30ff2e131ed1136303716f377ad7755ed1245119ccad48cba5a8d3ae609904ed4ea04f56312ea70405767a879014b7a11d5347ba3d4fc9d2711a704023d4b5330266e8472101c7fc09c6cb3eabfa6c7e94d08f1711b4a208f46e7d3a4bfdbac05fc562ab1493f10d21f0362314e21485a5a2f6b303d68a177d723f24fa9b6a6335472d66bb153ea4a26cd95cab05ac4045c57d0c4af391dd1b511858b58171e2b3e36bf8c0e9a9063d832c517de1f302e5dbe7797b763ffc55e7fc50bdf91097189b442977321de65aef28780795f550ee91f4ef408df52d68ba2bf96f144a136978ed28de0bc22ff803356330c1c9df0919e4318e439c12b4b9a13fff72fd20ad14cf9829917480ebc454500bd9623453710dcaa0df02db179fba3bc3bd4086871533bc0a42a09895ce44556a955a88f825b8e38fe4221c3e792227f6f5072fff1082d7d3a3279347eb382bb7083213608081049f82e83898780c1abeb0e7d7f598cd6185a1cc58de2d845597ffe4369b21f13d8df508f943bedb243cbb9d9513f38e7dffdf7d619734f60d36a28294248124ac0c45e9e71943647bc4a600b2220d179f4722283ec13565a33eb82e428b83d1181ccdddb597188e60c69ebfc0f0af434365a132abcb12c3446741e22104accacabd3be0b06dc967c1da33344820dba0bcfd402a2a92da10426e7367cad2bc949e31ce5869f9b08c3f325887a117255a84e3adff4b878b941533ba4680479349432bc9c378aa1f68f5870f7c3bc1ae547ce81d8b6d23759c717affd78e7857e508c4b3118991d1d94e2bbcc372212a67266c4698ba52139981eb9cf04584e7e148ff2faf56f871ae73eac3af19f02b33a5d624c6427d50a33c3031f59fca2ba5d1a587dc3ec7ae8a764a0895d5b20abc463c01f4b8a7034c2940f7e32d80a40d0bf94c93abda6ccf3a30e135ea102b33d4c34901a6519db2618d7c80ec946313af3dca24f435cbcfa095a4b26d2fbb56fccb177912764c127b851ea8957eeb18df56efea9cf6b6208
|
||||
Output = e73793295bfe814639ff70d76b5d1c8a397d6821019edf8b8485e92823d71198
|
||||
|
||||
# Official test vector 72, seed: "6960f21c7350dcf41b4770c551dc8692d8ba2c0b6e162c589166ff22e7a1ac0f94c2f48504a5f7eb0da094df427bc98a"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = f2fb1736330b5c483b3adb8b6601040f2a13f98bb8b8322aebd7247a55a3e806c17ce5842735697ba7ac86e1c121c14368c36e39ca1262a31dcd9009fa691f8606319fa411363555004a442fb09e970746321a5d2262c9efe6345e7c9d54a7630e0a3bbb310896c8921d617cb6926192340cfffc45199b96fccb4a03319e3897a7eadc19a024cb6cac2943ac9c3712636f572a64e22ff3c127ee90494bd45ad2eba7a49395ae58a37ef743c1a09bf7452f9355b6f645911e778d9b9189eb4789ee702f756a0a130cb8f2237dc010871b4267f2f477fb6076eadc587aa962a2f93d2048c781145380b8225b71902ee48e60824409a0395bcb0f0694266afb14ced957b76bca12998332bb1a451386642c0744c85325a5cb7b7005d1150a67f7c89bd57456a60ff76b2aa92bb2c5db4cbe22a37ac70cd5b401b3097ff3687bd1057bd0367a678888a712667f28483368c63676c36052bfe7189f2eb1bbede232768b0e8a49ccf0e49440621dfd343ee1168e26a244b5663a01b220d326707fb72a306a84c258212b3c098e85b27d23bc8a5896ed60a9c193c8a0d849fc0b6546672b77d35d58751b9bb7a16ce7429727345e02cd90f978e9ec24801c95296477edc9c8437130e692953b32525ce5012626a2b245079a40526fe631aef6807e993aa8524c061890347b6ce6a4b56c4b9ffa1bcd68ea7b246a8d3f69332bfbb2c34ca528321023c1923c9888c1d02107d18c04639286c81aa4572f7b20b03ff4a758e3482ca79810465b1f04102a777d196aa929bb2d798050da28c4cff3555832bbe2b5c2fc0b3f5a458512ec25afa102fd7389914c0a3147c317884d3d0155f2c530d90c3eb3a065ac236504d72a76644bf5c670ed13483656411623091c42328844b198d0aa78b60551f28c7b1cc88cdb177725b8fd6cb819f86bd1d49f0734afb06786b16459c3402ec88b900bd03224a5350f3b62404255252725a0b4be2b42bbca734730734af8eb41ad7322bc7b68e9880ab9ca007a211114b0078774950dfc01b28301a72c65efa916749590591aa33a56b08b500a9945c90a1335596360eb8a266be6b520f2b0330153d1167fc3590c18899851b368c3f57432e94c0d08324b6c170c258db3c82061544a77a55c9d6919ea2b52b5ca57f7f0ba0f212080485d0e84361aba15b9d96880ca3d161730df119888a1909ff133edd5bb9edc3ca34b97a7a59f72174d36db6363d52c17d82d7091262dc4543e8474d101676e9935b415b85a624143e55b5e506da386107b0c755ca4736055388ab602d92a088b7c70a2339420554872434a6a9c4f42d3c73ddc28ee5ab3fbc0422d4b5cc701b75ba4176e94a881872d79a76bb4197229930b95aab555ac75b43111bcccc80b14311b466c4cca8fdc7cbd93d347e2526b0fa9256705946216006b07249ca0363524498abb063b51459853a9c7dca9b8b23467a721c54c4d7158c979d80bdb26879a543ea528636099c719565e2956b7c4894d1513511b358180b9459fc1190199b93fd43afa67c8a67037e43568e4b46b6d4638f3fc55dceba7035b891bb99838d8607e8ccd91795377c0822ab28fa1524559a6498dfb7fb52039fea1463880992082c6a087bffe25cd29f767a3f449727666f8cc87cea1a590347a33ca4bb992b946b6c0d43819c2e77210f1a1b7754627f75dda36c4f4b113d556c017c0ae99d8a7d7cc3956d58252bbcd4c590bc0c2be175513c4568672d62143607f88b7bfe32553bd021a64abb957953ec961718b069fbeb814839c52369c43f362c87e574576ab0edec1c227c51f77d7bbc8c19c0e091b238861ebb1cf0f951902d1c7c8a4cc4e8bc99fd37a65b6cccfb2692da34b5b490c60bbc4c1fac5be2a17577484743bb7e56c4fe8e2a243b1c0de1779d4611fb0d59752c2c84e3b9b23b19cfd704212870a0c626ced0b40c60c84002b81b46617824c8580b2223cf540be928577f92b83fc8455e43f67498dfe488c2e9c28e1f68ee55281ef7665674a03f83225a227c62597a92a0acb20dc7fff1a7913e31ef414ce4580b49a5c11c888876cc2445c50495202331156982af2c398f94e67d3208d176099fa5d6f008de3007e23c97175b0a38d733a8d2bb19fd6780327753204b05d91345d129a090c4df311b82e05949cb8ebbc13fcf87b35cffcbb21688c7b39e556f610e8c28730da9326d037161ec72128762f73e547d28165a02a931ac7319244888d46f10f15a1d9759d273b38bddc18488024ec90e62a4110129a42a16d2a93c45439888e76008604c6
|
||||
Input = 6865be5cc39989164583b41ccf748946bc0ae80f297f2e953796021d0c02407cf5affbb598895d7dd363af98e3bd019230c13230255eae776dbae3b6d07f81256ba10a75d8c2908ac05c0ad00b1ad600c3b36e2b91699d1f2bf65e8a4edfd1a2d9a1cc03f0a1feed6f0cdcc839f632684a5725a490608eeff1c605f09098052bb6cfe1e40dd1b624f8689c524ef7c25eadbbf246e2e357d6f42bdc2008919f5ed2ae8da5c7ea4d88699ec0b5839e33f9162611df6964bcbc061ac4d208e20b0ba04cc2ba2ce916bbdbfe9848f198868bdfa93f217545814caf7eb668bf27553bb537c7f654e92261ff0df6f4b2ddd37d86995ce0e7357b716d5d6b7c0160a16254a01af2983131eec0ecd2d6dfcf772a0065c9196fbf5c81031b5c49a4f944b9acf4971538d1487eac7f5e32fa1cc81e868b185e667b25547cae7a2399b50fdb551899fe9c044fe89034d6cebd9eb7b89c9ca16b1256cad0fefb42476113677357179e6a09f6004afc75fb112a9d45bc8550182b6870206e642239831ba8326b14deefc9266853c318a8ddf8845eeaca4e1768c26e9e2b2475204e53d98ae312923faced79c74c5099da8593e13a7dacfeee1bcbcf347940b1253f572bdb2a3a0a14a58c11a8b0bcad54cb6843fe5ad2db92387b36ffd15793918918736c14e02a517cd881e0a430a40a74528abfe0be84ac1801f7f341f51700dee6fb6d0c5d52103980d8d1bcd70218cc2766da7f5de5afe85367576c3a0a539827076e1c0455288d6ceffb809460a5fdf2a317e2b943445ad6159642a04591e74e644838c92cf115278688c04c033a908183092f4c82db840100f10b42948c87d55a4fc5c940b67617efbdbe141a989efcc3b7a735eb0b2368a01852ec206e27a8ba0492d5d43d0c524a62db40dd8168b7cca4bcc6bf0099e2d523015c127894a09ffe2e620fef2f339c5de863dbd65d0393b47285a9dedaf121b7cf35e6f579b3ae26a78e31523c126a995f0ba7a20b850e96e3799fb1d17bd39b15614a611f60d7acc1e37176a0d43a566fa481f35ef612da1f95d6369e05d107dc4f1c2a6d234407eea5
|
||||
Output = 24895cc54471c7762209dd3f950cf98adb99fbf32acfd52519f89d35a7cdeb4e
|
||||
|
||||
# Official test vector 73, seed: "53df46012cad4a745b7a3c06e18ca95e0b839fd8161e3025749a0887549eb0ed6a44eeea08bd6060d6509dbf7e9dc864"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 3e052d34a5a5b65469b5f261ec961a16a6665103c7fea865d0781958358c3ca1c3cd24617733c7d842cca6443432bc7ccbf258663a24fba05e85862db9c33797a2b5ea595e6db1ba805536de920e8e9b25d101980068a1ecb243da6b4b9b8c6db985cc815c71bf6220d49a72dae613614a822911b6c5e6a9c4c92f6a5c5c1d0b585ac31d13a7725c471c596c5eb0dc7876fc0736d85d70d6bb921bbe2ae9adb8e8616da16ec0cb877d4260c9c907bc3a5d2248a473796992e56edce940917196587970d0832a0b0aa67cc8367215443f80a083034e9bb70cc6b4c687c9a7c0416d5705617b9b0db5406567d2a162275d45a4625a10888c18044d1b76b9e516d9fc95b5916bd54c76cfbbb18c02066ff708e6804090ea319ec31c48377f34a710f9bc76c762a19a6537694494a94c5bc3274cd80408b106aa5a839b83229766a34ba3d57377b9016368825db2c528054650e07ad1a85b9a5731b0c809f5f683925ab0c9513c9a071ea7d72e18c9a4ded8a3e01c823bd6898fdab9151162e988cd02d7556f652ee0911380697b229caf063b780221a162a8b024314ddab811dbf567f62632d0cc994b33c4eec93bdc05a8e6c1ae11993f6f52a02c863c4ab7162a98cf73b9a7fc44bf4af30d1bfc65cedc953e4bb86e626b6fe16f91d775db84a8b9b670d7d25b64d6266f70355f5aa3d358776b610756ec160d4220c3d2bc711594e2013f62643715043b18653e32f5a604280601a84eb1e70b288a8714d6861cbb6b46f02a8d22abe011375a7841bb629edf922431526b1303630a380bffe0316e52b6e5e57091972ee19c4fe5e84bda543e6bb9a98bd6ce567b4b11c25f9a2094c0f79c718151cff77a4721a96a37175d1272ccac43b5ba401da002db885ccaa600b200775f25237b701642927fdde14c5747b21c628621696777d9ab9d18b06d9b61112b1ccc9a31fe676a3c8378c8f6343b7b1aa0b5c01394c01c13cb8771303dc602fe5c4adc9a7594fba97bea56ae2a3f9863a7da628c28881e785937f940163e0c4393e8112da140ad8231788b30bcdcb9cc99082698a4324b5e657922f494ae88863448d68c15e76dc7b526366248eef783c6f26a64eb400e0a02868806d3f029d0307b8bb736f80a2ae07454b1524441901b82689e65b11c68f18ac11030e8ca442a28807b97c8f3931eef38702a3359de5c3d07dc485871243796b3082b6cd1691515020c84bb504053017c344350694868eaaa507364e7970f7fc440e5c650e7cac0aaaa99e7019a2a5b48eb43c5d4ac093fb40acf66753e96b2dc04302f5bad32692bb9a253e6ebaca7a873a6fca903a897f5da0c3e668b1f8a66f40c0b7c7906f3a96b41f8a041374f50ea99aa90b6cdc20fc0b81aaf347b90477f1e886bc65b90915c8da2092905063d88fb5d1ba70f7ae23400570758098656f1b23f6741552b7735d20d6d30c1d784c0ec42290c8c932b8bc3a1a3699f2088fd42959d16ba35f25d674959d5f1710f706054248d0caa63cb22c413f939d297a95c987792ac5852926e86516302a187042a3546cc70510830e7daa7f9b062fbe914be007a1970278f4c1e7235ccf0e1c9fa9798525cab55c33847364f66378c6ffc279a513f6815bfe2abba3992ab43f0ba23211a50d4132788057c52aeebb5af690bb5cd05a6f6ea290f51a8a96c445c5573f473c2155c86b3619562f8190b370bbe709704d03e18325a205c9dc66579f16a36ee4237699992442b84c1c9bd6f16394978247ed8c9828a64859205391203ab284943caa9ded5ab2c924b4b1b68072a934a3169f8a0ad9028aa9315806505b6a3941150e4cbd40910697b1fa26666a0f2b3253878d0d591a2230ed50997a5ea6e1a799d5e28361529406abc52680a4ad1356352a1aa98027c2b950b97aa8ea8e5254d941f1c95a66bf688fa4b43ba6b83d7d55f99910595e35f087b42636993ba509292f1b920bc777ad5610fb06c91a81a9607c3bc7a49e4a38ce5c63c6fa09a30d5157820479a347339866ca72c7dbb2c97f6a38e7b1367587b47b9aa01674b9f75f3af088a74b03603d51731dac14ff7397f164c7179ec355eb80468a0c0de95ac5ee54f4b5247ae9b1d215bb82d45931df5c6eadb7575c76da0bb0d1623c1d577273dab40e1dc06a5d20052419bd23a8bb18e1f2f9917e5b3ce5b0539c692fcffca80cc33f26888b80ef607db8e2dd15a3155e48110bd70f8530b01b3c9b100265e679f200c5ce861e1bba3729672816f3eba84c9638a79676eeac0f22c8a48e0c5d50a26ff0844c66b99
|
||||
Input = 7d7bea5d1ceb6af5e5fb84856ff5f5f4736c5ea252150ae90ceb8050593e6682ccb15abc524c5ecf54f3530ca0e079236fe325d5212ef34610bbc0f4b83106ff9329e95756fb5d6b151aaed084b70f7dc6670017d61c8be0072b1ecc2c3627489ecc4d2cc97a6fccce8e6b5b8770effc02a5c23f7f8fe1d3c0f109b5058f355edd735c6e1e1584946d869f45fe0f7f39b8e732bb76f694ddaa020221f4355e3654da3eb49202b941960288ef09a394ce577f05bda772346e95100d9513668e9dd727391a9ac11b88af3f2e1c2bccd6548facce6cdd210c11003ebdc4c9a1c9d12ab8b60875ef78328240b82208df2a7f7d5de2af330438556f113ef131120e42dacecd043a5d4bf2698d89bf6c4c9b463a9e220d8630355abb6d15227e983a8e5d03315b26ad0d426799b889665e26444dd7775d4c28b02f29808f313ff300d659559ad74aeab7040e923ce77d9f23f0641c0407e8148107375e3753cf237c0ac045e7f7b6eac38553d1337cabbe6137b59c25a2840282576f4c3217d5dd7a626c4bdf348ab13981c75c03b0ec38267f9e293476d43b0cb9524dd49d98379fbbe772ae956b7562ffdb34df94fc510c64c7bf98644891e5c1ceaaae0601cda413e25ba33e1f67d9253f4b3fb0c7c933d44ca271ba2355c01266348b64082cb9db5c7bee46fc0b8a55bd6bade08b64a9c0862786653ca6f35d5add95dce6105493022490a3f6917407ab7f1388722d07c26b5aa1d775983127f6a0fbad5e76f5c4c6389588222e140f35293334b126e2bb162906c92c29db13cad6391f49a112300902e5f1b5beacd91255f0dd973d3d79ce5e8e258170dc4cf61afe427f85669d8a0ddf5ca5d04998447cbb9f41441af08324ad43dd349e222b11f45fbd361ff27d0ef6c6f26a5d23b5dc19a66a45812665dc0b06f2f915f4d050f7b7d472509cd4b75e566fed478bfc8e6d36d88ddc2affc81772981057ef0717ab15112deb9854854aa0c4900138d82f228647458fb30331eb151637a75961e59edfda042ca44b6184ad26ae434fba82379b07da3ababaae38794b1105faa5ebc4a01fa3ae14
|
||||
Output = 32cb949b65d265d2672406bc2d984d35884ef8b7c4fbc7b698e0045c2b40231c
|
||||
|
||||
# Official test vector 74, seed: "deb963f8b1d8fbdf499d564ba8d2d47915bb402da02f17031b37b4039a842afb9b7e48f37200605992bd2429427a7a4e"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 4b24986e296539ba7702d214dbd06dc9ea09d69353c78784693b7e9e00019b51a08705615be6729252a6bac374f38a8321279084b4bb69dcc7e77565324b44e83c454c73896983abf8eab43de109ca30cefaf8b5529069a563ae6b262d5e7446909cb27c0625a9481412c028a2a2053649b2688a68d6ec45042cb98d69cc5e3a1c6bd7877e98004d036e9b0aa581aac6b2c27bd8f34d2b40628bf38c8891cd6051a31971b11f9968e84c189a8112c7d7268eab6259d6cf96065bf6823170352883158f4f9c04e0c36054035ade7b98231b0feda87211e12dd71ab39c395432711fb8ebb295e408963865e38b95b324453de5c608685f8cb262a4f8bfe1c11d7938af3a83711476b2155c5032dc21bf954ab195097d7386287b8ebd49b4eb38ce30b3672184c5e1ec865c0a6fd61a9594da6470f2ad7bf07cca74c1fb78ad4959a5e1ea7b71e8b500bd6a4b5c3da39706590659a7c8ce0b3523e03196e6aa115b8a3bfcd58e5b5b504fa814e155b1c3c02c0bd229485925e7047d95f67f6aa5276d2a0c1641356439b9fa08a0fbb99fe8130f1f7b0a6e8597e8f43d61fc7539d497cff94c2eb85f90074094856a9017c07cc939d6fb511413c897d7c4b4e535f2411d1d7aab934cb1821007d85809b2c6061e329d1630396bd982a14835bdd37203f4030e8455fa06a529170912572bd6961d3c4cc8fbac82405412ac302128f3466626781b5c65e15a1984867fb2d15d6633a264d5409632b541ea59e6e17b5a7009bcfcb988dc98ed1238a51539ecf3400ac67506ca731a731d3736a640f6218be8a5e8837bf6b722ae00cdfa3c024f826c4a43976b959a6fba84f949a4bdc43afdbb474b0548884a04e0499b5e739b5c2804741b471419ac09a07de5b901069b042325ae39518fa8430e0a5978f5054ff6c4040d605c73db00f98968f0760b1ae3565cd66dee121c0299bd41c23ff16017bd35b4c3ba4e9b693559a86d1a838f54744845368cfcdc2ae591a3e93198db75ad8979b434a3a0fd6096cb811d3bda4998f9699998a3c38ccf83918e0c77548b1515be829c78b3a887b9c42cf8aeb084995e5765a55a30af873ebb5c31506ba6a0f632ca68b630f86e71d8cab34459bcf77e04686ddd82b3819256aeb98536c3be4e029e9e123c754660dac74484a663f990289c72a64b1acb23974c31630b23262e27495dfaf051cca501b9a2267c2101a39cafb419255e272af75029a41521a2f48f6029b80acbc1688670f2b16b58d08fcea5a90c791ab2b5c125ca36e71c132b770b612865f3fa1d7e52663c367672b8ccb6791626478b916a3654295bbc7825a7e2ccf60117dcc7bddd2734f5484cd45776ad85681c235e7afcaee82a430097379d9bc721446588c68f8987b3fe834a6ad5b1bc7b1c939a709b949da2994af3a5832fbc3d1d93506848bebfba6d46e91fb1d8413fb6734b60167d783545b79b91cc822cfcbc4dfc0dc6b85a9978501a3372a5d354fdf895b6c1b5a0f3bed494310dd35bcfd017f3c178a88a27f2858ad6e8719e803c70dc4c8b9c1014a30417b34858d6704f811f88bb797f0cabdf057c1df810968370d66a1a65269b8cf40a5c317f4a93209c1005b2722941e26b66c467d92b90dff7809cb9adb2297f92668215a843095276586768af40b11c91975315cde318c4fada432e99abc6a81a213c17bcaaa1fd45abf7820b3526861dc205567a071f394182bb7bdafb767173188d11beedaa0c5b48546d0663e31863fbbb5a2015be15bb547f0639b6a3a240bc9170486315e23a2c845b69086bb1da21142647f13b2afd90691bb2c83f8a211b4c1988c292c3d4268e135c1d83c7f59c2ea4b829afd8bb68319fd293c44672023d3494b5645a7cac99ff3134b9056a1c154b845652e23855a707738190b27a356e7d83bdb6db412ec290e736250832b5abbb5816ac8086672d68c405fb38a4a69824615164df40188b2839a838151354160d6902c1589ac38a5c1b54a18dc11433b7c7a81c4fffd404b9c69f8ec51ec8097ce94755cbb4c92d5b1777a6cc925915d9d066db286fae569a572b2d6193774fd61dcb5958079c917a7705c8515c3876077bb7366d94b81f518810c970c8d5179820714fa916ed2c87cb4c88748b5ca7bc8e0fd71fcdd8abe802376882227007d526f55a05061181855bdc4c0a99fba4d52cb071d1871bfe83f1b4b5b47d79ddaf113c079ffd5f7e3f6625fa5bc21c6b935c0a1f8c51e885d0ff5ae03ff73e02a217659f53d8c47556bf3d8c94040f630d63605e2d0f923579370c
|
||||
Input = 2c5cad5a315cfbc49b07d24d0b3f914c3a11a6defa7674d85c64cec895d6ec8d9da6c4139e93fb24aa999d3ca7a30356110ec7b2358edad650ebc44d318004c665ca607e83035b6cf5cdc45b5b515733d0b7824d9e66360ce7b8e5db0483d2267e1b1393922ccc697cc7f38c6db6529904c189f54fc34599a916e0070a7b8ac846c23a2c5022890689eee3bfde751a267b2a678ef2b8a4ba0e3ab76a867cc65f073d75186b0043fc3b74ce4a1369744838bde631bdfc2505e357c982a168c33e8230e25c973efb076bd3dd304dd300f72e33e055b41334c6cc7e74940d9263b891ba5787066b298e921553f034d87cfe6f439dde90ffb8e10339321a0c6a1e6cbe12845eb231875f922d653408d0dbf49a0793f6e4c4698eed634e109bfd3ea7ef2d0ec243f897cd8b38f9924fae8bd5c5384798e220a21f99e1023d4c85a2b038ca9a249cfe62bb610c34b81b177415841179a7bb32999d8dc915a9f64b25f63141fd62b58885a8abee5cf73b59fed3596284dcbd0beb860e68eb4ec166c2cfffdca98ae26b49af4075d362bac9ffb7f96556ea6840a04b750a9052e787c8518beea3b522c0ce103188128c5a4e15788420b5e9ceaf35a2624baf833392fd486ab0efbeb8f454a4b5e9944e90349e8b8af636a1be330653da8a8de4c7b5b64ae41129140c6c585f8ff93dec170fecbbfaa804da7f26e8c79842f729cfff34c4bb9584f9e9830d6846c8e77b908f7733819230fbc29ddbb3aed8cfc9be391a4e51b8aec51954bfb7ca4c6182dff24ed6a283bf5fbc0eacf76fc409a99e92e239bf7a2334ba704fb6f264b705b8f493614e9042d4ca610e2d61110922fb44647525314a009f86147d1ba06a5009455705a3454417dfc7e29b3128519ea1befc9de423e9fe67337719f6182f1cdb207d251c5bf7e8857812746c812a2c76b8d46e48d9ece8169ddfdb8223b16bc8a91b556060b6c589445efae92b9dd3605c6db9080a12a339259874be7c2b32f7baabc3d8464a2f22d1ce74db1af54286c742e33677f99ecbeb4734c16b7adbc4704c40714aaf199e65f49b1f1be1a14cff6fed
|
||||
Output = 8665fc425446f176436ce8b168862f5357df35b10bdc40009156ef5c1c29eb3a
|
||||
|
||||
# Official test vector 75, seed: "8e2995f1b3e43853b18916bb1212aceb05898e2b177a87abeb928ad7184e59695c56b2cccf5db80853c28a525e327d13"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = cf976b3ed844ce917d5d758ac5f4163cc10826e5419c56a7148ac79ba5ccb4133b8e5a76457392a10264e3449286d931ffec0475eb3e1155a2f6d47735e8c026c5c567f21f4ef87dc50668c0dc66aba623d5141b83b0bb58ca54e6f21abb720871f3bda65a0c9e56205d437dbf0930261620936c1993525afe458affb742bf398238e9033dc653709ab9ca6213cc7b37bdeaa24624affddc97c553aefaf0ab76b3191031aa4b97adef6961275938605aa9a2539d3130cd5862b02fe754c62846c7dc942f181cc5f8b047f7acb11c6a66a31d8eec9eace82cb447881d437d0192c445972bacd8533f474fd0b376c89131259971e7334f382c0b0e9897a06ab677bb076d2b80bcc77caf726717b4abc7a7792779b7b1777483b97dc2019ed9d3685ac87ea0981eebfc56b4503cb58490154a0e3ddc89c0645791644ceab914688ca0ad62009c4368618ac3d91306ea279f58672aaab96a7be7448f98b69df581482ac98458540ddc111d1ca937ebba7c84abcd25cf06654bb7e2ce51c96225e98ab2409831fcb00f6a25f4f74611ea17f980ab856245ced650435b31bc7674de931e00fb1cbf316f09ca47ca2acfc7ab8aa3526aa782448f3b2cd029b2889b8587072ce3373889ab65b7dbb334b702b85533d7833328da6763415886935531e90793b5cbcff42210eb701ef322fdb1520cab20b4fc1cfbb824602cb84ef52a3dc31c55168fbcfb47014ba9de68c73e98b18db1af5e3971b231a79967229a998199973de138b2310bb6bf88141d826c88f247a4718c5d0cba13c7a2f6781941d46daa6a08ac671884b9c2c97b988608c667f282744c9192174f48638790e49fe7a1b1727b40e0c2390ca33cd1869d88864aa4e13c701442e4d2cc3ad98b68946bebd52f5452640a9a3c005624b1e785fcb979bfa1621b1c50064980be0953509aa2a91673a1c9152da53e902c036abc3d3d900f517172cc9aae288320d9ccc7ea0125edb2adbbfa8d958515ebd7b3c9744b6de43e4e3c32f6152817ca96db823cea17b04f258f2c410b982b5b200781a6e3219e34994ee220772795876a03602415940c784d812e7abb5e2b79900b6787fbd4082553326cb08c333895b123445c93ca3d693d3e3c3943144acbbc3b9b773882c234d5128c4a4a657eb39d29273d22537ccd747de0e6886f9c0744a41eb47247d33c7209270bc5f27a7124b9b2129eec49c0256859c2a7280c0a2db1329e1fd16c9deb6b71e66542c42e88fb1708989436f2bb17b3551e49607bc969b0584b61271a29233636633559a72cb7bb3dfbf3cc602606932b7b9f39a429a199f953a807ab20cfd0b1e9296d4f68b431474aa4164cce291d57723ae4c74dda19a3870ad0db57c6af82aebfcbb3b182a245b9917858291a986f99691afab6c9b7ecbb1601a7d79b754bc729cef96bb797b06a84beaf533359420096f526b4429a11f4cf46e2383441c1bfa59382415d3be23bab51ae8d172c1411b6d4313b466a08acf408c1f0bb69404ddde100c8c851c6ca57892a7af3665c01389a4a2c994af2019b26c92773c2c4273b0ce83ed68b1fc953168df7a4f5aa35ba5293e3fc202a9960954833a76852a3ea7666435afd8c4234c38edc736737a1b201f9a669fb6518259512d622a2316a3f176c78358515a40e0aa12f6590c3ec8bcd8e41bea6908b59ea0bbd0730b10652179c6a6d946d948b3d04429b5a3058a12993c715b000cb1948c50c68a9a411c4a92c6738cb27c9cfd6ae101ba2dea41631fc33a542ccefb1564da62d68b34cffb6250f17552d42a7acdb574bd278fc1ccd3612b1c54ca8b6b9956c81606c7ac6d4479e831253b619288cd43550e3b0c020024dd2563d92b4245504f7334cb9116627b3ad1e659364d99b288c5d2ca500c9937d5873bce7264ae189919f11833c189a6857103cd9cb1f40826d242054511916aba3407a964ee70399f59fb0accd94c05417023748598095109e7c3c85c66050c10b40c23644fdc4060f39cda3b246e0e48d860611f0a3adc6d41401215bd4fb93f9518ebda2bbd59c98d44a74d1e669cb2a89fbba959dc984902513d636971cf2a5a0808b6ff00de33b97b0b6119b0a4003b2414e5c779538b619303b09c0859d27c7e00182df0ac908b412ded96acee12dbe9b21cc2872dec32bead3de6243d3e746eb7b9b2dcea0e0f8ac75c3e11f0bac5d16552ac8b64e47ace9bcd950e9927b11007b6de8cfa665def178c2802ccabad0015f9f684fb055ece19459eb464e91e126a7a6e3ed11ccee0046da234d964c985110
|
||||
Input = 42abe04a49bd6282b0e43bea55b28cef9f8d3f92ae2dcade1c945b276c8036377837d702d0afcbee90f69deccc5dabd199e8d4a904efd69cd1046c9994705a1da9b30fbde2fc79b0fcd1dd1565253f89197cbf03b597bdd9fb6ffb4c5f149c90a8d177afc8904c5d62286fccf6a1fd7d064222fef3040133a26c574e5b2d8ab2148efad2c2ee5b8a29716641db02fac46a31357bb9b180c1e768319384cc3696f541d62c2024771c0c6856b06ffbd43afd6e41d29acb723c44774f5a99d43814552481f9fc0bb7f7b88705eec8a8ba37f3817e2c5dca7015f1573dc4ae275186690c0d35ea519495914844816581cb1bb87f84af3738cebb1a655b09bb16a53d6940248ef35f2a329f554dcac939cb3bf82865b61f259372fefe4fafafed0b6003ce7f98d3df891794d72176d66686bb6150ae4c65c9a375a5bed9a20efd1a6325a053289625e01bd21f72ea0786092dbfcc1aadd3f35fd935f1f9123aecbb704e18a6c8525215f23b7f6e6c75903b627ee8c9866aafe99d187f542c2a274e90bc0452c29e18004606486574e29c56e245428cbcd11127cd0df26534b4f4436a682fb4d6c2b26cab1114ff308f84b1ffa81dac5b94b821ebd26b8eeedc5b40e3ca3b453dc65cf3c6ec9b9a9ebfa470d01d4142289f3eee177bec8ac6be8c3a3c65dcb17463ddd94b9e610315dcfdb737e48c8084b7c45d0af3105afaa457206841653df8381716944c00988905e3b7b5313f475b557cae922015389a460c62e5a15eb05362c25f5f380b09af43cf87f8c580a6320e028f753353a575a6053f2468baedacef01ce070d9c6103589c18bf4f1cf922b55824e33653b74121cca56e4823db37d02efbf4552c8f9f31a2e9e3df577bf874186d24b437eb5349f5af46454f988ada5ccdbf1c781bf2193da71330521087fdd2e09597ae16299a6614a193770afc62ba891af754eead7b0473239c6ec59238fd08615b42bb2d787f0d766f3cb72e3dba56e17dd92c08039bad23ff21812fdd85c3db5135c599ba714f90f93df6db5458d4880be4eb09f31f55eb835412b29c50770afbaf9710d9750970
|
||||
Output = 3aff110a6728373d6dbb5fa2ab0a67c1030adefc1b78c7fbbc3e72d5c58a6c17
|
||||
|
||||
# Official test vector 76, seed: "9218943c51fd2de47e509aac67eff176795102f37d7a2017e3afd768fcda7877af38739b00fcdf227c2fd62eb635942c"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 1e40022a5b247c9498cb29a0fa477190a858c3462b4c00350df02c617028a92c7bb3104008b9367ef02dea4578c9ac4ac37bab4c81b9cef136fa442b842bbc31313f47a1961e454be3c694358598e32ab6bb30b6e345ca4eac3dd174320166481d43c3e35a8f53aa9a31491feee7c73c08a97ac3c114b3592151203bb7455921c7b2d8ba98013cf3f0896f251b86824a379776bf1a31e8f9611ad13e9e1b43f7b10e10ebc22eb33d4772b36b085057e74c61589a72f38acfc106c6321e44a1701464b2de32cabcf4a3b6d06b707b6c8c365abf1984d599cc2c745e8227909a0c0319f7692d7869e25a6231d43227fb4c311b55934b2924cbc4edd5b2c656450b46cf27936294d8c1509b8c8514114910a4c86566615882f7f2363c26604c4819a0223430db486cb446aae574f253aad2a01a6a453581249c3bc805913c8b39db503d8254a6975b6a1548da171260253979664f42c90f42135360a54f53d53238d2619a577681a847f41a7990e52aa54a0f702a1d7a03cf35572447fa3c30ec2ac58029e2669783bc1aa51c3bf99bc5e16ac31dc94d4980b0c15771c06298a146ca9087032c51453f5c8070b864ecda237a21b90b9a1d89f7ab40e342a70c6b8319c2bc2a412a92595fb2a46cd71efa917f7c078e01b8b45346498c389d3a51619e95c8ade2a170f5c07e49ab83d2ae146cb7bdd690e00c6af3cb0dad9c26583b4de770afcac1389ee9cd00a399e9c22c3e514954ba34f50212027a06e0874f40f7ba7ff6913695c2c28b4d92d8a34d92c420d9171228304342abd9828358b896b5c77ce11a06b0840c8804174f2980e7fb6016f3581dd7521df6a6e0cb156144722a3709e8a603e588a1e5326593aa35a6ac749fa253c077cd09b4a54f1b2d63b2afa49a3c86493e5a7c03db6b68a366637b76144b8c0cde2c3ccf6a125c08c39854775b7112c8a61dc8d1142536b8f1a34961061c222b2bb2e8ad51ecc2d6e61716da38aa116f9803c464125539f34b8a173639852602349157520fa9d066cbe74ca56972fc606159878ad450689f71c7b682ad8c2a53e4ab931cab2c03aa459b32475ef68a9353cb99a53f7dc3810c9a3d0c2279d0b05b29d940c915abcbd646629c340af580b4dcb0d1d360411b2ddc35aa2d796052bb94b8243f365141aac04b5a8236cfb884b49603aa9a31dc0405efcb96a9903327e4ad658352e9c4829a775173daba8de83977b531d3291bc24036a913ac48b72fcb6a4687b32a316936cb957957c09277231745348b9bb6a029ab5701a0b5d15264061aa7b33b43cc75ba0c81b49e731b420681643cacd6769113e899066709022264d14262062ab1ecb5060d4c7d341a92978820b6ac727353974b12b181f2a6b4b53b2a098897b1957cda3764052bb6cb85d6a6a312e8a97b267c3883535cb3bd0587566b88390ba2140d256236c5174e7836f162c72934a34c38477200afa3f061e7d78eafc95f6bd7acc70ca5adf42eae090bb32b5cd4a9be85d5c4bc09b58aa83407f697a2334f7cb6953898b7c1a5a08e8ac4d55600135b8d63e89bb0e74c2b3844bca24e5cd449a6443fad115ca243cff41a15f44a26bd723ae574b619727fbd11aee030150d65ad0aeaa41c43a75f2b4a2fa74c24253ad1638762a834fd01690cd43c402c4712b6b0550a602738abcae9812b3069b840aa869b06fb9873321538c4b384d623bf44bcbc90a6a7cf6abff47282e6f664b6c77055480fbe4435236240a514124445229257b527f81fa8669bb929535a8b8cb60a3ba8849bb13cc63a78b535b2c3ef1268c8bb05f0eac43af2807e4790ab196dab247afc85b17f639212a2636ca437d80b3b8f94cfcc718037507e211295da75a4e7613b77876780ec2ef7eb7a6bc813b110a57df72532bb72dfc99680974a33f8c834c952cafb374e62442a4acdb58aab609c6696240c697969d5189dd6e994ca71c21cf59a31753917305a6c07c721c826b680a290f31a1381934d0b9a3a056e7db17a34819e24b8bd4fb4680cd8ac7df0c5d7684acd9c12c21458d20254a028b64219a41b0383f94519e0426a556c66fd767fc5756765aa104b102735f9526fd403ef1663d20aa0b36423d0f9799d27524518c6c26495804c56d01c20841619ed0a29b0a1b921273ff3f7887b5d78c3bcb203113af8c45725d931bd947ae69436c56b909da260ccb9c7f5da1065414e7a040c3dc4163626f3d589ce9934d1687dad9363fc7fe0f29df31ceff03a8abb0a5010f400ae5722a75bdf5a2f6d5b546b34d73857cb1bfc7e587aa7
|
||||
Input = 2897872465061538017e459a45d33909a69c405518a7a27b19d3dcb347962c2f4b637caa98b9ef06a61b33c5040e5d6a66f23fdfda1321bcb0a08c86c502a0425aee7390319c5cfd30cc8c33519f1ef9bfdbb4b76051533de2baa78e05f1dcc59a1e0cae8264ee05171a3d58700403e3e3ad049e4f4f47ec1dab39e9752c07d3992089d727b8e476a760fb7f5a8d55b129f324063ee611cec85b79cb7531bd8fa7c12491a67611d6b70fe95d80ae37faab108d460b86f4bb32419f64d1a614ffa6c1a444f26b11837571ecada687bce53c3f15440d72934e8bd80e3fde06e908ab2d77211ed3853b09065ec7b939662eb0941c10e021bab0cb655afcbd5503426167fafa95c52e9c0fc087f5d547676cd72673006a10738d45345e8cba225cb9847da23a8bf62c420d118f2bd981de6f3b42303949fc615496840f4c2ab775d2cc2fe744d4b7c7aa2f66d9f7525cd864c8e9e709e2f3d90fcc95443898097e5febae0eafbb0823939bbb80313e730fe9aa54cc02799e4c72ca544aa6521c60c82d1a4d8be0c0e4903c9575e3f57860b3157bd2b5ad0318eae3150d4ac2b28111a20258c7bf3e263796c1f452ccb741b5bc77d1d055c1b426c8eb07c5fb62ca14e5def529b16eb5955ccd3137723ed26a45e10cd297a4e2de5f5899198f92141123e6960aca093ddd89886befe14a5cde442595bcc93e30549d8446d38e8fc0d581fcc4232afd86493026750883066484266a2258cbfab365db900ba9eb0651e6be4fc1572967552814156e782a118aa04dd37f0e00ded41617326dd9935e217cb64038ac423df75e7ed6cbe9e117ec64d970f46002dbc6cb693c259e19d4b9b73973e1195c62d37e954fb0bb37084aff751251a8da6ef918ecf9a07f00d58bccb53c11e1ad99ccb4b8e9a5e417c69a80eeef2504f43b99bafd11f8ded7378211b8b3ef3056d0ee4b53ed561f615e83b6c9c027eeb02ddaa49f9fc5bdaeb21c2b768b626c67c676dd1f4f64cc960ad5a22b0a5b2fb9e57af12c39d2dd81cf2105818ea7f6c2ffc2a583ba9891d5ae9c2ec2a5f100a2d1ab99a267371bc4c9f979
|
||||
Output = da50f540be5c16fae6f864fa5ce3118d327efc33609a9af8a10f8c48928aebdb
|
||||
|
||||
# Official test vector 77, seed: "542e20078add5296050af150360f057f6b9ab3ba835589dd56987de805f900b906505b5390a0d86cba28038992dfc59a"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = beab6980148c96040539453087e0b52e0049cd820cbc01be4b86a78b24c217795c69738fa03a08ec42cc44900069aa9317237dbe2b1efc0ac0fb5958e7cb5330a0c29ac82528148ef37191f2f4cd41e008b2b7512f50cb1a83ac49b1b2140234cd5b8ca7323320222b18854ba4b59f91ac926c2476f9783585895f414a0ffc3233ed546b1542199554b78d69c812ca20a3d07dcb829907557622622d4207548351034091b9d4c9845a341ea3906b1868b9b16b8dac023d95502ebfd85c8b4cc19e00560a2c53617a27af993bd73269214508c3c18d7adc4353c99a0a513baf36c71b72a0bbc30b8126bfcffc3ab6fcb3bd7745a550cf6c82b1ae455250647ae01b121b10233450b4759b56f265a35c118ed80c6b98c6a9e2c8470a969830a7380c2b328953a71c9a1bc3f592ff5ca4a89c85a167c850328ff291ab74a03c3451227b829137f731f0958ed2d03d614a258cf1161669443812227060262ff4a793c7c738d1784794605ef6228ad5c4d524b8a6d04bd3cb0099b49faa64339e3b108cd9541b11390819b6ac52b5a2acc57f86b7c0405102a407d5713dc53b6e032956acc48a070643a3b866f6284a27319cdd5150f4073f8b4a914d0b2b4edc30ed1423f17c4c59a034ad725ab2bb1bb2f72dc266357246531b641c9110b3ea092c848b8555793ebba9528a80b5fff94143aabb8139b537d340cab72b3f6c1a939402a0b291f77cbff5b6826e3b75acf87f1c62071b19c6fe2829aa0705307445db0aba743066437abc8f16ad9d36be3d13433fd1b0c961678564c7dac24fbf46cbece9075b6b23b836cd37d2a0724708b992505dba8945b4aafd95bfd74326e1bccb8217ad50649b14926237117e6bf4ccc00435b46c80804357b074761daa406960516cd51bf04856f55176f5a823e2b76f0e66909138ac7d89ac376564a4692a5846cd926072f9725ad461cd36ea876430609472a436b549446100bed58ef9624165a6b597e33dc0f97aa6f56daad5c866ec1f58413ff7b157eac8424ed07f7e58b14fb26cdbc728fd116ccbcb6611d2c64b60b64e197e7bb2339afcc31573907528ca7a216ba9577865bc7680701c093984d278159e7935033669e019c982f75370d101fd41400ae1aa4e848f60644300001de180b6aee4903fa48cf5f6b51df9a85dd5353cc8325a3c9647cb1cf324ba18e7aab4385e26c6b4c59733d13bcfbf9abfb85c8ebdf83768042a79420d05021f2140172b019990eb0091f06ad3a61ab487b8dffa070e77654840ac4ef0b4bb4528d7775bcfd09ad0ea6e35c4c0b3367d7b2b7471b2840dd24ac2f9b3477646ec871eb178a3a7f09b786b925b62215da230f5c7c6a73957d873a85b8ab4e4d4c8e16403aa917ff8ec5ad51c4879f94a068244a9198024cb8739e3379c980b4471a671198819f7cf6bdca1667054979288c83c6ef5ca2467e031fea23fa395c6c6bc561a7735a92b3c3f63118ba562f7fb970295c5837a1db60138b4195e43182060121363c25e8ea71f70b246a599bc71f51f598cbb79d54da5f509b07930b4590c88a149fc3677f861285b34a6e281704268a5cfbcabb08645b429c1752aba652032b676c73a5221f24518fe37c265d78b526c8b4ad35bd72c754e2a97a7c31012171c66c40e40fb727cc7503d05895e63cc94030413242f62c74fa0114a1d8b899aeb0a9f000f1da551e078c2a100afa820692ed5aa0d73281f2681454a155c907e5a41ac23b2cba2660fc436300505813ed075bee129205a590f7020d1f72d3683a78eca8678694a52f15125b1a5d458af66a25aeb9c39d2f3aef94cccb7f870a40810bf051c27725c32793045842de425855d00bdc11a2b26ca6e489257b8693666640430788d9e518b32785c67c3c20f0ab675d925230b8a35d5c0d81658cf911dede65f1da351c49a6df4aa50dc06c7fae86765933d785275767875bfd06a916795b3119739fc91b9854d527ca873563fe788045fb0cd6d420419a7b94fc4cadee62176f16f40073c0ab90df77450dd63671bcb891d129b119a7c22548a8751a4f5dcade6f828c1156ffc096340f90595281ad356132156a395d5028d7894258c56a8cb78772323c376c03eac70ef481dcb01a284207cd1a34eda90229f3040e4953a4c9110d9766fc4aa1496dcad78c02a314ca9d223b4e684413a86b1788174b97b132fb38041cf8fa945133970ebf50f015c58571928cca31d603f0a84b2698e6beb36b378867824d88ca59b3bd23b49a95bc1fad20070fec930b6060bd827d742b077092e422268e15d
|
||||
Input = 816078db9da77613c1a246d1d78d03eb73cc97fa35954e4a9ddaa7ce4e9f7f4132ab3ce526bb59842396b52b985e9b1ab8f67f3b0ae28501d079e0604b3db3f61bd59005f6e56f9c56d9888aa4217912e05762c2db43c6434eabb38b746ab721913c69dbf1dc371e1c2580c4a1f6aeb2517f2a878604eda4b04c8e769283b13c0348ef11cc5f0a7c2eae308a53aaec5e0e568238021679d16cb978cd3ad7271bcc7f8f6ad84e00d8ad2d30c72ba7c9e82c0071707e50aec5ab75e4bc3067626f37a76539cd922a83f17468c528265856ec527ff3248f73f6fbbb02cd747eecd8edb558ee7cc64524cdf159d29d67c3ce5835182936737be2d4d2bf50af63f4cd2ca285bb737fd7b00cd05104a36789ec6e841e48d4f145554a0bcc8abff6c87deec0f23819d385583a2aaa16e6873ddd171ab367c1d4eaf7fac07eb801aa4ee32b9c0a8cb0a31a5796e01e5be18cfb26db85d0081a818936abf934cfc189e612694be20924a144b5f260218ae920d64a1a2caa599324b3d28b9632daa6971f80ca8158f141374a8aed32ce31b834411094dc5289c5775eb2fbff32fb0ee21fcf43186194631e4b69798ec84dd84b9f36ef883bf3eafacf754d785ce152b4f1def77a308adaf2ad9bfc0e0c02ccc8d32968c8a1c9f51883c29ec597f776a39c807821393d1b0e30c851b393d497a132d665acc17926da6c3181cfe3a51c80632c848ed7d2c90a179e0c1d5d6bc740594d79f35c0a220cd1090f4e90f7e1e80c5c38b549eb8d50fdc8025ace7f8461756702cdeed3b6d4a8281ad389895ab5092b913579862b495d7583bc0cf9acf48b30e8308e07181e65ca4f1887b8daed888972b5439110bf7385d863fa3cd23214eefd0f1b6ea76656f65d3c9867d2816662221ba71b773a2d52a4c09013d0f3de2b16625d696b5bb1c72a63f1cff3ff3815d93eb2cf18e2ef356432248b20db177db2991731397229127042625c677b3ee74dfe72766f7f13236d3c79d426e7a647c3bda233eea411afebafd577923d3eb7e3ef04707e79e4525eaeef5d0a7ecbb394a58676454a075dce0837328a5367fd
|
||||
Output = f295340ea250a6a1baeb199ea745ebe5585578d07cd8f579dfe5cbb75f852d9f
|
||||
|
||||
# Official test vector 78, seed: "6a85a61dd08c0733fcbc158abb49fe0b0d96a50dcca140a2e9f5a254f1901985844613b1c656c0cb0112620591b88ad0"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 1aa953c198ad1d9b9bd255b3f0f3adc195077704145702b57ea6358465a65c919e2455615d375e651522f4c13a70372478b3960ec626d3486d9fb32bf0323b83d06291706a13aa324f3b7bfd134da6aa3175a511ed83cf0cdc126af55e6cb5bffda124e6880d42ec0950929e36f06f05282033229dd1fc1d73c100c676678925092f512a03f53b42513e1d47349510caed1749237491b3397b95817fecca6f9bc6a9a4d474968b17b5a5b43f45bb3aca8a053ac83ee5b5ea78bd838077d603728d2866f9eb1fa8465d3195b8d1855e0b30b856c558a344b361a191b7851600ba10bdc73c9f79812fcb49db3cc4867083cc9819fa76b6b8023dcfb0a8c1103049856cd3c9ac4ec64bcaeb1a2ebb706b6a6c8e227e32c1cdfab09e2499074fd22d77a3c6435cc64b4a07f1e96eff53b414490196525e67cc406a52ab0cfc30a98159f52a860bba0b79c21373c06c0829990d1991ed37cb051a48e611280b802ce838cfd8205598b90e71f8aa3e26133a7b36eb67b011ec2e75a3c1e6f2583d6ab3d4db580dc688799a0591a9872fba5b6b347a93d71c384245b3db98b54769f3385df826505e4c6f30cc8bcc781c1dc29acc985a6c3cb6a21ba4e5da064eabb0ae18bcb2479d52f73604c60d5794777330be2e004e02988a995a487cd17d172c69f576c0dde842f552147096906ba76f0e9bc468db26a8199bf836300d8a5b1dc37f60aab597acbf796b8ae9274d5d1560b0204e20267fdb759469fa4ffdf933ad016b39565d17ba6bf7d38586c413eb8c1bfc1c136bb082fa3c0ac3f832d0018892532d7aeb67ce03168de311fa894c544a29df710d5b5b1cce13b5809701bf0b0c7197c77bc04cc041060be618a9621386a34d581b8126c7c58d526fe6a89a3ab71d73962974f76d73fa57801ac0e226a576930e2ed10378557692226e69370434d4b7ad7c3c1df82079cc43d686177d554d3cdb1c1b6092391489f827bf5e367ea4e8c1f9fa895472246448561c8a53128660b8e450d308725b259c977ca49b5879fae57aaf96a031a265f61b856ffab58d9681de054007b641319c3fb694588b15b86783cbe89aae934427c836443b283029b78029c09764301f378c68adc6325a418e84e452e8e448870414e08b2295eb162277530f4106133c5457c3950583744d445e5a2007f0284fa8d0b1ac5809f265610eaa3d32bc64e59c46df823ee021bf00f4370f046416463f8569636558ad0de17d06f62015319cf47b38b3245ea87a03eacb82284b018fe893c1c428f12721bf2420ba81865b36b5c7e28a09e95a83d5384563681fd14f3cd87813b15f06ea99a1707caa13b96948102733646c235d418a514bb1ca5f996774e21f63930c8e63a698d07e478c17e46161a61444a40887e8a716b3e596ba657f8d016e831c4167bb370f44bc747b05555c6e93e81ef550847642607d3827ed6553501426b0751c3aa2540e4b2da403b0a599145e21c70f411beff0afde3a8f27cc2cdef6c6b8aa498c0186d57253b6ab07d6f94e1cd6734c9c1b5a123f45a36aa76a38748544b40370271c49fa8617bb3168ff0a22c7629b71a809c5b60d222741396b2558fa2699c55ece81b3b4c09e6e07a20a98ab5915577e44b49c8191756c46216bb412872f10ec035229996007b5b7cc9d69e0a5b959b61e2a5e93c2ac8b15ad951cac1bd4bf72ac4d0e80533a86310a30561fdb8a8667b84c6b7f2d4345ea9b90c1f777805424a6aa80e638b5450c88c4a24545cc8ace2a4965443573748b5ee235fab1b42798bdde0a2551b6ccd8633f3d6a86053bc7004cb29855ce4c83b15a433c8872b07dfc6352011d83da1929b41087ecbb6e785b74239a3ee0a393c02de9eb90239c904ce5567ad44cadb31bb7e15b668c6761e86fb68abd09826690e1687d851b00827697687a66c35e0ea90acbf802e3046bdab76a18dc5ccb09490de8ad0f6061ade28e08e3bf01b7606729445367511825b919659c3966afdc5088b5a859c417a5d1f7a2f6fccf2e6886c1626077d7242773521c29aba99b5c1da069c90343536cb11642c9a0e60be7bb7c5d688577c95c25c3c760a3314ac98fb8d067c294b57dc365609019587b8fbfab9ee9d0705d83358fd34f0fd99472d15641db12d6f7ab75075efc4028dcab1b1a0f9eeb2268b8c37d927f661f692433899eaec651c443e29b6e103a793107d951d50a091fdc9e324eacb8c5582044e0e16efb18341492977e616c7f1f952c21e99c0e7b82be89bc3c1eaee6680aa4efd394e40c2b3f30523c8117f7c26a8969
|
||||
Input = d55f43940057c1bad9a01057390ba8f8b1f7068f6b0bdcc216bb40012de3e4926e816c242eba4bf148905c8bcee89155a345e1c7c5258c45a0194e26ab2f41ad5da10056ba6cf4ec421ea2d25e18dc62b51e4626c301a375876c74bb1dae38a36645de2654307692053e9c10b1228444b4efdbce8e988d087139bfd878b297546ca951b56cacfb050fcc2c8cf34e116d4490548ab08796546855ec37a39631625887a9ad0d8b56ff62957fc11c8a7cf6b92b248db136997d748f237fb63f453323d3bb0dc25f4f8f9ed1d42e18f7769f2350b8c995eefd59848db50df1bf3ba914a439484101f21471eec998f75155b82181fa073cc6a554cda8f8f6545398126079cda77cb0d86e7829642dbeb74f697e683e3a44a824b3ed5c31d40ee9745d7253e88e09695d1fea3e78c3e12856e9c6ee5146e73ce39f960dd7531901391ab77f41fb82618598fc4bca11b5f2d6b5057d3ef271acd8142b0ad941b679122d7b1d48926d6ef6ffe3aecbc3401da14725e9587e124fbf8271ff2cabfa2322ff2315be2bedc972436c2a9351f6b09240a4abeef4d2072bec06ff0c4d7510c74bc559ed71fa4c4566132555f3f0f6a98c3f31b2390b5243f04553e07672de1fc36c59713970c5f4a751f6502262254a412b72ec4d04537bdb386b4ba8bd8d9cf9e01551c8436e51f217173ef3a6e0653c2c241ae8b222274c8c8aed183b4d028bdcc3492328efbbfa82d2e0c110c7fdc0dfe41db8b16d2c47b20cea1d99584e3d9797709ba70c8e5a14c253bb086b03b78574d988c8bac3e60f7da4462bfeb30687926845fa5f47f2396b1cf55452fe2f5bf96c38b5149d6d071bb4ef1fd009677e61d6cbb8b076b694160a97e3595d1243142b64a99d032bd5293c8d2ad06c4ad387f60e9d00a35344735b91592f2ffa540bcf16836276a2ef3b3bfbb29c82fdae5f0661c67bdb420f909d65f7d831ed8b12fd4232bf5912792ae3b3b1c428d6357799fec72a3732758373d287f546878150cd98899384cc52a47bfef7c43ff17fda4f5ace820276ee6e55407df56a46e4c41dfaa6f7d45aef35153d02160f90
|
||||
Output = 2de1d0b40d434d5266402b7b59baa358ef79a03d4c8156bde44b404a7f686e75
|
||||
|
||||
# Official test vector 79, seed: "7f4a56eda151e7b097cfb8ef980440fff707affba91867c89522ced6c5ff3bd7f5f00bb49ddd615d9361a7e4efa42851"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 67d1bf47cc8f066aaf73925132436f3a57a8fba6cee2c235b03310ff8b6fadf6acffa9cbb8693a4c0b4e516a1e3afb44dc307010406c453566c0b7c3b0710bbf3618a5e5663a62888de010a5a4634d8a48aa592a975c4a53dcb9a9046c9b8bc7bce1a5c354bfe1d972f8266bc50740366823510305a417b943166c05e05d83bc8d1e8ba5315b7857cc90fdd1a1a9488c5dfb7e8836499cf4b2045773149a08ca3c9aa4c91ae52a8fef6236f9607d96234f81fcc2c36428336a33bda459f6892cfef85a9171c3afa977cc111662d3b829e9657e124399705bbfa97d3481624766b36da1b239f424783b86e8cc0c4ba74fb9a39dfe37647c84368f99b34db42a72c84cffc9c856f3a0e5c993be8b122e2c4bb57a5819c9586568777293ad9fa33131a50717ecc868ba836ee4c930811ced6941df31bf4f4739e924c2e156b3573710882cb5abb24841d469dee7c5f7b777088656ec809b553a97fe258fbec04e2977c66e7933d945bdb619194845c359082f99b60ec581823905646935671f379e14bb1e0b0154e080ab92a36df7028c0fecadd5525135eb2cc314acc56565bcd1a71ca4569aa27c86d1c90fb60479c713b2c7c7ded9a7c0f090bc0b4e0eaa11b7904ead876d89e22a7d3788e35c4c357978e066c2c286ada4186012e51065a92db01473f4c4bd58435bbaf0316315634d3b75b049c7aafa0bf5a6885d106ff7f81b9eb8a13b2ca6fe784ffd58c77ba8a191fc841ae996f4758457899227dc92a80ab1a071c170b473b873b324080ca5f83d256499ec33665fa963abdcadd9c717dc27192a2a5c7a3857b1a87862608ad9e37509246d2af9129e42399654125e835c584ba15146b20a59704dd274a15c374dbbb89a05c72af43778c3a3c1582d1298bb3ce92580e898f1d392c8a535b340baacec73f2303454c69c3bd4448be95c413a58d404664af4bb5133280af8568039b7c82535107715f67a8e0fb716c3f3a09d52ba90a9237b29b6b0382c584007e3a87f21c9b388248a5ea439c225319d7a74cfe20c0d034290c4ae80bb4a80735c9a65753577ce3089819d3ba33516a4214bb7595045d078b1acf223eca143a994867f9734831b7c228651bfbacf7fd00184b3265dfcc9d99564f470c5276b060c646adad78fdb67188847a1ac779a53dac6956837a73b34f6f4c5c447350a57843ff66bd7b79f8a27490c1261ce709fc8c70e712b925e176854a252b7eb00b57811e9797e1f2bc7b21b4bbe588604b76b2278989ce80c50a2337e1cb48c695da49592041b8176271b60726a5e217ce6620ea6cc968ff7bf75f79c827254f05265564034bd6b6ccaf1351a953d0d429a41226ba1f49ea1abc6c1a38968b398b47ccd71f13aa43b28cdf7106cf3005919b6198799f0e991042aac3d4b882c99aa1749b431742063207525b56024cc175d09619cccbabdf4a91ab4a252191be8c0b96ac930df173bba1aad7c18bfaa773409a22ac5313062106664701a1f4c01247246a718b77a6c4ef9f2196477733289b0ded47bfd965da019be2c43a2ec8639be69393de9aba4f0a71a3c2a2b626306caa7f7d77e2e51ad0c11cced89aad9da2723480e9ce69f7095252ae1929430319a7697fd2406b36c413d387a812373a84c12790c63492132514c14698aa233512d82db4cc25806ba5385bd73259e5bbb7d703885cc7993cb4bee9ca10d6c88def97a3d044ba1e64b2cf01726aa15e7e7c2a36b41b3f68895fb461e43a5bd941f514558c80347a7d3713795a687733621b5191c870f007c04177796b39a3e082c4d95347eaf90332fec68ce8880718abaff4291f0084b15f435e2e36ddbdac57649a3e39b0e12153a24fa0c45ea23c82018de186cefeb25e47a865863450eb58b8f22275de50ec96a783751aa331434541c0f5c8113df97879166385a0439fe2252bac332eed061084b19362259d1c4449250721e263b827892b98345f2316004513ad94566608b57f80891da4727034176c3642dbab42bf20b9d4770681a68ab915a643ed183d2db017b7a1044b99f9694a1158304b00b0f48db2db147778cb7bfcd1443aa3008ea372be8b01e6c6b2b3b6a7aafe524a2aa3178e06d745975bb97b39cab05722c7ee9d832cd54124aa39be212915c08b833ec49f3d15b55c060c0b3b33a1330ec0167996c7251aa41656def0f198ed3a3526d4ebf5bc18a0c336e7c2180244cb10082ffbbb0a494d5a9979595e55054ba2c9b3cd4d2710e90db9c35d165453e5fcdc6f9df64526d9de698f2bd3e6bac6c7fdd86601b9ba5f4a5
|
||||
Input = 2b98ec2077bab2f0f532d1a2f60a6477ebc75343df34ec2ebbbc6b1b5ed440d771865a19e01239a3d03fced83014d216533a91439327623b35291bde4f02be6715d72756cb9de92206fb66ad5fe8ec20cc54869e1f9c5354093a23da60dd6943eb7f63ae5f4de4770e0f483e49cbcacf31eb313554881870d26b11d7dacbb66e58818a42b99b053cc2f320414c9738ab5e5e39832386b926b12a77ccfefd4cd3b9586df7c3cc0f22c0faa760141d964255c2c9b65e68b62460134c6a7544911c6677bd13a7b8857364d92332ba9e3619603401962d365b9bcfb29cd6d45a7a3ad91282d2881532390cdfa07f5b4cde2342cb4a506a26e4e247f667dcfea7b70395b2f9bc312a6c565f0b75e8d7f6d7afa150c7a23863569d2e95aea90a69dc6c26610bf44ce0153a59c488425f66a50422927d4e3fb4694cfe5eebfdd3b0a95afda02cea67077ae09b4dd4935e9293011956e014f288463783a3fcb5d2329fa932ef2bc4a32dff73688cb8c25deb95b19794e715d0aefa04cd6382cbfa6eff4f8829fdd660bce7a319dbef7d0bb92b2c76164167e82c43656f4fa62bebc6fb343b1cbc2aa7b3ccf813323ff8685471469c65781626346af6e31831e216ac0b7db7f8438d0198d05d90ed8cdaec2564eccb59c5d954580d01174737fd4c76fef0a8f7585997dad22a5a9cddff9cf9c574644ce1bc6615ca44b146d01167d822cd28e029847d1b524e0f07e9c194839df8f297a3eb31dc58a47a2ac2c63fa8ab396f647683ccd84c9c221fa9c9c17a5c545bc6d9f1ba0a5a4bc98bf84bf5e9ec0a06fe5a6790f929ef84d44f99a56582c94b7a8a9fd4c12c57f71434936fa43c4dd95519f26a7f3b7c7d2aa0dcb62697c684c491fcd5a99cc6c9b0fad07b06e356a33495e6193dd2d790ddf08db9ca9ee1d037256004692ccda870e0577d2ac1a127b7cc5729353d5251ce881ff709b8c74d19f52dcab8e6c0ede76dd2823bd799b240a9119c57f1412dd5e627f81457a1c771c126d54c309148f08c940d30dab4f3281611a6c3203947fe1835551066cf14e60530d850c6082d8a3c87980ae49b
|
||||
Output = ffc02cfa2a2fca2b11bfcfe1d4e273eca98ae7ada761ab1860bfff0993590dc3
|
||||
|
||||
# Official test vector 80, seed: "09fc004519bcf85b20d25d314a0dfc79e00cb6262a7dddf9c52473641afb8cfa0f5dd5f53558184caae9ec34b459e98e"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 263c5bb08411fdd7c93d377e17d0206fa62c8be02c27507e83eb4c4b0687458cb6f12a26b3b55a0eb55243d2b5f8d29109fc665d11cba1b6123eb943713073ff9493828a94c16776676672d52173e3f2c1307c249828b9623493de32cfdf63272dc13b52513b4be513f0e37f46c424d6d47af34837b2d27e8a86bccc39ae44b3c0a020498a70ad3167077b529cc120614b613dbdc04ec1702f54898f29a67576f29e889417f0921c8743547e388cb24c5fd2ba14591217fc410d25d61df3e1b6ee7c6b4700be0e5b404656ad954b23f8a32889e443d082024215660a4bba9787b100e194a7c83fdbf7298e024011354e0bda22957772c555c171caa48ed31d3b46ae26d428d738342d5336d47b80816c7cf0e840b1fac283ba99c5ea463fd5b5c151995a0bab48bc526788502c16ac62a45d7ee3873230b943a566fa777f6e30abfd81981073c8e9f3307e5c6d8720c8f9d33652824d3cab4dfc679cae539c6c591bd455a7d6e24fe9567a80923da6c58414b1cc60f5cd4fb10070556bac845b1d957aff543774236bde054c19e97950cb319df677466b3cd4e64767391780cbc8b9f78dc7d0ac35e2acdc3b2045a0a6199c83033a92ac7b752475302385a8cbd4277f9c6028a6011ea834ed8198056b0151c95f42f2573ff063b6161ddc05769683abddd55767065036b996ec386cc0a59bcea3a0cbf211c47b098981102cc62801987a81521656336df47b3b0bb7183fc8bb7cca831364054bb73e9443b5d2a74c3116a2603ab523e64cff2b8e76365aa0541ebef52ad8004a37232b85d27d3612c9bb98b2c943ad748158f91525a5a5acf1e82db3a0b1520974a3b79a5ed77fb754b292baa696496713d19f6937ccbf2a81f0d889206c7b6227be21a6677d617fe203728b28b4bb847d93a02340f6a45fa96f151126a9f5b7322b45820950b0bbc87e4a262053c9bec76f8eacc3cbc19f26759272a3b2dc556c4c2c917521733fcc9c71d629099614b433b390772aa7c80315b0964ac92b36881a8ea8c90057b23b40a316a1a4f330b890251673169ae0b6393850bd89403aeda582504390919257d0599b89c76025c6502a589cbf1c03ebf450685c84cc06a2e308064736a5a7617750132c07156435761d4727ac06fcaa8e5209adba07f985610aaa29cfb33bb33bb9bb58048a88a17bf22564b8044ca4b62d0a6de52868b49a9771652b42fa300a3915d9693a8920176c631ef55a289ef58e7d2b683c1b4329314c1481312b412862c2938ef1b8014a2ec9305be3a813e6fc1ea989ac406ac47c4bbc1d115c7bc09bc6c3744ad54061458bff21167be8cfcf834cc3652bedc2bbc2223e095b7390b01766e7079d940108987067b36ee7d93045b53df88c4315fc84ddb4cf73d0be18802281ac51bee246983acd6e33ba8eab6b68f15ce9a7b92af649baa4a267691c5bab62a7073f2c29a33b0843056a1f8dc7696cf8248ada5941dbaa6eeaa78d7c05ff821d9f2c362b104ff8b12e06d125c4d329954c078a99ad95eb806f4406ba1742d153cd8ae48bb11384e7bb0030a32639e75211075417d4b46603545e3a07796048a9385488a09c86f14b5b441c5b63b24d0ac733a46c84776db4ba4d7ac4227c216755a16269d27261d905dc587eb57616f4367e8b3309dcb558b47957a8ac0be9d7aae6a618dec9c0e56a6ac867919aa21ae77a5a5421465bec178bfabf61204f6b60aa94704f79842f03402a3d35a8c4a4186e36855da666b4fb254c225124c33b11a6a13bf7ca0b4290e132457b68c7de04ad542110e08a352c0b2aee19c5d637c865e7379bf7c0a3d39466bc58ba4175224789785520d6ea6ab86727f198b6e236aef35b90d7205815fc1774b9a6815b2e427a329d4521e5ec77f19c3277b35dae3944f5bc622ea738e3563e2c8857ea8796e5c01729c3ce244335f071bc2a492c51d22b300a9cfd0c69df3c8f0e46be28cacf3a4c1a498684d8a137ddccb419b33935ab5e9e47c8cdd658b1614f4d9b539c7bcd85827fdb5b8b7f8c3f08b9922ce68851ec5c27431193636603f32428b8254bc69b7c20511838bded03b77427cc68200025456d408101e4a4c1d15c4244e7ccb9763562370ec3c94a4ada04bc4852ec20879b08625cc9880ae73ad1727b69b85aef2639674923e6a5206df7ad3cdd882eb47c2ebb4c7bf3a28c13d5333cdc3d52179ef0f4a6a5b6ad7ee1a9c00b029b4e13f35eaa5e0d8e29e1630e4ec8358c7ffa69d85fe6141a25f7ab9f875f79e0a82d6ea5cde5a017ab637d5fdb7c42646a1d71df
|
||||
Input = b06b6c43d4380fe568359580a88e38ea143101d1192d8cddabd71a4e26f1220abfe3ccb8dceabcf2972b4d177e64140827fc34d1697b3eee79e14da195cfb0a06b71919a50b52f6327a17e46d761761a855b5513b858151a7165df4ab3f0e9899f829a8a8178c70cf2773b00c9cd4b18760798ddd7f6f56392ae73d284e0515250ebf13780df976d365a4fe02a5a703bc202643d0110f74aa0fc30e83b3661a9f697879bec3cde5c573bc642e65e8b682378bebc4d3a465d56ca8e71c1c65096cbfdcacaa975b7117734c883de11f8a0d2e317bbf143f087f2dac26f37d76f87f351f0dc9000381c3a388760ef1a6b54b49833c1c55d7a4b7dccacec786c7e9728a3af03497939e79e3c925781f8a3926346a5861497279329b0f0ae32a375353d32d266470cdd04ea37f1e2460b4faff8bfd0451c19ed3a52edeb434858c25c69e29e2e0cb3b527853f9ba0bb58b1f40fc2f9980561b60c62a0dd3ed1c84ea646b733664b361724f52ca06e452783fd356031bf37c8cbb9c5cadc960a6530430f848261a762eac2cf27bf9f9c3474f41f2954269108e76982711b5adc0df4c7a7d744b9b96bfa9dce6ce0c1045e61823b293a4c41ce783b3388acc4684109be3164da09c6d5e1525a402085a7d7c718e6d0b2dc59dc92e9fa8548d11414718fc5237ad5149b073baafc6310c9b8b50c6b9454270641113a7bf1f0a43cf385208a50e582f00cb4c91e67d04bc2e04de896149e9a399ff9c395dc4f630c1753ffe8ce7f75514b9a5f194036e217325136237f1e69facbabe0060e5105e986db474c6c4247a7ecc631be309c508fa92224f47aff035632a9cb86600452c8bb295026918ce5784daac87d10bf55e4da1ff6c05682ee7d0015455517a109f516f4c26263f89c7b5f88bf29ddd6ecf952017bc76b273e1fc127b150209b7df9a6a1e9d6f392d54a6cf8f2b8a695923adc06e13c44a45c35e4b7c0d33f8ea7f388a5bc9828077e8de9b7c36f9cf359153853a8ac090041765f297c104aa2a2adec70f8b7a3b5ce1334f625f64155fa4cbd2634619a07790cfd599fbf7987aa5a55313f
|
||||
Output = fb1fd6845fa3d004d1bc20286746142ab695769cc1162b637af8dedb799b92b9
|
||||
|
||||
# Official test vector 81, seed: "e3c41cca6f04cfe7732fd54de30cc5caac93e2f80e76aed7d24a962a3969c1b6a311459a3ec3e510e3e9b1e4291d4d7d"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 91ecb933a468912348a466601013b974a457eed97a619881061737936c305fa94d1fb5a9d9f7167f360d6e4924547badf69963b37b9c1560696e79603c652235a7a835d787a167895a8b3cdfe1cdaca0112fa2ae5c04879e7b379a2057c14a49c64b4a3348a69a175960d8b954b15dd2097f15128ef89b16cfe28f2b340e5fb3864f8c844d9556935a26b4e3b628e3c5177cba77f92ed81662b58b73c355bd9e414da7757788d89261aa293d691055325cf22c1ae561b3a5c35ca966375bf6a8029949f7800679a56c6e5c1e5b0769c4185d673b7b32206c5f9277ecbca5ad314f123c5e24065dc04ccbd119017cd9680b45a4b1217c91309bc4c1b0e8690ac3216f43930f6cd345214913ad86952fda9c2b704bd4a9763b718af3b91c515ab5921a465525780ba36b8cf111727ab538b4c7e6d47d74550ec7809edb025b462136fc2a5698814bfc31c1e051b96547045dd3c994bb403145544faa58a14c9b42e1676e1b624a63380fdc4c3ba6c3788657d6435c5682932a2cacc350b76082022db1341d866c355373816058965bcb11f7aa6106942a2cc5d11c041289cbfc1969f086602e94a7447820f9c3602b9768cfb003b498971a53c00a3b1abeb1c75d57b17953ca89e53043e3b56ee475d87b7913e354751c77fa754ce8b54759b35baba97cccf68ef715b35b994cb707cc2914a9ff697ef292487b0ace487246f2da5903b397faa19d99f77e0d14aa0610001ae97e55994666ca4d8bb81387307620842966124aea9c1941dc67cd731f8d4064e8046edce11ddf78177f9077cdfa794f102232cbb5129b76375990e3a67ea4276abca7acd3f48c4c9c41cac780b2355068b9138e4720d79237d46414c59ab6891b0b69b55dba42248e077a124acde6ac92089914189974a90090e53ba1856c00cae12b04a8777870540f056b339b0335d107c1750b2b299216563649d2b810381a2ce91fbccbb550db9348a77e9ac52bca40a89877629ee43ecec60499f56534c7a68266c19d729ea508877df8b16c651bb2576735b39378e75583c207d4ec1f7d4c74e061b3ac225ea1227d742a85155614b2e40c50b402119248ce7a48b1dcadbc7335648397e65093ab44c200f63b0e2404a43524585882bb5296b5f1bdbe263433e03f9fe10ef8517488a9363a0957ffb4559139887421c1d3a92518f210566841f20cad2f31941cb570c87b9a55a84792d66ced624a840244f9c39184317bc37c5249a1091ccc0c620c6c1797be48046ddd3b6002ac1ac65691dd749b43f5cb4df484bde173fe878f60d10cddfc2fd16440051cb50c9b1ffc26beee5cbac759b05bd8cfb53413407077adc568d56333142cc85892373c8820e856129d2468029833ced61231ba9b5bb2b94563a15954336a12be755738620b5503eb5268792eec020f5874c47751647a951cf5a059acd6584cf207e2f41f38b67e54907c653793eaf463e8f5bca3d2cd69206e866a4da7931a4fcab7b890ce956503547366cf4553ba3213999b5a8d82c10b14428eb26e44a1bd3d334c7bbc88fcabb71b1a2c020a9641850ff9292eda939ec713bd8e30291ee04920f22192097e60951e01598451933472665789f3141c7508fe14b04e02867eba4a03321886315e36d63853cb460676cb8f4c15c9c88e0cfb693f4428960046e213bae7925d5f686c9f8b0d8cb8971c332a4b46c6ccfb7639d935c830893cb9b1f9402d96ea1e3b0400f9d38358a495d675a83bf850523b11aa466e63a2b002dc868f6a3d0431b1b6d6260b9344dc379d9e792b944831b2526815b0b085a6783fc8c594fc194cd1390673cbc61521a0d41ba7999ec78c6ecc031d2670a5768a64fb491986c82ee8177dac52b8989b59d796a67136029208360820a06b30032a4025e9258a6075a943d432fb4a63a0030b59f72b68fcb2b7a44535c2008c685422e360e4bca48099a848d0b6ad846ef908cf0cc5bd4de752c6c35eea06c9b6e81dcda27594e40fddf091c1f701d4010c5cf6a8e2d204c93399e9d6375d24822b07c2ed420261433802a3948d976158c5843780b3a1cb4a9d6009ad995233b58e5830907ec523b88c72c0b9be40e4ade3478b9569c00e42cf978cc757800848678aa33098d5d5beed00a94b80b312ab2895a94445380861d80c53f64ea5716fd33c74650cffb18b6575b9c1b32d4befe56f040ec4e5831c2478feda6a06105c411971aadf2bdb1dca5508a2ed6efc6b47fa1157e3defe424d2111eafeca9e810796c34e8cfce9d59342884456007b01ddd12edce6d10ed87e4c
|
||||
Input = 06bb27513f6eaa3a941cca96b5b81284f40e689c57adcd45dd01059e513e1f7e8b80823a0559c9ca3461c7d7f48c9d9683a4af825ab468655fdbf568a3e3ea4a552e9d44765fd35d32d569d16df4927dd6911edba2d0a03751b367e18aee73a5d449ecd504962ad3d2f496ab9d89bf7edf08549eca1ce9b6c487c45cedc69b2c9fd15f7b655dda11986cd6c0c479d7117173fb49a5cf2e4e0239a41b8e7b9e37714f027a84b2ecffc631a6b4489e9b00a9df424bb7a56037c257cb17116188157db0fbb310b96fcf6957adc7da31b645d801f1ca63c0cf0999ac81f2dd8473dac08d446edbdc681ba41d150dde1fb1defe1e68f9d00669a3f426aa6c26838e817511d6bb178d9b81335192febf2145f226a4826af8241701972749722582417942edd3a75e02cab62fbb559a1e5d1bc0f32d631e0190fcaa196f27b5952e5eda0a636a9487d88e1922112f5ed55fb8e42bcb3ef630c88ce5eee549ee6d9cbb79980a4e4fd457a7eba7b3d5850ae27fb06f7d5e4b9456881ee089fb896679949af8cfae467db9f505ce6a025d2d86adb26161ba71186ff3306d3861679960859631d0082103174aca3400952c66c49363c3ca84e998312a0e5db7e10896ac7dd4bb2613781f053f7aea59be59441614c0def823b0a3045041560796ed587c32735f9142a26d332a5b891c3412c76664e77047606dfb1df6b35156535e927ce5d033983720e3965e2a199e712f89480db86202b2575bf745531f9fb7fd646a11ac22384e6aef874bb3639fe428f448998ab9facda06a63810b72d5e2263a10ed1602db063818b8712a7f206b4aaa6dfe1b36ed4db113e97aead4846138716ae249fe5fbe61138f99807b6a1f19cd0b149b1e619ec851b06e2deb7618bf9f5ccada21ed94fed06c82cd775960a0d699310a06bdbe09d9c9a8f7ed147c43a18b5d4132ecd90933f105f79048ae542e83bb7a111f3249cb883579b4675bcc86bf147cafeeb7e0c95f9941611fc751023db4ab332e5c125bbe879b3d51a52f568c179fc32469ddf6741a05c4a3ec76101ef655fe9f947a976ee00c8a0818cbad926fd9
|
||||
Output = 3afd47ab403f63e4b15081cf8e369d2aad856efcd26e0c5e21c90bac2e7e7ec5
|
||||
|
||||
# Official test vector 82, seed: "373fdde922cfc416ed96b444e445bdd0962e8989f6c50adf9912a89937c57217d3600b06c95440448e3f601ae69ca5be"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = b78661cd0828c7e66981b3a05706c7daf52bbb1c042d94237e328b084089c0448712a7357f61a14067a77e7aabb2b01c0b938523231d634c43effc14b9365a8014cd5c7510d392018cd6aea1365bc247b3fee8b0e4d3c814c835246b382bf78c0094cda79c72a898c92dea6f7a616c4b022c6e005aebb85ce01aaf2fe4bac45c2382fc6e50493657850b83719f5624134aeb764f6a8163d1aa40b498f202ce7ad07657f051cadc32cb992bc025b8a97b2bf0aaceaf30605efa75cecb7b433b7fb3acca7d54c6c66b0dff8815c9b1bd21564d3c869ed5596bc2c74e34266a77280a4bc58fd8b90658619706f64492f45c087301f0f78df645c8b620bd7b4863c1142d3bd33591c6c03842ca948709a24710c2e55d49ca15c6a2bbb83cbdbba414f3619831f344fdf13bec33454f96584456c0b0f2079b09b44532afcc8b48b461837a77c224b347ef75212bab5acfb4c750221c60f600ca68372134397ad48ce0e3a1f3a2062f264e6c356286150778b04a85ac36b610cb66b5293b076a994055d484b36984995ee96ec8183f72b35ab4d6bf9cf707a40ace50f55c1f98952e44056e9845087716d218613a4b62d00a0dc0f2633b430ae1e75d7bb5b50341bb07d22ffd1c3cb40b59e01c79405619ad19ab0e647a8cd23706467d7f61696a864c79330237214b08450f1578a2dd5c076ad20902d68e4265469ea641d8f90a59d170a2d1a7c8f1bacf4717bb40a27f726f4b27b8f55c69dfd96669a66754fa5b0facc344062a797508dfc73d3861002cf80d47d9956fe62915b3a10bb055c3561ae504a9878a18d47232640006b0c412a36a86eeac96806303bde549f17170afa09e6ed4cfd1768d88524f23b247f2cccc205b9db57b73e1ebc2ce83338d8c2538f7be8d48366eb948a6a74226c0b93ad09f1e4a38c78c2de6059ac2505c8cbbcda4a42ed5932b24b8ab8ae2a5e3b3924d2783438b5bef0721b2b605156acdfdfc7320b15625d1bf54ac5d3dda05443bc61ef360eab3abb3a67b54f5a8aec062efa0afc364b0766146bbb93624aa790f6b48d72896abb1c22364b531738bf0f8685dd1616d0c54104ba11718a58be4c603133c46aa493c904383c088134538e13138701a4509f7264a61cf0680304f186e5ab7a975234427fc529a20b733aa93a6949810490ee9923c3a781a114936db361c2d11b07c62b9f1a68a7914c564d2a8f69c2ab6e13f7aa976708683bdf26c4a2a90c828c63798897a138c0e4b46f02714b613b4133c6a7df5935348142f5018e73b414bb5a85d012e3571c7f40ba094ca60a2ba275d4238c2ac2450394a6901bb61bc6bc3f98fbd259b20a003135a24b7f80ec695855f1b70402996ab6a2a0b7a813344170b0c68922a6b34774651662ca63bc47a60034d1a700f9815978050f95744e7c6b300a30479599f05bb73238909df62a64c6429c8c43beb550c6571b63a950186385de0681afcd8be77c2cdcf8ba0c75c0e37712a678a75ce680933416cf64c71d81b07f68bb5e688143fab5b17c441ae4c76896489bc9a1cd1994ecb1765a2ca04e153002ab38eceb45a62713685739f65047847d4b41b71378e388d4c2421bf112b24789e024bc61e21961f74b0370bb8369b518d0393b6f2396a9b4794a688fb59178da1331a07b610308370d55998831f9ab08a71fb652ff53c045073872234f8f3b187509d2281c21e8c43c9e834fd01b67c93842d72cf342c35391157de50311d3602c7eb898bd91bd8112c59db50a3e64ff00508d24437b6eacce15b6313b0b6581cbaf742b3251b65b885728875155bf839a3e97b1bea65c069c8073903e5455d725c9bc5a17ec84710ffa5c31003a6a379383964a5c6c0ba6d6ca1a2468b8e489a389c300fbba17951978e781043d10a4629cc9d45798fc27021073e27a7af7724023e85b4d4e7a79fe73d6a683efc7071957bb9d7e49da1f264b6a6b62860cd7adc3fd58c9118ec53b4ea4c46a81b434c194e8773aac0758b1520dda976e8ea75e0633ee8d82e6e420cd14b4871d44a4ce90ca65aba5d0b967608a9fcec75f208674bea111db007ad669437a44615706ece2b1a8bec857e748569b133c3f000b6099dde32c8973a57a312139018a350732bce8520fd51599b6261474682108a04b5cc790d76ca165dd00a29f05e4f74dfc7e75028a5880b3f7a937bfffd0f57fa7c221996994f2ec40df65eb82037e9c78a2c56e27df1b457c5a07320f073e50af9eff265a12c11136e2681df2ef881b51a092a9badbe72c9772c169808521c47149578621e28
|
||||
Input = a4197a02c4fa06930d5d12a4700ce49b18f9beeb0f977efa6861d70b1e0a8d9b5850635cb94ea86462c8fce6a5d55ba06cd92e80a6486b5bb4ed823fef26d1b0f0f16da66e0711988b9cb0ad5474fa977e9076355514ca9b031386a74c6c71937225cc326b711b0b9aa87192e9fb15fce2c90551e5d52c7a5db6e8efc4bd7ffa990f4cd50cc4bf39f0db4f812313de67d728cffbc1e690abb9793c0daa950dd2ecf20e3593a32646b4ed732808ff1aea1dd47b7b51df0e90722d15f9809f87017f04f6f3f958df1210fc360bebb11ba6b52c07c32f5890c2e35b902584ccfa376a77a511b61e14efc67848960da6b476c71239a1e16d646d5d461bc20ec47ca1048b78fda7fece4dca36ab476bded10bd812b04842e99ab8c6eba0c632411c3a2bdbc764b21478d9886773b7d719c0b23c6df7903f367ad4bc9cd19a96b896e06bc04a9facfcb99df10c7afd07d31e94215e567b196e0ba9b2edf3a928a8dd1597c577279a4b33c79b81653fa54245730c6349a516af8d421d4bf95a65ac1382717cdfe3476474029ebeff7bd7709901dd1ffe036fd796f6573e83240ba8be9034b4ab50daa50c921138aa62b82cd8c16eec23ca21787d0fea37dd15b2f106c453a4d85193a3f0d4bdb8dcbe7c83234cad0a6115cb61bb330c2b6cf48d7efdcea49f70df69e1b39dcfbaf5a1e7546fcdb1f6307904126bd87b907f53fc214dc3592d0a5f5ba747e76875763dace16ea60b450311aeb7a6e557e256039456224dc682ecfaa79311001615f2f473a2494a24c1fc0582385a5ee3b0526ab6882a161bb5e5199e9f9d0e7481162116a8433740bbdeee1c553dca6967fb51331c32bc3f68a05db204f1e2380021401fe3235a79d66605a79b582f6ecbe229668ae637a1982d3351673290ea3cbc2bdba44bde745ab6f87987aadd79a102f117843afb9435654b7f66ca892af3758cf369648bc3f22231a101cb392a0859c9b4c629fdcaf9127e5310eb055c159993b4904960f2a9024cd124d2120bb57fe00dbca850120643256ecf33acde1fe528e8b28601ed34df18018e3a1540da2f592eeb73f5
|
||||
Output = f2284ed700026dbbd105e4060f057fba783cec693cb8f3b2dbd43ac1210e8472
|
||||
|
||||
# Official test vector 83, seed: "16bef67f7ac3a755c59c816478b75fcc16ce5844db537791accd1ebd49d2824b105fd2e970f728c8f0cf16e439a9ae2f"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 97912268f18a7af5242a1a34f94b42a6c68d72c57190d392d23c04286532d9e2159a0c9a447c8a7f1a0938109b15e9345af7269dcb1c22cc9b9e2a73e92a8faf01beaa11908222940a429fd67a824ddc6ab9e01bcd4316b7a4a2d9293591ac623f1062d0d8890e647026a2abc0289f95b740b7d19fd82b117df73aaf7c5e20a0984a386960607f492a42d3f3037a8bb036fab58a073052441be076a4197c7afd50ba08412facc565575b29bbccaa8357ac8048ccd65a1ac97456f1015d5dac2489438375c5383a89048f5008af3ac55723a423795e4e38033c6a7371e4c9ae8c411906416b4bb38bbc308dd0a710849f294a3c831a981a51a353b902dfd393b358c1b5a8793bf0befd1a8648cc582d21ca96b47306d8b60e39687a513c7b7b06b1682ddd58b94991793774a766d4676955658ec7c8f02455854a07d5f3735263aa7db8b702273280785009d5747fbb64974c0689292a0101882873a02054cbd28c219d63512d1b3be95020cdf3c6529146dba2b05220014966175f4930e0b2afbdc17ad8054adb85668f9a85929a4a3b22a4000cbf152760f6d9516711a4cfb5a258e8669df960ed2862f0d4882b51769f58824310b6d8314630038dd4208a56cc30ed3b4ff1080b2d16b299f3cbce0b30da821b370b2c3fd17cc0a71dd8560276e530f21889b8f16f5e8cbe66f44608f48c623bb0103b710f5498b0512d0813a5c909453c9b8302f8a16413899c216c7bc7bc46974f25c8129ce76225b6a6e70818b6e742a56365568901f36bb4740c2ca1f3252b61a5644a491b90552af51f86b9c6c3e4b407828f34ec2c0a03b79244c723b92cba6c944d2c8d7dd8106b5a34f3087721a103bcd97955f1532a92460aa12502183c4ffa0eb81c983278b72e04880e697715432552758a4ae96a938766fc73bafd75ce8a4cccfb2b8cfec470bdf0453e23472a5b0f9a8cc05caab622634c24f5abbb2cced952cfd2e0c9ff8850ceea3815c0b0094ac2e9f7043d816d97088591c813ee4a1182f328cb3845b4066708a90ef9146ff3a41d7d45cb561218d40121f77786bfc4bd59095228586ad705cb30285fdffc980cf85c3ed027bef07fbd997a1ba2990f0972b6bb76ff4784817c31986075a8a95fd6ea96f7f22d6a526de04b161bcc074d91497f9128e04952c14a80031c7ac90bc3d80b3002fb2c3fb73bbea5959ca00011330a11318d7867cc648cac25e4c37c16039207ad7ccb0a294192bfd57d12b51e43aa2ded783e90a3217f9a7a74b3b74317a3eb7b113d80bc80db10b2b49f138980f15936d4478f5f49030525b645d030970a7a1100207ce918506564b2e221b3a2675e840ca42caaee842cd1b95f9ec586d0e8a2d41923dde0a18029703c41a13ac70886d24870e6165ebb53d6b41336e22b763b9c34fa1942f24a5c63812aea54bbb4b4801b81a7db631f2297389858b79686177a0658482712dccf645b8bd2871fb22394ce673f00f6b6bd67a6ea417d5a32795ebc67d53b15fa82490dd58170e71831f42e08b43dda04054192724305730c0cbce9c59fdcbb5d9441201b5cc7f3f3bdf525c8a234b56d897130a1a26a67868c1245a9e9385ca7464cc27b176193a7d6bdabd23741f49c28f4719525168afba078705afac75ec2f516dcbc4e2a0439dad0955f8045cbe45b9636473b08901865af9b7b6e237b52dc468d82080f9f31604b7bba27f80290dbc2546a6b036b1de6943a5c676af28617bae186984b6a9ca092c98bac21390b05ec8b9114cc3b38b905cb45a079549e6c65cc2a4f75b865fd9248a3b6011bf7962ed4c102dcc04e0a4ac50041cef89c4470097de77df2498bd01429e790b6f1a87b0a173236ac2af7e952c83ac332d066bc0cc23ba20117c203bfd39e5454578b69027130b1728250ce16aac623aea4725f238a422fb02fa767c2c2970d61a32a12c328fbc251f0b813bf6c27306053a6545ff5c9a37dd96ea4eb996a79a0000418f2082bc5d410dcec4e75d1b07e439e60f53fb1c19db34aba767001eab3040253a1d4371f16423e4f5a859b92bfc4dc7eb6371b4e83091ce988912b130b055340b29512e473d0063104e8434e6a6047778383b92ab848001942c25f16b5a43888dd1878698b64ab630e4ce877db5a70cfe9147a85c101f3c7576ca797dfc781a222607d3df6fa62aa19719575f7cfd276e35295c8baec2680d2a838249b7caf28e67f222ed57f2447f3aef51c0994fbf4b3932ae95d66cdac6ceb14f7662be0c42779459f69a145c0e2ce9f0bd9a0cd1bf32ed5694cc9ae32
|
||||
Input = 41bd5b2f739807fb846be908661289b4589f04ee1d40ee008f23eeac128b8f9054e058c70edeb202368edc1eed128339991a68895dbf70809d638a0358c960f5090dcde28f0f0c7f9c80ee3da781841c3f3d5ee108ee8b5b0a1a5ce8f5a88d876de3526b1d2f8e26ea7aecf1fabb5775e5acbbfd558573034fb9e41b3a07a1e101fd3f8fece2a4f036a9ff9a4ac5afcb8c2b298960cfc49bac42f8c7f71f906a05e483301cfac88dc54b4faf8388bbec0df72c3568cf8aff9d0c49758f97a03106e3320073ee4e190aa24db83ed91016aeccd492b96d870fe0330fda5a48c0f82b6aeda0ba24bbadf629d74cf1c1cb9c77361a8d866362d6afffb6a9fa6c88f46c2bb6d9fab9d2136a9e73cf7a57708712894c4948a65f1f162a4f34e01479e9ba4ce4e76c40f1fbbbbff8dff9596c0ee4635519de1d762724d37596da083b50e7dc62832853e7966dce8ebba7d4ce8c2da702800ec3d53f636353ee3529d0ee16859495d4fba142ad942d2a5b2e3cbd28537ac0b8d50649f8a48bf3af96078805a88679ee222ab1e524fa81a189d2ab0aaa411aaec5329561a2b6953c712ed2dc0a7990ba3f69c4fd6eaf362a22bbb4a2537239159471b3fe75c2dbb963cfab7c20148a9088f9eb4560f6fc40c30e01750dbeb25ed8940d4bcbc54dc9d3a05109842cb8d8c5cb0844e34d9f80d1dd75318e9173ad4c5b40c2f21309ac2732f0cefaabdcc34652b51103fe0b36869bcc256cb8b1c8d7e46cbb30eaf5e0f72426a6feac6bce36247e180392d2148f4be264c4c907cbe4518e1d4085e82abb2972eb5b73aed7610cda37fe23d98b7b425ec08fbe217131db1271b9e7abf96364e58f05b99de29b3263e89c962d93ddfa1fc0e1581a0986b4f22605276efb5840877a025f12b43ffab53abc5baa8a582d60a79369cc3f9cd87b5660fa390b7628c28819e24b209e79ad7b5de1a83af2c466339fdc7f8afea1cefad9b1eae9661f592a3736e63035d6b18df3c89a1fc21868c3849741db4d9237cd9bf05c7c753dfd3e9439142a32317eea060e57950687a4838f5ab9dac214c0e46504ce6ef2544f
|
||||
Output = 3dc10519f227454873ebde9b608ad5203fbaed1a29d44b4c556e75218a47ad07
|
||||
|
||||
# Official test vector 84, seed: "d0611f9ae5be4da5d7eadc9109944348e716cb3daee545721eea8c892e7831cf2e54603146454cbfd92387739e9a78d8"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = b107696c4267c4eba452eb3e217a49a0b24897b9c395869894fa88151965b680be206ac151c10a9a419bc9aac3e6540c23a5a3201747b0fb2f4f6cad7879b07a442ba7eb079ca173b7e87eb565879ce28a54958d1d688e6232cd3615675023c29120b83295ac268500cdd33ef7e93798257d0c91cdb31020ea322707d63cb7bbb315f73544d657c4c252d7e9b331fa08f438be93660b39f57db867cd9e0622633c6c4fdcb6cc170fee58a531b06c0f23bd6ed965bb16770083a3c382a690f99a138078a938af4d18479992c339820004e5340608099c092d9c1b5cc680723dd9564477c944d0223557c06c58c1c4c99a1404c6d80695178c0c60b90c0dd512a8d49e516c55ea5b68d685ac876043eb3104241c26684b8d91aa0977f27a3c487a414cc873ab6384c179d4520036765ea1b67042b97e88400f4778abb2e497d29c395a16968a098d6a671b3c88a7144a5097d020b7e1a424331180b648606495a88259d0ba741efba3beb00c69821021c5b11b3306f4a719acf714b6c784f1f3a235c299ade1383dc04279b80a8f337e7730b35c973960a59eb3d3cabdd796f5714b2b00b31ca543f37115062489e2ec79fc754056a5729e022d017a481bb4cb1eeba509ac51d28649de819a5d096abd4b5205c28954d204f08889e0f82ae7e0a4589672d1a924e11c202002395874b44a27adde211580d2878dc74d3c7806511a5307320ca4f7281d27303ff965e3288887b1a1da8885d6577e96b217d7d76d0fc6570f57251ef9bf9b492974b5202966b5a9328d2672b273621b142bc3559197fc76b06e94a625e16b5ce68799526a2a2b83ed16790556ba728c36f690c319dca0e3159c56506f2271bac31b8bc45621f8b7c1881a377441cd1711c74c99610ad35489e7665a93ca96f940dcfa8e24906ddda2aff5c261bc2799600a1afb51c577f64315a7502a919fe9410657180d733850b288c84ee21a59e95ef6592966869a70f51e20a01746b85d06f304d8c88d33ec948f9c0540287b385a26c7d104fed46d643a70d20c8e3d03c173c8b3d4bcbfa9d0729bd758eb6787d113040cb88abbf6a4cf927aac6152dfa2ce8e6124352376f32c53c5e6a3a4558bf5502ba1c8395fc94c7727b62b45ad6599cd74b19c067a6e15c77d923034ceb8345f25073c4543c113120f3491238561d409ae4eb498bec5120577c249bb14d8941400ba264f1305336a6d20fc44dff892bef636c001867cc5bdfa3232a3f4526e7958cf27a043d4498e0969daa30da431775d176bb9f16ce6d7a4feea7b61a299cf454c95ec877f129db11034a201b1ee9894fff58ed12378df1453d5ca5da87a443b1097b9a9323d7a5388128886d4727b9b15088aacda523638e85121335cb7257c683c03bc3b10b34747c075ac2da126eca93ece64122df16c08cb2c31bb8d452b93f21358dc6311b6cabd51c350c3f1c03e7a410382678c5632da8a60baf33fac5ac196d223f983860bb56275e35bd9971f99b01aedb88e37e9048457b60fdbaf42762a97c04fd1e879def34946b529804314b9c32b8290be50d36a4d5c8db4017206908a6210557de3708afacf539721eb3865a0932d67eaca2d28308f2c0649182d094c27542305c2a1ba5d299276c6802fe978f721b8313a18eb85b22d806e56362eb4b05e0b194c023c3ed6854262faa8a70b30dbc57ddf852401a8be60c01cc0aa1445e00771b3c99e40234b940f0904a120baa4b21c740b1ab2a3536f821b6b9cb0a34bb28fe549a70f0c7fae43398d356919ab2dacc30f94399103e291b0b920a0758271d835c1937818b428ea94949ec8a4ffcb89b2b4b94c2056884b69312b1ab441ba9945172252591df2249f584bdfa0c7ce720a03cc18c2d919e066540a38ac65d42a7593ba796ab9ef448b0385b004524cb5057f83ab3bfe30364209a63289354b362d74e66f34f4c16010990bd9c55f40598101651f8511657b7e0899ac7795ba81705b652ca02bd13a2b3c9d39e7795c5c7a1d065b0df91c48453a33c87708c5caa9da6312309c1326a4cdd9938983c693f811a59b9874a212bc29882eb369d0b691014aa94344462f0ac79a2c9c7917bc50cb89ee65303a975b10c64253aa5c7d043c14dc9cfe56a9847727be9536645129d0daa5b21b308b339e4bd5c2a60941595aad6ab3f6c2cb5ea61631b5721f089a94336bdc7e8421b9d2ac670f00545ac0e074de0422a500a813dbbd25b9e0f64719af4363ea4314fb93faeb2ef44d2f608621e831187ce79b2d2f4a20f1568bbe76b0d3d5af36111714
|
||||
Input = fb732227cfd155efb068ab1d9128025f1327adfcb33f6c87394e54978a7af424a395acc0746b434dcf9cc972dc21fd5ab843e7de3f5646acca227c0a167ea0f46ad7a6684d40b7f89d157450f6a87c5fa62495405478b46ca3bde429a2f09360ed4c1648a6c4d29ecc2ac73bf2d4b88830870c727b567ae6fdae1c4faa22d6421edbf209ba9aa779b8923c9c04ff41b0ce34351791c205e51cd981fd270637713dcda955a8c54135721dab8f3753c520c309c270811af075399cdd7bd7e93bffe938ac762fe1d5c7fcda549431edb4eac858eb7a18a1474d15d028ce765ae5d9c59f4242babb98150536ea3e4265833c82470511b871b6c4e82c270d7ef40e1187e4e544e3aecafe4e15f7da66cf5d3de0deaffe4cc27b591df8ba1a62e77f8bdbc82c4597f8722df3217a308b34b23e7ca58dc472caafb007a84329cc69d9827bcdd9b27bf0f42091bc3c3c8904bf34ce3741a7027ffa0a76f1f2b4ca9738dead57729861734c40d8be99dc99f12ace1faffbc0815d8fe460890b5e37e868dfd9eb44ea158ab361be8067b5193f7871a29669bc30802a7ef0ffcc557770f88b327c2265445e1b097b2b8ea6238e3d813f2def58ae3ddd2926164efa34c4bd3eaa4d4d0bf027f0d140a6a3d7dd45f21569300dbc3f56618a52bd2fc1e9713b4b08649748a3e35f17ce4ffba9a72396537eac113e8b22cc1a68c210412d7b2901819a0118c8f64bbe73cf1d39d002e9f2345db4797ec8b7c5cd7b4e6f7542e49c02af5042d337373a6473da94fa88317b998351dbd3aaadfd5a1356ed710e002153603c77db8e6236e8b64ceb1db995eb27bf1a622ee37b8933798b34183166aecd1431f03b1049cfc11b601258b644155c7f65d14e11c327cba9fc7e905b5380841ff602e6c141c2396f18bfc9cccdee472ae1f95c940d4cce7f8f497c5d94ef96a1c8653c1220c693b0dcdf64f2707413ef93db824934690034ed5003b771a1f0d735b886002b8e048d181e65eadb4a2a496ab5cef76c221e555ba53f56876336b0d1d7fb3f9722aae7ef094c3842b16d88a67b738f2c81d02eb507e7ae495a
|
||||
Output = f04ce13f4c9debf1eab149f684f39bc9aa5223cb5db8345b63369312f1dea129
|
||||
|
||||
# Official test vector 85, seed: "fbc38d7614d7718e931edb850d2c6f0c5eea9ee889b3e25bd69ac255d5b91e885d93e808e66bf9c88c655dc594da5792"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 558c8d93417ca4258010082da4d38b3e84b609b9549fb4cfc98b5359374ab0083f3abb8c66661591b1b6a4755293973d7f182e616b626bc65f0ae08b11f9061b727f533b1e6d2c9f06139660a828f2a3a48cd3aacac476601c3ab2b7c129c42acf6176763b88fd5350f527a40240898c0733d9b83684003959a08f62f24bdca21e2804634c86bb261800518b6c45e5406c5b9c447117f6192a5124673100209bf871e32708964b8a75f29aad6c56d20aca8f313b02d8aa38774b1f6452556c4aebb21690b09d8a76b7fff35516142295ec2691e2a2e3f28a1275b5dcac74db07972cc20cf88492f892960c798b459181f6ec15d35939ce325ce275a9c002a089f5b6b4e3c9e14306f4b3a0aec0011697c42ffc9e8939b2e46b9167039cea659d03d962232a3e63b426dba9515d5219334a67945c0ee825386e104dfcf6bb8a294f23f220d6229346043f480348db1aaee75c9d12d757fdfb941e438fa1c61f7fbc0941cb8279334836405aa2341c788632d5e1622a43408a1640f32a850a7b7a139575abc503eec02f46b02cbf6cb816d99cc5508eb4b1c6dfec5132a719bec711b5883850760fc97b0bdb12445f445544282e1dd07e626b6469a6c4e5b1872163026526b268c80d116221a946034c4909afabadb27689c98b769f507672c10b8774a5a3323c652830b9b4ce9f4702b7370a75592af936475c8b4a097b373fa62e7e197d4f0561151b93182644513365af6465e48474661a879f37c72005b206736d0df0cd46e070d642639ccc123a586f76339dceb3b93fe34dbf9b9190345f64933e21d2a2ae113129e7899df70423633514273959b723a98aba15c7419a669f8bd9a6e843b864b09efb426ecf902568f50563d0cc3fbaa45d3ccac7356aeccc89c34a043e575811f6055ee9714e934fa2bb5c287a8a49a113e283c178a33a9a723052e53d5e42a5636a9f9c4a9e29f4a6608c002056bb083abe4975226e79c7b46b8db723185a52497fe3905e0bc2e8f49d8cba4c9910b4bd619a6f016c321766c2bbbb258b92bd6369d39c7d25f720a1f65f2a8a84ea588f375b945145bacb827afcf69b7ce496fa14808ca69aa37b2c34456db0678ce262ab8e75678d7663a6b7a50ed284004d5681976f9f12618dcbbbfd35b6a8035e7840bf044c3ea4faa1f8a21d16198be30282f89561d6b73bbda53318d90527415509221a5424777c840977dac402654b9de3ad4c99aaf532ab3a4b70caaa3ab84979681c402e2678e93464fb7156f6e6bad7b8666fd35eca59cf965bb6fa8c8e4a283d3fc7424b00c2db5018ad0278108c8f2dc0b68da39305d89a935a0ca0632e969082baab6f7c408454a52553f38f6e38c5f5a88cae4a4595093f54866f041986f1235cf27210b9b62a0a1cac39928e01a6389f3c924a1394e11719c27ba84de7038243b96e405da2f0623ba689fb707816acbc2e1499e6c44247173497c95d54067cdad784872b57a3956f6ecb1424a3309ec47a69841c7f2005d585c91095ae8a83aba5ec3a012935d672a468a37e1a2b30d7c73f99ba6ad96bc0759cbe39272293a69266798fde18371c88103fe45a1ae6754e06a8af5035345c7f4409919bf6a43dd75b9af87abd67a04210ae3015a0cfd39357fc96e02c9e47a67bddc759de25445f17ce3993018576af8675b4330b8b92dc74a5eb19d8fa483d2c1c60cc01cde26fa90623e4d18db0e45abed6005a4a56e9ca6baf22cc30a175e4d30d15a3c9d8bc0bd4086e4245514877b8cb72619c2b7c2696ce5a7603fbb696c14b98e6c73dc315466fc2aff5702aa42b8ae4aa7daceaaa8e28921171545bb715e878a4b76888c269738b9267428a1de1817569f2ba192909901b9fa8c283d585a3ed7746df14b5a13a0e4fa55b13821c540a0f7254166971c1d5d81362b1446f2356d7b543a3788a24b27e2b417f98db00f1853f66876175791dc2802af44a7e02b16321b2c6eaa269a46622dcc9762182688e9417a1455096e64f2f63c3aec81c3a0787a407930bfbb1b6f72bea836bcc647d80a760479740069468aa87c3453b1b41bb6aec2a643fd78632866fdbcb127b7499a77675f57810556bbd90991dfda585e3008ee177cba2144dbcb97699e472ae86c3b91893262c5f011c5640e22fdf458416063cf516ea97ef93730213fec55485a0b580ff7defb016f829ea549e8ca6f813ac631631cb83581d2d33b3c66f9e7e06ed518552c70eccf267add0f31d8b855c211ca2985c1c4d203778597947d710dec806e36b0cd949fe460ef141213bfc525e5b
|
||||
Input = 8f3903b67d6cc90dad8747c5fc80f0a4908b4eb09154b92d642f88dda81720b6bfcb0af5db4e41ba418f0cf4f9114c4736297fe24b430dd43c8b2a9f9e2bdb1ff25cbf61644dfd150e2256f58e7dd3f86e710a5c6487fc9dedfcd1350254249287f41e8b3152ba80f9180886ff98ae351840b8fa5dad65a7cb9544e1d4d6a6b64fd34257cb8b9c31f4093e3424dd872f831bd1fd14955c1612368af448a9d0cb6e044474d2c40d67d875f96a78f31f37cbd0170c4fb68533d764ab451a7a969814f0f17ff961439ebd3b6f2fd79d206a20b75bd9e03219c7969585c8e1141c165a84ce44e598f944a3be3b79f2e2fb23952820f4be2c87f90f2475cbd1d700b1fdf152b9bac32dc974b64907d79004ea4ae0ed1c1801cded2f1b9001ea937650c229a09372710fc6cfeb09ab63e530385e17e7952e8f42ee0e9c2332297171e0edb76358baa43b01b21ee6158b4950ef4dc417ab1b8b4b8758b91d4d4bb1098f44c8d4df6bb0ea32838eb88ec52c4581bf8edeae4505751a1600781fe21b9e2694dc5af9372cb70261ec183eab1610d26da4e144322fb785a77c3a400b55facc31bbda121798bba54a090b77c90cee7cad890bc89fb6dc981dbd717df78dfac5102f531cd8c98d1de9f01067fe7c4ec27c719147ba4e6768812558e20953f3726c88a0269ef1b4ca305a64431ed0734db12d383fa52a57a28c447a7af491dc33cb7b2afd2538b8b11b4965ea35c8cccb9486580018e6132cb5e08747fd3c1d33b7f6c169aab3ba9a1477d47ec8da19440495be55a9435d072d730b0659ebaa1aa0e4ecc874d5e0a003b86dd5c52851dd58b8a4db135524d229e7aaa6eef2f595279b0342e6fa6dc83b1a9515486e75098ab36d140d806f28978ad8ed7f662bce1ead3227f0d892eb28cac07e9123d23727adf2fc3260fedea82c1698167154900697b35815dcdfec56d4be1a07631fe2fca4cda82e4d7a7fbf0ebb7fce32c0566044b5353bd6f888a0630735c8bd4d5ee6ed56b6a771593ea3c920dd56033b6413c6cf1b32c2d3c299ef9a5e973ed4052606f11c9281b13eafc5da344538bea2
|
||||
Output = ba09aa954a79c48b972904b3d3a7dabfee1128cdee6e407b6767fb1660699d88
|
||||
|
||||
# Official test vector 86, seed: "1722219cb5db47374eb0af0232c856a57f026f1cb09e5a5799f4c333dd422ff6a0a67c4da502faae727fb2d45dafcf35"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 78c973bcd5bb26fa51e37b3ca187a54dfb79b1590cc1786fe2d14e7cdba3c3147ba0dc6044800d0f9a2cf3b7b6b39c1898fb8091f76a95d8c75d5853e7587956e0525723332583a0e9657a9a9b4449d593f4e753b5abb08d0c093fd34ced3a7a4be4aa9c4739c39aa76ff59533e9cee767a4e3dbbb5820729e0801966064caf3342b4c2698e9cbacf41e632c8b9ea043033504fc7293f052b8a20ccbb076b4a5624ac283c7f34855d6aa31964395ab12b9be558ec50909e4bb70e2f10cb1d19690e35fa6b8aec3437014fc3af329a2251896a3a9a0c66868a3d79b14c39305873383e36199f782caac53c3a72ae92ca17c8333c471673ac59e2591c16506441c95130c0545efd2c5a9f9ccb4bcc4900b28820330480470e7c0a612e5953d1c49bfd709ec725e2b4b4ddbc7312ad60e77172fb7e4302c9762fcfa6b692aa30f7132f5e94163e7619834c3a47c8c5a8840f468146de8410dc70b58707648738d898545c9e18122493a57dabb4b09b835d2432644b9cde9be58087699e491ace36175a1a85c8098a22866834208aafa6c1379a8b2372a408a01fed40db13b679347773cc5b56a5941dbe63ae5c07bd6ea7d27211b48e715bd26b473c246c555badbf10bc9d34f5aa896552c277b2a32e9f705f540b65c62253004a4884758a77820ad427dbad4829df949435b887f184a3c153ff426ceae504ba217aa46f926706691b4839de20ca2f2d4c471e6b6284ba391262c9b703a5e32c061ea17b11018accc2981e41bec13c20a435147735285a17254a3727bfa73de86c2187a35e5a76c986227f84b19328417127628c1617f0bc9cbbf462d8f76723345922efc0b37cc2a1ce49fdc517142585e7b7c83a5b4587c16a96089c39b469a23db138a902751eb812993af1c2c7ac9f9b39529129c909c60e7859e32ab6de82fd1d5a50a674e29a375cb8b6dbe954a6c29127f8164ef0c3dd34aba06170ce4112581db27eaccc7649528040384927b2267ec716b7597ace221e18040c0a696ac28aebf0c91540456776878ff0586410ccfa7921df6571b76aa67d4d84486c050c5c43a33aca79a88963923b2cadba6c1b80445d6a701777c2d127ac30050a042aa890b6266005ebfe583b1f66324d01f26b8c6a4441b16eb1f849325cc60636e88660f48097eb908016362a131ced3a75bb06377e8f7ba8b504266086c1991b36f951daa81352f863327173fc98666b19795f3e5618e7a6006a5319da45311b3bcd80bae2b501577f4cd2e039542981d604458d85460140ac15cd200202a0f513ac323d6b6990c1edbbacc488a89ce5ca7ef9443b62552a23b2fa4d77ef47429a4200c8af02aed09206c2a8a5ec89e16429b592876dec7c0ee456d34d1c2141b0d73b9a71d68352c34c21428c7885c72260c6c96e09ccc28cef495258c0758e9f71c529accec16234937a58af4673d4c56303370b18cc84b936bfff657a8852d0a087598a64de56423de712e79a748819487fbb050e7428a37c5ba6420b85b335f25e5952c4b93d5053d1792b56328989f887d68bc161110864f92b42fa9a7f6127ceadb30ba8521769ace7852311161b37f6a40feab70a5d2615a1c5371f9aa8b18943541a0cba38fb7b2276ec24500c3072e7c8e6f99c7e7c609e822101e9231acd03c02a3aabb02654437409e259e996625cc068c37496570d8798c9ab18fdbcc27c372a7565fe51cc68fec8431151252b8aa0d430e72a84f6cb505da7bc002f55425ba86eee35a2b46a87164cf51d4510fa25eafd5a80a80559a140438a220c1e97619f196da64a80029c226800349a0123983c16c5951a232bb5d6162aac08a37d6648acca358a4665bb65cdc6a9569ba7e7e69668deb4007a7597d0309f7715f709805d6f600de9bcc0e791952b979f6aac0a4912ed4f3a7c13105a52a3f820a9cafb17592d2ca6593ce14a1ae50a105e9d4a4a311845b616792e3c30683822b2644bbca99194b32b76c8162c5cb80d24ec99aa1f2bb5f48e3cdcdfb9a01565b35d1954b430bb128aa4ab66d3dc9591ff82f77013d11d34dca995840001d19f236b8655c1f163c212b84aac6c859655e4441726abb9adaacb159d01ee0bb9bd64cb7fdfb9965074bb58865cb370414e6c7e8905c551c7cb64b3f92c70bf4284a842c70ddf40d585bc383a39cdc1e21d0ff5b32a3a268d9135e69d5556245e94a4f4f53afae13836d8e9f730bf1ae7dfb2223fd6a0b9c6f0d05060b8e70df3026f43d6ace7683f8a03d3cf04e46970ff7d6a12494ae12558346dfc8fd9370bf944a0102
|
||||
Input = 0a3f4e3ed46180b3dbd3c82a3bf6adee716394049038e8734bd5de7c64d2d6278a9d720d1958af1fa5ba53f46fc7fc3eaa144181f11e9bf401ab60165bf6e40664cea67c5d086f4805401258a98809917468d5d8c3e47934c33239a2ec31ab72567245a08e811825e83c4fdd1094c3adccebe1937250d5e25a0030ae57798318c54aa6cf5397d74aadf437b12705154c4013d8622f4b6586f47a84dd2f913e8cba07aae9b4cfd95f6a11190449b72ad5d46a2d0a33ff59a14826e936ca07ee384c0f6f7d2430f2119a972b8ba048dabbf0750c66309df1eb7c13e7e8075a6e46886ad132b1bf5344b3eb86cdf4c5dfa12ab45271a3408d42736bf2fa32f25fc6a932efdc8b29f2d8dea308b8050df577f2f5ab1799962e5d4fab2120870165c52b21e418590c6b3d817a0295f13b7e1767d6d47c8e148950057421062d620a893adc4a75067ed52a155aaac2a27dedd805c526c1694a53412281985397cfb191b1b106ebba29c6d9c43c6138035b1d24c41b242d4c8a7b0c81eaf81a337cbbedc2dfee0058efa658548df7bbe69bb8d5c147318abcdfd39aa7e4687641c47d0df6e743a96d6e07ada1f0f084736fa028f66c3cde7753beb5cd9b1a10396859850575f1f0f14093011c3bdb49f76de1b3433939be2a7353ddd3df8747b8d017ada596ff993873296e881e53232404a4c31483bbc5d263c8ed25ab0f71aa61ba3cc15f4cc4cfde06a64e495e5e4755a72b8a44f18b3b5533a74ad8b32e216680588e74cb554dd77a2574afe1c189b80dcbea270e5a9d447ebf403a2745cc8c5a6db09ea76c35ba6b6ad9798c3ec6916fc48f9d5479f08827dcee808b61f0c7e4466dc0df6b74343626c0e230d90c5f03b33a28a5c28fe02a001c870884db51d014ce8d65a12299eb21e435c01047be3fad3caed9aef4e6fcba6d0ca344630ffea6d2e01d28c77fc26458aa941b8ea9f7e82dc62a6524b98088c3b4d4d75e0470011aa69b42e21890f2c3a3e13f8725512faba20afa4dcd240da31aeacadbf5e01945b4714b0e5000d324eb0077056680384bc6ab9ca81147d7e6ed4cdd7243e650
|
||||
Output = 4af69fdf303ab72a07b75ea0bca8bd49d27846679ac934f1b47d84ea679aedbb
|
||||
|
||||
# Official test vector 87, seed: "ac139b78fd16ca0f26d6d7f9e15345c888d857b1910cf38d883339b37ead2dcac30f7cf10176f23ff34b4488eb79437c"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 25f3a8fada63529489f15062fc95b814d10cb39322b3aac89e7a6ee051a775c83535e8c3a0c69d6f86b5a0b1726ca985f6650c5e375aef260b6544adaae5182c3463f66086e7802cd8f844fc2b053c2554eab778c82ab80763b82de17ddbdc5d84db4d00051ab486b9fb224e534a1a4e1202481820c77c563f40b7d4abc8cb4c49afea3ea35506a0ab1a5ec1144db678511a2436cca6651c33eb721cacaaadffb48aedf420b4530bcef29c468730b48a92a74691b6d69ade706997bc0460f33cb5527695fa82756544b1412143075273857f5a098cb5c1428af2701dfa05b592acefa02af5b618a2553e00e112a4ecb0fee90ea918919577be07852655e45e91faa735e21284fa0a811cc07f485546680e0f44746d005adca1020fe05b1b81c069ba0d532a4c6d5a20a990c05dd84ab1321b2d87bf5f4c6cad330d2f150e4a1105020a74dccb3616cb6983684d92176ff0667443bc6a74391aa5084d15c46ffff4a55a47a99e6421bbb932c384bdd4c65f2524813cc109e86aaf0b868200a014fca0a57e44293c86034aa6560beabab2f97bb4d353d33572b5bca8657628dac5ab1bd5901ae499f81ac7de4c54b58848189ccfd53b46dce59d53e0056b24752573c4e7f537f14031f7da9a1607433247af4b10b3132a1feb698b25595a81ca231c833e4829bef13056b376005d12b152a32dc36361b8e39961d923da374c624a98a2048e3ed421d6b810ac50222f0742991c58fe992d397662b7da3bdb5c7640033a2d3a068ba7ae823417d3c2c1c1faa7f667735bab39d6bb9530f0b75129b19a5ca9f51642fca57e876a2d6cd69d4f0b8e66854a49e00605e19cffb00609b4c9d1c865f8089919a45a70b974f8cb592ff3152b794301219ae60c5cd0546d09661f68da8f4d9cc4c1f2b60200cbaa3265e4431852205bb6cb6d52163ec29345827ba55c91bd8c33cbd71240044a696c6baf6e022fee9317f2b34d005b0743e43a9d175fbe403ce7ba8c33c9777193864cb1aa127b7ebaacbf020c15638b8cda64b4d9cc427fb63828faa0928745942223ad956de6244b26f78f3d8c59f7a7c636236ad34359b50180d6a94d6ed0bdbee80c7f1806fa3096c69bc47e5a6abc882a7232a5b59c0aa372cd240416214007f9d317b30966abd262816047be7caaad625092908d09609033980af782552a731bf3ec145b9240a804918fbc95f5e52982630364b54e96e8029fc2058dab2f7a2222645a1695e6838ff015d9aa1fcf82b9c2f1a61fc68f18c3927bdb093aa6627cea64e5b0517983a3926b6e90f349be3c12f7b6221a4117ae58175de1622e292853fc45b6fc3c86d86fddf50c4c100e3dabce544c47d475055c9928c113683301ceb4a3b55aa1839e195884f857452a08a4701075539f8710b946b99020c6992ca683965a23f3254ff2c046d2541664022402e47d21038a6f83503f77667c176e2ae72d23c008a178a5a74c9553e945d4db4112519105b45c19892d898b98df1cbda00c9388868fc2d67ad1fc2dc2447d24d561dbda53affa05b3e1902b344c87f0cfead6227feb1afcf07df8b535f316331456bad6655ef5c28fbb048bb0bc0984c352b9217fd32b7bd5407f09377901171586563e9b3b15317b9edcd28cc595c6099c5488ab0d14727cb103b450ec76fa9cad7c71b220c2c288e44bcb8573fa63aec875c572474d981ccd51cb2e906ca443e869c721592814ccd4ab4e40a868c584255cd43558337dad68c544daac70c9b64feab6eb7bc0685a1914e9753d3abd6fc70d301b52648b7242aa8664420f00e211703b7de5a34bbf755c39324d85e25a390986765b9ac639079bdc5eeca12b5fc358ea56cebed733813809cffb43fdc9128d3356a0166d306b26ffb36d9ff63e6c252998979804b2b20d67aced52aea1d6a10e837323b6cce5021e08f0cf011b662d4576cf12b4427639c7f7c481020310e15cf0d5a0a0937e5187b75eb09ece03369df948ed30c32bba1e52f04e73ba780ce6c7f2e71d7a539eed220baef7a5036b74fe45beaa3b6cb877776768ad115bc80701501fd672dbb3cabf4c56bda835b7c1c51df4680f4833671b43000b18e3d06d925096dc4987da027077a6bf7d5bca5307a87b58c45620a70e269ceca67cb4479fdedc0abe861c29326f444f22319db3dc1c513a711a10bde1b871678646e76c447c14f753274aed30b6028cc8b25a75078c9dfe80202673ad40d43982fb7c16ba843828cf2d3355c3b97f7054814869cf7625e45647bc1547aff288dbb90699b2ad84893f3b755d9722
|
||||
Input = 3b0850eb69548de5bfb906ecfad1e2ced7411a6a9a39dc36090061b0326873cbeae61057b8c61330e2fb88d55cc1b8b03bca9a7523d2f3d755dd935a36df5574a263970cb0f9bdc09c019c9a4c013abdaaf6e8a0d279df2a710f797c98d160b0dc51a45e6b76dbf770733aff36090e476629d7047552f69796863f64e45884d55cd44e8ecd0b771eaddf0dc3f6e0d4d940317d1dfcd392b5df99fbc27686057f66607f4c5f3961a7c39a5b977a9e063ecfa038a170d00d08c8b5a39da5ae5610610495e29f81731bcbff8dc13da32afe919f52f675979c0c9669c7e8a8e1f42a145c758f9a18a8a1c4eb8acd8d55ea9fd5af2d8c3c7996e0772ad041f14a346a1c14d32dea177c91e0ea6c414136045a30775ba97975e5b41c75e49d50bb322af2fa251034f95ce49c4e4c63935e2568ca6a7e2aab0f4edd0bd95089d2292ca47fd36e86ef73a3719f29bcda5c4cf357f3c5427887cc98e4fb352a1eced9680e68ba5e4a8ac9e3d66d80744af5fcebff483d1511111ea09220e77e0740b626c87b22c34c61b0be611a884d9f13c9da7e723665eccd2f9f5491e65178f5705681ac16d3fb625bf63a9480d9016727b3159185bef1d37aaf2e64fb645fbcebc97f87d8d5513b5c55612bffedd0c08f5cddcf12950488057019a26ce078d05fd498571ea26f06b4db7f40e7ca6f6e900e0a8369780fae707215610141c2971429fb38372545a09e3f9f5ff0d8fe2e8c98899ff0ff9af5b0dc13f6d31a985b612e40c88f1551815d475a5a37fa6cf1a4036f3ef8670843be34d2fa016b83028131b62e7a834fd10467bdad815d9237a45cf808d8f7d3538524eba0877a522ff5671545e6b752692d270d5f5f45bdfe08815e031b9ccb2446ff3015951da83f38c2c3bd308008f88ad6ecc59dd0b800b97a819a0d66bf3ba00decf6c5523558613d583eb9bdef497f17a2e1ff8bcb207093847c91cb2069621f245105575e6b353cf761eaedf3257db504bc0825369936a2ac463fd36d5f11d356daf606ca2b05f49f95112fd82a6d1ca06f2e8dc8a29a5710f417e2f66a60e5353b3c9e054cca384b
|
||||
Output = ffc3fe6705226234506ded36ab2249dfea6b9d430c6a36e7ea2b53a7677c6fcb
|
||||
|
||||
# Official test vector 88, seed: "cc7152849c98d5fed2813275d32069e44824ecb14eaef425ce017448cd9a401c91c06d0f7eed6d22b7bbe8ba6c429ec3"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 4279aaa760c584b9426758aa3e10148a303ebbb20905b216f7ac869409c69e273b689c491c3355314c31e34509a506367686036c325d102493a6076d95a0b79b8754e8e7a32a34b174a3a17f6092b1352b792a3d5880b5a64812e5db43729c114e4131eaf28e10ba593e03a839338395e364e124abf9f15742bc28495b16f2d581d803c6332c3d6ef43185193ef7426cb5ec81734c0745e215d8118276941ce30cabf778b4dc61256fe9641382c4de5581b555be0d270350498233f33658047d538b7372140b276a861f8857ef0447256b7a8df0b9ee5b301de630d8e231e172ac52b4c1fc714c639a04bdea4a55f16ec32b19a1248116c9ce1a7722dd3190d3249239a17938a041b5c261b0d33584807681f02c9ac5721d4b87b84a450e00b999f0843814c20666050fa24d873c02c2017622451d074043f5fac73f7753bd482617b41052503c1556738a825aea425b1ed6afe47cc34de34a34f85fede775c1c40c48d424b450a39bc6b5475989aea7b299bb7e7c3bc1fc3543e155bfe6d9888d298b0a508d03e2ab8f0c988b248a6a1b2ee7a859f8224ff5702f93ca05407c63234773e964ac4374c84e97249dd70a71237a2ee81948617e07e16ee84b6adb462d56917a76bba4686c713c3ab74bd174105b595c21b24e32bc9dba7686a87edbc544cb66a603c188e61c84b5da97efe43d4650205ccb2017f53b35253d7cc4667f724ad879c366b2565f811524f0c2cd54689d9123b85c8e1d1163ce5866d4da723c081679a9932c724c8dfb1aab1667b7762bf0d99ff82c85371932ccd0195843c10f496fb2fcbcec2ab5d84336637826dd20003995b1a5926798153e8b811261b5035d963f110428b96180d5810a45f24388a56a27f9c0dda8c2ccb5a980c32488876b7bf5af54f25e8d8720299874fae9a8ed0948908046fe5149e4ac580e80a4f934ca60b1a76119830f1662f1171d2af727ddf926cbf6b68938cc584361d81c8ad3c48d264acdca6b7fc8cc560fb6b3537b24bea69357f72e47232673a11dff440832275675075a7b9c5229f7739ee73575f2271290b1c31b54bfe58d8a51bdc79a0558117bc9e7310dd6b07eeaa21eb06e58cb2c744a6a02e16e8f435f4c5c6252335878caa35b432b8f90447ccb49b1749335c4ccbf77bf42a97bf6e702cbd06612478c61a39c5cb68873465e2ba445ab161457588bf5837909d41ac78946b6ca13c9a0221fd04928601843ba833181b19f880738f01f30910d636b30fe3b3a64d5a8b3f05e815875462a7d4b17af4f0a66ff707583a3a5c4e2ccab23bcf92276a1f2c454c57939f649fcfb00f2e55839c66e9e097b85d4392b010b57854ae765188dd8b8a406263b9a4741559165188c04d1537203d04a128c3de8121014204a964f513558d4037375a1c4c0c552be899b6cd23e8db56414e6719fa104654aa115e99efc8ac71d5bc377215670552eb8d63713c0784e7c0c31282b8b213f6a398a92ea93bf27030ac9a8a72a2115e1308a022ee9a07dcd7b046abca16158c28af1b913526cd52993e74674ee6a70603930650b1ff4da40828a37a9e21f8792bd2a636882b26f0cca26b20cb239aa8ee0f02c5b432304580d4c0a7a6e07b6f68b7496138d131cc407fc2b4e944b94201dc2d11239b2a97187150a791fcc36b3d54b33463242aff47937474339f787cf42509d2a51a77454d5c71fdc296d5a289c3b222c2d47479ac6a126430bff98ab1857973a487cc513a20b653ab3220d94bccec812829bc995310b6050263474d847721bb26fc6017b088fb22660613a64136aa0b815a37a92529f4b2656da252b842182384df92b8471049eea72800b60052f3b196ae2201fbb0bdcd97526e86dc1c24a94475655269d24633555f48eccf92b9f0aa05d5771960c1612f5711d82bcb3f1cd9ec52a0235b9293252b58ac3cd108206a11b4ed1087c58b8fa7b4c9246650a385cf254730f9b19865333f1f13fa5ba69e690052e1291c12099b8d8420b22abb19b9c988a37da565ab446111bd43adbc91efd6ac743a16af757c7988468fdd16aefda6e38f20ef1b6c607c6b29e1601d89083268b9baeb121ce172bd91667c80b7e5ab6a8c5ba453ee89dd58299dc493048b75b31a51ccfe74f09303a8364231ed70abe275f1b682343bcf4f60d0979c13af0b6f6b6df9c1ed7485e32d88f7b4a18f3936b63b18d157f98f9d79387c9fc714d8b6967d9a4d3fc42b70e9bf3a92c91d141064bc0b96cd82c2f1bf2e6aebde5660fa73356982e12999d8fdafbb3cb186341d0386dead0
|
||||
Input = 2baafe83449cdda2cfed6b8a77cc99f719c5e5d59dd8520ba4036d2808bf28a800727a609a89847b9fc0ceba6806e3b80e6fee5564e52c969afa76c5d72ecb43c9aecd40d2686035c47bf99743d2313e26b563ff3c970a0bee5ad05e9db56c2391e45549e9dc24670a00c8ba3cc7ff915e106750be117a0c059046af13a9b5d1899fdbf4e9ca3109e683f7b3dd45dd68763c92f7040a783e5e0a7acde524e8f325834b3f8e9b14fd041ef5840b9c8a9c51fc7c81bd9dfdedbcfb32d6131b6816b5608fe52917f29432a326b2167280a21296635e28474d8eb3b9dc2e6192d665427918bda44a32a4814de1b09d554cb5977f5c09d98fcb67c1a67c46fefcc58da1ef6cbfe065aba807ed443261de6e7c6115441b92ef5000aba36af443e28b42d600dcf98a9af71c64f9a6a65ceea07b22f045980835ab34b4e6db55a4534fd7879a85f36ec8f1d936d959a0a4c93de5f36cc69e50f41a0250ec3809fe0b8659c584e8557a44ca20f8f9f2fcfa6f7175059f2125694345453ee82a740ed838746b3cd14bf8e764d8a256edd0cc6e5dcbd2c7f401b2fb4edfb612bfd63a527f6e2860fd7e1071a29871800828edd4baf6747638d73c15c7d5f2a02a5f5d030f056e76df5eb8a5bbc654244ec1a7a723eedeeafdb7f690b04b045ac0f968b1405d19bee8eeb330dec85e01aca36644bc25493e5fac0919ddab3880be0d6711c4f9da0f8447db72ea2f09cb313e1c094a82d41af710bc47ef1c7efcd0109614642a7d186368acc48be0b8a333423ba2c6423027b85be4d52ae6366e4e1c7d895cf4b83c376a5eac49a2840a6837b3e40f68313ca183ea27c0f76c1696bd51b00ad71aba74f5208e43b9c024f9a7804d908de3c977b8725e24f6d0493a04b08812c0c08799f0bfa8eb36edaf51dbfe51a6a4cb5525e0ea39e0d56a1c6f80a45234f13c745617ac8efcdd77a24b72581f9ffa6a5b808569e17a0cdae51daeef14d7e06fb8d0ea58a70466bb74052a6ef9f66a1320c00c559c667a044ef17d94312840f041c707a179a6493ef68ed8cb88635a1fae7a24e17b2a40068296cd2525bf56
|
||||
Output = c0ffc74903a9caaa660206f54ff6cc5c2e928fc12d07d079f8543e1df5a7d8fa
|
||||
|
||||
# Official test vector 89, seed: "96d9a06f88ff2c2036fa8e914b89c765e4a510b468dee40f914f78858c811857efe9fd0e17c0048e7389e8d996b7e2b0"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 36f203e5777e81b49d180069d96cace8d4b23df37cecc19da0a909628829efc58d490b1a9be6638ba00d26245102b9843349a9cf35bb08356a4e990e5df2b6f3063a825868000a4148397ff34522a5553b07040d97964a1a1b69d9e452b61ccb11a3b5449c813b4aae8afa7aeddc74d53563f0bca10fdc6ceed4bd0f8b6ae87c5d00f50a60533f6fa8a081a146fc390286e914dac921319ab82eab5df6b42886531f92855ed99b246893726fdc5a4824a703ec518b261eae620e22d37f7e2973507a69792ca2b6324c5ac63355cb5fd1341cf652ce487771181c2c2f4660681c74ba801cd48a0adc09339d396383f5c07d38754673a7e4153b5ccb63c6356411e95ba3785ba4342461231e7b604b30496b1f00b821a346ca98ca92108a6baa483b86c80cc51abd6a242bfc8722573216da4be0a9bd311a11c9a163e131bdc5c58467838310400df5515310fbc0e015c966e7b2d4619373a4bf0d54b34bd4b5267b2ed6c718f497a7b66cc9f949abeb3028df9caab55824fff5368e4a74850930143986ecb210f6258b8ff7c5f3e951e58c848e178b163510a353347b4c4a0f5b425590cebdc3028037894008ad9c22aa574216dde4a3ee4961c2445c8389c4e7d45be2eb797259462559cdc416c5ebe0b879477d5c398729264599710361316d975a4a841675aa0579a306a37628297e3a10cda97b6ad9683dac035459a6834a15d8a080db51774faa95b5a61519dc6bc1a7a912a82123bc8ba3d51f828569e154bd8c2a9f400234f7670fa18688b0f6aeb0a73c89f12c1d06a9f49923a76c51ec170b3e6574bdb01ae19479b17700691765a98675e9c8b210aa1873dacecf966ac250c779662a52ab4264cc283b939c93669de2620add614fbdd71cc1b8041a075e63716f88102b57d58fc46bc5c427a3c5403f343941a6109f81306a583554b0eca1d437734ed262171a192d3b52e4308471194195d29813b067be8a119daac6ae572e6ab82dd95018d230b73a477ef8f38b3f0551f2292aac04c99487536429a6d2d64671e8767fd40c12c64faa2aba93cb7746849991f202eba2c51709855875592a246c3b43bf94921926c493dd9962df81941bd730fff6ba55a4b64d044951057ff4e528f9ebc4706c1bb126aee414337555c3898134e4d470ee770f63cb0fc610179bb3a03180c08773b5d1f89faff4b5fcd482b8b126823cc1ffc4ae69d3c16a1b76e2c4abd32670a9b0ada35c99d1c143d39c84defc24b6f0617b3a59626927c837a941253b33799f7596b6a83c882b131241f93fb38c3abd007eeb6521d6b5798edc7542a995066c519149aea4e65a2956230a369f2ab13076d8c2dda500f1ebc654352775b954782455e9a8a4db1045cb4a50dda07ddbd63a09377750f7c7856b26beda9214a143e7f259f48073ac5c437585322c037e17899d343232196744b211a60ac168f5c323795a9ad4001fe7e6a0c2954c8757292628c0ba6823d8963dd045619ea00849c48f250b39bf287ac7b459d1db07ef26a3d48ba6046a8c76face0d7712061a6f3f7ca32198712f646be00496856c47754b7e7b787b262753cdb126a81891e3d37dcd585bcc2a8eb21a3c8ccbc4fdf313c99361cdd519284790031b313b758ce62c13f6d83e8cb34bd25657b8aa2f6efbc604066ddbe47c146425dde9a082547d2e69293ff02604eb117d403ce4d9ba069b1bfb476c583554c723c544173021d730fb477e2286943d267d91d85f77e46c9011847684a29c35a8458998ed2121ae1a5604fc2791832ba2658bb596b34d78c8da5267f8458ec26a3dd0e79e65638a83facfca3345d6d03fdd862116faabb3f847507889c0a570f9721c15e9452a7695fc1b65b588a29142ad1bd1541e58aee2244cc7f264aa235d9b0c368dc31f86c6b7c5d117e03a43e7143c0671a6765a5f1e60a1272b21a858559fa6a5dfa5bc01a727284c48a371ba42416b7236109a338a6c7514a0da9466a740d515450f094a96928a463702ad1413850c3f74214847185a95f9b28cc95644494efa2cb29895c49098bc7afcb92cf43837108c8139b83945647d466f8265b9a52b1a46c6cd5b6652dc98989e219ae0435830d56ae263145e01ce4e8caccaf7102c264bc302a856abc82b546dca43c92f72079b0a8faa29478d49d96774740df57c364159dc0ea955fcb45dc26d50d95fdc070c0907bb3d71f4a3d6f2e2c32b72d9919dde7e967db8a0244c9a5bebdc5fa3943b16e14c8f0d8b2809fd40008be70a6b184981101724bc3d5ec5e1956b510b82fd5ad0668a5a
|
||||
Input = 56137874e586953e1266c75ba177b75be69e71ef571f2d35bac5b8d0d9eef49b9079745c0f61635cf6a3b78c15a1b40338729ef8d3553d31c6003470d4c881fb9d2e2be4124a2bd6271f1641c11c33693bf01366f01fdcc6af5b31bd517ee667c26ea0204989bea3fea3446ee7701eb5b3d4ba166a2f8acb7d83173d7c6915717fd8dad95443aea71245abcfa9b0eed95ce13199558225ecf5b676581008e9a2ad66729ee06ea0d9842777dc907f0d0f9dc40dc837061ad967eed4465ff585a0afcb68c88307320bc5d3f5f6a1f942459e01ffe4dad7250ad16d03946922eeb64a8754ebbc5a7d2cd00c997bd6a05bcaf2fbc928f230c45fad80ee0a0cb168a146357707feb43fc2cd477b7f77ca52915524780e24d2fa5c0c5c84af8409cf6b29985064dc0d4557512a623317cd36e68aa77e7d0cad76d47c9a1f85cc57045f637f60fc5d19490e4466f710e91b380b33e33a0606c1b33a540dd60560321d238374e3bed271270cff55a0d3a648b2dcdbbece065fd50e89ad4f130ff4b3084be126024263792c566f8df76e025f5a74636b021c084deae325744243b85bd01ac70ea74fda10a48d882e59cc32be5e986684589cd9cca6ab18bfaccc12327e50949969366f2e0446d9253d792a37b2728e37c4089c113ba88de72c20a14ed6bc7c9978b41d5c8253a605f33fd2c3ac00f605fd8036aa4fbf3a4798192085a17cf94ec43f660b18e392d7d7e449d341e12fb996c749622828027d7c88780888ab5e3f628ae64b684ef1248feae84caad5ebce43a13337c0ff359e611ec0019e8ce3991b76ae157aee9e04b730e3c19e07913cb897bcd10eb0250142db0d094612590ad44084c04127d6e52c10116cddddb9dae0201dd7b651c2abd4b45405bf179bcd34fb3ffdd03f6065b0a047b2a040bf59049d77ecfebcc3292cc93ed30190a5acdfef2d18ebf3f77cc66cdc0e39a050290837388018e71ce156edfbdd57f33cbcbe3c21dc5d364ad28f99b9e473d995fb970c328614d110c7804264d224ea0c8eefc781eb76055bf0cd4a258e0e84f8bc5f7ae7fa8216e9696a490378cf84
|
||||
Output = e4c5b2f26118f93f7aaa899350850a7580845540522b94681fe1236f0b70f6bb
|
||||
|
||||
# Official test vector 90, seed: "d26ce360d399bf7b89dc364aa7ac06bb513eab8f527383e93e30727edc3f22c262aa0ec70257b39edff0630dcdc1b79a"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 5bda82cfb9b1a6f03575a26fa84a3cff27c8eb9512d84b98912094a009328338094dbc5bfbea7095f75a9c030017669e9df15332bb0cd37c9f55d5aaa4dc458e0236c86983d8c9849e7b34b741526b5b84d85569a129372563851262001e16ad83f9b157321e33557f9755171f686207047156bc52b0cb09cad1c90f834974d06b6a5aa2fc802b89a2a58896631e6557501975b7b76c8da1b90c9a8b4908b51a80c8da9282eaa59bfcea0fed8cb06fd4820c518bd3532c39644e06a50d891b4b50021bbc239aad0c5e25fa3c7a340dc0fc734aea2f6e14ce719995af54bbf4f9b1c0038167f36f9b750511d3229a90148ac1b5b0118387fb3bc02391002a3aa057c27c007a00b7437756b1647cc2da3389c96a49ebd50eef310481728e3819868e1774125839f2787a4bd706bb6557526718306967ac075c7cd72b96abc8e2c8655c535a6e06c89e7b3050dcb460569edb7ac855d810333043fc11a6a06335741a8c64806758960eabe0c313b65d52b913b4a274be3a3c4cd0c07c309bb4956cb3ca1a6ef61b88259c60a0534d8983cc1a78e8932af3bbb6839584fcb34565ab9fc45827089c81e985ce9bb33aebf9cc7de7b2fb5246af30cbbeb51e1b59b188d6249f126e2e3154fb2c4a2737bdf7550629a346b083cbf1b8478038c5a7d63be2f13a7fb27d932b07b39ac162d666093a0ec0a4246fb74c34c79fb00a286b2a5754d477a9ab2bdc709114f1ade688c9fcf0545ad3a796318dcf036996b08451a608650399726223d71a3edbbc46d4770d5f8c8b46248adc472f82604fe119cabc98b471826ce5f97260e222f01721ddfbc924b678c4e01c2629016fd3ce55c4a52bc0c143689dcda04f79dbafea88a56df79850940e99999cab54b6755258548a24c2c6bebf171ef7d36e5bbc567d593d9bd6858abc102cb19c22a31bf8d02027f822c17462c0d32a8831c7b5f8a0027139daf232f654b27b12722b6c5f3ed0336380856875cce5fc556276942b137a685892e8d55c7d31234acc308e31217fc36b6b3a524976696e527a82c4ba9ec20aea9a98f8795d0e6bc52c2b886ffb2215ba2514672a6a600e7a2590c2759315f09be34160fd954d83992e317412d8c358b45b75c6604d1a576ea8b1cce1a4a822655d8800cbe5d735bc60ce96372fe43112b461b932b092e52619d42368d19b60c459222fd7c0a4b1709cab0b7fba2dc4758a412206bbf8c212402ce0ca1619b682e895aefb053f92d315bcc3588c4c407e510c8173c2d7d75b71552475766e34084c8655c1b14978af32123eb79ecb3a6889b34bc996a25891988900c6ee6c993e492af796784f949ecbe910bf2b98090aa814dc5cd87469785a433895b1c81349d5e2c6c673526801414de956268216bc1c8852dc3746351d99e56ca5d9487a8bc9fa8b7a1c819f90fccf736198dbd5b17c66c0f4958bb8a759fe8693e3009493b4b38bb419d1499a3077269a200f38557797c48e05140f647a2a92dc3d39934b5beab32ea55cf2db9b2da3b3c72831e36aa973f68e16e1a66c7230a8b13d15baaf09725740316e519b12fe4243a1516cd5f359da707deeca63cd785f62976b8811aa3763be93d786c1442a3aa7cea52aa9fb767ee83605bb555dce9501d6ba7fa402b27acb49534a2f5fd07004442b797404b2f507881c9bcabcbd172704c0a2cf53835410f1c30a6872150b200c33becfc4466667c3d86a527069881eba97a35123acd3c1f295ad0f727bf3319a8f03962c3a94dd0000fad9ae677c2d953481b76ba72024cea8f835b88a534e5998177a2ce6d205103488a0d119c2117eebd77c46b10803037d7f82b629a988ed58b9f157ca183a4dba7a23eb787f0bf7c675450bdd585d100b0cfbb489317b6de7e2cf7b111d2d619abbd04317928fcdd7397884241cf4cc5fcc4266acb83f562b58b24565b57f8887786a9589d16847358b09a9d1c0d39c60adb4a767fc02bd27812f40acff016547d97314981960707ed6688338b530b4979c5a7ab741078dae469d40702b935b521d6397d23c8d67e4a07fa4c56bca0c7ba93b4e0618ebb8694049616f274f30f5016eba6a93faabbfaa242a76485fc371e1d22b982b86f0fc773ca833bc446e9058a37b62793fd934b9a9625e4a55e7c44a2a518309e4b7f59af9e5d60d7fdc7209cf1d1ffa7a2dccc45e3f73776fe5300949ee92cad801bece5ca55652de7b7f5917be686f171b7ae79cc71abcdfe2e1b687f72ba8804ec95fa08ed106ce84660e8a4c90bd2b22634e40769aa0090a101c5dddad45edc5
|
||||
Input = 0a9f8e6252c80732d8cff9c45c552b69e97bf272a5caadff7313675d5ee51eefd13d5a5881d9586e3d53e8a7d5fb0610a40eccc8b1217aa16ab196c0878fbf250888eab622b5709e4aa79549fc3a3b591d159f8b4194db09317080ab0f1707819fad2a9c623b54385d95a545634b9692ec3dec1a91b075de9e7cef978e6e9dd17c2be0e280c59ef3d122ffaba53ba99c2d4af47b1c4f44800729bc9619ade97034ff7dca22b037a3baf85fde27ee1eddccb4ca041f5200341af3d27407dad5a6273e70cd4a9a2f6acc9b7f4cbf2af5a313111156a86d4b17bcbc3cf3cd8447a0740c82d6a9588ce4fcd3b36733ce99c302e7dd8c5be28541b79cd90670c2077c791fd167cc720787e44cda426be981c094346b960713da2c36e1699c098c2aefed2fa1dba305ff4a6a4a7b5f084fca8e011fdd559a52fd2d0be41abf79fa195d9868d3867046fd469fa24a9bcb29ae34e95efeab17f5a44e992a23253eef273f23146d2b50ff4a059f05df3e94d1fe8e26bf181f9f79d81b12b1bc3bec21d2b0af76104585bca358ee9ad697861bae42e4582ebb009f3d9ab399deabd678d83514370aacb4e9d0ed407e06d4b3baa546eab48ab6905d8c37e29c2ec5d47c0b10cf6a191bc0068ed5eddf14ce6b93b562dba255610e19f8aec3296adc505c3f8388df6ef3e68a261dcebf03a070d6556126cca39d55949cd804a1ee76726142605b809f6806e877577c5012436dd211983e6fb7d5fe88b26e95eb3551348b104b32c8ecd45f719d9aaa8fadbc49aafc9921b26151ae24506a5931b7d58457c5654d2aaee5bc76e1d1042d5d4c1a15152f7031165b35061a2a4d1492c4e1d6635694c0d0d5b4e10d756941a3ddfe9e5c70d3b1a2fc3a34c1a158d3f140b4ee32000756121edcc7ff24dc4b7df5b36ad0322e15e318009b7a4722031487120963fd4af9906af0a0f802ffed375dbb81f04636342d7bbbb580ee41a833beecaf78cc8663602426753b4922c54ae373a303f9b0c6db3c09f0fec1b18b48b257a4dd7f5a44bc6f7e0b70d4ee31d6bdcc5c3e87c53b43fd6c3015d6ba2b80f5782a58d1
|
||||
Output = 2f2c8b7bc2d69d8aa65a27ab9a6f120ed179e358e5a7edc9a6f0a6c852cf31fa
|
||||
|
||||
# Official test vector 91, seed: "c5856298c3cb6ac9787a0f30938537ab2635b96f6d19cc9522063360e7a5c88e644929d2879180e3e5bcad2422b7cfc3"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 3e1c6c87d83191584964ac22cd5a7756d6b7ce80581686902180c478e28e23d5124e9b8d5a2b189225cb16ab36ac84bea2d8271255abdb34c39b5111e45a773dba23b2c778bfa1a826a63c1d20270d9268a9d41937d41bada37a86b342d0969a07337cea8586cbdc7917f5553cc31a260b1ab2418b6a461ffb41737ff3479ceb3636893ad5612a5e26b1ccf1aa193653ed5aa1c6e932392ba1b496c796a5cb76e3b4caa210cf869080cb475cf8746ef618a9860654f1aec2da778fc58b0928ad9af50399b87ac817568581b4bfd380348535f41b128f497dc43936923691bda3a7873c96538a01b3e318f910a02ba0569af29958a5cad1a3113e71551ad810c998cfdd2c21c6da7f9b552fba0244c7d32147586afcd6c44377afaed7ca6696be7fb36d16db0194e20584e52e2047176aa5a225545f874745429c2cfb0c277d7c196595768d2926a6386b720bc018949f27e263b9c7be47f7a2d7f919fe4653d7c3b6a297906b04ca00f8c0a17761ae8b54be62bd05c54834887980a80062a9bc84646e47d466c9883e965cc25045506da65058a1ca1e2821a6a49275e736a93272e40270fb9a72d0440d5e81789c22b2dc567b52d16bc8235a813b2a4a9c7326429a17db999c48741fa6b7f0a03496447cad6b554f511dce1b0e0e9a05772a207d98a6e92782302210ae546954abaa3f7cb7fc17290263a1faca82173614e9e648d767bfce57219ed06080c7000fb5bc6c16c8749007659374bda75c7398bb9ae7acc449379f646ffb993a594c8967294ce242c20456bc52db50699b551a138d4b5a29156b42a1d21e9252cab17273bedb163cc95b37756f9d288f2af39b81140f28395cd6c17c8f0b9b8e759b08ec028ae21885eb77568924f140449d836ca8639d3411cc916b2530438c9cbac5bd252043706161922198a38edc254d442700737ca5bbb6cd2b8ab64007557c165912037aa1a670e96a8c25a810c238659cf1532db86142d70af6fc2740e15aacbc8c6ee00bf9eb8e8b603038e3ab7a20c908024a0b886ebd0067ba226ff4cc58059865bb991389848c4b1037b5ac4aca24c6c9c974e3dab3fe2c2fb53610cf0c64d2038dc0b96125095e69f8cbace70083730ddf1938e3261b4d598ea1a032613bcb7f4a4db4c3c0cfe09350fc996eda371e946032774dad6a266bf0a3c1242e9cc06b633ac530d22e36cb6a39bb2f32b7c4f62965031b128bd24487c6c9eb061ee761bfb9545a7a36c6af4cc0656819f9a364fd12c3891265fefc865e779b330949aec318153c16a7530b22f390df2044ca416cf9c5931190031e33167a639d5aa352e4833f58b7b44baa03bea856ee29a8a76050a213981ec18a5e662aa551864eb58baf85457396cb4a72a685347fb2983b4d852d33e788a35ab83086ac28f97f2fba145742167d16295f78224667672d262aef76a6ba1541440308fb68ba80eb6f3d078b202b135dc2abc51a2b3ea9a276a8500b9551c48ab72d466e28887b47c93c9213be5444412e7679418187913c5c27e44fe6b7393ffac36496ace183bd8bc894b1e819939b7af79a3519b045f0b3464da6a827ca918fa086f0e164178c6d3cd108e767b143794f16f494560338b6d22a4bf3ade3a31135a82cab943ebf4161f69b2a93f5c760545b74e81153b94a748b45415569442937999b7edfa48b275c07fab050b9732eeb0ca8c5b03f8fe99756e14e38e84f932c88f5f014b793c407fa62bcf744cd2404edf907d3615139a881f1805b92305d03358eaf05c70171af1bec86bf360771fb10fa806591d811152ab2b38873dbbb04584040bb50375c3a016742c7b7735a27c148cfa9c3e63778cd70927c26a063062f2ba029961405c227371b47a634a271a20855fb84154c486cfdb2824c41b16540233fbb37f5d983f209bdf0a72ad6ba673b6b42159a648f585396a18ea8c041669b8ca5442c5a9548f926119ff97258cccb8348c95192a12ce08f38885fe84c92029ba1df64ca096c9801534891a473664a74895323615a23f863ccafb9424e000e1b74b0c1e74c46b4c520a30e9be232e104b27ff3968ccb728e0a2785460151461d8af52143082ac93c847db1ae32da243ad48be5c9a31777472bea6d46248df05587ebf94e34e846b5cc1f653b35d8096f428921299508464e7ba0b0e4b572ecf7dc0f591254b2e8ef7ac69f7ff5ddd35962a12e141216a25195bd89a10315ce19a15765a65eaa8e2a9b73273bcc6c5366c9923fe15274a8e2bc08fe818b117ba28c5dfae74d54fcdf6f20052f79be333edc8dde
|
||||
Input = 5b20bf013cce8261160c4cfc8c5c0cbddc78f5b56635dfbaebc83fb6cdf7d174d37732ae8fac80f09442fed1d8cfe4dca144184dea3b5dbaae85276725a6240023a71550496e89ce212d8a3b83583f994480141a1d47fa48e582f25f5c0874fc198818933b03e7ba50f78689a2ca0423b07f4eb143925d0f9ff8e2a61966aa019d79bafe75edd1cdad734b68f31635f52e409a4f4559f47f4b6cb286db8ec979d79a0489acc43a8d47eab2e44acd0e148bfde60738f7ee67a178a0f4b4e89eddb8c4a0d849fa392c6ea73fad95f93ab954c5c713128b656dfd7ed1b282594a9d101b5ac9ef8ae807d0fed0509198c99da91d0c1756da8a41bf8a4a129dc4cea4443e3d5b149f2569238c450c4feb4ccd3be2a97becdbcae0a3756024af205a546c022fb5f5a3afc23ccf0326eb742e335813ebf83505e52265046a29b340b7f8e437e93f39e67ae5d3ab4d4bb3675c99dc9206918ce7be38ef2f4e86e679791be9add0ddf99e1107a22e07d97107fbf8123dcd71980b186126713fd6b514d3266b7045f8415198f6e526becfa53c8d0baff3fe0b860dce187dd2c243c8046bb4baccf2d2fbcee9bdf9136aa83b0ea8b081398a23524486bc66fd8edfc214b15b5e9df0507b2a66fc91edab62e3d059aeabfec9598ee06b82970e986556cc558196d74d5bb346f4490502228dcae8fd71587deb45ed3b044eabfb47497bfc9b0c9d49a6ef02444a7d04ab8eccd2ee4471a709849272335177130fa1824921e1dcc0291bf5a7565a00fbfaafd1ca9702785118cb3338bee486a3d7ebeaa7396fa44ef1eff77e2885ab927321e26d5975881b8eccfd6dea1ef71e008cfef6ca66ead8b6a469bb3ca0b321715e4d187833748ccb18d742b235218dc05277547428f53766294d31810987ca2a66b14947b0daca9dc13bf920424d2231bbb4eb0d7172ca807d18c9f448b1712860ae485c728eb1fe520a0f0a8bcc49432823155d34ff744ef0b6626c725dd7a5dfd7e050661b5db3dcf2ae75d2b00231673cfb38bda9bf48f19d31124f7588a1bcab2182a9f5862c4755509291b0352693d272dbb246
|
||||
Output = 921a38055c96bed7e7180d4ebc7eca6aa75192ce81a6a1f46ad73ad668b33879
|
||||
|
||||
# Official test vector 92, seed: "a28ead0a08e7228aeff602b16a1e752278b8ed1e91dac67994f5adc372e1d82f95cc390cd97ab9212275e0566c833fd8"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 14058821f9ae9161a750457b45d42d06275ff1ba3928040c820b03ad417376a347098988421598b50c8fb7c14217319539a70b57eb9e358bc2fb780f6c961bb2ab5a6f79346c563a8b7aa295b87b1dfc52537c795c754e0a977af1899f0fa96666f436704390bdc30b2a0338737342a7076817c03d5fc71d781846e89c2fa8c90588398679da55ab6555a37679f5967dc53c7b6b793010a6780ef6b69a72542d903e0b799a290b95908a6fc2f4c5d8017b85b1b47085a6b4db467ae44639d9bd6d488f9e46b131244385d8a51382bbe25bc0b3719ea916c0ded603bdc64a1dc403c151804c856056374049c5b17956b70a9728c717329a87bd9686701f939ecb5c8ecfb6cbb4994565b760f7883d13f0c35347371d410d9c0aaecb4c407c4464b9709f5157669713067f85199095b8f7aca43e388aba833b386ccfeabb9e5aab4743624e023b505c78173c398c4f36141592c164a32ec3c37b7a634776324f7f940314777213a27a7f73c11d921cde145fe6f548d259410478a6b0171320e76d1ec91fcc468994703710e866121b2854e997241515b8191208f013fbb451dc88a32b510f3c80ccfa53c699a895e18c71259611efd0b43518a452e69b31c083e7401b18fac7c7627faf9c119e838381aa1bb79697798970d82cb4361582d6726ca2044efee6c9734c253099bde966580dcc41c20c9b8b898689f16570794361293914980a25d1cb948c3046b1318c9846014894d2719422c791c9db6e0a6236c42ab7b869a53ea52d0fd90310648ff291837c897c1d4c46866179a2a4ab2f366ff4cc154b542515a3512c6c9c3a7c1674e96281dbc789c96b82008862d77a1a689a08ea88f9d6208062161fd48044941c613905ee2585ba43c5f2f59882136abcd595a3ca98d3895cd1f78d01291c4cd143ebc5cc4907590511cfbb6cc339acc6f59c089a43cda406afc00cc878033605d08083e52dec22844ed8554da68504307d0ef627cec416455c1fd3e3202f1c55731196078688e49c788d19374f9a893d546c699cccbac338fc8a6c1c6474037a3d1c653713bc41cd114effa08f5e80c091791a033a49c5959066b887fc49c7af90286b6a1bd1691c365c3cfa77c50bca224b4bc5dc2009aa16cc465603a0a51e0c522779f01d17dcc5df97c887c113f44bc2db825b166a582ada87c38b80e1484fdc67aa292a530caab7ec6913c5308fa8d1c8eec7bd75f0c12dd87da5882eb45b84ec98067c32a7e4ec76f73cb3efb705b04a7a6d8214b2b86d407ba22ba54e2aa1ac2b6629ffb589b73c26edc28ef5c74a640a90d9e59c647993321b2990430952ecbe13216429d52bdf94bf1a763e09fb6f9955031f4689192054b95a335ad71089b4965e39624ca23a12314f61ca9b0664c17b869dc749b29919041fdacd8cdb4e40aca0717c93f48319415c4535f605b757837ae6bd285abad6dc9e0af98af31599871478ac1c97c93982d9fb90b27a0bcb586dd81abe25d9aef0dcb26b39032438c196fa515d827c0f7b68b92b68ca794adf58c7c3b94b98e6b65504150753a3eb661d401352d76b604a104729119d2f8c8911d5b6bba739bd454d62517ddc50447db85fe19106e58676b48343eaf484cc0591b8658ee54943324913f82ab266a73c7ce899dfe53eb3652d0989a5e1c9ae7685537e48a8237b7d5f1c740caa6b46707e8f22b5c56b6b08f54736b0392ca86cff87af89ab4101310fb7f36625038b75c261d8c41ff03718253765744679728714f1f34b043330b28b1dc446a119e7c0321cc2fe7c6fa03788962c5b93d38fb11116e0d9bc91f2cc9757796136366190c445f493c88c4d5decb910216eed794c64a36f5a53670ac27b3205c7dae57f4015b4102157e9f09aa8391eb6760692d42301b304a495490f3b3c27f3714f3057a2e64a6601aa7707d0c1054648ea0a6c67b5d10925aae93613234269d8bfdc77a0d7f98951e2705eac8d9d7c734e311502897ae34549f6e6a78bd8b6446854c8082d7e276996204b14e27ef8e9ab68a26961469cc6c83fd7b40472822b525a1b7c187b310620d5768737b17e723935937c6c72757fb8d658c0b143519ba0ff47165d105693623e6b73c452247c3530b3890973720a786cd37e9da16accf5094d749fe4d9a2da3524fed816832faf1c32ea1e161d04b50ad2147a1a6b7d8c591efa50e226c1f06cacb7a77a473638d5ab7765f1748d03eaac231bbec8c33f5717af7f95be3666edf99ab01781c38c2cb5cfafac81b96a810ab749b61806b6d54c9f8cf4bf1be0192423288f
|
||||
Input = 1bcdc1e24d028f016fa1325dce3cf4f4305abae07a7fc40e33e594469835efb798987358e522f597fc323db5a751aebc3b42b00afaacebdd862cc2be67da33519064c9f8d8955f39f1ead5fa41aada07a4e27875d198d162b27b9db0770bc4604da356c41dc63a71f1ddad27a67c38a22a6ef82c299622f9945291488d7fa7660247c9d1c417cdbd5fc52810455cc2c9250e3380b3ebffd58c3baf7632e55d9b87616281dfc4fe7cdeb63c76f91b7ed1abdc6d88afe68faaf9048a7d6f14bf87996d838f46d1c8b6bce15fac9ac5273b85cfc638856a48c0f10c57fa2bbcfd7e274d015ed22797fb12eaf78c84860ec0a155951b1e0ea6345060ae5e020a8ebab513189dd14c3d637432d2dab32a775fcbe2b0c18469ea0c9f5913078bf5332b9ac552803bf9481aabbf2191070cdc5f47778f39e1e7d364c980a9ab5357a5cab5ef3a9fe539f6442acff73488e29cefb350f43bb6e0e28329d78c097477b93fc883357c6550a8eae7b226945589c0362e6d1f0ac57c0ff8249b9d761623e74f4aa43cea05254af4bdc3c9111b9fbb9e7a8dcddaf11653e8e5ba42a69280877c7963491c1b132c06ffcef97df094dbc8f0eec8385c86218b94ad04c444630f3f72c3fb1b276ea95dc6b3737465ae1339db3bcccd56467d96b6e9655c535c162c0b904322526ba974c6eff57fa384ae986d04272277cf3573830fe2c9e40fb10b4663bc360398a6acc4ba07d9cf73898fd9f5ce4d7177c2aeb3441e2912993d013cdfb38ca9692a345b8355db46cb27aa181d4f865bafd91e07749d56a5ec8ea4fce2c3ad3cc3c1e03d976e8bd911e29ab6ede3428cb3c20a92baa4c5caf652c1bdc19b674818eded07840585ec37993db7b2f3837f2ecf45b1f70fa91d56effb85ceb893da444695c090ffac64c991bd7b61b31384f2201d5edf55d68afb725dd89082afb336096009f509b2de78332c0d7f92af4ea27f48762985724b05c9934366d0ed4284a324191b196045154a490bd4ff3e5555553c2b644b349526b711fe5b00dea334920442fd59ee8fada6fb7a58cc05e53f42b8c59e4806bfa9758a
|
||||
Output = 218bd3bb5a1fc53ee08c4294c62eec9c99e3bd05ba0c102f8172005f1f2e5cd2
|
||||
|
||||
# Official test vector 93, seed: "92877d706daf88ef3412eb143db8cd91bc047a9a43b7acdaa42523560dee4c172697be4332042fcab91135839bf74ab2"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 35c4c31a9497c0c4a69803b037aa2a3cba19e0a6c88f09179dcb1267fbcc1e56249522cfb2990a1837bac6e13d7791b09ca442e588bafe038229223971b67efafc5fd7580e867499039a312fd488def410f57b2f7debbee98a5f063711336a126c682319b328742a09bb46b41936aa66197f1be28c2cca79618b831feaaf4d5640c66c5a0bf086d4797ef9f55c91b4ccbee8b5ccd2a8682ca153a749f0b166054694c5d698f1298a68f92165786d4a527316f888f5463c2c9302f0906385eac85ba63b553b06fbdb35aa229b8e5347fb8c025219597e2ab24c662f5da771d724cb3a2c0681b76d9b48af4132c720db07f95b88b0844ca3c6381df15eba815a55dc341c0bbd69d9948b60a3eec884bdc54f10c107ff1b79dc143113b93fcbc35f13c122dca83200fc9ddf2548d61b996ada89233b07046c2daba7c1d7684b6c4140941ac1fec8918d11970b9bbb7e3940160021e972a873f54a439826176b7a03d023fa70713ef568b9635aea523128c197f713b21849acf738ba1b79092285c446d767e3c68a1313a1224a3d34b916475a6199574b87ba5cec91c838073bcb373c6df94c741592a45b3ca9d52fc4496e54433330117a36186a134b9dfbd52a1b603ca96c7526d159cf5234966caaac10638198322dd205f59a516fa651a20445397b884558a6cb5738b118509c2c9d44a50dc29357f218b309cc9b49330e07ca9d37606d8775102420b88e3a7e9bfba29ca7cd053b3c6ff1b05f1b8961d64330774ccc076d2a1110ccf11beae996ef859a6cc33eb9322bb47331bb52672f397e509c865fc222b1571398555f6d4cb484152130f916fcd85d64960f11830bcab697199594ea8896e07c17f5940475383dd90b49f8a96a35076fa2b0b66af78900596d40a6156788a0a6712408f643217a5ea4b41e366658723c65797c09cca970bc14ce6d2883a7008cb9fb4ba121a232d901d984af6db48c5a9b1e7798244da17d529813fe0a573b0b96fe94c97178aaba5009d35b42324b922e4a42c287adb2b9a323e54200ab73ae1ac460d265ab46c10f781ee0a628d33c2b4b2053e72a3a269123a7e0259c74423b4607ac9297fd0084f40ca86cd90d7bd990500569bad72010db32c6da683108c5fea70f63c9900c6acb1bb3a819434f8944c499976e11f95a7d225d3d73b4bba2656c10c76ca9c1b619077bb79da05687f954c13257a156248a98751e74641991b97feac4bb10b5aeadba8f6d3694d4d957bb7209e583a9aadb69be8c1cf94b57abdb75b73973eb7129a6788088fb7ac6621978404fd9f10a3ed3cde6803a58c489f286029df38512d322761a5ebbb81266b8859c637476e2576fd14ae22b946a93c69b1c2dd2363d424a1fea960289e5420a0257841736cc561d65972391f3c6ed2084b5d9c8bbc45bf871cbba72bf1c0658b9449064cb30581201fd259f69657e0e0b494009153587a4f2aa24297333efb3c7223a4d79db2ecfd0cd5641a56fb54c69f544b9e42f47e458159b074fa4af2c53ac56090265353c4588ac57c7c8863b9ec5a88ac149ab20e1631110c829eb61825c802c4b7a8a7613ffc68151429dbd8313809a7bccdc39e1ca9c96615ab5f0b987fa7d6a537233fb1bee2053737c87f72c3bd381b7a899110a53bf83417cd7e2581f117fb5097d015574705c3d98118b2823b428556164861a3bf97e7c35c1a6d07b61fa315955476c1cbf2e487fba757932c82953c60b71030e91b6b2abbb4d4793565f1c0a254385710bb850f877ab4b04362c88ecab4241abc563e5c873c715761529a5063968dc29bc878455aa6ac637601e6045e3d8766004b04788469352656e12b3694b8ca86179eff82fc654443b240d3d94c91e254c6f4b0982c17ffee96f52a319221027c9d3207a87a80c191effa3cd7e74ccf6474cfa40599efb20e51b47ed65a9804308725a010b4acfd80b47438a7bc908761e5865649013e495c9ad5642f149a935962a6a81cb85accf530a7f33b7c332b8554f46c2125112da3535259247ef9acfcf259cca793a173184360c2b5d8bcf7666bb8c0437c9b2ae08679178b55b0dfa5aeb5493581a517e622eb249cdf95754d440cd9cb53fb8b1034556b5b8b9aec5e4108e3c3275bc20ff0c6b754ca6b97554c2700ad582b24fa464459f41f46185133a9497e93a7304fb4a9bc9d9cc5c2d3b1269ff64ec9793054388c5687884496ccbd4372a334045192a50e1c410459f95cc29fb4c5f68401c8ac06c5bef7b6508409daf847a64c8d30d0974fd3ba7476dc76c46b458a036d884
|
||||
Input = 0a3e25e957227fa79beeb24419906d562ea3a117c0cbeb15095c78b9303c3d9076200c19a03094dc31ab62843e02b0e888f97cd6d4d27fcd828569dd77f6e78517cff7d0cfd463d0b0f8d035b74e30623f8ada3112aafcfa756d917a0d20377bbd5acbe9b4473aca399c48919d8e4d425cccc287df489ce879916a47806514002eabb5a1c70508b4f574fdb7fb2fcfba51f36efc96fa985e7a4ab2a518bfe3064141c11743194974a5a26f35ec245648b7b05b04c52d0b0f387a77e0c982f96491d0ee9503a43e399c50cbd22062d79c911d9698f1fec2bc9027453e0957346f97ab1b6d654e30cbdec3cd8237b020f0e11668c6f62368a67acc95459d51a9f1ccd9f40d661e233c8b064c050751a8567dcb19515ec01fd61e256f7bb414c033331758ffca9104450376e065cc9b7133b47ce4a54a467dc95b96c4e2da9119f8aa0c004ecdcbba9b176e4edf5471d6221778ce3bbeeb3e7b4192dbd6e347b1c36ca55e876c549c5b2632f6add05c85aead3bd83bf0a3835704187c7f8d30d0e5253e9fe02b14790183188ffc7eb21404cb8d68453b82edd91044d51a5fe44600e9f66da9ca902822938733856bc9cbd3712cc2d430c44683b43731ed85bfd814bd651df0866c9c90dff4844376d6c5dcdc8ee38fe16a3daf7c3ae73c0d2c2ecde3b8f8010d1afe9ab0ed13469d8f24c843bf1078b518fb22e58f03acf9aa326a2f60d11581f62f37a2984cfbb7affe3eff037d10650ed51175ed385fd731b0b06c3c3f8a5b3bc4d1a631ed61ada41aece5b408180c635b447379dec9308c37fa75a308ccceefba6f4ca621110916619b89fbb0618d378bc164a7337bb7251f37e9231e9008e6edb7e464394f4dd6d29d253285909fbc4da5cc542e9cd2cfcb765adbfaff446baf9da9c401ac6c93a1b60f3e5f4d030dcff41d0d215bb1553bb6390e9f508a600a90f4a61af06564ad7aebe88235bc5818743d17cb95cc01eca0fd3c77c828354f39a9085fabdea6d9c74e626df2df93c9038abc7adcec24c4b9e53ea2739f907a3f1f2e1be69216cd226438e2b859ed69f07f7c208e2af3cff6
|
||||
Output = c274199ac90600ee9d5bd055de33e12194f275c283dda609dddfcdf251066233
|
||||
|
||||
# Official test vector 94, seed: "bb4c0082ca4044b1ff60b036c9b0e0495d58667156786c530bc69d949a13bfaff53798e456423d7a0e162a60039367d7"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 3df2977608cdd78272e3045a0f6998b0b489671cc157d2bdb492598ca982b9993f33778d886783b4e285f06b5d841396da0a3716337e8c65932e05644db0ba606146f83c6ab45556ea409b73719bf8f56a11d62fc92356b9ab30e43893e0f9a9c0a5726d5944e75abcbe077c77e49e8828695c948ed4091188b902ded0bacd086eb223ac35e1bb65677cd5f88aaca2bc6712864256b8ee96746b42b8309ac9c4e657baba3467b98e22d95930e88b4f3a7abd0102fac49354d13a9db45b4651a48e22c64094ce4d927a632967079a55a238a3244a1ec9e7679de690a9b65962fc57e5d2a3d7687ea3949f999182691357ca9990ad5c9450462b487883081a891a485f98e7633bf04a352bae9f69788a67b06bf128245953595c60fe97b76e4129414184571612dcc2445ac3870fb2a8037a92b66b8dab8bb892805776d05c6120c160212ae0bc6c4435743c554339f38bcab167493376bbd0c8ff063ec1c1c7a93ac662021833eb5b10b8aa9e06403ff590b8c7baf47726949a87842244aeb435d0da18bc33101f9cca13d542fde94917d50bc26a02b385ce36c75b8884b81f57131310a5d09018605c908fdc9a8a8760d8fb823df4305ad73e7e69ae8ac00286272b63473d27fba6e227175b35816de996e4b3780f616d485591dda8c8f0d18a19d5c6158476de397cf24619c4890fbd00ce9a4b52de880899ec7c0a25a6d246bd688210aed97c6fa5527282aaf447c035756d0bdc724788903b7cc5cab3442de650407301bd4b6a69346eebe9157bc66dac19c5eeaa4986885e0741bc85a398a6c788dea5ca90953348001e5393c5ac13740b187305f4bfea3cb152a80384ab013e950195a6c4473192681196ce44a1b20c0c616a887d29b3c176635d61c3001c2671792baa988b2d3197b4383db082c521a6adfa86794c66a233e8aa9173c87d69a6eba95127d6b870a2243ca59873844172c61310d13e0cd7880452a08a9ab3d0f90665f85a151549d93cb20d685b0970759ca35d4831bc4c05552bb3c577f68604630f868947ac5846bfc785afec50293855a4bb804bfc7cc1f70bb0aa8baef2af2894515ecc098948784256c96daa692d77c3736070ec87962c2b22602b20b7d8b0b1020521e8a9f760928bb7a1b16ab1f9c5a7665a2f0da85abac486c86a6db9994279305685365ca27b64c10080fbf0707057cc1fdc349b68cd29bcaf3cd869bfe084498c628415be3442c452951b867b23b838c0d7f765554b33be09bc8a19941e40cfd2a731c73c0569f08108080b60008c3b6c0d2cdc6a70e6449a202198f65d587454b712c2d2535e049314a5eac4c44217c327473ba872ba504cff400915eac31b05a6a5b1cc8df19d4594be869a4ebafc8fea4178cd6bc7d86352ab8aac609aa4a9022aae550745954685274aeb84936763486d2ca1d99c8fe5d151ecd2314d661ccdf94101aa4ce94c004f4a2bdd73ab5a7180bf183cb0a98290e618906118a94b5d477830090c64c14b867d35bb4581133324cb5123495b104030084c27c269f489a7ca622986b166c9451c47b04499ecc65854b02e1c643243a29a14a27a35ab73715a636a6b920c81ad9b4386b3b98775065617648fb377d0e5a34582484e58a1eb32c5b000a3558294fa39bfdff064fe487432795568444e68d1561751879f8b5a091b8f3885c2df08a0d79b282f5004168b0d400baf956a30e1a69eba65b26e03b6ae890972d1b672b76c04c53bae6c161be8902fa5ad7a9b5f6e24b40f79332b96126ea0a59cdc62ad233bc4f00232551ae309493d3260ec08438ce03a5ea4435ffa7628f66a589ab269931974f1c3662148d73090cfa76cfbe6a981f54489546e48b83a10b39bc4e8680f81af32108248398d465b3438192a311463d337531989a40d49537689990dc9b238e1c52de46b65e514cd3936e0e1b535c331255a1f34e48c37d848193a113ce9c605053cd89ca9e8db8ad1a33f2fbcad4658c2db06cdafb472973c0c344c0084364d1bd31343641b80c6a04e5274182a5f614824ba03412e01520e57ccfb5747fa8585c9a17131432dcb9a7ec5cc3f1a2bcb998971f263315b067def081b27b53ee532c5f228634f2a9465fcc8b23a170c88082732962bfbb1ef605bfb5548002318a210586efb3a0438390d9b3c4c1cbb5694f11e3c346bbf04208c37579866c3419616ae7a545a94469b2918142a2fe3109d07b30d97f61948f778aeee6c1f4bca93fc3e85c8f7a1a0bd4f797c007e4061f95c7d56cfc7ee5c49e849dde3fea8f25e7876df2a18515c34
|
||||
Input = 5743183b4925fcd5e4c94fb92abf8d6c8f702dcfac0a057151b743ece24533cc964d540788f8f370d7f51ef37cf58840b9ab5253ed1f847ee184daeacc50833fd0ddf525153a9bfe644a3d364e9da4e09a397a7e1187d27d36debb71a68501033d98ad04a0d5552859299b6d627dc604a2e2f21d8135aaedf5febe3588aa78c822b5ec23823f56bb82ab9de70ba3020fea504482efab238c1d49cdbbb8add4b87e5cf03bc3f600a235b6db0e2c74f1dc68da2761dc5f0313aa4789600773ec2d0036aebc91094ab4a696221783c4f0fd335a013e747816d6ede198fb21e3a07adfcb4359820cd58eb0f268c108ef14affb9afc3b690b8611e925c70ea29a78805b50654fd7f9ad369fbde9158c00d326a8db38e1a23692a37f687081c2c646f2f96087aefd4164b65bed610e7939c3541bba3e237139d6e3d4d6acc6bdca454193f26c637a7962873af0668593c02b1c67d9d4e441990aaf1e93ff7b5856d82251e1283bc41f7a18c0b754250566311eaf60218dd02769494e40ed9f24d8067759bf9916f9b4914d7b3110b3ea8cc84a80f50fc30f935d2c809ee96105e3e1c33a16bc1e08eb6209089381f6f3d20f4fd3541852db5e90c29f96a42af1ceadc1851dc3c745b99d4f62e03c175b054558f27b47cbdae0251a0a1a8140aac398d03b34170277aa563875b8985ae03baef15ee64a9fbf02c3a0e57e07080a9b37d4e55c4089694125fcba141ac83f628e75a02beec38ad3f0701a6f719e014c0529cecf16838226ca0a70aa79b1b2694a0887739a4f42631f15167332a72a9a21923acbe8e62d4597d5be063052a6a934455ac4d4cc87a57621970aa470f17bb2c22b6044ea3fa96dc228a8052906345bbbeb95bd846bc31593ff5d30b61b6b5b30b8ae088eb75164708de5f3ac4f63b201b7287a3b8f397f00a440dd194dd4c6ae4054417ca2d9bddc97a6cd3901a10192d42645db0ee102a8957a578b5a60000a5c2366dbe1c7aa5a956c90246f927f238bc458e97ecefabffc4cf6223f4712d3792d580abc19073d938689bb421fcf34ef861a52aa369379f95d1de22b9444b9
|
||||
Output = 74d6a6fc4f573043e3085c379d4c809e2a247fa896f1ff1d323c9f3cdd6ab4de
|
||||
|
||||
# Official test vector 95, seed: "121d90e70af6204445d0deb28ac0c108262719e9fd3476aca74bbfde89faf04d8d5f89a624e8a75db80431f0d10ad28f"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 81a87990ac36b7e67a45e32a7807108d7a24c6c5311f5051c4a8a9d927404f382b4d03bb9aa2695ca875a9510829349823ccb3f85414975a35912970d0272192d38ebdf81393a67e25a56a79b85c91a67062f9b32fd818c99135ab515a6818884012a30ce07bced628fb636728e17d768b33b21c416d3c4cb68a008ea3b9eec7bbcdac6c70773456150c0adc6cf41466f7243744c718243615a370537de1a30347a0dff8335f3a507ae9094531a0fcca43a9229f644a7c95c8ad99b8a76f2b3dfcc42e44ca3f6ecb0391350071f9a1e9b56987d99af307be30a98f5aa7a2db99ceada6af32093eeb2924be33b8d3034aa70090c738291617867d091e775968ca60a035b67046ea7a0e370e5bd19c61d555bf7aad69b657064c58ea064e9e44a12ba21407303ee6228cd9e0cb932c2eb750ccb1d74792850f6735345a39873ec9c0eb758ba8c13b4004b8aa5657afb217cdf9788b53077cc4bc418b835ba8ab3a0b90cea4904f0785e03ca180e4977267bf1e3c34842b8cc6e627c260ca04d6539267b2f365b726b21077155bc6a97ca9cab1920c9be9f1937d80214ebb93362a9d8d130a88976acc34351ee50dfc79017c71943199c67ff0a6a5d8008634128bf86fee194f511a1b93606759344bf0492d2d464fea472651d5b420ca0fffeb3daa445d91aa8d25403cc47833c1b76b9122640b3a4c03b603ac44b62d7411bf095d06b4413b96a1ebe3ce201012b3ac77d6924fe462c7d3d797dea34f6c9719318b9711115487a55bbc6212b3661c7de83aed513a53823d29080f9f66a6a6223e39e0af46061308eabb548910136c270ee7abf66c22e593431fcc1441e21c466844dbf44558888d41024f49ea35c1020939f439dd8a1a8c424362ba3fa8b94c84c49caefa7e30e5125c2814ef17649d60ce2790be39761d0be7a139fb0dd0887896e04c9129b85307810b219de4c29766b9898a6023cdb845cf815bd646beae7817b84541a118653a765a526645bd82966f4c34d537903994910ccc527cf12e69a2778720ae65521edacc63811866f5b450206acceaf9ab63595adcc39eeb7a27b52b7f0fbcc5de989fcb1763899b411ec778c0f9473e8b4f8274af2ed090f953a4edcba3773b2fd1f05985261f49aabeeba07956596c863a87220047fd37b29af72396189a7e128c43b7967fca59bf3228a377c920c3c011e3c3c5e29a2645b3b544576d571c9481c2806622e583c47e395c506b27429b5b30546d0e746c8ac2cd4dc488298156781c02002c9743f874c1c383f6501eb661135b817b6288341e657927199b2a32a0684ac8acbc479dd594de14c9bf888b52e98e23a3c6c492bfedb941a21a81cae33337984920677a635090af70217206b337786b2cfc496b531f0686a9718592281676c01872e6441fa0eb95cee7966e3ac56b07bff997080fc95a4609bd6382a303d1129fd80ebb144a3c5b3a43d934e2c6334ceb8790033b8da09949ab6a76653b408066994819be1c17bb27cd7dc2a5c2f4c8f3a050d49b9c798079c3b9ce40ea89ce6a6eaf66058412c1a1e6a43d957652b4cf691c5e1d236b63b68fc9a3499c4b1f6997223b73cfa04641c6459211a278d35ba043e386bbb9c45b74155a9660bd336578d07bc7623ab20a9465346fb84363eb8b4ee8d84164c35e8df19271f4c18e474dee76cab9e20b10369407a13fd493b88d24a30962c8b7a55af20c7706c080387071d61b4ddd083ed7b0b843a2ba7b673a9270c39019cb551081345202c621aa0ea1bb5a2aaa48f850652a158f4107fa8805e2b312f3b2a944049ab95ac75e6a50d2d0bc52d4b6f1f5cb4b67c5c6811d45196f9fa57f5ff682a7f1299cc56c3c4a05fa9507c1f24bbac00f711177d1318a3a8bb911a7922b9a08dfd17343d3a08dca28722283bf60c7a6568bd125a5779a4274876f0fe27037d63f49b174333cc60ce59f738aa494882dc928c2109580a92984d9444e8d5c622e790f5530699b141c54415ec29416075915e1d27eda085e26c002a43025c5bb42457965cd8b362483c29050a043a3afe6221099078b74801599d0bb36703e0fd3466ce045ffa9900fc879e5d9196cf898d4f805d15614b5ecb5d71b09299a51c78544c9d50cdc113dc546cb235a9b58504a30c7a86128166ee26d9894350ed10b73fe72cd660848dee6aa971df2a53078e16f066e686ae5c0a81a46ba08cce40a82de21b6823914ba4a5adbb44127199b72bad20ab9bd5e39e3f4e32d432b4f9f751bde0496c580a181ffed762aa35454a02d3f1f47ee0394c89c
|
||||
Input = 5d685bb58842abc599ddbf4957976151ae722c0c20ee958558bf07ced914b0edc34fa241fe0ce46df47399712bfad0c66ce1f37e4a8f672b85128ee8472017e8f556bc1311d2f72e7a418828e76df1324390f67173904f689841ad4313a5fac32b1e2a498d7e7226ff2812979d61cd2d6305550dd22dc0b3a814e341a745df2cad776f15425f918e006d784055006718707ce6486e03c716103fe0d4a03c5fe3922e9c88245465e1ebd59958c87b22a22ca21bcd11823e406950199fe667321f4244435bb0c971b8978b812c775d19baea0c0929dec4c135cec2f8044d8355e8b32029da1c91e27921eab5b94d566c4e58aaae332b2a759eb23bedf4cc0e638d047eff626d10e7569e7313f1fa1609912552c99bc858ef0dce72b72e06edd8b136a077f49be222fa9f4f98d950b4bcd85136e83ca60d19dd1df8f1257be6322eb8acd4fb6d7bd4c607d150a2bc806e0e7c31ab653ea55e7f02cef2892968ca53da0a52af9f625a782519cce32853e4596f181f9ea557789adb04e544c3a123d6f052737d03ec6e16c3ee999daffcbb862811ce99b84b0cc3def20313d463bd6584ec968e14daf19d5b86da2f9c05569f4156719753033a9fd0aeb438e8b35f6a46bac457472f85d35c1497b8d0d47f4bf04b6bee4bd0b821685a9f0d21cda8a7642b85681e30752ec7cb164d1fd03a97eb71b53a1c9f2ae676e4a3e2fdf17a9046c536c72c3ca704c91a9c501f698113a88de06e61d3a32cb4c5b859a693a651577c54e37e9a3a919fdd8ddee537cd75b54dd9dad9e95fc7e16a815c9c12d173d2414c03efadbb12cb1c4176ab987f9288fed82177ec1b15faff418e8b6a1c02ab707f3904ba16ad79b958c31dc4b7e494590eb0c2e51676ebcaef78c24aa2233d74c527b6db963dc8b4b5c68a3ce8c0a9d1b016b9ceeb54fba91cab2437b7ad90b08466745b0cbd6f81da5e4e2ca36fac908b532a848900bb8f2e51972ccc4f0f0a2b0f61fd22bfd7cb18884097f45e349b5e2c05b5e706821d30b8ae2b1090daf9c8ccc3332485a39d3e559911ddb269e5e5cdd513024b4181643ff2eada66
|
||||
Output = 1adda35e06f93bdd9df93ba0630ab5ff850f0affea21a4a4f4416499691f00d7
|
||||
|
||||
# Official test vector 96, seed: "b3ac6503206accc2a92cbc210d020a2654726911d11ce676aa04feaa08af1d20c654e4105883ae470ec3ab299075d420"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = 4db8cfe937c3d46b5db72a01133b7101d0859bcb7d80109f7de06e4b0b7171b5103011869ae863bb69aa7ab0c483484633d0c9dc200fd6a3146f201582ec9a1cfa6274b143067a396430112e83262d1c3f97061b47c710bf52c464078a9e02a55ed142feb855a15b07b1d6c62ea2692eb683206c94f4050966ec6861e3a2d61a0ef8c13ead5965247b01f9d69f87284d19782ce054ac32f714e26c61dae093e17a716d736b53f34e0b8cacf95055f4cc5ebba3c9a1e1af7caa02a388acac1426f88c672c6a99538ca90e2acd031bbe07c23c27cba0ea1b4e573564a2fa6e93e584af92c70beb15e12714206ccb00d9a9760a914bc9bc6b1a0452fa3ee97a07b5349e4f9b41ad4273f29aa93b31cbcaeb93c01cbcf5868318402c6b399c1914b26a33ac0903a4dea280b2359b94db0908e915ba507d3b568253c0c04c6ba35ccc77273a5b869a6c484aa2d3934b0d2b6539fb4c32528c14864f6bea2dcc18491037b81673099d51ab898acdd453534d688a050350b47c8f4bb37165502eee62c1a1e4b45f87ba7520381f054b1a46c48169961b55509ca29a08ac98e18b2e9e897b9ad1447173127fbb5ed1928846d4ba43e75dfe370a5b083cc91928bcd80872f91707441d249c2d7a56432b417c9df824f69c1817b3883cc34310b223871227f24111aed68f8c385f4f2501db8c6a8fe7693e359665090654780ad854ac76a69f8ec036c43304ab5cb9ba84ca1d50802ca266add629a7e45ce4b1b45da13a17967e6052865f392e8150162423cce3630d55e3c176432757224dbe595050714273cc7b45a449fd0a02d04a01d3e49af39752bde55195ab4297a6be5afa2bdf022a72f911c3c57779c17419da882c8c260915348e17253af44c2d00a5ab01b61920a84021cf08b6483763022355848e53690e6004b10c5ec28a306b1b3d2a5007a80ba8cf97b251180a625113d3257b676c8fce94b4a54731c22385c772afa07baab5974f9761b6c1ba65628c324737a5ce3c15cd9163021b714b85793ae16f633a4de42cbe73d9a12631324e273eb7236d1e079046954b5298b46f7c4ab9da3bd6991114b6cefb2453de9c4883074b31b15493a730d356a2a7f35d0ab21cb45136cab536c6b0c24fe102b4e59f8ef8171bf1603bac5c87c585e8635ceb594937d479e0802b3045096f7c1ed3cc1dae8b8028b179c4134e69442fcb7b6b688cb4d9048a692403c94c523e294144a2a39487550a758a98745e0ed161a6d29c4af3310714b1919aa600f405301abf68bb8b5fa0cc5e426f48cc3eaeb73dcc2453b8f4c396f351e3c27faf97815d6b21d7145e4a6b1297023784f7986ed407d7f627d65721e9fcab933319a68c86d96a7b265c6b9337ac563b4e9b21849989368b011ad0e941ec3036b9673cde69b332751732468a0fd3724bab6c620a0051d8c2ceb0490d5991c4e78186331389b9cc7fa884499a9e3b5b673c581bee4309caba430f3ccc0c024c27d96e8f112e65cc5d93703696c134f272bcfd71429141c798b85bfd64804a939003503b4ec5406b4ccac5108d16720bb98a5cd8fb63956c4b94d0949ca047f8d8150d881f5b774b8d1c5b3fc2881680a6a80873e8a4c8b1dca8b9bb34db430c220a5af77b162de908b45a542a7a0ff95a6f4b93bafc63b098a863dbf61559589f5759a968c2ad24e347e77318a58959a32448c41394ddb5b76052074b909e1817b3d66571a0383d53230c35d5c5e3303c65a24b61539a15f749a655cd727ac604d58b43d035a5d61d50393162bb7ac199a2227b5fc9d8c5125226ad0a1c8eba974920bdb937272a7c7bea7ba5e8a62bf6e523d51c9fec7cb93d220995ab32cd975f673b0dbce865e1a9cdff52c1cbeb45222b73fbbc73a8b0131cdc627922b614506af6746b15290c39d64742f39e85e56925e1576357b6f0468632f06ac6a0cab8808e5b898938d32a33e3b497a604c5a24e2c37501e01a4745c046470b8df0799f59730e2677ab49ccd40f3c5d3a6a6f09ab2ba892ace634634a17c3d33cb1988b442f98723a64bb3674ec8aa5edfca86c3f22baa7a304dcc6cc72aa0e70868950a05651cabf3f469316944dd44955e959a21913373f07fb0baa963e39e13d3859d486c5bb20028f059f37303f26b8f3cd554d851944df1c3081d9568ebe757b471f15e643f1e489018a3c200c364c72b2d6dd665b6ef36419fa4388332705d549be44d4c446d8af0c9a58903dd51c55e2d70a91e4b54407e5aeda108ea4d6c6bc0fb958286850422bc357ca67b83c986048e0d0087fa11ec
|
||||
Input = e3b30e672f1b353d308cd110ca38a3b3b3c375c7de77656d443181949203ffe783d0e929bacac7119cf6cdd1fe365efd1799d3735eadf5254216850b32b411d10a5a882293e2b91ff0ae730d7accc96af9348c45e391b6fe8d2e9e23d1f40e2382fd2b2d1703716e7ea80031939f7a936829a34ab84a2869bf873a6b4a642df331c174cff6061f3e3cda2a8dd3afaef8825d5ac230bd434b774474b19da14898a085bd2946f5c64d493db48467a3f4355456417d4d18dcb74a786e449572e913c7f24dd1e5b855b9ef339eac9616ebb4eb180dc6e2c7f4a83c81c7f347f69ce72d10958a7ed35719a9b1d9cc44c774605d886a6c4b3d4fa2825413784f0d0c424fd79c5d9db8f591b83fd77d7987c50f5866bcc05f52b7c6be957b43ec19e10f964174c864e5e3e684ecf1fbd5a24fe2bec3cc754ad1ebe2717ced6e68813d8d1003947bea76cc0f0ed3f3c4994b4b626c9a76e8e82bd0712bdc553c89d5aacd63bbb82965237deb7d670e0e31ff055b4f70ebee4618bc8933c985e3695314514e4781b2eb8f3f608625667b4130831599fb42a7d3d9d056fb70c786955ce24bd8ca884d25d3868666cd6b886c78e899015402bbe9e7dfd87e759fbe5d4c6f1f290acfeb9b2194612b2502abf1dbcc1b78100d06a304668ca18672440eec7b130306f62af1345fb7c472298aeaf9c58381122f25ac01d06d386b4970f3760f9081116c877db397b10db017d9b8e06b420928dee7141967818fbed1245adb61700871f1c5c6af604b0cb00c86536d19795bfdf01b7df16a52abcbb5cbea51b6c4329ebe1cdb4eb8942edf3a6b350274b411a53d27e797d6c87846d9df4fb97198d60953ae1d8e9acfc910adfa68334b8e79289c8ad8be58491149d0d98d5bd03a49bca96a331642ee12cdf38d4e58b61bb1a88e306ce54677548a36c02ad7a34dec6e8867978de381285005728a2c6d4d778724cfef0faed1135d3aa215a840fb6b8148dee099fc0090607f70cec29c012edbee24d2cb4b67ec4e7bb373c3196a81dda69a4c186f770bd2f07bfef1d5f1b5cdac06f7d8f3eb6b246fc8e4f30498
|
||||
Output = 90f3088cf55b35ea835c7b556c5fff3eb4983cd4b85f3576b2ba5106be28b365
|
||||
|
||||
# Official test vector 97, seed: "59eff60b1ef6185db34ee1e3b1dd2f159106ceceaa79beb74923b4f5623d5bc52dbf5d2594a1f7c6c64d12cf144e9ed4"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = deca75d6e4b6211848c01957003250a6dc0c5d379d5731cbce96ae171688ac70a200a744f99071188c4093037fb615cea2c212a5a0767cd4b9c0b48be879654f3424f3cb56d09738c36606a6263b83f2804368b44c23a3158390ae26a6f2604517c79ffcc0906ab51851109100957f96db6df03653b34a09a08ab5995b43de86a504691c145619db53217909159d7bc44b283b59925c97f05f9ae45ab045bc5fd821c0e570a5161bb69839b1ca6d30e8580e05982396cea591c380f919fba83ee058577ba13d3939b89fc4316988699302755ee2ae2640392036788384b5fe26c177f94c23871043060ce4096c828c9b47c91f58d53bcdaa23708405467b09f499265f5a5f24fccd0fc0b8da0016b081c323a78ef2da537a594eea081baf3c8c6e3504d48bc9370a361f888b1999a8a838b743a586ba5c1adb42071a1a6055f70803824631c479df287aa87317b24c5182d741d31071b092662aec44f9301c85c7a597727d524a1c97303298191036599f7df2a5cc807505d08d096bc091515c292045baf50b1845281077b083569017d1c4513bb268cacd7a5097d39582c4d5a6ac653603b065c3680ab115b7acf9bf8af5a6b9168aaf992664256263d968cf45c0b923707d74007506bbc0ec4f38868b0c80662e807fa6ca568936680d29af1a20a7fd9b726df3c5342b3deb124201cb5b9c2521e17789c91c64289b827df39aec57713c38510ffc8963488040250858f5c053c57762ac3344fb1164f34684846274459b182092ddf944a794897d327aafa10bd7ca9d45630ab831aa2f52a022721c77bb0fdf026f044a27cc2156e8108c65764917081f62404cd7313c40fa950f617d53210926928f4c01c34af741dd09165636a82e117208f4353bd674916c11c960b493c792bc008f54509a5548508e81afb032cb44647a52485687c96b45449bcfba2a1d387ae8447f0ee82cc260bfb9043c9cd4040c59a0d8263c5602ac3c641d17939daa7279c12421f0860b18a337008c8555922e6ce7b2a3f21017e81cce5c2de234cd2492a81df95bb814155c302ccf597d3d5bc0c76370d4e626b5851e82e8073eb7abfd1c8ef788a78f54a882c870190861ee5aa97fe5033aa01ddf961ff88597d7e17fed17278de656de441a545889d5fa69c822a9ddb8bb52fc33be9aac5ae03b24e2390d95563363082011bb99d236c8919aef381ceff46cb67b619e13856904391f1204b52a1927b8120c23945fe4c348193183410916040337522e0990106826c5c259855c452d7c1ca0576154c1e095cc96bfbd26425f24422d96aeadf84f51146d956a581619a26d7695890a079b4a08869948998b839578bafd1c2ad936bd7960cf09a63e1964af7db30a295609f597c671b693bac943edc1977a193626965bb2153c2e29ad7740ae90e5b8f7d203b5f8c1a1062510123246b9cfde622233119daed05f51fc97d91cc6d04a7ac7392e9ddba89e007895747a10f2a311322d35306805d27a73356bc60a24c022a59834b50068000ba448895b37314aafcfd8965baa7fee4b820c7932b9317e41fca8ce365434e6659ea4ac1848614ee6182865bd09e10aa418197ae423e000aff9bc3e3f79ab97897ca1b31256d2cfd854884800aa87b4abb576007598c475e17491f35b01241401974244026d7919bdc7e03a02b11ddd1ace88142958f66aad433b03524eee2853e263b33d69216a26abed472252bb0b31283f2d50579b504ebb73274d9780d2cb14272a275c9390a3cc4b363139723cbb1fca2ebc3a6a1d2898afd53cd796cafa83a0d607720e0942a692347083b2bf134487081bba99939a159fdc680763d5c5ea393fd308619e15128b33a42fd4baeb2b0e7336490745b85f76a26cb131626931e9377adbc714393c4fbc7415be60c88b2028e6d6b318a4a890775e7a408cd4b024b5163f59d7913e772a723429843191b9d1ae46c71c4f12547b198a49e44de0e15c639b8e4525035df9c7d91052ca681e5e908e98a7691c515c41596bfed75509205879ea43ca556a1aa06ccd3135eee63b1775736d2697a6556f6c2181c1f253fe6a87812171d54b1ad414c8705b84b7e0639d7b8d6224a9be53b60b7051f2f9a940e659f2c8b69a747a4e806e8b08c65bf2124f64329c43a06ec70076ac65174ae28e80262a864c2263275f84c056d3d767dbaaf1faf1461577599a146f608a975b476c316b0c6602a00f3038c1cef0b5d1eed8a554893ee392c1964c8260e63f8ffda3565c2424c89b20974b748a65a5aba75133fcb3156dfb6626a83bab
|
||||
Input = 2f5cae4eb11972a319323ea6d0a570f8ddcbd570506bb33c54f22111b7d43eeac44bff4fd19efe2a4461cb6daed6a9e308bfb6b5e8a311f8bf9786772388de7205c68d6be09539f631872fe24b4d2ed63a7d74e6406d99d71c10d3deee8a3311f24e8a5e1d068d645297dd6792a1f0214b8580389a1fce452249231c70817524f9e1bb23ef8066ef0cb3d449f7922669240f8c7937c560bc9dddc1865c8f34a9462025a7a214ad1a8789ba285cb0c2a7ad629a8f8050095226e627ef2b094a5f954fbd04f9fee3b0b63098dddbdd8c9c1f4ffcc8d6f0afe19880b9dfd77e2f442095182c8a2239676742a09057486ea3eddc96fbacbd2c25fe2fcb2650f50fbd2cf6502545a83925490d0dafc023a8515f6f9a24228ffe6a2e306f5f54eef8f67f877a71038e7d570373a002dc3460686cc13ed16aa4ab845559aa2e4c3525acc96d9f33d26eaa774dec0b5163ceb7843ac83cfcdd761eb724e32653a8aaba4bef587816cab36b5bc6b2f09bdc274c5e58e66ed5cf7211a83b2afcc3f1109154a55a7c048f3d98c7ef75299e09fd5af3a6edd2354937fc1cb8ed97727cbc2e3f79dc7b923c35cae6c900f44be1ed85554ccfc9a3b1170dde5a58d254dc729f64ec0ad48b061e28549b240f955dec3585048c277345c78d5a5a043ca910b0b48731cdd199b075917eab4e63d60e6ef0749343e4cdfa412840d600f0352edf22cf801d1c0c790c6898a35dd3bbf84509dd234bb0653956fe924fd6b7860bb01d6a39261b2178b3ffc045e9eb8a49f5d2b17e48b9fbd1d178899275a163da4b7ef4072f8259ddb50ec994f78fcc26838a10a07e74d55eef27f4bcba042ba50882fd976d44714524a358890c9ee38bbd31d4dcb08c682a183610e14856bccdd9d3a6f8c5a27651b7603045473258bdf50fd5f5e3583f84a36274fa18be2e926cccaeefad82d63a91c769d2151968db6592bde769b05abf4dc003de8f6e3c4696e623a9baf1955874e9aa024d0aa841c5b0788fdca3bd48b79596a0dc814abe2509e967a266c2c25637fa65c8d7ef0f65f569a9d0ad4adef58525b9a3dd62fea74c0c
|
||||
Output = 7e84740186a9dea9c979b6933b68d0b9af8ee1d916e3f87df4b1917b7a0c4dae
|
||||
|
||||
# Official test vector 98, seed: "dddca9dc31bea737d3f474e7560b37facb2f53c803e768ffaade7669ff94b1d4fbd17068cffd5dfdd24aadada4ef6b12"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = cb266284006bcbe18257b39a7ac504ddbc5634e11bfa190c1fe21eb626784eaa018e8a072c28acae370f3a0a55fbe5c8ce677aad82a754e7cbc5682d88a90eb8c30b921814792947099b9ddcb566ef35b3362b6164207e8f0a92b2181edd902c723a96ddf1a1110c672ae137c0481552da5e19d33e8ce2a85ff80263e7445cd9310d180e3290243d43207d8a0da5488f864a33ddbbc8a6179ef7d150266063c7745c49f3a383873b18b6575f02820aa80eace733153336293763c939cdd3778f4df4cd619369cd68217c70a6391b99007bc172fba7b6f44914389fbed181fdac7bbbfa1d5ad771f46c7697431358b618dc039302e30418ea4b15020880ba71f081209ee328a19a06d7da1b85ca26e9e68616c615d935a0e9e0ceaa7aa812fb17a46c70a3f3547e196350596acdb2bf6f31871b007688434a9d845f130a7683921fdeb39e84a5a30b052cf4c29b3978a8eb98c9ad669aa7da70496a3a9b5b892ab30dab2bca03fc0f431a666cac1075989773b1ce99b3888fb07621a98a1641a18ed898bde3c0fea9cf67c2be09497aef93b9c0aa630a887cc6220460cb2ed425677d988e968b2b3793bf1dbb603174af03e517e8a2bf4b82553fb13bc047ad09c76c1f285a1657603c483554b49391ebb9b0270c7932685c875e4f33a815598f3622ba300a1235e88cfa610bd97b8f87413550318962cb0737854c5a385d0f2035c52a946ad069b1ea642ff76402d38749e13724127a02fcc1b98bb27f29c9973c1e76430b17fc1ff22c5a810226d21c6aa0e49a28841a28d27490aa5238da57c743932528ab11e694ab3b9b211498b9f51026775e807012a3dbc371263f5641c4a885cb63a11c81589aa87aae17f67bf5eb63c6d27fae943c529902c46614bb9baa6782a3f1db4604479d7dbbbeafe7ce4825b6c5547ae35c82eaa57009c8091e334f935248cfa0687c71a2b993937cf056363578adc7184f07232d545262566fcd596101c0ba95c4543238001a75c657988cbfab2479130fbe8c8b7d90aaabd66fa8848ede30cccbc786972866a46036c3ca3159638797080e5c56b06b51b4d8374e2f9c4877b37f5dd1640e41135735b94cb100b81cb94ecc1fe5d8cac4211256c1aae609238966b439735ef69b493125a65fb46c70bca5c1d94ecec68eec35bfd5fc0cdb035658e6103e7844c741b725e42d12098df1cc8d527cbb58b79498f824c55011b1f61b1d731ce39b40ffd562bb5ba17978b3657518f5ea7436363d99b91400dc5a2da7943e082e9cb77174f881b0297ac3722eafca76ae6a7222f3497d717716dc0932d2496fa218a69976cb332d9e3a2828a70ba8f534bd35165f7a0daab1a64a63251f88759cc70aa4d5274b86311f764da50c0184746ec6eb0c2b481adeb562e3048da81b00d7941883ebb09c3885c8fa5c8ed3a9c58493351906dbf83df1db4e74188ae650201d5999e91bca68378cd095295a55ba78f14fa9005f21232f8900c572c8721b8ab1891277dd838842f58b86e08402069b60461021a83c7081c16c006add1cc92dc3052ee97291f676b4db54d4fb5ac3e15fdeb314dec6170acb7865aaa9b691569fcc09a4bca159b40824d6ce9053a199f92bd9c06a38eba7d8980e286543d6a841f5589f277b8ced946ee8da5805f07b33d1a151b4b4dfe1175659c7f6804bd28474a2b387f75791de4a9304da1da2e660a49516edc1ade673488a3a580a7c48285a5033196ae20582ed5138dfaab59a5737d3a360bf0380832c3e49008d0fb790802281c09b044069426334862310b0ada4261c768c8572a09d1bb0df54b1c6b553150abb0280cd2c1c4b3894705382c4ada73b42e55b247b67200b939f71bd299a02f0db9974f2afd1cc906cd2c88c62ab9771b6a26b3e560a7f6717bd9c22b3cd5a14eeaa99b471094ff872219027bc0c24fe9114b316abf3585236e4505bdb03b4789cb09a5d16e1764f4b8261d3890193b268b67a9c99381e244cc4464fb0788815c6c9e92143dcc71689273969ec4f63455a3a06cd07e1002ad38dbd216949200619aa70e8327e9deb2a7c23967ba65e34f14af513080ef0738900850bc730f8c2b78dd6b8e4219c25491c5a9cb755999bf49136d0619eae169c68316c2fa6a42e401b9447514a6878ed634ec05217cefb6008ff98e491c41e2e6355f7cc8a230f2f2380abd2635b7b0cd371201c1c404c611e22377f1c66fda96a3839f300960315b3292e81af8a7a68cb66742b6efda268813efab5204efa60f78bf81d320d01ac09ac06244f7afbd2d80fd356d9
|
||||
Input = 830e75078cfce4bc94eb9f50327420df8609abeba2a981a70c1af3bf1fc0d7e6c4061dc79fd6fa24b196e2188420982884a0a6849483af16b911c378f91f692f708149b06373341beee103ee6bcfe382732585e9eeb6b5ff15743e7e3a6706b59468d8381631f1b5f31d0e3de394fa2cb101727558d37fadd617f7c7599b7528469417bbf1dd3145acbaafc96cf0763d29f16218f134fcad60f61c07a2b6062c2cf11cf03419299b8097f56fbc19ef1dec9cad3d7a7be444434093547a991db74395adfe14fdfac5b1127d5a12da5d510397478ee4a8ad32545d837c5e13e687cea0495d55f8c4f44a9be2d48af51f0ad0ebd0ffb4dcb9bd7135c1259ab11553aa624c5333886f65260a8cef13ae59fa5fcc5c9a3c154a7e05837037104434bc7a48b6e56f2d29c053fd6f8c214bb8eda4f0911edc241939b8088e6b508ea5155998cea0794a52299312f491784f20a6ec6646e82ac6d661ea80c99f3910d1e4f727d68d1a71674261cd2fa9388df1f64c2240eadef780118b6ecafa814c97ee0d20d99d2823c05750c5723d3e7debcaeca72ff6d65d4327e013f9699cbdd30e1426bb712aef6ec24be5beac939cce68da37e4f9473cbe2a36859287829f3ccb66c5f4e2470b4f3b7ed875a20551d3b97a0561144f64969939a807d7b4bf4601188d4e04bd8a9710c8bd3d46f332fe0a4600a0624b58a4eeac8212dbe33dcdb15aaef3425f6bf79cd5bd1edf0c67078bb4b9203bbb9610869d64237917d960cd8aaffa3420aaa077391b6e9ef1e2955e2b235bff529f1ff6f3f49009c01e99f659958d2478d2f3fee3fa8df71f96c01e6e1f4b9c489e1a54311d2aca0f1eb6cf5f7b76e8014429c3f69f7c4694e7c8d4bd71e6f020ed377171416e1d415e25420bf4006c4774b7788c3a73c8da0a09d0710b07f500b7f0664cd86e8e873fd778d758e93a82fc0866532660bbfb7e9ebf93efa2f142f92c0d45ce4ac7876a48a3a2c0dc8621a488766aee9047986334ea7c5d361175980248041cb1384836ed0558a7c12db1354cf00aa58f3f549e8e78cd19fe94fbfa41079ed35d7f98bbcd76
|
||||
Output = d5d75f5873c5ddfd993ab8b92c6403d97872d0b49454833449a50d35c62d7546
|
||||
|
||||
# Official test vector 99, seed: "2a6f7386b815366f572aeb6c79e272cc21b7095fe09575f18072c9d677da23bc9c8a4bc393b7524604d299bedd260c8b"
|
||||
Kem = ML-KEM-512
|
||||
EncodedPrivateKey = c455a47604925ad46c6216a83547042d23b708291003f8717ffc3115d65f9280659c7a9090170fe8f17ab0b39106e788f3dbb49c7371d3e77b86eb844f7a8086e166458343dd275afdd737da7010c4c441b1fa1af71c46bee00c6e4131d9e3232ad708178ba6e8d7ada76a6d28c34b21316c555293dff628f934528a22626325b7139562bd1a4a70d099cb197dcef87d84f48ead986e44c23f14a7689782380690c969d16d094ab3c1668746d93d9a9420ca7988ac158691382ce035401ce99825f92e2de2bec5e79ba3c5742e72a20c62c80f0c061ae7b45ac06a07d271590324bafc3f18245b40194743bb5243076fdef254c2a09d6e82003438bdd634a787009bce9157b5226a7cac416b67ac78fc49a197136fdc631aec49c3b77e60b3aa87872bbc7b11c1aa675ea5a061304b97383e64bb78e8a9b069fc48aa3243a4245b895a3e18882d8fe04c82e819fe7a7077a314dc346b2c4630dea3be2e27b33a85933204a3be385c4f98a5ce042b760511ce2c69ba987c9d03b756b0a56f522e59bb90252a921e0571640a40f73abebf1b4aa0633e33a493eacab744f082aeb321e211af9b2c5fa39779e855866c6ccd285bbebcb8b5df32aaf8e4c923143d6f0c343f81a029516bd458619d7459a04bbc66f75067e077e936c7b54a67b03a576eb475231803c7f28de67176485772c0816702e612b1f2b6ff52385d75600c479f58c94c64333f8d0764e3f285ea55aa1b69a6d17c2813cc19293b46a33b9128cb19915724af521724f9506cb65740546daf66baaf51395e9167586883fb3cad4f16c2df4798339c388e7a5b6a6509131721156a656f790ec53a979d1b94ac9c9878032dd85329d5cb3abee26df2facadc91bb9d9325ece89ff74248b339a1240b66cd25a7264a6009335da6e4ac020585848250c74315c27582ed1031672c4164460fc4cc26239242b7999486e3274d87686fcbcff849a5701ca0ec1b23782a6d6faac383f3071103bfcc275a03b792bfba2e9690aef474b5075c48b91357337b5332e316bba9b0132a087be60d05985e7a304b324541b4687147230632b1384e979a6a7b46b25b7c03819069805b89e16d9e919a31fc856ce8a32b5bc91c1558bc559ca1801a15c3334c1c0077db221094103d863f831457848511098025d8180fca18876663a05e0c0ebd5a0c10fb262e976225253d1a093b4276008a04ae085b4e9d9c77f60546c0db0eba00ae7335915a441c6bf2cd2088c32393cbfe71158291149fc4cc32dac6cb97275c756dc491053b036d1c88ad78814d753b4c531a877cb37f9ea8b3e111a7e1e58a30fc3ee24868f65bc4b3bb93ba009df06b6c653c015fe539a9c124fcf807fbb4470d8b3ab4d4c6986465929b16d9d7444b2bae3ad3575ac262eb911187e0c3c719b8015b5bf94a8bfffac8830c89f63cb3c304610a9382ef74990f9434ac5b0da24566d22035d53a14885317cd381a4d2680b895295a625154cc42d8d250cff173f69c036695b8cb62948ce50514e30b1634193457cf25db5f30d594c99bbfc71bbcf1922b6ce5993f89b66f09a773830d8ea248faa94a8162ca247b1ef7e226fce482f7159092605a9e2a49c7e972b2dc166771c04dbc8a9ec122b47b244b3a12566684795b705f31233860ba6c95bf0fe28cfeb57c820c51aa832a069cb8b2a676b298aa942c051c21c3a0461488b4c741b15e73381a3b55c5979a80490127678901d0d5ae21f25549a7598e65c29d43903e4c32920c08c40676864c05ea187f7fd4bf12a3b2ab301d8781384d425bd8042b948028ac818065111d96d6b39f7c886b7c70f59398534307f0d0ae866638ab90cc94b8c700c31d52c0b9f59c512c5637c2808aaba21b68a20e5871b5711525de29514c58c4b57359ad2059d2fb876bcb6604f36235d786e456a3fab96f6a26c2b1968ab90c11922718a5546519cb95bc30332699ac6735c588c21818891621207fd5b021da09293531352789a37a741c311ba74bb48e1bc145bb227b74032ecf2694906c761a96abf7e12d66b5313bf32e11c05fb2d820e6c22003e1cfb9931583587d4129261f6105ce419ef2cb3c12f245423b12d611330d009af1869319b988c53138c491c09f55c3644ccb3e250f9e64858c6113ca7cb6544309f112aebeabbed1f9f8e8a1bd41d4be8dd2dde4365d61f98d79347d5c2f5069fc5c86a2b8f0c8b00c73e9932c2fbc4c725df70077b41c0650a135b669e21b23d9bc971bae77e0f9f21eabd8c0c6eea7767f4e10fde5c2d79b8400bf96b19014b457ec21
|
||||
Input = 52840be528a75c5d392bad07b4a75a3d8f87b5246bf813e3717b77523163b627d2b1b6b6e11fb19efe67e23b234e1cfff3026b2acfedc2ea77fcc5f6cca2b9bc660a8a41589a76d87e31cfe9fb24032abc8ffd3e2208c489bd7e4d002dec63f5554fe0e97c55749a00c2de62f352b64ffd509100399e90f9ceb338645549a22d02b7b1c78f41071e83ed6b8a6077ca03a61ed434c3452f94192867d7fde3b1ee5ded1296fb2508dea33abdc41b69349105f9c5d6c13da169dfb66aed8f6b7583dd0aa1311b2e3a8384a2540c6dcd8f71ed7c5e8351ea5a97c551895207e018fcb34b0090adb912693bf3636924e2b37c97322a85cdba1c1d423241fe03626b78b5932f83cfcd50a8997d9a7ff01d9305fd326d1748d4ea70a0185088a7dbefacf104ff0736fe866c5641709b08fce188d701490eda4993059540b151f404e8b1caf67277970b6ac9e9041a1087f398fa55e28945feb9596636fa42d71fc982e54643ea8fe1c35ec98f57e9a9313f98cf057cf4f0a9213141cee8bbe9d91af8d8568f8f9b90953da036129f3804374b66792a293c6625a33298d2ebf5fb76b0f229afcda1c19936d3f1496c666f5179b3f9fd1805d02000635c7d3c743f53242509a2e7e356019ec309ef3b71800197190f003895a7759874e0d03312a4ba1c79e5cb9a6c421f34d68eb896ebf7df208bda6c51dcd0cfdb7c3f0d197c55ce38fb8774eba79217a244fc11b6c463e503469e1a0f465ed3f79fb8398e29defd0356ae57deb167cdb191f844f802b8cbacf512547b84ba271c0f45a04c60f8cbd9f51dc9cf62195b94c7df222f9ba8c2d7ad8aa81e0606f3b641de236358b4a26603e2a4e06005253af7e5ff910c245e9559b94ded9402c1a2dd8183c94c3e46d8e2ee76a3de06c8558621d6eb49797708ea028b3c8b122c0feee8cd074eda9607722b9cd3a1954ce779a3508fbdf584392d81f49f4e3d875d90502d0f8ec3349b87303eed14f13c1ea7005fc82049c3feacb60313086006ffb04e41352a8d95d05d0d1dcf14328b8e0d487aabf7b2a8d374ec73d363396ff66500f313f897199738
|
||||
Output = 14edc3d14c4d60abf7dffcb8419df6b4fb5d45961f2acb3ffa0870e98e33682f
|
||||
|
711
test/recipes/30-test_evp_data/evppkey_ml_kem_512_encap.txt
Normal file
711
test/recipes/30-test_evp_data/evppkey_ml_kem_512_encap.txt
Normal file
@ -0,0 +1,711 @@
|
||||
# Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
# in the file LICENSE in the source distribution or at
|
||||
# https://www.openssl.org/source/license.html
|
||||
|
||||
# Encapsulation KATs for ML-KEM-512 from Michael Baentsch
|
||||
|
||||
Title = ML-KEM-512 Encapsulation KATs
|
||||
|
||||
# Official test vector 0, seed: "061550234d158c5ec95595fe04ef7a25767f2e24cc2bc479d09d86dc9abcfde7056a8c266f9ef97ed08541dbd2e1ffa1"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 147c03f7a5bebba406c8fae1874d7f13c80efe79a3a9a874cc09fe76f6997615
|
||||
EncodedPublicKey = 400865ed10b619aa5811139bc086825782b2b7124f757c83ae794444bc78a47896acf1262c81351077893bfc56f90449c2fa5f6e586dd37c0b9b581992638cb7e7bcbbb99afe4781d80a50e69463fbd988722c3635423e27466c71dcc674527ccd728968cbcdc00c5c9035bb0af2c9922c7881a41dd2875273925131230f6ca59e9136b39f956c93b3b2d14c641b089e07d0a840c893ecd76bbf92c805456668d07c621491c5c054991a656f511619556eb97782e27a3c785124c70b0daba6c624d18e0f9793f96ba9e1599b17b30dccc0b4f3766a07b23b257309cd76aba072c2b9c9744394c6ab9cb6c54a97b5c57861a58dc0a03519832ee32a07654a070c0c8c4e8648addc355f274fc6b92a087b3f9751923e44274f858c49caba72b65851b3adc48936955097cad9553f5a263f1844b52a020ff7ca89e881a01b95d957a3153c0a5e0a1ccd66b1821a2b8632546e24c7cbbc4cb08808cac37f7da6b16f8aced052cdb2564948f1ab0f768a0d3286ccc7c3749c63c781530fa1ae670542855004a645b522881ec1412bdae342085a9dd5f8126af96bbdb0c1af69a15562cb2a155a100309d1b641d08b2d4ed17bfbf0bc04265f9b10c108f850309504d772811bba8e2be16249aa737d879fc7fb255ee7a6a0a753bd93741c61658ec074f6e002b019345769113cc013ff7494ba8378b11a172260aaa53421bde03a35589d57e322fefa4100a4743926ab7d62258b87b31ccbb5e6b89cb10b271aa05d994bb5708b23ab327ecb93c0f3156869f0883da2064f795e0e2ab7d3c64d61d2303fc3a29e1619923ca801e59fd752ca6e7649d303c9d20788e1214651b06995eb260c929a1344a849b25ca0a01f1eb52913686bba619e23714464031a78439287fca78f4c0476223eea61b7f25a7ce42cca901b2aea129817894ba3470823854f3e5b28d86ba979e54671862d90470b1e7838972a81a48107d6ac0611406b21fbcce1db7702ea9dd6ba6e40527b9dc663f3c93bad056dc28511f66c3e0b928db8879d22c592685cc775a6cd574ac3bce3b27591c821929076358a2200b377365f7efb9e40c3bf0ff0432986ae4bc1a242ce9921aa9e22448819585dea308eb039
|
||||
Ciphertext = 113db2dd06871235e7bc36c9dcaa528fc26ce5db9ecc1dc32e957d7ffb3c7429d50c3c3577a515d3183a1b9d267b936b7eb8f543a3afb77765ca7938f78aa6438ce80a06a6966d0d06af75ba3e0d4f37bac73369f5a729f73e85729edd97c8c2a8cc2619e4cf7b6091869e909fd47d9709149204b0837d8d6f25d267972be63bad34b544523c01c09de3b1fa1d6b7b059eee9e652062fe870f68c68005339ea181e1d0767c152aeb38faf0f9245ae59d5cb0d2b7f201229ed97020d0623a46100d097b0ce1154e028ae6194de05de97dd9ae2e85ffd25d95eb22effe5ba19cd807c530ebaa9fe9f642ccacff47ed15c22bfe3036ebf8ad9c8ed23240aeebaa24d135755100b85ecee3174906e46312062ceecac75de5275256c2c1a653fd6915b1b30c8ecbb6fd4280437453173a96238bc7d108892343e033bcd98e437e789fc5bebaa12b2634b51ed0d589f11143a021d8ecce594fdd48dae84c8063ef3581bc378a48da4e51bb175b0db47f9dcf99318c30225ca7fa79c879bf1c9397b5ccc5efad94c500ed7f9f385d088e34932221fc0fc9afe51f6875548131697695478abdc8736f10095a6b92ec679fe0e2ae5d8b335355d58dae4d4f0b17aa5d1e52f1d45584a892c34ce4b04fcd00981d51caa16064bad92d019dc3aded919684112b29daa28b9dae09b86b21a93310d5fbc6527b224b9ce87d2782bb294673f0ec06f26b087652a18d6ad7b1c93303ef0561c0fc9cd4f678f606f192cf5df92b1548f5dd2687edbeccfc6d4e9de4bd50d3c74fb275abd9b3e90277db4a0069c0a2a7136f50cead4b2f1995faaf168040e9e4beb7c5722049d6da6402992fcea45097df7c1c20fb068222000576935a0806773451921f54c55fbf593a4f147c1fef3acaf0cfa907ae48c8c06312cfdf5186904bec7fed4ed933c9256ab04cbfa03a967c1f7ead4ab40df116be660e27ca2b543526d4b9684c31e1e42383b969f896299d71390cc85b703202acadecfa8c40965c08c53b5671e0d59455bc5a8586c655db8c2ade4ba8877f19b6000e18f8feadda7ede8fe80aa662d694c6d8c33b52
|
||||
Output = 319839e82ab6b222de7b619e80da8391522bbb37677018494a4742c53f9abfdf
|
||||
|
||||
# Official test vector 1, seed: "d81c4d8d734fcbfbeade3d3f8a039faa2a2c9957e835ad55b22e75bf57bb556ac81adde6aeeb4a5a875c3bfcadfa958f"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = cde797df8ce67231f6c5d15811843e01eb2ab84c7490931240822adbddd72046
|
||||
EncodedPublicKey = 4b59447262a0bdbabdcddb3ffbd1c958aa04ac8ac815e054039ca2084ccde34b1b58212f8dcb9c8d7867d78120c2d84ccc20c0f136773b90088f273b017c4c29404043593192201f38eba1d4b326c653bf9b91a7f4387f0ae876f627b3ff878dc38aa3007a1a98387c3293396a74337ad51297075e09c1197cf50ea83c85f7085c1c81b07b87514f67898c64c9863b08744cae06da57c51bcc7ad588869806c4fb4e3430812af24ab7c1409ed89c0270a8632a4ab66a1009ec0253b4b128690f1ad7b3db743a1f85aa27d37c70c832b2b684b5b52aa6a7042a601dcda065f8f44008196504624e72a5099c686b82a283360c85ad425ed7c5af71c23747e21476462220f943a9381493e7060621b3d19674fa1bac0bd0b3b1cc484d7b6452d97d42898aa63674b25a51dbc655c9e7b647681c7a0a1d4714634754cd2401c0dfc4023b1b475ea1269e373ebb740c92d7be97755919c63aa939a471bc63d4b027799a34b2fb24a8690c4745385922b942f083b6c32a0d5c87f7a3b9fe168fa8b60d5f3247f9840c13259f992335debb52e7e08065264291f250c351c868d5ccb49c865be33c137c25bcb52b809351c476be47bb3dd7b85aae0a994ca746829597958a60ea55bde887c52a38a2dbf490cd506d0da19340d6cb4d1c1f5c84b4fc5357e21c0a44ec3a498aaa288c2b4e2196e1ac6e0b4213552621af049145687c4e69360a39afd69b38d9409842a65c36a5ca89b115897297d5c01d197154caeb77a44289a3f93e565690de3995501804dc519f7569bcc96a22e719840c542da779c943780a3c843efeec1a066050c6e47c4a39ad6e58266ca510ff3ab5dff37a2e34baf36abe5b09791f7b8e2391431d5a6a0b12ba077027ffdbb0ffaab72806d048fa066fcb4c487820a56b4bd10567f755bede04c91376330f797a56d59a465544b02ba68b96a0f95823d5e3b2c36c90423ac550abc796bc53833aace005a06b814db1d8c6a406bb5752cfb2b03a0824adb1ec265e5230b447a5082923ef1b0395f66c0fb913a9a133b29634716b65e889b0f80c4b02575ad3b8018331a67c3502c6195322bd2b71fd958cf071806587648fb31f7e4ee9ead48e0052b06244f3d1
|
||||
Ciphertext = 2dfc1275d0391e151787bfe12ba647b3a69c28259119330d33a1ca00d40d5ba9a4ac9238b6ccaab9efdbe0770bf9b654f544ecd94711a760c4be7e51f328856596d921d9b77128d13e64ca588da7b3a93ad56c41d998ab5b48d626ebc546133aec9aa56c961e0cd4a01ba788eacdcd2b3ce1cc14b74f4fcbbb931d8891a68f37e8703e9f9bbdf9091bd1f4c8c03abac6af752d0c1855d1b1f7b78d14e4bba9600a3703e7aae5f8a850008f0f531f15599133df1d03722d5ccd499408700730af1ddbe1f5e232c4d8b6f725d5d0da5076a97d1496579252e75c12d1c4ab35d46e3e33211f53269794be9006bab36446f865555e62123964431ba1ee6e4d54f3491761f82d05eb394c90fb5aabbf6fcd82f7b9db1a771c05bbaa7fc41f0b9a768e77c6d3d570eebd8b22e27fe5c658ed55af1b3b6822ddd6aacd5d29e2fc01b8e50c56ed0cb28c7115ae230ca34d858207d05038c55c508093a46e70be3f13632c3665dc01dbc17582adc63c9d9fd49604f245717ee4569c004d3065517ed65c60226c63a74f88987fc82f2d740a17ddb8f57ec3bde6d7febafafc04ca6412618fcb8f65fc25ad35bc6c7a19459576fbd698f7354e88add8b01ef35a45f55b91327e4af1ec5f80a5fa93e4065c06ff221d717961ee4e9043f610a1a414932bffbf1155167148437c49a7ff2f0123f1bfcb87298fffdf02e35b3bb68d16f8d29544f0d4eeb7e64c45f75100cda51b4841722c4b387b130bb7fd821cc159d3af60fa54e48b86557925d4647ba01f6baf4b827649073237c633f407736a66cb0158880ca3404ff362a4367ca8e77e9354464788f6dd160e479d6df59b8d5f3ea060dd02d078bb6328fbc05d560b9c724d7e734ee3269d9d3515b54890e49d879506990fe734d04991979664b360b1882b5f3801e4607ddda5a2a7e885fe4a7a5d8e77cc5cb6da28adcc04e94e86742411834e74ef3cc27f753bb7bd819400b13f2d987a2aa671d687c9bac7ee629ce97ed76fcdfcc56bcd9251579f27e86eb781f270f69942ca19613fbeefbced31bbf2a3843f2dd7d73a5ee9d508d070f510f18aba
|
||||
Output = 3806942c857ab9bf77b1db8d57ec9dca0ffbf6f156f2e250d8b88cc2a74fa1a7
|
||||
|
||||
# Official test vector 2, seed: "64335bf29e5de62842c941766ba129b0643b5e7121ca26cfc190ec7dc3543830557fdd5c03cf123a456d48efea43c868"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = f43f68fbd694f0a6d307297110ecd4739876489fdf07eb9b03364e2ed0ff96e9
|
||||
EncodedPublicKey = 24503105a73db30a555a947e6122749bb67f9d30686d9bbde6b720a6109d5fd3b4c7e6bc1f9c8c16ca3299c77bdeab47aec275e2622e20104c59b398f93c7f70a047c3832982cc7873163ba1d45001b8089149cd75cb9ae1694207c24ce846b21d87b23e61710e727b7f03826a76210948279c125f65d4a8d4096f3ac30f683c6e3dd3201224a42d67b7b150acfd96bab8992ada72bff486c00d78536b68ae359a09fba5cb478389b6621cff13477e6b4fa21b1b47b889d550a4c73535a3136b165009493a3410eac077954e0f126afa5c00e4bc05fafac63ef443fb749e3656035ee49f33bb21f3f5c24a2b964416440ffa0b7f4290ca49194dd911cb5173af9c87bd557768578c5ab9b3440852dc48c983541367a72d173bba671569084c36f6e6c021b54e951967ed28b23bdc9f4ad9236f9aaf14a47c2737ae4a123e37a3137ea0339e21ca834855541a4e05b5229e4588c983a4d96c91c83bb740a66c2ca4853e84848cd613cd73a01a34a80d7aa1cbba41a26a714bc4b5340baf82b17dfbec8593ea5ff97a738c522bd359ac6545c1ccc4a6933726ab0224a95b7354ba1f4d52a0bb46c8f3d11a75c67e2fcb626e2b3b61e326b9f71dd21479af3b687a31cdb7f4bb9ea8803429bf5713c55be6285e863ca8113b3ce4c258b036853828b6588ac4d0c7bc557f07b4637de3754d701692c280e7bb8ebe3931040b114c1c12df0ab298464d86f9889dd675edf89dedc7a1fb153ec3552cf9b59e39716a4f579a9a2ccc5b6c164237bdbea1745b97547473a8bb262559d17dec6994e0a5280cd9b345ba597a5c38c3e76d4972808907c20d0b0440170f7c342bcb9348a0850fece62ad0e25a89465e45d8896b42cc12534de39a40f4140bedc67caf03881d0338c0d44801e48a48b191d44c6e5516077af0905df2a6e4353a39bc1efb36b37e77adc39029d1d70271f29856687bc5428ab42916e5a390ee198ac55c3efb8b7e1b7a1541a12b91f799923b57a3613c6e75593f33a856c5814a209dae2688c2dc2bf1a115491a94bf9a2e81b0276ef5176b298127868cff4634df1197f5463b23f126f1ae625bd2be8ca1229457f96ab5c25dbb6164a80bae45c7868ac17485
|
||||
Ciphertext = 00a7cd29649cfdac962563ab54759912302b7d3aa9b20cb186746972771fb6f9f5235582e633fa218b0ae21b6422a4a6a4786689c92749c2f828fcaeaa3fd809cb7e98a1ebfd5f1610d4475b340511b4b112a308873cc4461dd7ac0497272e6e153d1063f86b61c6f47c7037f923757e540dd15565ee66459af4f5e840a1cf187efe8deb04ac65e89a2d8a7856ccaa7c8db22eb3ef3904676e3c84eee57bff3e7915ba440a799ab35ea00a9c06367057f42bd184f9bedc36fc3e9268ec3cb22e7cc16bd0dcfdfc2cbcf321a987bd5358a39b7e70381338f043f94cf846bfaaa50515ba1d0b8a49d1d917d03dab179a76cf9aaca15bc75981e18d110046c779bf1133a12f9043a9e4bcf8e484dec2e869a9b4653e7ad8ae181d6d761c61de95eed8862f6d6f19ea4aacbd81233e3fa40d550115b6f89492b5cf6cc9f0d945ed838dd2ec7b75a8f849f5e62c3c986b312d9cdb590907c82c1d328d033166621c1e375c4d464c6d590b0ffa9adffc787e3cadd7836efa2b92b5edcf504dbacc8d8261c96a0ab20430451c95eb0962be241c01bdf3b391db3cbc1076ee1bd36580dcf76d7e08f84027d5e133f7f5b3ff2b05a4ae324981f3afe0def5805c8f7940a55f80ffd59b3b61fb96c2273bceeeff6c3a06053ca135725f986f513eb14f0bbf7de8ca03f160b4bf3caaf769f30f8a90c136ba826067c4cbb0d835f5dd2438ceaa4d3514bc2acc9da73130b500b9f7086b2bdc0db2391d5c725dde86e909054e04cd9d31f74e84f6623b395e43a1571bb6edbdf7411882b56d3a903d9a7cf5e021fa3618e390142eaae6843571888fdb711d2757dac0fcadd456afca1e40bfd56384ada22d420cd37b67080319f0f61d0d629b56baef1dce49ae67aee6d84af9bad4af5983904162b6e3a2bf9dbdb51f241cf8d22c16adf0aa514bd76c82016af8bce3b5ae91fdc681436e84532952c5808a0a8fc5749d9afbe4c17a7fa4e675390716488d6537b971d8a21a50cf616fbcfbd2c64264618894c93cf249820c6574faa4efffb1f53cdcfc61de3c314475ade8e221b07f79840b7eb0f4d4137c35
|
||||
Output = a1e73a1ebd907a6f176acf808b0d0412d31cff0e9d800a732e1e96bd9f8d7ebb
|
||||
|
||||
# Official test vector 3, seed: "225d5ce2ceac61930a07503fb59f7c2f936a3e075481da3ca299a80f8c5df9223a073e7b90e02ebf98ca2227eba38c1a"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = ea74fbc3c546500ed684bed6fe3c496d3b86d2d6dfaf223969b942e9a8c95e85
|
||||
EncodedPublicKey = bff484451c173f414121e153632715cbd185608c4ba0e35923ac85a31132d4d28ba8452bcdb772b1d414303068c6a4a2d7ba83f72bc00cb4c99a9b6b26f4be08c3add612ca7b6aa422f32f5991be0b4cc5de5644ab17b250444228e62f91822899c694e1133ca5db14d884a445261469055659ecac02a053b9931f160052ca58a24592556893555f8b13ab08b0e9790ce1b42da547a7ae91cd77f3c6dedccc645812a9d2cf4f749f7dc61a58a67012dc517762bea3282068504698437840cc24bb659437214b7993c0b6248514e32f07265377b0191f75ab5238ac85b181af153bab90742461caa8901d8a3489c504502478c75432564468ae2cc719ed23aeec6460cb791471f702c2090e21b273c694aec9369ee75724c999cf7c95cdb863625d83076b7b03deaa221dea8991942f068887730b6527d8cffa7a69a4521eab818d32065a6fe36160aa767a6cbc930119d38b49602609419272e1eb626f3802eb15bd318208ca827317c64a58d29b430656f3f9852546141fe98ec2d34e636bb1a3e8130111c9bc59719df361279919950618d1d0434227233f877b62473b558873bf15496fd1769cc59deb7b4e1b268a7f6a192adc2c7eabb00160112b7c8b3a679b432b95bf34685617a4c76313fa258d85ba5ddf6301eb39614b6a82e707509605a90c408aa7caa8ed3c59b0a5102c789afe421346d919873b9ef5029ccfd46876b98715f7b12e5ca82f502e50c288a8247823585e526ba291326e02cbb03d4c768c76585cb6a0a1e5050828aaa9457b691c582905348b11593139008ab92bd5445d0a63c7b756c5e2ca328d1c5f6832b56245cc8ecc2c7d6164b2b5a874a01fe27a1e1b5640809abbedd042dc18489a391c75e89407817e69d3a49cfb96729c7af1b48b9a4089a76471b2597479f4b58dc77c0340baf6e103b7b61ab1f082f635795ce66d0c3b4501114582da8663d5783c981c26256bfc058433767d1073c77694cb472b21bd052255189f45cb1100994ce7c970528646ef307cdd43769917a7ffe429ba65a9e643796d7b5395ca9c5de71ea5239d8a0cb5002aac9dfa7b70afa11e30613fbb4eb814a6d781fdad9eb7235eb67684416054abd5ba87e255
|
||||
Ciphertext = 5f6e711e30a8871c45a5086b9fcccabca7be2ff75f8fee0f928504c23e4ac9a46806eea9659d1582a6884461cff6a7f98884627c7129acb89323b5f7e1eeccee6414584b56b795d50bd7a9184752e5d565a5e10b3f9c15dfe7bcd67bc06d5231ada5b6500b2391883040e60ad4ee03211e362a338b011f07494c0457d7d51e552d0a29e3ad2fd8d0bb5ed17d39296a16c97365e3a0e9e08e41db7f76763e96e73e9ee48840af833887fe638929980e7883e21247196e799471a9657935e277c25b83a0d7235a0a75e29049c920e41d4ebf2c56f942dd7eb1eaf7cf91d5ca9c302d356108d03e968102273e5da7d88cbcc6fb8d00dfd87660533de43f891c61d9ab9fa44f4de27e158ba98ced2f2d5e57f1d03dc04682b488fc38f5cf09fa8ccba6148f9971bb4b480f1bb7069d306d86e9849119181b66707775441ca73e7642dc570cc90cde6e96d9c8cd0938b486f67bfe733bcd58a7ad877a7f60b13c302553989fae5019d1c3ef8a4041c83c3cb89bff9f7a203170309aac3a62e38ead03e66b69c39dc5d89f9cdcbf7d8eec4f9d4acc020bd8ca677f0c52e445ced8f4f49a909a46caf78420a0c9169492e04d66881c88f3786c238407bfaab28929ef362b59a1a1e226163026bf98c65747aec16ac4ca9a77648937c4e55efba717fcc96dee988bfacfe585935164da16f317865765e1d17da460b8b25b2ce8cd8a450865421ffab39d83112e3d8a7142593732b9cf880d885e177d04fd82fbc09a694a2da7047ddcb7b4b340ebce7a964366a491852078dd8865a52ec654b9c2583974332f6c1135a74cfaafd663f9f049c320cf2769cb7842e23fae7fea6bac70381ef008e8467ead6cb257368014e0b34ef8b8c5983b696014e6b3c30fcc93668e1e13b373c57afe52840f676783e15fa5b1d0347d8bef83af666d0c0de4d8e1c1db804625605596319743e07fdbb07f34b3fa3c2f3c398c68cc4faa417c0f2c2d8bc9ea5f2f7d50389071662fa79a9c91216f26f3d99c0073bb8dc4fd24d08e093c10cea7213d59ae8ce657743c8a2fba58d72c21db29618d56b63bff6ffcac0ae8
|
||||
Output = 255b06c42b0dc4a66e704a50180ef40cecbf7e4ae4b0604fbbfe92ef3472b671
|
||||
|
||||
# Official test vector 4, seed: "edc76e7c1523e3862552133fea4d2ab05c69fb54a9354f0846456a2a407e071df4650ec0e0a5666a52cd09462dbc51f9"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 64efa87a12cb96f98b9b81a7e5128a959c74e5332aaab0444fca7b4a5e5e0216
|
||||
EncodedPublicKey = ae9a88ec4c3778691b80c5c7e1916e8f4a3107d8b4f6071b9a205385360b5bac870a0c876468c2f9905d96da3cffabc24f926861271b7b449ff5129489749933b9151b1277a8496007ac16a23c4610922ed1032e53e3aed0f36f07097c97c9c4e15871f37c8182320526c92be9826cedb85302dac7eab759fa2370f8bc9986d58426399fa5a8377b156a686c22a9f831f97284829359a02688cb88548b368eab1cb8ebac0a7ebc673e437424db392190344a095b5819bbd8da5b443602a48a106c672c7754c4ad7ac9acb59d8964385dcc256d1b58add3cd3b0c4575167f809b2003b411a3c65ab780c39ceb02dcb0b257583070d561335c87786c932b1523d4b9639afb4734f42b7a43339904830999a9d98529ea145338380666885e1e7598f8ec86a671234a301f5975af86a22f4369cf640ac1a86334776c7821d6cfb8c5345b63c53c3320206712eb805188c55f9146959e8a9c90640cb7d98111c0077857552d89808f0169bfbc60e90ca69a1202c2e34bbe040b92500fc375c31ae07b59c7804d8084ebd8b1f49673fa1cc3d32009bd4ac05ad9676c8b2181a7a5cadb7c3b860fe7e272f4c7a9bfe68c6f386bee3a9a4cc61b0e91c79cb743db0a1e2e6c3577b4099b4c87397b794f71bef5f0685353738ed5b9f9428ef3036b406a258c3bc907d8bbb32b564bf23151f23abdb98918793b1c2c6ebf049024135a039a1d41404cd8db2b78734ffd38ce77e1a83a41264b059d6e2a502fbc7e2cc4ab056c5be9e22396fa759f98127682366d71967a501132b8cd46b41b2145ca1e32cb5a06bdddd80701e43a8f56851bbb6df01623dc806357b53e93d3b039674f94a68207451dc7f4b2ea036bcaac508fa13b004a29b7a64ae5c64342266433b435dbd9be5bb79a3121b9c791501c971a04959e7ec91fe3f4a81b807959cbc43e64a3ce081dc9e31e20a851ec051dc71266bca03c8fd25f2c9c02e02030b810793d420f3eaa15e0f2c2838a1df1a12a4d1ab4947249e29668c58a14f0a8576254125e774427f34ce9e45319cc0c91a2b482577b804205b79a33faf52614817202dcce47e40e64e77af1209082d51148d31d02f83ec577d6799a220cff5a2ec08701ce
|
||||
Ciphertext = 4afc741512ca6ae6b3f8bdd6e69d2dcfffb59a69dfde9d493104bbf6bff3c117a3420032024cf408904034136d00cf900871ca504f776dc159203397387861e184807f99ca62fe6140b908af93d152e48ef7c5bc8c131255cba6be4e454b9500550d1163f7ae780e424f030567ebb1a8883dadcf1e52423522c8fc0a08727ac55317e8bf5237d51a4222060b70e4cc42e4d65c9a3e17e226e55f4de977cc0966a395b4f93a12333a0196fd49a81564f994b4c73e9147d1d88d73c76f3f80413024e20296b3e6b210873686897c9759e2c683f539045fbf63182f8a41341e6004812db9ac6e53c135a70bb2063cfbf9e3de017a8d431a880e922b489739642e931f1964eb0539a15b72096e62ffe0725736d50ca6e461857216a2332ebeec7cead0b721217f8020d6e3fafc5724a20e6c54c82c4d366f876ae5907cab86174a6d04d7ec735b20f49376593daaa12dfb46692fd92b8d830e71888b9ee75003f2ffafbc7ddbbf057c5044fee1e77b379bfae3c14517771bf52870a8a97c1f5a750a12f0f75a8ec1328c9a726835b3b112254fab16e8e708911694bf5242f16f4d9c8741aed9339ed85ff96492e866bd181489a38c9d083d0449e2ca7e52651842261956de218aeeebf3825ea804774c0ab0f2bbab6dff55f61929fecb960fc88f36f3c028b3f8fa75f92350c5520d8ff29842e3d4cd80e1e3a4b721fd3db2bda87a1a1cfd00665e28ccebe76b802806613e91e218e655844c93a2184d3416cf373ff9201fe16282a3e30f5742943ffc4e2c00021e8d404c170fe9697109bb1676cb50f1668ace80f1ab00a7032be39a523b2ef80242860bafe28071b8b682f9eabe8da21fec046606262af034898543bf50319d3b829fbfd050a65a63d68e1021039b9dc6457972546cea5c0e602ca2579f266190789e9508d48fbe23c8ebc472cc921495ecc6d9a576c94e3d8a283e0edbd173053d642f76068c28ed970b30237c665988420d75657f0f32b9b185af96b0a344a0a6a8601ff062a467e0b88e66fe9097c72ba51b122e52164c2e95cf41ea71b8f1d03b3a34a3ef234daa2198af16
|
||||
Output = 2bc3d772ed76d13c7b13c479ebdae8afd841c88199a9d1c6a6635079a9ecff9b
|
||||
|
||||
# Official test vector 5, seed: "aa93649193c2c5985acf8f9e6ac50c36ae16a2526d7c684f7a3bb4abcd7b6ff790e82badce89bc7380d66251f97aaaaa"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 8a95d71228acaa5f9ae6f9d9ca8ae55fde296463b41083a39e833e37c4c90f88
|
||||
EncodedPublicKey = 797a2b3dec9bf6159cf321b5f0f521a4216904c25a94b21c48a21e2d384b66db071e527c4798620ce8292c8cb962955f550b3dc0a1266dc47693b6b29e24156300375353c62640654d168dfca3445c2bcb06064c5f00b65cbb6d723b00a7999c74e1aa4fd1a64ac57c4356b612ac41ceac61e9983312d597b48b24febb6fa2962a1013a2d0878dccda268f5b00f55043239746c003140ea2ae3739ae17921c5bd7b02065a264186a081187dc500cb8200a9e9627df4b54b7682bac393f1d33655f643432f5c8164a2906131d46d483c684754ba885790c3a441374fa78346815126386021337304527a7df48a79ca62d32b41ab18000778b4ab6792771077e7644717a4845e9c248801949ed29b30cab0afada52d58a1b1918174cf8423d71ba0d22a9b1c71ec0347f9dd1a8ea111c8ac58cb5c61eaa977f3a8a0458082d8edc612e6c3b5d5b67f0541ef6276f15d11649010c1912a976ab3fbd7586c7372748bcce38b01fc39a62b65c2fb1dc82cbe22a3d4a26ba219a0afc093b745e7582168e3a33aa2a705a217180484537910bbec04256097b9fc174ef93973fa50f1a923daf51a2e59a1250b1a5a04c9a105a3191122d88d75793a674bc32006202bed2b6aff362540413a72e5312654ca63a72620d4a48863b98ea05c4faeb3d7ff8874198720dac3af8798dc148592a373346e250b0902f2a80cc13d8ca636664240b6a74ec4a570234e213a786655a4577afb84874ba4b4a1c97369da665493988f2e2cf412374d232236683ce8954ac4478408b4164cd26bb586a91a268c4cee82788411f2b2c387265334bd07b39c4946d0c1656b487092287780024a4027778605d06ec0ad266869bd28ffa11c254d123ab2c6b5f981dd44c3c79d86150b8c48b12af3899414d16c53a6414b782012d151aef08b31f4bc694714c04f05b51877728598b516b4ecbc438bd9b8643dc02ad741dd03c1bccc4aeac579d063b10c9ea16ab71b3df5aadc4b56b8bc1c08b40bffa8ca12e39cdaa137f7bd3bad32c5bf70b92c7bc5ffd050f801c797b01c0d3f307a579c61179a4e13a7097caaf445760018e6e7b19a4829a5d6323f5635cb3728135c43151e3701f36223e94e170e036
|
||||
Ciphertext = c8c1d60caf863d1c6554e4d84ec2578faab96c81c2c883a1be5a828b602d7fc7a75a1842541ef404433700a67f740b4856b80d0059e6a0ea85240bc5835880f0ac561a85c6da88f6b0d64798757b1365cb52f7e2d73a24fdfbf35229fe19694211f705eadaa72ff66e930badcbcea67b0f1291391ae88fd82843bf3b20de0022f5abed09107251a26f126f82ab32b595ab2b2b48276f684568f9b257abfbdd607b58ceebf6eb8177bde4b9e5d24d1a3a1ba98a483b2cb91ab974903b3536d3e2b06542c60541e3c8a7fc85811bcb8151490505fe96451e280a7a1c2252fb5339ffb2c7b7659872b223d3877d1c9d444fdf797385b1447b8edbb846366e27aeb3ca08e230ea4c26ff12c679d5594a6959f8abe5a440357c79e524f7911d1505d3ab45cf218b201c7c90d64c5d3648e72f858890d5e680ee23c0a50642d316a971873e10ed933d7a06316034cad7a2b43f4a120b378717095ff5ba5b92a5de6cd997ba37307369c67e01f058d2e5139855a78a1fdba605460413b55f99f6e3bf581de8c8a8dc5a2ae11a3025f756b419ca850f5202c6834d66ef260745d0c8a6422d10bdac3b4a6e6299de1a59b0998d556ebf4cb72b37cd666757dead145018e49c6f0805db86c15f431b756f1e1ac0d3f1a7ba509c40ee42554c4c82d88c0b31867423eca02b8a45dab189a1092478525195b56027131c8b329fe3551d7218210d210dc59d8eca9515396e650f49ca278e2a2aed646993a622c252356758ab3ac361d5b003a1a9e872f440844697e66b1d92764118f464799a0672fb198fad0418c2103a862fee65344e54b4f3614da3b42d17096092544ddd6c5aaefe5ed2d7555eea3e26596bcc8371aec079415648a4f28c5b71704cc2d755b5935a1026943f7859487f39987f422a57ba2a3ea28786b264fb5ea4e11f3d93bcffb5acbab4ca2eb149fc2c1d508ffcf69198b179ef4e639c078485aca11cf06fba87c308102fbd4f53418683023c1a1fd12a655b31a4a4011aa7cb45e94d78714715703c976bcf9f4e015fcc4ca3ddd7e11865679aab4a3fbdecfcbdf10f7b7841fe64cbc9
|
||||
Output = cbeb7f1be09e7a73b83be91deb2377e3cf536a89ca695b270436f0dfe5dc9403
|
||||
|
||||
# Official test vector 6, seed: "2e014dc7c2696b9f6d4af555cba4b931b34863ff60e2341d4fdfe472fef2fe2c33e0813fc5cafde4e30277fe522a9049"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 90d79d75d0bbb8921cf70d46bab497022a8e750efdc99e5f1bae653275441c7b
|
||||
EncodedPublicKey = a4b07e18e0ae7ba716c2905ee295a8be64682bc877e1b8bb7af14889d58a5c510526d050b6049eec47409c1ba4704b7098ab8044e33277b8855341024492228164480906af317a92f876240349399f609344801fd682881d410c9d8c373f03aa6b1420ebe375a51126eeb173dd493b6054b49043a4ec1a3abf1a30557b6fd981b728f23c8712c347a6329dd72d3cab1716729ad9899c8e9765416290554b697162b27b133dc7a8b63e02d08cba91097aa2d4a697bcfc456b0ab4d180bfff46241d002a5cea9c91eb54eb6588eb026f49fc31a27b82a06c7916b71f84a00afd9242bba668f7aa13d5684e9e00cd78a2a8b56533fdb5a7c1037de1b17981e90a20f075b4e9777d5a4bff698cfc900a0195508490a6a7372501f3b19b3323b6163adbaa53851402e01587b942c9213c067298354b936f69c57197e36d5333a540b8319793169f698d32ec1cf109c689130c0af3842e7244f270ad1ad04511dc9827b17db25209f1aaab62b769725c9af86808fc367b9dd91641c31e26c434e89b3851761092a70f80b41db9fb84df71bb40e7393b04c26776a00da0be3ae61436f10eec07b9367aa8733b4eba72927640b518b6268b012b9a630dceac578ee255a99c4aa366a18792bedd5c130c604efb4547d29b89ed72b96c55a71a54746e56527549cd81e8217958a07cc45f9770861a6a67a404ae3c87bf0e53a82c7841b0cb7b8d48baf882953a66618f2c33c329be3ab64150655b7e07b5da9355e215c326d65399c4ce5fa48fa4a2642af922363714bdb680a2211c523c70535b1143cbadebbba8ebd881af6c1d48d810134abedeeba269440cf1243905309193d0cde5065498ac80dd600e662b0231fa5a60e952cb321a4fb3268cb165ee68b4dc47b0e8fcb0fd8083aa0bb100bb8f11301bc960a62db905ce44b4883acb4016460aa98a6e80b979bc6b2ad79c4491a696d7978f9c4f868ba63827826afc8179773ead18b9d42b2bbf74435958478feb23d2fa5ee3f72c74d43e09a98b59128d77f949fe3c153f5976c2aa16d2933a680148aa0b9daee91bd18c9a6dab61aa1cc7fec30307d1604a6b2cf6fc790065ae12b64277655fa27fba5ebdcef7bae7cb2574dbdb
|
||||
Ciphertext = 108e5c0fb8a9df13ce99a2867c45594c4278935d6bc1881011b84f9a48321bfca6c56a12c0248837fe5475ddf9883f2833716ec75c5bf3835f51d7990a7e1ab01745d2b82e172850a3f3ca8afbf29520dc0b75c7c3dffe306fe3e9c4c1dfb98dacbb3f16ee5622cbac8f9cf0aac69cf8842bd729b0dfde893051c9c18ec928297e1634d21944285d4c62fa17f6309c1ae136b9198e02da0aeff3019b95702539736967950422aa3337282637abe5fc3b1ab5bba130b579557ca2a4108d475751b49fe04798875540bb10e35a59a6b0057206eee32d755bbf8e6a29cdd9dc16cd74b5aa5ecee1415c1fb827c07ffed3759dc497e32d96b368ceb5c6105d8952c184bd1bc826f047e513db647feeb8893e089d315c9ff81406dfd1ef528ee6b338e653d3189fd8c9d672dcf31991481c16a27306078b9d5ddcc025020737e8e1d1fdfc63334ac71db4e2187ac68adc92a74d70260aa50d05f85a200839356fe06df41f6077427339d5af2f45f1fd5eb6e47909a8b1c78a107840a5783f7557859b61e611f049258e666ea73c7844dd94c6e374b0da61e02514067b9079f3e234e98dd7c3ece94a3bee7cd1dab2b76f203f54bd951871e51da76f0bf32c0f6fc4fd38688356c6b652e61925b2139b21945751be7f1317ba7ff2911a87a05884275bfdef7a58f369fad98cf5564f49c71ab31e11bbb123b56d97b6d7c544b500289bfe9f295da291449c42180e75cab91fdff461296679733bbdb80ae86b8cc5d4d3c684c5fcb49ae3757a6a375c2e83e13a688d32d074faf7952e31b4e7b5ca840205c17b780e043b1d1c90e6c592bc7ea8ff5910dd9c8004918a98da87d9b47fa073aaac25e9986d295c938de6753e7b04cd9e013392f76889a473adeeccf64030aaeefbd7f4c4add70061fe7e0c58960a3c8ed8d5f3f04597580c595147a2da4390d463b752ad83941f6fe3da3b2ec796f91e86ce0b7b1f99011b50e57a3324e50b56936dbfdc29e6eef3370e5ad2cb523de707130be839320b3bc28cbf6e61172b539a005c772ee78caf63905de03b5824910a5a663090f399f365b39b65733c
|
||||
Output = 4a88951f0fdea4f6c1b90865118456771ef756724771f79d752f41c94b8dd754
|
||||
|
||||
# Official test vector 7, seed: "aefb28fdd34e0ab403a703b535296e3a545ca479c1d8148e2d501b3c8dd8b1034bd986f13f1a7b4671be769359fd2aab"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = be8a32f97b9a8d596382c02fa2a0eeebc15c083e970ddaa4f2622b91d6718663
|
||||
EncodedPublicKey = 0db29db808c5c3894d41ec6ddd357e0bd28e1d2c4a070a3140e2cefcd313c5e5484a403f43f3cae2863b5d7ac00f6a7cb96197b1a71cce6b18828867afa82326b450f5d43f5c51a5f94ccec2c482d8b305aa3c401764cf251ba15a42028030589d88807469cc3886b2a83a3cc09a78bb5a537ab715d4287f10643584f5ca9e1c3dacbc548303bd24a7ba96a9613b9c67b469a3117bb3b3449fc8e967fa9b0747b1550303bff3192f109340ec254142a5b829ea8c4ae80310076b5adace4e844a2390234ff53702ecb38a45563c933cfde77672389530fb45b5869623c29d924cb357f926069802b2590fe7a8534e0800f0d03f71b80d48f02888a09fff26399c6c4cbf578965e12b611a96e6d63381f749731a8908da899ec37a09776c0149c65158c717362fff2300c625b98942bf752993caa947d1a5408ec80f2b146089f87dc383053ba25864a4cedf595ac0bccb9afc534e165c0793a6ea03b9a73a0e412cad53501b0e878445e9a33a7a798a73717714af1c515e5f1114d16c9efed7bb1102b219a9b148a9016e2a649708012c3a03f4b583a6fb33826c4ef2c59ff8618839227b9aa15214504a1f713fa20c507ec879aefb269e58536409982da1a80644876dc499259c91ba53073ee06c486461ad00ca8556a18dc189d92c07b26a219b38ae91e902b11c899e690c004a48975a2b5a0b7358ba97ad2b603ad15af20569a00201ee197bf9d61040a04e63a57e0fd53fb2eb3984752e20bcc6d2ea2a137473206c11f02b5813430b5c3663f4b4aaf1b5b0fce0a1f7c5043ac703c5597477a9c1cb03354065843552b8d4fc087c8980f83959aa459623f7160187ae115ac1967108601c6562195c0fd31566c72ef044abc668c9a4fbb16290ba2673b867a3135cb217c76117a831595afbb173c7489dbb1a0c1badf5188a97784104c2a8901c1a6f5a27cfd5af0f74a394d53dc5932156a1895524b1754814611c7f96716fc7849597589fffdc205b9599b71122cb5c6f7237691e50880720333b3b3cf0a59c921c225b44633764b2923956b06ac602a3a9892b630d3958304bb1d1741257cb4aa662e8f1c68d270af725604ceb8a7ceb1c543d1f18ed4ad3ef745d94f8
|
||||
Ciphertext = 054c061f91d63a5d5431ac79f410b0d6eecf1d3bc2ff4d84223974e35a47e47a82dfe30aa2902ff96d02923fe3310cf645331f6bca1f6e1722aed50e61faaa873082f1a15761b3fa58846a9f2df926b8aa6e085439e504ed3b6ccd057a53a56f0ffec416ea45e7d814af0a0d04fb8f986ba28959ebe17ce72712da80e49094e9a9282d8096abf9a864105ce9a27f5b57b91ac55fb804c673fdfed14cf0f3ecfa106dda285514d21315f8c59c86450d769fb0e9c4e59fb410339392f85f577ae0c7caa17b5c0c50afe7e877b05d13ac4e91b5b93bab79b623eb9f59e0e668b93d561e5ae0b0418fa0ab02b0af829c952126380e63838ad177965e4b1732dfd1511d15178a44370ca1d5ddc4ed7cf2d7ccbd875837223b4180a7cfc54095e76f5edd03f7a741d6b461458c44b939bd59475238af7858b5567181c291b21c9cc9ae8798aa0c23ef29fe299dde61e0b983b98084bd6a42239a8027968cb27ae9748cdfb527aa84c3da85998e64b060b5c7b293ec79dfb4c9b502ad945e205591f0ea7c7a774581131ca640e7d40f12357da6d07a99179449c7eac4c78a4f7aecfa83f162b5712d19d538bb77b63104e80ba87a24e5068ccd22a711e6cd9f86303a9b92057e313aa7b20fda58f1aff7016998d19b4a7db130cf9015bba8a747c85f407e1317d75c1ae73033a0304770163bae265fbe854c832e1e6cbce516385237a50d62ea856cb373df535055b93e8e3d84e6446f5cfbb8bea7b1e8b0666239bbeadf096555e3e6da6e59c7f59667e212e5ac7e5dc60b518134cdddbd079e23e4bbf698ad85c158b62e69dfa10fa7fdda0474111d34266e57fee6eb3a66f17922ba59f779c4f4ed94afc4c0ff0d207f8d587a9f9e7e0294c83a76acf04454eebe8f4ed75c0fcaad2b5e22718f09a0fc53ad9d0db01c675c549704b72275cceb6c1af27904040daf2a19cbe663847e79244b20affb5d6b45f7a4048190b191f5c5b31cdedfeedbde49963c931b809fbdefedda5b978deda58ee3dd722950dc9dc0fa5cfa0f283ea0f92c3c2bcb578300d62a7fc2476cae0c07ab6dbffbb8b3625f85
|
||||
Output = 948e74805c64bf386b623f0b2d105d11d7609d49587372235af7da3d98a5487d
|
||||
|
||||
# Official test vector 8, seed: "cbe5161e8de02dda7de204aeb0fbb4ca81344ba8c30fe357a4664e5d2988a03b64184d7dc69f8d367550e5fea0876d41"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = da2cfaf69e25b2a89ff2557bbb6f69e01d8e2e7bb27a7a1ce7e40fead16f33b2
|
||||
EncodedPublicKey = 37b8b46ff76752ebb62262b56c1b32b9d72d41821d21d5cfaa02cd9d29cc127b5370c167d7f811bf3b78efb3bc4e717a3663cee3e2b1c1f2b469f759b12505bfd8beb79c894be52b74c1724bd878c01b8ba41060c1f12a20e234f85476c6e8cc214759d3580c6f95cc6a6a2a6312cf843354700a2e4fc38bf0a52b68190b1ba9bbf01b6fd06571302c1d16e92f2ff88ccd7648ed7c214508b433c5a4bc7a2adf6415836b377bd432097ba01da893b9f163f5528d48773b58477a692c35f2f95552f2af39d2151237926e9a3d004903f7851e66dc13bd9bb874591ca98590a633503569212dcca0a59513261456445ab40959c42f21274a252c3e09623583ce30a063176b9960f7c1df65baaa5b1c7b8c2d843126b2f3b564235adafb5a0bf66c70883164bb0ecf20b39965a9501279b08a51696891dde820e2a002bfa67f110162afea7632f4b45adb04eb6c85e1b1a68f9a6bbd4b7b4c4ac6f0b821c59b0049895b6ae13fcd202e5db7808f5b916e5cc4dada5c48656988b19ac44cbceec40ea1d71a0630b3ab295fb5c911c893a1e60660df36a9fb6460e0e45528b1c376d6cad0ac375057849a823a6cf74f6594065c0b5ab341a959a04de845071e61b8a4fb92b71346b0019a96f9cb8c660e7220ca8c2ca9c57362559c31d69c2cddec0f86631681e2344452173157cb96d3c4ee051f4e6c3455305d541bb4ad3097fbacc66db01f54b648f463b21e083a68a96bb2975b6d05cd0a415f8a87735691b1b032204ad34751d5a796da410b57c651d36435253bf3f85648b352a29921a5d240bea34fa2cc40982bb28ae0b378ba3fea491479d690a8d21863f8c4728267fc8a48753093dca438ef614eb438b36d324852f1062f21c9408a7478f16d03a4ad656b80d7e81d9581282844c0df28059903c58911ca4f174013769b091a3260cbc251171fa47980a3b78a764069587b620f8abc28e258d5daaae9e110f7d077c9f0905e76cc3b0a8cf068b9aff77dc33a767790700c85c663a9357c80a447d6030fd519ccb9049db02ab8b8a20387038132700ae9389791072e796e206a76de7aa367589fadb82aef85003cce1a7228b882b3aabcb1debb4bea22d584e8964808d3
|
||||
Ciphertext = de2d9709afa3e829d65a80af248138fb38cabc9052a308d3d86d81aafa45fcc1b0ad0bd4033668490f8a0525deddac8bd8c50826fa0f084b59791ec1eb1335b23b92240ea5d8506802fec58ca39c3b15ad6538ba6c9bd57ea55d858bbbf2eb0fb7a2be51e978dc822f327284ae2a4506657020921290f07a11cbec01f8ba18b00b8df339245ca3ca4e29ed507e84e9aa52d7f1570090a5f6ef4e41a3242be3c001213b2db57fc206f2d6a78d359e320345213b2e62f92a586b39db98e9a610b3697f0e5e090076ae5fc35522280c525aa9aa422b09fd4f0e6134109a606a56c385b2df576ef5f0a8ba099ada5a4358c7b64da6d22e423cfdaebc93bbf070d64a7a20d0d116c7f622f675b73677b37df774a3b54bb44c9da74701971d6e113fc616b7deb196599ad22e2806ab1b691f0516e571a7c3d2e2969cba3615d9ee7851189b0b83fb079fae5c387cd4e161e04a2714c5c6ae2d789dbfae68c87fc3577650e01e180a4c8bb07a9c00ec5b404db5facc758c7b922bdb8582b1bb75af2a2895d9cc1829b5687296838e8b47b9d5d39cb98abf7b9ff5b1d8f7aab0a773515e09e80170320edcb9a3091e19c9450b43c0ddcb7bbedb319c9a812a0d9b786966cb6686f95f252f565a39d2f57342c01be54a2e3dccdf2e7d625e32b75018108259403e373803f45577db5192c6a795467befe2ff06444c550ff6bb55508929ba29a5ecc78578fb25f608998bf68f5d346d7ded05df5335c541c46ee9032a11803de8098565c9de6c9eb4cdf5adc8f961e3aaa7acb113122bea67bada7d92fcf2620300f8f104ea1b8cf58424a4128a8d55cdeb43a710761381cb1d082925419846cd2e493cf4887d3d93625e871b10ceae4f0b93e351da34c329fb066aa7e1781fe539c4fd4c27a0e42423bac212a0a8947c75540339a24033acd291d6d0ca23ea4f1f7afa95c27ace48661b9a4d7ef73adb17d79319ee0c759af4955fb4c30f2e69efba20bce0a86e80cc768b98c2388fc7bdaaaa0d2706187048b4bf7024ad6f21c61e18e37440473053979caa33993b44967f88a04d3826c3def8f088e78c
|
||||
Output = f2c33a2426460d9f4c95ff8983e5e6db6e6f79ef8b7b1dbc6ff863fb0e034349
|
||||
|
||||
# Official test vector 9, seed: "b4663a7a9883386a2ae4cbd93787e247bf26087e3826d1b8dbeb679e49c0bb286e114f0e9f42f61f63dec42b4f974846"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 511c2ab40782322c06111e144e505328c4e5bfc890a5980a2bbc44aeda4c738b
|
||||
EncodedPublicKey = 8468b91f0c3bcbfc6d0d41b443d2269bc905b855992527b3fa85c305b9bc4b316691609957ca3dc87273f973cc06b09df13549a6222a2a970a44b108f6a434f5415489bb807dd6ba8358c0b95c9a92b7413808bb5bb094e0b54c15f18453446a28505d049abb1fa551feb055ac23718d17ba668230f2b57854cb130357937ca10c4d726fa9eb18a1421a491547b8b59b33e07e7a1529033722b6931e27d5220a083c95f1b85eb62c5428777bdb37b8391abc6cc0bb576def240dd096069efa48c812545a365a462c9e95065e7ca7ccdde66ca8fa4e3df7278f096ddb6a47b32c613ff46b56043d3d6649b109b17dcb81ad84b9a1aa85b20217f8c973d205588cf0927a3a0e8227c39de35eff82ba2fb2b3e86a22c6407b3fc1620b3a16b6e93a78ba2007fa4fec542ca9958755c1167616021a32a45ef1846b0991c9fbc65e2b5b6b5a4240055221f6336fd966ba074f648920fe210c6499a32661019b190319a7b9ebea341b9a79a94b95b7476b1127c888fc46321728cef8cf2b41c616cb429433c14ca64300e48b9d0ab42f439f7be5a46c24391499749c133612096d7051024563a97c11991ef702adbb93bf42c042b092ad4aa301bb32bab6bb2414b958731e950953628582ab2b30d5412c6cd1993f5523510712ce3727c68a3def23205b9c6871e92b93771211823c8842a0c676af0e69ba03948262b59eb7e424338b6537d8412cac3abaf9a14a682b769176fcac2cdb084361e681522a06d7f2a38b7b7722298570c492bae0cb7b2945df904e24e7ccd4a9abf4d4045ad1323d996f155531194bc4b96b53bea57ef493bf83019a74b22ad3674e23c40c6f95050516a4018b5259ecb158273238e74c6fa03f28a6606db41c85346c7252b60bfa1aaf117291b4bf5a01afaf400d593a230833abcb7c35c0c9a3b6f5afb40968abc4bcf581337a1b39f443436445a9fc3a2a6d8410d20441d0272155ccb4db35bed163c200e325e073103105164999bd4552b955943b5a8c5038ea2ce32a49e652a443a136ad4c9566a56d5d6b0ec8153f10c5908525b6d6b3bcbbe628c6e06add65a3aca0d32d1d1e6061a595141e6d1b73c3a8b2e8da598565419d6b69ab70142bfd
|
||||
Ciphertext = 54e0ccbd9af08db978a115bbd5fe605405b89538f6ffca5f9d7018e004579f6ad87883e32fa24757c85607a259722dfe103f29fce81005bdad85dc27438510b162f82511703cf6fa688e80405a270ae5dd4228ec150b7ea3fba5e79be5f6b7793e5bc9c3c8b4378c5591227ced4b577fdbdc478c6ac15925232f3f1de6636be657ecf7845412315bdc78dbba25b98e38e53fa056066396f9fc3600a30769b99a127027c09624904eb30c73737951c297c3d282de11b9a8c9d7434ddc61f43892dcb8dd0249c766dc197bdb5055ea3346e8fb0b76f0b57a54f34811a4da2c9792e7e728672bfa0f52896286ae541bbec5eb0e047ca0bfc2b4866c8e92e9c806c4a399d33783a507a31f2a16307b840d8753c981e08735d7d5043fed7b407640496faf21624b1cc8f7f8f7475a311c97c12ac0b474a282a88419cfb9eeb792e7c2cefbe2072e0da740db402769759c6300767cf711dae865899f043a7abf4e93e1bb060e9d808ec25b9d34a23d8d681006fd33aa26d40865bd42b1f7adffd93d6eda1372499d8dd05f466ae361a0135aecf0484fc1116e7121dd1f843795384ac37aad83efa8990108c6168da9f73e55e84eb08c4fba94d9fb9f4b2d50063baa0f83e1ff8c5cdc68c5a5dba506f3f38f4b9fbed89b9cf93c55f9a605cfee25126709f72411c5621bf75e9b61b6de0410c876e940e81b39b23b3f8f70ddc353177525a1066e75932b8e6ad06d8aa65e6b02c484edfecfc0c0774f8ce21396b813d8e1a9f51c5bb076e095d1660c3c71c2bdae890fdefdee6096590cd15f4d7b9c22b3e8b97df02e8f6da3271826c3c235847117ce4b004f14e9d308334b1bbc65b663ef09b3043929219616f68831d1de70f84fa61d686274ffe7eae147010095e2b441a3fabd7060e050b99162f2d1f2bf389198b76c125b6cda9b7976d9541e442f9798ce7a9a33edf53e200981853881f0c175b201d48dc55d59cc081932dcd6c4693f281e5eb8194e9ce677491acd08caafb6844fc56c1a497e0a9496be179b5bc0cdccbfac8095d779fa2f1e944779557db18863587630010a2ac27b679cdc
|
||||
Output = 72502cc5436ed5d9c07baa2e1eea833eed515a3616936485e74ed7c0a53c734f
|
||||
|
||||
# Official test vector 10, seed: "980d0ba7c8f8b23d0e948a6029ff2659810ea1360064663a8994d0333c8543ee5ff5d6d5c9acf446e61dc464f792b9d3"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = dca92dbec9b260dd97e8886f876862d6effc3b91fcf3fbc986cf56ab93ae79a2
|
||||
EncodedPublicKey = f80b7f0c0bc7d6f759e70acb8ff26a9e8a1e9b3876a18c4eae937190f3365c6571602aaae8031c9d429509609043f80c03ca8d0f024d6c943e2da09b2ff1125e5b56fcc505f6229714c9760e4898bc692095c89cdbd25579e4a3cbc32279440236019776c28edba9495f359a696967e3c22437e511d63944a0ba28e9626ca1c148955b5206d9c7d842c5f242308ea2bcb3a20db4f571b47c977ba25050bcb33336610b0c953450096e1c9b9e02972f160cd0245f1079aa480214ff7a3a93f2613826a8bcf337efd70f6f469d2256ad63f30e442355b9f7426fe04004db8cf2a11903e70c82e4b673aab014488ac51a29d5d13c174ccc2241a87127b89adc0f0cd3a30050334e650f86d785797cb00ec678f77c5838c19c008d715305d0382b2644e932d46b7b62e1526eeaa08f4106f21b077765374222218d7b5617fa8ceeba5b120bc8e636663f876d2437664a44050c55afc18574393b89b3364ea1a94baa031c43e7c3333b755c0b04599b911ee84e6c53ae2c58bb9d435f472b83ad319aee795670575c6fa64626b4b023eba91d0bcbd4384d0c530fcad4cefb566725d58f5d9418966b3a1731b16633aff1eb6980b71ab2c2a54fe4c8b9cccf2b786912580bd4025e54bc37b395a8712351a83725dd454810755843e95b5f5129e7d13791900d74ea1ab1639c9121ca5a5765c5474ae946487b02cbc3887fceb3731b339f8ca5cdca88b7bba35a7b36b341a24d94a46b23f629d37915832c1aca277846247b957304b4b858d2eca94a3702d41ba8b1e257c8bc2cf1137975433a9cc7ccbdb5067fc7c31a9b93e0a444af291e7026c1b7aa684db03daa48700e2283b7371a6f351bf8529f6de2700cc25bd765089e3b7418145c4ce0481cdab57f91a36cb908a94c40ed91ca2e6c495d6777f15a6c4335af4a4a1cee50494ad66e1acb5832293c6d4bc0325b8602631d9eaa725e319cd0b72f59bc5b2d934ef895b367bc9cb7185a567c5636da439181cc90aa3bc66082fa32cd28388ab3f1b6d88374e0260342e918d44ac8e26400858910cb0b848f55b4795517d533592605954b645756c3b08d067fd99c404fa9658a5a7162fc42ed3199c054556be48c14ec97794c
|
||||
Ciphertext = aa6953cd5508d0411f99970ad1c92a18bcb7eb60b8400bd55e59b198b2103eb692b2d90a3819e7d962c510c0d863b9cdc83ada30d5aa9695c8778fa3598bbc309e3a07aad36eb6984edea94dd17743dcc58c8d76a5e4f85a306fc99b3e90a407c75f16d6cd01bea2dc20ce3a1f82c2c30a15d9fa24f2188f3d5fe1631409831a121ae6ae6cb8b97a43583fdd6154faff2763122a878b9550520a53ad8c88d2c6da574938f89088bc164edb042c11a832766711ae8edff95801371556038508e096bcdb253bf592e254bb31b1f753b10de54da322cd056630f7e75aa57dea4da79579893fa24629be930aed67ec1c308b20d2a370eceb1e7b94f9d1182c02e49d39a11e0db1bcb6b3d7e2e08be906ae8b5a16bfad2c7834618ec65e3d87db71c6101474c872877dd6d69b20445c4a81e534351fe19968df40163c877d6a383558d5a9fee2b213ccb23d556a10129908e818c13fab1a5e82380fc093fe9b9e59e55c197b4bf714907c12f9214643c1c26414d61e96680e8a2e3ffee41d776c1ad071051329410b4c33a3d48d1a4c056d11d31af8f9997ea120f8cbe07516a7523474aff23007b87a775a6f24f26c57489fb40de1631f8b28bced6bcda812ef9a056ee6d3ccd79db5d368e0dc58a878672bb3134342e36905b3ff67f705298ea3fb3414922d5d576119a4ed4ffece4dd8355b6c1c97ce754e294c41f2eb1ca0869f1db564a78effbec34b2bdf362fa2bfebaa736c38840120a1fba0ccb48e1e9ebd9e4ee04980e808cafffdd0acc09c0cb11a5246e829b82116b3ca4f237143ee0d060565d4ad29aacfd54467a3094677025ae50b5402d6273c72c1888c7c2cd73702cfadedea2a752c2716a02d7575fbd94f18d26a5b40c0e6a1cf14ec1c5c8fcf0bed5d5ade0f699d480f05ae72ef2dbe600bd5692fee384e81dc1b5efbf096057fd046e4da2fd77686b3ba7561562c0f618679d34e6cc8d7b1e7ac28a34187f737ca61aa1fe4bf7141d25a1a760f8caba87c7544f05252abc75b56088b3fc491fafa5d2bc03690b78de2885a687b59d925c1d6ff5871493a52fd20ab3e972e35
|
||||
Output = fb46778f597ebf40dd0125f198c236f064019c6d562ab7d9bf677b4aa2ec9f32
|
||||
|
||||
# Official test vector 11, seed: "6c029462ca42ed520f10a579f52687101105e0b90c6e7bfa582a4c112b579d5ad0a0abd38f72abcfdcaaf5893a112bdc"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 57c170e691d7a914a901b9a11c62b8b569b3806427557a9dbac9faa720ec3641
|
||||
EncodedPublicKey = 6e36165f702849dca47d8534d151beac491198a002d1f276bb502aece98c181475f20a7a6ce0796e91b82128bf87c9513c710cc38b9ea42182de26c0c4c9b06e91759af7bab56c1480a527a8b281de0abed4640bbbf210174a576fd1666c039533fbcc1658890b42c424d5122963761fb510bc0c75ca6b690e0160e6e54a4ef616d4372c39fc6006177752eb2050d2b2cc16a2e573a82113b67dd8c5c9f650e81157bf991f40b9adadea9270079a3e62bc266bb668dabca4a8bc4d13ad7e6934898548c7c874cad1b28586127219ac8da6849c54cf38dc666fa33ec45831a2595cf3756806218471abba83f6b96e73bf091a4a10530e17b2a092e7c13bf00ea5bab289242a221c164e98ac33771f1a6701f309cfd1ba0d1534913759c8f60bbc50d249c3740715628fdb877eadf97f35325022e76418f6348bf0150456c28644337d010f46602739d31666ab637037466e7714d4f379ffdcae7aa3a4b27a5dcfab721d4cc25810b96939b01e708ccf2988a1a00c56c05289878677f50c6fa8588005a51f785cd3ab530ba1926a4a251363a0d78c5c6a25c180e951099cb52decb2b4005ec7abc858b3b516b729b40b63d888cc56f43100168b6d648f46c912129019a35818fc694551372a36bcb5cb34723b9419f74aca9b787a67c3788a0aa5e2d03319f18514622a88d6117d4b0f8892a2ec7502157702839c7809c99abc050711ab2b329c1e7e892eb39640cd4137551147d2ac03463a7bb3619b0d608b05201fbebc450e7a1a8ac782593421005004ec299ff1816096a2565d7b29b37810676c593dc0428664863e020e7a352d51c687db63bcf699b29dbb2ab3f35c4582040342c8c2f9a9c9e43aea40324f58c8e03b9975810c40443b2df25249d002b2e14c6b2889fc59c586b88c94422d3f84987580ab8096849ec5387d31a1caa8b36e8b08d78305ea633c66e32be633a40a157b87d380b29c58c97826fbf274f6e11a89ea1acae4b9ec1425f95737f9c49c9cc334d9e2a808a71d7c4bc7fd679bb1dc0f6683c207fc4f2b7ca842307cc30a7320f5cb1285645c00aef3c72bc42186904e7fd299ec12a4881821fcdf1faf3490cf55a3365f2fea6c9e31c553046f86
|
||||
Ciphertext = 6e6bc6527d96bb9118136923762efe5800c6f5c8d1a23478390e6beb3a134a180019314a42a48ad668553c71b81caf071a538cfb211742759e98d101f5cfcee6fbd68ba42d860aa9c9e84c7e4ac712e41eea87d36b30c25b3ab055ae932a37c945e39d936034285a2e440f65e6e54c3773334521e88d7f9423b0965cd717d379349d99e38c77c8e6b09fbcf8e6e090b756180019d71367d63c7d5379153e82a6d848dd78a3ca4bc761c570d6aa39dd57135c02a58194b73fe564be5b4e24f4776f55d4b6b777944a5be79c02afb36ca2153caf17968934d648aa7941bca413eec6fc6315b32a44ea3bee761ad0253bda4bd3685c3d0dc8425ca513de77797dfcdf332e7c463cd280f75f135d56b59949b51b1b8235024d2f47d756c0c869989d3f5a6cd41ac9e2d60751764fdcbd1536c81813ddf8cc8befc6de417b32bcf6a56290bc11811170125f9b1f931039d0d87a91cfcc6334c49e03e7adc09c1b7e88d3c995fd7cd2f9c0c7264e2873df7b3174ce1fd85b92e2958318a7b257bdd7beb0cefc6970c89f2be6215f529caf517305c2e543a792b7bf6064e1b8da7560c3ba8a259c7082316c9d11eecbe39928cb9269944e798771373a8faf24f4c1a67b9de57a50891a966365948115fc5d159637ab2ab4cd289848de8766e9d01c7d1db18b35781fb365baa6cf105b820e2cb42555ac80401a3da7af6223f8fe85b88b344b84fb965f0afade11cc421026a2af90529e45b4d1da9fe2a00c921d4938129724473ef5f3f2ba28ba6af0656c2e863f9bda052e7dc534cccab76f9c726b57f66de7f4a64b1ba3f0d3421511c0917bb8ca6079c21a2d6fddc0d6cf32a2e1dd5d5b9292d71b507c7a277e638485ba166e0eb6042f350505d46f97eb41ae68cbf1a1fb89d519ef607489d31e6593f99d1686dee63b97b5514a4f304c25153f4bd75310322fdaf8413f5a2c59a16eb5c6217c0a359c8540076c3516eecacdc1b1e3ababaf31ef166c30b27a6a9286914d1d04fce77dcd5fa7fe5cb4c62fb45290437f116e8d5d3f5d37b84c5f72dc7594a0c4e378271c843191036dba208e57f7
|
||||
Output = e2cb350a013a86fa003da8ad9a424dad20b3e8f3a652455090707643f5c60c78
|
||||
|
||||
# Official test vector 12, seed: "db00120937570d62331f4c3f19a10465231eff46465cdee336a0d46aa1e7493df80f18617f9ffd0476cf7784a403ef4f"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 6b5a14e1473abf5a33d44975ca2088bd8fa6fddcb3f80e8fd5c45b9d90c24a5c
|
||||
EncodedPublicKey = fc51b0ab0618059774a0e81e1e98aff14550f5ec53040152486a3f5a3880211a99bbe076a3706b09a7cb38837d2da0155431967c93cb5e1630e2094c4fd9b3a36bc1f80ca7e57c9554377c304ca3d014b1c07a396d0807559a6ba8f5b5d0bb2957e8935c09318485869cf3732a82a4b49668ff91c856146c07452ceff56681ac1d9844ceb9e69e3711299c8079dbb97f1b99055a6acc2b0b2210b1ab4fb222bfb22b53d11be062c541e4a4e03c57a405825ef6ab645a2746471d157b1399c8bdc440ca74b20b8507be463064dd499becf6029e768194689a9e933dfe07049c303d22bb9f5bf0309595954a74c5ffdb874e421b06224f94401eed7405cd0a2a6bf4538ff28b5d9968395687ebdb16a9721327dc5324b954b6bc5db1250357989238d94d9bbc97664c084027a9a5daa8582762faab060971b062845938c1160a3cb774d6249a5521fdfb922588afa4f285ec185a483920bd1b4e9d64b466a9b974f1a1d8bb417e18aa2f9551ec56aef14393547976640099960823908851944a29e2304cd730936bc873afd25bb27465b20b6870f3a5f4448a49a867edd24844d01eb9a164d78a01d6149a06b93c17e5aa3b8a9ea7209ceaba2c29b56ab034b4910b7ffd24ab8bdb985fa623a1979dbf3968a6e62623ac05446a5f18f67005a330f6957699293a2b8774304063b6990c979c00878015e4c64ebab6183c756bfa944dcd000deaba4457d51980ab56ed8716306253f987b8f40b2bd865154c9aac4ee6a0bf395447ba9bc7518637770b48c0149ad0a76bacc4855992586b424348a74bf290552b46428851ec08665961ba36338155b3805d44248a24056190bf492241b9d3509be0c302d9218829cfd22b68129a3df809a207592caa41c973b148cee73a07ab960b191a51e2a44c80bdf0a78c83579afb6613b90a53778c8f992b7d0923ca99b39e27a1b9acf2a38cf369b6a9458c10c951e93957566dc8bb9211663e843bb9f209bd07802c619563503a393201b75b416740b4652ee96264a70761261d93886920085ae8b49012b27aa1e310c9655efd48b929e3b1f8aace72e6a806e3a4dfee0fc91e2ea827caeea95712add3de7978b028dc69f94af608b9cd0f
|
||||
Ciphertext = c6d552827d94b90902abea8fbb81c283ade8fbeec76b4ed8f0f410143ad2b5404d08cd03339281e1577240d6229031cfad1088aac914bdd010229fe60fd18dd969c26a7a11a0b6fcc07edfcfe350d73759f7a7cd98010a4f99cbc18c98fa35169367dc64a10676e1d3a9de1a3503e00b99211d9b31512082e23a14e01d0606ee9e2e046ef2c5ecd1088576fef242b49e701aec90b1cabdd3524c568b903c90a99f5140e14898e665d0cbfdb402b20b2428a288a1e149fd9de899d5e333023ef38868707a80f4ea3ac7f193ec8be71fbd03972037a3abdba82964bb6d9f538184c644edf1255193d5df6192a27b821dba33f5cea89fc54c997c5ae64ac1ffe3ddb2ceda78a3cb7935935ec4878996613b4ea72c7563657e7d37204fe2cf613e0f57dfb57298f93e688bab7011c4c0922efbaccbb5c2ac4c3bb3f4a599c0dda337ceea942c2f1c0b6eaa9779509681488da0b446de6e6e0dd886fb447297354d4f73a41da30f297086637cfb8ffa716fbef6f054aa6838b9908f62d4f2787fe0c70fd2d26fe83f142991471c184ea7d8ae3dce5e1adf774753b53f205b89d635f18e0043a10db9ae700c89b8cf8a0c8dc160b80a6bfdcbcc3f820fca74205dfd97ba8ad6978f3b0290cbbfeb38c9793d623ec1b821f45bb1b177530aac77a30f8bf5f097c21b3d59a88186a2bafe4f82e55c62790470a91d63473e8af6ae5ea222dbc1f5c92d0d9f698ff0e92e138e6d23b03fb71af2658a767826ee86b7fe0ddab2f4c2e61673e801de9581cf39708dcf38bd7a8e07cd286c73f79681d1dcad834e47524e99aa7eecc3e34371dbc5769438e8a1671d2ab8df11779528899a56e4196e4e08b0063563636cbc77b62951ba304cbd2d58ea335bc5a60b5f7b907f4a3bb432621a0087febf02e6af59ec9beb10e73e8f0929dc7070214c841885290410b92ae32f274d25eb594fa431220e0dd31727fa2fdaaa5c2421e23eb249f8baed3159b43b5a7bd963aea45f8fd2d71416e4fdf0f8fdd8576256c899014c84df428674926bcdbc8306e3120b07a3acd47c196699ad1fd77dff26deca91ed82a4
|
||||
Output = e329efdcdf764506e1b90e25eb2688be4c3785fc61e6f52b22799a4c130f2d23
|
||||
|
||||
# Official test vector 13, seed: "bd26c0b9a33e3b9b4c5d7ea32d5bd1fc371015be163c86f584e49bfd5362c8d8341161cd1308115b2a03b7e5eaddd418"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 40e593754e6eddb7f9cf176ba2d5fd1087c90ad377556d0b0f686537b1a3165e
|
||||
EncodedPublicKey = 8851b4423a26a35a953a564ac73966c6e4afb5344cc7456ad272b5def6586b639989c641df178b36282c094499e0357bf00b45da9393f15c0d6c861331646747fc43ffeb959e936f9f5c8c1006be4780bbb970648d9935db61cedeac478244c8f5d83910a70bca517ee49b2b0ea480746caef80516a7f29fc6d697e2910dd7d16e9a84b6a3e357b6ca3b2de587019c1d28ea6d7b191f4712c6377b34968c6f59a899ccbc967aaa6a08a518644460fce65cdd1a69a817ce47e26bdd5b238c677000e8109d6c14da36cb44e92ad8ba4b7ebc8f0f4a52b188505ac50824141e3d5b0811e99956165df3b10ab72002e12248c8127662163d9119be0a4473b5ac6c1ef213b95b7fb02643eab691075886f0e0158586c231008d9d65c970e158453b888cb00573fb07be986fb9c45b6ffb0149d41c584b99c0fc41ca18a7e6d23073156d10c069759c7eb41c9c274ac379476d34e0426d650724698c93c54a350a4da54b49f9b687bc29b1a85144d5c8181bc86361d76dda23036c49113ae40b2b6820ea436e9c4a05f7e56e3273b7996b7af71a8cc8e60b58193cacf60827a814860b3a35e8bf9e0453930980285c06cec08bbde83066e90c7e5a0132ec3af6f853b2f70602b870e5e260de17ce690161c81ab0736a66ff349f33b83c36301c933c3f4ff9c9361581071986769632ac70989e9a946095414d979aace7509798999486a83931785d924d79f342a284283e5a7384c882b412b1daf66485218217d919e8d1289515a6ba7c3251d8a4e961c65c76b577574781cc0bc1865a115048203c3f6856cd2320128810252603b130091dc0faccedf80f18247c7bb53bad16541efc9d1d8907b8c48f74a3b9b8141d0519858058801868b553424c2e2b8e2a264199bbab1bcc3f6de35bdfc1299cd8041aa475baf576da62cb23ab58e9f0cbbb59a380abb4f2dc1890555f7503040fcb073d9997121478406cb95b1b882ba5c09e118b60827466ccaf67002844634b3424ce2494b59df5b3c1a75b7c13981a657c1809b2df3327ff00a4b623cefd513ad53ba44d9cca18764bf00472547543507b2dc13f2ae4aec27d89cfa71508a93383de3f402220003e33612fab49f280c0eb4c
|
||||
Ciphertext = 1852bdd4fea3b69adb6294fa71e2692a81103af62f4e141ffb21b7fb583dcda647d1859bbf076d51f18ca958954613c00af8b65eaac4af4312538b6061eac1ad7209dc58fa2fed2c4d0f68931b8b348c01692b84e6f785eb42eccc78a5cb34f4555312aeef3a9ca4219a72118f123a9ebdd73f602378533dd5338daffed6eff1f9516f1d32cea90b3d613dfcb98afe71270d0f520690542b1b38d239c0502e1f5a804507fb58717ffbef4459a63ea8927f5e1bf909789cde973c88d06089ef4b492e308e233311a113ef28cfc7edc988ebc683ca67f01184ed09a277daee58447bfe7bc6e17f9ac5d3f9d365c6443b28205b998f2849990f47e473bc97b364a46cdd176714bca7a4047f4946ba7bf9c263a7bdeb1eea5512e2bf0c4f48dfe01cd79091ae15a1d2241bed16bf2fbf29862629614b9cc92265443a814dc5bc5f5a5fddcad777d8957f1d1b40c435f7be04b3958d3f0b69e7ea74e0f0130cd9d48564f53d52234701b2e62a1f8fb24745c320748e68ef0e49366031f4085e6c178ea538c5f5d2dd12f1edf9b7209c018a81c84d3b027ceac71f65b98dbeccb608ba1875a636a3528153fb0d80c3135530075f553e7b947d4e58fd3e773dc6e5530b3d796166d7eeb0f95e7c97ac5519c25323a14f27c339eaea739949422bc98c50139a7d735e7a7182ddd5dd5aa65fd873317633937016d7aec327fde5f4f8491d9f85f70666b237de9f7ad0762ec83823038ff121a3b15aa36de77d1adbde5c88e4b1142d56e82f5b1100fd8061d9b73628de372c38444ea645fd63a22c2e51fcf8de1d7023fcb3d08ea491955ad722027ac7ba49b823baea988df6dfc560a1e72fc61f3b39484d5eb221725044aec5011c4b35b91587dc8efa72349720b13f60f6dc710b7a1677383f279f56c87b221a716fcc8290f56b67a9b818241fe0f56b9f9bcfa15f6eac5c53a328a09f8b89d50a1ccb6f2bd2722526f81f2aa4723741cbc4204108b733fc3eaeeadc8957d6e79c337a6c87de18efc956842787ea0ba1a11eb662ff6a5b8e56035146e0e8ae1bbdda8864f7b9849a33d06c409a392518
|
||||
Output = 55ca52096dc335e869b0b4b989020fbdcaba145f9b52ac1dd9453b125dc539a2
|
||||
|
||||
# Official test vector 14, seed: "e2819ef86853bca1b9dee7ee1c1619988964f9a913e635aacf0d96ca6e0300d084329dabd8f149e24176d22757404260"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = c152523abd8248bed40c3827bcf0f8e8127037a55c780695e2c28ea3e041a44c
|
||||
EncodedPublicKey = 8b45b26f75189ad2a444f209df44bb181583bbf16a09272eead7c4ae71ca5126798d023187c8399b638310322a0a03c56ae92f90fc08f9630e48981918281dc0e01670dcabb6a558bc2bb88814b3d4dcce2cbc2803465c1313c6ed0199d54b028f4540e42cab21c3016e4318e19b636086aa7e757eb37215219b4c7ab07a4fb9c91da97daca134e45b96920c10fdc62500964975f24920143a6aba278d7195e8b122ede20b574670fbc50091763106d10f5e08c927c5c167ac496a01879d33487cb245d34072d2b05f3873cefcf5337eab68bc069d10325aeb3091631a9d47f09808522a3f38b58a56917884ca3e11bc7fb35d597c57f731abdfd404e148b47c07cbfbd89d8ba1a76633b36d1bc99786602e618c69f9b488acad60d3c9d8704da8d134e66158ce701039e65b2400b38a744557f37f07915e514c10d3cab91aba96ebd62815a96d8a3ca38a7045a974836c60a59a7a0e847937998731d8e06de163528790cd9ba1994388844c5019469610b02a92a9a01e223ca8fa53a480cb5e2f5a7349b372cba13264910b89401d77a58c5fcc908d488331697fa541bf57c267d9b9122f63c2d23acafef91b337a2b477139d094814cc76843325b72b21ea2115515581ce976567d6cb737f44724701338d93b7d394a232a54f35a1b053c81086b5dcd223f4811b02c7a858841c164b3b76162c2bbe574f05a4d72ec462daa1833f37167fc64af9408d9ab2b68d8badb0457c23b25d833c5158a81527262f064c02f319d55036b3e6a14c518717b262bcbaab27fc7b226c545ccea0282b49aa97442113b7b598889416303356571ab2714080503a0a15178f66ebcc118951888b5545f8a77a197e41c1d97a78e923b1b3b79ccc3b409f94cf19cc6a5231e03b114d6aa1c32e3a2041909b3831aeef462bd5797cc994ee469b09f0c31fa86916b935edb155770a035ee128c71919baca31c08a4ade5ab3fa7a3c90e983805f613063092454b205e28862c597743b7835289cdb8dc0a849b742b7838a71a6016bbb9122335d7535e04414956124f8b689e4ba66732f6558c019f4b0b76b6198eb840e77364a99397540e8ed674c6a9538d619211c4c9e7de5bd0860762af2aff
|
||||
Ciphertext = 5f0329fcc86c0331e3587b811255775e16683ccd26f41974f478de15d49f57e4c30c78aff97aa3a973f3dfa6f61e9482dc98cbd51f241424ae1ff2b7fcff630256725da852e48456cb1847613f9c852ff0415b28ad214771eb1e2bdd2d44f56b7229be705de3eb32254371700774811ac465e21cc60dfc8cb3ed2898c3970f88307a501a0b2643161b71f72d704c340ecb3b2bba6ac54dcbf4e4979cee85efa159157e12ae6128f973e451aee791595bca0013954df101e01618b7008eb722713e3532ce69ab3b336c78643f3ecc306df5e36e8351e3463c2e0145a40be12f96f8b7c76df815077f398eb2c28fe06199ab3d775d6dcd99eea2cb1519843540ef84150133c13907ab428c250ade3826f825ec6c7e85a0dd7b157fd9d34252d7e861e9b6acd0cef5f607aebe2e7e8ec99f8367a9c9704c09d516a9e0f0cbc4095a0318b5858dfaf8610f465ecb7cf7e7b63f0baf202c0afc91f87df7d997e630dff3acda7988bec36344225440717baf2047880c3a18395212d87dad5bab17ba3fe7aba2a5a01d032be092fc524caf2751c45b4c783d7f205603bbbc4242c618cb67168a5693a632649c82fe99e7364a6cdb881f8bfb4bfe78b9649b78db6063c42e35e278b08559bae81e0a80fed5cafb70cbf3532e01e64b95c211cb8d623a354a2b0582b1ebac4db870279357054fa2ca26d844719793eb735a057bc251b96d11b0e625f00c327fb3fe2bbdcd355d13270c33e68ab18187746489bacb484c4221051486dde0eda0c7227d577b9979fdeb5f4588dc77a446d108ce8f41e80de072ebfc048ac0b7a0ae2b6436821c97a9f6ed424a6f3e0b84022beb7e892c1e6a0684609e7ded9ffc3564e9d48e069863b0211775fdbc2b5607624bf87b91b7416848919b2de51836f176fa3a40f40957640f2e3cc3249c85ef573fc752508125764535c7574dac6c44481f8f719669ac1ca5d7959fc4364b6060ef3082edd0eeec921cc7f224bc80826e676cf3afd8af4197563a1add237ddf70fe906fde47e99e1c36631f7f5eeae6703b75b83516def250787433d786a9434cf4bba44290ed
|
||||
Output = 24a5640d7d290b1f60ec2d6df54f2d771882ab1564ec2ae66c0eb50f14762a8e
|
||||
|
||||
# Official test vector 15, seed: "669c4ef8a051ce201da65fc4bc34d398ec1f806276fc5d987ad71d93bc12dc8f107b58be6e8422a0795c88cb9a0e7488"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = ad6466dd59f26b762fb02b19eedf5f79964da68bce0459b91c3a6ee5a7e01183
|
||||
EncodedPublicKey = 35275dc1a816a2b6389130c4c8298651060f57618192540c8ba0ce593784f8881ceb4b7eb91277f5344ad0b1c64d1c655c040c4c430345902675a88051f335510740889a2b2c58bb7ae5c6f8c5972072790a035acc996841eb19aed27ca9818e916676f168cc4cfa21466c693c0239b6c96bc2592fbfaa28946991ede4b8bde8bf242677bcd7ba5898a32bfa8fca4329d323b79ae353d8457f0ee893a514167e6a92db58ad6f84be29a74e609c234b35a5367c41f63a6af8e227e0a120bf8607a4c528bd30767a99bb26070ac8226587603d9df572d1545ec2a043e0344fe986659a24981f4952ad415be5272f1052552d42738141452f353f6399979469c31c532c7eb16aae249edd713dbf00822b09b0d547424b02557d9c793d08321e23580a599f253a4ca5d624fba011709ba1a19008b866129f6a1357e48971d87b7d3ab217642828b5a1ee61bb9ef75291c7c530d4c78b1339bc5361fca9a1a0b2913604a9607859419a915f35b98258959d58a434e801d9c05b1c5927e00c2fead07da4807f164ac483885e5ecb77bcd2bcc80296f588a78f26c1397392e54883fe9c40d6025d42655ba3ba1490bbbb919bcc25180e3fb0346527577f8abe1c401442da6b4b6312989c9665086fc615b8a4c88017917cfe004026979cf8511b9ad53990b9009256a3e4fbb020f7941f6b4349dc9178979124d64c01d62c323493e77289790a247a7c267a9225b7c736f8769ccf3a27e20a2f8d8c72f77600a5f4731dbb56ad36753e98391f2b818151645978b0db735c57906f1f3c687e77a7c12a428737a6ff6a7a0a1cbe648b0817232e238376f7d532c9a069d03b672bd05d9471b827028ff0e3686aa3955ca60b77e13fb47b39ac4c11cc3568caa36574a23ffc89274672b0c8210680ab9d0293448c185c2ad01c3b210ea905b310852eb0db31601320ee05711736743128b446f6ccc8e223a109344e62272aab01ae22335df6cc4a6629fab99421383432566be130cc615b0849a70157627599bb8e9d2b40577b8f9dbbb724f65449e6b7210028163c5bcb489d908c79a11165955030c5a6be3f6fb22bee77051ac24bbd4cc3d07d20ac24ebc047ffe40c4f159ed334175983
|
||||
Ciphertext = a47d9684a9bd9cdcae50d5c48778f036906d810d6dec1ddbea090afa4c5985b780a56ce10523f2c1379b66e0cff6c307e932eccd8768380201de4ba2396fb92d698df05b1722138b4126a8a4caed5817982bb65689ed43a105a9e77e98cc89349d98b224182ec6993425b7cf85ded5296b01e75cd250121977104d04e318d8eeb1d6d5fe4aa9d255391d9b1a88c5d18f7764cbaec3f0c9b149e04b34905b44f6cab917da9c3e54fab0941cb326605462a86ef8c8d95cfb24002e07903790e7b51aca561251f6fc70b46e2fa5493ef731f9507fd21082f1d872e1dd93db318d5a167f84279bbd7bec9e2b40ddbbe578e993d4d90f3064fcfa18e04adbf17b2d4360ef3d5c9d2cd0f18444183f8150719ff1a347eb357be826edbc51d233dae4b7229ea819b8d23d2d5de9327e0fcf0dd5c5a628be01da49f9d5bb870aa1487742145451b7e92d3af5aa1139cafce96e9b9c1971e1f39d59527b402ccff2325308c48382b2d643d599e0872785f5f494dae7b46c9b2a399c2da2481000d08e9a534377f4e6b84385649a805836a2989df7a1c9ee19a08c7dc7db332260f06fb08ee8422cf1fa61cddb4d3553e7063eef44e52521450c1c0bbadc694ba67c6ced62c62d9d22784aec347e35ea43b87c9bb23b2e9a3651a075aff989d7e56a38b1fe244223f89bef3494fedbd627577c3a1893a9ef23cd1b5f3a72bec59ac2b74b1f24b9379fd0322a5e99dceba173c72d45e5cab3d1f8146aabf7badee600a4c7c11668eca1ab29f025fa319935102a812a72c46dd18d52693ffe18b9739993e9e482c866f8617b9f6d4cbff62d3c75367e5cb102bc70c07ed910496ea56c3743eb360ca38bb06693414206f3530657a479e8b257c8cfc470a15b4e2f89b18c655f52afc1fa4707c0be5e4f09c306c1e5a65f94c643edd6f2d8e5bff0791884bb681414175819329620ae28c15f910e1b9048c3f6cf4bc147481bedbce6992374fc1ebec5bf9b05386800fa35dfddd44912d9a8ed6d5f8764e1b6494aff527c8b09b4cdd935fccf372dc0c96106163464a3f354409f74caa8b0721a83d9275aef2a
|
||||
Output = 6094a57bdf3b74480b29731fdc5f976e0c23b5759275ae236ecaf9a9cb331dbf
|
||||
|
||||
# Official test vector 16, seed: "9debccfe818f6b5204db4ea09c03ec9a19dcf1629c1527685b8a29776bb1daaec45f8abf8f0adc9a8c8bd6e2df6d8048"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 1a4d5dff5847cfb48333e33bb00ca7301b144aa89dcd412ff5a3b1081d775b7f
|
||||
EncodedPublicKey = 5d316103a26339e697af421066f606f0a441154b3855827108e9cde6525b8e531ff93cb39178b33a1c256640c68bb9c395560ae96a0fe148136e162eddf33316ab0a5e36ac34807cf062864bf6033013760cecc4330849b21568993c821f71a80969bc3d4941183c2370424cb87a4a9ddc130f9abf939531c1a2b9068543707936ab827a23fc85787a484d87b6e93632a226539eca94d33c784d04c9144cb837e41512f89f92816609b20eb89752a9f9a96097bdf9a42d146c2d898b990e5a97e6249261446a0b568a765cc57f37c55f1a72fba82e01916fbb4025b31a3d0b9920de54ae54c13fd123466860a9e4250e3447b64eda88ee83777b900a07042dd6642dd41b66d0853e3c5b8217d003194639949215aaca51b81b4e0cf545fbc32916e0160574099610687ce6b66155873e3aad1f5290bb5458d3541bfa2baacaa47cf60abce6b833475201afb67d5197588ca76b6310ce391bac1ab39d6102586dacaa6da98e853ccc5cda46f85a770ed4c50f30b1a1b835d3990e38a98b7a3cc1ea998adad74aaadc26ce206647a64990793a7dc043400396511a8776868adf31ade69b67881704a8c14cce737b5f7bc6db39b897554bd29ac1ea6b3464e214da784791bbb4fdeab657f24f171a3f8d3c66c6b81285fc122ac3cb70475fb295c53783ac7f35ce790394d0f292c5175199415cae0a833704a7c3a2718ad87b68227266aaccf3384c1a1abeedc91d82b8cdfef63259652f4644afee1bc6300c6e503bb63daa23eba4a928f7865470c41b199290c8610439036f3344e9dc8a7f1032fa360bbe6675bc1150d2f8b5b6ebbe751acba137631bd03dc139be84043ce9680f6bf5121a3bc32d9566c38b6623621e7de5a55605a142272e68bc3affa710494b00bf00683baa639cfa6fedc6303d191ce23c072170c62cb3c89bd2bc6c333ee62a4452ab40bc9c23f41803f51362bd9824f6361687901b07c59f83844baa99a76b7c0eb5791da501c00227ced6114785f01fad454d76c94314e7c5fd475b1ad2011f7559338a500e5b1639671424f69ecd6045a4bb0ba4ac9dfef96f1d4113748c35b77f773a101713d74f9609a24a15a20063c8f175e1751c641f8ae2515b
|
||||
Ciphertext = ce1e8a034d6860cf0a5e90f56abcf7c3bd5962b00f758956c4d4e6e925945b25f68ab40bbb16d9c04a264d59f8f3ea75ce4b6f12f77b2e8fe22b4624786c00a03088cd3e8a8df3eea484f21019bfac79cf26fc33c612aa64ca655852b0feee69c8aaa15aafbb0e1f1dcca9990aa48306ebb61c1bd3d8c820ba69c787f7c20c4ed38ef01db897dfbf8ba5039d8c85430b77e03fd15fa4dee094862e2ba0451a70227e504db686295eb242ee677c374bde0a4f6387d9c048788c3a014ffaf2755277907e62bf6b46ed40b32b911530cfce7e232260e80860464d5f98780098a953155fe33f165ea4d072608fa51efb2ec8b6168c9eb26782cf25d6dc7067b38c03df19c8f8c6e278007a60cc077359d90e83d75461bae110048fb25fd24ac0f1eb196ace524850fac7cf999845180804cabe29211feb94d674fd5f0337e059fb03b673b774cef1bd0cbf6d855bd79bef510f6886d1e79fa371affb96ac8ea4554ec00d891ee298d6c73f4ba8f6ec24e9eea9f4cc4650009c9449698e5d5efda743697d2db53198a1f622795871a17e44a30634019020ee6afad497d985c557c8d27a30f637c0b77852cc73df5f8b01d62bdd52839469689094d2297ab40830bb6a086a21334f89e6fa455566466026f62e5b7e04138f43f6613c6a55d776fd25a3706bd8d524b0ffae83f8b3599c72f4e6145ffbacdbdd884e941c701abf1eb5fe9d499b438a2e2e699e9af107d816afc304734f4ce837e200823f465a3b1f250aba704a80a3eb4b02a4d107781f95877eefec2701bf561aada6c0f36082b0154d109c27cb89de1382d84070153801fc4a728361d8d610317421f7220c3a06441a25ca7bf807a3e088e4ea69375aa454ae1de09643bd498f5e8a9ace4ec161fba8edca3bbe26b7962f363244555d5706c8847544ccfecafee82f5a2e60bc27a84cafeec2b9bb12acbd32a38afd91f35a08efac1258c227ccae741e883a7f3f982e0395e01c9cb1852caa62b06809d69e54952d012caf14ca385c0769942792778b7c200b8b3c4ce7e731be77ef3d45440c7bd33e26752167f03d65c0b3566b7af9
|
||||
Output = c798b2398d8ca4a6fe777a74963266543c7a81f862c845844b0dabceedad6ee6
|
||||
|
||||
# Official test vector 17, seed: "8098ae7a92c10f707d405f7dea02c2efbef44efa132ba8aefe81bd45e543ecec74f10920ae48a40b0653d63532517f2a"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 34f44ec2092eeaf686f2ea170591a98527cbb03a4fa9477a7aef6b41a54feeb2
|
||||
EncodedPublicKey = c6147ddb0a1141ba8e0f0912d625aca75cb339759e42786b6581952ef55f599280c1d43e86ba866980b91ed82cb404c63f694214f15ca5135cd6195bf01aa885456b3a2790c656611a6b88e905c9e6bb3726159a23f76a11c2b63c957e2a5972fbab1b9be98d7c98b5357404099abf1ed2154ffa4badc8bf0c06169e91212e558874d66275b7693bfabf2cd26e517395dc3010776655d4b805a1986673c42254006988367b91f4a90158b7ae6c02eb990dd8706b95fc163a3c2e7990275679c9e3557aacf94975b1840ad875d3509a1328c37a571c35a923f6816aa7579f28486de2c7618d5c204681cbb4713d7a2197ee0078b2cbb53ba6047258bb32b37cee98493bcac8b4f96bc2f7672a5a927bacbd9f41ad4f648f4da66ce9f68174a240c03c4b0dc94c1d01492b64cdab62af8736082b134b39f30c3a0073164abe56e02e48faac3fa7724d0bcfc5c88f339498d0725108b7b810a17b0a155eb1b08fd48c06f8e3514f3b67738b22cc99125f9420c2575c65f16c6a701629671642397f33b98ff2fb5209b544c930894ff6c2fd959e37663ddd14ad0e7cb086cab026ea61f073882ef799294a3bc82a7f7bbca63ac48339f5cc6eec88a3e76729e5a1af87b0d6f395fee2ac3ad697fb7c338c26cd3f177fe9a043cc7a879712877b933966d8012046bd64f9601a800f519999e109a12f92837ab544ce648b19581d634c5a713909ca039e3ba22f3707945a7405fde260927c055e371f02298e7b714a15892ca4e652b95121bf36adf5c19ce6736ef0616c1ab91ebd84bc4fe66e52b1be2e85722f383eb5db4ede61ad838a4ae5b39692d15dfea14df70910c12a02cb78c585ea3c16990dfda125bf08b410a447f586690d737cd76a0ed84739c6c473e48338f53084d1856445f5195a55c23875609b95b5f8f2a2e1fcad25e2c024f88873fc543e86a3e67955250b65c9b5225b0a31378ca9dc824b2fd52ee54438bcd497bbe7b228905c244a7e090cca4e75848fdaa40ea1461ef68250925619800eeea23ffc0a9985886444235742577124fa110f086f2bbc8afe48c8b82510cc053037cd1b7e844e5282bc225e9d33dd085b4c8e7229252f6203f95de647cf839f2f
|
||||
Ciphertext = 59ec42a1c54fee5186a727c43c036772d6a4ca2a1e95c2a0ed4e26d18ceb6bbb7e3808b0f7da4aebf1e03d40212555209d08f4f3165525f5601d71e1a176c87c4a77a6d33703cd66f4d94ca41f3f371b4505a49d4a9a4dc8a8a5afd99194f334605d00af702b501e65d01b9c048de99e5e19ab9531e26ec05eadb9ab3d7a534861f48a94b639a9f010d0d021c29befd39150004df07f55f217472cfb04e9674fd0d632559805b2f8a84302a8dedbd974b13034b97ad8dead6430b3c1a713822535b50fea4f77aa94f5d48d5650dec74172724031538891d8705319f3dc42bb9d8d46d87c93078e9b5f589b7c7017ac29400838d306ed67c9b8ffce5a1cf615670369d89c019370d5d994d51e262ec175be68faeee3d2a5a39d915117093119f9ea6abee4eedd616f12d54c45160346d5a56b1b7d9606b2b5b9d697c8d2507c46c1fb7a0bf73c97da765a8bbe77ccdcfdb4ea3d1fa31fc5b51aa47d1a64239ab7eb7e5bd2001d1cec54d613fc536739851fa9e368b2a3f205ac54e0fdc96d92983800593ccf50a5f447b8ddc12486900103bc8da497f83369438de68414b860dcc04301dd8d40cd1d379a698513258f49d112d581d4e7b6602b8f65f695f6fe870a454b761ad69a26b21690e61c5e0c02432200a0188dec0ee6f260a7178e0d0607760ee4b0bf525351e9391f29f5192d7e22af5549dd30d0bdc67e668d2edd40b029de86f484eea9d3585d0aa965fe6d1e28c587283354505e636e2d0a4e8981fe93806631a1345277b7728a1adf32e272dbd0b4a3f77642caf930018e3638c02235dfa1bc32dc5f3d063a40f6e64601b8b18d69b6059b8e076f83a19227dbf8976ebd55f98a8c6de86fcdfa5c19e7174f6311d63080910b2c9e4643238755f8da3e80526214aeb0cec8f431b5192c8f955361491981cd4b1bebdd4dd5af828929d9d0b082fb62701fbe5199bf9fffbbdea34462c48debb76f4a9d9bbd05a8f2ce89576d417530aa3212cef853668a0610f2e488de8b5d6896271142a98d879bcbe82a9ca862f0e2a4e114527bcafd7b6e4ebbd3d5caafecd65c9771b01aa25f
|
||||
Output = ac574ff532f1cc76e4e7a58f8ad8e276d60e807fe175b19c871d1b8d30c06fc8
|
||||
|
||||
# Official test vector 18, seed: "d5f23808871544e9c1d6eace2028362b48e225312f77663e9f78cafeb512b908cd9e25875d61a16ec615f4b8ff826856"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 6250c81126572eec2da330271db36ee591f060fc7e53eeefe2e1c476c675fa33
|
||||
EncodedPublicKey = 8f1b0fb922219852c143d7c3be4c4f670c6ebb901e2a1a8351a547b0d1b00bebb9e5734cd4615da69b9dcb9a99302c39c92799948710d384027cd4062bf8be536c282302855913c500e462afe75b87a7208f43ae09067cab0534306676398822ec94931ff4a23ce6b3d4586309bac804dc34f54cce17d9949f9182d8a50adf0873651124912aad5cd747fb61a87d42701ac09efc934c146914625c5f2c471eb753451cd8b599201d5ed10d94c9a1537b091b96ba06a2c6da30665d3931d109c7b080b1cc2b82405066d8d37fa1624769a850aeebcd3fa50a9f274bb62809e7063a0151a00d11af90e446dd9b3052c8b4c0c23b5152c3911633eca5cf9408a8342b8e3fc6197a7b25d7b9825843705d4bc2ef15a249f4c9baf171fd5116f4764afda29f781c574a5c65b7d80357316e77b767c5727e3a6695270a2afab91880c9a9f47ac43d4b89f7ac75d2f859f3a0c2d81963479533915b8b79fa69c6f276cc7a993ba02c6c83a567da3627c96c5524255137503ee3116972a84303b1c44c5007d53e6b2b7e9963106fa27282eb74aec8b8a56804d628bd5634729e27ac4fea14af99c0c6db7a5f61a08dd93b794191aef5a7ecd69d58d94467576656111a339385f6fa306ac45e606361cf7bac0c2c744572a987d573938c6502b394616cb835e086d9a214d5996a3fc75bf9c41fb300a9ba84bc37f6657ffbc556b8c2655655e1605d089c3f8f4b3fc4895666b3327b009967dc6cee4ac5e205b705abaa2da70c429c330395823efc0f377169cb3421c3f7b3c9d9959a836db8c2c5961280ae75710688aca8277048ca0ab5fb06197c41a728679b191671607dfb570ac2d1bb85784e3c8a6442ebc3ea2b702de3368fa5071d8c7126208fc1f563d8e197da494c62c435f3bbaa7e778ea3d433b6db3790bb43790860dee44ef3b09255c984ac7838a7354cce3ba6b4ca18f55169fb92b4dfc6912e0c25929b312b93113a2876ff8265a8c72db62279c2f326b95b10091372d1519f637650faf23b6a38afcd9a14ed83568716162e23148f172a8112c6ab60b70ca59ccdea23c51405d1522200b6553f7832c4faa6d99d5df82d16afcb00032397c74a7e4555c33707246204
|
||||
Ciphertext = 0f73fa9056098665843e7e548c545413b1129d3b8e7f606055fb928f95e1559ad4d70d2be97524c3f74f9144a6cde91364cf4ae8311069bfca817c63c1d0991c7c14e89235b77ee92c30d46d0aa7575456e523a952dbb1afcf13190422bc938a6b02dfa93054f4c8475d09e3406928561b07856a26ce79054603cd966cdebac5c5b7f194884cefcf7b3f0f70ee62e5be74a5b41776edb0cc9754430e5280040d3c2d59583c55c4dd0b93ccf4811a6aad8ded37da4713497381f6a703aee73e059a124fbbe145021f00b180650e1462aee96ba1796c38ec4e1e95b5c9e7ae0aa5fc22bf4ddae65d82e70c59741e76affe32777a0a59409c59da087985b2bbb69e4dcb5a28e7633fbbcab5619dcbc14a8a1a76c37c379a845278a2ac1ef24b4f6456b85ede5c163e3fb112a4f37fdc45812d1ffb35e741537b924530d9222c81da55b9ba6111395745a086b0b71a0cc89f672030b884359f2303febef804a80c5792264973d1931334149243dd0e52c02d6b486b57fec7500bd87620b8d4fd74c1a5ced268dd81cadbd1d4ad154ce2a5871f5b31ea5ac7b31021960d4236c8d16e631e3915b5f0093bb063eafef5531a2352d7a0d3fccb1de74caec9be4019ba5f80e7c114fca3968718f0851a28a34ddfd4a67f4a7e4ac188d5903ec154d934b2ac117bf34281ab83ab9ec756aa20c363e0e23c0292be17694477fe6d1aa5fe00bcf0766a1aac7550f49c988570dd42c5933cd03463fc6c2770db946fd4849dd93f33b4c0bc51ac10e32d2162261a67dfbc2fa3912794e727af3d023fb32bf20ffacb2e4c6d3db985d2673b9a0eef49b64f28bf12411c4ef7e8971609bf2eb313d55a3fb9be8e28f0a8b9c6c98adbb13a4f25ef1ecba0e6f6a328dde562cd4f56a50f818082a8f6bf3e69c0a89ad44e89f05557fe3463d1b008165999ce7758e9689e9fe1045277dcf796bb40040db242117b849e4114173c312199ad3ac04acc5f09704b22b4a2a9711d36669e5cc7d0f701c0bc2edc8a557ab213b6fb475de56123e72497063896d3f4685e7c607f626eec6e2023ab196ac3a53a8706098154
|
||||
Output = 1bdc185a6a1d872036e8a859f13ced91b38115c0c3e642608c1cb6c8e51f4a76
|
||||
|
||||
# Official test vector 19, seed: "822cb47be2266e182f34546924d753a5e3369011047e6950b00bc392f8fec19ea87c26d8021d377df86dc76c24c5f827"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 35d470bcc5880872754810dfb3f2796da2fd7f397537146f6488c27804072b34
|
||||
EncodedPublicKey = b10942e2a6c91bcb404d2baef6ab317d47b200a76290938bad1b3d3f2582691a64940a6937551fcd8850c886aeff163b19258d4fe3c92e1568b0010bd28c870c3075cdbb022468420845b6fbc98869a75df65c90db479855429bc7c71cdc1cba7509cbca7435ee5672dcd82c676c323c58ccaee17c9a8153e6d3a753979978b3c344b8cb57c15a6f16ae19e840d7b12577e20f2b362535974a9336165ee6a183ca5b18c4b5b520a2f576657f87418d1b39f1b8af04db37b6a94290ea99e973bf60b64e552430d4f701d44abb3864953d874a2f4cccc4a7227dd94d9aa0a9f58bbb19d6bc8fcab974f4a41911bf82fa756a022233a83105aa262f628ff4dc59dd1780bed683665628ce7905c2791b01453032199df6d898a1e184cf15404b9068f8d7495dab359597bcd953c3dcf36311143c4573b6a55c9422b672f41569bc2a9d6f851fc770375008b5f6cb6541793417ebbd142a87efb7cf2f681d1061c6d790101b8a672d162b549846616a67d8302ee3955be1c96d49c53c47b67755c53aec9744da615d25c43dba4bad3f0b30767a9f8c0b1210a82fcf750c575708c887b6159c102035a512765701c305d90a83c4f8c9b0753924127ed1142d6ec52a1f299c9efb5ebfe0071325a4e6bc3cb6b67f1dab9c3c023a84d4813af0197d0602fd56c4072b4f40c63d36f01a1999bb1fa42576a66ca3772f6acb069b143f2d05bf59701ce72986f9a85044780754e8132a6022b068c7d0d167cf94c614238a433c8c78789b19bc27a8443a576ab0ebfa17b8867d63e44e6e6324fbd1248c58bb899c8a46721d7b555ca3592fe69c7ae1b6c30b4787afbbbf2599582c6a2c5ae5a7dd81026f07c14433438659ccc100545cf891982a405e6346e0a08ad936ada0a75c8c103f85471a8d0b7b608b02a310b6df343298fa2ba4995319a1477153a8fda06b77f6afd5152287533a2284082ae8498b547373aa84a68612bda8a505d1adf374bec3b03728d3840294527e5b0f009d3cc5850262d654eb759b458bc6ec0c4678910d544089dfd34006597f2ca3b93cb058bf53a0a12c29cef911edc8219d5c6b643f5649eef13332d62a44b4eb56db16d2624bdf0e67ef252e56b3b3c6
|
||||
Ciphertext = 73c7a09d567d826fc1a30ac7e2eade43524de7b9687b026350631bbf00a4bd284b60590b0da3cf2ed79ac4154b416996a958e6250facf958f67768500a920eb4c5d5170eb0dd6adfe1436ac5a374272dd00fa8ce23b05a950547ab4433b5ed16ca46d2bf7fdf3ee893bb0656b5ebe3a3acadf2b30bb10de7a8715b623f7218ed438adc08166dabd53fb9e10e7ba58afe5dc27c98a29b9879bcff776b71136850a7adef29869d6947427c4647d5f4ef1aad5c34850473bf5eb320d9ee584e81159ff5cc0bb2d0a8b8832cd791121ab8f18d810a8f919ec81c7144ab806cb4d180a7cb3a9b67868ccd506b10db5b00d84e22110cc914b2cc1bfe5dda57a5702f1ef5f2acd29681911ab0df68b035eccf8a38bc41c318940606938c38ebafe475b2f03d73b2993e82a4069a35312a85fd77267f968c085ee65a2eded49737b25a0429df0b8dd73cde2bc7b571372c94e9131326c3a5857e918914a3660d970a07475ffa3a62dc76a8e34e87a368c77cad9e9576de0f3a54ff093f2ec228e14a1710af04c202009b20c0b1687b69fd1805021626690a5299b6c7ff0b3930ed9879f99b2b27891c281ac91b87adc7e70d0a0cdbbc7913a9173818c5dfcb5399249ec23a2ef7c9f877e57ce909c1cb42a55251a5980c83da4ccba7009c3ec92275502724b65a8f000179d0e1ba2d4bff4b8ae7beb6d8a453c59f5af1145b4efb7e9115fa1ecbad04a548f32de8b0b01b156aca9f9e98625a4f37350a69c7836c7b6af1f8d9312abbec7c10ddd023102e2278cb27d1abe7b3733ec1fdf56773b74d28899ac05b994d57f36cea656fe0207e49d2ac9bf82bdc364a32ecaf03b3570224208105e58bdab65848ba06125f359d1e302aa62f0a973ff6d3d7c04ca3d4ad41e7b02dd95bed3308d3d1f336dc79411e90592998fd3ef08327fc25b68777de70cbd597f764d1a2ab1f7b7765ae54e22b8ec5004d7b029f188b8cb572cb475393356728a91cba069da67172bbd9868f959eae308d15243acde5d0513bcf884f9a989a2914d33cd8e839dcd95478b83411a5e9df1374dbf23d29cce3cb3d36c1243a
|
||||
Output = f3bc901de0d6680cf84346aba78b5f181e4264db6a0682c04686cc4c1189e50f
|
||||
|
||||
# Official test vector 20, seed: "81401db81138d6874e91b7c11d59596e4ace543f5a3471b6fb00999221765fec3ca057abe20f03b2d59003375fd71fe8"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 8d667921c5db401a86fe1c35dfcf164a6bb2ab7400fd6a0b67eafd4a0ed11940
|
||||
EncodedPublicKey = 83848e57d28b6c87bbd18959ba7095d7a796a5827295d4a39848652af31ed0eb00aee4bdf9eb938e964cadf7ca0836c379bc7480259b74624adb55857355c30aa740e3173420659f9961a2d859887996ce3f897a96403f578c7335ac3270a03a3472c0a5bbbf4daa2c765625e76b7581fb9c5a0956394bbd79db858a527874038a28cb8e3b092e1ee1330612067bc5a3c4ca4e4b18cbc5cc007b1554bd0a8cacb054a2e61966742100f39afaa0c04d8ca98876b466286318405b366070c2688ba4a9391d71a8ae14378cca83f6131669704429040f067cc405051d740aa8e584428cc310129c8d3fac011142b76d836d570ac3904a61c58459288acd48f19717d98393d691435562a25cca2dd929aa35b5762114dfd3310937aef51cae7f2a0f2fea8db0bb349d1866abca3fc6ab81279663d6c5a7e3b91ec32cb610dabaf7a9a61538b2ef325bb096704fb71197f0763ed3c5594944a00b05ff33888444642be62ec213788e65666d03a5738b5d615387b095a82522822a7b2ca1f55718729885ab4d842331df14434568bdab1392d1008209058b145266bb878d368b54cc1b67fdea5aa929c268648ae634886ac2c9b4d01255cb3fc16a74804718c4a60b84f84e2dc375d111761cc9376b0909b703ab5b952c5e7463112bbf74f5b34b12bbc09521758872efb9544d560be015c3eaaa1735c6b0cd7751b4417e58a3162472805d29769d87881c372314c48dd5ac9d2884b54d8225772bcf5f23befa480bb1957abc217c78724b2c221a35bc111f691af1c9b968a1a45756b4747c4543074d03d7663fd33a1769821f266083fc758b986034e15d375103d162a865d978d22b719c1439e54a518a08cfc7f149b195224c5947dd2b99776bc3e416902380952bc6b2ff93494449a590ba09ac870d515c165fd81dcec70add4093b829639657a84e0b179b0b62aada7f0bf0ac2ce91ab1f959af3269a6039fd1628c06685d25bb87e721b49b4c8d1c862585acc000e333d1a6b88a5928a5678f75c232466c4c2509d045f5905eb7acc3e33537849ba028560645bff81aa290ab6bb9e56a60829cf841c5eaa348b76f51155224ae68fd7b3b522dd1cd4cfb4da58eb34e438388fb
|
||||
Ciphertext = 9bfd534a244878dc51df8b2dbb6a2da6e71f87b0d835b38c84c712f0ce54f1032aeafe3a372fbf6e59a3f0e23a8d4e739ee7a883d73dc827cf53a612c3188361b97a9e9482d18dec8d6d30d6de82b8f6a465324ef60b9d121a5adbc9b2676e57c066e3c651ad459ee36bf6b4c5827c0299dd50ccd2033997079b3f618acf7c0b0d1dbe8f2da27a8bc4c4388d221c5adde7272a961277ed26758575588a86708c0b4a6ca6e92e1177f1bf7abab4276faa9f7801190c7a9da8bae00d5db83279ab79ff3b0605705c4b70437af143cf9aaede52fdda449c3b786d394bd808303fc3b99f9fd340a8d31223ab9a1aa81f99a8273cbfdf883e7cc0a1102758fd6618710871eae4b24ede8600dc1d0a933c1d6a107f0c6e3028652cf7e6b9536c8faf2007c2954030ad92df51560f00d0f59b60685b34211370f3daa34bfdc62c94ad290ab4c3d168b2608b1334773f8d66f1d14271de7ebd9be188fc6bf507c66090b5b3f579b9da57526e4e040cfcfd9eb2acfa9ee310fa1e039c59b0a36c922f7f23d66be98f7e51d29cc7e0627d8c48be7695e0bccd9e0cb68ae8f4f24ea40a388212d4bde88ce664db46cbeadf62ff20d167a23398481d0b6724d8579bcc7aa62268333d86ee02c1700603fe7d3e482e6f43d0b17ee1294d1c03d78429b93e6c27566cc7e2d9c0fc4dd934057d20d6ab9d64c492a57708223833b951f93fd9574c2a433327694c9b9f24d67266ca7c6153fdc8cb0f8a522045ea14688ae76666bde9b70f1090b3d38345c65fdb414bbc8add456b258778f743ef649a1c5b65ed27668c5d5404d2656396f0fa872767452866ba12bac8906d3eb5719df0cc337312bcca5d2529786c75ac347afdc9c1d148280fbf0ff65174e51630c68a81d48c41ceb364dacd969e734228f061b76adb7c61b0c9aac8601b792d4b019ed6c59020c1e5493c9e3cde9cbaa2567b0950124440739da32b1aae140ae8d8b443754bb641b1ef17d2090d792e001e08cb1d0157bc6113fa315e047c33f59afd64fc7d8f78024fa6c5bd6308a8cea880bb6861a80bf9c0c71d4739291a4d9137de4a2250
|
||||
Output = 61863ecb6b42bb1af06b83263c5fe95c66032597c924369858b530f11ad1c557
|
||||
|
||||
# Official test vector 21, seed: "30b5de5b73681ec08aaa03f6f2d2169525d25f4042a5e3695a20a52ca54927b85f8bb948fc21df7defc3910b28674994"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = ec750b3939385a3f8df868119dc76f77ca845567ef068de6ada5478a56bc78b6
|
||||
EncodedPublicKey = eb36bc68c4ca64c6c5ec8974dd00707da9712a2617e4d18746053be322ca964076d0c4bef355277b7ab8407014933140343210aa7400038c06fa646345a001c362876a4a73ca849f5bbb440a250a00f4007dd005b453919b8bac61ca21b8f45448301fa0844d3140c2d495beee956d28fc7f524cb8f7208ab6b57ce138b3a50a703b4aa596f0672417b462d54685336da5a889d85acee8f7c92e7967ab25a4b21833cf08bb7ee2438bb7ab5ab56a57c4a57b712c9ecaab6e89a40d9b5af91a378c22ccf72448a2a433b1493ecb1921ebe41a0022968c821f2f418c54b797a72a45e3b9083d9540dfd23a66c43bf4255bef3c51cb90b77b97c034e083cc00165bcc8a4d7aae78f871d9f212a0babfe992c630d55af0d88187fbace5f716b95373b55ba7416cb4a6913ee2e5895a7b0886f606212ac72e4898271a5cc3cb9da02b51b5f68be0bb8f7e89c41a3319c6a70e477b376bac2e14516a7ea4412399c0fd9a722ee3ae3b0813f9074e78b84ec6f10ec679cfa976233182a851904bc9b54b53039f696c0a5e955c5bac0ade5537d0331576c4b395b6b51ccbc20471c0f3343ad354c8f05b4b303b571b628a202058405221d2b9552579340041236f2980346a15c596826ed199d3b0ac66552b3d5677017898dfda8758b8749d69bf0b06c9b2e256c2524ba0219948363f7dac591b09c532aa85c773b31fd2898ec210e495407b0b6135767a1a52c0a970c06b29179455140c555a8f21364a33a40297087b1b40324b6371a13b4e8654578a16671406ded7337b7aa27ccb3754f14941755de7f35138d7672a210fef2cb724d68270bc0c32813eed955a646a23ae64418463783458bf04a7a388983981542384b7094ef671fb782d2ec7420a87b95b6445a4c89c85830dc7340c1e859c0d34508937bc9acb7d87055a3ea8654e2857e1c371510b7290da83b3b2635180a1cd22c85f3c88fba7237e59962502195489ab3123cbd8cbcda95b0a1657539daa2bbc9423fb771a945588aba87e36829e1244c7ae0868ef338ca0821ac80acbd8047b39756677f408b3049bf989111c2859770b04de1d7c6c2a165e41d9a1d24b44a076f92ae1304d582a5a28d8fb82e3eee2664e
|
||||
Ciphertext = bc5715cd0fbeaab8bebb94aef1005c2c3032a3fe018cac00f5a651174a9b0b2821f10a5e7c34748dba43cdc712121091f150b0f85f24d183dc56a4b86626b3812f8c3cb2245d5ad437a489b1012bb913a6c96a4b5c68d2073a38b7366370824ea419de541d657cfef12e5ab81dee674f1b6a4cae69bfa13afeb8357209d52ecc73faa43d91fcc8610ccffeb23af44a7fc3c6bb91a62543b8350f303880deaf1cc0d0035f31d677ede757da6d4875d135505be9b43560f3a92d5a1a3aad1304338cf8f6ab967af839036594596b7610b4337c52c8c1ae1b007dc4dc7849cb3ae9b1b01f5013ecfba27db3147d47c8dd96c5c41a0c53759b855fdf7e43fc97b824da23817b83c40d87d2aab42038826e9fdcf52713f2e8cf8c5318820eb97f13e380932da435f9fa890c4bbfac3eac364f918e73ecc4ce8c6a03d417fc1e2695e54f64801c1b7c31851a1dbeb0d1f6cc229c6919a6fc0fb076a33ea7c7241a600f083abffbb9af8d2f1ab8306b729e392731a2c60f0763cdb5e5ec03cac4b72048da2d59ac3e1860f33403a7ae136765f0c013de088b6b1913154858a48ac69bb10d231f342fc1800c05e52ed02314728bf137396b0b89c539f3744512dcc50e348310e5fcccdc3c84665aa547ac6673abb090708208df3822ec2c4d22e843184cbdcfea74d5a6469cc4453778f75ede5cc756b3b30f133194a833abd7a029c1beffef5ccd1a227580a3cc6da091ac84e5d5785cced48ad45e702f4fee0adb2c755f99120c0710e4114274a7a895d2b35863c247d259a1f4ce67a7d9ee1173c34d314a917ee0727f55dd20ca029a0691fcea497a9645148286902c0d160a6631bdc44074c20cffce7ebb2ff3b44796fd25f9c29988e574ae239881c9d26df6188ff9ee93cdcfcbd8c3d85bfc7b6c0162156df7d3d0bce9c79ee94d1944b2c259b0bd1997924a0742c4f4a46a1401933b434f7c054aa21b58a4921da13837e7259ac1f6f07c9aa1e8d2d2e4d0736c39c5934f5e14473a394fea6814fcb03155f0b99e76f5dacbf7e748f1359c67af612f923dff3d6d60bcf8cf4aabc2d96b286681
|
||||
Output = f7a6bfd175be93e079f6e9dba996f887a981b3e4de71401be391a6b3bb083beb
|
||||
|
||||
# Official test vector 22, seed: "e335df8fc0d890588c3e305ac92c7160ff199e07c85760a828933750e3fed8c83b0dbe802234481ecf890a32d7a2884f"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 74f1d52af09b12c36eb062ea7528550cb4c18a3ce8e4f4ea9fac43ae383bc925
|
||||
EncodedPublicKey = 6a73bc103491321a9eb8e93664713f005c95d31b970d5c695f8870452626cf7c12da58ce767a9ae222a2715429ae9c9511b7867211afa11a1bc92c7d009739365cb863c114efabbabcaab9fb3373ee878b26d2ac3f7854a1b49af4c4c1803180b1ab5fff5784b761b2a84bc490011c71a8ba22b876f7f289d4a3a5bb77b277644f686706f48a9dce6205b8923cdb23b746aa3169c0150de5c2f7fa32bb143f74eaca22cc0913aa2246ba12046b0c066137830048bde386b6bbc2bda113ce81017ab82788240b5a3ca7992cb98e857c20344f8f012d52041887f597c9ea72abe5602302c83cc33b04a94e986a1745d8af2848cf9ee9c57c7815acb4408c329d34f38411cb80bbf408fd91723b7cc7105880084412ece768724c48b53106b1950f8bcba150c337665748be1336ac9cc042361a72c4cc0460a0f021a288590531132fd30a6b4874b9c8c20a4eeb52c65a6155747e4b2b93db32a5be91c122d8996051c65a412a0e47b275932ebdb434979767579b0108e155949c47e7664f5d3a26be345c27b49f7b379675ea04ace7c9dcab25c0294ddfc5b886a9735d582ca9e8cf85cca8f3008693cc354c7b73ffc58ecda015756716489575edd9525418b219372e64083ab112a9b349c7f7f8748183727b4a91bae7254b1606cb072b34465b48267451ac78511a51af4160b5581075aa6774847710f97e9d40293e45cd56541b32591f73b71eb6eca8f4059208fa8f61c76a66785d9b4219c4f07d967331a6801eb41ba377770655f364b8336dedd81ecc51449beb157fd6cf2fd01e7b16425d1a8c21cca768725d85519c2742807e25a38f156249a08b79babd4e331898ba0ba0cb59f62b03eeb2599bb00e5311b46bd4a5b30802af668bb01b4897f6644d16899abc03a6971f87177adac2c5cc9190547c67acc5abbffa1da8b58a7f593e70e9174ee111f95b8d72f81cfcd292cd39254389c13377a29947cfdc38008c29391c9a0a92a187c7b85b742459aee15200585c9526c2427327faf0813c9039b3f20a3587c69ee204e8f525c1d9aba7cba32be33837f043c25128ec5561959bb95c36c62e01c8567e6c38ebedb89d920f0044281bd48ba98f0fb15d6f499a2269
|
||||
Ciphertext = 7a7b0a9d767840ad6633a626907857972d4b8f517c4b0ca5fb3cc07f3c86cb8608b16cd81c23502e764b2858547973559f6ec15fb24cc3064dc0c91be8ce06ea6072a05c4b077230d7bee371124b91b8f84e00af09d52f7c905adf9c9c8bf4a0143528f7b619b4e1d770baa6ebdbad99d5f95c2ed10868b83a34c3ca36d166ef5fb595e0d978adae18bc8201395dd417fa874b6ec7c3e5f1017d8fad8ebdfdaa687c27bf13941be7a7e002889ebf7fc327f4d1265b74815ce3a58888a7d1fb26ddd01bfe4e13c597c91e5bfe2f93aa10a9b6b8bd15e6ca29c18f41d1207327b94af868c099fcc806e18be1542b6546069b89e52404fc91619f5ead21b9adedcd99adc3f18bbc6a78b22c58de0a7c3cb14af7242c72f208ef8f9804c0a45fba61f5ad5a06a91e4fa6d5611340a3a0a5ec1dacc748cb6d6633ef65629205ec16a5aafe39eefdfec6be87940ffc2c5180681ad51aa64920d20d9565d2d0965a64ea6d22df80c488f9a42e20c03bf498614e5cc68853f56cd12aee725faa0a34aea25d7006bd174dae9db1c4ecbb9eda46b7dd0bd0525d6e233cd5fbfbf7ee8d5f043f87006b681e332e7c89df1460550d61271fe8802a40d2ae200b99b292a866d1a0bcb570e74384336e0cbc69777598ae092e6f497d913787fcc98413fb7aa104bb66346f1ef760ffd1652b24a7daf13c692a5e9139a7013cf7c18ff5b1affed1b2c7f2f569d4dc3f7e0851dadf815fe813bda24d25f23e76b276dc28e4e0226dac8e7af4792587a3148baa62904c68ee99e06fe948368fe02f0b6e54b82ffc4f5150e1a326033d763cca1b4404eaa67bb7f21d7483a980e2bab7dd371e0fc1ea7754ce9fdd69e1235c8aea4fce9d0f7ebccbe60de5e71431cf5a3da7b96b1769a8c1f4943547fab9d8b18c3a7f84a502c971d9da2ff3629ba568fe0fc93af26086bf448ac5be6947c2ee6a73cd07f8c301935749d0335cc34ea913e881068f783384b14e42460baff9995b044270c8b4de81e6183e7f737da70c809f1a9227441110e7a05931546b5acec761da6cedafc337ed9a65b09c0d68ade832291f3ea0
|
||||
Output = d9a26637ecaca3315e39d1f2a4f84d2c861fb6383e3f6e6026a7622209ceeabb
|
||||
|
||||
# Official test vector 23, seed: "fbea1bc2c379f4f8fdcb0de260d31cdb064c9ea9b1d6dfbe91b3692add1d34dec9c9ffae7bf5e72ed2743ba3f9f2e43d"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 4b3a70d85f640d1a2a852fb6fe96704af56a7415a8ee4282e9207bc3a2dc116a
|
||||
EncodedPublicKey = 4c234ddfca92a6d66664d071c33c569966981f8bba3b9909894931b5b57892bcca7c8baa59fc1098f21489b5bbbc490d7c777d26430a66534ac58bc152fcb38428b450753737432f7cea571f953473160aaa5c0383118c3d1819e2e86f00fd0ba048cd818736020b1d6c06a13efb30aab032ca83156ceb8de8a8399fd4bfb655acce0795057c22cd0bba6d849e0a16a4c7e698854601206496a8e324ad2796b3404d321abfc12ba63d13049eb34e9dd5020d0bba46f61a37c6a2cccb7587432721546c9b298ce60cb03a649b659747ad62541fb024d4a2b6b8700fff315251eb3782d3b96e766002d9a388baafd013716b2b10af8737f8195b7d445a4dd1977e049aa0f76e56fa14f56139f9f2810271268cd35e31c8431d551e167a79a412c4ed115e84f86d55f70bc7045ff7646456484a2e4bb41d300c18aa332a8a55104c0aea0a7cd8b0cd47d5855beb2e6f651d575a150fa8109a72b15caac7bb6b9770d68f50e03c375c5524e545af2826f4b756a962b5d9457ad45554f51b8688eb10595aad094c30f72297d062113f2a6c4048318f4992ec56c6cb6467f96a67d6c6145a3252008082d728aae7342229288779f6a9035a7d4834afaed13b7a2ac10a111a1f8146a057bcd7b547f6176ccc1a5b5de283aac16a79dc116e83a3d8430323da5e26b03cf443c7f8719b1fda1bd735ab2f37205afc430c587544f34cbd01b0dd940d0ad02e6f0cd000fb6c55962804171abde47507013ddae041fd21a5e00b04a2373aa8a84047416042ea1481437f35bb5673359c2f0923ac04ceb7cc094b29afe9eba2d537a0b8571c7ff24a154c8506640b9af26fde822bf2691a4e5613565b0f0780ab86f259d7e4b1d3c08c40dc88c4b52e861a643e7709e764cb90e897211492d701205c3272f8203fc8442b50c00014a6ac31317272b5635fe745df10b95d8b318f95cc511c2b06fb4066a66397d4a313898ddba5b1d2b7cdb2694004e4731dd6000ada66e939ae74c21f7cc6100b4bca4811235cbb2e53f40ca367b4b013b73ad34acf761bc888aa02e05741a403a6f84e92f2487c32799d6bb88a6d53cb07a06ba579984b9d396995aaccd3db98e445624d26b0955b17ca9825
|
||||
Ciphertext = 12c94d9971b960229ac0673798f39c6ef6b5ec42ae7bb887c4149a8e9b510845fb33bcb87aa33b48565002b3331d49701b357d9c1b3ac3f1febcc00e94c0bc0c9df5bc652e365b0f5ccc2db5b30b19b96ccbd31bd04c446424e9e0d9f1711662eca3f5f745ed419d4258d7d1b986be74bdb25795de8afa97a1aa3fa80b902fe19de4f8c1451f6d910e5fc3f280cfd79625dce9e71b23b0f9b16b50fd88e48f92609e8ab373f2f64916194000d80a8c4c2c284f6c88ec310cc2f987e06899d23a5419d1dfaeb7ab6b2af9a1961c6f90436665b044b1374bcfd170be16112151a65d0b30c1ece048eb3ae4af905444614e33f65e96767531f7a2960e341d50049a02b203d9a3ce2b98b343e1d2437608042bc667115699b9692dc8c297163c60ce663ec922c3c64bbeaac0bdfff7e370ffcf96a10d76fba939865f4051fec05d8b333abdbea8ff1525dd785d8ae6099b8044c63543cf6ffc3b9d80b605da6766fc1489309f08bec4f17a001979935e4b486ebab4f152194d125e049ea0ba6731119eea199dcc5c8bdafcff74176cf1f8ad2180289ba9d8d4c4ea29aa62cd499006c3a527957228319c3dd6bbd2d216d4704998d8e55521cc2012f1d2497fcfd5af2061cfb093deee502180257eb01b5b1b324202138a4f2f5bdb6f4a288b674bb0a727127eec43f71812c77be7e7fe534616e21068d5334fb4912be1f829e3e8dec2ad744b4c26b9568e8b494a9b39961fe1bd26ead5ebba523cac39114cfade6aab3a98053cc93b4eb8ebc870fa702ce6f450f5f661332ad8dc390c4405ae5755369ebc420570b818c05774b9f5667a049f2553beb60fe3c24b94f4139362862e328623219eb28660bcc31d9b9b7546ecddbadc59cae1e1095c88b5c053f5d9943479f58de1d43ca68aa529b38cd667addb1d34296f9b56ca96910ff619d4da56a6ea64608043667edd6df2ce6aecdc1fba1d42fb0d54e4dc77f40072b9f5c188959d8f8b659ab80440111e682627f46c62684793696056629d3f82b0e41b525f828057df7a57b0f2b60a4f993a7f64cd63c9a715c5c3afd39f05cbf613732fe2
|
||||
Output = 287a28afc86b4294ed65766aa77af1c06de1811b859fc0edf5d32b2e8d5d178f
|
||||
|
||||
# Official test vector 24, seed: "7e87fb886bc3c7c9fc12569f465d2ecd12532e76cc27c65644c8d3dd603b0cb2d036c5974e675058f271d5c82ad7a813"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 26e38ac804fb5b4d59ddf747715e7e6041d875f99c7b638024b4af82d622da60
|
||||
EncodedPublicKey = 334c30d34c850745751225bbfb93a7ab086682f3b7114c3e56e340f0e1449e2606beab34ff58ce6b036d9cb0c9fa444de705720a947ad24135b11a0cefdbb79b40b820f2c052c435a14c3acfe077a2532db58513c2b377eec0cafb924db9fc9fef5882ca8a3575691de656aa7e5a557eb9014e7748e639a86ea8cf7ea95fb0c7720ed20582e90da78a3fc9c6540fb201c7177acad1793792cb3c5b61709759047a322b2cca4fa7a9e660545fe3b455861054944b67da08e60ab0abe132bc42b8ac18c31281c6dd26a6187663b160686af920cf7c5461a5a60ab7be2b8b293861bd4074517c918afb66cc35286005218babd965b514a5c802c77f7c4fe4d5566f8b2e75134258797ecca049c49997028c349c680ff8d1a60af294d5073c8e0621ad4c82c18a4c57b3a66a68858c373cd46b6c399701e6536d7c0b4b74e94693ab9340d46e3170b045bbc643278b06aca3f3d43faba33eefe4ca99074a0968969ac13366211834f5556dd30413219e466b3cb26957c534b31d53c51eb1a8a272a5842a1a23827c4a39488335755e1389f8a548a52c4dff958eaa4c18d273cc4cc931eed176cef9266d33379548bf77408a2b29a7b19529fe0b46f7d32030a478221414105991b96ccf6fb864359260d847c2cc8b3a1aa936e12bb950c719db5bcd01d50f5ec46893632258532239a0a3033957f410bff51b1610c5adb950494efb6151716715b64b835b35942716c36c8c06c96b4a35a196e69224345fa15c50953741eba718355c9c41dc3ec2d0268e830608f0a06bebc789ec01988013ac397f0128a9a963ad53f644c6886cda9048bcdb610332910afba5fbb62a454696a3fb50aeb5c6c57520f79244d549a8f4002763f88dd23bc855f28796ec19b47a4a5fccbdf84a17f5d32aba83abc474a229d094101c3640615efa75a0e2c3b802a24892bb105513cc25776259b12720f6081be43f2dc13a8348065a7b1202165ba4ac5aa489cae7a08a074358ee33c702413b6d49bb41f52e40a05ab9f008d1f82f16ac514975b356c1258ba4a863a88b0b0abdd70b1bc99a143f414bc151b6147bcdd8a0b54992d7b5db5a524f2b160eba5efb8b0faace10d492d25e52c75b2d6632
|
||||
Ciphertext = 7809278764d2eb18dbcabf9307e9ff2e5ccaa958091d63853194adfb4c42e9b14dfe1e7dca178012fecd4e78205ce75eab76a9bb5d826c26907035aaa6f3ea028ff4fffd3e13cb9ed7e9e134545297820b2a22e82c2fb2934965cb3ee15fe2b73fef1c0719c45a01383940862b777a075fd69d9e0a19ef82bc3d38c145ed3851bff3a1f43384e0d57aa8e7ac7f406026fb72737fc20cb23c3d8064c1c2e616ebbe47c807dac0e137aaf5a9109f6a9f79af3b45328dfc2893fa9658618bfe5bc7cabc274e34bc10d557d86305780d06cc95d27d41ec66dd008e76aa4bccebe51d922870d2c5df544278f9a3bed7653e019a0d20e2a15ff7f3b219c5a539757c571f77ae6f85a224a7b0de908a036f883511247bc950d1c48c800d1b9901cb10c7d5b826c424473f80729e6b5d38bce714c3fe5efaa73b1b16bf771b40377cb3f5461cbaad1b00795b37771261b4a8e60596b0d3c84bc78ff1ce8c7b78dcffa7fbb1b716683e68068a2c38f63277152b77af824b3a215461858f1645cbbfac7b73e3c9eec0e9bdc8e28a369c2db882b453f71c9feea42d8f601a99b4ec35b67cb6f60b1cbf8e7798f6d410edb5b1186a0a0c9c0c84accc2681001d83612322af524c36f5cac1d9c667349562a311ff0626388813106c14e7070f76c3e4b32683284752d2b173f6f0dfeef2344a73b1a779b18d79d05cf77a139d2bb4797060b058ffca31836dd8a43e5803b9d9f215e8a76ea01549fc0570509456219d2325b150bf0c71e5861261caf24cfd75124d62dac65881d426ccffd58605b3dadfd4dc8ddbaba504ffd032d47efefb3f328fb6eb7aefa98075e5d6c0be56f96915af36c04c7c57f7456ab434fc0ce0952eefd190a99b0a6a795e9de3c7241370d0fdb65600709512f0db7da59b8d70ded0b6ac19159871260ee9bb4f8412e007e486f112f25d8af58304bf096f013ee98e4120693851d8814102595f73f73f5bbb25f03dc02813369ecafdad9818117b643395b0728d700a7802c72918d2ede67fd68c0df3e77aa61e4b1b89641e40fe4fe7cf53e40ffcded674d173d04468cd46f0618a
|
||||
Output = 9bfdfc3572dcfbd3a7daa91cabd1458b9548ad62dc0f1cb27406ff2421046282
|
||||
|
||||
# Official test vector 25, seed: "ad1424e804f306c7ff513da4c1e8d445afca7bc942fac5c0b335733aaf70693712ecbde26ea726ee0f9fd9d52a83b1a4"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = a319d2b8f114f1acd866478bcdeba6fd164dc4e37b0adfa8d8034afb3e197376
|
||||
EncodedPublicKey = ece37862706cca39b1412bc60823b1b60996dc6c6c70a1868d869de542506abbba79f334a200527f2a27832c7b9e3b6d46c11d765cbbd663b78cd933e0e8b0e600cd190b005b08637b6087fb5a65096501b00cce98a14a45f2a654150e2ecc3b39c0bde5e8033583a0af7108e4f50c22151a54c6b58fea32641a0c41d95472e8c64ba916f6740b4022071bc1928996bd07bc1b91694fd92918e99c35b2ccc74bb1142c85922a95ca37f14d9e18985ea54822a616883a8e6815ba298c300d2b02cdb35325c29dffa2cdb1d470cd254f25838b4e80268529544c4200c8d4bfa55b8817f90fe1c0b3fa1c3c61d0406f87cc62cb67def2abd08b098301c0797b29a891a9a0897c19a825d78a6232c86ba1725bee63382500299555a2221c1f18f3c754833633569940f28af9035ad66893b5a706641812a48013ac19c438f5b0693b746a8b841857ac22eb916a0158b2094253e76d6cc0b990f72ccb407400d140159ca88b128b511c9aa390094529c78215b9f4c9777e923097178da73b559bc04b95a190ea0295efd89773e14ba09485d91aa364768ec82694e75aae718b346096c118508eb7321cb8d44fe256bfd744913ee12e85b1017357032082471204486f0ccae9545f291b5c8756b8cea56d03576864c263643465b033a5ec1bb1ace7552e920ed546b9a8b89157344d41d7109bb2787b438b8d61bcf04b1bbe174ddb612c74653e1bdc27c35bcd8c95b4f51aa9adc7777a55464fc53c42237d7768bdd5e367d6dc9094faa9b777215b4293d0f9c24da673050b4b514b61eb75bc8423b13f4c58335674bdd5505ada9f80d78fe36284124372c3b6ce3067bd9f447bbfb1495fb236ffb397d0b21f40d2192f81b1b0a19c72b80be04973bf28897fd37ab7a467f3358224046119e2bbb52c5af5b7220dba420469c51457c1cfd67e44233da16908343229ba607d3890c3392c476cc43505e0154c03c584938b9e2b3afe6c7ed9cb7d8d6a405157c6f5eb672fc601d12806bf03b58d23a1dd5346e9884eb896264b7a8ed77125d53004734a5dcac3add7095363a3238be65492835da03469ad8f370de3f58a978dbee5904979e778231a08c3d738198bda89bfb25572a061
|
||||
Ciphertext = 93fc9623db6b194fc781a7b175685323b1e39010c54a8a1db7656a850286a9d9b48f8dc4d372d15d999fabfad0b4edabb85bae8b6f3ca264d9f7cab1bacbf8b2fc663f8b70f3a72c7d23911b3f75691ac358053df039f85e6af7c6b2b1361f2db5c5a2096cfd87d88798f812f354a56db2265f0a5bf013557065d154c44e769f84f6b3a87bc7fe700f5aed72474b330d85b5b4b4aaf542d5ef4a275813812989e4ed75771a9c282c943685446c65953d064e9c236d9be5810e659c3b09d85d2eec178ed0019c0bede8df801a543156354855f32667be29ecccf279a500eee33e8bc861059abbc538bf5e631fd7bef6a07caf4d890e74052264f2c1ccc1b72f820459e9227cc04b3f8bc5d523a59018bf83ae045f98d22fb6890ce435e2fdcb156b13143582fdcc36d4a6711683047ba2a2ee69f8a8f76c95bdef095fca01d86cd865bdac4462515d458054c0ad7c8ce287055e0420c077ef8a5a7b9855ca88b82cf51232cebd6c44790cbde8502581a67fd744ea7bccb49d7762d0d1e5077d5a7bb59940b0679e28805efe4ca43143292241f64ef865c42b077d177e7c1796690dd4b64169a8c6712b9b068a7b8d2c15a936f0cfb642f7aa1a0f9bbcf7eec6f901af48426268d63603f5882b4b778ca3a781850dbc78098930eb590a447469e3d277b0ada7626928871787d6edccde1624e105cdcc0189b52b1cc6885bba78993ba20a6598d0630d5f043ac3aa0da96fc9bd2d77c0cc2ed4eedc41f92771de5369545643035592c2c675984c84e8f4fac2fad5d188e31442c9c6d3591b147d72815ff12e1f091651e6e53d649f57d14c4b69c07671b2a0149c6aea27bd86b0bb926e0ff799f7fdafade50cb687933b8d81265661b7568d65419bf7872803113c7032898a5922ba879cafcd68d65a1b634bc4731aec2cb602d234f309e5bb7ffc9f4832cc6ff2aea4b57a124ade2f4a9a650322b45c53cf54695488720ca8f5a25f1034a831949e8f90cb5d1042b993d47ef48f60b1e19bdb643926498261a1317294bd417ff6918e06f79b2167c6ce74bf2771a8b4c49c710514828d00e29c79
|
||||
Output = 7a9bf279089ce02f4da09a3055c7d8323a9f5880d6b6c0a07cca7d8d7f938e0f
|
||||
|
||||
# Official test vector 26, seed: "7c33ca0e987226c8524dd56c811fa4d1ccf9995b1e4e4dd5b1481974e88cfabfbf6787775c2611cefb27ed4403ea9b46"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = ff646071b2509e6b75790917e08e4f0b0d9f0116ec6291c0b59eaa4b583ad830
|
||||
EncodedPublicKey = a17227933522e161a994825259c03ba14cc8b160bab55606c9e1a4b2dc5d8b328d88f80c9940cd3cac5229b16450135d09a220de46455d30bc7032236e285d72c7b2aafa0744864ffcf01c5f6618657b18a3c6adb7f282d0263da916acc2e6af5884cddb19303df83bf650cd2f941a48bb83a698a615642ddd81462cc8cd3964a066333eecb679c2934983957979ea7b57d6394c48a30fcc22d0d215a95b54a915414e602269a409e054852bf545092606a0d04244518a82524ea6873b0cb772744505f59c710868944d1a7847e6cafa392e000042c546656fe9600bb665923b9e48c86122b46483b1211e30496f6b82614b57a5d14d737675e82ab6357c73ece96ca7e7ab2cca9ce2a558e004cbfa94cb5b9200f8e26026943b8803608f204276957bc8d53fdb682f82a6a372987e60692b22721bd833a0f0ac6b0fb073c0fb529e442c564373aad7438721a563d66c1ca6037a04a97b0574bc9c9d07e95eaec8a49dd96d2f623c6a0706691015fee61f1bb23d543c634e8003c16bba4f61b0f45a3e4f98c63a01b2e40a62ccc7a326894391255ce76492cbd83740b3b88abb2bc1093dab2956dba5113df327ec45a3054aa126438157bb710c44462af97595329f2011a402c40795346f0a72c7bad9228fa8737b024575eb72ffb0b54b4490aaa779cf4321834238c0565b132365a5e051d0065b60a84e0bb3cba9c97c2f20cc0c45a9a157abd2b64b0c2c9e9315b3bc07aaa39549fab613b570b08bba7b68738f39f586a9ab19fd3a6469d9bdfe71af6fe02e655ca7a43834096437e8c4cea870ceb5d99a3458065f2775d0d057f7875d8ad25b2e0708b4ca2f91e82ceed7b74bf2248c9c48226a68aad9bb7f7985c5d11435b2a31b842f354330d01cae78577cfd0c3ea6a35c852cce77d3055bf37f51088e15da7330a53fd3bb5e19484772372db1886dd682125f19a39b858ee8940be32c1a71e9a718384133e70094d3c05a47939c57379ee3b9cb297309989e9ab3355e215f58445e386a2997558f35905d60b85a2a483e4ee7b899e8873b796ecdb8be989723493a4ecc1358b737aaed88f9f77904f8718055e71a50b2d22da6762bd27f2adc06594959522fe4107a
|
||||
Ciphertext = 23b02aa6e48779bb87f5fa51a685f8f0b956994c06865d1ac67261289c7ce0d71f15797c3ff04d38e39acf80eb910188f3f4fbd46b15c76fbea7215d1f2ecab52988354e585eca8774baff948f015fa4e72d8a55b95ca54b58fa188b74eb2b5e41abed7a5073e3cad804cc7aa8d5ca1884f5d78c6b749c5a4681b0468804515dac28201483fee592378ee6cb324822f0c4c32cc3f20d79f186ff3f476b548f9b806e51d927a016a5be07e53ebd856938420067d883e6b4cb9163db164871dce19aa14539071bcbd0107fa49bc71fff13886ed635c8a34fced513eff63b39635400d35ab17d2c79e460b8981c805d05a62d06007c489709b0affcd67c5f10879dfcec613e4ded84b23e95b2dc9c9aa5d8c9500954ab5e22e19ba6720f67783f01fea17cb5e1e31140508f056a47137950945dcdd0eabe89fd7080c68bef0d454ae24f52d65cf7a7d3a1cc8ce6ee7f189fc4d0ac1ab2bbe0ce1a0d2137b3f21d937fc6bd69b2a9f88ec8e17cc1cdd084bb4388906cb2fc94494e93b6d0f610707001ff37a26337039be179c5398cfcd465b518020e3c1a30b940ed3c3723dd8ab309f30d45ec97d56a88638d57428cb0e8ff006c89174aae78c720d7066075f7ec0001e44236a99cb56c9543720ae727f020f15878109a0b3f955d9cb7d5d8db02408b0d8d2b16a3995c33cc12ba04fcb5500b2fa75513659bd2b27278d769e273f5eebee69acd6f5e6058aaac3de748b6007dc09aab14b5e50e67c57d462e3f31e7f13cc6e478875ec0d9e6e21b9854d8981d52cac1115a2af270b9953e882030a09b45b3976b5a28e9bdbd5c13459b8212a51164ca89274ab7c7b76b4ad084c7ed513170d6cd505f8cba72742b877a30ca10ed53298e4d687a3b159adf40e9bd7d62688ef2ecce0cd72ce36b2a30e5dfc1a09a1b99d4e12d36c70b6ab210414e284a90dacaf058876ade336d87361c6d267d51f4d7f8f6befdf7df6f38e1d01626338fcd1a68fc919699e910e8650bf01ae075db60bd9398365ea573859559262205724cda6d20bc09c2f62768778fd978e0677d7f4b00a781ec0b088c852892
|
||||
Output = ca5b135e2011c61ec9c4914324b6064393544743885baae2f49c47c02597ebfe
|
||||
|
||||
# Official test vector 27, seed: "54770ea1252ea2857d6635151194f5f520adea8a41e409ff498d40c271359858fe2b084d5b96bee087b8e8f4dd4e00c5"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 0584270ec26f3b9818e4af074d17b2d51037cc8dfdcbe3b140fa4fed5deebc54
|
||||
EncodedPublicKey = 17a8bd2670cbe94abb9a2c0cea7473d260b0c1661329a40a9b573d19ec0bb534a857f442ded80e90237b89f7318851224aca2ffa005bbfa18dfcf36c5fb949f3317d51e156e96a09ff2ca46fc131b2179fc0204cba447f84352aaedac9e7c3975862aff0a36fd5f4bfc7c12b2df36fefa454fddb1b442a68f4735ad0f3444082b3c4500577ab317dd4a76e63063606cc87614898fab5140b3308b555e4163504133de3b19ebf52c79c2a2c5aa0b09362224c49103b32680448b08c42928092387d89b9eeb1a749b4a2d9a83de7738b6b2c081cc9025f0b9806b0bd2fc66156906931650873d7a9f12a16d7341d0a6c22df7467c9345905518fffd609b1e4c1cb3c6c6dc71ee2b75bce856636192a56a4523e28029ffb5e28470106196def277cc8443096113657e98110da56ed066b4ab86552f1c9f9e00e299312189b3438d62576c88291ca5ed7479a07270d5c56710688677e29ae15493154cc4f3b73acfb0b4b928a01d86c94128672428abf2c8c3a96eba46550852f15c85da0992b7b18d8f5ccc8704d756b032693085e278258003425eb0155248b65e832e5b11a75d4bde5d011db219f5a620c71b1838a542bf334748e07296cb9555f7a92afc07fb3050b1f05cd7fd7c77ef61493a6c865a82620a4388c1c0ea8771b97513e4fd2ac01a6b9c080a2c34822492709567c29ca851aeb30a856d991c3bb89b1994ee50193695c6f77928085d7bb2e003a94277a5ea4a563f23041e89dbb55001e4540a353998ee78c49eaa9809a75b6dcac3629a6cc8aaeef0054944a24abebcd2d494023789c079b3d10c65eb30437a1b71175c44ac0360fcd79a5ba8532ffb90515e2aaa0d3a95c47a827c2aaff0bba2d75653c724e7c712c9dc6930da7ad79b6202ed450f3a602c2d719d7c85bcf7277eba1b6eec85117297ccbec42edf19f3fc2a1a0e5879dba76c9328d4fc2388331944b6190ba739c4a70181276b6c7d47ad89364017ca6df1ac23f716b92c188b64100a2a690e23b7671160f6cba5f679939c3e20f8ba6159ee73ff0b862d33ca2a574aaaca1ce2da65a25c7076c9c9d252a910e8d5426142810aa1cabbda6cf4ee100ec5b87136f06319e0fc6719dc5882820
|
||||
Ciphertext = d401d396e79cd9b66828705f1e71ebf7c49a1bc07405de7c8e4292f8b42960cd217c6b4df9f574f4bbc30e28e9930250c01936a72ada2cc59add50bbbfada08222dd97485c7ca2bac26ffa0b472d693630affa357a62e4760d0a6166dff598ac1236e6e8fd1afd9a3158fb8e6057c3fa21c2b1d76760a310a0466f4a0ac77ddaf96fc7d261c510c4e103a3ca9ce54910f8caec7e2888318ecc24ddb91a589e3fd8c824a9f610e07e10d4f0bd93d6aec34fba6fc331416992215da3b3ae0ca058bd6ef0dd3ad245957f039a8c7ce0147d761b29d56e841f73f17db95b953c1764b0871cb275bf8d9c6694902445d25b8e58174f3e38ab0bb9ac07bd7851172c32b006570e9d8221238c40612e3420833aab2f459a9553c3b450c0392559fad216a905c97f8680f65fe1882d55bbf9a2697694b0aa067dfe088b236d60b1658fe53cc75a46ccf54827bf6d0e9f485d310c197f7579ba449214fef47274a9b2c65d0a8e6168f1be18e32a9db249bd4fa34d7fa8c85f0a637d2b6cf43c6afbca34a554828e3f79c091462488a56e085b89ed8dd5709fc829e0345564ae95c9b704c063efa0d44ccc20456cfa67359063de579af6d3de124daff1a9629beec078a1c071cb2b7f5cf64fb74adee0469b0c0483080de44e39b48c1e8f3b16c47344b3523d2f4a8215d7c5e087ae1416ff85fbee8ce1096bb622135766e41993bb333c2a21f6a43a136ed67370737ae93090f9d6abcc7733af04c04cb0ad7672043711f0a2585b13766a49b4658a0c12f5728d9114becde4a5da9394be27d5b44ef945e5c14b1fb0f557e0c65e6a9326ae406f9d2d7968e4f115e9cafe7e4cdf4801695a28794ecc7d1f0196bf0630961b1316bcfb3bafffde63a82cfcddc2c16f55b35129807cc8feaed80149725f694ee477cb8b71df1d2af8647c81745e17a19a94ae11582d239adc3ce20bcdea58dde975f94a4c1dd50901c4469f0a225bdd30fe7b32decf4452b1a5034c83fff0929ca10301e60ef5b030c62a307f97ae9cbad1d1de9955019fdde50cc1ab75d5043681923ccd55732a49ae300eafbe0916add44a
|
||||
Output = 9baaa93879d2499d70fda552ce3c6cb030495c99da8934a700327c25a6a2cf8e
|
||||
|
||||
# Official test vector 28, seed: "cd6cfe94e9c0a1cc4ffdcd2d7876504be5f50f1d1ca5cf93482943465b268276056f2781f4de805c138976ca72621387"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 51e05c7b4ca3079781e8293f4eccebeeb2f8c8b4c59468eddb62a21bcb4ab8a3
|
||||
EncodedPublicKey = 22c3a7c2ec9efee4178ff8885d216ab24064b3a80080a42c8db67f27b53ed40cccc915343584000212880b2a985aa00a39558a0d639db330789a538a4a526eff094c17327e0e1585a4406315a1426ea7625dc21a738561e9ac1f993c2bdcf54ce5d69b313316d83a83c6f79adfc75a97636742839debe545a8914ff1a8436adba4b2e06669148dc7d23f4ed984887a2f9deaccc050145cd01efc3930f1585199f108dd5b4766a792585482e72c8be8e57ca48c2b961663b6326c0fdc5f18a89747182aac6470f7b57d9e67c43b338bd8419b8d7a4b695acb04f44af9d50bd48792ecd39fefc67fce2539e7840e70a41b172892d3e9b108fc91715cc6ad5776d69437fe08689c511e9f72226f49a79a7a6ea4ebb7df553c025482a6e91290f5a0f5eb2573529d70e96a7ab7695663c287640a79a7312e007cb58bb7f290442d6252f6054e21704e9a9ca9378907ef1a9bf0d07a75c46cdd5872ac3789fdb55c6bf448cdb525de0a96d842b2e738195a12455072b8816c1df62b10e4ac66e2853d3476cf814086d4317128f30fd55236f738bea1e53ca2076a4a5aabf3b0a49fd64d1c5b3c6cc611ef7abe2602399c10becb179faa50a086213439044ef506a979605f853a799f031c7fe35efc7b6e87a61b5a570f00b8681af15ecdd4be4ae57936ba480e1495102986df3013f4b117ad004d947921551b1ffd247895b9334acab5edb470df9b36e8b50c23d66d4d07ad14170d5dd00de041a774d598b9e3bc7c8cc695d9036d163393ab2e580632e51870d4092d35e7b03e46cc868c6187869e41ea389a4a978ed90d68ab295f973939c6089ce8457ac1a6c11390d09ac5d0984beff77e347591659275dd712d6fb252d593380af79070c72861201c2199cd39667f26b229bbd4c03a3515494bc6cf772f7995a35bdb112a26251566b027a2468716bcaa2155541423736092606777505239b108151a0536916452f73291bd5a43906ccd44e218fbd453d27903786c44e8f8bc7e50bb490a32bc254da6118c3ed228d520582db2bc23e3c4e3011252764061e9c02f00b17295c50366878ea762e2979dbfb90a99f6321ba01bf4e1969cc0007c45328506e9dd834a462ba5ad6a
|
||||
Ciphertext = 4a07b880ddbe8ef8edcb011f7296a3d11e42e09bc4dc3489835e7751b69ff1f1a8f72612f9bf6f46b2d1a8fe3887d80db9066aa523e7acdcc879045fea76fb6e0110ab4999bc1706772eb52e5e404f6771c172532d6533e7b512c282caa07b5680eb713e66f4934f208e9f4021b0bd65816fbae6439558b0e5d8de5b76bab377a15112fad6a259d9d9dcbc6636a5c5cf4845cb625d587ee08e1e6b7d60f25338eb600303934df6476061775a1aecb6fe2c9ab4988386c2f4773d26fdfcb601bb20cb243300ef84370a21e67cf77ddea9b60ef97c5a108534a18858e18cd90fe97dbf75cfa5b3d8d5d0a55ca4be7ff1c893938021d6a49a5f939c9557ba77b295c19165092f88add8522e8a0a07949c52a6fe44c8ffda0b13dc2eaf794854d6183b761eedd91c099250d28aedbb9e91dba945f0f42a505ba555860941e5892ffacd1ecb000a3c55a16e0d9d015e8bd02227f12786ee9e0411530c4e00ee69db69273604dbc61b0b28c7cdacfa6a87df56473a0797a318e65f802d48fc5e36d10cb3a19580350f635c9a774a17d266b45695e5019c840900c56f69a754d3fcc19b3f65968baf63ef489ff85efa11912ea0725b65dba856d42740644f4b7379c957cb5edcf59be9841eb5cb21589213b7644fcac9225ed8d72016114afaf1a287383ca871571e63d39ebf3eb89904c11001e96d6b8dc8cfa36fe99a3fa094983b7255b13f72e8f17d6fe3af72ab8da6dde57c9e69df9ff63f3978cb02e4efc5613e8c989e8ac887c7d2e5d3b75569478e05d25e6b0f215a872c79fcd32f31d5da7521c5b7f0f890bd872ff7b7162fb21c83e1957304da9ab12fb8b8c472086fbbb5c33c7b33b2b155f5e7a287ecb1c8d5d1b0bf2c640bfdcdf4b0ce0760fa6a891c16562296814971ffb5423c348448453d5906ecba1974331756368228dec41cbaa9ad5f8e64a1bbcb23909076984b6ea86698038e406e5f24b612738c5c282ab0468d7d40d5d5b61cdec630d81e82462005390b7b5a5c5736a7041464208d7300f28912e1cbcb686e11d7fc929d56e33dcf4885a731e33f7d33f883c92cffb591
|
||||
Output = 58af802548d173804a1d405b79fb292af5b5e18d582eac78221a1cea893757d3
|
||||
|
||||
# Official test vector 29, seed: "265eb2de7099e4bd5614e5de7f0c2a05c78ef3e8e2dd4ae4cb70f3e5e59c8d1d88248303f07de0c5508652da66b47222"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 9eca0fe36c80fc5eba171c3ae66a5b1c923faa50b4521bb055e7bf51005c93df
|
||||
EncodedPublicKey = 933c70af716ce40ba46bb52df72215a19c632da601f15a769eeaad20825944773df0492003c16742c8298d10a08564b211ac7deb939946b015f7b09f3bb6c585e994981a1bd4a033ae726f5ab2bcb3689a0e030deac6a245b2cc2b6b20f70a9f5aa895b74c3ca9ea379a086778b0c22002c54cca7c0e9a1bac975d7a703448617025633e81885a17ba9d54494b3bd947c1212f387a8c23c4bd49b42463568ddc2251898a6a8f755af65a9691702560898caf91b835010304252c3dec7b30d44e027615a1020b34f21c5c2219abd47465f7ca87312ee649c69da5439796ac65c8bcf6c23cf5174592456c77a68426f37f958a978c38291dac2763b732a1d07dcdf435a362a46355b387d0c4e35a77471c3877e10bb7279aea7ba8be364953d4163fa8bdab438484bb00ec821562cc63537193d0b4829dd574dbd0a0067a78f0b922b78290db77467a8951de2956b31014b5b7b4f098a2f1c21ed03067363958d9d03b41630f05c9725b6733e2109a0feb8360a3a7af36190262a19863860ad00f5a8244ee4a6e492aab22b58efdd38ecb43a3b630cbbad319eee40ab8437f564652e094ad21048394a1540be7142c7483e0e846c8b6af9a629771231d79e07cc1170b412a25c03b8f49eb97f145b8b252476c8b8c0da95e4cc9097c0479c9734dc4a376edea6ff4eb2f3ae4208cc7385c859f68382e6e5653e6055d0945584fe7c6f5531482ebcb6a947e72b16e726b2145ea5073156582d5a938b8c01b92bdfb1b253bb928289567b14865b0a03750405e2ca6c5a61c1664d1cd614045dad379b62a137cf25b6dd0ba6265903595ac56fb1836499317c4000c188fe089ac4e2579ed7365fd17300f93c53258643c998c7a585f829670da35aab3ca4c604a5ce150807701a7b7d19f510437be7821c843bce6e02d429491262b29e97123bd860f5c63684e606c118361d53b9c80622cc1f2357e953e2177c09723365642288a498e2f305cd36a0b9f829b8b74836e0a5f4c14121571c75673748d9888b16660e4f036ae96431c7124b9998e724c98d208b0ed7997184436768c6f9c219446166647bb93d2c33e6ffa5a2cff7c2273409c9b75a60b1f42bf5481e96f6b680e7d11
|
||||
Ciphertext = e270f9ed407aeebc1a44327f1a01ee21dcebc27a2f814d78217d1ccab144ef226b5215037103d3b2709ee430224f5fa06eb88a28371cc217844ed2735008fe865042c9ac425f487390f671ff47b0a3d3f1c8a813a91d0f375398a462aae8b19b934e5c96fd4442b17441db38008cde3ecbfa3a8f42da30b5644ffafca9c0ed3e9a1f7597fd4ec7decfc297e4add5a73815e04c8b1d9a72360fdfb8f565cd4b3608ee01c18bc7d97d1210f3f00875468deb618a6cd006217b4cde6483d99b92dea4fdd3f0ab7fcfe88c19df3b7c3f890e6765286cea1cbbc21ade2889fdbadee2de32b4de4447e7e9284957517cc4adcc58495cf32b9414949cdd5fd3ac006983d92edaec7b5fa02583bd6644a72cda2018c7d52f56505efbef6a9a4762e250cff40dcc977e9adaeb57128df2b521561e26337390205ecbf91a0e1d0162426844b7d15f4bcfe3b12c9e070ff54afd84bcdb19658568dedb203e160baf72419f32360036d12747061a127174700b8c4166dc523eb633bc64384352b4bd10168928a9866f021b3a046318cf0bd113f605f8e5d2c8553f3b70915d122876e2c62f070fbb902b21f73f7cb570d55b15a22f4d1f2523bb2c7a9d23f9e636eb0a4ad25200165e0e483a8e946325e8c0276e961f7b26230076b42432de78e9703a6d72a63cc93ed7d9614e5e8d35c787c85543ea5632583b37bf86002f8a5b581c852ab4ada222180b13c79c9b3da33b2c9e8657e15e1721e72cac7f066fb2bf880aa636b3f5fd1593618036b5d0ee8c63a50e8c3c7f4783a49a660ddce5022e8d94a559c071cc1beac1b5a1eba94e6001b65641775fcf08d6f4bededa5e49f1344168d1ad4082e7f874aefd4cf4f19d0d6958db40a59464dad949a1c82b5c5cd67a039584cbdc0501b9e3618fef80e9ac199eb5b194e088ab86561013bdee878593bed309cff831468a079baed922f18d63fb10ede14da528d107341118891e11b9217887cbb2889645fce12f7dda6bc4e48b26bad8397409537a4c71aaf78c026f85f9b7488221a078001ea9cb700aa7d40719e17384af7989b4aa55aaba54f282f21c
|
||||
Output = 4e917ad1cd0754e5af0e862e4ca55f6002c919a034f5258624697aa8fcadf76c
|
||||
|
||||
# Official test vector 30, seed: "806bbd111f27c2668318387bd0830f65ec21a51af01985ef48d03d64e1958ff7ee5133a4ebf6dbf36329bcaaf65f40ea"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 0c5719261caab51ae66b8c32e21c34e6d86ee4aa127d1b0195663c066497b2e9
|
||||
EncodedPublicKey = 2218c4f4f973282382b6c012d088bd49938fe7f41b5d116982423396137a6594756ea26a3cf34b0b5cca62c85a9d739afc0b9acfd244691c13818c135e4a88b39c0c54b86f8b657898f14c0927bf33010a10064c6281616dc828a99b9b98c53a27913cd2144fed62baee779555eab762d4586bc79ff97a60a1a955feb2acbec6737ec934d1d9cbe960bc6833675877302a0bcc4238226f7990345a62780a333b54c443e540dae956d732af8d5a678c04659d51536d265e4898901c683dfb2a4a08f64bbe8412b35257dde64c03451561b707b1587af7273b48a19d0408982bb73bfbbcad3bf388b5b504abb2b11f06b53ebbae30392bbbfb87bc5293d0b21716140777841f74eac01ee6cdbea3c8c8c7ce3b986f0d3a471760255db1c20d2c2e457ac28e3a8d1c9b5541e3a7ea1a72f3a44a8a6ab7e0d69eb699b7b14a435c435cbdc5c6e1499e46a24c5b38247feb71ed47787c04a1e0456ec11844258aa4e15cc144570b9d4204db20aada1b2f318cbf438782b1c70a894a97dcc557b7b204b0ec17b4362eb7f2c25914b7c17260aa66218fdb1925630ca3c7c8371b96c7cb49a401c8234a3928534b8d324957440fa01203c3318f00b65ecfccb56fdcad9c38a695fbb173aa75a8226db2e92b6a58a71e22697931c5ed0aaedd60483fa02f40aca6119a5997a1b95d32b34cf902ce5a9edf5a1b48d383b7f383c5f5b3cc054b47e78d4f9c994ff1b64a1c22526a430d7b6b30b720caf977127aa669d641b062801ab33a40685718c7bfb8b8149b7463d170a2f9b51c6d314ed4a81dd3e8604523793c8a84073936d1e58e4630430e07ab3ed02c03c0b2fe71b3dbb50072394e7d4c0f1b02a9ee46c795149e8818aba0e76792469fcbe4951f0204f9730733dc0909e4594f7749ce393b643488e751a011bcc840856f20a11edc9a943d57ae54ec682687b6f3dc120b357412b1176b69863cb05d395baf76736ffcd47102081756c89571d13b9d0230bd428cdbe51223b8028cbb2175317c14d6b0caab940c540864a8be38a73ae8a68cf53290f4693b89185361c48b55e41b8028cc543355eb5937077c7ca8aa6838bd6e0ceddd36fa05b1e211e9dfde525344fb4855a216
|
||||
Ciphertext = 19d307d83014a552cfcd64807139713a04f1911b59936a811ccf1318c76838db3aa9a2074556357781ff4e2988a0aaf8256ca8e946b50fcac6d1dc45b96400a37912050efe20cfb5cb32f59ffeb7de272ccc7f76acb022966f306170af3ca9abd1ba3a195c7fb99acc3403b78e72c434771cbc1959fc695538d1b7978b08d4726731959a9134eae6f0c24aa1eba7590a88f0b73e246230e65e92bf82bd3dc63bb37b52d4713aef46a6fe29d48f3f4581f7a26d83118ae237978dda35a48e0567f50ea73db9bdd0020091218c3afba07c7b0ba0b27ff48ee5b0229f08dc48fa53acba37da1891cad4d462bb0ef5eefb63b10b8f52ca8bfd2cd3f13819ee2985b697aad1b921ddbf5582d3fe61a1ed12ecd5247a901329cbe354fe1baa5fcc8b0c83c64ee3f87690d8d0f272b306c30a1598e3467c6ff8db75751a984682cae0a2e12fe991401692885f01a0f0a4e80c61dc04d319b45cdf14d92f3962102d05552ef760c85d08db609e88f65e3b66dfe5d0a4c408eec28f35a3a32db6dc389c017b82bb2effbc4d9f186a63f7474f8ab1d6e8ce01464b2178b315caa99ece93bc2f5240f8f1101e3e8984da57980d2014da5d39ce2d6a129ea0ae6ddbed8614fb9cd5c6bc5e6ad46f104b1b3b2c48ceeee7e1b2681384f9ce14f2f3e836a32188a23c3e4b43e1655ffc5d73ed299fb7f942dc1aadd72ff57b3ab0ec40b4ebdeec9b939377a861478322a3e23a71d2f2758cb47082284a5d40881d1783d02b4e1dec4d4382a0e2326a0ae2c8bf90ebf3a299e8c96aece5f76e903377dcfbbbea122d0af16f8ca9f0b4c98e55d588ac406e3359f79692681bbf6e5c15d3078888c1fd1e441a126a4cb663d04ac17e911354e118790ab964f1dc6d44b758c073ddf7471722644cb1b9b3ac8eb1d8f0d6d9368d6e8d41a3a3934b58dbbf3a3519ae3f7ce8a9c84f88168639822826fd9377861e241599c1a0b321a7b995aff5c05b4a7c6807abbbd677ba6d29ecbc75b1ac53fbc0219b4c5e0ea5290e6f55861e232588c24975bf006431662805cfe3dc4a064b4d77fd7965f8b979e45f7c20665415
|
||||
Output = 12ff2c4d37b7cfcd87dad305c59bf2e53451b0d7340ec7ca504e0a6bdb629532
|
||||
|
||||
# Official test vector 31, seed: "ad540a9ce816d6fb1661e5483c44f6fdd00c9e7bd1a8ceda4b4c4d3697d4f78ed0a56954996ccb7da96ecb8f5cb15809"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 0e59f6f9047c784c1f00b24454aa4f1bd32c92ae7e626549972f86fab90e7e89
|
||||
EncodedPublicKey = 3ee563d4228eadcac595024435284df3002ad42b4212900a3f7201f3824e0743cdc598af02fc04ac107ec4a412b77307a1394ec4c55c7bd5c826e0442d833dc9f36129388fca76a59d167e7a4774cd57b7f4533386774ab13a4b8cd06e488714fbf57ab0650b5ce0005beb4b7a5a7108b70131d10ae34a1514d7a860bca8e1fb971762bea5f886e0a913cc6c19e7e05e69ac3729dac5bb901ab0c63bdaf2410683529c72667003782080b9ae4c91a89300c0d98bbae61bfb4546e7f87ca68478aa369998ebc0c3ba6a0af9380e1286d0f59adac252447895dfb69b2c189075f32d9af461d5620519fb7b6139be037883ebebab79845ff7e450043b55ba43cac8d786dc2a945e2687f348c702a8839ae4b3206837effc24cbbb870079c476362032718035900442929b9c422ff9730ab03a0e7fc9a2407364e325b405d854691b269ffa4e3216c1ab3b4cdac3b4190a27ebf5b0b82a3fc10451c73a5ec39a567bd09dd7daae5411ad24cbaf8f25cce272a63f005813d9c7eb55559e474b7078b55b6abee77b5ceef1359a4a9e03397c8586be4fa56e4c0bb8aeb07404834393c78e4d201eb7a7617c5cb593d51f7e9c0e2b1344f9e02e4c5b3fa8c0b447572a16f66d4d239dc68555a344025869cc76d866113012f5347bc96b49b4b94113cb607b672020cc274cb1cdea8110a12044c056a2821c15cfbba1b11cc8a39945b5ab717c34801540c610abcad94c23bab78956842050d37999ea47e0c502dd213363a7932786ca92fc0174425ae5ab250df52b3f372753d79a3fd721f7b10b63826f90dc9e6fac07a900a7237a2dda32bc3c69a5771617efe84b05f51a5981646d67768a95445ab2709a72442155b47bf111368975c365ab94f59b973756ff8bca5a7aab3f45242725634b7142048571b7917a2a0c0909a8a6732b268d8156b32b0df19216404a157951a12f5b1e17e8c94485521bc3523edc7e6235c29c172181a0af4730a950c873dc982316e35aae55b760767a8d6b9ad1026d2c93a7b81012c18b7714677221601855ec919b8a96274c7ccf14a596c470a9902e9bf1bb5d40b0bf8258354435b360220ae8029fa59b3f6539ed6eeed58952af1b7cf7f118d9bf
|
||||
Ciphertext = e174dec38a7703e61d3ee9b5c29f7bfdca50e220d4998dfaf066ac5515f22a04effacd266ef1f20c529e7f729fd02fb390728218412f34f67eb6db40f96dd7dc06b2b24735144704610434a0987f777ae40e595285b640f2b3878ca307dad36d002542471993098d092112878098feb16588f40aac20948140681f90c05bdaf0eca81b1cf8ad2d74a26715ef52487adf14a12e5328ca8748865d8bb42f8fa1de046aeca200fbb2471708090a9b96c5f6e2203b0ab369168f786d7f997c5b87bbfce2611a5c44dfafaec1423276bb5a9c529e7160b5d9dad3747f1162dcba6a9a30d0a630d7bdd9e3a14d3273bc5d4dd548a172106b19d906319c40d47c0bd8a2a34def8f2c86022d7f8c6cbcff42b0c2cc9ae22c10c694447140e0b9b75dca4356103398ae3bea1d4121eb220f4632227f0801d07da86893f4604de031233be56b8e8fdafb05999097f62e1690d222f8e940602a823449542243c9545e19a074d3d29917973d96fe08a826aaba9276d5236474b30c5690aeb4c30356323192046416298de37baffe71a9fceae20528b4170ff486b0cf3f0890709dfb140b227d90e0f6dcbdf318c4ba9fee9cac9031831f5930f26c80410efbe1e41944b136a4a6012397845c5e3a0b02e3b54d0947a508ebf1953bcaef1a872047eb9e9c1dcf75142422dc24a9b47887297210b545015ae62ac55840d826d6215f1632f9a2b3f4e2bbfe318d98ae8311f87ff0ab292650c15a443632a394e225e441ca4acff359cc797dde86fe9913231f0f17e08139ee484f58fcb93c307e50ddb18896f1dae7aaeb89114952ccff875e867f2c8c84295339403e236025a8942bf3f0b98e72b534ba7f1cce37b42fdb4c1709e1c07392051bb2d32151f78ec9ed494b989be60880e4be581fbd140aebdfaf64c2e1a0178fc6a303163da43a220bdec51699a805bfe5c69ba2025eab547c8a2604fc0990e2b2f9aef02bb90fe11dd275ede3272585ca4acf2f6d7359756ad8cddf3878fdd29319c9c64457d766ab75f91adca05b0f35486695de767c741f1eef13df0161171ee156f922b259827fed253166e0
|
||||
Output = 63e76a1f1f3b775218902e2411e60a634ba51a51e6d16affc9978857f9242a56
|
||||
|
||||
# Official test vector 32, seed: "288a5f2684d862a86d2790afddddbac6fda934ee7d2e6da1508bb550838609e8107312b28e00a6c01706374ccd3aefa7"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = a3963ade17d69debbc358dda82c7bebe2c39d25b36813058e7a161542e3f8c2b
|
||||
EncodedPublicKey = 02e38929738a76491c6bec86e3600a3c814bd3b042d4a029739c55f9a0224bbb2f6a208721909158555b21c71a6909281a8b95c9f851c036694dd0a57ed5b825a682545ba795f30dd40a5edb028b2d8832a9474f03d9a6dcfb2cbe3057fe827107b797bb2760bd541ee3a16da25495f80963d5579d73386f52d0a9664a8eac24c4245455bc1c0e1f2053fc726136e34ea5fb1c673a5eb0e3c2ead3b1f4f81bbc17a427b6650b17b676964e3da28aff414c71431af7817384ecced502cfe0c7cd04f9865c69b3b1955ffb07b37a34cd86307458c0af9452a184628a91d952d2b1c28283add23a342d05ce3ebc38a674ca1c51afcd243174047ad1e0055300b7186c19d7e6022e57c6a10173a4c71246f58743a2b9126116cae68ac876045f600d33fb66082815b3922b36da286b1838fcc95573f44958f855f5953db5100618626247036268678609f51e8da4719f1c084c8253a974bade42703adac8db72782501ca97447f51f7cc1667ae15f35ccf0a8f9344c27764b4326bad953c58e2e794b4c690f6512025978c4b6b47ff85a0313012e5fc360da5a52c402563a1600f87260cf5b03c8c1e2897cd63096f96da13aa7368a2074dd32779c1780f1a691a145464ec3923bf3c6c0ad438979a17faac3a1641393dd9a02db33db39959ea71c8a809a14e06adee39143117978611026f327c20d4bf848b14eb27cb12385a22337f37c8218b538cc8973c521cbd3dd717ee602aff2218d780695fe3b694a16a94226e8081ac5138a27f8497f3a024f70635de82c0ad90b4203c2da92b5fa3d01cca916d4fecaf00514a68f9465f14b28d7b20397376ac1c4bfa374f84260b89cc35c6b3c51db06fbfb4ce24d39f6f328cac585c88d79238a9b3e3572f75cc1e4ab96390d9a4a6d347aed974e534642f65c8dd165297110705742fd1e44db1827bd822bff243322fb605f4c73178184379c57cfb997aa2320061b98440c734f2cb93c35368ebe86c6044ab2cd4a722b51e5ff43dea1019058c24d31c0b4a060afce86a09c15af8437f300811c12ba040425285bcc7614a88d0014986661dc1d8362e17fc9db3febb4dac0ab7b84bcb430c48c4c2eba452ffcfaed7e8d1ee58377e
|
||||
Ciphertext = e1efa585e47df398e51da70ed2e929b8f207728f872cc26641b130e6040ea7b6538331bd038e3c40ad42261e427cb923b3131197d35042bbb823bc1a49d4b7f239ad497f10c758fd6e2e85e90c8678d01bb3a4d394989bfd1973bad5e6fe3c6623140a34b2e25088abedc53504f6638b159038d2caa1f6fb5ecb7df51a880e5be37147250743a69bda4dd8ae6742ebde47119d26607e33d1b6ba53b66cd26bb174ccd8b04c07e69b805ec53c0ba0154de044b7e816d16e611f91f0098e1ac5a44f4d337e0c080bace49d6d928225cab30b5bbe8be88140e584784e91aec6350f7bdcce7bb7302528f6a7f49e73a8826856bd40c3c2f59adf25668304856c7fb8dd34c24de4ae4dae660f6b0a3b88c377add642b340260eae3b2d4180c3bb7637c4d708a1d92f8234285c54cc8af7102fd6b621fb5ee9a28410217edfa02ba0efb8b5a3475785c794be32f97de0478861dc22dbbca832f63b3b34088a227e8489f57278a7fc7c585c791d910baa189c0446d890e11956465070bbf449396d9df1c479ef91b98da970a3b60f617bb8eb9bdf5ed1767715e0b15c7115d104595ef79ab60516a8558aeeef2085c226b2afc2ffc9d7184f8521d0d11aa3098348ea81a39bf2159975fc526176752b1873e942b29c6822795463cacc4ab307b02cb3eb9430ce908b19f81243b8a778f5f8e0c2b0638bf87a578c0b57e703731fc90da86a2de83102bfbd398858d0950b24f4301723e519940c5c5e096bdea7f9dc1288cc6dbbe613acefd2a55a7d190562bf674b1df40d6b980475a5af3d1b6ec2ec15fa5dd41db42b39cece6adf3ae1bef9886f9994e3129940d4591bddef6cc23cab8cc17d123a2d42d152e96f511f094d3ee8a0aeec371e45161198307fd34fbe5cf35164160804b22bf156ef0a386f78ff5f3919edcd729f4f6d0125e7eeccff6a1239b868ec7447d0a00a9203b79a0f6bd2fee9ff00ad08f6580aa4007eea75f597051dfbfa3471de87c29f091cefa5ae537493f4214ce668d1e20001e8c73f7e1e3ad0f01e02f319e2bfc6ddf6cfd346b24b4e58ac7f923c584a3a975ccce5a8
|
||||
Output = c8190ec44fd30bc0a87e53c01423b2d7e34421708dad96ff36108f7e4f6c946f
|
||||
|
||||
# Official test vector 33, seed: "4635dc5bb92ef98cdb6220df0dd717c7f8158375eaa2b78fc3f0b58e9c9653e92684cad3461d9158a481da3d14694c44"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 97beafabf2c8575586487c7a80e8af5fc50f94b6051c1bc66a5ae9f66be3cea7
|
||||
EncodedPublicKey = 8c9538e20cadebf821c24265f5057a005552066018a4ac69264c36efb1028ea355dfd8ab53991cb7a1a4c202be63bc1e90881dcba3c5d67ba791caa86efa745e9b44a17bbc38599c4aeb463337a210cb7a0ad247e4655dbb7c984d0415c0987ff5b73cb1130d71a1a59a158a2e5a9cad684f46eb84d544436892bc50f28f70cb225829aca5e2ce3faa133fb65239ca6bab3642e2e211b35817a5f7521539bb7ef216377985362562f4798f30a10a26e7c7b8019e5bc1be58799bf6173444f24aa8f907c4b166bac3b64a146979d5391545a26275548418ae5cf3575fc1b59e51c57838833794320bac50bbe7818057a64b819d5c7c51bce85a57435ecb864d039104c81c5ba8c5c28369152a2017f5213086ba197db2b27c31b9f3fb1b51691143845752ba6865908265063679ca8aebb2985b622529355403502a840a32f86567d17945d249c9a655301e9b66f5261919479725b02423688a84705a0b3b14ee37ae6e97861b1aa8ed8a8d384bccb3790733c09dc2c6928a2b58ea373076804f31f72fbdd9217bea15ebd756bf696b0a77cdf76033bfd2757ed911d45a9d66db2618f3466f264bb605b842a69688bb018ce27b330ca6a2b765e98498c2592ff152a5a8ac8c88857341992dfa0492cec41744645f6cb98ef42126a459c74e2217414767bde6bc349966efd84607ba4dceb02478e4c5eb4954ac3465a8f978ce7140781bcd8fb552c892002ea08dc27826eab81af59973e5717c577249520c2330651885c7471e9ccc5e0289a62921ef36615471460d0b485a214bea4337459011d2dcc7f651aea3d85e8b4a8124705af77a6906731fb487822220bd5dda2714fb54f86616aaa694890a1163a49a2e586792589454e602f7b0285d178c02c5c44760267bc18e84c0747cf4507210a79644c0f0d0517ce3b6ae10a6b5c6aa4750799b7546581a98c112b3ea995923145cfa294e3af88f40a107b3450b6804626932b7b16483ce3b491a69053444c5adfbc0960747e9d81d8e9bc84769b8547ccbc6128e3cc5cb6263af864571a38a42eed7b4a3d43f22e102eada81f5c40f1433591a2a83a39fae47fb47e7a6a20deeedae6d107a352abff2d5c539ba4f8b90d216
|
||||
Ciphertext = 84c3501198f56d1b91629b9b0851d90100a90ccbe59ca11977642ea02af30cb731124a2bcd85a451bfc2ba186845c9a8b3b4fabee4b99439c0e2302bba1122ff4b6079909b9526003ba0d384a7f399fa67e33c5a53d57cd93a70ff25463add1b6399ec0e5ab4f8f6573b52d73fcd4143190fc8c81c9089aca6fadb2d6311f13768381ee0b80b829496fcfee63d4739646b2b42a32ebb7ef1f0c5f57d63d8239dce888da2696900e15b49e722161d75bd87094e2a7787bd11833d695a375725f552dffe42426248ef439d947eb737042df87abf8ea2b00139877bafa8bd2c133ac3c290b7329d5d5ebc63bcb85e0952330a8b5140714a6487e9676b7d75ffca7a2ced5938443f3a3012f16a7edb20be34e58b28bce7caddc21cfff27b7ef733d960a63d765597aac8e2e74cd95f983c4396234a712c70436da0b95cfcc33fc75f0d623526300cf8a08e992397e596d24ee30b719573b1673242dfa790373351f8f523144e92193f6e59ee1dd1d8dbea9d14e44235e240a32b50e33fc13c0d35f6fd13497f597b474d470eee7aeba00a69983e8136f7a46921109574e093840364fc0e5c8df5ecaa3d281f628cd9c98f3a6aec17484bed98fc26f4410d88b6b9ea657604078350c9fb89940d20ea1c72e79186b0528de2c3a5d04259ba857584aa7dce85fdad2a76909497952b3037ed98a84ea7065e4a17ed5161b11895c5d7e17388040e9c07607c50c18fa56abdd44f7b3cf2b12aecf35849a8abb4a486b6330c7d5f5050ccd9cf6aab031ea874e0a17f6ada63deb6ab0dd2675f3b91b82f5dc9f369c755ab4e59e5815051afa135cba7c7f624772002a134445cc5174d7abe651da412e300e796b41ed6a6e526b5e3347fd9e90f3f76a82603a2f2454e22b9cc59c25902ac9c7d3fa27f6dcd5c33ae63ee97fbe8eb3437d1c6184265efeb68ca8201132c0d9ec675a0173a2eda8ae568279bc5bf6321f6b3b9b3e60db495190b23032e4c0961e485bcf20baceb4816c3c00cfe68fb47f6e4cb705587710314e605bdb4cffc844ca618e514ab2ff9e9d88c333ad6956562da0c360df539f467
|
||||
Output = ad277878eee2d9a256573ead742baf0cf7daaf2c9296d2d3a005e99a0862cd05
|
||||
|
||||
# Official test vector 34, seed: "5da2c51b4acf488c8bded5e985cc4702e4a7bcb248b5ac18aaba529f7f9cbf30efa776e99f76d5c1686e94f50fb57dae"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 75461decd34c50d6a094b4a64fb75e5e9479f8f9250d82bb7d729dedeb2d4b65
|
||||
EncodedPublicKey = e3e01a30e302e54960f903cf1f17a9dd3aa31f30453c1a239fc746543ba92646344f06bea9f256e7681a13f17b0e93ab8b5972b611b455380102b766536895a690af28f6461897bc12bb09cf85767cdbba16537618353dbb7155a9a3b6c43a2ace4279ded40c79e36df75cc4498a268d8ba04489c74d18ae7cf85bebd512543859ffb7448153953f138db815c80f596871083801a38bc3d70e8371c75f75294996777ab12c3e239a25990118c6a3a4e64fb1a5976c267dc4f2cb60db0bed2586cf060379dbc9c33a52b8c52ae7048430969c0b0bb506b102e69942329933707aacb9ea7863ac33dc17ba5b706d9a050ed865a27205ce30519ed9e4c3f1c405b03558693855b7baca0f0a4e607ab1df608640cb6e853019b6f1b839b52e1c8170be276d77b9cc0b743db8689fbad0add4f60e6c84c55d3488a435549bf86c23274e0912752e854682e52d3f3bbefdc76c0d93cfb6ba0b8ca33aa61a04bab740b0f95826cb19b83876ec1835222788bf52a844575ac1509fa0517d98470dd585c00b78c1e99129199b177d3b2d96b1919260a004e7ca268a4c8a77ce1115486171ac5a69158aa5c894493d3c9c845a102895939a96e145adb22d5c9a488939240342a5d53c22f80a81b47742c678b396f976d2e79f1108465142b7032b5e4b748d28f10361772798d63ffc06573f373118f97537dc2922a96709ca1d7132be59b6569a746985f881e46415f9792d17b11a96a05f241a6ac5a59ce5dac9266568f3126dfe6a5943f4c3b70630dfb42d7cb2c52c08a7d13902713a8638a51dae34355c78269d5a7b154a012ee02b1ab12443268566c4b1fe47962d380b40e2adf7ea604c94c4df6a8e03763bdd27ba8b6b383dcc6edcd3ae189237bddc6d6ac72cb2f83a13c631c2b2b497061a71137733024421b0ba6c87424f614131aa0490659a43a79f129a32a7713fe04c085eba273dfc7eeb00151fc9ca16b3731c1005bd069ca7d1b3bd166f0b988131875bcb556529792594686707cb454beb8309539449417d759096494250dad1438707c828eaaa58700bfe4859a1f3bc5eb075bc91c875c147a928ed5c0ef09a91063098a2c9b99814fa507b362d3ca017f991e276ce
|
||||
Ciphertext = b478fab62b510ee0a762a123c60e2bbfa1dc11b5158aeb085bf7d69889b567915a73638f695a4dc5d9f9fdacdafbcfefdccf86fbb5e1c052904d2ad9730e7f5b8e98f92b05ce691a888a268b0f3157b334397383f978f2c5bf0a754a3c327447af322902c5e6e308751f39ff19c30dc67417b5e411681500d960977b4dfb36865a87fc113534da60cd61918b2ee36f8314cfa8385b746a97c2f5b7eee72b79df85e9d8959f9d2c50bc34f966ced319bbeece584b99a2d42161b67307008093b36f82a93ce2010604967d676c083c64c9af1cb8b938ec59c93a10c7c4a726342b94b412597fe31c886eedf6f36610fe1a793c8a0ea7673f9065d1dd99e231f51650342c916eb17584e1908d870b62a0547eb392b4e8802b6590c1204bc04c51dccebb87aa69abe8c5ecd2a805ec605e0cbf0d87c1575f92df92a1ff22a75fd3bd5fc3a51aeffb6a592e2245da1dab01323082b3f4a124fc93b610e83f35b80817acdfd5c48cfe4d0124d61a0cc7986ded4cb052c1cf581aee910fbb33d66fe9c3c216d1ef6deb8e0b9f76a8b872d9bb738ac46bebec26e470ca08e8e173014f06a3d578127ab26dfb73a045cc81100bc47223306197805a9a0e17ccceb988b741c0dfaadee0463d57f0bfd8d51a3a87eee84d0dd602b49d43b6fb58b6132ed226f11dd2dcd3527841d979e4df2702fe42a0314f7748a95c71fb85457e8b171503231a7cbec31f053f884f11c0631957ffe09b9de24d1f94ac09bbb3d169658c393d186308f73e63fd83e480d83dcc8d8c2d23069ac7787127137c5256378f6c98b60195b32e926bcfb4a02068f01d04b859f54b182d4d8300ea707f0379c941bbdcb7477b10edbfb6388373f8962158e580ae920ce1b1985d588c11404fcbf9ab367c2d37e921a0d40d3ce524942d511921984933fe5ff427a3f5c7c97c985570a7bc920ba29251ea707434928d2c2c2494b6ad2d4af7b29e3048049bf752118baf1a304e3cc0ae0716f475391967b1b73c8847eb1b8c4250d4488dbd52e7f082a9076753b6091825e0c7329707b741d4b5212a7384125715e708831164f40535
|
||||
Output = c4be00089dae8cc78187a857fc05261b08cdb75b113ec2e9b295818e00a5b0f8
|
||||
|
||||
# Official test vector 35, seed: "4d2239e84b052109a78dbab6d80c51a86d38248105970476b74a0b78b9cfab6283e30d5a406fae1c7f54f8bae1110ee4"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 2607dcf4fd6ca1c614c21b5e37c24981c32b91c8c3e6955777da8a3f5d9c9335
|
||||
EncodedPublicKey = d1a2ccc2e6050154815bd729fd5843bd61c411e4beb3f36dbac03e1f1618ae179946d39f3a5107a13204a859a0e22c4df8dac0eb8a989aac1082a156d5d990718a2a53a8185b868cd173ac0bcc6f2c856a4f5c5a27961f4a13960192be1bb3a6b4a74fb8200ea65714c63179c229a3a77a4887b70b2699c7d8da86f7914f0050c04e8329d506281fdac58af2ab164622d1b9acb45b1a0ed938d8048bda2392eca87f9eb8209fa7b10d86c652fb6677e2444ec0a8263cb6a78084b11b29d83998bef475a6e8038fd708899178eae731e943add65619f1131002dc678684090d8028a7f89e02126573a710876c1e9ccca3bd54a9f7b60c38c594a622b7bddb48fa8bb1fc74837350381f28c95e2b2687b032bb93ca40b7710a9742bf739dd281537d820f6500494895233f56203c05384fe5bbcdc271c6d14526a987e3029eb9a44bd8095f10272cf4372e1df1c537d9918e4109f0e860f0b83843a81ac4ac539fd292e9d60d596b9b5c246683154d42a4523c7cc811b16fd2a98905ab868cc8aa78b05dafd32a1b9226c7b809bd7698a3d55d008643544b693de10ccd7329d8d095b912bbe6a7b684f1330e476df2d8207cd0492a992d2e4a6fd9ea8b40d6949ab1005e84bc813502024a99c8b5719f170532ac8f68c2ae11d78c5691c934d1b178ecb24f376c0c314a0fc8ad0f67cfbb3b8abe360ef4b7c275e31f8dd176be216589d73187ebca0d298602fb3015a1114f79a56095073c28c3e8fc41cf440f89c372a675ba23e1c9d641287aa99fe620311fc9a72abb47f26c1b2842b3fa6a6763aac5461335b5b9284927bcb39206183697fcf57309b3b43fc81f02428b9f748eae9cb5695791ce7b9752a4798f84544335c8eb64902ca7c6c1e76e3f34342c304f56819cdd21a9f5395176ebb11209a52b22c9ecf58f54578324ea9a82e644855525ee7997ef18658ea3ba1318b18b932f6187acd2dab3643ac4b9d20574e48ab7f63531f65cf53194ffcc3a210642a203899f83735c10bd04db869ecbba52e598f6a28e27b89576b023919540502a7420ba7b00e3ab2c16362625b6b375ca32d000c55468d904b9e1532da02f107851a465fc8e3b43662c4e0141ea13104d
|
||||
Ciphertext = fbbddd61d4ef9311fe304e718fc432d5b6c372195310d10c15716d26f259f711e7da1a3bc734375e1c38b8ba876025914be8eda02d75be4038dacdc965e75f95dae15824f008b4c3db87714437418a56c6948160d89b6f055fe0a6dde40fc13db31fb4a9d2c758a33df4414536ce3e6207665352f353a58a0a79aff99fcb6952e4eaf34103e2459ce5cb21b394066bba1dc21bd1b5ca8a59cc965e8906c59a01b61461cbd0cdd5985871cf57c5dc682ed016b5cc8cd92e816586c3bae7aff3b9ddf9fe10871288a718e9ee4a6d16f87511a5b90bfe311107aad95040fbb3fa2a19118a206b47984ee972c2d52adeb393e38e45ceb52efc42f7575bed9d72b3248f81c100f75a3303819e5da6cdc7044a435b8d0ef1c7472e39025b0b6d565e7f587cb3d2cba80edaec3837e09578a0d7a43051a2ac56a9494bd13b0f4d7b869b979e8b1ceaac984f0dc01baf22bb8f6dbaceb03b5dca4927b03b057584436ad816519d3a8ac51c8c2f758ccfa3e6a70e59c1aa3497b0883026de2fd298e58794bbc1c88e982a03156c228520e4f667113d712c7764b203d2f069ada9724c1f7c0ce3c17bc98014cdc9ceeaacb2300ef5dd12b356b8501134030e83a0cde503b7b076a49f6d2d2d03bd871dc25207f87442de8ad4865ec243bf698d10c493dd74c6ef618598fc1a85ee51fef76d85becc9fd16b4d64bcc79679baee8d9de5cd07020c59ca37a1a7c9a78751882dc6c2e00353c9d6bb57729bd7528efe1c3d783bccad2e117f03e67b2d9209e8026357ac54a4c93e718ae61030465b177052e935a608fd13edf7b9b83178b677c290217cc0811e97daa8bcfc4242923b225a257fc68dc51a4d5aa589f81ab61071ec12dbc4e7fe4df969bd5d34c95682933e1f9341680eda9bf64f6dac7c11983e21bc8a40a3edcce2f1276f2d5fd24bd5ba309c5a873e14d83497953aa88675b4509c19186cef6bf9e547d81f189373c0b3c00625a4dd6af9f7b457a81da49f7731708f2e7fe1f6080e6538963129cd72d3fccca134b357a3dd91b16aa60dfec2467d94be76f9c3691a5a9e41e0528fa4a74b9a
|
||||
Output = f4413efa8dba4bf3b8da9cfa4f3ff3d7bae540c7f242a377a1f9a783f7b69542
|
||||
|
||||
# Official test vector 36, seed: "ee762f5c9021c36446706a88ef16312f4a12c725cd7afff1484337c91eda8e89f7007f3705747d29907b3fb7500e5074"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 38c89bbe7145c29e9a831c11431eb9929cb24fb4992db20737e4687d397fd732
|
||||
EncodedPublicKey = f5765ca4682833c5688d7a598bfa85dc5b47399c41a1764b14a1a3a04b913307802c2a8c0f9a3f9280317c657b3ed8772ba12a8c766a935a62a743091474a15cd257609b7c0bc94c5b5290d80c472383cfd00a92476a0e7341a54743635a3c703d4764a75612aaf9c37a164b8f8a8c14eccfec5b5281c149a1a362724828083860b7b10c38426b72c994f836506861429d3a6a95ab52a033adbafc59316961bee102c98ca069d25089d61551a98890e3bb26767a574cb1cbe800231aa9a264ad746c51587b2176a46b3112249e1c676368c704dc61be48a33d57a7282bb2234ac53ca95dadd30934053bc80b22b820a2db481c99128bc273a1ef31b4079311cb484e5efb1e2ca906dbd3732fa297805a4eef315a1be42e60e843aaba9e63c60857a4736faa0be817cae2a0c76c05cfc1f9209e2c88a08828e572a4dd6c09a0d57373c6c48d1c74e24b92b891aa8194b7c65b4d09e681d6e4ceff720217a905fdd0ba54c87063b72252838501a37ecf72c7f9c5b794830c44772b0e272d039a9c52c5272360cef038b35fe29b1d8643658b4e70699f3df2697c2a6220e11af4008a304a50b4bb66e2684b49db261fd749fbc937a3233db999c3ee404e7202cec0f58899bc4dcd2c3768c541dfbbb91fc94aa033a59bb7151a83707ae4aee3e98819277381123404f555fd012f5fd472a1e5ab6ce33ce8e52ac3f8a7a049407702202aa9a5035779d6e02e667202afd2a5e962173b469e2028cb6723ae986109f452727e851713bbc2b444b0e976a72bcc85e134cdb1d77cfe4032bc51364cfc308611721396293a73b3324c31cd16705ac77e12d36c43eb42de833fc097a10b8a8acb804de6203a0e532dd7f6697cc87d30a88e76b41482a60d38c91d775c66c9e6bf81b93353446b11840ef5801a11709eb4e58859831f29f4cad9c7785b210d53b8a7dafa17f49727c064160b075b09f83e405b7070d37df2840e91a577e05827e41433f3d64a7e19345a8c73e2db01bb662948a4a97c83bba4e700bad26cc5f0365c251df5aa62eb31558baa95513a64afa56d285b496aeb31f4db94efaa66d3e3ed69ae4b198cc143be5c3678d9339bbe888ae946b58a4666cb26d3841dbd
|
||||
Ciphertext = 8a9537b3bd3c47832e71720814cdbf70d51604d0ccce33706a8d7e3c4020c10c588e220929c13c0651841211319bff64b355de9bd4034032917a5664310a3cc4fcfb9697a41523afaadd76d07dbef01955e0bc0db35dcde975692e78fdd841306aa0bace44280a2a702704d3210fda2c385955d613764c3663031fba821527e605ec688cc34430c7ce8a0dc3d1b9e52613b24b4c62ed15989a63ac1fd7225e2102e2e75000092b5dc503e98d8fb7f5513edd5d50b251a63cde805524e5e2f77b751c915fdb3ab139684d4a2bfbe1b00867624fec1ba12144c2eb495b003ec60413a4ba772e0d2beee8414b54d79c00e2d8ed2eed7f60ff53e3ee581ba1474a7b5c7bf04227842663825dc77b429d3712c5fbbe00daaee7abb45f81df5c7f574a35bad3da5c1b3f4725cc895735a2f31501011edeaf2e6838fc7e1fd167d880b663e0360f56b16753c8b9c3b0997d67d500b75c53efef0ad7c9c536fd3545b7378cd320f8d75a352bb9bd17c7e34113f9809b5fe17d6c7f7a5c0e48a0d3c2c5804365c97f3b07b7f3aa1ab99a8e050c1d577b346fe7ce9f45fe45cf80cd8ca32666d2a5037e1a7e7f317fd57bfacc53d69c581225cd125d6a1da68e864411bc9567845ab3fc116799cfb0d25aaeb91a9012695862e1363cc48e1b63149787dee361dbd48f2f521909efbc3eeadc0d25e2e74123300d8d282d277aaf6387c93f4bef2b3bde4f55792ef1e4e36e6892af30acf99a17145d61edc548bff8b2a35b1e37d4cc3b669253d75267d2b3675c7ab55c77747fb6077d668334cb1e0cb2fdf0c0356ebbea4ec77f6b2cccbab13b03125458f24d56f7f4c89874544c236e488faf9b48e1cda8ebf2b940c9c957c272e57e02de00e7be024824279977c98e07e6ca6f7bdd33d017abc0d0ba26b17b5be3dba4010881d849bf2f2b4722afeff84e401e8301fd245ca095d52203f2f2f227b90d51b284006f16dd66e4d2532bc9f66f331f75724f312610247b6e3d88320259371f3d6b78ac64c8e20829c955945e933a8e42b5296c5b64363fce18cf87f33048bd4edc4d6bea132d3bc5f08ebe63
|
||||
Output = 1ee5706ff92d964b406807e97547072b0108466d36d2ccd7107121ff5e8e5d56
|
||||
|
||||
# Official test vector 37, seed: "d882ba69ac8bbc88715f1c6387531f53273a5dab87e66faa8221a7f628d2bdeee1cbc59c0e08d0add84520a3a70c1389"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = b2c35e33c72d90182791f0e12a0324f5b216efcab2c8da1bee025dfbe13f4152
|
||||
EncodedPublicKey = 0c44207d2b1dc07c6889f972630cb59ef8aaa1f66b9b69afd049b4f5b318b8041e21a452960960d00192ed859724759f0cd93807b78ff4020dfd78b93a0c83b0ba020b39b1a585a0fe3722bd548a04b61fce032261d8425ed0417a783e385012165285fc2ab3c8d522f456b2534464ac20cb45f3a92d599a198683651c7d241b0a8cd794e1a881196855c84c8ba5f6baae47822f3b1daf7cc232ea0aa203802864418be23e0df4ba79781d72c4514c524575d79e4ee85404e601bde8cd7975c834d08af20435cb8b8e932493b3f9b455755f769cac5b0cc4b264b65d3b7da2f22299660a383306eddb7e1dd391e611bba2a64a0659727ac647a08a9d5c6c9917eb0918fc515a281ab51b4a84376e5f4c2e8b89c5d070a831174127072e7c37388763966b0c32ac620ffd640fc366407fc08edac9a7b0a87cf0739e84cc24b0e0393fa77b73935861b2750ecc0f89f38cb97b68fefa455996a9bf939cfb7101bdb929ddfb380846b9e4837f6f94cb5614ad162c1119c322f91a64d66ac0bc181df9536ad1a91c549a9ffb6c96a1258cceb21c4c726859060de52ba5f96236e6939f09ab969fc7ab68101fab558cf9319da199606ff873921992e9fc6ea53909ac641b75791dc7755022272018373e71c345c8386f371865e5045425bcbae10a155bf1b7c61429c1d4093f55820a79bf6c25a1cee427406a4530904f0235005b246790b9aadedcab69f25c7e17a0ab0c5aaa314ee3555991467c8ad457be07a55ee23d334800eb2428cac04d2f1521d0635c10f977ce3015ce321f4eea1dc496cbd2349de603850b65088f6b558cc70e42027d9c078b9a8a6e5ae8520d986a4b8b61ca171a97830370437bddb88cc7e728d8a5b209121d31b110f8c049ed2b65fc6950e3d74954146a2eb88d11d10bcc78154e25c35fc88fb2645046d6a48208bd60b8115550338d570359008a904583c25223d9b30726505107726aea3217989c27867b673ac401b7f50867f6975135aef32b9583b1ccf6f547f13b6772a87407723d6d5b18ef8bbbc8312011e4ad71a63cd9a921208ccb80c749393564316a970326285e118a4df65b14ec260a133868de1f25a352aa2077ff96662e5a2c8336
|
||||
Ciphertext = cf112546bdb7e97202ed8f52372476c05b617f266059f39ebac770871114e9043adeb0cfb4d3f41f815767f2c24843048d4398bac87785ab9b3e63d745225a327b63f49028a6a54e243529ae0cd0feca703425f40acc7e975476de9ce124098dc4663b8e6292c03dc4207d7e1ca6c2c5fc29c862440b282882b4709359df318a7fba8c6d7de52ca109603e7436ca7f9a06a8f3bcdde0d81dc46a50b7ae8e9286b2b22ef44912018417f6b7e6203b2d440148f6961770d17520866f8cccac96cb39318a5579478b8e46200305d8f3285fbb517b60b1b2ef97898433001ed914ca446b7b44a371b01d3fb9b9c34d18b26f9a3a99881594fbe6a23f02a833287f63365d7a4b74e53bed34eea78003d1692696124bc2e7e2a7b8c118e050a25292d70d6a170d8e7b84f63a8f73f9e7fedb1d31aeb1ad897b50a2b9ae897641c7a95d3cd91c574dd06a704030db3fcc9a931ce3b976f6e4f4ba1e1e07867bb98e32be1aa911add61b3223bad8c260b76aaf5fa51649ac082154bf39715441f5da4ac52f00acdb80fb82b55fbabfdde95d3d7098a0300f716af5862a88a54167c999ab8639a1b304247c5455309ad5dcd4ea7b1fddd7b4cb61d85ed630c6eb2f14e41cacfc4e3fcb4e8736e8ff49f176b2105135133ae03893c2274a6efcb4bc35293be75ec252450c5e6e87e47e3c8962bf95e5a4d6e823bdf2936f27579cab59c5856ffdf5d82b5ed60dd420fdce17cfdaefbdb7d92191439adc69f88382060eafbc970faefd45d18739e0cae99077243b2d09951a4787eb81db46339ed630b5904e08053a5cc72639ed841870c3348c49c3f3223a6b233eb8b2a1ec794e81af9ee0a0f919cffdea9d0ce82582c508d2dfbd2137e87d265b1465024432b84b21ac310fe86e23b660ab8f0418c0ad08ca26ea17bb1577d2de14045efd8d0071836d1136820775f9058261de60cbc0bced00925a7e8d275b338e809a5cf5ab018132c1074eb28271fc54390cc5bcd239e3c99992a770e46176e43a65f53feba1de701a8ab38b7966b07fd603d8113fd4feafd3ca98ac5912480767ba32a2fe39df8b59
|
||||
Output = 7544bba4833759c97bcccda3a5018f3efe76878b89a7e3b622c7ecb84bbc76f7
|
||||
|
||||
# Official test vector 38, seed: "6c3aff39f5d097096d882f24717718c8a702382dc4aaffd7629763fda73c163cf084807bbb0c9f600cd31a7135f48aec"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = afb7d6dc2b7eb6d84acc080c1be63c98afe7b07786b5801f716444a3e8e64800
|
||||
EncodedPublicKey = 290980e3f720be37ac8c847513c3abe543a4b99570d4381005b174ac05522055aca88031c7e3765bb69f7da3a38e928fcff46751ca03cbb5b70c0242cd89b290493cd4521190d1159894233630a803b32c94568e3cb64f110990112947b20b85242c7b93c8b27365c50fcbb112c544377c6c6f0c2ca848778a70487df839d7f8a452c13100e99017058ec86142a9fba54c7c5a00c2bceb8ba783550ff9c205a5a93492d01f62133a3f1c4697c504d211b3078706ccf9a93462a66cd4a484a961d3a384e7804539987823b795d96a2122111a7aac9991f14f75c6beab224e154b8292272223a99a1934a701529b6fb79bd393220bd29629e74bb100c6186c16ff2b7f62ab12f189be1b46af8a2830389ac80a645aa81041c216bbf1a71ca9fc58e1f43294741afec8c11065cad828b14731645f950aace5274c603e63c47b6d385c47e913c61a8b121690df9b9638a69bc650051b3327a4691518507380db2a1a062d1e94730d9808d1632463aba6d818a41ad17061676022f597a33205be396573e69378f6837fc1cf581164241c6952d8689f42b53b332625671c7351c7cc8c95128b11027326f46869d60c12f64470691b8e200529e2c14392815bf13b36694ccc29a415c9fbbf73d4a61fdc060f9467114177a3545ca2918c8faba4931bc38268001e1215ccb9a2238848168c07da90210d31c63feb1723dcc33b7490a22a5143431d2ba79858e40b8615280cd643505a8d8bf855ba9168381726afa95fe25c425f71329ce53cf26a9e5ad34723eaa2f05a74eaa944b26627d8601d3aa2ab03d07f3519916a12444d5bcac6c61a6f518d515b7ddb2b04caf32f71e8a73dd76fbca992bf921323c16dc744b45245aa77e9c915984550558d6ecc8ddfcc2e5f7bc9f96bb921140436900841378b9acbb8e3698390373ace7ccbfb82084da758ab0b342a6484e5208ec9f3061cfca95367938567c744156ada178da46038b9433cfc45039e31427c208861f38565e7649616c28fd8cdd49180de25254b30151b991f705ca32078b95d82003370b5e080b828299e43813dce7a2e642b22ccab6efb85f1d32bf365355817870c1fae083d54213409052b2d5dc399cba92f04e795
|
||||
Ciphertext = 84897e29b7cf71ed89eecf0d8025246cfaf1b153110f7786575f5873a7503d21323f3ecfaef4d7e1e8ce4a110061d3b08b959431725fadad0729f7657809cc4352c9379d901e66837d9f0dab27028ba75035e5f9e28cd9104f313e343ce8c83ee1f87b730bc40aa1620c7488e830472c148ee7f963e9ac2af4903f70db186931f64c48c040fa524d71de468e1366439ac7f09cf50d7a78e317ddd093b2e1d433e81dc18d7e189c3d9d57e547545bd8805f96605bd4a3964c878459e74ab43805e6ba26c5b5c23be1240d7e624b91558dab865e7aa7a67b8f8c6b330f540d30251c8c0b0d0e6b07d1a0e064d1b33e86b4508255eb99ff62a7a8d68b72d041510b3b47779b321ebcab2fae92281ec2f73e3a6af32fa84e85e1f9d6565499d2a2629eb14fd822c4e05be48a130380282ba73301c07488d8acfea110436c043d8dccc8fcfbbe2d0491949a43d360f2f567e0b16830e61fd121331a95e8c024ee388401812397fe52f7d3e57c8a15ecc842362e66add5f1e9eddd61129ef8d54c21cdd7732042ec25e799f5782c369d79cf3c4ef76ceb325aefc51904420d6974eac1b2667b4144d42bf860e0d94fb84cc3db38f47dd2ab6c3bd87a94c4588e35ffb366c3f9db03af0b691481c00406bddaf6b6d57675b049fe8acb3cccbd772e1fbb46980ffa6cdbd9423b3adbe7cab0002b6b5e9a07f43fd9d5be5351197d77478c468078e4fd3244dbc89153e16bf826471e64d3a278140022893f3b08f09f9cebc80f2ad78636b4d316feeb7d78855e1c48a9c6d94f40c974b06987d0dd791c219e98e36e7efd28368c97c95fefbdc90d066d9cded633e5d741cf7274f78a8517c38831d75bb62b0cd1a84e1f7e5870768b21da04af0f354b193445c4b0e5aefcc3d9d70b677ac71f37b11718dc42ce3b50748ba914159bd8bdad2442dfd71feef0712a697eb884722c625bd1aca83783b35f2ba1d6fb5733c545b685466dfc379e8df090a6f051df66471d944177a1e7c6e3e5f55151902602b9763ebfdc9f9a0f56858626d1e1bb0873498662f0ebb6c9082b923d49835f9a637de711295a80
|
||||
Output = 0ba3e280117390015d3872dfdd37a4688dcd8b188ebd4a3d4dde1ddf0216aefe
|
||||
|
||||
# Official test vector 39, seed: "cf520b92a2e3677afd003ec1ec6ef136a709d78f828c9c0dd4946efbd451c5faabfc83ca66f9d3d17ee4220553b7a69f"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 28f5e9dbda122b2cf8f3754fe9e0c73a84ad4b0c093522e0b62cf815d60bbc3c
|
||||
EncodedPublicKey = 32a799305802fb3241cd41a1df49168c953c7bb0ba00a74acecca3c87b5edfa11ee3f3bde02b52df2922e1c0589ef264334024a0d1274f1ca7f150129644b3ff63a0ffb7b490c311101599cc4b7567205e77c69b6a88167ad1445f4693d79c94fc38cf1ca513da307fc37a26c1e548427a6d6df41275a0c2fea14b65c85b76fa0040c20c3ab99f3761964f61253babad9f7bced99c178770264a50aac903684160b144d73f225058c8bc9ee0833f7497735d3c079d48b6d64bc9130345504a48469c3eefb3bcc1b50196b430190697f4eb0819596cb2431efcdc5170049d6ed08ce955a6f91cadcf7c6553099daf4c70b58b27ec6a850eaa6794d9b716e2ac6b54143f5a4b32c5556751af88c5290929a034f4a28f123465a00be41013464c7731f71479211db708cf62965919199eef88b54e7bcdb724850e90aa5b340bfbe0569fd226feec7873405e97d547b8448b9e1172c46474d5e4379ef8bc602c95ed38344a3c5984b71362a75fa5285484c917e18627cf3616220165ebca134173756293b8c4f0576b85b3bad02864e79e44989f56c626c4bb1a52445f6be11772a6846a5b6afbb47f6f18c4b82b13f1847885d5cc8fbc49f025bcb413cebe44a9e4645e31d9611690501a70a6efd4aab5543afb82335c5919ab393d0fe0b13c6a7f3ee54625f6cfbf5a1099a59cd9e46555f95d15b3991b962400b16b62e13d6378517bfca259b899fe563a21ab597d44680c3c0bbdc45e89586bab137d20465e1cc9893c70c7af6573c120a6181590a7798a3f374720c0a387dabd1689b9fa6a5005d0040388bd989a3e8e482860702f737c349e2a76106bb191c3cd4a746f54093a4657cbe5a1084cc14757ec5777ba8032b421af1b5b9826391e10411dc60844c74ac32cbbe3508ca7cc2d38c395056a74f4ecb026740aafd28f75e57f7e323dad7703b2d465acb56aba59065a3c9e921c75816a30bb6baae54b70d96a9a5e31485b3c855d993301fbae8e82af72a9aa0de93f9400cdd3880e81a5292245bf24a41080612506f511f7e884e9904471fc6491c39624868dfae309605024027120dcc782b00e4a20899f92df27d9ce3278971cedbf8491299a33e6fb32d7d69379
|
||||
Ciphertext = 5849a7f5b9f60b0281076f2de032e49173d488051a56c6d263f9965349bf3d77a2dcc298958cdcb3ea1dd93280f1ca9fce7f6d46f297e9773629dd8f1e3d8c19ff743f3f0a147b2a4941b758c953577a2965000dda430725fc0e357206cbe7c75c84a1a6acbd0eb850e48a39d466216b3d9607fe8e15d76cfb8497979d736764d32c4914dcdc7f8008fc47115b2037f0d5025477e8f987daf458481907ebf0d292a9abe94e244b1b2bf70ddd50108ea71685c3fa043b40594521b781950006550c3e12ca7497e55e18ad4d8c21387d1d9f440c68466e1d055b6de8b2a5933a109a72b3673f3c437faf9e080a83ff29dafcca170ac344b90aefaf793a8074ce0b572b1d74ff0aa4613070d297cc4571ad311bf88ffad878f84095824fd0307efbc8a7cf6842ae96e2cf1e576b91772146606166cafd8689e7eb296e507f0221f03a904f9a8d12ed86afdbb45934ee01eda449e7e2c42298d3f1ebe6734cefe9793a441e043ed02cdb82509abd7e8a61a6c178bda248f8a2fe82e042d19098f66db685a3971fce61b806dd471803f7219eee6cfc685e678ac84e91596964f43f896a89976879006d9b6d9c28d03d71738be8fa742e3714a9de3a80197d804a14c3a39669606c0d625c7ee41931112d8f317d14f492611d949b6b55c46a3cf0203f5189c7e50144ff22088890ad9628c6e11cc045cff314829d7259f0a01a28d5078da002643a3c3040779539047ffcc5ed49cf53ce7b26700aa9490707f53b8bffaacc6b934f4f54529512104ec4a0c5ce6c23e6b0e3721401a55c46e563e1b314c07bea13eb13928ffae59f0a9a326401314e802fe16966232488618663348b0841283e984a970da656253dbc9ba692809b2ee577cdd7e776d75319f529ede3974e9c8c0c39d3a23a7d16e9c5cd8639db76204f57357ed3c3389e3194034a57d123806ca41f2d566a5cda2c3c1addbe06e280e69800404efecf8d254fe905ac31d4c8871284cd1031079d944e9b628729c3abb5f17f92f934d3320d578eaaac77f81b2ec8e2defc5f0eca87710060aeae768df64b93113079d88b311e77514f42
|
||||
Output = f02b50d251193fedd23743b33c4a2610adee54b61de0a780ea5247801c86fed4
|
||||
|
||||
# Official test vector 40, seed: "197e5d562de7e01bed4fc597db28dc6efdf0179f3a5bda5f94caa39d67bae730540534d59a7a06c8448f628da8b7859f"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = b0d713cbef0bb1df70cbb425d1e9373e9f7790fdc7980cc96a240dfc53f1e8e2
|
||||
EncodedPublicKey = f1c88a882c62d2e74c3f898d6e94c4451b8f1434b263c5794f6b30b674bcc7b06787474558b68b2571caa3b18700073db1eb08d2ba074debaac8d569e778b11ea61c989a6456f120cf8353f806a65f941c2b7a56cbf15758547634d6b21fc854c33a7f0c281b276ca1a0c1c3a25c9f88498e5a4673f57136b952cfa9a51bcbc68a25b86d123bb1c2eb9403e2357b14a1623c761ed3664345caeb1c5a4dc87674d27d7bd50c8cb5a2c574a939d21b1bd33a9fd1761c8c0e63651234946da61481de2a9f7bca3b79c26c42c68ba67bb66733952d965f815061e749435f664db1863a854056de5343fe122885f3758a144f7cb48f616a88aa1522a3433125c37e5f2ba52b3640d9d78b9a0b5e24a719cc6c71d89c89d38571e0aa2c70c28cc4d12fb1c5625c528b041c8005ab2c3f83852cc0bb08a78c036c8f55b06ac2b3cdb1bc678c5a09cd447fde85177415076cd2bce7312dd605ad0dc87a80db2898c839d4ca2bf84b8b8c270e79108a14b01b865c7049c09d132987643802a8082dc8a39521b449c29616ddc76335ab96978a9296203d0f66acd8109c71767bb27282a15213acb09b3054cd77e1cb03b96775a2c632275b44ccbc73859697a74e7d28451bc7a6b6166441fa0871ea1def29ae81408092c77a480524218c70dd0902fdd57c3bc06538486e33d2a9770529223cbb27837750e3495d500300bc2d024872cb613b27f99b7b370bc4986b58f45ae26a47256039b6245f283262f18067e7e68d12cca7513158b3826f4152a046b54a79a34f6d06ade8972aa5ec8d19f44fc7f3b158c3641139bbc2050a1b830470d32db141c8437248c49b0787253d571c60c405560ab029addb12d4fc8821f316c5f4adb1e672ddd05307f3239ca19d5cec8708e791d6987a2a02771cd27a46f01e1ec10272889cf77279da4bc6aa570303a42a023c189f00c259e8a82b427a58b63e3a340276176d5c74040684ac1d9821fed29d0317a6441aaa25f64458634d79b6498af110110501ac3c0e2e981bf9bc04a384819360cc466c9758cc3af281ab299b5a54fbb2a84a31ed41bde8b2c64b29b882cd964ae023eebf4fced63cc2c46ae89b2d8e1b7d241c00aed0aa7c1ee52781
|
||||
Ciphertext = d670b343f7cb3d6adecbf25fa2a668617207763b3608f02afad1510cceb09ddace24915854a6a97c954533781cd4d4d53880f64ea463a3192873568e6162bf83a94aac7787e4503672c8fc34da581d73f4567bf2c9b36f64697d517af1477c5634c25e12aad620349d8e13dffe6dd05eb186824d4df5f07cd68cd4152e94627bd7cbd146e26776d1a523c7ecfb02ed351a072cd3c8489dd66f3676a948e23849fc0e693234d0a8d9bf7b6373ab788d2e181126eeae887de24201533f6ce8c4204c2435668f0267fc262528bf9d7846235f16ea8ae448b4679505498e209db64a44b9c4a25a90dafd74d32a130170350280aa6892fe0a7a6099a5aa4ed8ae4e90d9e0aba2e6656446a73d63d795c63fe46651a799ae2f70fa035b936b863f64e1814be901328b53c0822e062c1e80c59716d32690e9f9d15be19c4bd37d17f2e026597265674d4604f82281b05bac596e3e8b9c43023c8adebc93bea419855e6a97e568e845c12f63b9212796b26ca4f9735478eb91335b0846c2c18aec8ef800129390865a39e6d158b29b59b991b0f85edc69a74648cec41bd1150e5d964ade73cc02ef04920b2f16de8253fc479a0789087fdbcb5ff3911a3bbbd30198e2ee4b0a474ee4dbf0218462c28b9ca1ee63ea6a08ef26e8fa37521fc36e10169dda18d4170a13e8cdfd6e1859c59ef2d40af8165357d112e51141635fd57944f176660d04f9e42648387b17d5c1f41e0803c7d234d7b4679096b3627d21909a3bcbdc28e52a72af326b82d8a7bbf1c21e839f31c80a4ff83a6f6c44febc6ada3d626c853fd7b0afe4e0f7fe074acd9dc4a9cca7cf7aaae225b4a50199d307ba0334afb56bf5c5efcbc6c6b5e38302c09060a9c56c99bf992fa7e1fa22c864c7b30c2c1a1cf264bffb6e18ae96ebf7a0671c57e79266b11ade3a96e63b8ca0b2c62540e26984d2ad5e351576776c1ff01355c7d6ff62930497992f1e49cdbf2d4d1d8c72b5225042dfe7c693426c58879fc229513f656768a5ebdf20dcd22bfef481fa4a61e46dfa2a7d36c00b263927760131fd9eea12093491f4ef606c062f94fe
|
||||
Output = b8651dbc22b4c050fd45f4d0c035c01fa7f12c7b8670f2f2c204eb7b2081d47e
|
||||
|
||||
# Official test vector 41, seed: "f170583cb451d8a45d105457c02c01a33a40350616ed8515bd49067142f61efb00f07857e4fff3fe11e7164c648c76ed"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 32bdcdb7059fe27f6409901980c080308951ffd90deffa8317b4d213a5f04495
|
||||
EncodedPublicKey = b082452eb84d21e158bcf7652ed82bf2c83498013c711aa1e292290115b9ca1b88ed75913b003e8de4844b8ba6c2c0b5b70c90ea63631c6b7edbab7fe94bbfbe2b7ecf5707cd069e4b27bab8e14c6f0246d875a75d9b8f6d18786f21891009ac9353c4d98839c5f6b30c95bc6a463af7d503b3c97f73d9aa0e882d61c6894765a39fdcc98b37a90c01ae1b815c25635e256b5401e97601bbb099e39cf49bcd2acbce2f031dba15c048377df7d1480e1676e6341a27c60f23b21c80572d8b59528f455cde5737e278b0fc908cd6273e048177f27120973806a0ca08133a9adba099ffc9c0547377a8b159382c3278c43660429c28371732a69600149fa2d196e56a798114b22be225ed584e5064582d42aa8eb934d3576203c68ae1001bb3a26569aabc36bccd7ac3ce81161655e719230911ff99720c110d4e87c5587440f68b3402d42cc518bbb46c0978350b94870ca358c81f8a7ebabc2a1a2a594b2ac4ceb537a1118a5c374502a175ec813a82e3ac5ad30fc8609150817fa7b72dd25732825a1bd3d96665b3b939450329f508c4bb9b7c7564fe315f39607d5c913ef394b1c92c41c582a1c76846f921035d2b9272423411b964c788cca593a41642c7b3440ef8dc0225399a8e04102d5b0ea4d6ce8d6899eefa31d6ea3f2f53713dccb1d5810e4e1143ab765cf37a796adc9c8dec74a20343ffc4a8afc57d9de63243b230f3467934f71613537f29409ea6b22cd5ba7f0619865ff42a6b47984d3bb33cd3a8fbe8234ed1696a28908af4171a937ad1f14fc765c633048f069225f72c9d9cf3c095137555a25d5c80469c8930d3b2126223639f751e51ccbc1222ac4d5855aa2c244833585a36179f504d5f121c569624fc70bd633b3486c90b7a913e114a7dbd8110cc307d82d941a509a038e23ef37574618c783ecc0d6e6b12b0eb8c23d83ea4c4200d0a171bf51459ab299fe753bba28015173b1e6ccaaeac2d9262c8f4c72fac3169feea8f535c41ad610a92bc4023074f0a9885555b6b044cc16ee74a33751d5f0c7e9f166067f13944036a9678c3e1383514d25e8d563d1c88bddf25e17ce69cdbc3e21bf296deeb65a4b3045f3a6a9ca84e8805631c5abe3186
|
||||
Ciphertext = 5cdca6e6d9b17e558fc40469e70f932aef00f3852949fc6f45cae7f491f024a9a32d138a72e12a632e22375120ffd6a6320f0de74da29530af4ddfccffd90cc9632dd7b3bfc0b56b53123cde6acaf4034ce9f237c7db2042bc5c91f8b136e56dd2df100bda93de1ae81055ffd8c16224647338389d40818268e223b921dc3db443ef6ea801f0679215b99628b1f2b81231065faadf443a86949187c70e6c305058163bbb50d4440910303a3c1bbca75ef4f25b5080f141593694ee85110a7f95fe814b0c0abeeedeff1290a8bbcaca99c931aaa4141f10e6ea96ac155cc950e79fabe64c81e49dc478c5a1072fb1f8005f3ae86673a65c2522eb904448166c2389d4580a3e13468fe3b8a7be4dae3cb7b4edcbad505a6296d58d7e377c54394836b5237c941c28b50e995ae7a8bd99cc718a5128c5cda469b14c3bb8bcf41d734805bccda9797618eb2c6c549250b571def4767024950093e7507c45de3aceaabd070689fce48a804502b8e3ea4b5ae4b7fb8b92a4025353fe29fdeaa55497e1b7d8ba2ec18cef7dda3a2651c5ddd16e442d3ec72ac97dd488159b415a4c80077d2a95dc56d0ecbf73ddfc9a64d26445320b9bdd3ba110e8d3051c34d85e22061829001de49f1eecea0aaa6ebef5a3809c06ed4393dc052df762b0081eca82d3428430b5162bf461f7db8287c2baac25af9e28692c24501e52cb9230ee060753996f66c80835c39341db61780daed5bc08ee5f54b6c078bd21fb3d517bf3d572a9d1faefd6f2029ddb6ffcedecffafaaef86e13d49727c0ab11a7a7201e8023906677ceb2ea8801f48401f40612f5d4b18bd17ae98f13a336f4bf1d2cd3f2ca37966370e15d1c73c9e5b02648fd988bdb5649e6593977c8634531cc1c45f3a6627420e96e7b9110c9cb3f28a78c182355f47d9d77708ae3dec94a70221e5638d52f2f67b14710b11e95b7cc06277ef1c17aa8bf99aa63aa448f9ebc9e2970a07187222b2ee855e671c12f271d85ec834f5f9d7904d2f791f396d914f1a7bf35a8aacbab764aba562e17db0610181b1d2bc1eca94b90dc8ae0ea1e279fe50c612
|
||||
Output = ad703d0bd4448d8ccd0f1816e024e7bbae4c26017c5b93db0d2a0ee090f8ee7e
|
||||
|
||||
# Official test vector 42, seed: "44a6774b2cac02dff210ff861a090561a453db311f47b6fedb81811872d5d9489f5fc4103010139ae53fcaed209dc9be"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 4ed7c92d83bd03b2a25b567f17ae55542e2f6a4308ec0f3fe69f8ba5ae24331b
|
||||
EncodedPublicKey = 086980250305d5baace768780ef44dfc520b2ad2884537b70866106bcb40d3032f8907bcfdb03cf593a30e97948154b5a008346442cffda0b730837950d50e9c89c06cf82b17a1434d092ea4397d49754704a2639640284762b6205001267b03bd2929a3065fdcf953cf963db2988eaba862b8060e76c7981afb6b723910bef478fac0cea9aca70aeb6f0b1aba81f84281f0462703453de00a8e986f72226690c6bbb47c7540b2cd3e184daf908b78cbaa96f76291134ac691b8c125a79b621e0d89c446a24afb5928ea90c916b14ed567a05ab7ab00059a4010ad0c95908b46b4efeaa64db3ac3806ad690ac17254bfe214c6c43a49e407ceca84780926c23c9ccd5201cb04d3b7f151be4335301e541189c791ae701180c1492266c8903c75bff93c4420502cfb2e2148a73d222c35097464e30387538009943483e3c940d4724e9b2222f2af1521cc37f9285316bb65805fb3a4c5dbcc1641518aeab732ac818a0ab510330b53af41a2bc665d714755859748c19a65ab193706c67f2cfba079699aa4a2c1dab96ccd33b358c29d21209462802da30bc032e67b4ed214e5c732f46a6082f94525ca3a192a6d9ef688beeb5eee884e383b8b34833aeb38526b27448eb400e5a565cfe09db3950b4025bdcd375c3ae0354bf40985ab97060bbc26a4b46f49bed0f7c8e3d6c64d0068cbc0b06c407b58aa0841e1753b6caa7c9881e10b3f39f37f727468026c9e01e991151175367604493217c4c94926d34619a99d710b0b9717431e394be697a4f7567ed6ac353f712b351281eff90342453c9ba746bfb77eae6a69da431a6d31572513ba4766408c133188f43cb35c45804a511a8245df002165d5c1bbf59749d5ce524655a29bb3d1215089c52f8f8bb7de4cc585635436ea670cfc66d4f939f4c2b1ede32fb4c86825b982439656b14b18bd150458d6a7fb0280d2f32fec716af0f84f4b064301b807cf1898e5119feebc98a5bb924c1997ad19239251a752e1a448ab0a039ca9ffa0a3e7b9a46f21ab24911f9090090df6a322795d5d99706c6a9bfe717ccfdb7c978178674a355a1b970dc940ac10148153455bd3f5ba4d7e51501b921fb3ebaa74b4963d80cfc36f64
|
||||
Ciphertext = ae1f027a5c202229e1390d5828075456c32d4d2150a921d3f74ceedbd6ff1d312a3d198de5c70c7183e3c6ee8335b6c9ff17b736e0e8cc8391a5f4bf28694ebaf6048b08e0f250e2170c0df2705267be31ff34d0e4fa33b45671fb39c5a588fdeb9b4ddb4d851d813a036ee2013917829808487f907dbf986b4b402bf20a08fefcaea5f3df064728050a99a379f5429491a787c8f49f470dce5e84018ecddbb8dbe36dfc9eb6613b885b38127e4c5e387072f0a3efd46f39559fc56e9d7af3bb6cac708e414cd59d40fbf6305ab4a55808d12b347571ed55ce1962d288f1a35dfa0bab72c4366c49f8ad91483595b7ee7bf2e61477769422c6fd728691675682c1b874c942eb7aefb55f57ae126b4f76b4808a4595d72ec43fabc720032a2289bd786fb71985f28ea782da14a3c8f3e935617d5bb1dc6cf2a3d46940e2c33c5f04eeb56e9c698bb8f47499d0ad6d75b72ee44bdc33767fda82eddcf36eb2fbaf41ad13f25c54a83b1d8ba36261eba1aea0952390c5fadb413f491c432f65d171aaaf5fc0452ae68334c9ebaa73e737f8be3ca517801eff8aa022a58387f4c956ae297cfb0ca46aa46262fe3aed57887f872d03c8f7c203b157ce9218dfcdbdcfcada99455be74c3b9c28936db6844f85ae84d7d24806227e93e89ea942c85fbcbc9072adf9cd507ad90abe29f0c4a8274e6675d62d2534f695c9d4ab93bcab7f425f19f2342c980ec47d63c241507e62c9ac2300d0ac10725402a3af857a5cf6e977ca2a7a360c3e3ad43712b69252efa947c26b43f0bf544edcc7978e075b626c412e536254685ea3fc5b2b1b7d275da16af3273b4da05bff8e852edf54dfa9f05d5dafceeadf0613613f7eb81532916992343918f95fcd562d7ac21f1d0d9109abbc8e4311362ae68dc4deebbc684f1e7919429a7da102b4d1edd397b9c7584af1ec7d2fc58c3204774dc2b1323a3c2fd13d036892a27559a142519651997a4da8efd6a898ca0bc8cc9428b0f36a00af20218fc73de9b2f6dc9541e5a176fa58dd43eb2e3464f1f5d760dee9f7b14eda091d0e699579f92c29159c88b9125d
|
||||
Output = be5ef071211ee9026f0a2ca4d34a71b516ddadeca881f32705cd85e19d80b233
|
||||
|
||||
# Official test vector 43, seed: "49e1855588b6235df2a400c4a70aedf8ab17b6e5e2891aa745f132fa2e7ab0c8117c1df37c39f5d57624eb77c2b4a091"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 060ea5d2ed1dd88144a9885e79278590821c22917b55a48920f96b53ebe0e689
|
||||
EncodedPublicKey = 85467ea9081e6e937c65c817ccf06f3c556c28cc11c5223d1c341d749b69b812cdc1895a5a294968009e34509922a3c5e52a5279379a146a05ea534616b403420ca8bfa2508836ad9466678af38059f67f9373713ef3602fb9a195f2b7e58048c0235f87a1cccff562ea8c26472aad6cb61a9a192d26a1aa700540f3e2133ff4a23c09bdedcb2296c01fd0a5c2387b75eb97515bd4229ec79975c3463848237d6580634c1c2f894fce754d690856e247a7f446bfba722c39013277a3b379445c674252bb2c41d403bb79006af420bbe7280fff8cb479a01887f3b41ba2add6c863b2598cbd522d322b37850a0587172435b7c3cf33537970063ca322622a99e798cd48c390d1d5c20698aaf04874427b1ff2a20fc27828328a2f3ec7448e9b63eb715884b93f38fca6fba056b466ba02c2945d771cdde115dff8b9f9544a0cd1670f7891dfd384747c4c64b655ade6bd493c3572fc5ff7bc724db7052fea39b8c7c0a5660b1d45c0ce3709bb1133faf773b0d8571987a5476191cc54909746c4e7311061852ebe60b8bb959829b02f56412df4d11260b349a4ec6338d049c84558983718c8f17f0d093ac5a23076d67787a5344b950da059ab3ef3cc818cc0f1c10284f4488d553a51843e921c373a3a8ff72858eb345536a56638e1bf8395b744c3c5031b29d7519b39b63087423f154668d5c3a758d4b515f82ea3ab7a32f4702a08612226890533ab1d857ccd0b561f50b9d70983c671982678683124977d41878e21325b5c7b7f07cb4388b4aab713c19359a9995565670e8f14516a97c5a7d37c2d199bb5f14e4329a55fbc1ebcfac4cee1bbabc968199275b23517b8f0ac253b248259bcdc62aaf1526580510db5e1332dca3dfb9cc8d7b3b90d32c25e80647ba98c6c3c88e0d66e9dcb2bba0cae59a567cb3aa83f2bac9fd70b6bc77070004020e3920881b6d6e14482698d31400d88a002bbd051f252c315da158e77cc9799893445c734f6b4abb2bbee31b8d0da9879800758c1112e98cef96a16e7984390d62811282f4d4923a4e164d85a7f37d35ec7dc823e6b725dcb3f32122266edd9b17f20f8db3eb07bc965f404b203a8f072004bed3cf49d8ec8f4061384
|
||||
Ciphertext = ac619037a4f7bd4a3977d7f58bbb14aa3bfe977d9e39a963e27722c9d714d332445f8286b464026eddd0117f6f48db730683dc0b6141f9dfd5a99e6035beaee0c4717d3a800c99877023142a3b6d3989e4911e037b557840dc1aaac1bce787c18d76993c27e5f0daf549563772dd702de5647d72ea7cf70dc737a6f6436459251529a39378e7dd08ad9600e71b282880fa1077815cbfacc56af67fe0685cdef4cf859125d96e81ac8cbf1ba78093e9e89e640b8b01ed74ae2b06ce0c933dc5473430f89fb01f4c078449cfb6b07d01a7b338fe9d0fff262040dcae5a872a5c9b859b103dadad4199f4021794bc591a6c7094c35e4bec96ab58acde32cc9854543bab5a68599edd27941eb98f1a301083ddd2a4f65566f32e439ffbf8c7f3c6bace7a7ff6669ae17d47612ca8bc3c6b6ef704e86cd89d7dbbd9a3433d63ae3d5220a2688b7f07f6fb8805f18ab2360b9a9b057e46a37692d3cb272eda31fb6a79e5c10ba01cf276471ef7c242d5b9704090fa51dcbebf3436ab4404b2f0cdd44a3c41c109006bf013de2997dbc2c04415d4b2089d7376bf49cdb48eb500baa47357b571c412ced9ae0fbe33eaa04b3e15b52069517a245cc9b67fc09a8091fdba4f787e0b3178d46a141ccc1953e68556902f36ee32a0162b449afa336a6bd4232a261bab1ac288019bf072d8befe02b292126e10a68a576f2fb9658a1c4a6804e5e206770a5a9c0a4f8bb29feaf2e893256f0756626748eac3a05cd2a7b2730d91f64409903b6a4163aea998e52705fa2cca9d7d8221f771e20fa2358094618e200b63d65ab82a94913c214a49cd52aabcda891f98617591cb64976f520b8128e2e068370ce096f9d20b0da867ee2e30fb186d0351c6c17321a68b33dbfcd643817186b9ec5d678d0c2a37e46feca6ded502dca546e5048d960d1c9038852389762cf130f923c11da63723698e02c89bd7eb8e8f26c3d6ec9784d187574b79049dfade50147f6c0efb91c6bf87e1fa52ec4a5e036f4fde7064e9b0d9753e97d9e094ad72e27eb0ea2c67d5ba0f3687cc67597273fa573bb00288cd846e7a2d92
|
||||
Output = 69cfa5c666c6cbdc6eec7ef004a6b4464ea6b11126aa209142ca28a97cd5505a
|
||||
|
||||
# Official test vector 44, seed: "df0e41d2f6f86c1f79d31fd5878e7ab434fc0af3a0d5f47d2ab3fef31a42bd949b0e3629df9f575befbb62e829e51dae"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 10ef9426f8c4a13b52325c5bb4ead4596ecf2c6b5bd2d37d8350e90d4164fdd9
|
||||
EncodedPublicKey = 4f009bbeda4bd3b073a71b3f1a2c1d0923bbc6ac1b3210ab79a3585dd53bb023272d57b454b91b7561a4ec179a0213ca3b1471ac8470036aa17df24cdb02136f057ce32c3cf3cc49d6e946c6fb099c14cdbbf99c36c96c7f296658bcc6c18713c3eb97f823c5c04112637446a18b9d22a59089a910236cc67febbb9260a6be03bde9c0a936e4b935620c45971196f6281e842d2ac1babd6b80340a71de5035ca89c915da186e612c9b7108178603e447969ce41535015c72525a5bb71b4385232188955c009449801d5da97ea759958dc830dae5341802a382e8c3095201f1278a09342cbd9b55dbd561479a7fb08480fdc526ffca1ee5b8535225894fc439278b1452e33291a07229e341446206e8a71fc7b67a18f1abbe563d21bb5523fa544e899719a7541efa3cd3936bf552262a7508e134b39d824fc5ac63bc282f648119b0b02bbb9b266e9723d29c0f88ac190881bb20a32c0b0154f0f6cbb2724e7117301dc2a5632888195ac0b84264825c51ef509ddf52b422a9639722364c67b5e7887d5a4837daa18dff29486c4a0dc4d7cc23e8cd82a443b5eb17ae402068e254531c5ab812012ac1b6933bc938735c6ba6475f1212c2d032bc612d63d26bf31046d415a07bb52b76f48fa81b7510b597d043c58554a49d9c3671b55c72e67e46632f46bc1903436261c637bd99ba617bb2c39b8c163ab70734c950bc8b2118ae5ee54a07eb6464c84265210d316ba04c282698f68d7bd30362231b6f754086851ad8d96401eca50a37b45da05d00c56cee13af0c91713ab72d5595b70bd53ddea2cc88d5304f69ce0058a365f11875cc0c209827bca16be7c06e05185d71936e49a81e82f489ccb232d5fc8ed19163cc414db5428120e47d0eb503294b4ade14c82ee78800e07e8b141abbab103a35a249d151be6a5834437303130cb45200962845c1bb7b20695dbd3c92b367843ec07b4ad6584c3662a2b77539177e3de90d6a87bd7b6957b735cc5e8b649c180c168683ca892cd2e87603362e9da565ee28322afb87bb1038bc2838dd294343c4a45021afa3c77b06dc5fc0962395908578bf277dccb87007d8f15e968c51b8e2e376949c67bef85cc8d66529e2f6f48b
|
||||
Ciphertext = fd54939f4545b5421ca1c841173ac63f2b3f2a2b587f79b6f81d10d3a5c42a154bfdcfdd2bf0a361c723de6f428d33ff30dc3ae83c84e0424b9faca382d0840c07c8756070374603861e5e4316c225845e7572f6cd312e29fe752554faa7198ef3be0ff42c1697a8d1fe2ed2e508cab19d64b93c796343e799c3324f1547ec1dd73b5693e480003de1258f1ff706d77b348382d8dc37486d032be7f051f95860909ddcf30def3f4388156a8a67c7711cbf051ef6bfaed946515fdcee3a07969907a2ba6150d8b5da2b0919ddf574021515bd15c0273e5d7ae1b48db90ff4124d9c94fd0c6b93a9d02595f570328b6bbbe6456b13b9aee7d23a6e86df751ac8e8f694e2381671b8e9e3d4ab333500ac0b52a8df81e176e655515f6bc3046b090b4fe7c04bf8ef41dacb1aad94705f6623c99069a3053af052547fd29893f3a76934e662b955126e0851543347d6871a934005f7108cb7e5e50cf97e633728706e8a9fbca3e7fb0c207fa6d0c2d4cfd210654e47a9c8a94f7babba92fbafde95dd9af18b6de411c3c5e380c162af2a6d1e37faf3378afee3794450e6f008cd31c76c310317bd2b3eb18620adf1cf926f28af03d8264d4e20737cce25655d4046e641bb6633747f7c131ca5f0bd4a79244e436acdcc1dccd39c4caa2fc0b475fae94cd2d3e61ac83f6dfbeeaa123383a0078742ec5f7a766e86a1aa57683284536911f4ab13f56e8089df9faf9aeb064c27ea3c89b07035ac426d986d979164969c2aa6004bc8d5160c52cc89a792b13813968506c5294d4e085032a8be70470e06aecdb5d3a9b85b67f519bffcd41cdfb2bb9a2a670f940dfc4be5364d987c2535492d5a3d8d5340ac9faf49c4b64ffd939d3934b6b259b3235556785435b75de3b113654162ce2a2a0fff3e38a18240f67f26f8a6ec7c8b24dc45177175ad0058011a1f95ea6a39e626137cf7cd20e701213a67899bafb6928aa3841581e8499520b1c19cea69e1ff1c83520e1e0484030905f36de5723a1080cf37be40063360a431a567a40f9f71417730df49f23e0b4cc6c57ef335436a96195e6dbddc3734
|
||||
Output = 50660c9d4acfca69b77b3d43fbce809ffef94de6b046b4c9eb0e09b7ee0fb924
|
||||
|
||||
# Official test vector 45, seed: "d3c9ebba6eb03ccb5c9b9d2c8d7f0cfbbf50841e24396cddf0e56525b38918c2fbe6c34cc1b93f7bcd4f4d5777e1a488"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = a4bd30a64cbf29a4e290fa1cc1dfb99e68348713041e4409a1af23c5d80c15c4
|
||||
EncodedPublicKey = 89076387fcabd0405073109c0c45bab69c2e8154c02c0a3b524c213805ccdb837cfde3c262837c9ca4ba17c24e7f649e9909274d41ca4231c2190275cae42b67f539d2050effa088e70c4b05dab348138d24014583900d7e9952f6fb6a48906594024e2226c79f8b14cb6078378b9b35122d6f26431dec265b05bcaf49217db88231342cfa240815b87074f952f89c5a5a22528ecb7c023714dafa0ac771c0fdc389a7f065e07b5f78ac1f0315a89167c0f78c3acbe66ef06ac31d3ac71e1c665f13ae8e24985c917ce9426910504a70fc38edb10c0046b23b153cafaa39eb616de9089b69b856c65020194ac4ceb3ac509ba2e89569008645bb75b61fa926ae22252644466c236d14a38da6537f88c3b1ad962c06d11753e74cdebb1f8cdacdc3291156a37f7c91c518c2a60f53005489b8297a86fd08d08ef848963bad314b47d45c225a47832b2ace01238459261360f54aa4e6914ac85f00156ca4642ab3056f22d2c73c44a511c44093016fde7b4c83211614193baf0546a2948752819059e33f686b6ab519a749d8394bc992116453fae214660b6a16a776996b6d959880be5917c3e5b71b6608c1d711e9888577eb95d74377a1430b85219e4f46c4e41696e4a306c220a55cd99c2825ba3c621d3df09ccb7b148d92b8dcc4bb330439ccac33aaa18fa23c4f9eda4917c3026a3085e3a72be62a0fa73452142c26ddd78a7d13c54ca0c81e9453ee73a8a7a28e7605be25699575e94b5076ba9adb33da052407d07b3f602da8e98a56ec843c54c27bd8a6d99240a871a4751ccd54cb37681127efaa8050e5bca4965b6bf88e85f8283190160204738e3c38ee00be96bc6de5931adfe69221d7585c5a2cc46a308e321e8c6baf753c33ea3a9bd3620341c70e4911b639ba02a9e552965b24b70c0d67631c73370de52b09e49835210783ca9b4614e2859819a8e333553a498c321bbf337091b9b579ce0b50acc100bd18af617827e1e4c3f621c111c551a45893d934c0ec84025cb6588f54442842ae10f45609370aefc22befc12c83c289b5e1b24c894665a53c57d0790ab29445678c6f025a9cbdda29a097a3c20a7bc7950a4246b70d09d7ab4147cf96f0f660b1f6
|
||||
Ciphertext = 9d6d14b02a62724dae05f0355fca246c77f0f3278614fd38d65992802316010804060f03ff2bf98f7031f6d577b01a7ed3745a9d5cae8e448f63027f250a080f9e0702c27f69977f0e025b90131f951af187018df2fbca75b431abc165c458364a20b07cc2dd79233b406f1de7a065f23a209a6f54ec2904b64671eeb597705935217de197af60164c1c5d6d5a6d25964bc0869b8cd34f805cbf047dfbc49f04e2cbb04da1d5e6d54335894ef5819f670f0be394f6c90518dfdf1c5b3be47a62199d120f506e9e85e3d2e70e083fc53c11fe55b6cce2b36a4cd3cea7ec835fea1f7b13a40715e3a6fb2ae9cb31d650c332ce3fee3b3dfecc026f25a0feab03e973fd1f5be004a819a4f2a381d16ad6ba4b87afa9ca9b47ba9723cb91a5c05ffaa560f431e727628783c8ddbff8ce258d5a4d4daece3575ca90ace6f65a0ad883ece771085b71d42c24e9e91fcda51cb2a91be06a0d80c96e57f326424281de35f27436becf858e01980f19649c4f83be79b6502f193a2674d521476553976046276f8dc5f766121ac0220f59600d29928f81d818cb6256026308a8ef17709f2eb33788f89910b1b084a941ed8284079bafad36eab92c7fc78bbfe02e8128c1ea221ffcfa85910a9450411929d7f3c496a36fda7cb9ab122db67c0bd8ce9efa7d51a295c323640aad49cb802da87ab55b4f51d57c0ceaeeb8419ad07b51896ffd0fa777cbb86f2e9a8d4a040d1d254cca31c606d9650dcdaee551d8daed86871f806fe0b56a2eceab90b8438de02880dd1f5f350213515ad146b582005ad6cb6e84ba3977f858ff159a85eb8cf4086f14e1158d2020815b83abe3117a3cecd0bd0e9d202c2b9bda5dd7c42129e7be135fa8e85947dd79c3b5bbf8a068f17370016077f6caab01b32f16af2b6d3aa51981ca57239fd81b4cbbcb990c391931e48790f78f2994a09906f78293c763e76734fd1245c283f478356c98fd8ce8178b021dfd6e69c417cff12c42bbf755af537c8aa56270245fbc085dd78781fcdd81f9d764addd6dbf41aa0e691457085dab67e644e6ebbde49f7a906a518a75e28f31
|
||||
Output = 61ad103cd549561fbea8e9a7527e3913484d17587bd8cb3c8fa1c9015e0f426b
|
||||
|
||||
# Official test vector 46, seed: "6b3996e8bc6f52879f2b7be012c44ad555707cb7e5fd8abb3457a298336d6fdc9eb7853008ff13201d5969a315c7e493"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = f4b66a7d3b65b896dfe100b2cad24b175a1168cfd2ae11fd704b835f6bcd311a
|
||||
EncodedPublicKey = c3c26937fc660fc783dc1999257544086c75908a1df52c3c39158c178648e64cc2f5f0401653c900baa63fd3c2f38b9e2b159118b04f27772b83111c86d54d93322c87b19362f7c123d03fb3001da57525d79b41af6934e111a621c6152d87173a2785f40c713e2638880cc60cc852ade50207251dee04599e944d56e89d43a979152748f0f136072b764e3703af487e9582b8957a8b7e99b9de355d6c9268d0d901b6984bd8f5c446e2b918c082e0fa5fcb60652fb925937659e3b1c399947f8d58b64d8816a4b2927db17807ca6133e0c426c359f934a59f717d93a956c702c8a337738730937028951139c150212ae2acb67b833461581b84a6be279413dc073659424a073a94cce456c3cac24ee472a7c0bf852146b62664c86bbe88e29660388cadab6ef4e9457e28abb7ec15dfcc754357b2c9a27ae99b6908747ed1e670d7d6bb8fe955c5318c1f0a6f7f001fbcb272409806f3076a9adc2826d10ec9c284699c3487c106f4580a5828ab219bb8dd5b9af1fb5289f685c232b1ad2aa77899ad71235865b007ddb398936817f65983b052806dc70447e3c633225d38a2907b91c44865b5bf953c4c728643f3afafb82656b775d4964f02b160484344a928b5915b0ec5db5586e21c2ffa90cf1c0fb1153abecc44c6e7528cc140487a731167830b305b29006a584c765bb2580753bdd84b3a7d2a8a6a3888684b18a7859bd5983c16d4155fc61b722c5064264b5a77293ea1cf3afa510485163e213a834ccacdb746f3f55f00d23f8e8073d4547b253c279f7802e862bb035a3f62272ac917387b8683050093a5529c37900dfb32533c5b2cb803ced2a50e7c1c5d87141eb42ca864881b88bc2469f33070b939e6d6396fd98aca783b3c57719c877c52cb4150a9b900cb8683498bbcda7354342a369477d2d28f9cf33db7764e661279bc80bc9eccce769a4375dbb08836509b686892e98da1b23f39656a73281b44328c2ccc23d41343f069760c5049ac4a339ce249213aa9d7629250f77114e266834584284a8df7e422f5ebc17547a736865f1065c948da403c5866060a171141a5cd43a7f060c0e08eb3ed2b1ada0571556f056a8a6b42b790c77f953a9b3c6f60
|
||||
Ciphertext = 5fb1c8ba7ae5eab19320d537ef24f16d81081d08b9d431933ee2eabde773ac1dca741933875ad696ebee6d5b0caf3d9716fbf01758880cc4ea30ba7728561d818cbcef3e1ed972a04d7f71a71f3d4f9d9f64390dd3477c5f92275cddee998785ee141dce718545597ae28a4692d7a53ce47dbae80bb99614610fccf53fbc3bcec7d2de111888f3802a2fffc40c14dcdaf8da313b5dfe665136dab7205ec58a8030d3c5cda480b2c8238e563fb0ed78d6103caaa16abc1941d51df5f4a74a62cab9729f9cee138309fa8f00b564645dadeeb1530ecd1c98996f6fa73130fc55524e7fcb1095ab4e924d868bceebbde208e7e87cd694087512724b84c80b12b88c7d0573865efbb540fcaea075f3b6184754543afdd551d78af529a47878245ea40a32e2251fee105b5a79eadd381a8cfb77c967cf45b189caf37369661946e719c79891a667f6fd1c23b27a0e08c7255a6ea3fff503e58e31614a50d8124a1d78e91b1b61e268c5b6f410404ea90811876c56c8db82c83bd5deca20dee1e1f6088866cd3789470ad6266485e35a34c8cc1b82dacf47b83024215acaf84328e5e336ed28cf42192b7e44b9287ab4d3fd110bb0497a90e7828bf41c88562c13b2133751390f9d791c99386b652d2c7d2d1f6c4e98a091e42f19867bb18b1dca0c7e6851ccfadb0b17aa667f8b45d500d4e7fee1a0a396cbafcc7291bacbae5b6502b33ece59df3978d27a8c844a4517c0224e521bf996330b90f9fc53bbeafcb2e4ffcf4819291b9710c8f9f80ac910d10b7684f24fe82909de34ad876a1c337c60f04f73168482be81591624f49bd1ceb5688143124bc98361e25e0f9d81683f60eecd8b6b47e63dda2789705c37bbaac3f5d4ca3190909dc06f9fe29d1695c9a4cc74296dcf728a383c9f7af3f2180cdc898d3c87882182d96a98006df0157dab605510e456a61acc11e8b46017fd66b17af10d09d6976545ea76a6332be5df45ba9bca96f5eff5f25c74726cebcc5eeef6ea69a97a5cda4b399e764d2e3506bda57e607599e9f37cdc78c27513efd26b02ee5bb708acadf88e07022ff4b11c9b
|
||||
Output = 6faa40af120f702ce6ab77b8d673984b99928f6835bba2643f4a656ee09ee6df
|
||||
|
||||
# Official test vector 47, seed: "730b65ece22de27d573ce3aea7cb021c415df210d228808d91d4f380070ffcb0778b683c71d4853deb569c822765f2a3"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 1d7b03d3c5eefb8ae5799dc569aa668f1bcb8c86607b089d3530cf61d6380147
|
||||
EncodedPublicKey = 192240ad257ca4bc4aa36643b8b696e4f06a57132b8b5c3577a14016a5cf8ee837958b6241dc7f31e1af27909e72cc459a767b2a334431383dab0ab60348570ff124e55cce7605b4fd6c12a1831115b6c76f51734a20336e3b920fc4bdd77937bc789f947c815f1018f766b28b5b7073774d69267e992202ee965a3aa0778357a4b3f18bf23c05a5da5a2f9a4066185323ba71a3f92f921636b5a02e37e06bb3324a3f33222d5a5be9d062a2985592b52b3e3833af647aa4c9cb4e8a6383388b444821ade0b375da6407197d64304f5a818fb54cc0658abde9928c517c296be087c5441296627cbc205b04454824acbb3c5665f8c54256c20fc16c4734c13639c7bae307700d023da668bd82c849851571cd2bcf25a20fd4cc7f41d7884d661819a61f86034ab9625885e9b38f653b9573be52c8cceada18e27319ec51885112c145b70add796672b2c1607b5309e12d306c9e863a62e5a52fb2d62b9dca3831e89fd29c88fee796568a6e2b3306a0698eb33c492c446fb2f21ec3970ea8c5573c2a67da04c0a6a184b3370a16193c0ba15851ab3fc32b1bff416c998193f6a1b3393169749868e851cb64d546004b4ca9b02657084c1fe140942713fa3a61d3e676fde19b029b82e1fa92e01a056cbc340e7515a7046080a62c76f0538633615d6b35f0e50b7e4a08e241c4c57cbaee742fffe2b524dcb6b4c40e98a417e454795cbc8870f7a7bc5413bbbbc98d2b289333c7ece799feb2a2c4647f289c4dfd5a715a32620b71a404a9200894afb3c8219f23993fa9184b2b140d93747049bd9aa2ccc3e65678fc759aa4159137730989bfadd439000599beb6794bf116f9911a441b5ee273c5017c793b9c932579aed69c1b5985c138fc97f5e22ff8d763a8c4a77b2903ec7ba455c0abbab891e3102631bb17c20518af8934dd97336a3ccc8ea3baa799528c8b87cf968022530fd41150a11362fe319d59e192735ba9132a39bb307071eb46947779906341868b92d6cba5ef511986f4975145834c8723eab95be14a62492aabf59793c9631a81730f4477064084199e9c7883521d053c47ad0ed94830627371f15df2a65778cf8edd3af04c4116aa354a6f2ae067f52758
|
||||
Ciphertext = 9eaf1b7e76b47f3d7c794fc33ab22d2b324cb45229c7e91dbc7b3f375ab426e9673ba19b00364afb561608fc03e561c7cca33165a760b1a1d8b8beffd79abda512e29f0a4fedfffceb230db186c0f88968504965f91f1e1eb34a16b797612822e18842bbf895dad0deb883fb7c217228eb1596b7e7e64bd34d204b16d968e1f78aa20bfcaa37e3e7b05eae561e0d21b8e4115ecce362cfa06b2c403f093ba809aeaa6292154a29f1f00fab799d0bd1a1c8514bf43cd0b02a3b05c6225fe5f486da4f25e7a0029f0bcbe48f75e206531d4b96aa46cde2542644784d590b5c59bd5e6d5bfdbe7975c140ece7bd447d3347b771b88d646da33ed9333ff6b4826f488ec62da53a1e50ed8bd980bec120808075980c3fc3d69d750a6d2e4810daecdba648cfae8e970a419c7fb4d412eece06fb76c938e3b24534ad9fa7642ab5f8c383e21f8e9d2385938ee74e88119c203cb56e69083cf8c6378141cddd629d20b30153ec4a0c7ab61e7e874a83c6610cd43492142abddb1593a5b59408e3941e589c5309328d4f3fe8e071b979245671549d2a9209c15eb0a8184bed5e8ee026e1a20a48fc458ec0da2f6f3f36aefe916e2ec8212092c7624b7600a594311b9a1116130cd4d3380c14df6fa8b5d9331a488402e87eb380e725e0c10768b9f517a38a5d904f81c6f500d68e686183f2bd8460cb8910509715d99d8815629995e2228244eebddf7d5ab33c64d9d4c3bd7130f4dd5f23d90e1479dd02aaa7c2a450afa1e0aaec8404054c0a586391be4d65b10264249f0f8e9b80cbf7326872cc9242aefa10383e56d9284edcf0c9ff84c554aa85f6a364f6a669016046289048be0f4f5c05b48d007c8188f52b5d2543762b31059d211b8dff0aca08390c569422634502b9c34de06a2700b0c0b6ce493aa438ef0151a549ab1558091d39882010f7b07bcf0d20929f2cd44a308f9e92d2cb58dac17875d7c676c97e033bcd59dff31f850f28ceb94ac9ebc521d87d5249e02d1d679e1ead660bebcc0b44bc90b3068bf03632684efc6c964b74b88bfc1ae9f1be5212669550f43021da052b8fe28c
|
||||
Output = 60fd3bb8de18c84fef4b07ac082470ea94707724bdb3a3744a8294372d07f936
|
||||
|
||||
# Official test vector 48, seed: "5522a5a891a9a9b5514f4556afd8df40b9cec63a01492f0cb8a1db073a285a963e4a9ff2376c88662f7d8d241f8acf17"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 554f3385b382f4a46314de37ee3885addfc5332bd4038785094e0a832e9e8c2c
|
||||
EncodedPublicKey = 7ee9b1dfbcca556228bfa52dec5593c1d02a3bc637b93b1958176c7761b89e68af8786b6aff24e80745801ab060a5b9f2b53576ca132a834986e39396d79652d6c9941c1384c81141585cc014c044d6b3670724a271b2c8ebc60e1251fcf2a93c0a56f7a64cfe88b2fa5e6c59a120f95343d034930d0cbb8fd71b313303c39d682aee0c34d37983fba471e5131988443fd958024c26cae9bc924234548038511c85c0a093706db4dfb3358bad07420f83c66745064040517268f38653288367f964635bdc88c06f858e4c6a777939ee6b425aa1aabfdc82c1232781e8909eb259370a17791d479b4e110a8dc32c5541ed1119b6ed41e00f670b0eb29c6e08642931036a03f1d864abf843497310db8170a316217eaf9b0b885b3a7b8642ce8958cb0a93950c9db7336490b05d69491ebb4a382a705369c1089c6a3c3167c904131ccfa9de109840b3a54c01c9b7e22b63eb617822c2f8cfb17ba795a64893554cc2fc1799fd81c7729ab0ccb853799399480a58bc3c031d841b7740ac28579a483230d44a40eb83b802cabb625b34c34697461078f6254c68474a5df529fdf920c4ed7ab24a86d4c6aac29873705118c43c5704f98c90f9bca4ce2abfb8a7cc24865c3381c0a6257131c77ac511d710305da828860f407736aa9d0c962df54cb185a1313745e0ed7471c68b7434101fa0444fb5c508526b286713f4ffbaf71611690fab3c5ec5343aa599de20a2aa74de8713862fb0e2cc46f45717e4093c91c922dcea87903e79764a1bbe14c88d5b7356f58aa784c332a330a069728c8d7284902bef34068129bb5b4dbce476397189c4978530bcc48508ce64c4db34a2254b63727154acc6f389005bf1617f6ba7eef1a9ce7c876a2ec5ecffcbdf799b81fa8303a4658b497aa58aa16c707a92d0848cf935f546180ce37c7c971a15d66870b62925a455327d05807c814e223cdf07482634911e6a027dc3c5c23763d45418724945f7c13c191389854244edc9c13cb94a7ae33cfd2219fa12a3cfe6108b4514f1c28421c706878f847af73c294a0c2f228bf29e68dc2699bfd3c4dea8198d0a39dbeb90c6d94c9b9505eef74b0bfb52292397e3e6a7e18b90a344e566ff9
|
||||
Ciphertext = 8e4b805018ae28bb0e71d7c78e1923ee52a7bc7ffad6548c0e4254db12b8c1f589a189655c0be451620a0683289d568743281dbf8ec14feb33dceb69e38c72dddc21b12a1a4437f4c97aba1a6f7d05cd25ceeafe9f268c8450a75e09b92665d0dceb960ced4c2d949dcbb68c485894c1c09bc62cca4a1cdb4f7ea8db13261ffd4c738f582fbb4e9ebc4964ecc9c96123fea8731738f25caf90f27caf28b675f3161609aafab1847429a874a6f63a7e76add075d3d3db0cb4906530ac2c227dac8aeb616eb28240e3a0410bc162b4168e9a5b9804f893c1c1a74465da818adbbfcef2b94ae36009f1e5460ae5ee8a06c7415c82e90aaa1dbf83042da9c16ddfc55c04e506ff0266f472314b62d6b9647110bca15ecace07e71e7881b2fc290038cf06c1e79815e60bdfa5efed8fa8d7a4edb78b06269975bd77ed67487b80ed120b31eadb38fd4c369ff0c8584d0955b1ce7d17470fd8c43d6a81144820e7753e0c89d783032390d3b794f2c81ccb04f320d9394aecbfd59d8f2be10b7b4e9b65b58cc35476754a54f30adc5e0b3502ea3c378459ddb018feda84147deac01bbc165acb06843f5149c553c29db4cd1c0628f42cf36f018a38a6cb56e6ccec0bb28282d80fc2a6e67036edf701cd0315affea31bf538dc178358eb84e97575f151d59fe9678e62b903bc510c6f9f89a6b979d1bee87979dae66800278404d8bc1980222d59cf852e96bca0f2ff9d8a9e387b52d3a9bd27f114e2e1e1ac76e88e35ca7f571240e1a9473168f411101636122c7332c8d6e0995a408c0e598f1340677054098b31922fb990e81187224da342f177f37e7ce9f8bc8a6d15c13629ea9189acc27220b0bf244d7ed4e95c1743731a687a67fb7b24eedd2089e14465e3171deee25ddad8a5457ba79c7ec6ae91ba68220051bae43bdaaae286372409528f8630ba29acc79edfae6d712966bb95254225b917f4c4aeb0d90b9f54f468c9ffd4903e2c09d4b04a4876a603a5fdfb34a221b791d146f1d0768aa5dfdb98c98c2739d6cda922a9f63d1e7cba8af9ad520b6cb227de9d28d746f9e3360544de03
|
||||
Output = ea52046e13966f869631a25174239058b5cf832d3ea8f990729336d308070a2b
|
||||
|
||||
# Official test vector 49, seed: "1853e72329353b3f89ae6a1b1ef700da8ed3c10d19f9e61ee9252e28ebb0e15802ee43083a12a0b7527088832605e3ab"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 38bf0033b779edf5367d9ebc01c988af90904c560970815837380650e4749eea
|
||||
EncodedPublicKey = c951abeb68a50891252f78b199008c1216a209c19efca5beee262ceedccbf3f076c3d9137c7206c3900813b63a943a337c482c0e279fccd5b618479cfec161bc57b08472072d23b945bb6c40196cd7d1031a8381fe161e53cab70d8ab8b0e38c525c63c9d216049886a9a79c4a0aa32d6acc77f4a94c26ce4b3b044e04c1eb8c392f2653059997561a23c7984b4e779af80383c361676da02175a436e474cfaf4433f78a77219c0e547494228305cf5c3019eb8c7543466917843321cbe6f7cc58f832dcd6561e38868181c2260b2780b18613612d88eb041dd2721c284d51020b6daa8a429b392a17b5132b65d108804db756af556b6c3b4225f8a039caac0d7b3292da3708ec8e687199c793841ce78e4ec98e72146f6645223a59bd5bf5c2d378099f57ae4b52912d3c50be48103c43acb7dc740d3c7b48d3cacd1733f11a1e7293251c161b979694eebbc2f1947eb5da0bbc937e13bccb3e7732ac1807305a3de831b7c1fb32df64159ef42f9b234bfd09a84f5136f271a5dcb0895fd7b9be855241aa31b72c077df0152c919b8ea5445bb8829548a5109b5379417e67ca00010751dc0209d465b872f5946888777d5a2696d01baa7c9bec340ac0dcbde36ab9f408731178cf1c13b6d9260fc1912fb2392ce71253f90438d7435a758b7aea8985d2b8294d85a0c1a75cee9badb39b0c832627034b176a08aef446596f7b5bb5448d3a945807d5b4f709b1e372848ba0b2fc2b3be7b24519426960d9970bea904f16ab6df8735436a472590b9eac5e54027b9f5b3416e07d28181955e1c45b796520db341c884f8ba3097d2b12431a4f51101d49410c8104cacb0785bc9a365e11a19e0a89c6e82c6b6968450881050620fd28bb5783c15f0823f211b72e0c3a4a6499c3cb332c5b6c478176a360b3bccc20aea36141104459d46c1755bc09795757d3891e8710f02877741993c15cb875d28b23ca466dd8ac50fa42f3b256b3970df5e89c019541bdf658970bb94cb08e01e65928b72164309dcefb8e48c2cceb2c597ce09440702e64256fa7979bee6b54b3d6558c04c5bb1b8c79d3753f134789f750a8d8093cb50e5d96d55c2691df1740a558b8a260ee39611565f4
|
||||
Ciphertext = e154638bb15266e412aa39f0c1a3e5198565b3836d453d6af5fb4d1766d3c3bce8a7f16c2a1a2b07edc7ef603ff5cc00c727c252fa2556baa824435f4c8b035eb98b9459af0f7a3abca6f24f351e54f33beb8a1d761759f015fccc0dd88965f489e0cc6654c7767b88ce16dc555c1dd595814ee4e5edd53ef80ddd67d6032a55a093505b29b8929a1de5a7f174ac1b63bd4c975ed6e7d78336b340f988fd18b9c418f608146afe8b3a41bc034a39241bd200cb67865fd4f62b310dbe03ac0ed94fefd71375e3ce4b3648800bf97a149c2b185bcd38ff43f9ea55b81cd53cdc14083bf8bac8c6e08fe6d413af6a27beed37a03cb937299bbdbf94ba039c6b4eadfe167dec601850cad0a5f71e482d074e1ac2040f5c0c176d64768ab3161d34b44ea06c40382a07054da32686716c45339616bc2b026f1249adaa67a5fa30dc3159cd5bae95dc06c30bb96137bad7a934fe3c33ff52f8cc83261d81211c284bb32cdc5903afe43daba22be1b6e3674b7fa6e71398f7589b8606126845118b4f682eca132af09e732b83c7a59b8be961fdcfd0ac02669c76efdbf17458844936c09a80bf2580959d48d77af7ba49258a8471ca218cf942f85fc61ce5c994b36a8ac0018e2ba0e3191d8830137f838e3f5d8506cc6f6421951a19da9c916955f2b8b579e11e545c35927dd14cdca0fa493a402b0603c38e9eb6a3505abea154d3cd3add7bba6321b5f3cb591e636f7ef100352896876bbce274c6351b5d3ec125120ed45bde38ce4a0057a6e6e29bda5d29f2a22a3d448895b461c5b92e27d5e6fcf3107f8e69570947bdd339d6815ee34f9b4fe4214918bd9b3ff50f024408e634fa0876d1f9d488ce6f4be5415721e978addb532fefaa8b217d7df66cea1e015a1c32d585da1979fd00ce4fcdd43d05fe7b5e458d60c1baba167f0d3dc0fa629be5cc94dccedbe51fa0afcac245b7bd4f54c7885af705736703fb9557bade586186859b18297c8aab69ed797e5b534ecf1ef6d6bceea7725f2497cf4e333e31489d5755cd3a90623cd9f3b9c475c6ed1a0e31d81e28164c0343b470ac110ccc34
|
||||
Output = 65911246b31f72b69db5af1099502977bf056200c713d28fc41ffb81cf591f0d
|
||||
|
||||
# Official test vector 50, seed: "027c3d5847ed4470931141104f25b19ae76117cbb64b224ee424ffb782e9a0e988839e0bded0df666fe8e5fcbb5dbc09"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 048ea516d0ebbd9f709b47eaac66f344c571cf50f0d01c9466aa061a50b66a24
|
||||
EncodedPublicKey = 7359a1eb1c18b52700bd063d8dd4c422944aceb01c20d58a44db5e3dd414322292c2f15a9bf0a81ef1789823572d2a38cdf72c4b87546509394f67cf7c2b9bee02a397f63bca09ab46b6aed9c680994b53378c57587885876a83a60250d5619f993786f1f413a0ea58e3659ecca0c120741f79288138e18386526902e615c278155741684143c50af3802a60ae30a2ac782a4bc11356507acaea6c228390779724b62640bd5bb13a039b6591089db9394f90088fc9912759d3b993016be3bbacb52a1b63b5b130cab77ddb755ac3b22f0b6c07b277eca71c25f8a65aa56e164b96f8693b118613c0db6b80798d4baaa01727bb0a752b657b2fe928386eecb20ad0725a476b4e5c21c43944650431acdbc55157878b759b296b7fe507c4a99570f6a61bba3702ef1742dc476d8a16489a3a29c9b2584072ce09f69d98f14319a8b292412f60e8cefcac20126cc289168f7e8a8914e1c3b4b4a4960b38ef7a76cd871b289b8b00c28fe3ac5ba932c26e700f77f16d8f08608d04cd02c44d060c6f43c082ade9aeecf954ca54c0e0d5b31de35e0a177e31ba17c4fc9f0829b6ed4633ccd186ffda8b74f9ce6823674585b637f56c18806c4c30c335a97f98f308dec1002890104796a0b0ecbfd025ce4e88163081c36b714e362a304a656463f139aa6c77b44b2f1a040687c569e54ac118ab0cd20b3a95777486586287ea490e4b3d8c29850523cac056abc3cb30c8bbaa42e599316a6e029b3fd29c1d4937954be7870f236514722fe9084d2ca9411d2671cb03c14feacaff083eba19183b589ca8f94fbd335bb7a7ac1308d0ae643eada201b1c7507d877c8b4b86bed579b5e53745d2b2e9a70f4bbb2104d80c9be0b11e15933c76cb5c07a20d4b1d4cb08ea1c46fa1347511a64703988d00ec9f36a706a9dac259b6761caa3a9c1149ae04b7dc78a3ea1271add9730ba099f69babf71c8e6631c76ebbaf52d7bc6a744bb7db3d72cb4e766bb68c926e54f38a0677b523189c10f285493c40718862754b04d5459693c2a91c93b09a60166bc962a2439b4a0366f88a9f87f04f95f24c009b61652447fbf931196f8b9ba0db9cd90d450893d94ced829f0a3bad232f0d4a4199
|
||||
Ciphertext = 07dddab02f3a495d37ad0f8a8982f7be4f4f721bfb3518e42c35bf332c378a3857a733116fc8ab7e524b5eee0e556d0d3f7b2c7689a9daf3943f1877120906dee9436a3a41cf728954f03aa69b91045322984e293898a9b320df8f8c22e0ee271f9e111ef84cb38fd88aff2feaf15631158df793ddeaf4cbfb29962c41a6d35d508074574d5860006e3f178b21e6b304bb0f2bbed91995425752e68f2524d212b8e6772833575db69e864c7600cf4304a06bcabe4671ef9607b674b25afecbbd3d3462748ede36b4771ba7a7a01c563e19af04c5924ebfaebd4b3832e24ae196d92e3ba20eb444a03a3ba417fb460f14c293f52e940a659265c3228423b27aa39b8cda61ca76597e38bbd81c5531554e27b181e8701acb98b085e4e5729323f12fd422e6b7e9ffaab4cbed74f6f3bda499093cc42d8efde9b877187fa37449cc7d0ee05651b16ee1c52f4e596712ea0c338d29739c8d5b56e9d956d088742290bbb00c670d66bef46301af0348f3f2eebefb86b7fde2b8cc83f38b46d3f2c661dd8ceb45f0f908a27c5b13d4095fd2e36e038911aef6ef2836b930ea8ba09854285ed52c8de51514785f070e6fe0143e7de598a7731742497d869f595dcd21ca6ec7fd16ab15c6c61d3428b0c4c4e8246faa323995557afca4eeeb1fabaa183163cb855aa7c028b67c0224fbeb8ec9f91da94e4ccc36735e5ae4ae75aa4e68e87f269d93c5dd8efdba21e7fb921c5755f30f0623e868a0ff079ad0373f906429ee98b7225cd5d45af1ccf27c38895951baacc811dc2a0d42864c40d2ffc7bf233bd5967d21ca5c61386b9dbc00d1b2f514ab4f91397c50112e01d263232b66cee88aa1b8f55a50e81a822ba3b88fea3a0f8a98ef16a055ac28d56196aedc1472cbf92f2b6f3bb0d4edf97ae558829e32b6e95140f128f2fe4c0d9198a8ebe56390495b54cafa94e1ca6e722fa23c1e47b69219488016be61b96c27b133dce983623764bb202da580cb2a838ad7f1b2ebecd02572c62ccbcfc0c267e67379465656f8346fb9a0fa0f20f21c761d7a366cec61269a17888b3370c9d4d0d588723d
|
||||
Output = 519e938e10ba46ce96614a4721987cf49a26978ff66fe776d86df11b4405820e
|
||||
|
||||
# Official test vector 51, seed: "450751d4401737459c6d93e6c5f2fbcc4a3af7cd7250ccf404bbb817a67bab7b4c9d0ef4570bfe25cf919da331c31d88"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 686c921c9db1263e78ae753b1c9c2e7936b8229dca48c0942c56c6bca4f10917
|
||||
EncodedPublicKey = 93ebc3d9c66cd6ab9a65254b489cc5e52122ac715faac9cb0f227c2d7466560a47e9fa491ed030e86476e5559ef41a2a7eaaa3e9f895bae581034c966b0a5da224a1f823059f291f3573af722042cef9ac703a0704a98713629b4e422bbbc4899bb5c0c9359ff43544e1ac6c8db790bac39292e0bbdc121a7fd0b86edc86e8277e15b067bd3a8a23aa199907bc8bb9b0dce8a1edf271729b553459413b98637de606a406b064d9ad274572fa80c4cb184259b9b603903c9a896001029f723212b0b896814774ef7b715819356c2363dbf186d95c6d2e622f4a310516b62937723f82674f17b53aea7a6d96f651ceb1b470c14733f89b11ca01a9d44292f8367085a4eb70bab5167b3ab98b9ff1a3a8c9047686cfc7f11cb39202b419a0e618356a33025ea6a5b9c86a14876b15fb6265b0158599acf1b63067a1476e29ba9c7a7fdb558dd2aa06a6c21c81280080b5b684786442c425f1dc57626158b46471a5baa61e034a71c5635b6c2b95939cf5428d2ebc0a56d75e3965738cc2a62ea0cf9952772581a2936b5447b9b879b06425442d20747f826846c4f78d465c1fbc0b13b0d20baf8c8c2da4cc2177632a8540f53c13a0308569daa1c6da6802047fda80263658a658f6bc3d70a6b26063e3e593dfd53a622a64acc67913594169124bb2b93edd7689c9e1a6a38971f11b2c1352511d813c46277bcf12156629151f84802eea01877c5880b17f7b1ba36a44912b7751d7653e7618261ae10c9480c90a1c9e5fba05ecb26d3e38972cd4c38ed770f53b03f4c6c388c26cba243a1cb2c7d93b2aad30b26446a86e62b4cb32bf50a78ebe928a58e8267f42a9b89c8cae3a45fc937117275fca08a1f45c4428772f867a4b3de7240d7c968b024376a99f9dd556471a81a1bcb0aaaba7bd708690629210c91cd978882edc752ed2c840165d1b38a38610916013adaec00eaeb2310b082545e440cb11096d44c8b75522e69c76e3f8c6db7c60d8739ad6e2737dc6b75af8b031b91fde5c2b3c7981505b6951a8ab1ef6b2237c71984a04c23c2ebd2081b15c879387c6d2b9aa53803e365a3587bd1afb6d55c1b489f8bdd6cd18ef0fcf30a1f84a93d79ec602e578aaa859b9
|
||||
Ciphertext = 8a7bee9f8e79ed98111d4ccb3f95e83453ac1ed072e6aee15d0f2d39166bcf9909de8f2ad85cdc4a447c0c1a323b95d6fafa5082482f222ea8b5edbf49e4b913dae9e6f416ac4b7d772da519f371eb4f88ef1c390381587a3dedb4e62a777e8d3aa2fcdd03b3ca80809de3f89e8d96667aca31bab9a12bc1d1d6b5a49046258e837d13d1b9307629bdc30cd5b9b440dfabadd267705ca5aa88a3a4acddd3d0f776528738838c85b320db9eaadcccd3626e3a86cf3a4757c4d2eab3706f1db27b2aa0cc3b67f4ab7062fa17c02614d97562b6a49376ee7489c6a25a591cd542d91e302b54bed92fdbb0239458d53ecc98c643104f2fca10a00608d482b1403fc7ae4cefda93b39787a7723a91d2ddfdd088cb86a8783ce463dd981ebfcb2043ffc7f53e77f129c411fd5a2087bb9a5c2c7d9842b2f0f44572b47fba5443c9390ddb3cd390bdaa0d5a1cdd75be2d15e167070043e7f85a7d6f04c9b6a0a5d08a707a45c89d047d634b86bd1957b7a6c337d72fc6ef68e5196db509b74ae4ffb3edcc91071dcf6306629c6ea0eeb280c2a14d78c727c8a26e72465d4d323561fb7c75ab6c5137cbb50a4b56c65dc4b8561220da0d0f3f101517b30291649a9e6c01605248707bd9a401c70878974a28be0c82f320928b4fbfd83a176daec7fb00b759d5a3757fae7e8b3d1ba847fc21c7f7367ccfd127532add4dbd179ab5c0fd4c9354e154f924b04f131d3feda69b6f1a0342c7d1cfa44e56929b5fcadff52ce57f0c5081d9872a427ef357dcdeb9b6f653f90e774d572d8e4a6e41e138940945070758f7799d0ce7a57bb505393f0575b6408d6698e5fc90f9b0511458ad596ec8afc91e88bf6e172e8ea5574d3534dfca4dcfbe1efafdf0e69875525435c48cce7def34f5a70d19d7f38b5bede779cc8aa8c530236b6a99bf32bc77f1fa716f967064dcb7dec52190129b7f0e90b4100c17f0ca47d1d5a34102241796acf7a061c51e7712cfb1461d048c66e4b29d9a77c8aab9d6d58c2d37c3a6c2d0d3eeb5ee66308eaf399084f4be2298c8314698622814a4f015cc8cf55948ab7d8ad008
|
||||
Output = 516e695dc4f237c1a4b451a67426baae02df1acd1f7f57adb00735bc7ed295bf
|
||||
|
||||
# Official test vector 52, seed: "5de720f2d152bf4e1f96a61e7ae5f1bed6b8548e32638c2ccec9f43b87d1bb43dfcf334f0582984d27e440d519ab662f"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 2387772e50059cabda53cb93ba24b19ae529496c03b36584169451525c4a0e7e
|
||||
EncodedPublicKey = f4441c33ec4df17842ef1447390164264b87d52b24d9ec2b1c84030fab345a103c60d89106059ba8d178f62578ac4bc204f053d6c17716a58bcba04867921b2dd6a59e8c8f05dca6bdb5aa8d66342c02217c555a0707228bfcb13b061e5ddc061f013843330fd8b3392eba57a57669ebf77d0474647ab96097387dde545897a97438885659fa17f42cb5d9a0be3a72c6058426f1b005d316c19a18cb88b8924ba0c52c6653b655aa7886574b0846f55b9e73fa9d27534349755ebe0949ace1152dd684c4b33f355281b091ad4ed544d8443fb630a523f341d45a8d81a12145bc885b157a35c4366a446b35b08d2cf9b9ce2230be60ac33554db9463c9e9b1be243b27a776a3544cda9f550c2768c5c0185aee8ae27362997766d15d38789fc1f2f544905e373eacaaac551c5af4b00f947a4765c6dfadacbdf634c4d3404723b6af6e56c2fc31f16b12d85dc78fa553540111872c8b68cdac763610ac513b7f6688c620b9818a06df541365181c6cc010cbf43c9af40aa35a08dcc47b23e2772b85091a9311700933c8c9b0ce6b48b3d0c1a3807ae0ea192200075db0b9050acb56c41a47a45062fc3223fd0357295a1f3634737045be07a46b27550cb0624d4ab851c9481b8c1135ebc13c5db6999088992b9ac4426559068a121713eb83167e951413af7701a835f218332e3cbcf6502a85f16bc3c1448d57a4b9c0b0cdbb25a3964197a466eb7c5599bdaa9c0933e56c65b979c0f735836fe907ac758706a785ece498fd1d1547998be49c1021bfc9c42e694f4c7a9f7e8b7ff343867290f25f84c1893115e60a4ffaa56c191842d9ba916548125b5258893bc22887eb140ae952aa76ad5142f5a5e8272a9594c92b39a10c2fb647543a7088c6d9c4537b71a9208434bc17207a649a49a51aedd425f090aae8b88c2b9632456ca7c665401a242be65545d6377c971b1bb6a2248374ba33e149cb20186aa9ac8314c7087998079bbc925580dbf678839b5c24a91c48a227bb2e5b9cad20809259f6755246eb8baa2414b684237f5f53c0ea3cb26451b90184c38431e0898496804a92f3a9322c0a35923c57b40457b2b61462648035770361dc794ae4f7bf9c098ab118d2f
|
||||
Ciphertext = 142dc744e3df82cbe56ebef0817f78cf91d95a69dd250381e05ad593d01c4d62eb215070c0881cad2e3c733fd53ad80f564c9e26ddfd83d3c3d34a49c4c6a4efc1c42835e3809c3b078c5ad3c5ee6f49654219e3dafbe2ed296517bf88ea821de660138810f13d031fa8028999752908841e7a2a51aa6bdb00ee7c47cda2e8e509a8074399c85624da837bf261c4852d9c5fe4e874a09ef7f66b06b151cc3abb348ee9c4bd0feff670e3e03a8f3940c2f93325394bece2c44808e6cd31da029cf0fe502f118dce86e81499d9024ead0a2473e58a8e4f7daf2688dfdd9cc7f46ff5dbc3645d59f26ab1e2e15be3fa052fa9af18c459b34d8a7e1a4fb09c3b4202736898cd011097dcc0caff3cbd3e0bd7427dc392df50d0cee92b1bf1ba929269206f7d8a4fa40a03aa529c2ba8496a09a86e8e872b80f92cc7f2f667327b9c33f1166d6aa52c8e9a1d650f6104ef6f7d84a03811b2e1e9b234dc93081640022ba60641fb307c864db501dfe224a0eefc584af2de0d62307dacebf99b47ef68a04f97825e1db0cc7e5c4b84e56b5bd0138f3a0624d54804267afcf99f4de7652bde4ce628a9e41d57d57c64eed1c8b03237b6e37bb0460c8d732609a0aa2a1edb4938cb5590ae55d985d99a2f28ee1d85e8f4ca20ba94236ef281eeb24d2ab0b55def7984ff408ebeb947403432e11bec37c489827e9f9d41bd8cd990d2c8429cdc2b7ab051f9ac3bf50fb7241e895f6a6c9c15d6aa308b18be051229f9ba80c25469a7e06e173697abadea0166baf8adb77932b71480a3f292b1be2ec6db371cbadbd17e3062d2189a4e83471a1a2b5b34e4b5aee47b7b7771b25e128e605c6ef9fc046a805cfdffdcfa97319ffd280746f7e0ff4d66c9997cbab52863597b56796ed48ecd9a679769f04ff84194eaeca0b326247af81c74d1ab5cf2dbd7771f3c4a2bd060eac3cd7ba5a7518795e9f02ec2cacdce93ff9b6f14615ce0f173faf242da764bf0593f39eefe215e7825787a2657b7da3667a4937847bd3ee5181e667fb594197a742fcae02aac6046b8e149e109c63dfd94f3af9eec9a36f9b71d
|
||||
Output = f72c09754b77936ceae9858894db84cf773066ea0b594a297eaa1c2e8429c456
|
||||
|
||||
# Official test vector 53, seed: "d71729dcbb27d7cb39e9e905025d3e55c8602efbcc483c9b866ebf82326157833169243c14550ad728bd1470f39c642e"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 155c29c5f0378df0cd0e847a80a07143cf7522fcd880c9229eb9feb1ce340cd2
|
||||
EncodedPublicKey = cb432e1881981d83572115134e5b1dc55750049b8fa8860743196eef1b8a82ea8cb18903d4ca556d11c4da76bed4e888dbeb968af03b782ab662a1b7bf3c380dca8638c7391b89b86c7bbba4082709dcc2147651f90c9b466b7f7bb286209990621799602c8f45a3b3038421877aa0b5008887976a88479534fb08279377efa73c1bd97d0a50270c4a0113003c3cd4cf4de8c7d1c293fa9bb087826e49a009258816c42850cac843a973ab4dec8bd022051140988a4bc1b85b49b9325dec2cb38bb064ce23cbbd88bc2d7abe5ad4644d6b3d2d5a01c4399310544c35ba0480c32e6594766f8523aed9c141238696295b80b3005246cd4fd82646715b49374805e0c6ffd0965ff73b09e29e66398d53f0905af7ce22b557a6609908c278f504a52db4bc6b45a8d9d4c879ba2007e66dd0b5c93d2ba3f2778f66695bf105588d968b51c2bc66b823f8689e5105a84aa370ac68aca193aaf749ac0641c4d59848e748c0d52421cabccb0f6b1f1a6a2899d7546617cc39240ea70c19551333a5fb99730552604aace857890b8a5079341d85f8425a1215c0206949b51a1a65ce8f49c881d00fb375836105439ffc406ce6418c88cfb0a70733577d4efcc2d09461445b12464c8d01d567af8731a30792646135aa77536994211b568031d2833f9982c2a911fe339aafd620c69c9194e7c0b04b8467c52115d4a9975a15e58552d26c88604a039aa92446b4b9b67546a6314cbe049434145e78d6235f70cfb03707d05cc138257675225b631baa5f084a7e0c0bf4c9871b973e609b31d1178354647ffd6622e7826b7bec0d4dcc10c7ca8cb6b958e8040c78fb5182682f327c646ef4b909fc44dc4bcf95499f4bc9cbd4e104547640d927a90f194cfe557302039e9d096507f09619cc0733016cd7d35a1e539748c549fa6b9598bb12e68b50d3477a917ac1e79cc9f217974da843212591c4e91cdc8661fca496838485f1f34ae1d53f2ea4303e59158444a733d9632f04c961741435813491b2b638162341ac0bba2441fd041652c29208d97c57109263b133a12342df811a0f859e773b7248d10f495867c191bfd6dc528026fe494f195aa90685b7aeb1328f04eb2324e4f2248a
|
||||
Ciphertext = 88989f75abd1105794c5cf99d293884c60410cd9c347bb36187263f95e539fe2c80a3b0fd676783ff93419dcc44c21045edb4a768d9f244e723b477625232aa641e5d8aa1542cf1aff34b6c090d93e9c49e6d633f8c6f4a46cac27d6396c80ec57b5f1cca5e109f93e91222c2904a741b101e91d6fdc8f002ebfcf9fdfec51b12b8bcc371e3c82490198c9dffe2ba98faf76d33728ca2b9c47fe7f8a3e5be93755dc52bc30b7413ca0ec046a421d607fdf24e8d0de553f0e8b2334fdf632a8155b21505439b6024f90dab7c615bc42e4584939a32e12512096a1e758151cc76f93f3ab46d65b70eec79830c0ca0fafff00c5dd569c9394ca1a94752d69421d5fbb9a8826b0fa56953f4885e7a9556cc7a4b843bc366a33a865c54f15becfe9c7574fb1d8a9841d7520ab3ce7c7d38ebbe1cf6628bd074f7a5c669c1c3ad7b5b2d01630c5d5039f46fa81667e4fe88438b5bdb861e53394075d20596c06a6c195822e726c38c403b8359d4df17a93e881a455b36b0a846efcf30df9cb274b215dc4ef561301143392006f9b370636f1b7c92ef413c757370ce13ac79e721bbe13223271cfa5e4f5ac89bcb76071a68d913ca7d08a9d475d58737067cbb89450e2bbb04a5e4916c892567aebc7cd2d94bbff0a0020147313c016deac8a89cacf2a39dfba61ffdab97091c9fc5759133489b847e1be5c343f3031bb01f131e9a9e8820268092ae61dce1a99d82a7e3be2c0875603abe1378b8f66c1da100bc2e6d4e92e3587c61de24e9e0b5d23f60f813da80bf0295ba9d4b3d7c863146859c86f6232c6a498076ee00a63cdc0c9847a60c3bc0516332e497b44190f7f6ddcb208dd59000b5946a74f2a9cab40c6a0d6e572c55291914fdeca418a13500e5a841803e9a0bce809f3d6036e9d85d13e8dd8878c4f678eb7be959883e9243a3de4b1e77eb19f284037c5f5cd2c6ab219b749ae808dd091444234bd6beffc0cfe5cfc1a64ed904f3b5524cac0bc04fdd40e901b281dbfeab2544f5d1b95c3f4f5a044a1835b18ce394287ad7ba21d9ddd10b6e1fa2dfad1ebfc79c5338a6ada0e6cde
|
||||
Output = 5cf212769657fbffc33af54b153bee9dcf7a073bd5c8764c04d508448f0128e4
|
||||
|
||||
# Official test vector 54, seed: "a7c2c8edb3601396beb2df0657ec82fd5780a2723581a9e03dee1cdb018440439bb1142cab0487c5d136e9af46338ab7"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = a9cb9a61a3324b1ea5afe693b32784e2871096b2ca14a11acc9577c52359a241
|
||||
EncodedPublicKey = 9ef431aee760d2a54d4fd61fc7493855878416c87456ca0795c706ed4131c5369069a15ac8a175e92b708749a27947833c92c26fa28f1d7b3dcee420d61ba02a808ccf37aa4d83c8f8a25d35e642802b0ff6b9b73395c3ac801d56b78adb14be5f0376bdf63f4874a8a9f41e8c46770eecc06b9b5a43dcbaea8bc4a2fb739e9c8fe7293ee5268232bbcfcd7b09ecbb4dc1a558edf2659674539cd10102dc19622a9b35479955ea12f0e746430aa573572590e097c709350a28ad603064e6b0087286a0f10607877a16c9352e3adb62da9064d8f2a98098af7cd4b9d3b382f9acced9d8ba450a0c13e76405f96221ec7c8b2877ec473efd86cd364c857824b902e536d2883c95f26fa2452b6f831717a00a62325e1f39bb9aecc6b5255d75bb2128d65f173223c1550a7146a0ffd45aef04068da65d79146097ab380c819509e05e5fd49d94f23c388bcd78c75ff33b8c95899ced81b3741b3149f42dbc1186ac6c23eff74f92846144020d6d88046046a7173966b0a0823a9607abd9632b33048e49bc34b17b1fbacb7ed83d4c8902fd331a34101f8dcac9687842012c79f46a417a3ba21a09301316afedcc2c7ba909f8e10a502ab11430960b16403777b2142bc4baf2841843ce69b1b5105723c5f3736b35299ed1a894b136e7f01c03a7749fe59d1327c8e9ca9ded0a1014547f405554c916176e800fe4616e43e9cfb2d20b10ea9ede42bf33d33ef6976dacc27031383f8884377dc638c3f8665d571a51d5aa5225c7ad30ae4804c245e9ce4a1cb1f20c64db39bff9175fafb8a1e86c91241950cfb996164c9617f552e2bb54457121006c301a93a83dc5824c1895d1370216d1ce76fab269e0b37fa7bfaa7197e9842dbba0862cba940edc34977ca40a726562fc2f3e7848c3b52917dc7fec80c73f04366b65241dfc502e412277404816881c3bc9cdbc874ca5e535bc84623f828c0107ace3c404204a9a1efc99fb52042dcb875f78146d88c02117b08e360aee99112507a41c236097cc8f5cca22fd2076e2c25515474216f6ba9426a40e3572a64363d85877afe4ad20c38b9a21130513bb38c0a7f7b0a4c206a8119df9ad5c3af3d313074a677fda1d6ae280d52a
|
||||
Ciphertext = 213baff5ad4e815a21f9895d053a7438e6634cc52f1ee78905d555f8d142a61293c0bab458d53affca9d5de9b5d7e317951aaec2c67513fc663a7a5f11cb7631e8f794bf3c4855a4d53194af9afad7c86a1df785fd1c6b97d9f7fc95e2d299746a86688687649749deb16020bc5114367f7dc980e1bb5c6fa6d5694bc11dbd5f2b99ac07320f20dfc6b46936fba7e733bc14140c06e2806f31fed41910533a5ee47b0f4532bb60298617e45d14cebd70e708f73d47b36abcb43ea65624cca0f60ec96a3c92b943a642433effefd42073cb3855732a88c71b986aa338e93d3c70e071b97e3983b3c94f8352ca365faab8af411010c0e38e0b7e0a50feb6e58db1e812a7618091e77aebb84df38ddb61cb120aea1fbd65c1af6f209c4a12642c76712a7ab2ccd052421c6d88cb36c833909e070c47455da49e443c3d1429c1664a2587b2086821f5f8f83cfb722f43647b183a08c9b198f89a42e03809575bba499bf217d2e58da24e74ca756a9e4e41e4eb3b34402007fc43ad8b9af3141777ceba47517b148d3c0e1bc47db876d1e1af7eb24d60cfc05e66a2638d28ee5b367b96804d8ea26f53b45c1553efc9a5552d8a6c236fee5f8a11b32276998f9525240960c9a1d313356d8557b051a19625445e22585ab7ebebbbc7a10a8d800ca60d6cad4ee14ee4c4d618910259cd5907832ab0f7ced25319d592e0e6c6fb5754f0b665e307979f62364a905b2a17fb22f53d022387b5eaa0b9bc267c4656fcfbb786ed1b4cfa0a255687808adc658581553098ae8574d4fa6253e8220e8996745ca5c1cec9fab8ce1af6bfcbbb613e98eaefd6b5122ea41c7b35e237390425c1d91198eb6c8aa0b7cbebe1fbaac9c224da509bf764c69dc76beeb9ea14c1c680d46d191fc71f7b9ee0b0a3a4ffe42791b6e8907aa7d168dd6a221821c71ffefbdb1405894726a75b75e91e4b69582189ff9667fcb8b62e280cd8b7727265408299b1a6e65820ebaacab87e2fe2f9adfb798c6d9f0cea36b7f4b2a09d7241fc74024181ce60cb17b2d3312ce3eb74691529164468781d047e9c94cf675c8958ff28
|
||||
Output = 3a89607d3fabf4d3165f3688b0ae0b6eb6f1b4a21c53c6b75425cfeef90e9905
|
||||
|
||||
# Official test vector 55, seed: "467f6158cb86b724039ff18c47950ae5c49170163c910fc9a9b30141f86e9c06ebcec91497bcd156d95758c9f0c6ef91"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = e99fbae8a024ebbbdcef32ce213f6aa942e3eca925e5da4c09975d773b33a175
|
||||
EncodedPublicKey = 4cdabfa78608bc69af4e3575fd760f33733d47f95b0323abb1fac99f435073073fdbb0ca5a90c263918639819e62462f829884c9b69daa90771a625b60e12d7ed61967933079c07719540f3d806a7b83c53285af48e2559a24c8c72a8c1101cdfcf730e1d1caa376928dab2c8dbc49d2c3219eb36b58f39da9d362c3eacaeb1592bb297241d2ca95092957da249f4b2a24fb15d5b79a87768f8cabb4c0f42206d79db3164e96d68833ea4710eb066d445d9a07b69f40363c2a3d8c535711b5cc0623b2b744a9098898b74c378df1114e3019a3195d4d506ce449348f07861941750cab63b53716728b456be2ab9004b4ced9c1c91b179194a264778665f18beec347887098ebc9cf270c8ac3821bbcb02ce80a3de8b26ad5277f008c24d7289e4aab580aa962139c184b5c95ea54c2f193a7d7cac71829a396a0aaa6a27086c04abd638d04379aba1984fb824a9b866ec1ec7b94970e7f116ecc240deec329316912fd979f8b4c9c713ba4cf4b8ef5999ba5a6684bd31baba0b858c72aa8e0954ef070eda007d698160913c2e7964f966830c9c2c5b5711f3275c53e5b27c770bc539933772350e5883caceac96e0760432223a93aa7666311a7d6180be5602d225009d132c77c3e83687587fcb2c0a99fafb5207f2158493866420a3fa8d74647e5703ee9b7491b187f727ed8843ba3a1a55f55c2f838219cd5c90c9476d4cc9243f58f04023e1978a683f0c0963c6bd1a0c27e875e3818877624acc3f2c99c58559d1c643b41420c799a8f54c391d9c4f37643c43b31b2116d08bc45e3dbb1cb94a6f0cb82e0621f48d9a9e886c1355a7317ea7657054463a07d93a95dc6c2677f55c22fc7818b63bae839430b8b3d1b8354f9d2a648836f85da524dda04c47cafae849454bac882aa8a4da074eeec0e37683deacc864e27647753cdfc93a7acb50cbc8504fe5c6b98a489c9b0ce28d265a2795ad0ac30b645b3bd572678e1ce5f136f3491338b77bf31ecb0587cca637c5d48102268c56596489775029fa49586a6e2aff6879dfb6935e4387db75c16138b59a37a9ccc0c1b0ed425473a4772a115317b302b55a2e9528ef50bef3b10de8fab327244a09a17688b63401bae
|
||||
Ciphertext = ebfe81c4ba7f9177099975a9ffec7854bee6008fbf9c07b3868dce3d2a450ac4950576484adb6faa843a9a8ff33aace483d958e56e46177c9b310e89e0efd80c18e53013b9bbc39f71523260c3e912d8e6f03869a5a2fb316c3f0589885a6968bfda17a1bca2891c05f47960c9932559ab7cfbe5229908a32cfe40ed49ef244a697c78b554d574a608d28d0cf5c2c81b85a9529eb7a5185a2e50a5a7d43a84748092bde1592589e337852f478d9c3030cb8798987a4c6592d49fff163e273d1e7712260a9cc61b85595dae21b4d345f442772c551eafc7b7d5b3380876a3c1e21cd9bce343fce4c88f6058bd4e37ecf6119cca0bb0629c20ddede9f08ccdbf76f6750c7fc278d3ca25ca129a5576c99aac495882d2a704a2cf9e3d4520e10d4be1af9e83d6e532b4531657d95f04cae1fb73a536bdd0fa5b2658ab2551bdf5a8b7cda63ef69f3e8c264b14a4738696028ec15f606e0795485bcf63d7056a88d01212f30d3714b49758ef6a8a168a3fff3147fe2b2948b4478f8959dacf64491cf702401338ec3d2de3691bca88c9496b626f3ac63c1c0b3132609c71a3f10c04dcc53015326fa4ba8c2efbbce6c4ab33966d70d31dbc7e318c29988782ceb61d615f3214b02a4292cf56e7e79fcf011724d3892bf984a3e9ca2f95b1e70d5bda275b8927d0ef693c3657e9f895cca0a12ae82f8ddbf017750fc7bb9fc5ee1dacf471519026e829ac8fb9a5d5b47188c09f406f8a5a6a4b897cb02d3170b2733450471f27d379a68e095c8cbae9aa58d25816ddf7303dd4fa04b0285869c5b95a6adaf1417fbb662b1d264db34a0e48ae5ad8c0592482f4a472e2694637452d2f20c5874e6b65c0ba03160c4c410d7cad986b44e0f4e3ca0a773c7452b960aa1d10f6a17dc132d73f2d570deac710be04612c4992c66641e2f16b81d0b515ba4c1410add8ce1b5fabd65da2cd5c5463d0950b7c19d5fe132ac1f527e67885e7dd7972ca8cd53f872b3995d1656d6009d7201d3c7aca913ea3962662d06dd21d7506e4a4c926b1b1e91657b2c4883ad35a4add668a47f8e7a2d463c94e7894ae0d
|
||||
Output = b9a77422a72a785193d07040c3e562d36406c5125301ba5ff6f703a44cb89764
|
||||
|
||||
# Official test vector 56, seed: "687c02de1041abac7b2c1e6ec2a7c3375552ed5edb10e3a8139c24cc76bda44d719d8121a81d47a0b762b4e9eeb85235"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 67a216f37d67f5e74f782f1badbce1cc8c80a6130aec305b421899a4faa0a6c3
|
||||
EncodedPublicKey = 1fc842cfb08c8f9b347b45649e064584ca6aedc58b4f367df83b6ffb2379c3b06ee0d5026146125d36419857233dec0e1fa2adbac82fd3482df14325a44b08dcac9dba4176b4941b520a5bd41abf611b781256c7ab10c11fea9d92f9af9a392434fcb6618a1754326abba922cedc1c5034400d94c06ba995e872ac31ac9829cb7d83d5aabc95a2b42c8e7b1186a751c2bb9849aa3290cda170d3c7a45a649357cc9f3e54b0c35048e425b6cbf2789d724a4ff8209ab6659c00bf9126a646e8b828c3b245745289e40c12eb6ca4eb2474d76f1cba2824793b02aa37e99856bcf577e89227b69b711428c5954a0579a116fdf773ade48d99a5afa7203cf1345456b88c11ab0dfcd107e64ab16ec2a0ae9913e2f29c3f108d3de372f142b7840384c0e22430e691bb0266eed8c02263ab1325516ff425d6998ee9d806ba114b4a7513683b60d9330017233b25b39917f54578c1b1b5449f473b5f9fc0bf0cd77336729763a26fb4c7666024bd9b361de1b86791a4bcc4898c45162cc1b45bd4b40ee79c5759f62946b7af1ee3b012a26bb7b011911b790327b15e8074970377363c1c62629a5e4c62c731cb3038c363c942c67aa03c4aaa755939c9f2aaf1606bbbfa0e24305eb82a0b96d0827ac7a148507bce10551d42829543a75fa6c32d5901217744fdcab66be26bcb2551870c1278508948c5c58cd678579a9920b136e5f85e586592a689169c538e7473080492b1ca8055554148a4ab02cd506bf5b9594c69bb0dd9b283388bf13455256457a47069661a22412aaeed36586f92723037a1fb5637cec149d0245d4020429719931a2a160532c6e3e63c11233b1e438dab42b386b3a43cb7986419156d936f214235f72773464a35a316110a71593e05acee38bf7d106ebf1374693c3737d603553610e3b92dd50182778b359702463a125df61269af99c3fce0ac5fac0951e45cce69a5ad6679d268203b12697f7a5a49b04ec8dbcb1df264c5670c63f02662682dcd9b0f474a2698598054ebc96d51359c23179114a075d8c647d06840761e54d13c509c869e482fd62753158869cf72952c67305f578fff578157fa0b7ca95526311983eed262a9b5c411a4ea15a0a2d1
|
||||
Ciphertext = 4fa3e9e0b1a158ebaff29f02da7cab88027ae5aef1630ddcf7996d49329876a229e85bc09f78fdaaacbe102c70c8e8c62325fa4f5774a1954c2c260fb77a44c7b355a522c0106d4f5c93722305a51aef0d524a428ac98f88dbeb1ebe707c3a29eda37d19a77964b646683230b2e20b5e0e54f352f9feb017babb394ac8c0e2cb88548defed5ed32f46f2dfef9f84d78ab7bd16048008f3e70c45dc0a3f486e206e9af0f2029d79efda2defbb9109d80a7caada92acc3689aa5e815389b6b4593d1d27ef244e12f965bf76796eaa0280aa00fcf956e121400500a7238dd715bd82b6c385f702f9445027f1f5bc53b2bed9dc5c1fd0f20c20a1fd5261ea0bc31d544267d542e125d7da2692ead3ab0bc4af6bfdf501629b8c0ea8ec17e5fed54681755b158ffcc1106046870a8c906cfc8d074e3f686b8bdb9a399c0580cccc9c4618b6bf078034ea0cf1504e5f9bdf5e8c9c67fb447f4c7fe0be6e6a7a59d81099efe5894dd88470abbe68d16ba926f5d7e20b5bf84e4d60f0261b6858590642bdb6dfd538d686ba7397b8d5a3735f05afb52aec609390d6bc300949eba20c286f8650e58e7e423e1acc80584e496b5b8c8e4b3f8b8214232837db613b3d7823f00700b673fdf13376bd4160a1e2ade86670373fb524637a8dacba57f4c559b92eaa70c2a1584ee7dba306a7f3d8415db2b533efff33ecd22fcb33c1d077d1ef3da51d1965ba2aef630d4342bee999f3be1e4140c67f1dcdf6441e29925b144476d34ddcd9ff80d395a3422349ce2c12123f5008ec402686fc43608ae7e8b9c9b5a5a04eeb9198cf4d55faabd46ab48e6156f82a978a05d564a2ce440526ff51a3217795183f17ef5ff69b90d69b8fc1819862e6e4cd76a67ddc1f2483e0f065b90cdf711e4352d8bacf18cb7d1181f98c075654c13dd8e84640e3c8184491bdec1e1d292fc93c04b5bab961d65ed270477c030fa8e152d63d7666ef49d6189a11b71c117f99d759e47b606dfda482d4c64b7a46e83ef6e4160437a7d9da4f1439dc5fdca8932944c264b585a9c79703aa9f4097a214d11b2f1a3c9a123d50dd9
|
||||
Output = b86770d1e8242475986327e5c070dd5926baaf2ec90d017cc1e2c8d1af83d9e0
|
||||
|
||||
# Official test vector 57, seed: "4142237070c216bcbe245a39bd9220533c97651d84832b26727855ad994a0760c52b9319ad404693e4248b8c5ff324b3"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 52b19fea232c9154a3e431e9d69cda40013cf2d485c3cd027ad24e645420420b
|
||||
EncodedPublicKey = c1b43c5f93857136616b36880a56b7cb736d48fc3df37051b9cb977058b21ddb629c302b64a071c2293b29eab6fa10b41d558ddcc99a9617857f123a6742894ec24d8135778f786561412b77b62a3328c09c41238cec55a1c042c9eb56caabb0862c812e0775c1f89bcfe59514c35442cca6bb00ca7abc1ed0327ee2f75a1e486297c5cda394282f633b8af49bae7014b7541e62db2654b3b630580c4c101ab3879da125cf2677834c6bbecb88903d434ef1c69202b11eea068c5c09cb0c42a4b90476f7fa2d133a1463f5917304beb989c789d51c7e8271843c52d4fc34892bcc77901f0169c083b278ef98b9379462cf0159f5a0afb786538566c3d768b0760260c93c24598250c2c6255a011e79face3d4644adb5a0f7179e3db252a81015b16998c1c71e2fb07ec83079aca15f636857fb37007ed2068e4bc7f8299cfd02c97fb44883a446d9153d600b640645c44c457de9569b48b3cddea93703842b53f394d6023949a6969908c2faa7237cb726bab76d08b8a80662475f7b4913dab81107584807b3637b5cdcb6130f090f1166c4a44bb5880a904dd15212716541085ee377cb622056808213de738430f819d60587cc7270980ba39590cbf9cb04c6d26c4bcc6c0c1a0940a936b6f1a254775899b74ef7866ee857023168cc33c8c31f3766100065d9996a68449c520792ba0aa49766a6f8db90478a5ac1d944bca5b3ca9775c2e50700384755108ae2102c97a701816ca08e532a9be51ed447a83e54b61d544285565365f431ef6c75df675bb0d44f86b679b2dba8605a3044900b9b1296bd8b03ac7341ead657afb020c9443a5242591c8c394c65259f2265ffa3bc1c2a20af28748ad1b708550f03242d6407a05b434abac5935311725a296095933f4349375a37999ad2110e975f95c205f7670bf8d378b2644e90abb36191645fec8d157a462a750762b3419ae7298569682fca9ca53b4d3e075a2e1988bdc59064927739e42456c4cfab2c918f98a626ac1ba6469374fa0777589e9c38883f9c4c77c06f9476c2d7043f12663aeee53c0a211baeb3523e872604c10a5f891957bbdcebe210bcb71712b69222f0df56e9dde12f0995b2323acaa4d83d21e737
|
||||
Ciphertext = 81906c245c28e44ab5ffcb6b642a793eb7de2a28727ee60a946e87a1d42bf920e1b346753d780e32e2b97e48d4b0b74b5c3d62e7e3d23b33aaec279bdd0d1a2e44e6275d2ce6f0ec8c9807275d711a70554d42196463f601b137da15fdccc37013a5ec1386bb6c9bd8ab4ed699da2aa18f46445ce854c4733df39bf52574eefe8bddef363d458792c7cfcb82cb4be5ad5760238766d2d5b85488873c92f508736a1dacc1371f7b278ed19abdd881d57bc242aaeddc5f4d9fad84e9d809287bef19600cb9a8d0e1f8e70060c5f8263c5f6ad67947ee64d9254f453f0861ca81049e701d8773a56af4e3ffc0a99c0a694976105060542ee8049d1c06401e9bc39d84f3477ac051356f0b417c22132f6234c47e1893318c2ba7f9d8ae7796f902cafc2328c0b6d86eae84a5d193fd04a50e6acc70536f35075a9b0f813b621a7360696556ef9940ce95be8bcf417ac23737d337097367db9696a23298c56ac85968fd51f856b793b2e989c96105ebe152803298ecec041eb674931b4f27551d384ae9b19925fbcb076c9f50efa23116497aa590cdaeedea581002a7333ce2af777f36a2b8d8095b09310bb231b1da7da7b6bba1f6980525945fd8ba54f1a25dad5c9c077752bdc6f9a6c9ff86db732e5ba637bdec7a6d3f29dad9cfa8fe7cb80595618eb963b57ef50246078d095b0beeab1fed68c5f35a01246fc51ccbc2ef8b1b6438d18d27da2e675157a4f16685f97b0fac63fa3e763ab7dc1a6aef785a1063bf760f32a3f81ced9986d222c1a7f518cc852a9d77b87db5688c7afccd38630c6219a8cb5292bdc025be4f0d9a16ba51cb0a819f3e8aa8b217b94b6ae7fa1d6b8deb3143dbe776c9ac1a8e1c297dcc761e49f98960887ce17e80e5f9482e46ed88351fa5c1654c709bad5d2bdc98bb529799036d0f880a492353b41db9b3d9622893ac328a1f3f70299a30ddecd78d82ac0e498090108836a2cc7fd317c2384d9018583994c523cae96ef0f8c30511a4ba98b7fde2a5e399c1abbba1b1ecf30b2a8b42b220d5f1fc67c4e9f53f7a15e8348913b2d029d3b9fc232107448af8c4
|
||||
Output = 99d2bf8ba621976b78aa1380fdb9a76e5e51a3cab0d6cc209b59e38e1b85fec9
|
||||
|
||||
# Official test vector 58, seed: "bd334d7b7eb14e00e68863f2e5551a095f8af10681c28353fd19b9a7e70b8bfe266840860609008a567abc66316c77ce"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 64440adb05db3308b189bf999f9ee16e8ee3a6ccbe11eebf0d3ae4b172da7d2f
|
||||
EncodedPublicKey = 01a3c3eaac7760d03b7699a4f10b7f43c8a4da183cc593818892a9e427b7aed713c66867e6c9a035c85ea4fa09658b407af48cd81103fd59b22d2b6d2e441af1c5b071742a27e351de43866c7c2b61057919d85396464251a38cfea965ae88afd3d226b9ccabe92906ed8bb833f5a185b8b72de7b472266bc840163cea957e812ed3892bbe63a181b498b4c4bae7726f8c84bc2d4336cea75cfa69ab6bf82e73c5aa228bbccb57ac162866528a29976bbdc09c2626129e9b0a1910649052a31bfdd44a8e644ac36786850b80b5e1b83a01c3856503d32a94c7c36dc4ac0c664c180b4888e447b97e79007e5c1d2335874b2620a750820958b82f567441d269f08a4819c40222121a7db26db0f89cc02b904ad38f4097858cd72c7d0417a1b83dc660ae52083d6b8a7175d01b74e530fca976f9db20060ccc1ed61877700cf2db38a37b002a39cbbe49a2f081cf7cb87a0680bdbf69234d237cf57a4c95c931927576182b336786725efa4dc3e3b0dc8b1e64036e7f5c0779624634e7cb34b5145d319c8cf350bee6bb61940d8a050c44ebb18ce08713366292390a27900e1a3376de14c59e7987bf4a26187406c146815368bacfb0970cf2a6d42725b8f168788b2709f9243d73a22a9badca4218a56340675a5240fc56d0e5c54e370be8b678b3a0a37291cc72152360e222a9a8a2daab4171d2ba6b0c1d5983cfaff4a737b4140799457994bc0dc098a67c23d5bb598641c2ba82afa52b3b2c93a1e1c36383115f59662bc0b16696599cf3223f96440dc83cac794b9f045b47397564f6365c5f714964c891447c30863b2c6970a5d917403ee4c8a4a57f6a6989baf06972005e8c0289289acd8d64200dbc85061c6f1ed2845a398ca612826ee572b755b674cba7296cb9ba4b3d36f7378bd79d73b25a7343276db09d76b2a6be2cb06fa887cbfb27560b7fa673154ea7655d076fab2b14b3c43f6356b717ac5041a3bea0864bdd19211ef49a5aa9a26c7a9c34c7b897e26e0fe6144cfb8c6f47c5467c06d3ec52de2800107bc322e687a09c2d075428365ac629ea5c29c418ccc51433cb90c955abd7bc9dd2adecfbe6295d93d4f29f67ed8214a4acda5cfc15e35ed2d115
|
||||
Ciphertext = 6e88b20c8d8be7cf9ac0d630498bf80df52cb9f8be22d174862239ec0529673efe8b7fee4a9452670b82806829b208dd8f3e79a9b2d7d288942887be9a138f44e96e947203c485e82f1a69bae5bd1bd57fbc116ddb6191ef39bc9765bb252b25689ca842fe60c547c737f5fee7acd2d214361bc1ad6119dc5d0533a606aac17b851b877e6d4200c4576b7cc2dde7942667067e86a080fc0a6bcef962a10e6769be38f5bcd862f46304b655a0f3cc46eeca3777ed295eaecd79c99453380c456802288d5f4f8e48d103b4a159431693bdf26a65f107680cab9df416573af62e7b54b427d41c8c0122ef3575fb8cb568e19e789e97df83b67213abc21ec2895504f72cc90469bdaac0ca2582934d08be26275ce03ebab2579e90238f5380ddedfaf4dcfd0c0967ab3566482c5d3cdf8aaaa46d9f876446724b2d97a3d14d3a7331e353c96632c8e529cda4ebb9748044a47e64d0a9702b44bafa4ab05cdc83d46a5e109c0b36c36bc0a28d7201ac304eacdd6987035f4165350b920db985d114f0d9f9e3b82673e642cc592e42a341d146b94ec3ad179f7adf14c05cf1762411eed3a8854283664d5f091fbe73bf83851570e2adc798ab428e992b4475331fa0cf0a42663d997eb5cad6d3d3f0a003d246470f961435be1574238798e4bb8184b42f3f0d1e7c22148c0e692b5080199993c6ce7c9b5540f07afade275f9bd011fa93f6855c7a84817abb7fc6cec6d487e9d58333ee9ddeb4ebb06656e06b19370669958a38ce1c76087bb5376e4c52e095eab2cf91344d8527e5ab8a122c72b2ebfd4260a954e6b2ce59a0336ab2ddc0473974e067be2180f889f32adefbbe6c654421553ccedff2776d982b35285f44d6308652574f6f4841c81d459581dd11a00c3189c8ed2e4c6f39ce675e1fe781051f80ce543938647918efd891f5f2b207f2dcd096f2e766f7004c39a93c9663a97a3f1cb016b1d740b01f6c0ccd933b9e0617062b68c0565bbf870c8c371468841d993a0fed2b19e19924e0c8b0bb516d71c48b70c64b603c5f0f5013ed580ffbe4807061eb813a389925af28d32d6fe3
|
||||
Output = 48d6e820ff23d18a3626489b28221139d7f05877f9cca10c70fe501b6e02f7b3
|
||||
|
||||
# Official test vector 59, seed: "a0264c58ab1f2cbcb212077fd378d340307accb31f1312137cf84e3d3135044d4eae8bd38bc3e540a0c14d46458f6179"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = c8bb46b3a7344ad170c2052fb042b5a3b62e0590562ee82577b1081f6f114d16
|
||||
EncodedPublicKey = ba24b97b85c0c450469e89895b3864bcbb291c16ad40da5503f98fb09825207668c6b028f304061b353320ac986dd09484dbc9deb15c0ba90226b79ffb260e80422fb937146d9c82d9c5be8a231c270aaf2b28c7772a292ca8cd1e8b0e4c7b2712b405a487aa8f0a2775486eaaf672d774701c861be6d1aa32223cd582bec2f80a1f291d8d099bc03c184697ce44f8213ac7432c4692cdf72af38484ab451f8800280c33a511185482c77f5e3a0231357558c59432ac9909e5b69b50acb0527e7ce2805e1841e8449d7d4ccb9596cc1c942cda42bb6c32a549b84c76875029c87b9383411d05c43c9b4de1c0b64d2c7f9d4b915ec8786590406afa0d85330d3c3c0235a081d9e15b93c34f1de2295b69a6723035e901758d108bb88b367db72fe7a31a5a834914399db946a60b5c86406555d9ebb05f836dcfab8359c893e3a145b9e309126717fe82c584181f9ee6270f1bcf506c344043c3d4c456e5e90eb9b046c2e3a8c0ccb38e0012a1d051fbf723e0d047f15555a275837338c3734b72f304bf46c779dad4828531a54ec5b1ad468c59a02b852045e7ac4204649c85488e33634641206a3348b982c7c095a22cc3a4401da858714357eb0c56a50a1f1fe53a6d707bfd24084519c987649a8937b94f2105c02c3410bac35bf832218c1ee57a3235a156df57a99b4cc37d521bb39921aa009ea9ba02eaf5b62181456c2a99f489b4569babd0910a0fcc6c7738a556948f7ccc7d17baa92e01b456a4a841d05f02e4b6883292f5326cafa84e02fb87546975b34b9d3508098a8b3b384c719b34bbd2acb5429707d60860cb713fb7d1ab1640a36a52b6f2bc5240a4bd930799111c164db5227de2252bbac406e2691da095c242285669c3ad93051d58938ee4139085157d457ff27a9bb0e1195f007522b757f47661c48825f8483a26417fa48503eb076629a630f079528c78a736523c608b9564288584732059c4a2768b8705551692f5a6c6aa7a50fc92e57bbb97c60ef5ac57345500f63a1f33a929c2bc28b170c2134561bce5858d62bba0326b7c54841404c2e2c7acc090a7cdc39d2d60470756c63ab8ce021bde343051d6767358c434006ce88f2c5fe9122a968c
|
||||
Ciphertext = 4548cc765f64cd6b7467837da0c281ad26410a6aa0340f177d07ecc0b503417529d27900eef2e9ab0693f245aea9ea75685535beb01daddae6cba1e88cb77ce7e87d2eac047b3358db198646e1bfa7e49d4e097f7b00ba0919efc462103f3c0c9da500617b33c2bc03edfeb2beb0753f5e51a79d37b50474fed11594f2550128a8281e20263526064f3e3af612979e8889f776a539770186ef319d1db18953384eb6fa63a18b8adc18a18efc4e8bde9dcd670acb5c24ddc2959d4458893f02085d91452c5c02b140daa2759ef6ab3832a7424bb743e488c0fff42ec9239f74b5a3ab0957cc6abfd85e6df8e477e3cfa0765cf1c6b3c875eb1f7f19be075ec2999867336c8ec662a44556d441bafd39e19af78adf18d08de187c06ef3cd986bb96c7cc890fa77dd18b24676aba5f010709d8c6405c809e223793b7dcc0d3aa0c8c174c311ea6180b995aeb75f571664e32bdccd536c92914cc1a67099a461f0b59eccfbb534b7920048f32ba78e6afcfd40ba9f747d735dd998765168bb11e35cc38147a59961da938e2d6071523eea34e7f266c662675668ddcb0dc5ad56a2cce57917fc2c625726fbb989f4f13381ecbd129508fa3a8c984f1642be6e7b850220be39dea6cf56279acf9a4b66ca17154f5f5316a985644e30d9ece633c11c8dd139ae863ae1e9745982a70110673b4e05ec960a2739065f3134eb4a16022420032b8ed7764675d94b01745f3f1743548faa8abc31b12c9f83e9af82053822e304a8c54908f64d36bf3660ea569fcdd156dbbf8edc15985be6d9e1f07707c682a4643d1778c9d1299dc0b9176dadf8e51bbeb6614beb9c3062ba8f0cf3b0d82ddc07dad44824fa3709087d246a12a6ef1330fdbacfbd0e20cc77f6ed369e8e3c703db1905cff5c38896e3ce6279f677139f5b83c790cd0fbe191d8a8d5d5fb9ff45f65f136dce8f3f383e60c4c49e1b19b9c5bd28422d691cb23b528909649b8c3cf0b52b9d845eadb4ef4776b48e74cf7232b57fc4f76ed66229c63bb4c9e33525f989141cd5147d9b9fae59d4b81dc22e5de9cd7939b2b1ada9163c5351e59
|
||||
Output = 8452c98810f3a608492f944192785c59dffbb137f6ee1e8835d1cf5a1b63a185
|
||||
|
||||
# Official test vector 60, seed: "99a9cdbfc674ab3ff2c64cded7d697a6e27a767434a47aff7c3fbf3c6a22d6043d27868955286a13efe3de36d22ec48e"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 2e2b70609f3fe029a14d09d5d659871ac776ce2797a0355f16e2eb68f5613fd1
|
||||
EncodedPublicKey = 257b1b23d578d652c7d6c5115d93b9b712c1a71120fab84819b963ef8303da408b3f33c1d0a6cee9d596ce74a48b827e5650a77da4593e89cbec23a71a4931d4c69657037bca336627807052d9823d484619fcb40599326e922d25c84ee0fbcd42e60ef4750d25a32f2c311ec8bbbd8c7c407f214bf89b3e90a8396a777d4a622cd11349bd0cc17f209c336808ba435cd02b746c841959cb2cf1f17b13a9979ae49745990a6e7b09cdd46b03b3956787205b52541fd39d1a591b4947721cf402df201658077e327aadf82c4503706dac6b0f713a88649867fd7a1b083134d46a2a6099c2979bc72f843cf9e90184227bfc2850e8f887052cb1f1971518860f4834476f3b52f2684412d2442ba31d62c0a6b652a779002c56954298542072d97e2d2650a86aae794171a865be78fc7b4b17463ef16b1739191af17f7d97b4cfccaf706ca1a70200095310f24c626ae9878fb249c0f35f88005aa0420733d1571049335ec1ad2323c424f64dbe1007159a687ef74bb853553af80f686482f1d6331a166fea28971778955a793cd9d7bab0ac7513164b93e24e2ba863dc44bd9a0cc04fbb87f54a0857208350fa25dec2b599d19f4d9c21c3614284cb3b78836ca3426f5a9952f28716c36c9bdf8451949b0093da26752b40db4a4c2f472d35b39466092876578df7262c0c32582ae7b62fdc656bf3265ff751d539740cdcc2a54a7cce815a9da25d49964ea42c8d0eab09cb6b55d269c912b6749c8ca58642c81af29a25573e42551f44dac9c60aa182b7a55650b9b2ab2510385753136f696b4ca5717461798fff109a2eb4ca46e99ddd1187162c6aa0f541356373225a6c80e0b509733ad8dc9ba8610344945c8b240e8333c187ac341e2ab6038c323973acad1706d70b0c0d9c7536820af34475cb07be00048efb00657ffc2baeea0bb5488514a98a0b91cb1b3304c262413611790af6944c070372e470e77370eefb4e958b8ab616aa27099a0ab7cb35986ce614c145e1cf2f484584547fa9d76dbfec9c5e76577508389f51ca2fe2bb787b0f809bc95315a23f98c6749826e7a6072f352c9f7a5d040682c9c6f462593e69a2b4f1dfb44cb6a9bb20946390372d446ba410
|
||||
Ciphertext = 1b1a2d0d2173fe5a6ba9941208df08f6dc6a35e514e11105e0b228f76501d893b3d5c427a104bf772abed0aa6543d5daedf284463eb98afc4dfa517f304648aa69450e68efb54cb2b3c0d4083e54b7690590589504eaf495806e9ab25a1c774f9a56530b5b39f5abdcdb04fe2fe70df131834ca466fa63e3a2e8e911f2b3143eb47c27c8843f25cb9e07a9ab6659d324a83cfc8beca8cd1bc535089abd043695af856534135a1347db23cf2139ba553af5a9a5599b38c870d455c5f5316f5e840a088d0bb65c0aa190e2d730a5c04c508d6c921489ededa6f156918c839ea5891f921907b918b966cd9910955ed06e1f0dd41581a21d9a3e8f18ea4ab270e5b3c0d66308ad44c61c460c0e90ce3e7677485b50d934f37c9fa4bcd362c5c1aebbeb86d6191c87462a20d7d0d82ba974b943234c8c762d45deb41e960af50bfbd9a3ff1ba739d4f27190d4e1d50533b1ae3475f8037a0e7590fe0f4a10fccd5c0d4b637ea83dbab8c84cee64af2281d1a609da4e53f5c2d3114194a57a67a63eff298db2abaf869ff6887cae46a630a5266d61c4abf3637802471d33553f6fb8d6faf3bfd858ef841440b0f8b96b36d15280f1ae0a5aea06625e9aa36b447f7751e3a6b76e82e1828549585e367ed1b84ecfd4217c89d60bc6be579faf126b0708360a45582ff96168230c8339c0ccf048be8ddc12184555b89458fda4863e5ccf8a2e2acbb23dea457d89a4d1fe74f09b01d40c37c1c02a31b83193eda747fd517aea237f626cd9bae6e48f54ed27c18e906f8d546c21779d84f925a0ab0c0f796ac0ea71ed36685952ac0e32efd9036540d94f8b322e370875495d969e946c1b0f5357b6239a5bcce42f873faef555cb60fbe03f6567575f5b18c4e238f542153e716bc1b79ed885beb1ad4be24394139b6cfa83e4a4a912c15e90755d3dd256ddb58363299efead6db206666afb07df74ad7db4ca7bfd4b6bfb6919f45871575fede0a549eea725399714f309a581dcef08a17f2772879d142dd300c4208bd266e8b04d1fe0b67d08d44ef91697a1b8987139b87f359fa8e56347b68b2ddc49
|
||||
Output = 8502f3f616159a2072339f7858c74288420ee98612d43a7c8eaffdf595774258
|
||||
|
||||
# Official test vector 61, seed: "c799d57b41f28c5c446dfc58a5ac6499c4bcf3c162afd2b09a16549826ec2a6f689e44bafc4acc82f5d6aec23f4a3993"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 4725dd8fb314bfd8ee23731c2341dbe114606d9abe6434c471b5573e7df193bb
|
||||
EncodedPublicKey = fae78961fc03b60cc6824ab2b825af9522c98a564d66f2c50929460dc961f0c83d4a456247d044d9c7427330469f5b783c3a19c357962d9c6a78fbcc60c279842cc489866f9ea49f139821aee82ab44191b2093f6e222b93329c1e190c8a4c45a5d9638b761851b45180602e0cb94a6df475b76a87b4517361687e22a7a0eb43372c1187b005945946957eb191bda6393604573059275ec423874475b3e976a09453fde3c2c6431b8d132cb12a874e742314b6859d08ca93489d378998ba5158e9c8a33fbca1007d979ad15a52d2821a4a150ffb1454f502a97287b2c0ada7847c44aa6dc85368e11a0cecd90f80e7c2836a63f2129d85e117c0f2a9cbfb7a4f735a64e277fdc558d617182eb534391c4574550ffa84c4f4814808257d63119564f80babf87b51a438735576326169387cc04ea781e710485532756a689c87511fd4dbb3eff63c1e943f456a5c03768ba638418d8899c24746a52186907100650185fb2c6bf2c6554503c1121cb2a62632446bb839027c08471fe2677d9dc71031622410408bfccbc7c50ba5e87238602cb792a3a85474ad11ec9dfdb97b202864dc9a6691b3546d746e5a55a594cc9daf375f025ba003f44f65762e1485494006280386a0879a7fc8b62f81b3c68e779cd4cb82253c3420a30e8c4065f2974e87961ac3a4788b5ab0caec03eb020053dc32799083b9dcb3d23b044f29540b87c54c06a685e50d41491b05d0546a316b09524e6de5838dd9b4abb72975bc40ebe2a224e787d489c4a02a9199f49f48fca8f1171a31eb7c8e73aab5a6c8656ab9ab08cff7913a60a137f5eac63bf91270831c09aa233a43b1462bbc5fd685029a99a84c53aff6bbfa429829583da1aa80fd2c4241a9545b187e7e3038a3f8c22d3a8e41d66f93e35d57d487241883c4e33dde6ab3aa3534ea648d3a8832e9c4891caa45cf8610f021262b550253308fd579ac64005ac97bcf986455a5f0962af45ce9408e4369360bcac705709d79412b3be96508952bdc255fdb571b25c76b56f13f6e666fd48bb0b51368d8165bdfeb78f3b978a8737a1e4422681bb9d92320928996196f07a694b049ecddcd014f4ac027b1bb3eba7a4f5c9b650cb367b114
|
||||
Ciphertext = a790146093864d2226ceb7c7e5cb425d719870c09002bbb6e75ec2f329e637436454a2404f8b12fcdcfd92b4ef77c3aec55a9acf4f71a31da723c7a102e477bdffbe524c07d64646caa32fbce64c49536b9bd0280f8f6b9adad64fc1a0c54f1704b6293d2501e60ef02490c6f7a7b2993727272b013bd7fb36e18acc6cf9e3ee8a7d50562cde78b757f6f37930b63bb5afd0ae05e128eb2a7495cbe4c7de9524c27730019337cbfcf35f4c121e319e1914a6e1bce24c1ab9db1f1339546c1fbfa00dc3412bf5bac686f4dc518bab5f11fbdda07ea1b7f9a520c6158115384c702b1b869c02697a24241f53ea3679dcf5fe02e6008a5cdb96cfdf3fbe8733c77f8d1b428cb865d4e81e51a465b2dec7fb18df24d84571cb810942479465a0c7348664a6efaa22517830962b60bd3b61adf1e8f6d69d306a186b25f3b12927ccaf2bf0f07650dc8d537ea67d720ba8bc9a2fe49e1500af3ce0fe3cbe56cb38c05dfafbc235c6a390c489c052225bd1a82b4b2574ea5a6a444d2d58e87358338431c2387fdd5a3842607192de72b83d5ef80ca90d62840a9aa217553f13733ac1e60c959c0d98405ec3bca93bb39b95a8373ea2242285908c9a5f4ae8e27e64fedefa25c77d77635c5f315299ad539b1f4cc90bd6fa2887e23afa84a66221d48ebd06bdca2160ccd3a984c0f0e70ce1aaa495c954a9fd9f88cfe1fdb8054b4d3a832f26389768e805763f060dc9704db4743ffe15991901623e3014d6a756facdb41b6b30c05f69d020ef25f30c2fbf4c2fd7094636de15a940d0a658ecdba88c99d97b040707b97fcf1a6221ac9b63d2e09f97ec1cf2584e2878f673173b04292fe59592da30afc14ca206e6838fde3cf9ff5fd3a285bc28a341e28c4d82cedc5576d3892c39b9eee916f83899fd63996f1d2b444e24a74b5819f70bdc814353cecf6884cb342d973270086c3d78825605dc6b2c835446e6118e93d5fb367bbc64a2efb3097365f62b00fd29676e8681b757bbcc548b218edc0ba02384e2feb3fb4da51e12e186c3daa8c76c7b950e698e4de237c673c14a36d82b8a7a1793b46c
|
||||
Output = 9df5a20bab82e9e81fa4273f9fa61f9b3119fc49603c57d0309875fe2d87bb20
|
||||
|
||||
# Official test vector 62, seed: "f7ae036a0176a9de9a036a542dd2840033277c44ae936d10b768566216de9d4395cd42b116873b69d9804ba6ccbc05d5"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 818d3bb8ebfb32bf464775f7139bac0a5bddce80ec5798595992f9403002cd5d
|
||||
EncodedPublicKey = 24791e046c2bf0da85e9444b123024f5d1c40a14b85a188aea311d220004477a8605b4c444d210fb01941159a3a6aab366e45638534b73e648713335539827573ba83336366f0a891cf52ae2579ffa63006ddb29c3a9c7b0a86db226ceb576a9b853a98f42797e0625ceaa18907c95e8f68e5f2056987224112a026b9181aa3b7ad3ca245eb7158aa08a48e3a5d8c67ecc78822f3a1e2af243aa68a8f1511bde6989ccb546116a66324519f0e957903b7aaa544aef859aaff4752109ac22f6535ed15258886d799a844969a315a6b22b714fdd6042b09066675526a9a68b8b40a59e28739e871588d56e8fb987f5469f7da027e7d443d8d115bbf35c031b77d0597e05ba95db486dcf4b025540cf983ca11c08858f7b596233ca96c049c9810fa70840b140bc83a90d2ac121f36929192a14bfd84ddcdb42aba29584103967b70fbe42272aa49ba252105268451a1a5ac86a057ac5326cd8497b7c7491100aced86f0a8c286b23c94cd617b2770d8b5b06dc47231f5390d43a4355427a2f417af243a80ddb1976b4a6bb580192b122bcd28fc8664ca068404aa1ae374ac8e0987fad50169c6393fb401910787c1d147c6fb1599cd6a08e5b38330409a19b26b5a074bb3c0bede2b590d33d6254c6c9848a1e9984c9401b924b62399aab0a51ceec520bf038a6407c90545b93532b8c475043cfcaca96fa7f89449ee55742c455a20df3bec78b5d4160c181724610a01bfdec8cafb24c5ba43367c26ae8724cf791a5bd08c56059bbcc83c5431289c17815cdc55b4ca65b6b8ac65aa0a11846c1113bc765aba1bdec6926b154be164783b5a581aa2a985a8f70e7b58af53b34b023bc571cbcc4ae4d200e05b958f18b6a969b5fe31992c4c6631e158869359f49b03c2a32983d37acc7f86a3be35f93ecba980b317b4868b4f917c01a56e230ab114c6e11ebbd3adbbc2f047ac550566007cc5d95ced44775e8d0878c144ac0631ba5214ffd3960aac81f1954c47ffb7b420059a3995ab051c6de6a1733f30cf7009f5c9bca2c018a09f9527eeb708c37270261185768bd6738208f1889ed69254dde69e10ce648a4843dca5bed5c993b0cc3bb94ab831031aa30a30b1ae4ca05
|
||||
Ciphertext = f4ac52b1079f555b68e53478190f9cf7066fbc1bd5d858394504b21094a62476a7fddea06435e0b1864f25ac8cf53ebcb3a366b0b1294b34c86ab45db0b9b18b2f1fcb787ba274a4795789c4c637c2364a336470af6047eddf1a21832d3392f28ffe2f619beb634e97aa2823cac8e3ec0be2b51daa66a1ff5df4f522aacf7abfcb461ad8342d1b8ae95ff0cdad8ec69dd9ba1d3757171391f1141f11e4146f6dfabd1cd3b605107d8707f81fb02ea2fbd450e8166a069d5633572c4491858e8867f557103e093362c79b8285625c10c9efbefdc7b76c9caca03776ad7d4729f150a298aba94f2db889325acfeaae9b4e64dc5381fdf416c7b93b26f8e2f8728c41961075a9192dec1e3b0f94b31aa2ce4d5d6fcbfe40eda8b71bd8cc5f989d37557d4de2cde09d3d3dc80826e835958be41a0f70dda947198f2abeeebba6c4ca72148d60bda3e5eb2ea6dbe4f364f77a78dd6ab0699f69132b06cf8039c3cfead44b2baf478adbb5ee057ec8d35617d5bd9556d0a3aaf5bed54edc51ce54e4d8edc58fb6af04385af9ed2cce8910cb62ea81d462222abae222a13a256d9c9eede399de06453072caddd45c1308f088a1335c7956f323978f4d1a6a781de504c3782442805d35944e72002084241cc09c8cd7a28294e6e53faded39afffef9eeb10f58cd9027fc6e1ceb59e7df1b8d45243cc1941625f529aa2434638dae12fddb42ebd778a49ca58cec5d383e31363e4d36c8305182b760d5b0b94fd20253b1e6f6b6c77f74449e0e3c4f67a269a67b648c5f2d509d43e48a1d0be05efdec19120273e47f7937ed88e1e07c2c754d0ed8cfc6037ef0d08365748d792f77d40b29eccdae6a8c53611ab5b0e337041f7d0727b5f6cb2c734aa35f1f1a1111296add43cd2d4afee6b5c2ad9e7f61244efe281ee7a12b0460f1a5763f8d8fdab1296908b70b76b8355960d817d668a24497c98151040a8217d9ed1c4932f5d27047f217f1479271cbb24ed96bb15f86ab49b60d07ace3013beb0a06a05cf684758fa06aa2ae75c85b889f91f33c39a13fd39d2a5f08d98c10286afd04770ba7eb79b
|
||||
Output = 44b9a28392480fcbabd5365202ca4131327b953bcae892fa70e7aaebd19789a3
|
||||
|
||||
# Official test vector 63, seed: "d995d38f934b6e1a7ca77c9522e3d037676cc939b0c8bd4b84394b3dc91a791f09d2d97199258c9943da955e7f7b26fc"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = c92aa5fb91c980d9cade9ce99d4c75b2ffa7d6a6ff9bd59def1aa701f2a0992b
|
||||
EncodedPublicKey = 35cc8456a0992dd4081b0c82bc67cfd8a00308794c6cf3c5e9803c9c531329f99db4b6194fbab5d71559cb5a48bbc2622ca13d823a3fccc86782f14a84c273fb5802e277a4b78a38985ccead800ca95a0693534d1897cbce217455423fd3a5828de069b9c2414686aaab36489ef05c65f019b7d53059ba17522c3fe5a5bb3d11a26d6a1329f147f9ec4c57446cd29809ff1c5574149ce3f44454fb12c60142bb870d87342522c97cee47c5b541b261a7cc59696d9f48790c3c6c96807683815489c676bbd98327514f456ccd9f502c332086dc3088ea0ac583430976191f364697a5a71b0a879886464e72657022947160904cd007b97815a8d1a0b85e8baef89131ae133a85b06568986aa9c14dd297ac6483c62a5951bc808bd284838bb8b889cc3990b47c3f158144746a01b31b6da528269209f887617d928939e209d38c8d2eb335e523c2dfc96ff917a421a84ff1eb17ae56ab045461c417112316282ff537bbf8cd49e4027c41845d41ab8864a33a494cddf1413131b1138ac65dd24ed3482d3b396ec150436aab0da1cbc30c6872bad29d6f620331a36c622223edc92ec2d0604d7674a538b25b08c54e23be288bb804892b3314562a7071535879cb4b673075c734ac8ffa96ac3b1b23f00b4e1c781d9a13ced69179a8f847603594ef3868c128c0fe53a9d355ce9638b57ea5c324e83fab909dd717b6297c319a1320f3dc9fcb8155326c0ec95629e97788cf966979457a7f8b596677208227286b8a4dbaf7b1005539ea8474e0a9255371c120986a640bace8a949bb43c72461b08a63cd992288d294a59049a4b4156aacd9366a6275412cb9bdf3cb9373aeee29c2d0cab14ce7905445c681166ddfe7780abb6efff89ccdf64f3386c89b4186787c8e5b19a949b541e3b557d4825ffbf22e7b821708ea656b3b9b605a63d17abe451b65534834adaa7a56184c5a15bddcf799a8108b479a4c96962c7a685673fac82e7346acc037208ba100236b02a26f42549574109cd5063d4c8baf09713d261170c73acea1b2662d1412ef07b967fcbd39e094b4aa25f6cb82c397c1378483b1d27116086b8b1053d87f9e7385317f69bf32ff66518585fe8448c1d4f6085a
|
||||
Ciphertext = 347166e8c6adac8eb4bac86504447411290ead3c02cd59dd01cf98708fd650496987bfcf7ef1d4b9737e65db095cedf474fd3e96a6f8eb3849692b40c56f9c979d8674390d85e240a47821a5eb9c11e652dd9be9b80f9e3b4d7b7dc1e7bb4640c2b285e37d0bfe7145c301149cbb2804672eaefee130f821bca5a833f81dc457f9986000ae1c23490f50c82704d0683769fcc21883120d4aa1b2d5052891bcffb286b330eb765aecff99ef4dca73498dd0cb99fefaf66450ea77375b773105d29bd96457d6abe0984377768f33a13d81b715573d4bf9be1ac419902b1b45b1f01ab05d74ccfef09117640978bd9c40abd042ab4d48cec4358cf1f51246f990d52d0babf0a84b9fefc594b10dff0754af94066d2da4835f0e058616e952d51411dc338c2be7c8a6c29ddb2f74428c28887d623f44fbd3627c4ae51f1d89bce8c155928739758df6d61e7e392f2ac52449e892c3abb1873a2811cd183c5450a67733b698ed021334476c5ae1cd5ac10750b285c48f8820ed2f4f8b8a7287aa120d4fcdb80c74f2a48104f62856cc90023ecf7b824bffbdb648cdec5d30a80c1abb521d754c545e1f48d167d51cd0aed6b7b4f8e43072d2edc01f6062ab0965d8fc25ae2cb02330185cd015991b2dff56ea2be093676a991bd924ee782af920997dbdb97e9e1cb2f2c0a5c81f9585cee07da3d376be287dc99842824b9c3c71fc501aff215d74765b913adbce621529c5b4054af75e41de40dbe659efb3853948e23ccb0e89c2bd7e2764b15e8e27325dd5668978b45f16d27243ae0e95e50dab1eb9412f18a0c0376793e8a6405617b63e49e535c3eaefb9eb5c1a573c7a419683a1d02f7e9826ef14c4a6cc024db10df8f7f0e8a25ef06b6a70ccf5405f3ac68b6b80d45ebd22f68627f2c5a089a585b057df836fc53fcce926481072439df5f4483be961f2b5483dd6f8b9d3a195f7d13415e2d33bb2c9f8f5b70766f7e36629297d4dca29be4a13dec5601e249dc64cb0c82bfeab0b25789bf8c38e96014ba71a59de340999848e73b96d7d2ce1bc7be396e2bd85e1821e3409d5faff02bbdb
|
||||
Output = 1d66e17254ad9293b69b3a27daf763c95daf081ac0d3301fda9e4c80c2538c3a
|
||||
|
||||
# Official test vector 64, seed: "5929f02a271725cb40200de32d9d03d8bea53b53ac83186c42c7f565ccb1ca508305d470850cf86e9b2c61a5b8ca1c93"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 7e8086a01dc5b3bb9eda25bcc45d27f99874841b97237968495800e007696ac5
|
||||
EncodedPublicKey = e1cbbf47d0762c5b9f1f1bb6d0eb9e10e0c5bd5b90fc20c6aab49981760c4a2c7beda862f38738e73330f603b9dd665a42f371fb2437ea782e4eab586fdba27cd6319c5b030b7b5e0a2475e3c2bf21986656db623d1203a891048e810c87762ed564142fa1078b5aaa6c28064090bf80e3477e38079319cd34da93da2b35bd0b87e9e3bc95540f68d4b0e816726235047b54948472be171ccf412c205956b1888a08ee683ded579d19529aeeb0a7a0a6aed571a8ba327d071360f6e7c43dd34baa86afbb995ee0f30afa82bbb68117d3f76972e79463519d2ff808783433603593598661b517042ff97210b6a79c094e0dc17928d98f77f7311c45c33ae6c54fb0b316c080da00bc1c395ed2d413924499e16bc26edc82e8c463ff79245c1c3329ecc09f4028b6195ee9896b534b3b8e384ddac84fc08a482c301e05fc12aaa9b1867973a76999ebf1bc84b9484a9a112b55b11788bd145312bdfb4792b67c7976141c295d9c14b290d524e08a31cc190d1059259a4a841dd904166acacfaa0ad043429e18b73fcb7489a17fe12a6e3c2779c063732e587b0c27c9dea064c76c6bb3776cc1e09cafeb181719ca14312e3391523206211277a4940c4102fba35a6b43c366b588975bc9d1a6a36bb0487c143ce31b2e45524b1aa1ac72a9043216c49167683b563624bd5afc566c7c866473bf06aa87f1e9742170c11983b8d4b1a238000b92a60e93f51ee34a363e8962176b419728153e271e320bb409f36db543617d869ae9b29cf8c0a06ba3a82917af17a741f0f718599ca295ac4937e50736357c36faa6e8706c2a448a2c34ac309bc3acc6aa04e121b7ea41d07a98774023bff21493c6c99abc22101c4e140266402c4e158041e00ba46a0c6405586b6e5b8ad68551e05038ecf61f78b12aba025b6991b33ab12f628b980358509deb84975690da260941b9ba433273db45b52c37120c19823f6a542155cf9800a2120c35db2283188c56956c6a9b1ab5384b1794bbc2896a7cc1fa48b32160201115ec866642eb88ded975b0711fe1117a87cc63e048ca64b45b2d54242ec951aa259ec48f9f9d9542c6594aa436a2a2e6d106ea9a7487121e921a8a7f649bdce22972
|
||||
Ciphertext = a850d0aa76cd5df68345cfb288d1e5bdd01a6f40eaf975f04d28ee0a9d52b63d01b188aee0d5445de2ef0ab2b72387facbabfce91ffe659aa20539cfd5f0e18604d9718aa43eddeb8ff7c989b161bb05350f0a63733748b1ee2fef21d038ac9aa7544dfb71b9ff6a8ed64afbd0861cda2ae9d5ff5c7cf2d89a624ac6e5aef1c7a716c0320dcaa2e116bdbf27e96b4139f29ed4e5c4ecb88d71a743d038472784ee72b2026c43146e9b36205c59335d99e784a458a99fcbaae6994c4c616f44a58573c9694f5ba7e35f8cc20cbf56a6a5d93051cc0c2d2f48c573ee0bf1123383a7c642913e0460b4b5047cd3f73a95d6693f4ba8aeb2fb013666f75b073e8ac0407b2a8d5b6d65fd39908dde32387e3e6ecf18392cb612251bb6b79fe1a4a78d8e0c6c773d07f07aabd8f6058efea1807a5f595bb505f05070d24a8ca77772e49b9fe9b089197026ac66ec697e128658d5d6d24b2b01ca9e816a96f5581d15f096ee95c36aeedea10a55d1e1e1c373692e186550afdcf21f2ca36819bc1f3b1239cc3258a2150733458df8f2545eef0e20d2f0b152724c4174ecb14068420d33894a07c155df833e1b9d262368721bf93fa0cc858d4305d210273a50815b1853f6e83f72d890c6f7a37bb618371af3f223fbe13e6cfcbb20c16113b0c85aa7d901d70688d62f185c12f9f7beabbb157e51e18f9ac7b42edff393b5097691e5f3aa3152a84674cfab6a080fc4f054d8af530a54b31451d17bfb6a75222d423746108fa3959c79b2b2ecff2d25dd402c8c008e24a58027c7bbdcc3f778e1d607bfa7a9cc9c026e0c2dd033e950efc5631c34aaf49725a20ebb3be6a05626db7aeb85778094d681b798e410b1b87368a149259a5e32c760731cad73889580ad1579d9bad9ca8cd7c72f52989bb0ed39aa9ba08a62db3d09c0cdab66e8baa664db2f0728de104f6db3525fac8314b8491b37bed5a6537bd8ca2bd676646968368a2f7937807235f784bb3e28c7b19c3d55ed6e90d2b0c8880552195d244a001fd6f6564809330af82c15bacdcb2be503a66b402fd8292944de8f1330e9e097b09928
|
||||
Output = 63fb0d287b6bd4ac3eb9f5484195e5dc014dcb96227ed53a90b0825458343b05
|
||||
|
||||
# Official test vector 65, seed: "905074033d7b75deb2d06a2f29144eb377b452534c5710632989f02d45312d156557e96d4486020826db200153bc4a8b"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = bb321ef14d44d8698df879fd52450567657f52a2df8d111185dcd7d4f30a72d4
|
||||
EncodedPublicKey = e584c945ac302e846ddc37a6e53b6532f485f29644f1341a8c1bc75e8b3bb4a114648597bf616c9b62c6af9878e86a72218263aa2b71588412cb164464bbad41b78856d3387b877ea0681ab041a2ec23b59fd58878263fb7e21a2e0052b8b757b6018382a67450381145b94c84db163dd547b80a259488cea36a6deac33821569534529ded481c68fa50cb27019440470161b224999bc143b23a028ef97691a38c036dc68e8ab51a55967f6f799fcca9c1364297551387d8454569e327699597d6718e39d75aff32989dc4bfbd46923231b81db94cbc18131983a6b4c76d8a331a7c662b7e564adfa7c85e61bab22aa4fc74a068f077c6020f865b8156118045c633f9a3651ac082f9c2b43b29c8b0435b5c25c548b2656d7542e78015ba512093c58a4da3259257c1b1336e9db11613c20148fb1c19899eb9d6cff1db1070d966c9214dacf17078716b2f794bfcbc0745470280ac784a857d07765d0cb453f5ec227078750061ae851aa80324c2b7b02da0b6578f74015fd1155f3118a3d01d7708bde8b19330925d2bfb444408c2f0942c5a226e49b2c75e5b1bf4a619f46034a3fb67b5c108c94c9742794cc015126e06b3c3d7b33f722414d4a784f82858e342a3d0345216a34b16c21ac00c25e16a2916bffcb129c8570b41c23bbe66704a31ceb678778cc768acc9148d217cb4c27d59c8beb9d81fe20b2ebcc62bdf3a14a9071786d55abf27a115f8861c3b5ea54a83ac3030ff701e04228a3bb4c61f8828c608300598ab4db75223d01992fa8179b180ff7a2b4e2188e96b4cd7ca73551605484662e5ca816cc81e3df8c51e8a2becc4cbf02462b7f8219ff943a26309db9390bf1706229810bdeac2a55766aa462655f58d65b9a573d26fd981191598120cb929de8761f49817285c3dedeb9ccb99cdebb7c79c0109943308127baadde4a2bd9a78953800568c6b73634817bc8b489b945824609f98c447700f2db6256d887e75d48a7d6395b3e5c24220604e51cf9ed7497a8638b1bb8b153c40ac084e71511680520c0ba975a936541a96c6337964ae55739e6a055a42b5fc4181769f0f703afe5726b5bafdbefb73c6596e4ca7a019c4bff691222ab1f39c3c00
|
||||
Ciphertext = eb704dbe82bee9e35dea36bc0db51bfe75cdd6666102a9e85bc3d4ae5df6c2b68363ba5ab1e0cb73773606403f5f2a66c9b18d8cfb1fcf74073c0afb3e28afe3f19a46b324442169b6bed183d60923580e2307513417dd20820013538199f2ed352d45104131c72afdd0270a55003b0be17d3d7903946caee95f5f15f34017173427b767e5425bb34f51bb996a96899cb049a9f162b8e555ab8111627bf9e6b5410e4fca4a875a1e9e12aeaf7bf3b7a14e071bee076e26079d120172688118a2279220bb4e117e1d43a81e13b6fdd2e3cc162713bd38fbbbc1ce2ce92a2b6917a2df84346353c618b1b00702b850bf3d37e05579081444cd14799acb63e90fb7619ad60b04a66397db0a0d841b59560995d257c24b774e4787434554c66be0c92d92756b3e2166a3cfecd1b1d99048dde96da8d88f9c8b1f2af66d6bb0760514cdedc8930247028591412efd52f8186adfab2ac8ff032c3dcf9600db72c81f6aea84dabf4fdfcfcfcbb2c82160f48d3f0eb43a3906175aad7ebfb2b25f3247d886380b727f7570a6f1d03ac5d0bd6d362e8062aef5cdee2b1ae8f3652dd4bf414de6480c6a5b109a50c1602c02216f587b1c61f697078180a13344d921643bf39914780cbbdf2f2430364355891860a677de5f6ae26da07f8861a22a8d331fb3c6df71b2cac14e2ccebda188768c7ac3012911026be55f4175fe6cbb8222ccf8518a88e19937e6d5a363bd2154fe4937ab087c2bd7edc4f2c9bf28b6891477e8f4c64e12bc7f94cf698732c24ba69f1dd9ab9aa017fc5968f9e209ec6dca7b80f62641cdfa67cd2712c70f3257526b748e931f9ab1ed1025bd088dd63d9b4437f9d020708f8ebfccb97f07364c4434c2a6275fa041a9cfb7d13ca2dfe6798adb4045726a39850ca784711dfd334b031fac01e8d08a3abd1b58259cd6f6fbfebd4db5b0de9f61481d53d54ce268464564c0e4865c64a84e89a5df4d9ed5862966be5e391a5ecab6fc439c6796cc91818b5df9f8b7b930592fb02196cd8418f1510913028ce3f2d1f72b4353032f510c9e630ab56d2d3be2596fb47ffc0dcee851
|
||||
Output = 638a89c9132f4bb5c91f20327b6a6892da980dd71210b85e8361ee4579397ccb
|
||||
|
||||
# Official test vector 66, seed: "a3e2e511afa7bb560446bdadf67d2ee2e16ffc7baeae7efb8c5455068bbd4e91bf9be9d98b280072faba7712c75b26d4"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 210a423dadd899b810f011794b79aa7f860823ac1962370e791287d3a1afa384
|
||||
EncodedPublicKey = ec730e2670a76339cfb5f570f9d0531592adc6b0774b100ae5eb067be5c310d490e2f59896a9205853b8e7d530120ccd636b6fa597af401cc4b6b3cda812278b2bc68f8cccf68bb31fa9466d019f859364a279be98458cc7006dce5396e65bb515dc524cf620d67bb20dc07098966ffa4ac640c2710bd18b22393a4b03a010d7beddd2af9fcb3cc90779562a095704732d6485c459330b01cda164b8426c167cc806157bb679502ac53165b97931e525a73dbaa321e0c627a859c3549fee88bfe26072beb7813d48442d2cb7f9f28531a84895c000845017f10c1d0438088b710b3f9b2d2b382d12d101ab78b22f00a978776be4d81b663a82105c5040116706b772cf569246dc75fcda5d55e88cb8c8cead79051b638c7ad61a39319468ab2743abaf4514b2f53830aee14daff31a63ecae55a00ab162c60c967fb687ac7287bf512850c6122f7a80ac07e18d8ea86abd452561927aa6dc39e5d7483ae02cb475b04faa8b0e95c1ea1279eb6431177407da024b24b124ed3061c8a7a6bad5aa451a0037013ff5f057bc9455621130e8a3c9610b49cc5ca1660143b6368fd2725b8d321b45251f697cb4c18b88d1521de9f37dfb688eac255288e474b2997756a2285968a060422d697442e73acfc1a324c5418725f335f5b00a03d39133d8c82697469a057b62362e1534ababf057aa78299bf942052b2525c92dd84459536ab8598440f0cc62f7e3bdc7d79ba8bc8b8e977480d1961c73618200cd1fd3bcc046126d851d16a1943c9c3f3cac6a283b1247c42199f1159f9a1062799f40580f5034649ce66b396696d90c7f4ab3bf8e3c8610408d60e51a069113484426c0f6648c96629698a1dd8b62af059e7885c51aab9a9cc0b6ab5835886974f12113e5c3373c66ad11a5c6640c93b1eb641c7c286ff1c0f84239b84c1dda6cbc1ea162aaac43706a4d8a51056b812f85c74df307baab2976120ca826f0999d354622764d82ab0b2953a354680a50fc28560059969479031c078eb635e9e257c4cca9c9b406dc470f8b9329026745732c364bc2c72e0915f3ab32a958ccf8e52bf9212afc9b1bd317eef54f6e882af31c8fc0f50878c3857117c15a911f302a0ba7d010
|
||||
Ciphertext = 5829180de4c4f5d54021135a9b1a14564df0543377a35588344868d6570a2d06932f61b1bd965f36405a035d72d188d7749beaa7c627cf4914410da79a9d360bab8682d80e1435431e1663298f29c1a2aa9a1843c866b811a2265a859ee46c9296df283be0b6292ba0fe228a39c3a352c06f39c00092cdbe799699a9f0ba845a0e1f8de69509fbd8ad2140938785d8a2815d8ffe990c454008d1e1f9ef2eeda2998c583dc5b54f1cbf882b2864a963e9aab254bdd0cf477fc1b6a923543ad97bc78f1ba2be464c47db55398e4a44634455cafa0fdf52f8ea4f9af8c23833e4c9b0fcc559eca0bec62353919ae0734351413181a6c120481e5c54729d63b7af6ce2116da2bbce16e8a5f6ba7f02eb6be6f80e3639e97bf4dee3a6c2dc1a08f2a4367e8fad6d88507b923ebf92c6a8223a897308e1ecf9f0905528572d3b34f6546d2d0b3480251316814549d76155c5314dbfaeae87b0fd91240817813b989ffd344615c6d84042c74f6cbb8abfb500c14ae0829ded4b2c071b70487f74fbfdd042412d00c1cf0c7fc3965560c1e736b575dc5fa0b47dcdd320b144804bb628123c7a4fddd0bd419ded4ffead508be61bf49fd2e97ba479385e897dedc3258d24e85c00222f943a3e4417e58361148c8625207a9c8df97a82c84d6bd7aaea13fd53033b0e55b4ba624a349757738185f114d118d80dd84d0ad9a57169c7856545eb6cfe76f59191c60a7fb7afe7192ee80a47587c9b12436e8ac1a8ddc4c8ca572711c59821f76ddc3e207d58954a14cf93d0d1dc655619605a4fcc0a80af140e9b3488de75e14705d5c1e92aacb44f739eafed2d864a65fd47ea387db29a95787631fc0225f5445ca84af4c1f13b2b7e0252830587e00668ba6c8c0a2c01ad47ad6670cc04f6305c74507106b09e370e9e5e348c7bde0d6ed5da1ab2044c0dd2b2c37ed535167f392d4c5878257f7f2ee722c0ed73bde701031010a190293117fe9ca676492a97fd87d4423a8035996c5d4253920ed0cf2494616335f2dcb974a3f0792e46bb068a6d61e306d1b0b5d784346511ecb06233224c8c862c11a856
|
||||
Output = 6dbdb6721e684477737c6d93a46f236df54ef388042e64137ceb20b65092b25a
|
||||
|
||||
# Official test vector 67, seed: "074ab1a37ba5a0403d8f68d26fb787bc2c90f5ef88f2a6d286c3e6b168abd85d393d8225618608b8eeb301d26af53bc0"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = bc856afe24213e3d14c3d6f9b89223bbcfb2c890722d770fa3492c1e46d1c302
|
||||
EncodedPublicKey = 604acb75b09750b442c9c76e65553cd9f8aa24a664f64530a1c54cf067cdfd0719579cb030025b8182502bd30029a9c0610992698675fc9899b5dc9aa4e8bfc5dbb61bb6a25c08180c8b0bfbf66a9c3bc5447a117d6a057f33cd5904014e5c07791b9df8372dedacad233c889d2b875b66bf5deaaafc2027c0ca3718d1800f660b89c8b689f39685117eb91c0f3cf30772127ed3acafabf5c91826577e4acdaf149e4b50ad044608cd1600c803b821dc1f7e9733cb9596125a77fd7090e3f093776004b907ac81727a6a1503af350c7b4551c79c2618cc59be95b7d07c85751b8942632ed284cef6d642ef13b0aefa4c86fa5b32c6510dba620a109ebff8c657b19532232dadab7dd9fa26c79a778e023b412c13a2e131f782ce4325423c5b4f84d8aedd694fbf786025516cf1a676feb0a49ad89e9b56266f7225de68bb7afc64a6219c0e965433da332caa5e2490c5745bbfb7a3b309f66ba40a45729b86e44924f494c77bab0c012b5a17466956ab689c78ca41269c1bc4463afa2b4d480773b6abfdaa6cc95570cea63a9c17bbd4c684f237556adc37e6a54bf6b358d313088071a6bc846268a196bef82f0c3438d2ca519a765a02a2c7578a59c0479bff5843cf88081778c53d5714859681777bca42918098e0095db16f847544ebf22d10b2c9df64959026b7b2e329b32a3939b6b8a921a672ca5fd57ba8725911c3f8c21af06c645280772413df75bb0e1685f078071bc8cbf58c88ed2629a23a3bf5e60d1842530fd4768db7a112087dae952f82fc58c4bb025044b2927537d9354447135ccd3329303a3b7aa60c2423ba40974144f583bb25311848109a7744a4d3724d6762ad0c749400598f26c43b4b49992213939c0a15a65aa3852c65682afb4c0bb309aea136790fdc8d6f7758ad313fa132b2b36370b7d03db6b8b492cc2117667f3ef21594f4a0a8e467214631b00005a317947509ccb61bbc22937fd6c25a79101b7eb62e5788ce035264ab41c9b956b248f9052e3709778a8560861c0f45b01c278eeb24c3851b71d1f9bf12e02700a3516a461bb7123e75e72730158653ad2af9f7ad96817d7e4b1f71e5780d7aef36fd67b0294e1b6a83b5ae5090c5
|
||||
Ciphertext = 07c6fdfa456019cf0e7cd2739959277fe44f3333043e84c6c28bd763897029ad2cf2cc16edbb51f83c6fc61c9a670ad4c50d568d2cbe0c23530006496cd08d90e23d916d222968d1a43e9a5b683ec25515b9ac58d5ba4d3ab3949ca9e084bac963c813a12edc6ffe2cf237d17b237cb6378a5b45981615595c8e87126372b7ae7ea178fd933c8a01a35e72d1de069432ae539b1bf203c55904bba2f155bc018eeefd2d0fc8a1f4c48c94bd871512b9e9ccbe8b441062570e0c9bb33ac3ad653af08983f5d2c66635c3c9098786b12032b0d2f3a11fa1f204b369448bf47f1cf332fcdb793c9a7f295750739144ba9cda8fac333248398084302952e317111e3eafea9bf64707187b4b58d13848dc348ab976789f678feefc5a789f418ff5b8720ca4db778e57118c6536e6f6bbb2fb7928fecbeef3d20636fbea96fbcdc9f63fe7fa38e859b10c7cf177c075bcb90f917397ea60928dbbb0017babd84fe49ecdb302d5e11425d38eedc073a3974ba0c6fc88c5f2701d981826439dfa2effafa178d6e9d209e93caf5a4c18d78f67073a8bd54febce8bb8e702b020c83f7c30b3db9a06527d1f4db7e1b73c55c3c3bf3ae2b1f4a0910c1250192823edc1dab908aa3b1b56c2a7e58147ed44eac52f43f71ef95fedc3d5ec1aa98fed51e1a8675e6fd1622f9d64e0863c7ae81552cb3c896de42d86b5bb3ac92dc000e6dba904c722fdebb1e063a54e3e7ecb957b1c72c3adade674ce263c2c29336f547c3e6b0f64af2961ed176b49c3da214bf3796cc972e85ebe79bf1db4479dee65cacf8baf960b9413105379119ddafcdb49c0db94edd7e6f0743d29efd83340b79af3aa4b11491d0b81600ed63bed8ada4cd15aa011b25378ea7597c27b21f4467fd573cdaf6238be5b07c299e3fe6c8ea6a746f5419b2e6ad835633e7078cff46f3a8541bdde760bfc6fc22f8791b21103602ba3436296893af70086494e504c52346e0d574d8046ba84c1039b13c0d2ab894187c143bd7ef5e9784808cf50a4e734cf66722599be37f43acaa800853f1bb6881db5633efdaa26c3c6b624135cb41f27b4
|
||||
Output = f450baabaafdf4f09360b861251116f9a202b9cbc578105e0c2235689a593362
|
||||
|
||||
# Official test vector 68, seed: "cc0c86cc0abf86fa21899be1953913c00e7c46e6b5f730c4e88b3c034012763981d7f14459d3081638080378348856ea"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 5fc00f89563e44b24cd67d0ce684effe5731619fd08e7d72e2406eb016afb66b
|
||||
EncodedPublicKey = 02f5493a911e7abc0f5b87be52d75bb3cc8c1fc13af0c608b0c8234eb798496a39eebb80deb80a0e2404ec3519c3caae5c81c132acc6b3162a78f115f7fa6a118c8359c6c0ce6208b72a74e74809100524fc3b25a338a1d934371bbca1b8f8ba22e5aa32aa7c0470a518267d88b9c9e557cd10da1d5a5939670050aa1c870b05a123c1425e4999af402c3ce06b13e55216984d2de35379eb0f1603b05d18b4f5978547607175d2a01f9c0908d86503bc75d2c02885181b36e92498095e86a88f67196290fa51c9a6c5fe3b3121158dc8c202fdd2b0a6ea0e602556292a978bb04b3bcaacf6d86213fa98c2d9be06c79472c96028b9184c5426e4a54ae8e71303d36991528f4ebb3e35984c1342bf0b7739d0455fe10496943b59ef2331cae8be3ea8ad17cc9c9dc88189f33a1796b743a6c0d009cb78ab6bddf024b47b24aaba2395972898c87248ac5ca11a4c03915e18d15317c2bad3f47697434b0116b412f7c47812553de574bf8b1fe5bc485702a0cf1b0e59619f4ea2a0e9251a046baa3f450cb532a76dc85d0391b29ac7036d016954c5aa38285a7b1841160a9b1af5b4c22b2a0c217c6d99889b99942f2a6d8d9c04d49c3859162db7544922f32c6e186dff3b32ba28a60afb1aa9859277c30667aa80bfe826558ba3cee5270c72a385a910f977be67e1358642ca2bc9bac933a33e76c27be076e4d5c2a97351a7d053ddf788dbe4996643160e87b5d8b884f7b3b905b1bc0281c2baa3cfb6eb3213f9134ee957e8577e0efa9266e3521103624c26c3b2aa763fdb23e7a2b535d5ad7ce3595e73238ef3479262c3f70a33ce770434d46f4365af9b02c183b03a0d0643b0615615447bdcea16dc01946df757616487f1445746731ce8923a1eeb37d7bacf5fb036f1cb5bd794c025d9292c01aa47f35a933215d91aaf59a2c7ab2b775fc048ee934a78834183956f0a9cafd486029ee55ae1e7589e963ed9342f11d28b57066dd7f18447eb63c1a6c03768b05118316b496fc44c1764c38b9713619c188ed55b11534ab4c0e0a2629158a3a376b3e7708eec320dc10a805a7680676cb1317da56db511495f5ff467efee9efbb9cb5bf0039a7197081c39d526d174fb
|
||||
Ciphertext = 707b7497668b3ab6dac199c1880a4f4679e3a9c57aab28e9e3debff8f514a5f60b8da3b0bebc5c65a3c5d961d3a36cc1e9ca10aa2b01db9c2d3392dc6813d3865aa515fc8d1a328600be3f835a050808c8deb2c8fa7aa9b65ac3ebbd08e3c1aa07c91b8c32a6641220f5e9019066044684be58b31f5aa681c6bcd34937e7878f73d5610dc5f0f67684b8d7ebdfd0994d52a56c586653be4ca3fc8e946166ae337257098b9f8ea4a6749f29fd223995202bbf094cea9e616536a46d68a344b7ef35e46a80962b280b7a687d2a9c71ca9e3429e4d8797bba43edc367e73667a32b553f0d429e82fae65ddfcdaf2084bce2de435345865a8260c4c7f61f45a8ee48024465ef5e0be8293e6d15ec8ffb27d050f00e02800d0c78234f2e3ed9b45d2e0d80aac8de5f342f7b4b9ab8a9dc102cf706370d6b4435d13f3f6cbfc4d2de3979f970c4a4d59c94fd37fbbe15e7e5f86aec04516ca868c58f61f21d0d982c5b67fe679700162ea31c98c7a1f9baa33b24f490fe94fb8cc29dff84dffc8f9acd3c91bfed87f26f6c33f594732c033c93bf1092d0f1b929fb8b23b442aa85586a42735f19457244dd6d002c1f23245690e4573c44a3e6b2f0aecb2e49810aede97f33ca9b9d63c3991ebba5f5b767611eca481ce258d3d7ed4b3ce5a3f2543e680cc4374358718d103ba09e7ee92e67a0bab04b04c19e9fdc068b9f23211ff32d3e09c907adbbe66b142de16966593fddc1efdc92bf30993779504db6ccae4aee26e5fd9c60be9d2a1f7539130ad649af924be6a9f0c8c99ba02706b5d0519041846d6eb6d563cf65582f9748d9cecd65f1f2d9977d861ed2626c937af2b000b56b4483809730b64e706a209a7f7075220c507f3738451105d66918ba26e5e33aaa0fa6f47a5bea04ad8186723689f65c784dfe5e4bdbb00a85f0da8e1d4b82cbc4a4ddfcef9f859eeb0e188ecc6cba30985c5968bd429c24dbb1a1e033217ca30a5856b30f4f2b9c9382b0348fd248c25657f1cd69910bdf06e43ebca0cfec8993e7b9ee38caa2d5315df77dc7bd4a8826ce888298b84cb6775005efffebbcb9
|
||||
Output = 6847f9fd5f6d4d466e74e5de9e820d151d265111ceecb4c3e25cb6630549688c
|
||||
|
||||
# Official test vector 69, seed: "6d5a7cc326ecf3983c4e7683f45263a37f692f3bcd2d920e1fd9584350119e74f9a3f905f70d3e20318c1413de2a0dea"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = ea22a76065db4b565ee1807fbd813b43bde72b0e08407fb867c6a18995025e50
|
||||
EncodedPublicKey = 21c436a4b73ea3d2632487498847497345478529b6d04c12b4e35fd67639ebdcb37457cce319638c98c9cfd88af3a918a68380f1ca458ec212437674e05c59640b87dc618bdc1a7d4329614c444627ab4e7941772ad14699135774840e251c14f74a4042932a89178434bb3380e7143d381b2bf522cd64a16f5a1ea207a749db0f2a2579396603e4bbacc1e8100514267b98906d7c4e43706cbf3bcd08b10190d8c268bb4d6428576d784f824b426d303b80ebc6bf565009278946130539239472780f5893429ef9255be512e9160fe4d202cbd7cb08889f49cb44454a7dd5c5749580091f3628825318536271fd246c6c5b1bd140c8f0b25409f7acfa50cc09b21608928547b99c0a410a850638544bc7173acc004543fd85c5dc5c64f8ca995759873b1abb3c0019118a9a5dd7427be72bf0c7711d929486761e70b88fd11caac2c646b5bc2fe2ca015c140060085da974958d471b8661175c343c4271786516c9b7844dacc76190a436f372b783287853ec3ea23277f7ba7d71359f6df6a527a7b981c6cead7c7fb4c22ccb66409160c57f183dca297f406109550556a63175ba4ab595e3aaa6838ceff0430ae475860827e39b0d17b64b2aa087567923d6f4a915d516bdebc470716d95451f222b845ff1019dca88cc674a5dc09a95992cf05a8db010549e461a74b9a57a4ac2320b56a941a169d214913ba8acb70025921702042e87e0b9513a727a772a6231870aa89bddb71dcc740ede5c0ccf00b7bbfc9194744176292f91914994117fcc97804c14caa392562d543bff11c6816960eff8929dc25b4777503bfa57efe9b01b41263afc2f3145760b1a6431b70563b1595c5710f09b864f12327791687460a2038babc7569210728084ea6f9b46084ea23d0013c7fdd07a4c482205103b4bd1382b66c5111a5cd5560d32f3a438718e9cb363419449ebd877d7424ef75c513d09946ac7c215360f6fe50e027677bcf6a7d1e62bccea0068489161f3001b1444cb621a8bcc13d2252238d7596e493de85946a73a9ca05aa32ca2af76808248882057788ef9fc262ac4a4b65670fe2baa59d8367d10c893376ed0bbb44abebe123b4172ab6477c7ef242952582b221079
|
||||
Ciphertext = 19b1ac75b1cb03883d8fb3a5e6409e0fae4d6f6cf1fafd054758027b305c8aaea77271479b4012e7b02ce315cbbc83658b645c51aa5561195a0fee10d0613e1fd0b411e70aa7305a8fb3fd1cad00998e1f5874d8233f2a84d12151136f08429521fb526df283ed3c8dd80d38039da99d260be201396d9d98e19eafeddcc4ed5e07f3bfc5200a3aff5c38c91b6cb6cb765c0dab694afac9e32f14805a4b0850150a7daa6578cb909518016a48bed902d06c38aef2c6588ba95ff3c0fb2f7eb03b2c55766bb94db5efc7cca4c65496faff804572e8ecd4da64f51a1b64f69b3b5fa758511fd195ad6fc8a919960f8b951e0f8542a9c0907fa68421d75321a84281a1775ee40b73032ffae467282d8ecc3e2eb7bed58775738eb05209d8b918e9697f1515ae7c77eb2cbaaa55cf20d72cafca880f5614001d7d324415c4ee0eda6d0a7652bdac35c58528ebfa848acbe18601e0716b4db79bcfe60c835ba613dd10ad7558cbdd8a7ff58daff6ae252c0d71b1c68a7c85f796b7b86db07a514b2efcfce63c194477db415652120fff502a7d192cd8024af4de30c1cb7da0894cde88d6368f429be5ad80a796eb1717fa8874aee0a567ec8c2ca4b5f25badda06210eae7ced02f781453df336f13a60aeb2d7fa893424cb20b6977f2b4c20b678d3f217e6442e990dc0e93e97bf7ccd6e9f32dd05c094147ee7a9e048b99327a2bd8e7f641ccbe99c91ddb78b7370e4066156bcd53acf09f129ccea4e9ccfea6fa518d7f6845db390460934155eafb11bad779a55ac0ccd87aa837c856dacfd4b01e511a38f57a49e3de7946d884be72a7396e55cfb953efbe8986bdde6dfb9bbc1f6ab9a8be8d4e5e9fe37cea59f64b0abc924b9e4cc6325c6dc7363e476a3574a53fd60ee8a9c4b2e02e0b7c6aa7c91f36cd06d87dfdaa48c6f88b2af110fe51ada44ac60d828f0e98e5f3410f551916fc7e2fb816adfc2d8f3082e20d8d7588a91be1445b2aa3343cf80dc4521402a7e00318a7c0d836fd49414cae51305caa0c2b4d3d9f57509ba552d6abe6ccb32b058912d1e5fdc5ea8fe630bdd849b46f4ea
|
||||
Output = 6d9d9cf40be1ce9b6d16cbc4bf80391e6dd0fff94a8f3df6ccd3d9f11c7247c8
|
||||
|
||||
# Official test vector 70, seed: "f68fc0314dea88f66afaa76e6c9b6804b13d4876924410d1f526fac59a62e26c560b125b1d0f8b461f1fc2e351effb4f"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = e9602b34fe73ad57f4bf6ead99743d645641553a5b9b9bf2e7016629e3e9bd76
|
||||
EncodedPublicKey = 9cf292506b72dc318be69774cdf58c9199bc07973f37187e0a1474631a5a99646b514592a71923e723af23737e3de001c0715ede8c1be7cc537c24958d180e00516757ec8022f792798c6aac65856088641e98b699769915b10c0a34bec74bb334f7b21c58095e6c991dea27f546c685553f672badef22ac5974129f0c2b86215f12f520ea035e438731fce9acd255c1fa49c65e0429c1e7cc3d65684e5b4e75bc1abdcc69eb4328b1a211339687cdab221c6263d2c00cf5d6868e1a6c5994ac45a3682c08bc7321984eb7261d7127fe255c8738882436c32ad1acadf6bd28acb84433816e5419b524c6df63ce51b225b91695a809520d553ef6123539ba79664135940819e4e1149c81b5372a31be15aee579061e5ac10310bc918225afb4452273002e63af3758358eb9000514a61527ac27e64a9dac8a5b136d00b85884848b269081709732e1c6424ed1b0febba7db917af32216c116030eeb5bb21946c2bc19aa7cae6c001ad490c0cedb3c11e4057de388f112729fb79f71ba6b21a39e4f52cdec6a2e4608c786579e655cb5b0209fe25ba1e257cefa025ee821a11c3c3ca2937eb1d268feb4b900f2aff1d82f57b6cdb2fc74ca69741a71c36d368f56226048984b2ae19817656cb9ebc4e6928bfb840c9be83b7d198604567534ba079ddb2b6e7c3b7fba1b462a8d074b3cb399322632bf712baf30db28b7b50d6a047aee7b54b4749b07e97ef9e742e2502994454b9221a61429800606bd3855c784a822280a295d20789eb0c62d166a07c82b47ab8591216bd54ac080e7620d629b7e1114a95899ada2b8f56c91c1938178a6ba592c22fc5055cfbb41e1365354d5678b83a10f4a4473fc83301b41b5f40f461a638977674e4c1c43c6b62cb6420a7a3851640ece488cc154230031376f05798edc7bd31060635275be30b3124c7e5796c1b102b116e60229983920a4a09d20b1c8b52a011a7b39f15bb63a0b54b285f518c5556026c7d9add0917acc9560672577b996c4ca87c1b5a54d810261451634e8dc1d2639caca27ab57d83d7f2251dd391c51242594182a472231225722d82b6c3f735dc4b6cf1043c6cb130c8288fb0ceb08985620c6be85178cdfe674
|
||||
Ciphertext = 7e855a83af2a7fa5f9171452bb961edc7a2d2291e15585eaeb1d24c98707e3d8db7c7a25fa0b77eda23e7be9b36799973c8fb53052e2425ac1687762b1bd6d432909d0d44c2028f64cef2a9061f6b1e40b3e4d457a546d823e8a9ea708745cae0c9ae1dc7872a0961935e75ec4cf2e8485315d09e493c8d51067cdf6188d5f746f07ee004159b8168734291105ff538c102a0c5acced16a7193199f94e3c4f74bd81fba1616b6d802191eeaa96bae775bdd5ddff46d4df75fe12a357b54ebbc02bc62f623a1a30f4f5044d0f0d855e17a8f230faf0519c6c5ad3541b3002b832a1637c5558ac708c058af1b69d19ad1ed17a39dfbf3859d86a9efc0fa6fb8bfae72d0e4ae75eaba9b7af82aec8870169043b1cdb22bf7a3ae5ea71deb78ef96b39ce46f0368c3bdc703d5c9dca682ab576bbfb0fccac2e10f719d3bfa3fd9bf8557e96635c91ca8358d69d92247d8ad755f5a320005e745ead37f743436da1b6fbbaf4285362d608845635b8545c5edef052f52a95b903b84f547e145e83fcfab9e6133219c9281623ab54e38be06b963ad0d502fa0246870d921d51138dda400e5d43b0817091b51ac40941a918d621663ea2e9ad92cff137a4b32e5a9504bb19c785563936a1d062c7f80b38fe0b3abedd7a7c810a76e6e3dedd4d24cc35685fb822054464d6b1289b10e300dd07a7ca518fe15134665abb890243705a82b2dcefaf9d48dd1442cef532124dce7e4afceb5c0ab53626f4292136c3a90a7f7e0e0b08bdb3fec67c38d9da2a260725ec8ef74fb3c0d39cd3f99b95d0455ac5ddd0f9684c4cafe35d4d15d2efae783dde5d8d0d8aac5edddc12386eac8bef4fc84a38ef91e04ebd7b5514c0384393b494a05ee593d5ca095534dd9d51d2e8384cde4c529a37840a9ba28d9c781786035fce1fd5a33ae6f52ef0bba74873694ca7f3d5c888d35381873a99032e6bd75ff3f40d2c3ed888a40858669b6b0390da01623a491d3e7257035168211e89ec94f4166bf79b147848502ca137b8ebe0f76b56b967c217e1fc0707ca0fd07b2feba977bd89b6dd768cade14af914f07ed79c
|
||||
Output = 41bde508779ffc73ac9445cae93178a76c94cc1731864787b61fb05d6e62092e
|
||||
|
||||
# Official test vector 71, seed: "a229218b0d51f58d915df549901548fb0722f352c7470900e7e4d8399205764a319bbddbd06c00e8c5932722ee5a404d"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = f72b9080a6c051bbdb9b0abc1949034be0f89a9f73fe277ec4d4740c78d04a83
|
||||
EncodedPublicKey = 1ca101e24c7db71603e421c9b76852e8353c2c31a00b37a11dc8b252f014570a023202840e8b06d6465045bc7334e3babb75abfa2ab7a7c484bd33525bebc027a6796e1719227731d69698f7c5cb68acc505107d369c2763e79932bb454559863e682ef65668358a8c31148915d15905caa5cac892a97c91af4b2313c027f8c53117bc4504102d9d9bc1b782198ffaaa495113a740b5fb473a26e56293a695f8765634331e4b61b58df596422a49c77364d213356ccc31e42a19f0a31535625a8a17238c273efc49513c308606c358144855bb062e0af2501d57a37cc0b225f07dd19a58c1681ac862b148c974a98b350a34cc9436996b753c944c56e0d7c26463cd9f84129a008085bb94efe956356bae2126c0048097f8217522052dd1975cc37277ff6567576662ac9017ad6b832050781b710991c60330fc242e99c790d21398e39f97aa3ffca9c763f040f43ab0f3d67ddb76a925f24d4c88c943aab4a9e3943c14c7b732137d207668327ad7e491de5a1fa1674d66346e40a1b20004ba5e042d0c119f1cfc7a4ce97ecd299949437a976c9e6e7c8f6a1bbe2a493be8100861982d30d843764c2be8088d281596024287744c2580e6610181899528a8dbd8481dc242a403947ae37e690aa8118a6b8be0cc8d7c9a1e231c93a26e35152d95d25a977ba391d37e36fa70a9bb1780e0af16a436842b8fe72bcedeb03440a6ccf8e072bec1725baa1e61e9857f706dbf89aef6675a3f7ca24b93b65f5a23409474855a0bf750c77ff28ec5dacd40805b398701ce55962b85826a9284e61662ea4c5172e10a79537bb77517bbe5b9c7591a6868032a16512ea77812d8131eba6e9a671728807a0672b347e2c673c22607b2343e21119de9496e238cf7d33fb0dbc860eb9967bca7b07c760753c84916c2fb7cbd549c2aa758b492cc3e68b0477500a86e971584461cf951c298f861be1caf7021607bc033b0d7393065c2dbbabf2a155ec66c105e16b532d0643f1b9b4b702721844860a0cfbb0a9f223485a0aa885fc51c9ca41ea052be4e8328a87b2162a7ceb3b25ae5797b0ceb4f5d468df1a49f7d279887a27a69a627d59803412a300127e761644bb60db23f60d9f6a5
|
||||
Ciphertext = 510f5aa021f73c36e2c0265bf0df0b06961b740c8514261eeb00379851b44451b4c247e7d30ff2e131ed1136303716f377ad7755ed1245119ccad48cba5a8d3ae609904ed4ea04f56312ea70405767a879014b7a11d5347ba3d4fc9d2711a704023d4b5330266e8472101c7fc09c6cb3eabfa6c7e94d08f1711b4a208f46e7d3a4bfdbac05fc562ab1493f10d21f0362314e21485a5a2f6b303d68a177d723f24fa9b6a6335472d66bb153ea4a26cd95cab05ac4045c57d0c4af391dd1b511858b58171e2b3e36bf8c0e9a9063d832c517de1f302e5dbe7797b763ffc55e7fc50bdf91097189b442977321de65aef28780795f550ee91f4ef408df52d68ba2bf96f144a136978ed28de0bc22ff803356330c1c9df0919e4318e439c12b4b9a13fff72fd20ad14cf9829917480ebc454500bd9623453710dcaa0df02db179fba3bc3bd4086871533bc0a42a09895ce44556a955a88f825b8e38fe4221c3e792227f6f5072fff1082d7d3a3279347eb382bb7083213608081049f82e83898780c1abeb0e7d7f598cd6185a1cc58de2d845597ffe4369b21f13d8df508f943bedb243cbb9d9513f38e7dffdf7d619734f60d36a28294248124ac0c45e9e71943647bc4a600b2220d179f4722283ec13565a33eb82e428b83d1181ccdddb597188e60c69ebfc0f0af434365a132abcb12c3446741e22104accacabd3be0b06dc967c1da33344820dba0bcfd402a2a92da10426e7367cad2bc949e31ce5869f9b08c3f325887a117255a84e3adff4b878b941533ba4680479349432bc9c378aa1f68f5870f7c3bc1ae547ce81d8b6d23759c717affd78e7857e508c4b3118991d1d94e2bbcc372212a67266c4698ba52139981eb9cf04584e7e148ff2faf56f871ae73eac3af19f02b33a5d624c6427d50a33c3031f59fca2ba5d1a587dc3ec7ae8a764a0895d5b20abc463c01f4b8a7034c2940f7e32d80a40d0bf94c93abda6ccf3a30e135ea102b33d4c34901a6519db2618d7c80ec946313af3dca24f435cbcfa095a4b26d2fbb56fccb177912764c127b851ea8957eeb18df56efea9cf6b6208
|
||||
Output = e73793295bfe814639ff70d76b5d1c8a397d6821019edf8b8485e92823d71198
|
||||
|
||||
# Official test vector 72, seed: "6960f21c7350dcf41b4770c551dc8692d8ba2c0b6e162c589166ff22e7a1ac0f94c2f48504a5f7eb0da094df427bc98a"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = f1e5542190db8ecf4b8d617a04fd3783ad0df78bf8dab749afb57db8321d151b
|
||||
EncodedPublicKey = eb8a266be6b520f2b0330153d1167fc3590c18899851b368c3f57432e94c0d08324b6c170c258db3c82061544a77a55c9d6919ea2b52b5ca57f7f0ba0f212080485d0e84361aba15b9d96880ca3d161730df119888a1909ff133edd5bb9edc3ca34b97a7a59f72174d36db6363d52c17d82d7091262dc4543e8474d101676e9935b415b85a624143e55b5e506da386107b0c755ca4736055388ab602d92a088b7c70a2339420554872434a6a9c4f42d3c73ddc28ee5ab3fbc0422d4b5cc701b75ba4176e94a881872d79a76bb4197229930b95aab555ac75b43111bcccc80b14311b466c4cca8fdc7cbd93d347e2526b0fa9256705946216006b07249ca0363524498abb063b51459853a9c7dca9b8b23467a721c54c4d7158c979d80bdb26879a543ea528636099c719565e2956b7c4894d1513511b358180b9459fc1190199b93fd43afa67c8a67037e43568e4b46b6d4638f3fc55dceba7035b891bb99838d8607e8ccd91795377c0822ab28fa1524559a6498dfb7fb52039fea1463880992082c6a087bffe25cd29f767a3f449727666f8cc87cea1a590347a33ca4bb992b946b6c0d43819c2e77210f1a1b7754627f75dda36c4f4b113d556c017c0ae99d8a7d7cc3956d58252bbcd4c590bc0c2be175513c4568672d62143607f88b7bfe32553bd021a64abb957953ec961718b069fbeb814839c52369c43f362c87e574576ab0edec1c227c51f77d7bbc8c19c0e091b238861ebb1cf0f951902d1c7c8a4cc4e8bc99fd37a65b6cccfb2692da34b5b490c60bbc4c1fac5be2a17577484743bb7e56c4fe8e2a243b1c0de1779d4611fb0d59752c2c84e3b9b23b19cfd704212870a0c626ced0b40c60c84002b81b46617824c8580b2223cf540be928577f92b83fc8455e43f67498dfe488c2e9c28e1f68ee55281ef7665674a03f83225a227c62597a92a0acb20dc7fff1a7913e31ef414ce4580b49a5c11c888876cc2445c50495202331156982af2c398f94e67d3208d176099fa5d6f008de3007e23c97175b0a38d733a8d2bb19fd6780327753204b05d91345d129a090c4df311b82e05949cb8ebbc13fcf87b35cffcbb21688c7b39e556f610e8c28730da9326d0
|
||||
Ciphertext = 6865be5cc39989164583b41ccf748946bc0ae80f297f2e953796021d0c02407cf5affbb598895d7dd363af98e3bd019230c13230255eae776dbae3b6d07f81256ba10a75d8c2908ac05c0ad00b1ad600c3b36e2b91699d1f2bf65e8a4edfd1a2d9a1cc03f0a1feed6f0cdcc839f632684a5725a490608eeff1c605f09098052bb6cfe1e40dd1b624f8689c524ef7c25eadbbf246e2e357d6f42bdc2008919f5ed2ae8da5c7ea4d88699ec0b5839e33f9162611df6964bcbc061ac4d208e20b0ba04cc2ba2ce916bbdbfe9848f198868bdfa93f217545814caf7eb668bf27553bb537c7f654e92261ff0df6f4b2ddd37d86995ce0e7357b716d5d6b7c0160a16254a01af2983131eec0ecd2d6dfcf772a0065c9196fbf5c81031b5c49a4f944b9acf4971538d1487eac7f5e32fa1cc81e868b185e667b25547cae7a2399b50fdb551899fe9c044fe89034d6cebd9eb7b89c9ca16b1256cad0fefb42476113677357179e6a09f6004afc75fb112a9d45bc8550182b6870206e642239831ba8326b14deefc9266853c318a8ddf8845eeaca4e1768c26e9e2b2475204e53d98ae312923faced79c74c5099da8593e13a7dacfeee1bcbcf347940b1253f572bdb2a3a0a14a58c11a8b0bcad54cb6843fe5ad2db92387b36ffd15793918918736c14e02a517cd881e0a430a40a74528abfe0be84ac1801f7f341f51700dee6fb6d0c5d52103980d8d1bcd70218cc2766da7f5de5afe85367576c3a0a539827076e1c0455288d6ceffb809460a5fdf2a317e2b943445ad6159642a04591e74e644838c92cf115278688c04c033a908183092f4c82db840100f10b42948c87d55a4fc5c940b67617efbdbe141a989efcc3b7a735eb0b2368a01852ec206e27a8ba0492d5d43d0c524a62db40dd8168b7cca4bcc6bf0099e2d523015c127894a09ffe2e620fef2f339c5de863dbd65d0393b47285a9dedaf121b7cf35e6f579b3ae26a78e31523c126a995f0ba7a20b850e96e3799fb1d17bd39b15614a611f60d7acc1e37176a0d43a566fa481f35ef612da1f95d6369e05d107dc4f1c2a6d234407eea5
|
||||
Output = 24895cc54471c7762209dd3f950cf98adb99fbf32acfd52519f89d35a7cdeb4e
|
||||
|
||||
# Official test vector 73, seed: "53df46012cad4a745b7a3c06e18ca95e0b839fd8161e3025749a0887549eb0ed6a44eeea08bd6060d6509dbf7e9dc864"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 74efa414ae171bf60b6f884cb7e5ce12028f49365daccfa23e845d551711660b
|
||||
EncodedPublicKey = f494ae88863448d68c15e76dc7b526366248eef783c6f26a64eb400e0a02868806d3f029d0307b8bb736f80a2ae07454b1524441901b82689e65b11c68f18ac11030e8ca442a28807b97c8f3931eef38702a3359de5c3d07dc485871243796b3082b6cd1691515020c84bb504053017c344350694868eaaa507364e7970f7fc440e5c650e7cac0aaaa99e7019a2a5b48eb43c5d4ac093fb40acf66753e96b2dc04302f5bad32692bb9a253e6ebaca7a873a6fca903a897f5da0c3e668b1f8a66f40c0b7c7906f3a96b41f8a041374f50ea99aa90b6cdc20fc0b81aaf347b90477f1e886bc65b90915c8da2092905063d88fb5d1ba70f7ae23400570758098656f1b23f6741552b7735d20d6d30c1d784c0ec42290c8c932b8bc3a1a3699f2088fd42959d16ba35f25d674959d5f1710f706054248d0caa63cb22c413f939d297a95c987792ac5852926e86516302a187042a3546cc70510830e7daa7f9b062fbe914be007a1970278f4c1e7235ccf0e1c9fa9798525cab55c33847364f66378c6ffc279a513f6815bfe2abba3992ab43f0ba23211a50d4132788057c52aeebb5af690bb5cd05a6f6ea290f51a8a96c445c5573f473c2155c86b3619562f8190b370bbe709704d03e18325a205c9dc66579f16a36ee4237699992442b84c1c9bd6f16394978247ed8c9828a64859205391203ab284943caa9ded5ab2c924b4b1b68072a934a3169f8a0ad9028aa9315806505b6a3941150e4cbd40910697b1fa26666a0f2b3253878d0d591a2230ed50997a5ea6e1a799d5e28361529406abc52680a4ad1356352a1aa98027c2b950b97aa8ea8e5254d941f1c95a66bf688fa4b43ba6b83d7d55f99910595e35f087b42636993ba509292f1b920bc777ad5610fb06c91a81a9607c3bc7a49e4a38ce5c63c6fa09a30d5157820479a347339866ca72c7dbb2c97f6a38e7b1367587b47b9aa01674b9f75f3af088a74b03603d51731dac14ff7397f164c7179ec355eb80468a0c0de95ac5ee54f4b5247ae9b1d215bb82d45931df5c6eadb7575c76da0bb0d1623c1d577273dab40e1dc06a5d20052419bd23a8bb18e1f2f9917e5b3ce5b0539c692fcffca80cc33f26888b80ef6
|
||||
Ciphertext = 7d7bea5d1ceb6af5e5fb84856ff5f5f4736c5ea252150ae90ceb8050593e6682ccb15abc524c5ecf54f3530ca0e079236fe325d5212ef34610bbc0f4b83106ff9329e95756fb5d6b151aaed084b70f7dc6670017d61c8be0072b1ecc2c3627489ecc4d2cc97a6fccce8e6b5b8770effc02a5c23f7f8fe1d3c0f109b5058f355edd735c6e1e1584946d869f45fe0f7f39b8e732bb76f694ddaa020221f4355e3654da3eb49202b941960288ef09a394ce577f05bda772346e95100d9513668e9dd727391a9ac11b88af3f2e1c2bccd6548facce6cdd210c11003ebdc4c9a1c9d12ab8b60875ef78328240b82208df2a7f7d5de2af330438556f113ef131120e42dacecd043a5d4bf2698d89bf6c4c9b463a9e220d8630355abb6d15227e983a8e5d03315b26ad0d426799b889665e26444dd7775d4c28b02f29808f313ff300d659559ad74aeab7040e923ce77d9f23f0641c0407e8148107375e3753cf237c0ac045e7f7b6eac38553d1337cabbe6137b59c25a2840282576f4c3217d5dd7a626c4bdf348ab13981c75c03b0ec38267f9e293476d43b0cb9524dd49d98379fbbe772ae956b7562ffdb34df94fc510c64c7bf98644891e5c1ceaaae0601cda413e25ba33e1f67d9253f4b3fb0c7c933d44ca271ba2355c01266348b64082cb9db5c7bee46fc0b8a55bd6bade08b64a9c0862786653ca6f35d5add95dce6105493022490a3f6917407ab7f1388722d07c26b5aa1d775983127f6a0fbad5e76f5c4c6389588222e140f35293334b126e2bb162906c92c29db13cad6391f49a112300902e5f1b5beacd91255f0dd973d3d79ce5e8e258170dc4cf61afe427f85669d8a0ddf5ca5d04998447cbb9f41441af08324ad43dd349e222b11f45fbd361ff27d0ef6c6f26a5d23b5dc19a66a45812665dc0b06f2f915f4d050f7b7d472509cd4b75e566fed478bfc8e6d36d88ddc2affc81772981057ef0717ab15112deb9854854aa0c4900138d82f228647458fb30331eb151637a75961e59edfda042ca44b6184ad26ae434fba82379b07da3ababaae38794b1105faa5ebc4a01fa3ae14
|
||||
Output = 32cb949b65d265d2672406bc2d984d35884ef8b7c4fbc7b698e0045c2b40231c
|
||||
|
||||
# Official test vector 74, seed: "deb963f8b1d8fbdf499d564ba8d2d47915bb402da02f17031b37b4039a842afb9b7e48f37200605992bd2429427a7a4e"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 0b4c3cffb2ba4380ead13dc0d8acad2356b448a810da1df29f264c44aab6d24f
|
||||
EncodedPublicKey = b084995e5765a55a30af873ebb5c31506ba6a0f632ca68b630f86e71d8cab34459bcf77e04686ddd82b3819256aeb98536c3be4e029e9e123c754660dac74484a663f990289c72a64b1acb23974c31630b23262e27495dfaf051cca501b9a2267c2101a39cafb419255e272af75029a41521a2f48f6029b80acbc1688670f2b16b58d08fcea5a90c791ab2b5c125ca36e71c132b770b612865f3fa1d7e52663c367672b8ccb6791626478b916a3654295bbc7825a7e2ccf60117dcc7bddd2734f5484cd45776ad85681c235e7afcaee82a430097379d9bc721446588c68f8987b3fe834a6ad5b1bc7b1c939a709b949da2994af3a5832fbc3d1d93506848bebfba6d46e91fb1d8413fb6734b60167d783545b79b91cc822cfcbc4dfc0dc6b85a9978501a3372a5d354fdf895b6c1b5a0f3bed494310dd35bcfd017f3c178a88a27f2858ad6e8719e803c70dc4c8b9c1014a30417b34858d6704f811f88bb797f0cabdf057c1df810968370d66a1a65269b8cf40a5c317f4a93209c1005b2722941e26b66c467d92b90dff7809cb9adb2297f92668215a843095276586768af40b11c91975315cde318c4fada432e99abc6a81a213c17bcaaa1fd45abf7820b3526861dc205567a071f394182bb7bdafb767173188d11beedaa0c5b48546d0663e31863fbbb5a2015be15bb547f0639b6a3a240bc9170486315e23a2c845b69086bb1da21142647f13b2afd90691bb2c83f8a211b4c1988c292c3d4268e135c1d83c7f59c2ea4b829afd8bb68319fd293c44672023d3494b5645a7cac99ff3134b9056a1c154b845652e23855a707738190b27a356e7d83bdb6db412ec290e736250832b5abbb5816ac8086672d68c405fb38a4a69824615164df40188b2839a838151354160d6902c1589ac38a5c1b54a18dc11433b7c7a81c4fffd404b9c69f8ec51ec8097ce94755cbb4c92d5b1777a6cc925915d9d066db286fae569a572b2d6193774fd61dcb5958079c917a7705c8515c3876077bb7366d94b81f518810c970c8d5179820714fa916ed2c87cb4c88748b5ca7bc8e0fd71fcdd8abe802376882227007d526f55a05061181855bdc4c0a99fba4d52cb071d1871bfe83f1b4
|
||||
Ciphertext = 2c5cad5a315cfbc49b07d24d0b3f914c3a11a6defa7674d85c64cec895d6ec8d9da6c4139e93fb24aa999d3ca7a30356110ec7b2358edad650ebc44d318004c665ca607e83035b6cf5cdc45b5b515733d0b7824d9e66360ce7b8e5db0483d2267e1b1393922ccc697cc7f38c6db6529904c189f54fc34599a916e0070a7b8ac846c23a2c5022890689eee3bfde751a267b2a678ef2b8a4ba0e3ab76a867cc65f073d75186b0043fc3b74ce4a1369744838bde631bdfc2505e357c982a168c33e8230e25c973efb076bd3dd304dd300f72e33e055b41334c6cc7e74940d9263b891ba5787066b298e921553f034d87cfe6f439dde90ffb8e10339321a0c6a1e6cbe12845eb231875f922d653408d0dbf49a0793f6e4c4698eed634e109bfd3ea7ef2d0ec243f897cd8b38f9924fae8bd5c5384798e220a21f99e1023d4c85a2b038ca9a249cfe62bb610c34b81b177415841179a7bb32999d8dc915a9f64b25f63141fd62b58885a8abee5cf73b59fed3596284dcbd0beb860e68eb4ec166c2cfffdca98ae26b49af4075d362bac9ffb7f96556ea6840a04b750a9052e787c8518beea3b522c0ce103188128c5a4e15788420b5e9ceaf35a2624baf833392fd486ab0efbeb8f454a4b5e9944e90349e8b8af636a1be330653da8a8de4c7b5b64ae41129140c6c585f8ff93dec170fecbbfaa804da7f26e8c79842f729cfff34c4bb9584f9e9830d6846c8e77b908f7733819230fbc29ddbb3aed8cfc9be391a4e51b8aec51954bfb7ca4c6182dff24ed6a283bf5fbc0eacf76fc409a99e92e239bf7a2334ba704fb6f264b705b8f493614e9042d4ca610e2d61110922fb44647525314a009f86147d1ba06a5009455705a3454417dfc7e29b3128519ea1befc9de423e9fe67337719f6182f1cdb207d251c5bf7e8857812746c812a2c76b8d46e48d9ece8169ddfdb8223b16bc8a91b556060b6c589445efae92b9dd3605c6db9080a12a339259874be7c2b32f7baabc3d8464a2f22d1ce74db1af54286c742e33677f99ecbeb4734c16b7adbc4704c40714aaf199e65f49b1f1be1a14cff6fed
|
||||
Output = 8665fc425446f176436ce8b168862f5357df35b10bdc40009156ef5c1c29eb3a
|
||||
|
||||
# Official test vector 75, seed: "8e2995f1b3e43853b18916bb1212aceb05898e2b177a87abeb928ad7184e59695c56b2cccf5db80853c28a525e327d13"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 1c82471dcdfca3a6942061ab4f3d5bf0d197321437c706d9cccccce449447002
|
||||
EncodedPublicKey = 940c784d812e7abb5e2b79900b6787fbd4082553326cb08c333895b123445c93ca3d693d3e3c3943144acbbc3b9b773882c234d5128c4a4a657eb39d29273d22537ccd747de0e6886f9c0744a41eb47247d33c7209270bc5f27a7124b9b2129eec49c0256859c2a7280c0a2db1329e1fd16c9deb6b71e66542c42e88fb1708989436f2bb17b3551e49607bc969b0584b61271a29233636633559a72cb7bb3dfbf3cc602606932b7b9f39a429a199f953a807ab20cfd0b1e9296d4f68b431474aa4164cce291d57723ae4c74dda19a3870ad0db57c6af82aebfcbb3b182a245b9917858291a986f99691afab6c9b7ecbb1601a7d79b754bc729cef96bb797b06a84beaf533359420096f526b4429a11f4cf46e2383441c1bfa59382415d3be23bab51ae8d172c1411b6d4313b466a08acf408c1f0bb69404ddde100c8c851c6ca57892a7af3665c01389a4a2c994af2019b26c92773c2c4273b0ce83ed68b1fc953168df7a4f5aa35ba5293e3fc202a9960954833a76852a3ea7666435afd8c4234c38edc736737a1b201f9a669fb6518259512d622a2316a3f176c78358515a40e0aa12f6590c3ec8bcd8e41bea6908b59ea0bbd0730b10652179c6a6d946d948b3d04429b5a3058a12993c715b000cb1948c50c68a9a411c4a92c6738cb27c9cfd6ae101ba2dea41631fc33a542ccefb1564da62d68b34cffb6250f17552d42a7acdb574bd278fc1ccd3612b1c54ca8b6b9956c81606c7ac6d4479e831253b619288cd43550e3b0c020024dd2563d92b4245504f7334cb9116627b3ad1e659364d99b288c5d2ca500c9937d5873bce7264ae189919f11833c189a6857103cd9cb1f40826d242054511916aba3407a964ee70399f59fb0accd94c05417023748598095109e7c3c85c66050c10b40c23644fdc4060f39cda3b246e0e48d860611f0a3adc6d41401215bd4fb93f9518ebda2bbd59c98d44a74d1e669cb2a89fbba959dc984902513d636971cf2a5a0808b6ff00de33b97b0b6119b0a4003b2414e5c779538b619303b09c0859d27c7e00182df0ac908b412ded96acee12dbe9b21cc2872dec32bead3de6243d3e746eb7b9b2dcea0e0f8ac75c3e11f0bac5d1655
|
||||
Ciphertext = 42abe04a49bd6282b0e43bea55b28cef9f8d3f92ae2dcade1c945b276c8036377837d702d0afcbee90f69deccc5dabd199e8d4a904efd69cd1046c9994705a1da9b30fbde2fc79b0fcd1dd1565253f89197cbf03b597bdd9fb6ffb4c5f149c90a8d177afc8904c5d62286fccf6a1fd7d064222fef3040133a26c574e5b2d8ab2148efad2c2ee5b8a29716641db02fac46a31357bb9b180c1e768319384cc3696f541d62c2024771c0c6856b06ffbd43afd6e41d29acb723c44774f5a99d43814552481f9fc0bb7f7b88705eec8a8ba37f3817e2c5dca7015f1573dc4ae275186690c0d35ea519495914844816581cb1bb87f84af3738cebb1a655b09bb16a53d6940248ef35f2a329f554dcac939cb3bf82865b61f259372fefe4fafafed0b6003ce7f98d3df891794d72176d66686bb6150ae4c65c9a375a5bed9a20efd1a6325a053289625e01bd21f72ea0786092dbfcc1aadd3f35fd935f1f9123aecbb704e18a6c8525215f23b7f6e6c75903b627ee8c9866aafe99d187f542c2a274e90bc0452c29e18004606486574e29c56e245428cbcd11127cd0df26534b4f4436a682fb4d6c2b26cab1114ff308f84b1ffa81dac5b94b821ebd26b8eeedc5b40e3ca3b453dc65cf3c6ec9b9a9ebfa470d01d4142289f3eee177bec8ac6be8c3a3c65dcb17463ddd94b9e610315dcfdb737e48c8084b7c45d0af3105afaa457206841653df8381716944c00988905e3b7b5313f475b557cae922015389a460c62e5a15eb05362c25f5f380b09af43cf87f8c580a6320e028f753353a575a6053f2468baedacef01ce070d9c6103589c18bf4f1cf922b55824e33653b74121cca56e4823db37d02efbf4552c8f9f31a2e9e3df577bf874186d24b437eb5349f5af46454f988ada5ccdbf1c781bf2193da71330521087fdd2e09597ae16299a6614a193770afc62ba891af754eead7b0473239c6ec59238fd08615b42bb2d787f0d766f3cb72e3dba56e17dd92c08039bad23ff21812fdd85c3db5135c599ba714f90f93df6db5458d4880be4eb09f31f55eb835412b29c50770afbaf9710d9750970
|
||||
Output = 3aff110a6728373d6dbb5fa2ab0a67c1030adefc1b78c7fbbc3e72d5c58a6c17
|
||||
|
||||
# Official test vector 76, seed: "9218943c51fd2de47e509aac67eff176795102f37d7a2017e3afd768fcda7877af38739b00fcdf227c2fd62eb635942c"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 46fe60a18124125ab93e0c578f1c02f1bd1301595013001c7f3c2fa56cde294e
|
||||
EncodedPublicKey = 9b32475ef68a9353cb99a53f7dc3810c9a3d0c2279d0b05b29d940c915abcbd646629c340af580b4dcb0d1d360411b2ddc35aa2d796052bb94b8243f365141aac04b5a8236cfb884b49603aa9a31dc0405efcb96a9903327e4ad658352e9c4829a775173daba8de83977b531d3291bc24036a913ac48b72fcb6a4687b32a316936cb957957c09277231745348b9bb6a029ab5701a0b5d15264061aa7b33b43cc75ba0c81b49e731b420681643cacd6769113e899066709022264d14262062ab1ecb5060d4c7d341a92978820b6ac727353974b12b181f2a6b4b53b2a098897b1957cda3764052bb6cb85d6a6a312e8a97b267c3883535cb3bd0587566b88390ba2140d256236c5174e7836f162c72934a34c38477200afa3f061e7d78eafc95f6bd7acc70ca5adf42eae090bb32b5cd4a9be85d5c4bc09b58aa83407f697a2334f7cb6953898b7c1a5a08e8ac4d55600135b8d63e89bb0e74c2b3844bca24e5cd449a6443fad115ca243cff41a15f44a26bd723ae574b619727fbd11aee030150d65ad0aeaa41c43a75f2b4a2fa74c24253ad1638762a834fd01690cd43c402c4712b6b0550a602738abcae9812b3069b840aa869b06fb9873321538c4b384d623bf44bcbc90a6a7cf6abff47282e6f664b6c77055480fbe4435236240a514124445229257b527f81fa8669bb929535a8b8cb60a3ba8849bb13cc63a78b535b2c3ef1268c8bb05f0eac43af2807e4790ab196dab247afc85b17f639212a2636ca437d80b3b8f94cfcc718037507e211295da75a4e7613b77876780ec2ef7eb7a6bc813b110a57df72532bb72dfc99680974a33f8c834c952cafb374e62442a4acdb58aab609c6696240c697969d5189dd6e994ca71c21cf59a31753917305a6c07c721c826b680a290f31a1381934d0b9a3a056e7db17a34819e24b8bd4fb4680cd8ac7df0c5d7684acd9c12c21458d20254a028b64219a41b0383f94519e0426a556c66fd767fc5756765aa104b102735f9526fd403ef1663d20aa0b36423d0f9799d27524518c6c26495804c56d01c20841619ed0a29b0a1b921273ff3f7887b5d78c3bcb203113af8c45725d931bd947ae69436c56b909da260ccb9c7f5da
|
||||
Ciphertext = 2897872465061538017e459a45d33909a69c405518a7a27b19d3dcb347962c2f4b637caa98b9ef06a61b33c5040e5d6a66f23fdfda1321bcb0a08c86c502a0425aee7390319c5cfd30cc8c33519f1ef9bfdbb4b76051533de2baa78e05f1dcc59a1e0cae8264ee05171a3d58700403e3e3ad049e4f4f47ec1dab39e9752c07d3992089d727b8e476a760fb7f5a8d55b129f324063ee611cec85b79cb7531bd8fa7c12491a67611d6b70fe95d80ae37faab108d460b86f4bb32419f64d1a614ffa6c1a444f26b11837571ecada687bce53c3f15440d72934e8bd80e3fde06e908ab2d77211ed3853b09065ec7b939662eb0941c10e021bab0cb655afcbd5503426167fafa95c52e9c0fc087f5d547676cd72673006a10738d45345e8cba225cb9847da23a8bf62c420d118f2bd981de6f3b42303949fc615496840f4c2ab775d2cc2fe744d4b7c7aa2f66d9f7525cd864c8e9e709e2f3d90fcc95443898097e5febae0eafbb0823939bbb80313e730fe9aa54cc02799e4c72ca544aa6521c60c82d1a4d8be0c0e4903c9575e3f57860b3157bd2b5ad0318eae3150d4ac2b28111a20258c7bf3e263796c1f452ccb741b5bc77d1d055c1b426c8eb07c5fb62ca14e5def529b16eb5955ccd3137723ed26a45e10cd297a4e2de5f5899198f92141123e6960aca093ddd89886befe14a5cde442595bcc93e30549d8446d38e8fc0d581fcc4232afd86493026750883066484266a2258cbfab365db900ba9eb0651e6be4fc1572967552814156e782a118aa04dd37f0e00ded41617326dd9935e217cb64038ac423df75e7ed6cbe9e117ec64d970f46002dbc6cb693c259e19d4b9b73973e1195c62d37e954fb0bb37084aff751251a8da6ef918ecf9a07f00d58bccb53c11e1ad99ccb4b8e9a5e417c69a80eeef2504f43b99bafd11f8ded7378211b8b3ef3056d0ee4b53ed561f615e83b6c9c027eeb02ddaa49f9fc5bdaeb21c2b768b626c67c676dd1f4f64cc960ad5a22b0a5b2fb9e57af12c39d2dd81cf2105818ea7f6c2ffc2a583ba9891d5ae9c2ec2a5f100a2d1ab99a267371bc4c9f979
|
||||
Output = da50f540be5c16fae6f864fa5ce3118d327efc33609a9af8a10f8c48928aebdb
|
||||
|
||||
# Official test vector 77, seed: "542e20078add5296050af150360f057f6b9ab3ba835589dd56987de805f900b906505b5390a0d86cba28038992dfc59a"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 52fb7cb6a633fd2e83f2892bd9441b48fe59ecee6d026f5246fa7f2a5e55ee3b
|
||||
EncodedPublicKey = 7528ca7a216ba9577865bc7680701c093984d278159e7935033669e019c982f75370d101fd41400ae1aa4e848f60644300001de180b6aee4903fa48cf5f6b51df9a85dd5353cc8325a3c9647cb1cf324ba18e7aab4385e26c6b4c59733d13bcfbf9abfb85c8ebdf83768042a79420d05021f2140172b019990eb0091f06ad3a61ab487b8dffa070e77654840ac4ef0b4bb4528d7775bcfd09ad0ea6e35c4c0b3367d7b2b7471b2840dd24ac2f9b3477646ec871eb178a3a7f09b786b925b62215da230f5c7c6a73957d873a85b8ab4e4d4c8e16403aa917ff8ec5ad51c4879f94a068244a9198024cb8739e3379c980b4471a671198819f7cf6bdca1667054979288c83c6ef5ca2467e031fea23fa395c6c6bc561a7735a92b3c3f63118ba562f7fb970295c5837a1db60138b4195e43182060121363c25e8ea71f70b246a599bc71f51f598cbb79d54da5f509b07930b4590c88a149fc3677f861285b34a6e281704268a5cfbcabb08645b429c1752aba652032b676c73a5221f24518fe37c265d78b526c8b4ad35bd72c754e2a97a7c31012171c66c40e40fb727cc7503d05895e63cc94030413242f62c74fa0114a1d8b899aeb0a9f000f1da551e078c2a100afa820692ed5aa0d73281f2681454a155c907e5a41ac23b2cba2660fc436300505813ed075bee129205a590f7020d1f72d3683a78eca8678694a52f15125b1a5d458af66a25aeb9c39d2f3aef94cccb7f870a40810bf051c27725c32793045842de425855d00bdc11a2b26ca6e489257b8693666640430788d9e518b32785c67c3c20f0ab675d925230b8a35d5c0d81658cf911dede65f1da351c49a6df4aa50dc06c7fae86765933d785275767875bfd06a916795b3119739fc91b9854d527ca873563fe788045fb0cd6d420419a7b94fc4cadee62176f16f40073c0ab90df77450dd63671bcb891d129b119a7c22548a8751a4f5dcade6f828c1156ffc096340f90595281ad356132156a395d5028d7894258c56a8cb78772323c376c03eac70ef481dcb01a284207cd1a34eda90229f3040e4953a4c9110d9766fc4aa1496dcad78c02a314ca9d223b4e684413a86b1788174b97b132fb38041cf8fa945
|
||||
Ciphertext = 816078db9da77613c1a246d1d78d03eb73cc97fa35954e4a9ddaa7ce4e9f7f4132ab3ce526bb59842396b52b985e9b1ab8f67f3b0ae28501d079e0604b3db3f61bd59005f6e56f9c56d9888aa4217912e05762c2db43c6434eabb38b746ab721913c69dbf1dc371e1c2580c4a1f6aeb2517f2a878604eda4b04c8e769283b13c0348ef11cc5f0a7c2eae308a53aaec5e0e568238021679d16cb978cd3ad7271bcc7f8f6ad84e00d8ad2d30c72ba7c9e82c0071707e50aec5ab75e4bc3067626f37a76539cd922a83f17468c528265856ec527ff3248f73f6fbbb02cd747eecd8edb558ee7cc64524cdf159d29d67c3ce5835182936737be2d4d2bf50af63f4cd2ca285bb737fd7b00cd05104a36789ec6e841e48d4f145554a0bcc8abff6c87deec0f23819d385583a2aaa16e6873ddd171ab367c1d4eaf7fac07eb801aa4ee32b9c0a8cb0a31a5796e01e5be18cfb26db85d0081a818936abf934cfc189e612694be20924a144b5f260218ae920d64a1a2caa599324b3d28b9632daa6971f80ca8158f141374a8aed32ce31b834411094dc5289c5775eb2fbff32fb0ee21fcf43186194631e4b69798ec84dd84b9f36ef883bf3eafacf754d785ce152b4f1def77a308adaf2ad9bfc0e0c02ccc8d32968c8a1c9f51883c29ec597f776a39c807821393d1b0e30c851b393d497a132d665acc17926da6c3181cfe3a51c80632c848ed7d2c90a179e0c1d5d6bc740594d79f35c0a220cd1090f4e90f7e1e80c5c38b549eb8d50fdc8025ace7f8461756702cdeed3b6d4a8281ad389895ab5092b913579862b495d7583bc0cf9acf48b30e8308e07181e65ca4f1887b8daed888972b5439110bf7385d863fa3cd23214eefd0f1b6ea76656f65d3c9867d2816662221ba71b773a2d52a4c09013d0f3de2b16625d696b5bb1c72a63f1cff3ff3815d93eb2cf18e2ef356432248b20db177db2991731397229127042625c677b3ee74dfe72766f7f13236d3c79d426e7a647c3bda233eea411afebafd577923d3eb7e3ef04707e79e4525eaeef5d0a7ecbb394a58676454a075dce0837328a5367fd
|
||||
Output = f295340ea250a6a1baeb199ea745ebe5585578d07cd8f579dfe5cbb75f852d9f
|
||||
|
||||
# Official test vector 78, seed: "6a85a61dd08c0733fcbc158abb49fe0b0d96a50dcca140a2e9f5a254f1901985844613b1c656c0cb0112620591b88ad0"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 0f81a5f97082121244403da3feeb734f6084b314b8d94beb11627aa6ad1914e9
|
||||
EncodedPublicKey = 8b15b86783cbe89aae934427c836443b283029b78029c09764301f378c68adc6325a418e84e452e8e448870414e08b2295eb162277530f4106133c5457c3950583744d445e5a2007f0284fa8d0b1ac5809f265610eaa3d32bc64e59c46df823ee021bf00f4370f046416463f8569636558ad0de17d06f62015319cf47b38b3245ea87a03eacb82284b018fe893c1c428f12721bf2420ba81865b36b5c7e28a09e95a83d5384563681fd14f3cd87813b15f06ea99a1707caa13b96948102733646c235d418a514bb1ca5f996774e21f63930c8e63a698d07e478c17e46161a61444a40887e8a716b3e596ba657f8d016e831c4167bb370f44bc747b05555c6e93e81ef550847642607d3827ed6553501426b0751c3aa2540e4b2da403b0a599145e21c70f411beff0afde3a8f27cc2cdef6c6b8aa498c0186d57253b6ab07d6f94e1cd6734c9c1b5a123f45a36aa76a38748544b40370271c49fa8617bb3168ff0a22c7629b71a809c5b60d222741396b2558fa2699c55ece81b3b4c09e6e07a20a98ab5915577e44b49c8191756c46216bb412872f10ec035229996007b5b7cc9d69e0a5b959b61e2a5e93c2ac8b15ad951cac1bd4bf72ac4d0e80533a86310a30561fdb8a8667b84c6b7f2d4345ea9b90c1f777805424a6aa80e638b5450c88c4a24545cc8ace2a4965443573748b5ee235fab1b42798bdde0a2551b6ccd8633f3d6a86053bc7004cb29855ce4c83b15a433c8872b07dfc6352011d83da1929b41087ecbb6e785b74239a3ee0a393c02de9eb90239c904ce5567ad44cadb31bb7e15b668c6761e86fb68abd09826690e1687d851b00827697687a66c35e0ea90acbf802e3046bdab76a18dc5ccb09490de8ad0f6061ade28e08e3bf01b7606729445367511825b919659c3966afdc5088b5a859c417a5d1f7a2f6fccf2e6886c1626077d7242773521c29aba99b5c1da069c90343536cb11642c9a0e60be7bb7c5d688577c95c25c3c760a3314ac98fb8d067c294b57dc365609019587b8fbfab9ee9d0705d83358fd34f0fd99472d15641db12d6f7ab75075efc4028dcab1b1a0f9eeb2268b8c37d927f661f692433899eaec651c443e29b6e103a793107d9
|
||||
Ciphertext = d55f43940057c1bad9a01057390ba8f8b1f7068f6b0bdcc216bb40012de3e4926e816c242eba4bf148905c8bcee89155a345e1c7c5258c45a0194e26ab2f41ad5da10056ba6cf4ec421ea2d25e18dc62b51e4626c301a375876c74bb1dae38a36645de2654307692053e9c10b1228444b4efdbce8e988d087139bfd878b297546ca951b56cacfb050fcc2c8cf34e116d4490548ab08796546855ec37a39631625887a9ad0d8b56ff62957fc11c8a7cf6b92b248db136997d748f237fb63f453323d3bb0dc25f4f8f9ed1d42e18f7769f2350b8c995eefd59848db50df1bf3ba914a439484101f21471eec998f75155b82181fa073cc6a554cda8f8f6545398126079cda77cb0d86e7829642dbeb74f697e683e3a44a824b3ed5c31d40ee9745d7253e88e09695d1fea3e78c3e12856e9c6ee5146e73ce39f960dd7531901391ab77f41fb82618598fc4bca11b5f2d6b5057d3ef271acd8142b0ad941b679122d7b1d48926d6ef6ffe3aecbc3401da14725e9587e124fbf8271ff2cabfa2322ff2315be2bedc972436c2a9351f6b09240a4abeef4d2072bec06ff0c4d7510c74bc559ed71fa4c4566132555f3f0f6a98c3f31b2390b5243f04553e07672de1fc36c59713970c5f4a751f6502262254a412b72ec4d04537bdb386b4ba8bd8d9cf9e01551c8436e51f217173ef3a6e0653c2c241ae8b222274c8c8aed183b4d028bdcc3492328efbbfa82d2e0c110c7fdc0dfe41db8b16d2c47b20cea1d99584e3d9797709ba70c8e5a14c253bb086b03b78574d988c8bac3e60f7da4462bfeb30687926845fa5f47f2396b1cf55452fe2f5bf96c38b5149d6d071bb4ef1fd009677e61d6cbb8b076b694160a97e3595d1243142b64a99d032bd5293c8d2ad06c4ad387f60e9d00a35344735b91592f2ffa540bcf16836276a2ef3b3bfbb29c82fdae5f0661c67bdb420f909d65f7d831ed8b12fd4232bf5912792ae3b3b1c428d6357799fec72a3732758373d287f546878150cd98899384cc52a47bfef7c43ff17fda4f5ace820276ee6e55407df56a46e4c41dfaa6f7d45aef35153d02160f90
|
||||
Output = 2de1d0b40d434d5266402b7b59baa358ef79a03d4c8156bde44b404a7f686e75
|
||||
|
||||
# Official test vector 79, seed: "7f4a56eda151e7b097cfb8ef980440fff707affba91867c89522ced6c5ff3bd7f5f00bb49ddd615d9361a7e4efa42851"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 31af9345365549ea0360169ed57daf98cc5444799d4c75d9f1f5d615e9df8a91
|
||||
EncodedPublicKey = 214bb7595045d078b1acf223eca143a994867f9734831b7c228651bfbacf7fd00184b3265dfcc9d99564f470c5276b060c646adad78fdb67188847a1ac779a53dac6956837a73b34f6f4c5c447350a57843ff66bd7b79f8a27490c1261ce709fc8c70e712b925e176854a252b7eb00b57811e9797e1f2bc7b21b4bbe588604b76b2278989ce80c50a2337e1cb48c695da49592041b8176271b60726a5e217ce6620ea6cc968ff7bf75f79c827254f05265564034bd6b6ccaf1351a953d0d429a41226ba1f49ea1abc6c1a38968b398b47ccd71f13aa43b28cdf7106cf3005919b6198799f0e991042aac3d4b882c99aa1749b431742063207525b56024cc175d09619cccbabdf4a91ab4a252191be8c0b96ac930df173bba1aad7c18bfaa773409a22ac5313062106664701a1f4c01247246a718b77a6c4ef9f2196477733289b0ded47bfd965da019be2c43a2ec8639be69393de9aba4f0a71a3c2a2b626306caa7f7d77e2e51ad0c11cced89aad9da2723480e9ce69f7095252ae1929430319a7697fd2406b36c413d387a812373a84c12790c63492132514c14698aa233512d82db4cc25806ba5385bd73259e5bbb7d703885cc7993cb4bee9ca10d6c88def97a3d044ba1e64b2cf01726aa15e7e7c2a36b41b3f68895fb461e43a5bd941f514558c80347a7d3713795a687733621b5191c870f007c04177796b39a3e082c4d95347eaf90332fec68ce8880718abaff4291f0084b15f435e2e36ddbdac57649a3e39b0e12153a24fa0c45ea23c82018de186cefeb25e47a865863450eb58b8f22275de50ec96a783751aa331434541c0f5c8113df97879166385a0439fe2252bac332eed061084b19362259d1c4449250721e263b827892b98345f2316004513ad94566608b57f80891da4727034176c3642dbab42bf20b9d4770681a68ab915a643ed183d2db017b7a1044b99f9694a1158304b00b0f48db2db147778cb7bfcd1443aa3008ea372be8b01e6c6b2b3b6a7aafe524a2aa3178e06d745975bb97b39cab05722c7ee9d832cd54124aa39be212915c08b833ec49f3d15b55c060c0b3b33a1330ec0167996c7251aa41656def0f198ed3a3526d4ebf5bc18a0c33
|
||||
Ciphertext = 2b98ec2077bab2f0f532d1a2f60a6477ebc75343df34ec2ebbbc6b1b5ed440d771865a19e01239a3d03fced83014d216533a91439327623b35291bde4f02be6715d72756cb9de92206fb66ad5fe8ec20cc54869e1f9c5354093a23da60dd6943eb7f63ae5f4de4770e0f483e49cbcacf31eb313554881870d26b11d7dacbb66e58818a42b99b053cc2f320414c9738ab5e5e39832386b926b12a77ccfefd4cd3b9586df7c3cc0f22c0faa760141d964255c2c9b65e68b62460134c6a7544911c6677bd13a7b8857364d92332ba9e3619603401962d365b9bcfb29cd6d45a7a3ad91282d2881532390cdfa07f5b4cde2342cb4a506a26e4e247f667dcfea7b70395b2f9bc312a6c565f0b75e8d7f6d7afa150c7a23863569d2e95aea90a69dc6c26610bf44ce0153a59c488425f66a50422927d4e3fb4694cfe5eebfdd3b0a95afda02cea67077ae09b4dd4935e9293011956e014f288463783a3fcb5d2329fa932ef2bc4a32dff73688cb8c25deb95b19794e715d0aefa04cd6382cbfa6eff4f8829fdd660bce7a319dbef7d0bb92b2c76164167e82c43656f4fa62bebc6fb343b1cbc2aa7b3ccf813323ff8685471469c65781626346af6e31831e216ac0b7db7f8438d0198d05d90ed8cdaec2564eccb59c5d954580d01174737fd4c76fef0a8f7585997dad22a5a9cddff9cf9c574644ce1bc6615ca44b146d01167d822cd28e029847d1b524e0f07e9c194839df8f297a3eb31dc58a47a2ac2c63fa8ab396f647683ccd84c9c221fa9c9c17a5c545bc6d9f1ba0a5a4bc98bf84bf5e9ec0a06fe5a6790f929ef84d44f99a56582c94b7a8a9fd4c12c57f71434936fa43c4dd95519f26a7f3b7c7d2aa0dcb62697c684c491fcd5a99cc6c9b0fad07b06e356a33495e6193dd2d790ddf08db9ca9ee1d037256004692ccda870e0577d2ac1a127b7cc5729353d5251ce881ff709b8c74d19f52dcab8e6c0ede76dd2823bd799b240a9119c57f1412dd5e627f81457a1c771c126d54c309148f08c940d30dab4f3281611a6c3203947fe1835551066cf14e60530d850c6082d8a3c87980ae49b
|
||||
Output = ffc02cfa2a2fca2b11bfcfe1d4e273eca98ae7ada761ab1860bfff0993590dc3
|
||||
|
||||
# Official test vector 80, seed: "09fc004519bcf85b20d25d314a0dfc79e00cb6262a7dddf9c52473641afb8cfa0f5dd5f53558184caae9ec34b459e98e"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 774ae54093d694ef40b63b62c73e6c98295f606feb8699807eda1d030ffb996d
|
||||
EncodedPublicKey = 919257d0599b89c76025c6502a589cbf1c03ebf450685c84cc06a2e308064736a5a7617750132c07156435761d4727ac06fcaa8e5209adba07f985610aaa29cfb33bb33bb9bb58048a88a17bf22564b8044ca4b62d0a6de52868b49a9771652b42fa300a3915d9693a8920176c631ef55a289ef58e7d2b683c1b4329314c1481312b412862c2938ef1b8014a2ec9305be3a813e6fc1ea989ac406ac47c4bbc1d115c7bc09bc6c3744ad54061458bff21167be8cfcf834cc3652bedc2bbc2223e095b7390b01766e7079d940108987067b36ee7d93045b53df88c4315fc84ddb4cf73d0be18802281ac51bee246983acd6e33ba8eab6b68f15ce9a7b92af649baa4a267691c5bab62a7073f2c29a33b0843056a1f8dc7696cf8248ada5941dbaa6eeaa78d7c05ff821d9f2c362b104ff8b12e06d125c4d329954c078a99ad95eb806f4406ba1742d153cd8ae48bb11384e7bb0030a32639e75211075417d4b46603545e3a07796048a9385488a09c86f14b5b441c5b63b24d0ac733a46c84776db4ba4d7ac4227c216755a16269d27261d905dc587eb57616f4367e8b3309dcb558b47957a8ac0be9d7aae6a618dec9c0e56a6ac867919aa21ae77a5a5421465bec178bfabf61204f6b60aa94704f79842f03402a3d35a8c4a4186e36855da666b4fb254c225124c33b11a6a13bf7ca0b4290e132457b68c7de04ad542110e08a352c0b2aee19c5d637c865e7379bf7c0a3d39466bc58ba4175224789785520d6ea6ab86727f198b6e236aef35b90d7205815fc1774b9a6815b2e427a329d4521e5ec77f19c3277b35dae3944f5bc622ea738e3563e2c8857ea8796e5c01729c3ce244335f071bc2a492c51d22b300a9cfd0c69df3c8f0e46be28cacf3a4c1a498684d8a137ddccb419b33935ab5e9e47c8cdd658b1614f4d9b539c7bcd85827fdb5b8b7f8c3f08b9922ce68851ec5c27431193636603f32428b8254bc69b7c20511838bded03b77427cc68200025456d408101e4a4c1d15c4244e7ccb9763562370ec3c94a4ada04bc4852ec20879b08625cc9880ae73ad1727b69b85aef2639674923e6a5206df7ad3cdd882eb47c2ebb4c7bf3a28c13d5333cdc3d52179ef0
|
||||
Ciphertext = b06b6c43d4380fe568359580a88e38ea143101d1192d8cddabd71a4e26f1220abfe3ccb8dceabcf2972b4d177e64140827fc34d1697b3eee79e14da195cfb0a06b71919a50b52f6327a17e46d761761a855b5513b858151a7165df4ab3f0e9899f829a8a8178c70cf2773b00c9cd4b18760798ddd7f6f56392ae73d284e0515250ebf13780df976d365a4fe02a5a703bc202643d0110f74aa0fc30e83b3661a9f697879bec3cde5c573bc642e65e8b682378bebc4d3a465d56ca8e71c1c65096cbfdcacaa975b7117734c883de11f8a0d2e317bbf143f087f2dac26f37d76f87f351f0dc9000381c3a388760ef1a6b54b49833c1c55d7a4b7dccacec786c7e9728a3af03497939e79e3c925781f8a3926346a5861497279329b0f0ae32a375353d32d266470cdd04ea37f1e2460b4faff8bfd0451c19ed3a52edeb434858c25c69e29e2e0cb3b527853f9ba0bb58b1f40fc2f9980561b60c62a0dd3ed1c84ea646b733664b361724f52ca06e452783fd356031bf37c8cbb9c5cadc960a6530430f848261a762eac2cf27bf9f9c3474f41f2954269108e76982711b5adc0df4c7a7d744b9b96bfa9dce6ce0c1045e61823b293a4c41ce783b3388acc4684109be3164da09c6d5e1525a402085a7d7c718e6d0b2dc59dc92e9fa8548d11414718fc5237ad5149b073baafc6310c9b8b50c6b9454270641113a7bf1f0a43cf385208a50e582f00cb4c91e67d04bc2e04de896149e9a399ff9c395dc4f630c1753ffe8ce7f75514b9a5f194036e217325136237f1e69facbabe0060e5105e986db474c6c4247a7ecc631be309c508fa92224f47aff035632a9cb86600452c8bb295026918ce5784daac87d10bf55e4da1ff6c05682ee7d0015455517a109f516f4c26263f89c7b5f88bf29ddd6ecf952017bc76b273e1fc127b150209b7df9a6a1e9d6f392d54a6cf8f2b8a695923adc06e13c44a45c35e4b7c0d33f8ea7f388a5bc9828077e8de9b7c36f9cf359153853a8ac090041765f297c104aa2a2adec70f8b7a3b5ce1334f625f64155fa4cbd2634619a07790cfd599fbf7987aa5a55313f
|
||||
Output = fb1fd6845fa3d004d1bc20286746142ab695769cc1162b637af8dedb799b92b9
|
||||
|
||||
# Official test vector 81, seed: "e3c41cca6f04cfe7732fd54de30cc5caac93e2f80e76aed7d24a962a3969c1b6a311459a3ec3e510e3e9b1e4291d4d7d"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 9f27a47604ab5146caaf0aafe6d149424f8d66e39ba3baf5e6c73b19221b7e21
|
||||
EncodedPublicKey = 155614b2e40c50b402119248ce7a48b1dcadbc7335648397e65093ab44c200f63b0e2404a43524585882bb5296b5f1bdbe263433e03f9fe10ef8517488a9363a0957ffb4559139887421c1d3a92518f210566841f20cad2f31941cb570c87b9a55a84792d66ced624a840244f9c39184317bc37c5249a1091ccc0c620c6c1797be48046ddd3b6002ac1ac65691dd749b43f5cb4df484bde173fe878f60d10cddfc2fd16440051cb50c9b1ffc26beee5cbac759b05bd8cfb53413407077adc568d56333142cc85892373c8820e856129d2468029833ced61231ba9b5bb2b94563a15954336a12be755738620b5503eb5268792eec020f5874c47751647a951cf5a059acd6584cf207e2f41f38b67e54907c653793eaf463e8f5bca3d2cd69206e866a4da7931a4fcab7b890ce956503547366cf4553ba3213999b5a8d82c10b14428eb26e44a1bd3d334c7bbc88fcabb71b1a2c020a9641850ff9292eda939ec713bd8e30291ee04920f22192097e60951e01598451933472665789f3141c7508fe14b04e02867eba4a03321886315e36d63853cb460676cb8f4c15c9c88e0cfb693f4428960046e213bae7925d5f686c9f8b0d8cb8971c332a4b46c6ccfb7639d935c830893cb9b1f9402d96ea1e3b0400f9d38358a495d675a83bf850523b11aa466e63a2b002dc868f6a3d0431b1b6d6260b9344dc379d9e792b944831b2526815b0b085a6783fc8c594fc194cd1390673cbc61521a0d41ba7999ec78c6ecc031d2670a5768a64fb491986c82ee8177dac52b8989b59d796a67136029208360820a06b30032a4025e9258a6075a943d432fb4a63a0030b59f72b68fcb2b7a44535c2008c685422e360e4bca48099a848d0b6ad846ef908cf0cc5bd4de752c6c35eea06c9b6e81dcda27594e40fddf091c1f701d4010c5cf6a8e2d204c93399e9d6375d24822b07c2ed420261433802a3948d976158c5843780b3a1cb4a9d6009ad995233b58e5830907ec523b88c72c0b9be40e4ade3478b9569c00e42cf978cc757800848678aa33098d5d5beed00a94b80b312ab2895a94445380861d80c53f64ea5716fd33c74650cffb18b6575b9c1b32d4befe56f040ec4e5831c2478
|
||||
Ciphertext = 06bb27513f6eaa3a941cca96b5b81284f40e689c57adcd45dd01059e513e1f7e8b80823a0559c9ca3461c7d7f48c9d9683a4af825ab468655fdbf568a3e3ea4a552e9d44765fd35d32d569d16df4927dd6911edba2d0a03751b367e18aee73a5d449ecd504962ad3d2f496ab9d89bf7edf08549eca1ce9b6c487c45cedc69b2c9fd15f7b655dda11986cd6c0c479d7117173fb49a5cf2e4e0239a41b8e7b9e37714f027a84b2ecffc631a6b4489e9b00a9df424bb7a56037c257cb17116188157db0fbb310b96fcf6957adc7da31b645d801f1ca63c0cf0999ac81f2dd8473dac08d446edbdc681ba41d150dde1fb1defe1e68f9d00669a3f426aa6c26838e817511d6bb178d9b81335192febf2145f226a4826af8241701972749722582417942edd3a75e02cab62fbb559a1e5d1bc0f32d631e0190fcaa196f27b5952e5eda0a636a9487d88e1922112f5ed55fb8e42bcb3ef630c88ce5eee549ee6d9cbb79980a4e4fd457a7eba7b3d5850ae27fb06f7d5e4b9456881ee089fb896679949af8cfae467db9f505ce6a025d2d86adb26161ba71186ff3306d3861679960859631d0082103174aca3400952c66c49363c3ca84e998312a0e5db7e10896ac7dd4bb2613781f053f7aea59be59441614c0def823b0a3045041560796ed587c32735f9142a26d332a5b891c3412c76664e77047606dfb1df6b35156535e927ce5d033983720e3965e2a199e712f89480db86202b2575bf745531f9fb7fd646a11ac22384e6aef874bb3639fe428f448998ab9facda06a63810b72d5e2263a10ed1602db063818b8712a7f206b4aaa6dfe1b36ed4db113e97aead4846138716ae249fe5fbe61138f99807b6a1f19cd0b149b1e619ec851b06e2deb7618bf9f5ccada21ed94fed06c82cd775960a0d699310a06bdbe09d9c9a8f7ed147c43a18b5d4132ecd90933f105f79048ae542e83bb7a111f3249cb883579b4675bcc86bf147cafeeb7e0c95f9941611fc751023db4ab332e5c125bbe879b3d51a52f568c179fc32469ddf6741a05c4a3ec76101ef655fe9f947a976ee00c8a0818cbad926fd9
|
||||
Output = 3afd47ab403f63e4b15081cf8e369d2aad856efcd26e0c5e21c90bac2e7e7ec5
|
||||
|
||||
# Official test vector 82, seed: "373fdde922cfc416ed96b444e445bdd0962e8989f6c50adf9912a89937c57217d3600b06c95440448e3f601ae69ca5be"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 90044031b7597b5e60a4f946b713e8996d0426d2cb013243d9b7d8f8ef159a0f
|
||||
EncodedPublicKey = 5dd1616d0c54104ba11718a58be4c603133c46aa493c904383c088134538e13138701a4509f7264a61cf0680304f186e5ab7a975234427fc529a20b733aa93a6949810490ee9923c3a781a114936db361c2d11b07c62b9f1a68a7914c564d2a8f69c2ab6e13f7aa976708683bdf26c4a2a90c828c63798897a138c0e4b46f02714b613b4133c6a7df5935348142f5018e73b414bb5a85d012e3571c7f40ba094ca60a2ba275d4238c2ac2450394a6901bb61bc6bc3f98fbd259b20a003135a24b7f80ec695855f1b70402996ab6a2a0b7a813344170b0c68922a6b34774651662ca63bc47a60034d1a700f9815978050f95744e7c6b300a30479599f05bb73238909df62a64c6429c8c43beb550c6571b63a950186385de0681afcd8be77c2cdcf8ba0c75c0e37712a678a75ce680933416cf64c71d81b07f68bb5e688143fab5b17c441ae4c76896489bc9a1cd1994ecb1765a2ca04e153002ab38eceb45a62713685739f65047847d4b41b71378e388d4c2421bf112b24789e024bc61e21961f74b0370bb8369b518d0393b6f2396a9b4794a688fb59178da1331a07b610308370d55998831f9ab08a71fb652ff53c045073872234f8f3b187509d2281c21e8c43c9e834fd01b67c93842d72cf342c35391157de50311d3602c7eb898bd91bd8112c59db50a3e64ff00508d24437b6eacce15b6313b0b6581cbaf742b3251b65b885728875155bf839a3e97b1bea65c069c8073903e5455d725c9bc5a17ec84710ffa5c31003a6a379383964a5c6c0ba6d6ca1a2468b8e489a389c300fbba17951978e781043d10a4629cc9d45798fc27021073e27a7af7724023e85b4d4e7a79fe73d6a683efc7071957bb9d7e49da1f264b6a6b62860cd7adc3fd58c9118ec53b4ea4c46a81b434c194e8773aac0758b1520dda976e8ea75e0633ee8d82e6e420cd14b4871d44a4ce90ca65aba5d0b967608a9fcec75f208674bea111db007ad669437a44615706ece2b1a8bec857e748569b133c3f000b6099dde32c8973a57a312139018a350732bce8520fd51599b6261474682108a04b5cc790d76ca165dd00a29f05e4f74dfc7e75028a5880b3f7a937bfffd0f57fa7c221996994f
|
||||
Ciphertext = a4197a02c4fa06930d5d12a4700ce49b18f9beeb0f977efa6861d70b1e0a8d9b5850635cb94ea86462c8fce6a5d55ba06cd92e80a6486b5bb4ed823fef26d1b0f0f16da66e0711988b9cb0ad5474fa977e9076355514ca9b031386a74c6c71937225cc326b711b0b9aa87192e9fb15fce2c90551e5d52c7a5db6e8efc4bd7ffa990f4cd50cc4bf39f0db4f812313de67d728cffbc1e690abb9793c0daa950dd2ecf20e3593a32646b4ed732808ff1aea1dd47b7b51df0e90722d15f9809f87017f04f6f3f958df1210fc360bebb11ba6b52c07c32f5890c2e35b902584ccfa376a77a511b61e14efc67848960da6b476c71239a1e16d646d5d461bc20ec47ca1048b78fda7fece4dca36ab476bded10bd812b04842e99ab8c6eba0c632411c3a2bdbc764b21478d9886773b7d719c0b23c6df7903f367ad4bc9cd19a96b896e06bc04a9facfcb99df10c7afd07d31e94215e567b196e0ba9b2edf3a928a8dd1597c577279a4b33c79b81653fa54245730c6349a516af8d421d4bf95a65ac1382717cdfe3476474029ebeff7bd7709901dd1ffe036fd796f6573e83240ba8be9034b4ab50daa50c921138aa62b82cd8c16eec23ca21787d0fea37dd15b2f106c453a4d85193a3f0d4bdb8dcbe7c83234cad0a6115cb61bb330c2b6cf48d7efdcea49f70df69e1b39dcfbaf5a1e7546fcdb1f6307904126bd87b907f53fc214dc3592d0a5f5ba747e76875763dace16ea60b450311aeb7a6e557e256039456224dc682ecfaa79311001615f2f473a2494a24c1fc0582385a5ee3b0526ab6882a161bb5e5199e9f9d0e7481162116a8433740bbdeee1c553dca6967fb51331c32bc3f68a05db204f1e2380021401fe3235a79d66605a79b582f6ecbe229668ae637a1982d3351673290ea3cbc2bdba44bde745ab6f87987aadd79a102f117843afb9435654b7f66ca892af3758cf369648bc3f22231a101cb392a0859c9b4c629fdcaf9127e5310eb055c159993b4904960f2a9024cd124d2120bb57fe00dbca850120643256ecf33acde1fe528e8b28601ed34df18018e3a1540da2f592eeb73f5
|
||||
Output = f2284ed700026dbbd105e4060f057fba783cec693cb8f3b2dbd43ac1210e8472
|
||||
|
||||
# Official test vector 83, seed: "16bef67f7ac3a755c59c816478b75fcc16ce5844db537791accd1ebd49d2824b105fd2e970f728c8f0cf16e439a9ae2f"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = a7a31e140891ea37d2b6424b59b1f84f89220f32dcb73e037eb912b389d34a48
|
||||
EncodedPublicKey = d705cb30285fdffc980cf85c3ed027bef07fbd997a1ba2990f0972b6bb76ff4784817c31986075a8a95fd6ea96f7f22d6a526de04b161bcc074d91497f9128e04952c14a80031c7ac90bc3d80b3002fb2c3fb73bbea5959ca00011330a11318d7867cc648cac25e4c37c16039207ad7ccb0a294192bfd57d12b51e43aa2ded783e90a3217f9a7a74b3b74317a3eb7b113d80bc80db10b2b49f138980f15936d4478f5f49030525b645d030970a7a1100207ce918506564b2e221b3a2675e840ca42caaee842cd1b95f9ec586d0e8a2d41923dde0a18029703c41a13ac70886d24870e6165ebb53d6b41336e22b763b9c34fa1942f24a5c63812aea54bbb4b4801b81a7db631f2297389858b79686177a0658482712dccf645b8bd2871fb22394ce673f00f6b6bd67a6ea417d5a32795ebc67d53b15fa82490dd58170e71831f42e08b43dda04054192724305730c0cbce9c59fdcbb5d9441201b5cc7f3f3bdf525c8a234b56d897130a1a26a67868c1245a9e9385ca7464cc27b176193a7d6bdabd23741f49c28f4719525168afba078705afac75ec2f516dcbc4e2a0439dad0955f8045cbe45b9636473b08901865af9b7b6e237b52dc468d82080f9f31604b7bba27f80290dbc2546a6b036b1de6943a5c676af28617bae186984b6a9ca092c98bac21390b05ec8b9114cc3b38b905cb45a079549e6c65cc2a4f75b865fd9248a3b6011bf7962ed4c102dcc04e0a4ac50041cef89c4470097de77df2498bd01429e790b6f1a87b0a173236ac2af7e952c83ac332d066bc0cc23ba20117c203bfd39e5454578b69027130b1728250ce16aac623aea4725f238a422fb02fa767c2c2970d61a32a12c328fbc251f0b813bf6c27306053a6545ff5c9a37dd96ea4eb996a79a0000418f2082bc5d410dcec4e75d1b07e439e60f53fb1c19db34aba767001eab3040253a1d4371f16423e4f5a859b92bfc4dc7eb6371b4e83091ce988912b130b055340b29512e473d0063104e8434e6a6047778383b92ab848001942c25f16b5a43888dd1878698b64ab630e4ce877db5a70cfe9147a85c101f3c7576ca797dfc781a222607d3df6fa62aa19719575f7cfd276e35295c8baec2680
|
||||
Ciphertext = 41bd5b2f739807fb846be908661289b4589f04ee1d40ee008f23eeac128b8f9054e058c70edeb202368edc1eed128339991a68895dbf70809d638a0358c960f5090dcde28f0f0c7f9c80ee3da781841c3f3d5ee108ee8b5b0a1a5ce8f5a88d876de3526b1d2f8e26ea7aecf1fabb5775e5acbbfd558573034fb9e41b3a07a1e101fd3f8fece2a4f036a9ff9a4ac5afcb8c2b298960cfc49bac42f8c7f71f906a05e483301cfac88dc54b4faf8388bbec0df72c3568cf8aff9d0c49758f97a03106e3320073ee4e190aa24db83ed91016aeccd492b96d870fe0330fda5a48c0f82b6aeda0ba24bbadf629d74cf1c1cb9c77361a8d866362d6afffb6a9fa6c88f46c2bb6d9fab9d2136a9e73cf7a57708712894c4948a65f1f162a4f34e01479e9ba4ce4e76c40f1fbbbbff8dff9596c0ee4635519de1d762724d37596da083b50e7dc62832853e7966dce8ebba7d4ce8c2da702800ec3d53f636353ee3529d0ee16859495d4fba142ad942d2a5b2e3cbd28537ac0b8d50649f8a48bf3af96078805a88679ee222ab1e524fa81a189d2ab0aaa411aaec5329561a2b6953c712ed2dc0a7990ba3f69c4fd6eaf362a22bbb4a2537239159471b3fe75c2dbb963cfab7c20148a9088f9eb4560f6fc40c30e01750dbeb25ed8940d4bcbc54dc9d3a05109842cb8d8c5cb0844e34d9f80d1dd75318e9173ad4c5b40c2f21309ac2732f0cefaabdcc34652b51103fe0b36869bcc256cb8b1c8d7e46cbb30eaf5e0f72426a6feac6bce36247e180392d2148f4be264c4c907cbe4518e1d4085e82abb2972eb5b73aed7610cda37fe23d98b7b425ec08fbe217131db1271b9e7abf96364e58f05b99de29b3263e89c962d93ddfa1fc0e1581a0986b4f22605276efb5840877a025f12b43ffab53abc5baa8a582d60a79369cc3f9cd87b5660fa390b7628c28819e24b209e79ad7b5de1a83af2c466339fdc7f8afea1cefad9b1eae9661f592a3736e63035d6b18df3c89a1fc21868c3849741db4d9237cd9bf05c7c753dfd3e9439142a32317eea060e57950687a4838f5ab9dac214c0e46504ce6ef2544f
|
||||
Output = 3dc10519f227454873ebde9b608ad5203fbaed1a29d44b4c556e75218a47ad07
|
||||
|
||||
# Official test vector 84, seed: "d0611f9ae5be4da5d7eadc9109944348e716cb3daee545721eea8c892e7831cf2e54603146454cbfd92387739e9a78d8"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 70eb3f791faa91f1f982fa477dbcddeb2c55691c07f93b04cd31b37544c94b42
|
||||
EncodedPublicKey = bbf6a4cf927aac6152dfa2ce8e6124352376f32c53c5e6a3a4558bf5502ba1c8395fc94c7727b62b45ad6599cd74b19c067a6e15c77d923034ceb8345f25073c4543c113120f3491238561d409ae4eb498bec5120577c249bb14d8941400ba264f1305336a6d20fc44dff892bef636c001867cc5bdfa3232a3f4526e7958cf27a043d4498e0969daa30da431775d176bb9f16ce6d7a4feea7b61a299cf454c95ec877f129db11034a201b1ee9894fff58ed12378df1453d5ca5da87a443b1097b9a9323d7a5388128886d4727b9b15088aacda523638e85121335cb7257c683c03bc3b10b34747c075ac2da126eca93ece64122df16c08cb2c31bb8d452b93f21358dc6311b6cabd51c350c3f1c03e7a410382678c5632da8a60baf33fac5ac196d223f983860bb56275e35bd9971f99b01aedb88e37e9048457b60fdbaf42762a97c04fd1e879def34946b529804314b9c32b8290be50d36a4d5c8db4017206908a6210557de3708afacf539721eb3865a0932d67eaca2d28308f2c0649182d094c27542305c2a1ba5d299276c6802fe978f721b8313a18eb85b22d806e56362eb4b05e0b194c023c3ed6854262faa8a70b30dbc57ddf852401a8be60c01cc0aa1445e00771b3c99e40234b940f0904a120baa4b21c740b1ab2a3536f821b6b9cb0a34bb28fe549a70f0c7fae43398d356919ab2dacc30f94399103e291b0b920a0758271d835c1937818b428ea94949ec8a4ffcb89b2b4b94c2056884b69312b1ab441ba9945172252591df2249f584bdfa0c7ce720a03cc18c2d919e066540a38ac65d42a7593ba796ab9ef448b0385b004524cb5057f83ab3bfe30364209a63289354b362d74e66f34f4c16010990bd9c55f40598101651f8511657b7e0899ac7795ba81705b652ca02bd13a2b3c9d39e7795c5c7a1d065b0df91c48453a33c87708c5caa9da6312309c1326a4cdd9938983c693f811a59b9874a212bc29882eb369d0b691014aa94344462f0ac79a2c9c7917bc50cb89ee65303a975b10c64253aa5c7d043c14dc9cfe56a9847727be9536645129d0daa5b21b308b339e4bd5c2a60941595aad6ab3f6c2cb5ea61631b5721f089a94336bdc7e8421b9d2
|
||||
Ciphertext = fb732227cfd155efb068ab1d9128025f1327adfcb33f6c87394e54978a7af424a395acc0746b434dcf9cc972dc21fd5ab843e7de3f5646acca227c0a167ea0f46ad7a6684d40b7f89d157450f6a87c5fa62495405478b46ca3bde429a2f09360ed4c1648a6c4d29ecc2ac73bf2d4b88830870c727b567ae6fdae1c4faa22d6421edbf209ba9aa779b8923c9c04ff41b0ce34351791c205e51cd981fd270637713dcda955a8c54135721dab8f3753c520c309c270811af075399cdd7bd7e93bffe938ac762fe1d5c7fcda549431edb4eac858eb7a18a1474d15d028ce765ae5d9c59f4242babb98150536ea3e4265833c82470511b871b6c4e82c270d7ef40e1187e4e544e3aecafe4e15f7da66cf5d3de0deaffe4cc27b591df8ba1a62e77f8bdbc82c4597f8722df3217a308b34b23e7ca58dc472caafb007a84329cc69d9827bcdd9b27bf0f42091bc3c3c8904bf34ce3741a7027ffa0a76f1f2b4ca9738dead57729861734c40d8be99dc99f12ace1faffbc0815d8fe460890b5e37e868dfd9eb44ea158ab361be8067b5193f7871a29669bc30802a7ef0ffcc557770f88b327c2265445e1b097b2b8ea6238e3d813f2def58ae3ddd2926164efa34c4bd3eaa4d4d0bf027f0d140a6a3d7dd45f21569300dbc3f56618a52bd2fc1e9713b4b08649748a3e35f17ce4ffba9a72396537eac113e8b22cc1a68c210412d7b2901819a0118c8f64bbe73cf1d39d002e9f2345db4797ec8b7c5cd7b4e6f7542e49c02af5042d337373a6473da94fa88317b998351dbd3aaadfd5a1356ed710e002153603c77db8e6236e8b64ceb1db995eb27bf1a622ee37b8933798b34183166aecd1431f03b1049cfc11b601258b644155c7f65d14e11c327cba9fc7e905b5380841ff602e6c141c2396f18bfc9cccdee472ae1f95c940d4cce7f8f497c5d94ef96a1c8653c1220c693b0dcdf64f2707413ef93db824934690034ed5003b771a1f0d735b886002b8e048d181e65eadb4a2a496ab5cef76c221e555ba53f56876336b0d1d7fb3f9722aae7ef094c3842b16d88a67b738f2c81d02eb507e7ae495a
|
||||
Output = f04ce13f4c9debf1eab149f684f39bc9aa5223cb5db8345b63369312f1dea129
|
||||
|
||||
# Official test vector 85, seed: "fbc38d7614d7718e931edb850d2c6f0c5eea9ee889b3e25bd69ac255d5b91e885d93e808e66bf9c88c655dc594da5792"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 30f4095015ba88b6d969672ca3f438c395dacf7d476ea7a9e805ce932d270a13
|
||||
EncodedPublicKey = cb827afcf69b7ce496fa14808ca69aa37b2c34456db0678ce262ab8e75678d7663a6b7a50ed284004d5681976f9f12618dcbbbfd35b6a8035e7840bf044c3ea4faa1f8a21d16198be30282f89561d6b73bbda53318d90527415509221a5424777c840977dac402654b9de3ad4c99aaf532ab3a4b70caaa3ab84979681c402e2678e93464fb7156f6e6bad7b8666fd35eca59cf965bb6fa8c8e4a283d3fc7424b00c2db5018ad0278108c8f2dc0b68da39305d89a935a0ca0632e969082baab6f7c408454a52553f38f6e38c5f5a88cae4a4595093f54866f041986f1235cf27210b9b62a0a1cac39928e01a6389f3c924a1394e11719c27ba84de7038243b96e405da2f0623ba689fb707816acbc2e1499e6c44247173497c95d54067cdad784872b57a3956f6ecb1424a3309ec47a69841c7f2005d585c91095ae8a83aba5ec3a012935d672a468a37e1a2b30d7c73f99ba6ad96bc0759cbe39272293a69266798fde18371c88103fe45a1ae6754e06a8af5035345c7f4409919bf6a43dd75b9af87abd67a04210ae3015a0cfd39357fc96e02c9e47a67bddc759de25445f17ce3993018576af8675b4330b8b92dc74a5eb19d8fa483d2c1c60cc01cde26fa90623e4d18db0e45abed6005a4a56e9ca6baf22cc30a175e4d30d15a3c9d8bc0bd4086e4245514877b8cb72619c2b7c2696ce5a7603fbb696c14b98e6c73dc315466fc2aff5702aa42b8ae4aa7daceaaa8e28921171545bb715e878a4b76888c269738b9267428a1de1817569f2ba192909901b9fa8c283d585a3ed7746df14b5a13a0e4fa55b13821c540a0f7254166971c1d5d81362b1446f2356d7b543a3788a24b27e2b417f98db00f1853f66876175791dc2802af44a7e02b16321b2c6eaa269a46622dcc9762182688e9417a1455096e64f2f63c3aec81c3a0787a407930bfbb1b6f72bea836bcc647d80a760479740069468aa87c3453b1b41bb6aec2a643fd78632866fdbcb127b7499a77675f57810556bbd90991dfda585e3008ee177cba2144dbcb97699e472ae86c3b91893262c5f011c5640e22fdf458416063cf516ea97ef93730213fec55485a0b580ff7defb016f829ea549e8ca6f813ac63
|
||||
Ciphertext = 8f3903b67d6cc90dad8747c5fc80f0a4908b4eb09154b92d642f88dda81720b6bfcb0af5db4e41ba418f0cf4f9114c4736297fe24b430dd43c8b2a9f9e2bdb1ff25cbf61644dfd150e2256f58e7dd3f86e710a5c6487fc9dedfcd1350254249287f41e8b3152ba80f9180886ff98ae351840b8fa5dad65a7cb9544e1d4d6a6b64fd34257cb8b9c31f4093e3424dd872f831bd1fd14955c1612368af448a9d0cb6e044474d2c40d67d875f96a78f31f37cbd0170c4fb68533d764ab451a7a969814f0f17ff961439ebd3b6f2fd79d206a20b75bd9e03219c7969585c8e1141c165a84ce44e598f944a3be3b79f2e2fb23952820f4be2c87f90f2475cbd1d700b1fdf152b9bac32dc974b64907d79004ea4ae0ed1c1801cded2f1b9001ea937650c229a09372710fc6cfeb09ab63e530385e17e7952e8f42ee0e9c2332297171e0edb76358baa43b01b21ee6158b4950ef4dc417ab1b8b4b8758b91d4d4bb1098f44c8d4df6bb0ea32838eb88ec52c4581bf8edeae4505751a1600781fe21b9e2694dc5af9372cb70261ec183eab1610d26da4e144322fb785a77c3a400b55facc31bbda121798bba54a090b77c90cee7cad890bc89fb6dc981dbd717df78dfac5102f531cd8c98d1de9f01067fe7c4ec27c719147ba4e6768812558e20953f3726c88a0269ef1b4ca305a64431ed0734db12d383fa52a57a28c447a7af491dc33cb7b2afd2538b8b11b4965ea35c8cccb9486580018e6132cb5e08747fd3c1d33b7f6c169aab3ba9a1477d47ec8da19440495be55a9435d072d730b0659ebaa1aa0e4ecc874d5e0a003b86dd5c52851dd58b8a4db135524d229e7aaa6eef2f595279b0342e6fa6dc83b1a9515486e75098ab36d140d806f28978ad8ed7f662bce1ead3227f0d892eb28cac07e9123d23727adf2fc3260fedea82c1698167154900697b35815dcdfec56d4be1a07631fe2fca4cda82e4d7a7fbf0ebb7fce32c0566044b5353bd6f888a0630735c8bd4d5ee6ed56b6a771593ea3c920dd56033b6413c6cf1b32c2d3c299ef9a5e973ed4052606f11c9281b13eafc5da344538bea2
|
||||
Output = ba09aa954a79c48b972904b3d3a7dabfee1128cdee6e407b6767fb1660699d88
|
||||
|
||||
# Official test vector 86, seed: "1722219cb5db47374eb0af0232c856a57f026f1cb09e5a5799f4c333dd422ff6a0a67c4da502faae727fb2d45dafcf35"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = cf31220f44de862e1719570e1b26e897790159366a385452334fe24cdcae28ba
|
||||
EncodedPublicKey = 9a88963923b2cadba6c1b80445d6a701777c2d127ac30050a042aa890b6266005ebfe583b1f66324d01f26b8c6a4441b16eb1f849325cc60636e88660f48097eb908016362a131ced3a75bb06377e8f7ba8b504266086c1991b36f951daa81352f863327173fc98666b19795f3e5618e7a6006a5319da45311b3bcd80bae2b501577f4cd2e039542981d604458d85460140ac15cd200202a0f513ac323d6b6990c1edbbacc488a89ce5ca7ef9443b62552a23b2fa4d77ef47429a4200c8af02aed09206c2a8a5ec89e16429b592876dec7c0ee456d34d1c2141b0d73b9a71d68352c34c21428c7885c72260c6c96e09ccc28cef495258c0758e9f71c529accec16234937a58af4673d4c56303370b18cc84b936bfff657a8852d0a087598a64de56423de712e79a748819487fbb050e7428a37c5ba6420b85b335f25e5952c4b93d5053d1792b56328989f887d68bc161110864f92b42fa9a7f6127ceadb30ba8521769ace7852311161b37f6a40feab70a5d2615a1c5371f9aa8b18943541a0cba38fb7b2276ec24500c3072e7c8e6f99c7e7c609e822101e9231acd03c02a3aabb02654437409e259e996625cc068c37496570d8798c9ab18fdbcc27c372a7565fe51cc68fec8431151252b8aa0d430e72a84f6cb505da7bc002f55425ba86eee35a2b46a87164cf51d4510fa25eafd5a80a80559a140438a220c1e97619f196da64a80029c226800349a0123983c16c5951a232bb5d6162aac08a37d6648acca358a4665bb65cdc6a9569ba7e7e69668deb4007a7597d0309f7715f709805d6f600de9bcc0e791952b979f6aac0a4912ed4f3a7c13105a52a3f820a9cafb17592d2ca6593ce14a1ae50a105e9d4a4a311845b616792e3c30683822b2644bbca99194b32b76c8162c5cb80d24ec99aa1f2bb5f48e3cdcdfb9a01565b35d1954b430bb128aa4ab66d3dc9591ff82f77013d11d34dca995840001d19f236b8655c1f163c212b84aac6c859655e4441726abb9adaacb159d01ee0bb9bd64cb7fdfb9965074bb58865cb370414e6c7e8905c551c7cb64b3f92c70bf4284a842c70ddf40d585bc383a39cdc1e21d0ff5b32a3a268d9135e69d5556245e94a4f4f53
|
||||
Ciphertext = 0a3f4e3ed46180b3dbd3c82a3bf6adee716394049038e8734bd5de7c64d2d6278a9d720d1958af1fa5ba53f46fc7fc3eaa144181f11e9bf401ab60165bf6e40664cea67c5d086f4805401258a98809917468d5d8c3e47934c33239a2ec31ab72567245a08e811825e83c4fdd1094c3adccebe1937250d5e25a0030ae57798318c54aa6cf5397d74aadf437b12705154c4013d8622f4b6586f47a84dd2f913e8cba07aae9b4cfd95f6a11190449b72ad5d46a2d0a33ff59a14826e936ca07ee384c0f6f7d2430f2119a972b8ba048dabbf0750c66309df1eb7c13e7e8075a6e46886ad132b1bf5344b3eb86cdf4c5dfa12ab45271a3408d42736bf2fa32f25fc6a932efdc8b29f2d8dea308b8050df577f2f5ab1799962e5d4fab2120870165c52b21e418590c6b3d817a0295f13b7e1767d6d47c8e148950057421062d620a893adc4a75067ed52a155aaac2a27dedd805c526c1694a53412281985397cfb191b1b106ebba29c6d9c43c6138035b1d24c41b242d4c8a7b0c81eaf81a337cbbedc2dfee0058efa658548df7bbe69bb8d5c147318abcdfd39aa7e4687641c47d0df6e743a96d6e07ada1f0f084736fa028f66c3cde7753beb5cd9b1a10396859850575f1f0f14093011c3bdb49f76de1b3433939be2a7353ddd3df8747b8d017ada596ff993873296e881e53232404a4c31483bbc5d263c8ed25ab0f71aa61ba3cc15f4cc4cfde06a64e495e5e4755a72b8a44f18b3b5533a74ad8b32e216680588e74cb554dd77a2574afe1c189b80dcbea270e5a9d447ebf403a2745cc8c5a6db09ea76c35ba6b6ad9798c3ec6916fc48f9d5479f08827dcee808b61f0c7e4466dc0df6b74343626c0e230d90c5f03b33a28a5c28fe02a001c870884db51d014ce8d65a12299eb21e435c01047be3fad3caed9aef4e6fcba6d0ca344630ffea6d2e01d28c77fc26458aa941b8ea9f7e82dc62a6524b98088c3b4d4d75e0470011aa69b42e21890f2c3a3e13f8725512faba20afa4dcd240da31aeacadbf5e01945b4714b0e5000d324eb0077056680384bc6ab9ca81147d7e6ed4cdd7243e650
|
||||
Output = 4af69fdf303ab72a07b75ea0bca8bd49d27846679ac934f1b47d84ea679aedbb
|
||||
|
||||
# Official test vector 87, seed: "ac139b78fd16ca0f26d6d7f9e15345c888d857b1910cf38d883339b37ead2dcac30f7cf10176f23ff34b4488eb79437c"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = bb5e65669a44e5d5c709bafa98c16ccba6ac2c4ae923334f69a11543eda64f5d
|
||||
EncodedPublicKey = 36236ad34359b50180d6a94d6ed0bdbee80c7f1806fa3096c69bc47e5a6abc882a7232a5b59c0aa372cd240416214007f9d317b30966abd262816047be7caaad625092908d09609033980af782552a731bf3ec145b9240a804918fbc95f5e52982630364b54e96e8029fc2058dab2f7a2222645a1695e6838ff015d9aa1fcf82b9c2f1a61fc68f18c3927bdb093aa6627cea64e5b0517983a3926b6e90f349be3c12f7b6221a4117ae58175de1622e292853fc45b6fc3c86d86fddf50c4c100e3dabce544c47d475055c9928c113683301ceb4a3b55aa1839e195884f857452a08a4701075539f8710b946b99020c6992ca683965a23f3254ff2c046d2541664022402e47d21038a6f83503f77667c176e2ae72d23c008a178a5a74c9553e945d4db4112519105b45c19892d898b98df1cbda00c9388868fc2d67ad1fc2dc2447d24d561dbda53affa05b3e1902b344c87f0cfead6227feb1afcf07df8b535f316331456bad6655ef5c28fbb048bb0bc0984c352b9217fd32b7bd5407f09377901171586563e9b3b15317b9edcd28cc595c6099c5488ab0d14727cb103b450ec76fa9cad7c71b220c2c288e44bcb8573fa63aec875c572474d981ccd51cb2e906ca443e869c721592814ccd4ab4e40a868c584255cd43558337dad68c544daac70c9b64feab6eb7bc0685a1914e9753d3abd6fc70d301b52648b7242aa8664420f00e211703b7de5a34bbf755c39324d85e25a390986765b9ac639079bdc5eeca12b5fc358ea56cebed733813809cffb43fdc9128d3356a0166d306b26ffb36d9ff63e6c252998979804b2b20d67aced52aea1d6a10e837323b6cce5021e08f0cf011b662d4576cf12b4427639c7f7c481020310e15cf0d5a0a0937e5187b75eb09ece03369df948ed30c32bba1e52f04e73ba780ce6c7f2e71d7a539eed220baef7a5036b74fe45beaa3b6cb877776768ad115bc80701501fd672dbb3cabf4c56bda835b7c1c51df4680f4833671b43000b18e3d06d925096dc4987da027077a6bf7d5bca5307a87b58c45620a70e269ceca67cb4479fdedc0abe861c29326f444f22319db3dc1c513a711a10bde1b871678646e76c447c14f753274aed30b6
|
||||
Ciphertext = 3b0850eb69548de5bfb906ecfad1e2ced7411a6a9a39dc36090061b0326873cbeae61057b8c61330e2fb88d55cc1b8b03bca9a7523d2f3d755dd935a36df5574a263970cb0f9bdc09c019c9a4c013abdaaf6e8a0d279df2a710f797c98d160b0dc51a45e6b76dbf770733aff36090e476629d7047552f69796863f64e45884d55cd44e8ecd0b771eaddf0dc3f6e0d4d940317d1dfcd392b5df99fbc27686057f66607f4c5f3961a7c39a5b977a9e063ecfa038a170d00d08c8b5a39da5ae5610610495e29f81731bcbff8dc13da32afe919f52f675979c0c9669c7e8a8e1f42a145c758f9a18a8a1c4eb8acd8d55ea9fd5af2d8c3c7996e0772ad041f14a346a1c14d32dea177c91e0ea6c414136045a30775ba97975e5b41c75e49d50bb322af2fa251034f95ce49c4e4c63935e2568ca6a7e2aab0f4edd0bd95089d2292ca47fd36e86ef73a3719f29bcda5c4cf357f3c5427887cc98e4fb352a1eced9680e68ba5e4a8ac9e3d66d80744af5fcebff483d1511111ea09220e77e0740b626c87b22c34c61b0be611a884d9f13c9da7e723665eccd2f9f5491e65178f5705681ac16d3fb625bf63a9480d9016727b3159185bef1d37aaf2e64fb645fbcebc97f87d8d5513b5c55612bffedd0c08f5cddcf12950488057019a26ce078d05fd498571ea26f06b4db7f40e7ca6f6e900e0a8369780fae707215610141c2971429fb38372545a09e3f9f5ff0d8fe2e8c98899ff0ff9af5b0dc13f6d31a985b612e40c88f1551815d475a5a37fa6cf1a4036f3ef8670843be34d2fa016b83028131b62e7a834fd10467bdad815d9237a45cf808d8f7d3538524eba0877a522ff5671545e6b752692d270d5f5f45bdfe08815e031b9ccb2446ff3015951da83f38c2c3bd308008f88ad6ecc59dd0b800b97a819a0d66bf3ba00decf6c5523558613d583eb9bdef497f17a2e1ff8bcb207093847c91cb2069621f245105575e6b353cf761eaedf3257db504bc0825369936a2ac463fd36d5f11d356daf606ca2b05f49f95112fd82a6d1ca06f2e8dc8a29a5710f417e2f66a60e5353b3c9e054cca384b
|
||||
Output = ffc3fe6705226234506ded36ab2249dfea6b9d430c6a36e7ea2b53a7677c6fcb
|
||||
|
||||
# Official test vector 88, seed: "cc7152849c98d5fed2813275d32069e44824ecb14eaef425ce017448cd9a401c91c06d0f7eed6d22b7bbe8ba6c429ec3"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 9ddb3aa9c7905d1a438c93bcf78e3e321813580371ab4e1289e2dbf3701972c2
|
||||
EncodedPublicKey = 8a51bdc79a0558117bc9e7310dd6b07eeaa21eb06e58cb2c744a6a02e16e8f435f4c5c6252335878caa35b432b8f90447ccb49b1749335c4ccbf77bf42a97bf6e702cbd06612478c61a39c5cb68873465e2ba445ab161457588bf5837909d41ac78946b6ca13c9a0221fd04928601843ba833181b19f880738f01f30910d636b30fe3b3a64d5a8b3f05e815875462a7d4b17af4f0a66ff707583a3a5c4e2ccab23bcf92276a1f2c454c57939f649fcfb00f2e55839c66e9e097b85d4392b010b57854ae765188dd8b8a406263b9a4741559165188c04d1537203d04a128c3de8121014204a964f513558d4037375a1c4c0c552be899b6cd23e8db56414e6719fa104654aa115e99efc8ac71d5bc377215670552eb8d63713c0784e7c0c31282b8b213f6a398a92ea93bf27030ac9a8a72a2115e1308a022ee9a07dcd7b046abca16158c28af1b913526cd52993e74674ee6a70603930650b1ff4da40828a37a9e21f8792bd2a636882b26f0cca26b20cb239aa8ee0f02c5b432304580d4c0a7a6e07b6f68b7496138d131cc407fc2b4e944b94201dc2d11239b2a97187150a791fcc36b3d54b33463242aff47937474339f787cf42509d2a51a77454d5c71fdc296d5a289c3b222c2d47479ac6a126430bff98ab1857973a487cc513a20b653ab3220d94bccec812829bc995310b6050263474d847721bb26fc6017b088fb22660613a64136aa0b815a37a92529f4b2656da252b842182384df92b8471049eea72800b60052f3b196ae2201fbb0bdcd97526e86dc1c24a94475655269d24633555f48eccf92b9f0aa05d5771960c1612f5711d82bcb3f1cd9ec52a0235b9293252b58ac3cd108206a11b4ed1087c58b8fa7b4c9246650a385cf254730f9b19865333f1f13fa5ba69e690052e1291c12099b8d8420b22abb19b9c988a37da565ab446111bd43adbc91efd6ac743a16af757c7988468fdd16aefda6e38f20ef1b6c607c6b29e1601d89083268b9baeb121ce172bd91667c80b7e5ab6a8c5ba453ee89dd58299dc493048b75b31a51ccfe74f09303a8364231ed70abe275f1b682343bcf4f60d0979c13af0b6f6b6df9c1ed7485e32d88f7b4a18f3936b63b18d15
|
||||
Ciphertext = 2baafe83449cdda2cfed6b8a77cc99f719c5e5d59dd8520ba4036d2808bf28a800727a609a89847b9fc0ceba6806e3b80e6fee5564e52c969afa76c5d72ecb43c9aecd40d2686035c47bf99743d2313e26b563ff3c970a0bee5ad05e9db56c2391e45549e9dc24670a00c8ba3cc7ff915e106750be117a0c059046af13a9b5d1899fdbf4e9ca3109e683f7b3dd45dd68763c92f7040a783e5e0a7acde524e8f325834b3f8e9b14fd041ef5840b9c8a9c51fc7c81bd9dfdedbcfb32d6131b6816b5608fe52917f29432a326b2167280a21296635e28474d8eb3b9dc2e6192d665427918bda44a32a4814de1b09d554cb5977f5c09d98fcb67c1a67c46fefcc58da1ef6cbfe065aba807ed443261de6e7c6115441b92ef5000aba36af443e28b42d600dcf98a9af71c64f9a6a65ceea07b22f045980835ab34b4e6db55a4534fd7879a85f36ec8f1d936d959a0a4c93de5f36cc69e50f41a0250ec3809fe0b8659c584e8557a44ca20f8f9f2fcfa6f7175059f2125694345453ee82a740ed838746b3cd14bf8e764d8a256edd0cc6e5dcbd2c7f401b2fb4edfb612bfd63a527f6e2860fd7e1071a29871800828edd4baf6747638d73c15c7d5f2a02a5f5d030f056e76df5eb8a5bbc654244ec1a7a723eedeeafdb7f690b04b045ac0f968b1405d19bee8eeb330dec85e01aca36644bc25493e5fac0919ddab3880be0d6711c4f9da0f8447db72ea2f09cb313e1c094a82d41af710bc47ef1c7efcd0109614642a7d186368acc48be0b8a333423ba2c6423027b85be4d52ae6366e4e1c7d895cf4b83c376a5eac49a2840a6837b3e40f68313ca183ea27c0f76c1696bd51b00ad71aba74f5208e43b9c024f9a7804d908de3c977b8725e24f6d0493a04b08812c0c08799f0bfa8eb36edaf51dbfe51a6a4cb5525e0ea39e0d56a1c6f80a45234f13c745617ac8efcdd77a24b72581f9ffa6a5b808569e17a0cdae51daeef14d7e06fb8d0ea58a70466bb74052a6ef9f66a1320c00c559c667a044ef17d94312840f041c707a179a6493ef68ed8cb88635a1fae7a24e17b2a40068296cd2525bf56
|
||||
Output = c0ffc74903a9caaa660206f54ff6cc5c2e928fc12d07d079f8543e1df5a7d8fa
|
||||
|
||||
# Official test vector 89, seed: "96d9a06f88ff2c2036fa8e914b89c765e4a510b468dee40f914f78858c811857efe9fd0e17c0048e7389e8d996b7e2b0"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 26d90b190a6c3d0d9a86cf66005154e7086749e966e7187c249ccb9329fd3b8b
|
||||
EncodedPublicKey = 5875592a246c3b43bf94921926c493dd9962df81941bd730fff6ba55a4b64d044951057ff4e528f9ebc4706c1bb126aee414337555c3898134e4d470ee770f63cb0fc610179bb3a03180c08773b5d1f89faff4b5fcd482b8b126823cc1ffc4ae69d3c16a1b76e2c4abd32670a9b0ada35c99d1c143d39c84defc24b6f0617b3a59626927c837a941253b33799f7596b6a83c882b131241f93fb38c3abd007eeb6521d6b5798edc7542a995066c519149aea4e65a2956230a369f2ab13076d8c2dda500f1ebc654352775b954782455e9a8a4db1045cb4a50dda07ddbd63a09377750f7c7856b26beda9214a143e7f259f48073ac5c437585322c037e17899d343232196744b211a60ac168f5c323795a9ad4001fe7e6a0c2954c8757292628c0ba6823d8963dd045619ea00849c48f250b39bf287ac7b459d1db07ef26a3d48ba6046a8c76face0d7712061a6f3f7ca32198712f646be00496856c47754b7e7b787b262753cdb126a81891e3d37dcd585bcc2a8eb21a3c8ccbc4fdf313c99361cdd519284790031b313b758ce62c13f6d83e8cb34bd25657b8aa2f6efbc604066ddbe47c146425dde9a082547d2e69293ff02604eb117d403ce4d9ba069b1bfb476c583554c723c544173021d730fb477e2286943d267d91d85f77e46c9011847684a29c35a8458998ed2121ae1a5604fc2791832ba2658bb596b34d78c8da5267f8458ec26a3dd0e79e65638a83facfca3345d6d03fdd862116faabb3f847507889c0a570f9721c15e9452a7695fc1b65b588a29142ad1bd1541e58aee2244cc7f264aa235d9b0c368dc31f86c6b7c5d117e03a43e7143c0671a6765a5f1e60a1272b21a858559fa6a5dfa5bc01a727284c48a371ba42416b7236109a338a6c7514a0da9466a740d515450f094a96928a463702ad1413850c3f74214847185a95f9b28cc95644494efa2cb29895c49098bc7afcb92cf43837108c8139b83945647d466f8265b9a52b1a46c6cd5b6652dc98989e219ae0435830d56ae263145e01ce4e8caccaf7102c264bc302a856abc82b546dca43c92f72079b0a8faa29478d49d96774740df57c364159dc0ea955fcb45dc26d50d95fdc070c0907bb3d71
|
||||
Ciphertext = 56137874e586953e1266c75ba177b75be69e71ef571f2d35bac5b8d0d9eef49b9079745c0f61635cf6a3b78c15a1b40338729ef8d3553d31c6003470d4c881fb9d2e2be4124a2bd6271f1641c11c33693bf01366f01fdcc6af5b31bd517ee667c26ea0204989bea3fea3446ee7701eb5b3d4ba166a2f8acb7d83173d7c6915717fd8dad95443aea71245abcfa9b0eed95ce13199558225ecf5b676581008e9a2ad66729ee06ea0d9842777dc907f0d0f9dc40dc837061ad967eed4465ff585a0afcb68c88307320bc5d3f5f6a1f942459e01ffe4dad7250ad16d03946922eeb64a8754ebbc5a7d2cd00c997bd6a05bcaf2fbc928f230c45fad80ee0a0cb168a146357707feb43fc2cd477b7f77ca52915524780e24d2fa5c0c5c84af8409cf6b29985064dc0d4557512a623317cd36e68aa77e7d0cad76d47c9a1f85cc57045f637f60fc5d19490e4466f710e91b380b33e33a0606c1b33a540dd60560321d238374e3bed271270cff55a0d3a648b2dcdbbece065fd50e89ad4f130ff4b3084be126024263792c566f8df76e025f5a74636b021c084deae325744243b85bd01ac70ea74fda10a48d882e59cc32be5e986684589cd9cca6ab18bfaccc12327e50949969366f2e0446d9253d792a37b2728e37c4089c113ba88de72c20a14ed6bc7c9978b41d5c8253a605f33fd2c3ac00f605fd8036aa4fbf3a4798192085a17cf94ec43f660b18e392d7d7e449d341e12fb996c749622828027d7c88780888ab5e3f628ae64b684ef1248feae84caad5ebce43a13337c0ff359e611ec0019e8ce3991b76ae157aee9e04b730e3c19e07913cb897bcd10eb0250142db0d094612590ad44084c04127d6e52c10116cddddb9dae0201dd7b651c2abd4b45405bf179bcd34fb3ffdd03f6065b0a047b2a040bf59049d77ecfebcc3292cc93ed30190a5acdfef2d18ebf3f77cc66cdc0e39a050290837388018e71ce156edfbdd57f33cbcbe3c21dc5d364ad28f99b9e473d995fb970c328614d110c7804264d224ea0c8eefc781eb76055bf0cd4a258e0e84f8bc5f7ae7fa8216e9696a490378cf84
|
||||
Output = e4c5b2f26118f93f7aaa899350850a7580845540522b94681fe1236f0b70f6bb
|
||||
|
||||
# Official test vector 90, seed: "d26ce360d399bf7b89dc364aa7ac06bb513eab8f527383e93e30727edc3f22c262aa0ec70257b39edff0630dcdc1b79a"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 7db6d1a129d6123f1f805b79ad3b413012ea86aed42a05e98e7b1f32f9fbbdec
|
||||
EncodedPublicKey = 15ba2514672a6a600e7a2590c2759315f09be34160fd954d83992e317412d8c358b45b75c6604d1a576ea8b1cce1a4a822655d8800cbe5d735bc60ce96372fe43112b461b932b092e52619d42368d19b60c459222fd7c0a4b1709cab0b7fba2dc4758a412206bbf8c212402ce0ca1619b682e895aefb053f92d315bcc3588c4c407e510c8173c2d7d75b71552475766e34084c8655c1b14978af32123eb79ecb3a6889b34bc996a25891988900c6ee6c993e492af796784f949ecbe910bf2b98090aa814dc5cd87469785a433895b1c81349d5e2c6c673526801414de956268216bc1c8852dc3746351d99e56ca5d9487a8bc9fa8b7a1c819f90fccf736198dbd5b17c66c0f4958bb8a759fe8693e3009493b4b38bb419d1499a3077269a200f38557797c48e05140f647a2a92dc3d39934b5beab32ea55cf2db9b2da3b3c72831e36aa973f68e16e1a66c7230a8b13d15baaf09725740316e519b12fe4243a1516cd5f359da707deeca63cd785f62976b8811aa3763be93d786c1442a3aa7cea52aa9fb767ee83605bb555dce9501d6ba7fa402b27acb49534a2f5fd07004442b797404b2f507881c9bcabcbd172704c0a2cf53835410f1c30a6872150b200c33becfc4466667c3d86a527069881eba97a35123acd3c1f295ad0f727bf3319a8f03962c3a94dd0000fad9ae677c2d953481b76ba72024cea8f835b88a534e5998177a2ce6d205103488a0d119c2117eebd77c46b10803037d7f82b629a988ed58b9f157ca183a4dba7a23eb787f0bf7c675450bdd585d100b0cfbb489317b6de7e2cf7b111d2d619abbd04317928fcdd7397884241cf4cc5fcc4266acb83f562b58b24565b57f8887786a9589d16847358b09a9d1c0d39c60adb4a767fc02bd27812f40acff016547d97314981960707ed6688338b530b4979c5a7ab741078dae469d40702b935b521d6397d23c8d67e4a07fa4c56bca0c7ba93b4e0618ebb8694049616f274f30f5016eba6a93faabbfaa242a76485fc371e1d22b982b86f0fc773ca833bc446e9058a37b62793fd934b9a9625e4a55e7c44a2a518309e4b7f59af9e5d60d7fdc7209cf1d1ffa7a2dccc45e3f73776fe5300949ee92cad801
|
||||
Ciphertext = 0a9f8e6252c80732d8cff9c45c552b69e97bf272a5caadff7313675d5ee51eefd13d5a5881d9586e3d53e8a7d5fb0610a40eccc8b1217aa16ab196c0878fbf250888eab622b5709e4aa79549fc3a3b591d159f8b4194db09317080ab0f1707819fad2a9c623b54385d95a545634b9692ec3dec1a91b075de9e7cef978e6e9dd17c2be0e280c59ef3d122ffaba53ba99c2d4af47b1c4f44800729bc9619ade97034ff7dca22b037a3baf85fde27ee1eddccb4ca041f5200341af3d27407dad5a6273e70cd4a9a2f6acc9b7f4cbf2af5a313111156a86d4b17bcbc3cf3cd8447a0740c82d6a9588ce4fcd3b36733ce99c302e7dd8c5be28541b79cd90670c2077c791fd167cc720787e44cda426be981c094346b960713da2c36e1699c098c2aefed2fa1dba305ff4a6a4a7b5f084fca8e011fdd559a52fd2d0be41abf79fa195d9868d3867046fd469fa24a9bcb29ae34e95efeab17f5a44e992a23253eef273f23146d2b50ff4a059f05df3e94d1fe8e26bf181f9f79d81b12b1bc3bec21d2b0af76104585bca358ee9ad697861bae42e4582ebb009f3d9ab399deabd678d83514370aacb4e9d0ed407e06d4b3baa546eab48ab6905d8c37e29c2ec5d47c0b10cf6a191bc0068ed5eddf14ce6b93b562dba255610e19f8aec3296adc505c3f8388df6ef3e68a261dcebf03a070d6556126cca39d55949cd804a1ee76726142605b809f6806e877577c5012436dd211983e6fb7d5fe88b26e95eb3551348b104b32c8ecd45f719d9aaa8fadbc49aafc9921b26151ae24506a5931b7d58457c5654d2aaee5bc76e1d1042d5d4c1a15152f7031165b35061a2a4d1492c4e1d6635694c0d0d5b4e10d756941a3ddfe9e5c70d3b1a2fc3a34c1a158d3f140b4ee32000756121edcc7ff24dc4b7df5b36ad0322e15e318009b7a4722031487120963fd4af9906af0a0f802ffed375dbb81f04636342d7bbbb580ee41a833beecaf78cc8663602426753b4922c54ae373a303f9b0c6db3c09f0fec1b18b48b257a4dd7f5a44bc6f7e0b70d4ee31d6bdcc5c3e87c53b43fd6c3015d6ba2b80f5782a58d1
|
||||
Output = 2f2c8b7bc2d69d8aa65a27ab9a6f120ed179e358e5a7edc9a6f0a6c852cf31fa
|
||||
|
||||
# Official test vector 91, seed: "c5856298c3cb6ac9787a0f30938537ab2635b96f6d19cc9522063360e7a5c88e644929d2879180e3e5bcad2422b7cfc3"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 1d129b27be7384c359d04311fe5c44917d1fde4bfb57314f483ac617edd5ac49
|
||||
EncodedPublicKey = c9c974e3dab3fe2c2fb53610cf0c64d2038dc0b96125095e69f8cbace70083730ddf1938e3261b4d598ea1a032613bcb7f4a4db4c3c0cfe09350fc996eda371e946032774dad6a266bf0a3c1242e9cc06b633ac530d22e36cb6a39bb2f32b7c4f62965031b128bd24487c6c9eb061ee761bfb9545a7a36c6af4cc0656819f9a364fd12c3891265fefc865e779b330949aec318153c16a7530b22f390df2044ca416cf9c5931190031e33167a639d5aa352e4833f58b7b44baa03bea856ee29a8a76050a213981ec18a5e662aa551864eb58baf85457396cb4a72a685347fb2983b4d852d33e788a35ab83086ac28f97f2fba145742167d16295f78224667672d262aef76a6ba1541440308fb68ba80eb6f3d078b202b135dc2abc51a2b3ea9a276a8500b9551c48ab72d466e28887b47c93c9213be5444412e7679418187913c5c27e44fe6b7393ffac36496ace183bd8bc894b1e819939b7af79a3519b045f0b3464da6a827ca918fa086f0e164178c6d3cd108e767b143794f16f494560338b6d22a4bf3ade3a31135a82cab943ebf4161f69b2a93f5c760545b74e81153b94a748b45415569442937999b7edfa48b275c07fab050b9732eeb0ca8c5b03f8fe99756e14e38e84f932c88f5f014b793c407fa62bcf744cd2404edf907d3615139a881f1805b92305d03358eaf05c70171af1bec86bf360771fb10fa806591d811152ab2b38873dbbb04584040bb50375c3a016742c7b7735a27c148cfa9c3e63778cd70927c26a063062f2ba029961405c227371b47a634a271a20855fb84154c486cfdb2824c41b16540233fbb37f5d983f209bdf0a72ad6ba673b6b42159a648f585396a18ea8c041669b8ca5442c5a9548f926119ff97258cccb8348c95192a12ce08f38885fe84c92029ba1df64ca096c9801534891a473664a74895323615a23f863ccafb9424e000e1b74b0c1e74c46b4c520a30e9be232e104b27ff3968ccb728e0a2785460151461d8af52143082ac93c847db1ae32da243ad48be5c9a31777472bea6d46248df05587ebf94e34e846b5cc1f653b35d8096f428921299508464e7ba0b0e4b572ecf7dc0f591254b2e8ef7ac69f7ff5ddd35962a12e
|
||||
Ciphertext = 5b20bf013cce8261160c4cfc8c5c0cbddc78f5b56635dfbaebc83fb6cdf7d174d37732ae8fac80f09442fed1d8cfe4dca144184dea3b5dbaae85276725a6240023a71550496e89ce212d8a3b83583f994480141a1d47fa48e582f25f5c0874fc198818933b03e7ba50f78689a2ca0423b07f4eb143925d0f9ff8e2a61966aa019d79bafe75edd1cdad734b68f31635f52e409a4f4559f47f4b6cb286db8ec979d79a0489acc43a8d47eab2e44acd0e148bfde60738f7ee67a178a0f4b4e89eddb8c4a0d849fa392c6ea73fad95f93ab954c5c713128b656dfd7ed1b282594a9d101b5ac9ef8ae807d0fed0509198c99da91d0c1756da8a41bf8a4a129dc4cea4443e3d5b149f2569238c450c4feb4ccd3be2a97becdbcae0a3756024af205a546c022fb5f5a3afc23ccf0326eb742e335813ebf83505e52265046a29b340b7f8e437e93f39e67ae5d3ab4d4bb3675c99dc9206918ce7be38ef2f4e86e679791be9add0ddf99e1107a22e07d97107fbf8123dcd71980b186126713fd6b514d3266b7045f8415198f6e526becfa53c8d0baff3fe0b860dce187dd2c243c8046bb4baccf2d2fbcee9bdf9136aa83b0ea8b081398a23524486bc66fd8edfc214b15b5e9df0507b2a66fc91edab62e3d059aeabfec9598ee06b82970e986556cc558196d74d5bb346f4490502228dcae8fd71587deb45ed3b044eabfb47497bfc9b0c9d49a6ef02444a7d04ab8eccd2ee4471a709849272335177130fa1824921e1dcc0291bf5a7565a00fbfaafd1ca9702785118cb3338bee486a3d7ebeaa7396fa44ef1eff77e2885ab927321e26d5975881b8eccfd6dea1ef71e008cfef6ca66ead8b6a469bb3ca0b321715e4d187833748ccb18d742b235218dc05277547428f53766294d31810987ca2a66b14947b0daca9dc13bf920424d2231bbb4eb0d7172ca807d18c9f448b1712860ae485c728eb1fe520a0f0a8bcc49432823155d34ff744ef0b6626c725dd7a5dfd7e050661b5db3dcf2ae75d2b00231673cfb38bda9bf48f19d31124f7588a1bcab2182a9f5862c4755509291b0352693d272dbb246
|
||||
Output = 921a38055c96bed7e7180d4ebc7eca6aa75192ce81a6a1f46ad73ad668b33879
|
||||
|
||||
# Official test vector 92, seed: "a28ead0a08e7228aeff602b16a1e752278b8ed1e91dac67994f5adc372e1d82f95cc390cd97ab9212275e0566c833fd8"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = bbc773ebd2df42c36ae05952d6a64c63a5dfb82ceb3ef4f8d4df3a30ec8c0467
|
||||
EncodedPublicKey = 91791a033a49c5959066b887fc49c7af90286b6a1bd1691c365c3cfa77c50bca224b4bc5dc2009aa16cc465603a0a51e0c522779f01d17dcc5df97c887c113f44bc2db825b166a582ada87c38b80e1484fdc67aa292a530caab7ec6913c5308fa8d1c8eec7bd75f0c12dd87da5882eb45b84ec98067c32a7e4ec76f73cb3efb705b04a7a6d8214b2b86d407ba22ba54e2aa1ac2b6629ffb589b73c26edc28ef5c74a640a90d9e59c647993321b2990430952ecbe13216429d52bdf94bf1a763e09fb6f9955031f4689192054b95a335ad71089b4965e39624ca23a12314f61ca9b0664c17b869dc749b29919041fdacd8cdb4e40aca0717c93f48319415c4535f605b757837ae6bd285abad6dc9e0af98af31599871478ac1c97c93982d9fb90b27a0bcb586dd81abe25d9aef0dcb26b39032438c196fa515d827c0f7b68b92b68ca794adf58c7c3b94b98e6b65504150753a3eb661d401352d76b604a104729119d2f8c8911d5b6bba739bd454d62517ddc50447db85fe19106e58676b48343eaf484cc0591b8658ee54943324913f82ab266a73c7ce899dfe53eb3652d0989a5e1c9ae7685537e48a8237b7d5f1c740caa6b46707e8f22b5c56b6b08f54736b0392ca86cff87af89ab4101310fb7f36625038b75c261d8c41ff03718253765744679728714f1f34b043330b28b1dc446a119e7c0321cc2fe7c6fa03788962c5b93d38fb11116e0d9bc91f2cc9757796136366190c445f493c88c4d5decb910216eed794c64a36f5a53670ac27b3205c7dae57f4015b4102157e9f09aa8391eb6760692d42301b304a495490f3b3c27f3714f3057a2e64a6601aa7707d0c1054648ea0a6c67b5d10925aae93613234269d8bfdc77a0d7f98951e2705eac8d9d7c734e311502897ae34549f6e6a78bd8b6446854c8082d7e276996204b14e27ef8e9ab68a26961469cc6c83fd7b40472822b525a1b7c187b310620d5768737b17e723935937c6c72757fb8d658c0b143519ba0ff47165d105693623e6b73c452247c3530b3890973720a786cd37e9da16accf5094d749fe4d9a2da3524fed816832faf1c32ea1e161d04b50ad2147a1a6b7d8c591efa50e226c1f06cacb7a77a
|
||||
Ciphertext = 1bcdc1e24d028f016fa1325dce3cf4f4305abae07a7fc40e33e594469835efb798987358e522f597fc323db5a751aebc3b42b00afaacebdd862cc2be67da33519064c9f8d8955f39f1ead5fa41aada07a4e27875d198d162b27b9db0770bc4604da356c41dc63a71f1ddad27a67c38a22a6ef82c299622f9945291488d7fa7660247c9d1c417cdbd5fc52810455cc2c9250e3380b3ebffd58c3baf7632e55d9b87616281dfc4fe7cdeb63c76f91b7ed1abdc6d88afe68faaf9048a7d6f14bf87996d838f46d1c8b6bce15fac9ac5273b85cfc638856a48c0f10c57fa2bbcfd7e274d015ed22797fb12eaf78c84860ec0a155951b1e0ea6345060ae5e020a8ebab513189dd14c3d637432d2dab32a775fcbe2b0c18469ea0c9f5913078bf5332b9ac552803bf9481aabbf2191070cdc5f47778f39e1e7d364c980a9ab5357a5cab5ef3a9fe539f6442acff73488e29cefb350f43bb6e0e28329d78c097477b93fc883357c6550a8eae7b226945589c0362e6d1f0ac57c0ff8249b9d761623e74f4aa43cea05254af4bdc3c9111b9fbb9e7a8dcddaf11653e8e5ba42a69280877c7963491c1b132c06ffcef97df094dbc8f0eec8385c86218b94ad04c444630f3f72c3fb1b276ea95dc6b3737465ae1339db3bcccd56467d96b6e9655c535c162c0b904322526ba974c6eff57fa384ae986d04272277cf3573830fe2c9e40fb10b4663bc360398a6acc4ba07d9cf73898fd9f5ce4d7177c2aeb3441e2912993d013cdfb38ca9692a345b8355db46cb27aa181d4f865bafd91e07749d56a5ec8ea4fce2c3ad3cc3c1e03d976e8bd911e29ab6ede3428cb3c20a92baa4c5caf652c1bdc19b674818eded07840585ec37993db7b2f3837f2ecf45b1f70fa91d56effb85ceb893da444695c090ffac64c991bd7b61b31384f2201d5edf55d68afb725dd89082afb336096009f509b2de78332c0d7f92af4ea27f48762985724b05c9934366d0ed4284a324191b196045154a490bd4ff3e5555553c2b644b349526b711fe5b00dea334920442fd59ee8fada6fb7a58cc05e53f42b8c59e4806bfa9758a
|
||||
Output = 218bd3bb5a1fc53ee08c4294c62eec9c99e3bd05ba0c102f8172005f1f2e5cd2
|
||||
|
||||
# Official test vector 93, seed: "92877d706daf88ef3412eb143db8cd91bc047a9a43b7acdaa42523560dee4c172697be4332042fcab91135839bf74ab2"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 5b17a6adad541efcbf5ae4b0c0452cd2ce32e4f0f8701801c5b63e197c1fcbf4
|
||||
EncodedPublicKey = 269123a7e0259c74423b4607ac9297fd0084f40ca86cd90d7bd990500569bad72010db32c6da683108c5fea70f63c9900c6acb1bb3a819434f8944c499976e11f95a7d225d3d73b4bba2656c10c76ca9c1b619077bb79da05687f954c13257a156248a98751e74641991b97feac4bb10b5aeadba8f6d3694d4d957bb7209e583a9aadb69be8c1cf94b57abdb75b73973eb7129a6788088fb7ac6621978404fd9f10a3ed3cde6803a58c489f286029df38512d322761a5ebbb81266b8859c637476e2576fd14ae22b946a93c69b1c2dd2363d424a1fea960289e5420a0257841736cc561d65972391f3c6ed2084b5d9c8bbc45bf871cbba72bf1c0658b9449064cb30581201fd259f69657e0e0b494009153587a4f2aa24297333efb3c7223a4d79db2ecfd0cd5641a56fb54c69f544b9e42f47e458159b074fa4af2c53ac56090265353c4588ac57c7c8863b9ec5a88ac149ab20e1631110c829eb61825c802c4b7a8a7613ffc68151429dbd8313809a7bccdc39e1ca9c96615ab5f0b987fa7d6a537233fb1bee2053737c87f72c3bd381b7a899110a53bf83417cd7e2581f117fb5097d015574705c3d98118b2823b428556164861a3bf97e7c35c1a6d07b61fa315955476c1cbf2e487fba757932c82953c60b71030e91b6b2abbb4d4793565f1c0a254385710bb850f877ab4b04362c88ecab4241abc563e5c873c715761529a5063968dc29bc878455aa6ac637601e6045e3d8766004b04788469352656e12b3694b8ca86179eff82fc654443b240d3d94c91e254c6f4b0982c17ffee96f52a319221027c9d3207a87a80c191effa3cd7e74ccf6474cfa40599efb20e51b47ed65a9804308725a010b4acfd80b47438a7bc908761e5865649013e495c9ad5642f149a935962a6a81cb85accf530a7f33b7c332b8554f46c2125112da3535259247ef9acfcf259cca793a173184360c2b5d8bcf7666bb8c0437c9b2ae08679178b55b0dfa5aeb5493581a517e622eb249cdf95754d440cd9cb53fb8b1034556b5b8b9aec5e4108e3c3275bc20ff0c6b754ca6b97554c2700ad582b24fa464459f41f46185133a9497e93a7304fb4a9bc9d9cc5c2d3b1269ff64ec97930543
|
||||
Ciphertext = 0a3e25e957227fa79beeb24419906d562ea3a117c0cbeb15095c78b9303c3d9076200c19a03094dc31ab62843e02b0e888f97cd6d4d27fcd828569dd77f6e78517cff7d0cfd463d0b0f8d035b74e30623f8ada3112aafcfa756d917a0d20377bbd5acbe9b4473aca399c48919d8e4d425cccc287df489ce879916a47806514002eabb5a1c70508b4f574fdb7fb2fcfba51f36efc96fa985e7a4ab2a518bfe3064141c11743194974a5a26f35ec245648b7b05b04c52d0b0f387a77e0c982f96491d0ee9503a43e399c50cbd22062d79c911d9698f1fec2bc9027453e0957346f97ab1b6d654e30cbdec3cd8237b020f0e11668c6f62368a67acc95459d51a9f1ccd9f40d661e233c8b064c050751a8567dcb19515ec01fd61e256f7bb414c033331758ffca9104450376e065cc9b7133b47ce4a54a467dc95b96c4e2da9119f8aa0c004ecdcbba9b176e4edf5471d6221778ce3bbeeb3e7b4192dbd6e347b1c36ca55e876c549c5b2632f6add05c85aead3bd83bf0a3835704187c7f8d30d0e5253e9fe02b14790183188ffc7eb21404cb8d68453b82edd91044d51a5fe44600e9f66da9ca902822938733856bc9cbd3712cc2d430c44683b43731ed85bfd814bd651df0866c9c90dff4844376d6c5dcdc8ee38fe16a3daf7c3ae73c0d2c2ecde3b8f8010d1afe9ab0ed13469d8f24c843bf1078b518fb22e58f03acf9aa326a2f60d11581f62f37a2984cfbb7affe3eff037d10650ed51175ed385fd731b0b06c3c3f8a5b3bc4d1a631ed61ada41aece5b408180c635b447379dec9308c37fa75a308ccceefba6f4ca621110916619b89fbb0618d378bc164a7337bb7251f37e9231e9008e6edb7e464394f4dd6d29d253285909fbc4da5cc542e9cd2cfcb765adbfaff446baf9da9c401ac6c93a1b60f3e5f4d030dcff41d0d215bb1553bb6390e9f508a600a90f4a61af06564ad7aebe88235bc5818743d17cb95cc01eca0fd3c77c828354f39a9085fabdea6d9c74e626df2df93c9038abc7adcec24c4b9e53ea2739f907a3f1f2e1be69216cd226438e2b859ed69f07f7c208e2af3cff6
|
||||
Output = c274199ac90600ee9d5bd055de33e12194f275c283dda609dddfcdf251066233
|
||||
|
||||
# Official test vector 94, seed: "bb4c0082ca4044b1ff60b036c9b0e0495d58667156786c530bc69d949a13bfaff53798e456423d7a0e162a60039367d7"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 61ab87659525de9656af41246f20e1dbe85c24e335e7ecf9493f46168bc14e94
|
||||
EncodedPublicKey = aef2af2894515ecc098948784256c96daa692d77c3736070ec87962c2b22602b20b7d8b0b1020521e8a9f760928bb7a1b16ab1f9c5a7665a2f0da85abac486c86a6db9994279305685365ca27b64c10080fbf0707057cc1fdc349b68cd29bcaf3cd869bfe084498c628415be3442c452951b867b23b838c0d7f765554b33be09bc8a19941e40cfd2a731c73c0569f08108080b60008c3b6c0d2cdc6a70e6449a202198f65d587454b712c2d2535e049314a5eac4c44217c327473ba872ba504cff400915eac31b05a6a5b1cc8df19d4594be869a4ebafc8fea4178cd6bc7d86352ab8aac609aa4a9022aae550745954685274aeb84936763486d2ca1d99c8fe5d151ecd2314d661ccdf94101aa4ce94c004f4a2bdd73ab5a7180bf183cb0a98290e618906118a94b5d477830090c64c14b867d35bb4581133324cb5123495b104030084c27c269f489a7ca622986b166c9451c47b04499ecc65854b02e1c643243a29a14a27a35ab73715a636a6b920c81ad9b4386b3b98775065617648fb377d0e5a34582484e58a1eb32c5b000a3558294fa39bfdff064fe487432795568444e68d1561751879f8b5a091b8f3885c2df08a0d79b282f5004168b0d400baf956a30e1a69eba65b26e03b6ae890972d1b672b76c04c53bae6c161be8902fa5ad7a9b5f6e24b40f79332b96126ea0a59cdc62ad233bc4f00232551ae309493d3260ec08438ce03a5ea4435ffa7628f66a589ab269931974f1c3662148d73090cfa76cfbe6a981f54489546e48b83a10b39bc4e8680f81af32108248398d465b3438192a311463d337531989a40d49537689990dc9b238e1c52de46b65e514cd3936e0e1b535c331255a1f34e48c37d848193a113ce9c605053cd89ca9e8db8ad1a33f2fbcad4658c2db06cdafb472973c0c344c0084364d1bd31343641b80c6a04e5274182a5f614824ba03412e01520e57ccfb5747fa8585c9a17131432dcb9a7ec5cc3f1a2bcb998971f263315b067def081b27b53ee532c5f228634f2a9465fcc8b23a170c88082732962bfbb1ef605bfb5548002318a210586efb3a0438390d9b3c4c1cbb5694f11e3c346bbf04208c37579866c3419616ae7a545a94469b
|
||||
Ciphertext = 5743183b4925fcd5e4c94fb92abf8d6c8f702dcfac0a057151b743ece24533cc964d540788f8f370d7f51ef37cf58840b9ab5253ed1f847ee184daeacc50833fd0ddf525153a9bfe644a3d364e9da4e09a397a7e1187d27d36debb71a68501033d98ad04a0d5552859299b6d627dc604a2e2f21d8135aaedf5febe3588aa78c822b5ec23823f56bb82ab9de70ba3020fea504482efab238c1d49cdbbb8add4b87e5cf03bc3f600a235b6db0e2c74f1dc68da2761dc5f0313aa4789600773ec2d0036aebc91094ab4a696221783c4f0fd335a013e747816d6ede198fb21e3a07adfcb4359820cd58eb0f268c108ef14affb9afc3b690b8611e925c70ea29a78805b50654fd7f9ad369fbde9158c00d326a8db38e1a23692a37f687081c2c646f2f96087aefd4164b65bed610e7939c3541bba3e237139d6e3d4d6acc6bdca454193f26c637a7962873af0668593c02b1c67d9d4e441990aaf1e93ff7b5856d82251e1283bc41f7a18c0b754250566311eaf60218dd02769494e40ed9f24d8067759bf9916f9b4914d7b3110b3ea8cc84a80f50fc30f935d2c809ee96105e3e1c33a16bc1e08eb6209089381f6f3d20f4fd3541852db5e90c29f96a42af1ceadc1851dc3c745b99d4f62e03c175b054558f27b47cbdae0251a0a1a8140aac398d03b34170277aa563875b8985ae03baef15ee64a9fbf02c3a0e57e07080a9b37d4e55c4089694125fcba141ac83f628e75a02beec38ad3f0701a6f719e014c0529cecf16838226ca0a70aa79b1b2694a0887739a4f42631f15167332a72a9a21923acbe8e62d4597d5be063052a6a934455ac4d4cc87a57621970aa470f17bb2c22b6044ea3fa96dc228a8052906345bbbeb95bd846bc31593ff5d30b61b6b5b30b8ae088eb75164708de5f3ac4f63b201b7287a3b8f397f00a440dd194dd4c6ae4054417ca2d9bddc97a6cd3901a10192d42645db0ee102a8957a578b5a60000a5c2366dbe1c7aa5a956c90246f927f238bc458e97ecefabffc4cf6223f4712d3792d580abc19073d938689bb421fcf34ef861a52aa369379f95d1de22b9444b9
|
||||
Output = 74d6a6fc4f573043e3085c379d4c809e2a247fa896f1ff1d323c9f3cdd6ab4de
|
||||
|
||||
# Official test vector 95, seed: "121d90e70af6204445d0deb28ac0c108262719e9fd3476aca74bbfde89faf04d8d5f89a624e8a75db80431f0d10ad28f"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = eca2adc3da1fb15f34033405ec08ef2f46163df4bfcccf8842c600ce0bc2026c
|
||||
EncodedPublicKey = b52b7f0fbcc5de989fcb1763899b411ec778c0f9473e8b4f8274af2ed090f953a4edcba3773b2fd1f05985261f49aabeeba07956596c863a87220047fd37b29af72396189a7e128c43b7967fca59bf3228a377c920c3c011e3c3c5e29a2645b3b544576d571c9481c2806622e583c47e395c506b27429b5b30546d0e746c8ac2cd4dc488298156781c02002c9743f874c1c383f6501eb661135b817b6288341e657927199b2a32a0684ac8acbc479dd594de14c9bf888b52e98e23a3c6c492bfedb941a21a81cae33337984920677a635090af70217206b337786b2cfc496b531f0686a9718592281676c01872e6441fa0eb95cee7966e3ac56b07bff997080fc95a4609bd6382a303d1129fd80ebb144a3c5b3a43d934e2c6334ceb8790033b8da09949ab6a76653b408066994819be1c17bb27cd7dc2a5c2f4c8f3a050d49b9c798079c3b9ce40ea89ce6a6eaf66058412c1a1e6a43d957652b4cf691c5e1d236b63b68fc9a3499c4b1f6997223b73cfa04641c6459211a278d35ba043e386bbb9c45b74155a9660bd336578d07bc7623ab20a9465346fb84363eb8b4ee8d84164c35e8df19271f4c18e474dee76cab9e20b10369407a13fd493b88d24a30962c8b7a55af20c7706c080387071d61b4ddd083ed7b0b843a2ba7b673a9270c39019cb551081345202c621aa0ea1bb5a2aaa48f850652a158f4107fa8805e2b312f3b2a944049ab95ac75e6a50d2d0bc52d4b6f1f5cb4b67c5c6811d45196f9fa57f5ff682a7f1299cc56c3c4a05fa9507c1f24bbac00f711177d1318a3a8bb911a7922b9a08dfd17343d3a08dca28722283bf60c7a6568bd125a5779a4274876f0fe27037d63f49b174333cc60ce59f738aa494882dc928c2109580a92984d9444e8d5c622e790f5530699b141c54415ec29416075915e1d27eda085e26c002a43025c5bb42457965cd8b362483c29050a043a3afe6221099078b74801599d0bb36703e0fd3466ce045ffa9900fc879e5d9196cf898d4f805d15614b5ecb5d71b09299a51c78544c9d50cdc113dc546cb235a9b58504a30c7a86128166ee26d9894350ed10b73fe72cd660848dee6aa971df2a53078e16f066e686ae5c0a81a
|
||||
Ciphertext = 5d685bb58842abc599ddbf4957976151ae722c0c20ee958558bf07ced914b0edc34fa241fe0ce46df47399712bfad0c66ce1f37e4a8f672b85128ee8472017e8f556bc1311d2f72e7a418828e76df1324390f67173904f689841ad4313a5fac32b1e2a498d7e7226ff2812979d61cd2d6305550dd22dc0b3a814e341a745df2cad776f15425f918e006d784055006718707ce6486e03c716103fe0d4a03c5fe3922e9c88245465e1ebd59958c87b22a22ca21bcd11823e406950199fe667321f4244435bb0c971b8978b812c775d19baea0c0929dec4c135cec2f8044d8355e8b32029da1c91e27921eab5b94d566c4e58aaae332b2a759eb23bedf4cc0e638d047eff626d10e7569e7313f1fa1609912552c99bc858ef0dce72b72e06edd8b136a077f49be222fa9f4f98d950b4bcd85136e83ca60d19dd1df8f1257be6322eb8acd4fb6d7bd4c607d150a2bc806e0e7c31ab653ea55e7f02cef2892968ca53da0a52af9f625a782519cce32853e4596f181f9ea557789adb04e544c3a123d6f052737d03ec6e16c3ee999daffcbb862811ce99b84b0cc3def20313d463bd6584ec968e14daf19d5b86da2f9c05569f4156719753033a9fd0aeb438e8b35f6a46bac457472f85d35c1497b8d0d47f4bf04b6bee4bd0b821685a9f0d21cda8a7642b85681e30752ec7cb164d1fd03a97eb71b53a1c9f2ae676e4a3e2fdf17a9046c536c72c3ca704c91a9c501f698113a88de06e61d3a32cb4c5b859a693a651577c54e37e9a3a919fdd8ddee537cd75b54dd9dad9e95fc7e16a815c9c12d173d2414c03efadbb12cb1c4176ab987f9288fed82177ec1b15faff418e8b6a1c02ab707f3904ba16ad79b958c31dc4b7e494590eb0c2e51676ebcaef78c24aa2233d74c527b6db963dc8b4b5c68a3ce8c0a9d1b016b9ceeb54fba91cab2437b7ad90b08466745b0cbd6f81da5e4e2ca36fac908b532a848900bb8f2e51972ccc4f0f0a2b0f61fd22bfd7cb18884097f45e349b5e2c05b5e706821d30b8ae2b1090daf9c8ccc3332485a39d3e559911ddb269e5e5cdd513024b4181643ff2eada66
|
||||
Output = 1adda35e06f93bdd9df93ba0630ab5ff850f0affea21a4a4f4416499691f00d7
|
||||
|
||||
# Official test vector 96, seed: "b3ac6503206accc2a92cbc210d020a2654726911d11ce676aa04feaa08af1d20c654e4105883ae470ec3ab299075d420"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = c4f15bec2d7701339d0ade4835193bea3632edcf89e74992620d9eb623a0d0d4
|
||||
EncodedPublicKey = d6991114b6cefb2453de9c4883074b31b15493a730d356a2a7f35d0ab21cb45136cab536c6b0c24fe102b4e59f8ef8171bf1603bac5c87c585e8635ceb594937d479e0802b3045096f7c1ed3cc1dae8b8028b179c4134e69442fcb7b6b688cb4d9048a692403c94c523e294144a2a39487550a758a98745e0ed161a6d29c4af3310714b1919aa600f405301abf68bb8b5fa0cc5e426f48cc3eaeb73dcc2453b8f4c396f351e3c27faf97815d6b21d7145e4a6b1297023784f7986ed407d7f627d65721e9fcab933319a68c86d96a7b265c6b9337ac563b4e9b21849989368b011ad0e941ec3036b9673cde69b332751732468a0fd3724bab6c620a0051d8c2ceb0490d5991c4e78186331389b9cc7fa884499a9e3b5b673c581bee4309caba430f3ccc0c024c27d96e8f112e65cc5d93703696c134f272bcfd71429141c798b85bfd64804a939003503b4ec5406b4ccac5108d16720bb98a5cd8fb63956c4b94d0949ca047f8d8150d881f5b774b8d1c5b3fc2881680a6a80873e8a4c8b1dca8b9bb34db430c220a5af77b162de908b45a542a7a0ff95a6f4b93bafc63b098a863dbf61559589f5759a968c2ad24e347e77318a58959a32448c41394ddb5b76052074b909e1817b3d66571a0383d53230c35d5c5e3303c65a24b61539a15f749a655cd727ac604d58b43d035a5d61d50393162bb7ac199a2227b5fc9d8c5125226ad0a1c8eba974920bdb937272a7c7bea7ba5e8a62bf6e523d51c9fec7cb93d220995ab32cd975f673b0dbce865e1a9cdff52c1cbeb45222b73fbbc73a8b0131cdc627922b614506af6746b15290c39d64742f39e85e56925e1576357b6f0468632f06ac6a0cab8808e5b898938d32a33e3b497a604c5a24e2c37501e01a4745c046470b8df0799f59730e2677ab49ccd40f3c5d3a6a6f09ab2ba892ace634634a17c3d33cb1988b442f98723a64bb3674ec8aa5edfca86c3f22baa7a304dcc6cc72aa0e70868950a05651cabf3f469316944dd44955e959a21913373f07fb0baa963e39e13d3859d486c5bb20028f059f37303f26b8f3cd554d851944df1c3081d9568ebe757b471f15e643f1e489018a3c200c364c72b2d6dd665b6ef3641
|
||||
Ciphertext = e3b30e672f1b353d308cd110ca38a3b3b3c375c7de77656d443181949203ffe783d0e929bacac7119cf6cdd1fe365efd1799d3735eadf5254216850b32b411d10a5a882293e2b91ff0ae730d7accc96af9348c45e391b6fe8d2e9e23d1f40e2382fd2b2d1703716e7ea80031939f7a936829a34ab84a2869bf873a6b4a642df331c174cff6061f3e3cda2a8dd3afaef8825d5ac230bd434b774474b19da14898a085bd2946f5c64d493db48467a3f4355456417d4d18dcb74a786e449572e913c7f24dd1e5b855b9ef339eac9616ebb4eb180dc6e2c7f4a83c81c7f347f69ce72d10958a7ed35719a9b1d9cc44c774605d886a6c4b3d4fa2825413784f0d0c424fd79c5d9db8f591b83fd77d7987c50f5866bcc05f52b7c6be957b43ec19e10f964174c864e5e3e684ecf1fbd5a24fe2bec3cc754ad1ebe2717ced6e68813d8d1003947bea76cc0f0ed3f3c4994b4b626c9a76e8e82bd0712bdc553c89d5aacd63bbb82965237deb7d670e0e31ff055b4f70ebee4618bc8933c985e3695314514e4781b2eb8f3f608625667b4130831599fb42a7d3d9d056fb70c786955ce24bd8ca884d25d3868666cd6b886c78e899015402bbe9e7dfd87e759fbe5d4c6f1f290acfeb9b2194612b2502abf1dbcc1b78100d06a304668ca18672440eec7b130306f62af1345fb7c472298aeaf9c58381122f25ac01d06d386b4970f3760f9081116c877db397b10db017d9b8e06b420928dee7141967818fbed1245adb61700871f1c5c6af604b0cb00c86536d19795bfdf01b7df16a52abcbb5cbea51b6c4329ebe1cdb4eb8942edf3a6b350274b411a53d27e797d6c87846d9df4fb97198d60953ae1d8e9acfc910adfa68334b8e79289c8ad8be58491149d0d98d5bd03a49bca96a331642ee12cdf38d4e58b61bb1a88e306ce54677548a36c02ad7a34dec6e8867978de381285005728a2c6d4d778724cfef0faed1135d3aa215a840fb6b8148dee099fc0090607f70cec29c012edbee24d2cb4b67ec4e7bb373c3196a81dda69a4c186f770bd2f07bfef1d5f1b5cdac06f7d8f3eb6b246fc8e4f30498
|
||||
Output = 90f3088cf55b35ea835c7b556c5fff3eb4983cd4b85f3576b2ba5106be28b365
|
||||
|
||||
# Official test vector 97, seed: "59eff60b1ef6185db34ee1e3b1dd2f159106ceceaa79beb74923b4f5623d5bc52dbf5d2594a1f7c6c64d12cf144e9ed4"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 28878249e2ac2b6263422993923a0c8bd05ce56e385ed13c943b03d226856947
|
||||
EncodedPublicKey = b5851e82e8073eb7abfd1c8ef788a78f54a882c870190861ee5aa97fe5033aa01ddf961ff88597d7e17fed17278de656de441a545889d5fa69c822a9ddb8bb52fc33be9aac5ae03b24e2390d95563363082011bb99d236c8919aef381ceff46cb67b619e13856904391f1204b52a1927b8120c23945fe4c348193183410916040337522e0990106826c5c259855c452d7c1ca0576154c1e095cc96bfbd26425f24422d96aeadf84f51146d956a581619a26d7695890a079b4a08869948998b839578bafd1c2ad936bd7960cf09a63e1964af7db30a295609f597c671b693bac943edc1977a193626965bb2153c2e29ad7740ae90e5b8f7d203b5f8c1a1062510123246b9cfde622233119daed05f51fc97d91cc6d04a7ac7392e9ddba89e007895747a10f2a311322d35306805d27a73356bc60a24c022a59834b50068000ba448895b37314aafcfd8965baa7fee4b820c7932b9317e41fca8ce365434e6659ea4ac1848614ee6182865bd09e10aa418197ae423e000aff9bc3e3f79ab97897ca1b31256d2cfd854884800aa87b4abb576007598c475e17491f35b01241401974244026d7919bdc7e03a02b11ddd1ace88142958f66aad433b03524eee2853e263b33d69216a26abed472252bb0b31283f2d50579b504ebb73274d9780d2cb14272a275c9390a3cc4b363139723cbb1fca2ebc3a6a1d2898afd53cd796cafa83a0d607720e0942a692347083b2bf134487081bba99939a159fdc680763d5c5ea393fd308619e15128b33a42fd4baeb2b0e7336490745b85f76a26cb131626931e9377adbc714393c4fbc7415be60c88b2028e6d6b318a4a890775e7a408cd4b024b5163f59d7913e772a723429843191b9d1ae46c71c4f12547b198a49e44de0e15c639b8e4525035df9c7d91052ca681e5e908e98a7691c515c41596bfed75509205879ea43ca556a1aa06ccd3135eee63b1775736d2697a6556f6c2181c1f253fe6a87812171d54b1ad414c8705b84b7e0639d7b8d6224a9be53b60b7051f2f9a940e659f2c8b69a747a4e806e8b08c65bf2124f64329c43a06ec70076ac65174ae28e80262a864c2263275f84c056d3d767dbaaf1faf1461577599a146f60
|
||||
Ciphertext = 2f5cae4eb11972a319323ea6d0a570f8ddcbd570506bb33c54f22111b7d43eeac44bff4fd19efe2a4461cb6daed6a9e308bfb6b5e8a311f8bf9786772388de7205c68d6be09539f631872fe24b4d2ed63a7d74e6406d99d71c10d3deee8a3311f24e8a5e1d068d645297dd6792a1f0214b8580389a1fce452249231c70817524f9e1bb23ef8066ef0cb3d449f7922669240f8c7937c560bc9dddc1865c8f34a9462025a7a214ad1a8789ba285cb0c2a7ad629a8f8050095226e627ef2b094a5f954fbd04f9fee3b0b63098dddbdd8c9c1f4ffcc8d6f0afe19880b9dfd77e2f442095182c8a2239676742a09057486ea3eddc96fbacbd2c25fe2fcb2650f50fbd2cf6502545a83925490d0dafc023a8515f6f9a24228ffe6a2e306f5f54eef8f67f877a71038e7d570373a002dc3460686cc13ed16aa4ab845559aa2e4c3525acc96d9f33d26eaa774dec0b5163ceb7843ac83cfcdd761eb724e32653a8aaba4bef587816cab36b5bc6b2f09bdc274c5e58e66ed5cf7211a83b2afcc3f1109154a55a7c048f3d98c7ef75299e09fd5af3a6edd2354937fc1cb8ed97727cbc2e3f79dc7b923c35cae6c900f44be1ed85554ccfc9a3b1170dde5a58d254dc729f64ec0ad48b061e28549b240f955dec3585048c277345c78d5a5a043ca910b0b48731cdd199b075917eab4e63d60e6ef0749343e4cdfa412840d600f0352edf22cf801d1c0c790c6898a35dd3bbf84509dd234bb0653956fe924fd6b7860bb01d6a39261b2178b3ffc045e9eb8a49f5d2b17e48b9fbd1d178899275a163da4b7ef4072f8259ddb50ec994f78fcc26838a10a07e74d55eef27f4bcba042ba50882fd976d44714524a358890c9ee38bbd31d4dcb08c682a183610e14856bccdd9d3a6f8c5a27651b7603045473258bdf50fd5f5e3583f84a36274fa18be2e926cccaeefad82d63a91c769d2151968db6592bde769b05abf4dc003de8f6e3c4696e623a9baf1955874e9aa024d0aa841c5b0788fdca3bd48b79596a0dc814abe2509e967a266c2c25637fa65c8d7ef0f65f569a9d0ad4adef58525b9a3dd62fea74c0c
|
||||
Output = 7e84740186a9dea9c979b6933b68d0b9af8ee1d916e3f87df4b1917b7a0c4dae
|
||||
|
||||
# Official test vector 98, seed: "dddca9dc31bea737d3f474e7560b37facb2f53c803e768ffaade7669ff94b1d4fbd17068cffd5dfdd24aadada4ef6b12"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = 17fc65f7fbd7c75ceec421dee84dff5a8cb22764a182db17e0ebe857f54d60eb
|
||||
EncodedPublicKey = d8374e2f9c4877b37f5dd1640e41135735b94cb100b81cb94ecc1fe5d8cac4211256c1aae609238966b439735ef69b493125a65fb46c70bca5c1d94ecec68eec35bfd5fc0cdb035658e6103e7844c741b725e42d12098df1cc8d527cbb58b79498f824c55011b1f61b1d731ce39b40ffd562bb5ba17978b3657518f5ea7436363d99b91400dc5a2da7943e082e9cb77174f881b0297ac3722eafca76ae6a7222f3497d717716dc0932d2496fa218a69976cb332d9e3a2828a70ba8f534bd35165f7a0daab1a64a63251f88759cc70aa4d5274b86311f764da50c0184746ec6eb0c2b481adeb562e3048da81b00d7941883ebb09c3885c8fa5c8ed3a9c58493351906dbf83df1db4e74188ae650201d5999e91bca68378cd095295a55ba78f14fa9005f21232f8900c572c8721b8ab1891277dd838842f58b86e08402069b60461021a83c7081c16c006add1cc92dc3052ee97291f676b4db54d4fb5ac3e15fdeb314dec6170acb7865aaa9b691569fcc09a4bca159b40824d6ce9053a199f92bd9c06a38eba7d8980e286543d6a841f5589f277b8ced946ee8da5805f07b33d1a151b4b4dfe1175659c7f6804bd28474a2b387f75791de4a9304da1da2e660a49516edc1ade673488a3a580a7c48285a5033196ae20582ed5138dfaab59a5737d3a360bf0380832c3e49008d0fb790802281c09b044069426334862310b0ada4261c768c8572a09d1bb0df54b1c6b553150abb0280cd2c1c4b3894705382c4ada73b42e55b247b67200b939f71bd299a02f0db9974f2afd1cc906cd2c88c62ab9771b6a26b3e560a7f6717bd9c22b3cd5a14eeaa99b471094ff872219027bc0c24fe9114b316abf3585236e4505bdb03b4789cb09a5d16e1764f4b8261d3890193b268b67a9c99381e244cc4464fb0788815c6c9e92143dcc71689273969ec4f63455a3a06cd07e1002ad38dbd216949200619aa70e8327e9deb2a7c23967ba65e34f14af513080ef0738900850bc730f8c2b78dd6b8e4219c25491c5a9cb755999bf49136d0619eae169c68316c2fa6a42e401b9447514a6878ed634ec05217cefb6008ff98e491c41e2e6355f7cc8a230f2f2380abd2635b7b0cd371201c1c
|
||||
Ciphertext = 830e75078cfce4bc94eb9f50327420df8609abeba2a981a70c1af3bf1fc0d7e6c4061dc79fd6fa24b196e2188420982884a0a6849483af16b911c378f91f692f708149b06373341beee103ee6bcfe382732585e9eeb6b5ff15743e7e3a6706b59468d8381631f1b5f31d0e3de394fa2cb101727558d37fadd617f7c7599b7528469417bbf1dd3145acbaafc96cf0763d29f16218f134fcad60f61c07a2b6062c2cf11cf03419299b8097f56fbc19ef1dec9cad3d7a7be444434093547a991db74395adfe14fdfac5b1127d5a12da5d510397478ee4a8ad32545d837c5e13e687cea0495d55f8c4f44a9be2d48af51f0ad0ebd0ffb4dcb9bd7135c1259ab11553aa624c5333886f65260a8cef13ae59fa5fcc5c9a3c154a7e05837037104434bc7a48b6e56f2d29c053fd6f8c214bb8eda4f0911edc241939b8088e6b508ea5155998cea0794a52299312f491784f20a6ec6646e82ac6d661ea80c99f3910d1e4f727d68d1a71674261cd2fa9388df1f64c2240eadef780118b6ecafa814c97ee0d20d99d2823c05750c5723d3e7debcaeca72ff6d65d4327e013f9699cbdd30e1426bb712aef6ec24be5beac939cce68da37e4f9473cbe2a36859287829f3ccb66c5f4e2470b4f3b7ed875a20551d3b97a0561144f64969939a807d7b4bf4601188d4e04bd8a9710c8bd3d46f332fe0a4600a0624b58a4eeac8212dbe33dcdb15aaef3425f6bf79cd5bd1edf0c67078bb4b9203bbb9610869d64237917d960cd8aaffa3420aaa077391b6e9ef1e2955e2b235bff529f1ff6f3f49009c01e99f659958d2478d2f3fee3fa8df71f96c01e6e1f4b9c489e1a54311d2aca0f1eb6cf5f7b76e8014429c3f69f7c4694e7c8d4bd71e6f020ed377171416e1d415e25420bf4006c4774b7788c3a73c8da0a09d0710b07f500b7f0664cd86e8e873fd778d758e93a82fc0866532660bbfb7e9ebf93efa2f142f92c0d45ce4ac7876a48a3a2c0dc8621a488766aee9047986334ea7c5d361175980248041cb1384836ed0558a7c12db1354cf00aa58f3f549e8e78cd19fe94fbfa41079ed35d7f98bbcd76
|
||||
Output = d5d75f5873c5ddfd993ab8b92c6403d97872d0b49454833449a50d35c62d7546
|
||||
|
||||
# Official test vector 99, seed: "2a6f7386b815366f572aeb6c79e272cc21b7095fe09575f18072c9d677da23bc9c8a4bc393b7524604d299bedd260c8b"
|
||||
Kem = ML-KEM-512
|
||||
Entropy = fa0489f3730100609488e951e6aaa15c0f193bc1dbcfcd013bc418d6c507b176
|
||||
EncodedPublicKey = 4e979a6a7b46b25b7c03819069805b89e16d9e919a31fc856ce8a32b5bc91c1558bc559ca1801a15c3334c1c0077db221094103d863f831457848511098025d8180fca18876663a05e0c0ebd5a0c10fb262e976225253d1a093b4276008a04ae085b4e9d9c77f60546c0db0eba00ae7335915a441c6bf2cd2088c32393cbfe71158291149fc4cc32dac6cb97275c756dc491053b036d1c88ad78814d753b4c531a877cb37f9ea8b3e111a7e1e58a30fc3ee24868f65bc4b3bb93ba009df06b6c653c015fe539a9c124fcf807fbb4470d8b3ab4d4c6986465929b16d9d7444b2bae3ad3575ac262eb911187e0c3c719b8015b5bf94a8bfffac8830c89f63cb3c304610a9382ef74990f9434ac5b0da24566d22035d53a14885317cd381a4d2680b895295a625154cc42d8d250cff173f69c036695b8cb62948ce50514e30b1634193457cf25db5f30d594c99bbfc71bbcf1922b6ce5993f89b66f09a773830d8ea248faa94a8162ca247b1ef7e226fce482f7159092605a9e2a49c7e972b2dc166771c04dbc8a9ec122b47b244b3a12566684795b705f31233860ba6c95bf0fe28cfeb57c820c51aa832a069cb8b2a676b298aa942c051c21c3a0461488b4c741b15e73381a3b55c5979a80490127678901d0d5ae21f25549a7598e65c29d43903e4c32920c08c40676864c05ea187f7fd4bf12a3b2ab301d8781384d425bd8042b948028ac818065111d96d6b39f7c886b7c70f59398534307f0d0ae866638ab90cc94b8c700c31d52c0b9f59c512c5637c2808aaba21b68a20e5871b5711525de29514c58c4b57359ad2059d2fb876bcb6604f36235d786e456a3fab96f6a26c2b1968ab90c11922718a5546519cb95bc30332699ac6735c588c21818891621207fd5b021da09293531352789a37a741c311ba74bb48e1bc145bb227b74032ecf2694906c761a96abf7e12d66b5313bf32e11c05fb2d820e6c22003e1cfb9931583587d4129261f6105ce419ef2cb3c12f245423b12d611330d009af1869319b988c53138c491c09f55c3644ccb3e250f9e64858c6113ca7cb6544309f112aebeabbed1f9f8e8a1bd41d4be8dd2dde4365d61f98d79347d5c2f5069fc5c86a2
|
||||
Ciphertext = 52840be528a75c5d392bad07b4a75a3d8f87b5246bf813e3717b77523163b627d2b1b6b6e11fb19efe67e23b234e1cfff3026b2acfedc2ea77fcc5f6cca2b9bc660a8a41589a76d87e31cfe9fb24032abc8ffd3e2208c489bd7e4d002dec63f5554fe0e97c55749a00c2de62f352b64ffd509100399e90f9ceb338645549a22d02b7b1c78f41071e83ed6b8a6077ca03a61ed434c3452f94192867d7fde3b1ee5ded1296fb2508dea33abdc41b69349105f9c5d6c13da169dfb66aed8f6b7583dd0aa1311b2e3a8384a2540c6dcd8f71ed7c5e8351ea5a97c551895207e018fcb34b0090adb912693bf3636924e2b37c97322a85cdba1c1d423241fe03626b78b5932f83cfcd50a8997d9a7ff01d9305fd326d1748d4ea70a0185088a7dbefacf104ff0736fe866c5641709b08fce188d701490eda4993059540b151f404e8b1caf67277970b6ac9e9041a1087f398fa55e28945feb9596636fa42d71fc982e54643ea8fe1c35ec98f57e9a9313f98cf057cf4f0a9213141cee8bbe9d91af8d8568f8f9b90953da036129f3804374b66792a293c6625a33298d2ebf5fb76b0f229afcda1c19936d3f1496c666f5179b3f9fd1805d02000635c7d3c743f53242509a2e7e356019ec309ef3b71800197190f003895a7759874e0d03312a4ba1c79e5cb9a6c421f34d68eb896ebf7df208bda6c51dcd0cfdb7c3f0d197c55ce38fb8774eba79217a244fc11b6c463e503469e1a0f465ed3f79fb8398e29defd0356ae57deb167cdb191f844f802b8cbacf512547b84ba271c0f45a04c60f8cbd9f51dc9cf62195b94c7df222f9ba8c2d7ad8aa81e0606f3b641de236358b4a26603e2a4e06005253af7e5ff910c245e9559b94ded9402c1a2dd8183c94c3e46d8e2ee76a3de06c8558621d6eb49797708ea028b3c8b122c0feee8cd074eda9607722b9cd3a1954ce779a3508fbdf584392d81f49f4e3d875d90502d0f8ec3349b87303eed14f13c1ea7005fc82049c3feacb60313086006ffb04e41352a8d95d05d0d1dcf14328b8e0d487aabf7b2a8d374ec73d363396ff66500f313f897199738
|
||||
Output = 14edc3d14c4d60abf7dffcb8419df6b4fb5d45961f2acb3ffa0870e98e33682f
|
||||
|
611
test/recipes/30-test_evp_data/evppkey_ml_kem_512_keygen.txt
Normal file
611
test/recipes/30-test_evp_data/evppkey_ml_kem_512_keygen.txt
Normal file
@ -0,0 +1,611 @@
|
||||
# Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
# in the file LICENSE in the source distribution or at
|
||||
# https://www.openssl.org/source/license.html
|
||||
|
||||
# Key generation KATs for ML-KEM-512 from Michael Baentsch
|
||||
|
||||
Title = ML-KEM-512 Key Generation KATs
|
||||
|
||||
# Official test vector 0, seed: "061550234d158c5ec95595fe04ef7a25767f2e24cc2bc479d09d86dc9abcfde7056a8c266f9ef97ed08541dbd2e1ffa1"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 7c9935a0b07694aa0c6d10e4db6b1add2fd81a25ccb148032dcd739936737f2d8626ed79d451140800e03b59b956f8210e556067407d13dc90fa9e8b872bfb8f
|
||||
EncodedPublicKey = 400865ed10b619aa5811139bc086825782b2b7124f757c83ae794444bc78a47896acf1262c81351077893bfc56f90449c2fa5f6e586dd37c0b9b581992638cb7e7bcbbb99afe4781d80a50e69463fbd988722c3635423e27466c71dcc674527ccd728968cbcdc00c5c9035bb0af2c9922c7881a41dd2875273925131230f6ca59e9136b39f956c93b3b2d14c641b089e07d0a840c893ecd76bbf92c805456668d07c621491c5c054991a656f511619556eb97782e27a3c785124c70b0daba6c624d18e0f9793f96ba9e1599b17b30dccc0b4f3766a07b23b257309cd76aba072c2b9c9744394c6ab9cb6c54a97b5c57861a58dc0a03519832ee32a07654a070c0c8c4e8648addc355f274fc6b92a087b3f9751923e44274f858c49caba72b65851b3adc48936955097cad9553f5a263f1844b52a020ff7ca89e881a01b95d957a3153c0a5e0a1ccd66b1821a2b8632546e24c7cbbc4cb08808cac37f7da6b16f8aced052cdb2564948f1ab0f768a0d3286ccc7c3749c63c781530fa1ae670542855004a645b522881ec1412bdae342085a9dd5f8126af96bbdb0c1af69a15562cb2a155a100309d1b641d08b2d4ed17bfbf0bc04265f9b10c108f850309504d772811bba8e2be16249aa737d879fc7fb255ee7a6a0a753bd93741c61658ec074f6e002b019345769113cc013ff7494ba8378b11a172260aaa53421bde03a35589d57e322fefa4100a4743926ab7d62258b87b31ccbb5e6b89cb10b271aa05d994bb5708b23ab327ecb93c0f3156869f0883da2064f795e0e2ab7d3c64d61d2303fc3a29e1619923ca801e59fd752ca6e7649d303c9d20788e1214651b06995eb260c929a1344a849b25ca0a01f1eb52913686bba619e23714464031a78439287fca78f4c0476223eea61b7f25a7ce42cca901b2aea129817894ba3470823854f3e5b28d86ba979e54671862d90470b1e7838972a81a48107d6ac0611406b21fbcce1db7702ea9dd6ba6e40527b9dc663f3c93bad056dc28511f66c3e0b928db8879d22c592685cc775a6cd574ac3bce3b27591c821929076358a2200b377365f7efb9e40c3bf0ff0432986ae4bc1a242ce9921aa9e22448819585dea308eb039
|
||||
EncodedPrivateKey = 9cda1686a3396a7c109b415289f56a9ec44cd5b9b674c38a3bbab30a2c90f00437a264b0be9a1e8ba887d3c3b100898054272f941c88a1f208f1c914f964c1aad613a6a84f88e42d3556835fb161fdc5cd15a3bc7e74b6f2612fa8271c7ea112b05c2a36cc707ce38d5d1acc5115462a8c1aabf07276c72318337f74b5cbefea7a803790bc0393f3a54c724a5765a48f296b03f484376023626930222704c08fd3bc729315d1fc70eb7975a97b9deed162f486bbc64a097111952d89b57d765e8a991a2e564206ea7bf5e4007a66358831ca0e34b2f6a84d10f79c477cb66a8a952569367388130d7b974a63aa51996c97709bb8eabc94e6a535d792d2905474952d6b8c2222b2ae56dc66fb0461192066cddb43ec05984fb4982649771397c6a8379f3b5643069848875919e89cc439a3be2f081490f341bd1240add80ddb8c9963b47a2a0992290338da9c3b725c6da44718c01046812562afb084837acb3c575e4f93936c352ac0e70aa3845ee485296e6b02de0b47b5c4c96b0b7cf94c4abe95486153118e43c2b9c84d9da91c6c5acd5a57002d058497992799e5ba1ce6c25eb29844d858ba1c37850c0c2f57c60de37f77c082ec14494eba288a65915116c20a325de31aaadd680db19c0cfcc3460f0aa01a87a6a580c6ca291faef0ccc49b76a8dac4f9d41640509dbd0b4045c1530ed34755d47462700f2a8caf9680a6d7e38a7e2a63e937650a23306d855da2a2b7ef505ca596ab0485013ea927c7342343613643ba4007d6c874b980c79c3aa1c74f8581c34849b36ea79815fbb4ccf9610583081d7c5b4409b8d0531c04bcaf7cc751103a5fd1ba4470833e89775aded970b5471859250fe7267105835f390030c5e7cd3f961019eaaea23777d347bb2adcb673c02034f394342271bcea6414e546c3b20bd57481c7ea14c77c388cc86251c12558b100f8c5b3d03ca2c70713909659c8ba26d0d1765e0bc823d68ca5570de600cd0941725d386e14c1012df5951beb8d8281a4f6815d3760b764295ad0406c2bf7928ad65032b65f14b77ccb8917c93a29d6287d8a6062399cb6400865ed10b619aa5811139bc086825782b2b7124f757c83ae794444bc78a47896acf1262c81351077893bfc56f90449c2fa5f6e586dd37c0b9b581992638cb7e7bcbbb99afe4781d80a50e69463fbd988722c3635423e27466c71dcc674527ccd728968cbcdc00c5c9035bb0af2c9922c7881a41dd2875273925131230f6ca59e9136b39f956c93b3b2d14c641b089e07d0a840c893ecd76bbf92c805456668d07c621491c5c054991a656f511619556eb97782e27a3c785124c70b0daba6c624d18e0f9793f96ba9e1599b17b30dccc0b4f3766a07b23b257309cd76aba072c2b9c9744394c6ab9cb6c54a97b5c57861a58dc0a03519832ee32a07654a070c0c8c4e8648addc355f274fc6b92a087b3f9751923e44274f858c49caba72b65851b3adc48936955097cad9553f5a263f1844b52a020ff7ca89e881a01b95d957a3153c0a5e0a1ccd66b1821a2b8632546e24c7cbbc4cb08808cac37f7da6b16f8aced052cdb2564948f1ab0f768a0d3286ccc7c3749c63c781530fa1ae670542855004a645b522881ec1412bdae342085a9dd5f8126af96bbdb0c1af69a15562cb2a155a100309d1b641d08b2d4ed17bfbf0bc04265f9b10c108f850309504d772811bba8e2be16249aa737d879fc7fb255ee7a6a0a753bd93741c61658ec074f6e002b019345769113cc013ff7494ba8378b11a172260aaa53421bde03a35589d57e322fefa4100a4743926ab7d62258b87b31ccbb5e6b89cb10b271aa05d994bb5708b23ab327ecb93c0f3156869f0883da2064f795e0e2ab7d3c64d61d2303fc3a29e1619923ca801e59fd752ca6e7649d303c9d20788e1214651b06995eb260c929a1344a849b25ca0a01f1eb52913686bba619e23714464031a78439287fca78f4c0476223eea61b7f25a7ce42cca901b2aea129817894ba3470823854f3e5b28d86ba979e54671862d90470b1e7838972a81a48107d6ac0611406b21fbcce1db7702ea9dd6ba6e40527b9dc663f3c93bad056dc28511f66c3e0b928db8879d22c592685cc775a6cd574ac3bce3b27591c821929076358a2200b377365f7efb9e40c3bf0ff0432986ae4bc1a242ce9921aa9e22448819585dea308eb03950c8dd152a4531aab560d2fc7ca9a40ad8af25ad1dd08c6d79afe4dd4d1eee5a8626ed79d451140800e03b59b956f8210e556067407d13dc90fa9e8b872bfb8f
|
||||
|
||||
# Official test vector 1, seed: "d81c4d8d734fcbfbeade3d3f8a039faa2a2c9957e835ad55b22e75bf57bb556ac81adde6aeeb4a5a875c3bfcadfa958f"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = d60b93492a1d8c1c7ba6fc0b733137f3406cee8110a93f170e7a78658af326d9003271531cf27285b8721ed5cb46853043b346a66cba6cf765f1b0eaa40bf672
|
||||
EncodedPublicKey = 4b59447262a0bdbabdcddb3ffbd1c958aa04ac8ac815e054039ca2084ccde34b1b58212f8dcb9c8d7867d78120c2d84ccc20c0f136773b90088f273b017c4c29404043593192201f38eba1d4b326c653bf9b91a7f4387f0ae876f627b3ff878dc38aa3007a1a98387c3293396a74337ad51297075e09c1197cf50ea83c85f7085c1c81b07b87514f67898c64c9863b08744cae06da57c51bcc7ad588869806c4fb4e3430812af24ab7c1409ed89c0270a8632a4ab66a1009ec0253b4b128690f1ad7b3db743a1f85aa27d37c70c832b2b684b5b52aa6a7042a601dcda065f8f44008196504624e72a5099c686b82a283360c85ad425ed7c5af71c23747e21476462220f943a9381493e7060621b3d19674fa1bac0bd0b3b1cc484d7b6452d97d42898aa63674b25a51dbc655c9e7b647681c7a0a1d4714634754cd2401c0dfc4023b1b475ea1269e373ebb740c92d7be97755919c63aa939a471bc63d4b027799a34b2fb24a8690c4745385922b942f083b6c32a0d5c87f7a3b9fe168fa8b60d5f3247f9840c13259f992335debb52e7e08065264291f250c351c868d5ccb49c865be33c137c25bcb52b809351c476be47bb3dd7b85aae0a994ca746829597958a60ea55bde887c52a38a2dbf490cd506d0da19340d6cb4d1c1f5c84b4fc5357e21c0a44ec3a498aaa288c2b4e2196e1ac6e0b4213552621af049145687c4e69360a39afd69b38d9409842a65c36a5ca89b115897297d5c01d197154caeb77a44289a3f93e565690de3995501804dc519f7569bcc96a22e719840c542da779c943780a3c843efeec1a066050c6e47c4a39ad6e58266ca510ff3ab5dff37a2e34baf36abe5b09791f7b8e2391431d5a6a0b12ba077027ffdbb0ffaab72806d048fa066fcb4c487820a56b4bd10567f755bede04c91376330f797a56d59a465544b02ba68b96a0f95823d5e3b2c36c90423ac550abc796bc53833aace005a06b814db1d8c6a406bb5752cfb2b03a0824adb1ec265e5230b447a5082923ef1b0395f66c0fb913a9a133b29634716b65e889b0f80c4b02575ad3b8018331a67c3502c6195322bd2b71fd958cf071806587648fb31f7e4ee9ead48e0052b06244f3d1
|
||||
EncodedPrivateKey = c529329d8383b3d5b1a17c350599091ef0680090a975e49b5ef44f5917683f1100af3999a5b05948254ee5661f39e4785d248835b784bb08621bac54720068ba564fed861466ba4cd6537a1a48b7070097c81035c8121c87d45a83a5093eea600483785d475a5cd08d6c7923fb300e00263055da4b8369334e632cd04310b07bc345386b12956b7b849adab423fe516342ca03d1f07c02097586c73af1902d1c3bcad87162ec1127e397af6f83bcbe032d89158d2e68bb7b65573b6141884ac5e7a8c5db478593c31ed1388169462226b85dca11c0e1351634c0420f087183b047d21a7a7e34b818553936e55c4dc9b52535b6708011b8708db14114df6c7e8a484a2580c4d39ca5656bbd480758be48a0adc121099541fd814ed33cce17bb4a6927b1af59518279b846000b4822599cb53676bb62ea09053d9238646c8282876c9d73427908631876b4bb17291b28711b966e8461498684239ab46ec851b7942b244878514fc59abea034d96169329bc95e8890938ca7d705345d233ebf8cc4c304a135b04cbf1b18f6ab6e00a6b80308cc4326c4dd194715f47adc1952f832c3a1b68205c2b3d5b856b7f0547463706139c217f456dbf517ae5512a5bc5a2ef5a96ad30d42969ee802cee640abc5c61da7833c0e9b3d91368ad73729298084c548674ba6643ce3a504c053a8b62386785c2192cbd4f92c5fe86b2f3327dce21d69895eec8c398dfa2c3cc119d4fb3b197c381aa36332c2a2d6d8bdeb949430e966eb5915a3816ec353bd33c37e76ba1823dab5296ab07656a579935e2ea53ff0d34439719e31470a5bc88ca5e88a577a5ffc1aa90319b8d78b2597512cd9f2112e4c867e1b5a83d7a810e186b4269ea6264b03c50a8c99037d84b37d0192ef742a980253586ca3affbb4eeecbd7566348914358ebcaae04c50f440654c4ab28391562b3231b88931590b56d95990de4421bf507e834b851606ce13d3a108f9999bf33c8dc2add4428941e3b6e9e6a21dd9b24a9048b2c9bbef341b08f7c8ac332743177fc7c432d3d894d5817a9cc4a646f77a35cb92b3c86792fcc466a7254b59447262a0bdbabdcddb3ffbd1c958aa04ac8ac815e054039ca2084ccde34b1b58212f8dcb9c8d7867d78120c2d84ccc20c0f136773b90088f273b017c4c29404043593192201f38eba1d4b326c653bf9b91a7f4387f0ae876f627b3ff878dc38aa3007a1a98387c3293396a74337ad51297075e09c1197cf50ea83c85f7085c1c81b07b87514f67898c64c9863b08744cae06da57c51bcc7ad588869806c4fb4e3430812af24ab7c1409ed89c0270a8632a4ab66a1009ec0253b4b128690f1ad7b3db743a1f85aa27d37c70c832b2b684b5b52aa6a7042a601dcda065f8f44008196504624e72a5099c686b82a283360c85ad425ed7c5af71c23747e21476462220f943a9381493e7060621b3d19674fa1bac0bd0b3b1cc484d7b6452d97d42898aa63674b25a51dbc655c9e7b647681c7a0a1d4714634754cd2401c0dfc4023b1b475ea1269e373ebb740c92d7be97755919c63aa939a471bc63d4b027799a34b2fb24a8690c4745385922b942f083b6c32a0d5c87f7a3b9fe168fa8b60d5f3247f9840c13259f992335debb52e7e08065264291f250c351c868d5ccb49c865be33c137c25bcb52b809351c476be47bb3dd7b85aae0a994ca746829597958a60ea55bde887c52a38a2dbf490cd506d0da19340d6cb4d1c1f5c84b4fc5357e21c0a44ec3a498aaa288c2b4e2196e1ac6e0b4213552621af049145687c4e69360a39afd69b38d9409842a65c36a5ca89b115897297d5c01d197154caeb77a44289a3f93e565690de3995501804dc519f7569bcc96a22e719840c542da779c943780a3c843efeec1a066050c6e47c4a39ad6e58266ca510ff3ab5dff37a2e34baf36abe5b09791f7b8e2391431d5a6a0b12ba077027ffdbb0ffaab72806d048fa066fcb4c487820a56b4bd10567f755bede04c91376330f797a56d59a465544b02ba68b96a0f95823d5e3b2c36c90423ac550abc796bc53833aace005a06b814db1d8c6a406bb5752cfb2b03a0824adb1ec265e5230b447a5082923ef1b0395f66c0fb913a9a133b29634716b65e889b0f80c4b02575ad3b8018331a67c3502c6195322bd2b71fd958cf071806587648fb31f7e4ee9ead48e0052b06244f3d1d760244a5fbbfdb6ed75a732af8e11edd52e412169c9f523fc8cdb3f8bf21b18003271531cf27285b8721ed5cb46853043b346a66cba6cf765f1b0eaa40bf672
|
||||
|
||||
# Official test vector 2, seed: "64335bf29e5de62842c941766ba129b0643b5e7121ca26cfc190ec7dc3543830557fdd5c03cf123a456d48efea43c868"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 4b622de1350119c45a9f2e2ef3dc5df50a759d138cdfbd64c81cc7cc2f513345e82fcc97ca60ccb27bf6938c975658aeb8b4d37cffbde25d97e561f36c219ade
|
||||
EncodedPublicKey = 24503105a73db30a555a947e6122749bb67f9d30686d9bbde6b720a6109d5fd3b4c7e6bc1f9c8c16ca3299c77bdeab47aec275e2622e20104c59b398f93c7f70a047c3832982cc7873163ba1d45001b8089149cd75cb9ae1694207c24ce846b21d87b23e61710e727b7f03826a76210948279c125f65d4a8d4096f3ac30f683c6e3dd3201224a42d67b7b150acfd96bab8992ada72bff486c00d78536b68ae359a09fba5cb478389b6621cff13477e6b4fa21b1b47b889d550a4c73535a3136b165009493a3410eac077954e0f126afa5c00e4bc05fafac63ef443fb749e3656035ee49f33bb21f3f5c24a2b964416440ffa0b7f4290ca49194dd911cb5173af9c87bd557768578c5ab9b3440852dc48c983541367a72d173bba671569084c36f6e6c021b54e951967ed28b23bdc9f4ad9236f9aaf14a47c2737ae4a123e37a3137ea0339e21ca834855541a4e05b5229e4588c983a4d96c91c83bb740a66c2ca4853e84848cd613cd73a01a34a80d7aa1cbba41a26a714bc4b5340baf82b17dfbec8593ea5ff97a738c522bd359ac6545c1ccc4a6933726ab0224a95b7354ba1f4d52a0bb46c8f3d11a75c67e2fcb626e2b3b61e326b9f71dd21479af3b687a31cdb7f4bb9ea8803429bf5713c55be6285e863ca8113b3ce4c258b036853828b6588ac4d0c7bc557f07b4637de3754d701692c280e7bb8ebe3931040b114c1c12df0ab298464d86f9889dd675edf89dedc7a1fb153ec3552cf9b59e39716a4f579a9a2ccc5b6c164237bdbea1745b97547473a8bb262559d17dec6994e0a5280cd9b345ba597a5c38c3e76d4972808907c20d0b0440170f7c342bcb9348a0850fece62ad0e25a89465e45d8896b42cc12534de39a40f4140bedc67caf03881d0338c0d44801e48a48b191d44c6e5516077af0905df2a6e4353a39bc1efb36b37e77adc39029d1d70271f29856687bc5428ab42916e5a390ee198ac55c3efb8b7e1b7a1541a12b91f799923b57a3613c6e75593f33a856c5814a209dae2688c2dc2bf1a115491a94bf9a2e81b0276ef5176b298127868cff4634df1197f5463b23f126f1ae625bd2be8ca1229457f96ab5c25dbb6164a80bae45c7868ac17485
|
||||
EncodedPrivateKey = 231c3b6bc32904e370b5699f50d54bd8f71a218755870266352593d0687ee55095af157ab5f8677da4a82cd931b502318b076cde3499c79a89b1d931d8d2a8e0023fe9695d50029a032a7a8891a154c52336ec57d540bd0cd747b9aac762252720fa1a2590a8656b420ca15ad37b5ee173ad866b27a1b2321f528287727e742918ae0a3436344607b0c387409d18dc609a488708e644ced055f3178a4cc69813d2c3259a0467243ca46619bc2346fd55837fb16ab5a08581b93715a5072c869225c2475f9c0fd4ec00f5b26cea55c0ef4160634a3f4b2393752b4ecb1683ccd789628c63698b965949300e79760bd4c59449c7de27c7be8238012c112890bc95e2c5b2f3a37b04b881225e48d4ce5d948bf1c25033f761c3c198b3113c28832eeff0b442d87f4a019afd80976cb9a454e594f4a912b5b890286c47717842b4798bfa7c47d0c16837e58122345cc265b52b673323e26ed2365dbe56a38cc39794137e1738935a8c9e56f37682250c89f665b9b920e935ca83186ee9655a2f944b22572b220b87c9629394cc681d999188f8b8c1e08eaa38a4114959fdb5a2061558960b63b9ba7d30257431c31e6e335d9a65adafb047e2eacf037cbd564a62ae13587e720be0018d04669f786ab240188b22c67bd7ac48ab5b49eda33cda8b5c24390f32b09bb653888642ac21392430532388d67afcc56cc96353c98b4a3388404ef1507ac2a97a7a2f838a971eb7bfab7c457398b7a431818edc85dce7bc36a27cf938b237149d5c86c0ac8066a29a64af26248ec518d6f00466392806086c1c9cae49ac2001610d02b65cc8bb63ad665fede4651bdc6ffc83ae388278a1091e49a59746d0859af522f2f693f3d297543586ed3976f5b8c25ed766d6919823770fea5b9a88750f5a6bc77a13c97f37afca2268fd924e7f99cd2be5b87dc477813b50b0fb4b65fb5d7560a6c9d71cca894a0701784ae91834368573dc1fd009b6a7012721b3b24f4025a85a4b4dcaad484acaa739be2a3a6abca82c6029c0c9d19cf09c3f2dd396bca79b4ba3330318c88ff4457bc5496f94152aa5539db45024503105a73db30a555a947e6122749bb67f9d30686d9bbde6b720a6109d5fd3b4c7e6bc1f9c8c16ca3299c77bdeab47aec275e2622e20104c59b398f93c7f70a047c3832982cc7873163ba1d45001b8089149cd75cb9ae1694207c24ce846b21d87b23e61710e727b7f03826a76210948279c125f65d4a8d4096f3ac30f683c6e3dd3201224a42d67b7b150acfd96bab8992ada72bff486c00d78536b68ae359a09fba5cb478389b6621cff13477e6b4fa21b1b47b889d550a4c73535a3136b165009493a3410eac077954e0f126afa5c00e4bc05fafac63ef443fb749e3656035ee49f33bb21f3f5c24a2b964416440ffa0b7f4290ca49194dd911cb5173af9c87bd557768578c5ab9b3440852dc48c983541367a72d173bba671569084c36f6e6c021b54e951967ed28b23bdc9f4ad9236f9aaf14a47c2737ae4a123e37a3137ea0339e21ca834855541a4e05b5229e4588c983a4d96c91c83bb740a66c2ca4853e84848cd613cd73a01a34a80d7aa1cbba41a26a714bc4b5340baf82b17dfbec8593ea5ff97a738c522bd359ac6545c1ccc4a6933726ab0224a95b7354ba1f4d52a0bb46c8f3d11a75c67e2fcb626e2b3b61e326b9f71dd21479af3b687a31cdb7f4bb9ea8803429bf5713c55be6285e863ca8113b3ce4c258b036853828b6588ac4d0c7bc557f07b4637de3754d701692c280e7bb8ebe3931040b114c1c12df0ab298464d86f9889dd675edf89dedc7a1fb153ec3552cf9b59e39716a4f579a9a2ccc5b6c164237bdbea1745b97547473a8bb262559d17dec6994e0a5280cd9b345ba597a5c38c3e76d4972808907c20d0b0440170f7c342bcb9348a0850fece62ad0e25a89465e45d8896b42cc12534de39a40f4140bedc67caf03881d0338c0d44801e48a48b191d44c6e5516077af0905df2a6e4353a39bc1efb36b37e77adc39029d1d70271f29856687bc5428ab42916e5a390ee198ac55c3efb8b7e1b7a1541a12b91f799923b57a3613c6e75593f33a856c5814a209dae2688c2dc2bf1a115491a94bf9a2e81b0276ef5176b298127868cff4634df1197f5463b23f126f1ae625bd2be8ca1229457f96ab5c25dbb6164a80bae45c7868ac174856e2a888db11de3ab2c7f1fdf15ed8d4bf31f32f1e7031cf236e6e0e757e0cf62e82fcc97ca60ccb27bf6938c975658aeb8b4d37cffbde25d97e561f36c219ade
|
||||
|
||||
# Official test vector 3, seed: "225d5ce2ceac61930a07503fb59f7c2f936a3e075481da3ca299a80f8c5df9223a073e7b90e02ebf98ca2227eba38c1a"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 050d58f9f757edc1e8180e3808b806f5bbb3586db3470b069826d1bb9a4efc2cde950541fd53a8a47aaa8cdfe80d928262a5ef7f8129ec3ef92f78d7cc32ef60
|
||||
EncodedPublicKey = bff484451c173f414121e153632715cbd185608c4ba0e35923ac85a31132d4d28ba8452bcdb772b1d414303068c6a4a2d7ba83f72bc00cb4c99a9b6b26f4be08c3add612ca7b6aa422f32f5991be0b4cc5de5644ab17b250444228e62f91822899c694e1133ca5db14d884a445261469055659ecac02a053b9931f160052ca58a24592556893555f8b13ab08b0e9790ce1b42da547a7ae91cd77f3c6dedccc645812a9d2cf4f749f7dc61a58a67012dc517762bea3282068504698437840cc24bb659437214b7993c0b6248514e32f07265377b0191f75ab5238ac85b181af153bab90742461caa8901d8a3489c504502478c75432564468ae2cc719ed23aeec6460cb791471f702c2090e21b273c694aec9369ee75724c999cf7c95cdb863625d83076b7b03deaa221dea8991942f068887730b6527d8cffa7a69a4521eab818d32065a6fe36160aa767a6cbc930119d38b49602609419272e1eb626f3802eb15bd318208ca827317c64a58d29b430656f3f9852546141fe98ec2d34e636bb1a3e8130111c9bc59719df361279919950618d1d0434227233f877b62473b558873bf15496fd1769cc59deb7b4e1b268a7f6a192adc2c7eabb00160112b7c8b3a679b432b95bf34685617a4c76313fa258d85ba5ddf6301eb39614b6a82e707509605a90c408aa7caa8ed3c59b0a5102c789afe421346d919873b9ef5029ccfd46876b98715f7b12e5ca82f502e50c288a8247823585e526ba291326e02cbb03d4c768c76585cb6a0a1e5050828aaa9457b691c582905348b11593139008ab92bd5445d0a63c7b756c5e2ca328d1c5f6832b56245cc8ecc2c7d6164b2b5a874a01fe27a1e1b5640809abbedd042dc18489a391c75e89407817e69d3a49cfb96729c7af1b48b9a4089a76471b2597479f4b58dc77c0340baf6e103b7b61ab1f082f635795ce66d0c3b4501114582da8663d5783c981c26256bfc058433767d1073c77694cb472b21bd052255189f45cb1100994ce7c970528646ef307cdd43769917a7ffe429ba65a9e643796d7b5395ca9c5de71ea5239d8a0cb5002aac9dfa7b70afa11e30613fbb4eb814a6d781fdad9eb7235eb67684416054abd5ba87e255
|
||||
EncodedPrivateKey = 34f9cc7cf5937b3b628681166828145f98bd45a7532c895cfbd85245829d7e5099e9478d955c8e5ef473f8f04893f2b7729bbb7b640c020b12c0c0aa1e72be323931807ccbf6f96eb6f593fae91f47454f6e951004d204a8ac529e4b767f58c13b280bbf142db0c582729b24df038e7d569276f73ea984295a37a6eb74875030c48ab357326bcabe8a7beda13d66fb234a9455a89078e04357daea40c482b46b5b724ea78a62c449bd9703c6d7682c1b174ff86992b9ca7680802e868059d12fa6f17bb7e07df59aa20e024555891e9949bfa889b5f8851952291b815306165689e78a45cdfb8610dc6eefc91961f20a7f0aa1329ca4cc6495f547a1dd116f4c3973fab735e23168e30746eaf0823dd239b8a7ada33a0245d0924baa4e78c187b1487b4814b3ca311042bc71695123105565e1ec0fed94663c7ac2a1db30f6483938c9be23424a5e47b7f3e3c3433a1c2b3a46060296ae3b3cb8e43a1b61a129f6165caa1d11a02fe006974a3c9565503acbfc98400c0855b31da2914a4a57cc6b7237269a2ce25ac9cc0271ee533494d7b5bb0b4a217a334f573bff128e96d0281fe4215f9a0e86a588a5479168d16a87e545a0201d9b56066f63b5761a08f9f53cf5d76d4af98a0e2a3563485233631d91e10706234b45d6c2d9303b42974619445d86109aa81241efea36faba7682622ea3dc5f893541965897a3e67e12d146bad2b867eb054bb189ca50bb165ac4986703b75ca2c67354c7142779c5475b00c579657084da72822ace4104196eca8000a540ea34cabdd68549a3642d5207d91291fe53b22d632f1cf0c4ac8c383a663133b2746e15b6157b8f8fcc9c3368a64f802764e80535876513365f36bc3bb642528dc04785159ea1d5c832c07d886a8439ca9686fc64dd96a4f6630b7b9c0d2d6bc25541985ab76e41237ebeb84f46bb35a9a881692731408009f33b722d7119e4881ead4a594cc3616c87ca4050511ec25386f56d7ed2c6c837c4a88165b067a9712cabeca26431ba179a3185c1ec84437715ab0639a0a62132e7cfc91083a5d0316f620c7e330dbb751a4352bdbff484451c173f414121e153632715cbd185608c4ba0e35923ac85a31132d4d28ba8452bcdb772b1d414303068c6a4a2d7ba83f72bc00cb4c99a9b6b26f4be08c3add612ca7b6aa422f32f5991be0b4cc5de5644ab17b250444228e62f91822899c694e1133ca5db14d884a445261469055659ecac02a053b9931f160052ca58a24592556893555f8b13ab08b0e9790ce1b42da547a7ae91cd77f3c6dedccc645812a9d2cf4f749f7dc61a58a67012dc517762bea3282068504698437840cc24bb659437214b7993c0b6248514e32f07265377b0191f75ab5238ac85b181af153bab90742461caa8901d8a3489c504502478c75432564468ae2cc719ed23aeec6460cb791471f702c2090e21b273c694aec9369ee75724c999cf7c95cdb863625d83076b7b03deaa221dea8991942f068887730b6527d8cffa7a69a4521eab818d32065a6fe36160aa767a6cbc930119d38b49602609419272e1eb626f3802eb15bd318208ca827317c64a58d29b430656f3f9852546141fe98ec2d34e636bb1a3e8130111c9bc59719df361279919950618d1d0434227233f877b62473b558873bf15496fd1769cc59deb7b4e1b268a7f6a192adc2c7eabb00160112b7c8b3a679b432b95bf34685617a4c76313fa258d85ba5ddf6301eb39614b6a82e707509605a90c408aa7caa8ed3c59b0a5102c789afe421346d919873b9ef5029ccfd46876b98715f7b12e5ca82f502e50c288a8247823585e526ba291326e02cbb03d4c768c76585cb6a0a1e5050828aaa9457b691c582905348b11593139008ab92bd5445d0a63c7b756c5e2ca328d1c5f6832b56245cc8ecc2c7d6164b2b5a874a01fe27a1e1b5640809abbedd042dc18489a391c75e89407817e69d3a49cfb96729c7af1b48b9a4089a76471b2597479f4b58dc77c0340baf6e103b7b61ab1f082f635795ce66d0c3b4501114582da8663d5783c981c26256bfc058433767d1073c77694cb472b21bd052255189f45cb1100994ce7c970528646ef307cdd43769917a7ffe429ba65a9e643796d7b5395ca9c5de71ea5239d8a0cb5002aac9dfa7b70afa11e30613fbb4eb814a6d781fdad9eb7235eb67684416054abd5ba87e255a30df672528ae0579ce33db704673783b5ee84d5091361dfedb52080c01938bbde950541fd53a8a47aaa8cdfe80d928262a5ef7f8129ec3ef92f78d7cc32ef60
|
||||
|
||||
# Official test vector 4, seed: "edc76e7c1523e3862552133fea4d2ab05c69fb54a9354f0846456a2a407e071df4650ec0e0a5666a52cd09462dbc51f9"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 66b79b844e0c2adad694e0478661ac46fe6b6001f6a71ff8e2f034b1fd8833d3be2d3c64d38269a1ee8660b9a2beaeb9f5ac022e8f0a357feebfd13b06813854
|
||||
EncodedPublicKey = ae9a88ec4c3778691b80c5c7e1916e8f4a3107d8b4f6071b9a205385360b5bac870a0c876468c2f9905d96da3cffabc24f926861271b7b449ff5129489749933b9151b1277a8496007ac16a23c4610922ed1032e53e3aed0f36f07097c97c9c4e15871f37c8182320526c92be9826cedb85302dac7eab759fa2370f8bc9986d58426399fa5a8377b156a686c22a9f831f97284829359a02688cb88548b368eab1cb8ebac0a7ebc673e437424db392190344a095b5819bbd8da5b443602a48a106c672c7754c4ad7ac9acb59d8964385dcc256d1b58add3cd3b0c4575167f809b2003b411a3c65ab780c39ceb02dcb0b257583070d561335c87786c932b1523d4b9639afb4734f42b7a43339904830999a9d98529ea145338380666885e1e7598f8ec86a671234a301f5975af86a22f4369cf640ac1a86334776c7821d6cfb8c5345b63c53c3320206712eb805188c55f9146959e8a9c90640cb7d98111c0077857552d89808f0169bfbc60e90ca69a1202c2e34bbe040b92500fc375c31ae07b59c7804d8084ebd8b1f49673fa1cc3d32009bd4ac05ad9676c8b2181a7a5cadb7c3b860fe7e272f4c7a9bfe68c6f386bee3a9a4cc61b0e91c79cb743db0a1e2e6c3577b4099b4c87397b794f71bef5f0685353738ed5b9f9428ef3036b406a258c3bc907d8bbb32b564bf23151f23abdb98918793b1c2c6ebf049024135a039a1d41404cd8db2b78734ffd38ce77e1a83a41264b059d6e2a502fbc7e2cc4ab056c5be9e22396fa759f98127682366d71967a501132b8cd46b41b2145ca1e32cb5a06bdddd80701e43a8f56851bbb6df01623dc806357b53e93d3b039674f94a68207451dc7f4b2ea036bcaac508fa13b004a29b7a64ae5c64342266433b435dbd9be5bb79a3121b9c791501c971a04959e7ec91fe3f4a81b807959cbc43e64a3ce081dc9e31e20a851ec051dc71266bca03c8fd25f2c9c02e02030b810793d420f3eaa15e0f2c2838a1df1a12a4d1ab4947249e29668c58a14f0a8576254125e774427f34ce9e45319cc0c91a2b482577b804205b79a33faf52614817202dcce47e40e64e77af1209082d51148d31d02f83ec577d6799a220cff5a2ec08701ce
|
||||
EncodedPrivateKey = 5fe1950683a10a4c266a829b28fb08c5c1022646b083c3949d7a628ac5bca68bcb6ab7558ee87cf6ba7bdff0a1afb13be28682680278ae861790a31cba65b5fb9a0d02897091a83fcb71686fb50549c4cc6be0932d679229b90489c170da877d11b2652087b91fa437c035762cb736e36c69b049343d2bc75961a269f2a9b4e01da593ac7e25bb233b48ec2ca86c1471ef5c4decf62cf4cc781c926b9e411f51d0ccd575158a65a09f125795b884c41a77fbbb1084a6ccf7706ce0c34f8894c72bf89dba6c7da40112cdc33192b7b44df12e19a3142665a0d735894819acbaf943b24368220a54c7115910b57405543e859a897c044993936ec025adf8497df0306ec9554107248100284475d701392a8240ab53fc44a32dc1c31e953b58663fa2714eb63b9fd9a34c09084bcf11195e72b675aa3c4710c74d9a7d1f32943e31800a2532cb4854a86c1689eb5b1af9948491a19320c1620b58309abc7f2009fe641333c59456626e302228cd230d2e122983376160444a42f21ffcfbacdf9c7d71298b1be7ab91091d90688df9f202d1dbc2dad2ba856086efd6949d34b02d339655063ef8b2baa83b0335769f25fb0129f19047337a7e3336b57081aa521fe1d726a62c1039c49487bc500d3bceca4b5035c3937ce43d268b2ecd4870ab20b400f5b460e6bef0942af4182ad2471ae1120e9ee8896b980bb5fb02827a65d9103747fb4aedf9045d5c02684774eca64a4a2798bd1ac741858f9b5191d0d97b09f066f6095ae2a7464ab58c42f9095a080bd0170ac691442f461a31947a03972c982219459b10af395b81c59463332abd08b9a0f08b87d7a009b2727b23b9960c0af374b83d3163ed891746260835054078a0034f8b73eb566c16071323a800252c5e0af55488c15c34729a4d8c77bd63a5264cc1971766f9573666443adeb6272386222bac997666a286d89f3a92a17ebb8d13aab95cd87802c4277ec6351493ba89e19df479891190168e0130576492279b0a3dc39fe31a094ae90f23eb0a4b3b0ab38515ec34275793ac5c94aaf23533aebb7451359508191d0d54ca12902cae9a88ec4c3778691b80c5c7e1916e8f4a3107d8b4f6071b9a205385360b5bac870a0c876468c2f9905d96da3cffabc24f926861271b7b449ff5129489749933b9151b1277a8496007ac16a23c4610922ed1032e53e3aed0f36f07097c97c9c4e15871f37c8182320526c92be9826cedb85302dac7eab759fa2370f8bc9986d58426399fa5a8377b156a686c22a9f831f97284829359a02688cb88548b368eab1cb8ebac0a7ebc673e437424db392190344a095b5819bbd8da5b443602a48a106c672c7754c4ad7ac9acb59d8964385dcc256d1b58add3cd3b0c4575167f809b2003b411a3c65ab780c39ceb02dcb0b257583070d561335c87786c932b1523d4b9639afb4734f42b7a43339904830999a9d98529ea145338380666885e1e7598f8ec86a671234a301f5975af86a22f4369cf640ac1a86334776c7821d6cfb8c5345b63c53c3320206712eb805188c55f9146959e8a9c90640cb7d98111c0077857552d89808f0169bfbc60e90ca69a1202c2e34bbe040b92500fc375c31ae07b59c7804d8084ebd8b1f49673fa1cc3d32009bd4ac05ad9676c8b2181a7a5cadb7c3b860fe7e272f4c7a9bfe68c6f386bee3a9a4cc61b0e91c79cb743db0a1e2e6c3577b4099b4c87397b794f71bef5f0685353738ed5b9f9428ef3036b406a258c3bc907d8bbb32b564bf23151f23abdb98918793b1c2c6ebf049024135a039a1d41404cd8db2b78734ffd38ce77e1a83a41264b059d6e2a502fbc7e2cc4ab056c5be9e22396fa759f98127682366d71967a501132b8cd46b41b2145ca1e32cb5a06bdddd80701e43a8f56851bbb6df01623dc806357b53e93d3b039674f94a68207451dc7f4b2ea036bcaac508fa13b004a29b7a64ae5c64342266433b435dbd9be5bb79a3121b9c791501c971a04959e7ec91fe3f4a81b807959cbc43e64a3ce081dc9e31e20a851ec051dc71266bca03c8fd25f2c9c02e02030b810793d420f3eaa15e0f2c2838a1df1a12a4d1ab4947249e29668c58a14f0a8576254125e774427f34ce9e45319cc0c91a2b482577b804205b79a33faf52614817202dcce47e40e64e77af1209082d51148d31d02f83ec577d6799a220cff5a2ec08701ce02d985ecfadc5ec08bfb7e2b4c02c4fd9863ed6ea3dc9ffd92b2072db53010d2be2d3c64d38269a1ee8660b9a2beaeb9f5ac022e8f0a357feebfd13b06813854
|
||||
|
||||
# Official test vector 5, seed: "aa93649193c2c5985acf8f9e6ac50c36ae16a2526d7c684f7a3bb4abcd7b6ff790e82badce89bc7380d66251f97aaaaa"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 7ec408f52c9aa723d0c41d9987682a5f4ce6c9da7cd0215af60bbaf5484ab353a08ccf451b049fd51d7a9ad77ae14a81569df8c9bd3a8f1ebea86fdcfb823082
|
||||
EncodedPublicKey = 797a2b3dec9bf6159cf321b5f0f521a4216904c25a94b21c48a21e2d384b66db071e527c4798620ce8292c8cb962955f550b3dc0a1266dc47693b6b29e24156300375353c62640654d168dfca3445c2bcb06064c5f00b65cbb6d723b00a7999c74e1aa4fd1a64ac57c4356b612ac41ceac61e9983312d597b48b24febb6fa2962a1013a2d0878dccda268f5b00f55043239746c003140ea2ae3739ae17921c5bd7b02065a264186a081187dc500cb8200a9e9627df4b54b7682bac393f1d33655f643432f5c8164a2906131d46d483c684754ba885790c3a441374fa78346815126386021337304527a7df48a79ca62d32b41ab18000778b4ab6792771077e7644717a4845e9c248801949ed29b30cab0afada52d58a1b1918174cf8423d71ba0d22a9b1c71ec0347f9dd1a8ea111c8ac58cb5c61eaa977f3a8a0458082d8edc612e6c3b5d5b67f0541ef6276f15d11649010c1912a976ab3fbd7586c7372748bcce38b01fc39a62b65c2fb1dc82cbe22a3d4a26ba219a0afc093b745e7582168e3a33aa2a705a217180484537910bbec04256097b9fc174ef93973fa50f1a923daf51a2e59a1250b1a5a04c9a105a3191122d88d75793a674bc32006202bed2b6aff362540413a72e5312654ca63a72620d4a48863b98ea05c4faeb3d7ff8874198720dac3af8798dc148592a373346e250b0902f2a80cc13d8ca636664240b6a74ec4a570234e213a786655a4577afb84874ba4b4a1c97369da665493988f2e2cf412374d232236683ce8954ac4478408b4164cd26bb586a91a268c4cee82788411f2b2c387265334bd07b39c4946d0c1656b487092287780024a4027778605d06ec0ad266869bd28ffa11c254d123ab2c6b5f981dd44c3c79d86150b8c48b12af3899414d16c53a6414b782012d151aef08b31f4bc694714c04f05b51877728598b516b4ecbc438bd9b8643dc02ad741dd03c1bccc4aeac579d063b10c9ea16ab71b3df5aadc4b56b8bc1c08b40bffa8ca12e39cdaa137f7bd3bad32c5bf70b92c7bc5ffd050f801c797b01c0d3f307a579c61179a4e13a7097caaf445760018e6e7b19a4829a5d6323f5635cb3728135c43151e3701f36223e94e170e036
|
||||
EncodedPrivateKey = 4c0cbf32815e93216f5e765d077369236987c18c1fe354584b35cae490a0cc0c27b1e839b2da251fa59c2db7495fe27493cb4fb4313b51346e14c98fd1483178d394b7b3080c9205dfb7bff532a8f0d80a758519f1775cfc9b04cf947af549a48b64a9ee35230f508619499578b89f5e711bd6ab5b0bbb7679c9b1c4496c5463431e846131204af267845d1628c36680bc7ab4cdc93d56f2cc1707428d293e0e47a84340aad53a99c020952a50595d95204fe43b5baaafc7509c3b968bcee1c836dcaad5a00f2bd297bda19e3742585a2bc67b68821cf861af664cd59807365bc363303b780bb88c405033e775c1c563673641f8494d9251866a2490cd2a66e1ca9720f943aca90744f23aa3fc42bb86abd34558f173b7068237379c2bd12c73929a1495ab9bcea01da7aa4b7f864defd8ca3df90bd7942410309ac7d166db0a06fc9624fab8a26bdb435ea965055cbe8fb2574cbc161449885303334e5a33bbb5acbea13febeb34ff7bcb2256b1db09a1e2c864272174134a92165ba5f70094ece01a69ea8b0114051eeb1eba5a7e67bb8b9e6a014c1309fc42a31e4b08a9e38a77622902071d5750404d9c2a77976c1c9685e6ec6d30f429363b61bb7c3bf7f7ca6a14a71408bfedba4c7172231c503828351fddb74c0ce523b96b8ae9f78345f663124913c9c57be0da21c1b6c403f8272bda9306726abc023c5f61cf0bc4092f440c5b66a64c140152ea2ba3793e8c302c4fea7478fa7235b0caf18793cba925f6f380a810cc849182fd29236e9335bd1c7de67b0a7d55bbf264549ed134e4287e0fa55dc987c251164f3a070dbff29f8c30c1fcec6176724d7eb829569c8cb2858c5924642ac63e4ad1a3c0b01c32cab68568b26a47b443da5a8ec2a1effc75488761a108aebf0611d2a2a55d9a26da46630252aca321a0a9465f28da068de6626e660c617a71e03c904fa81f2e74b5ecd24ba234ba6dc63d8923070efacfc44c111a574cc4e1b4ca9847fa98b304cc409d377de583234006697e34717322b5a028014afa956f51cdd43b16e5f35126ec00db567c24841fcc959eb62676797a2b3dec9bf6159cf321b5f0f521a4216904c25a94b21c48a21e2d384b66db071e527c4798620ce8292c8cb962955f550b3dc0a1266dc47693b6b29e24156300375353c62640654d168dfca3445c2bcb06064c5f00b65cbb6d723b00a7999c74e1aa4fd1a64ac57c4356b612ac41ceac61e9983312d597b48b24febb6fa2962a1013a2d0878dccda268f5b00f55043239746c003140ea2ae3739ae17921c5bd7b02065a264186a081187dc500cb8200a9e9627df4b54b7682bac393f1d33655f643432f5c8164a2906131d46d483c684754ba885790c3a441374fa78346815126386021337304527a7df48a79ca62d32b41ab18000778b4ab6792771077e7644717a4845e9c248801949ed29b30cab0afada52d58a1b1918174cf8423d71ba0d22a9b1c71ec0347f9dd1a8ea111c8ac58cb5c61eaa977f3a8a0458082d8edc612e6c3b5d5b67f0541ef6276f15d11649010c1912a976ab3fbd7586c7372748bcce38b01fc39a62b65c2fb1dc82cbe22a3d4a26ba219a0afc093b745e7582168e3a33aa2a705a217180484537910bbec04256097b9fc174ef93973fa50f1a923daf51a2e59a1250b1a5a04c9a105a3191122d88d75793a674bc32006202bed2b6aff362540413a72e5312654ca63a72620d4a48863b98ea05c4faeb3d7ff8874198720dac3af8798dc148592a373346e250b0902f2a80cc13d8ca636664240b6a74ec4a570234e213a786655a4577afb84874ba4b4a1c97369da665493988f2e2cf412374d232236683ce8954ac4478408b4164cd26bb586a91a268c4cee82788411f2b2c387265334bd07b39c4946d0c1656b487092287780024a4027778605d06ec0ad266869bd28ffa11c254d123ab2c6b5f981dd44c3c79d86150b8c48b12af3899414d16c53a6414b782012d151aef08b31f4bc694714c04f05b51877728598b516b4ecbc438bd9b8643dc02ad741dd03c1bccc4aeac579d063b10c9ea16ab71b3df5aadc4b56b8bc1c08b40bffa8ca12e39cdaa137f7bd3bad32c5bf70b92c7bc5ffd050f801c797b01c0d3f307a579c61179a4e13a7097caaf445760018e6e7b19a4829a5d6323f5635cb3728135c43151e3701f36223e94e170e03639f1668e454ae9e5f45436a1eea6c01a444bad4a81f1edbae5280955a4ddac33a08ccf451b049fd51d7a9ad77ae14a81569df8c9bd3a8f1ebea86fdcfb823082
|
||||
|
||||
# Official test vector 6, seed: "2e014dc7c2696b9f6d4af555cba4b931b34863ff60e2341d4fdfe472fef2fe2c33e0813fc5cafde4e30277fe522a9049"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = c121915bfef6abdfc177dae2f5a24218f9abda2559afc6741b08e0e61ab433eb84ef52db5eaa6df8ec3a0bc5ffa730db0dde8c5f38f266d5c680a78d264a7b96
|
||||
EncodedPublicKey = a4b07e18e0ae7ba716c2905ee295a8be64682bc877e1b8bb7af14889d58a5c510526d050b6049eec47409c1ba4704b7098ab8044e33277b8855341024492228164480906af317a92f876240349399f609344801fd682881d410c9d8c373f03aa6b1420ebe375a51126eeb173dd493b6054b49043a4ec1a3abf1a30557b6fd981b728f23c8712c347a6329dd72d3cab1716729ad9899c8e9765416290554b697162b27b133dc7a8b63e02d08cba91097aa2d4a697bcfc456b0ab4d180bfff46241d002a5cea9c91eb54eb6588eb026f49fc31a27b82a06c7916b71f84a00afd9242bba668f7aa13d5684e9e00cd78a2a8b56533fdb5a7c1037de1b17981e90a20f075b4e9777d5a4bff698cfc900a0195508490a6a7372501f3b19b3323b6163adbaa53851402e01587b942c9213c067298354b936f69c57197e36d5333a540b8319793169f698d32ec1cf109c689130c0af3842e7244f270ad1ad04511dc9827b17db25209f1aaab62b769725c9af86808fc367b9dd91641c31e26c434e89b3851761092a70f80b41db9fb84df71bb40e7393b04c26776a00da0be3ae61436f10eec07b9367aa8733b4eba72927640b518b6268b012b9a630dceac578ee255a99c4aa366a18792bedd5c130c604efb4547d29b89ed72b96c55a71a54746e56527549cd81e8217958a07cc45f9770861a6a67a404ae3c87bf0e53a82c7841b0cb7b8d48baf882953a66618f2c33c329be3ab64150655b7e07b5da9355e215c326d65399c4ce5fa48fa4a2642af922363714bdb680a2211c523c70535b1143cbadebbba8ebd881af6c1d48d810134abedeeba269440cf1243905309193d0cde5065498ac80dd600e662b0231fa5a60e952cb321a4fb3268cb165ee68b4dc47b0e8fcb0fd8083aa0bb100bb8f11301bc960a62db905ce44b4883acb4016460aa98a6e80b979bc6b2ad79c4491a696d7978f9c4f868ba63827826afc8179773ead18b9d42b2bbf74435958478feb23d2fa5ee3f72c74d43e09a98b59128d77f949fe3c153f5976c2aa16d2933a680148aa0b9daee91bd18c9a6dab61aa1cc7fec30307d1604a6b2cf6fc790065ae12b64277655fa27fba5ebdcef7bae7cb2574dbdb
|
||||
EncodedPrivateKey = 53f83beb2b780919040351b4edf56f3f4c6213b4bb1c707fa1c3927c033769a4baf054bd0537ac1d051878c275efb4527327928d12c822248789b2c7b0826b31739ac20b71179a5ba758b4fb9a2ee969162592513e2cb16a742fb4a7a1c3a55db4382cab26b7051a05865790f97302ffdcae8a375f883c8693104ca7980ce08c9ebcf2cc826508f77a0c0798b477a65df2033a0975b87e858c98ac321a0411ffbbb2852751fcc22995830bad64ba5cdc1c34e61d334b234cb5c555e4c8981411fc9a8e45ac6c44c92554ba8951840c6b0419e51b546d9824ba7798f30b6476c0be18917c9d3358faf44d0e77b4653c0cce623edf30b1e1fa7810f30bc01b6f2c5b63075a25e9bc2eb05b6962c44439f2a4d6325a3186979fe50cd639538d19b99f75c355598a2e22c3fa7908c6a37da8b758427c7b10e2ccadc0045b6069aea53101c611d582c025f05ead796139822dd0437e7c9c10ae954390850191d69569fc117b492e5d34c44752218d771e6685c48535c49fd2210844c0fb778495267b4ea9b3fcfbb902652f5bb42fce5094af3018e810cad46b6db4a60dc847242877cecce437b48ba076315afee7b926ec2e4e909cac6a2c2b458d53601dd57bc983170b2b86b35411c5740182ed98a67200a68e6b66273aaade3ac294d0a4e0422162f3759b4c2a6e93b03a1153a7691807f473447806001b5e92e176b98b72379059a3977e28a21e5b502e315abbb5dba8767a55feb29a002549f5d029f0992f10f53c7432b33d9c112c850ce6374e96fa392cf986ffa140be84781f0165a8b60e4d4b01a0fa2a080bab067204be095ba041ac36c12349d60ab2127a737094ad2a69d3102b682a4a80b078ba22a1197c56685810fac9734451a01a42258ee3b5089111129937f7c4c4bf16bf6118193b786188a95a8d73ad794113c7b503186141e48ac1218a61e9b475a6a12a0f505502c839aec7086a989da1842ed5ba45f9047c75d07561757f0d1cc4c883b536782e77642dd72c1be9bacfa4079c8fa09a6a922bc55a19f3291ae90a8af8fb1ef709acbd018b3ed236391c55b91168a22baea4b07e18e0ae7ba716c2905ee295a8be64682bc877e1b8bb7af14889d58a5c510526d050b6049eec47409c1ba4704b7098ab8044e33277b8855341024492228164480906af317a92f876240349399f609344801fd682881d410c9d8c373f03aa6b1420ebe375a51126eeb173dd493b6054b49043a4ec1a3abf1a30557b6fd981b728f23c8712c347a6329dd72d3cab1716729ad9899c8e9765416290554b697162b27b133dc7a8b63e02d08cba91097aa2d4a697bcfc456b0ab4d180bfff46241d002a5cea9c91eb54eb6588eb026f49fc31a27b82a06c7916b71f84a00afd9242bba668f7aa13d5684e9e00cd78a2a8b56533fdb5a7c1037de1b17981e90a20f075b4e9777d5a4bff698cfc900a0195508490a6a7372501f3b19b3323b6163adbaa53851402e01587b942c9213c067298354b936f69c57197e36d5333a540b8319793169f698d32ec1cf109c689130c0af3842e7244f270ad1ad04511dc9827b17db25209f1aaab62b769725c9af86808fc367b9dd91641c31e26c434e89b3851761092a70f80b41db9fb84df71bb40e7393b04c26776a00da0be3ae61436f10eec07b9367aa8733b4eba72927640b518b6268b012b9a630dceac578ee255a99c4aa366a18792bedd5c130c604efb4547d29b89ed72b96c55a71a54746e56527549cd81e8217958a07cc45f9770861a6a67a404ae3c87bf0e53a82c7841b0cb7b8d48baf882953a66618f2c33c329be3ab64150655b7e07b5da9355e215c326d65399c4ce5fa48fa4a2642af922363714bdb680a2211c523c70535b1143cbadebbba8ebd881af6c1d48d810134abedeeba269440cf1243905309193d0cde5065498ac80dd600e662b0231fa5a60e952cb321a4fb3268cb165ee68b4dc47b0e8fcb0fd8083aa0bb100bb8f11301bc960a62db905ce44b4883acb4016460aa98a6e80b979bc6b2ad79c4491a696d7978f9c4f868ba63827826afc8179773ead18b9d42b2bbf74435958478feb23d2fa5ee3f72c74d43e09a98b59128d77f949fe3c153f5976c2aa16d2933a680148aa0b9daee91bd18c9a6dab61aa1cc7fec30307d1604a6b2cf6fc790065ae12b64277655fa27fba5ebdcef7bae7cb2574dbdb7b37a5635248c2a937c2f84856973f47c8a965852de3664c6c3fab0e1ee9ee5784ef52db5eaa6df8ec3a0bc5ffa730db0dde8c5f38f266d5c680a78d264a7b96
|
||||
|
||||
# Official test vector 7, seed: "aefb28fdd34e0ab403a703b535296e3a545ca479c1d8148e2d501b3c8dd8b1034bd986f13f1a7b4671be769359fd2aab"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = d86634ecf96cc2603761e284c0e36734cedec64e7ff486469e38539c71141c5a99daf37400cfe59841afc412ec97f2929dc84a6f3c36f378ee84ce3e46cd1209
|
||||
EncodedPublicKey = 0db29db808c5c3894d41ec6ddd357e0bd28e1d2c4a070a3140e2cefcd313c5e5484a403f43f3cae2863b5d7ac00f6a7cb96197b1a71cce6b18828867afa82326b450f5d43f5c51a5f94ccec2c482d8b305aa3c401764cf251ba15a42028030589d88807469cc3886b2a83a3cc09a78bb5a537ab715d4287f10643584f5ca9e1c3dacbc548303bd24a7ba96a9613b9c67b469a3117bb3b3449fc8e967fa9b0747b1550303bff3192f109340ec254142a5b829ea8c4ae80310076b5adace4e844a2390234ff53702ecb38a45563c933cfde77672389530fb45b5869623c29d924cb357f926069802b2590fe7a8534e0800f0d03f71b80d48f02888a09fff26399c6c4cbf578965e12b611a96e6d63381f749731a8908da899ec37a09776c0149c65158c717362fff2300c625b98942bf752993caa947d1a5408ec80f2b146089f87dc383053ba25864a4cedf595ac0bccb9afc534e165c0793a6ea03b9a73a0e412cad53501b0e878445e9a33a7a798a73717714af1c515e5f1114d16c9efed7bb1102b219a9b148a9016e2a649708012c3a03f4b583a6fb33826c4ef2c59ff8618839227b9aa15214504a1f713fa20c507ec879aefb269e58536409982da1a80644876dc499259c91ba53073ee06c486461ad00ca8556a18dc189d92c07b26a219b38ae91e902b11c899e690c004a48975a2b5a0b7358ba97ad2b603ad15af20569a00201ee197bf9d61040a04e63a57e0fd53fb2eb3984752e20bcc6d2ea2a137473206c11f02b5813430b5c3663f4b4aaf1b5b0fce0a1f7c5043ac703c5597477a9c1cb03354065843552b8d4fc087c8980f83959aa459623f7160187ae115ac1967108601c6562195c0fd31566c72ef044abc668c9a4fbb16290ba2673b867a3135cb217c76117a831595afbb173c7489dbb1a0c1badf5188a97784104c2a8901c1a6f5a27cfd5af0f74a394d53dc5932156a1895524b1754814611c7f96716fc7849597589fffdc205b9599b71122cb5c6f7237691e50880720333b3b3cf0a59c921c225b44633764b2923956b06ac602a3a9892b630d3958304bb1d1741257cb4aa662e8f1c68d270af725604ceb8a7ceb1c543d1f18ed4ad3ef745d94f8
|
||||
EncodedPrivateKey = d9198d2ce117c77bc991d57595481d913b878a60c913b64793214a211ccbd95cb3b756ba8cc1c1e8335b10d6569e20179f47683d624d142749fedb5b7c894c915c6e05c91ce6488d5931cacbd93f816b507acc740d796f80b9b1a468cf455575c4992082e07cf3cc74487261dd9ca3e0a38626166a78b90e12b204e9623e3616b1cd7888d7735a5c16a31ab75c0d5068c771a82f891cd8f7a3d755004cfb66c2a5992c31a92d159c65f7508e34a065d85616621af6897e5d525e660896f9d5cef8d90155856fd5a8148460be34f04a8fa7a820a612dad9902e60888e1c20eac154753134bb435b8c475d98b157da948031279ccce9bced961f30535347d0aa46532b7c5401d223a61c08ad3c18392f4ccfaac41ff1dbaaae511233495767258d5600cf3a71c8ebfb55206904ae06701c78c6cad5637adb7d74fb91f2f3b416e63b5043a8bb503128f00b7a73336ec7ba1499b92d00b9bbcca3a9e3917324bb1860546775c001b842dc8c61db33285d217f80a964667819f2726f67c9339c7b653eb852833619051371387575e9510a2d950529e2636300619de075116a78f73016f27939448b5cebb0646f643968693e492a582d95a1b5c75d58a8ae66f56200776e00aa6a586132c9350f2f535db56177364a03be32724972683473bf925c79b78211122a71f8f8091664975da9a21c938bf6876628434bff14422c9acd8db68ef79b0b8313826c993059aa4fb03736ee07b161a9384b0a89dc201d6fe371ae52927601468aa8952b683247d34db13c3e8248c2c5961e06c1a3cce32d4c6ab64111a6a6a6935101724e245c6afbbcf54658bd3781649b7e7e387dc6ca89f88977dbacc1c0a9a990c123f0d71c71061c68801084a28ff5d8373c2788300790dfc7154fd194ffc9afe73168309650e2ca2c68e5a1c0727813ca169801bb8392244b57852b46aa4fb75de055cee0ca042b68b928a950e16c32bb034694803f1662343fbb986b30a75dd13b011357d03acc2048c438ac2b84d025128113b5f6beb4c6c8e82b05bbb461d8ab116ce3389f6b3827ab8bc0c054e1238a0ac11c23313f0db29db808c5c3894d41ec6ddd357e0bd28e1d2c4a070a3140e2cefcd313c5e5484a403f43f3cae2863b5d7ac00f6a7cb96197b1a71cce6b18828867afa82326b450f5d43f5c51a5f94ccec2c482d8b305aa3c401764cf251ba15a42028030589d88807469cc3886b2a83a3cc09a78bb5a537ab715d4287f10643584f5ca9e1c3dacbc548303bd24a7ba96a9613b9c67b469a3117bb3b3449fc8e967fa9b0747b1550303bff3192f109340ec254142a5b829ea8c4ae80310076b5adace4e844a2390234ff53702ecb38a45563c933cfde77672389530fb45b5869623c29d924cb357f926069802b2590fe7a8534e0800f0d03f71b80d48f02888a09fff26399c6c4cbf578965e12b611a96e6d63381f749731a8908da899ec37a09776c0149c65158c717362fff2300c625b98942bf752993caa947d1a5408ec80f2b146089f87dc383053ba25864a4cedf595ac0bccb9afc534e165c0793a6ea03b9a73a0e412cad53501b0e878445e9a33a7a798a73717714af1c515e5f1114d16c9efed7bb1102b219a9b148a9016e2a649708012c3a03f4b583a6fb33826c4ef2c59ff8618839227b9aa15214504a1f713fa20c507ec879aefb269e58536409982da1a80644876dc499259c91ba53073ee06c486461ad00ca8556a18dc189d92c07b26a219b38ae91e902b11c899e690c004a48975a2b5a0b7358ba97ad2b603ad15af20569a00201ee197bf9d61040a04e63a57e0fd53fb2eb3984752e20bcc6d2ea2a137473206c11f02b5813430b5c3663f4b4aaf1b5b0fce0a1f7c5043ac703c5597477a9c1cb03354065843552b8d4fc087c8980f83959aa459623f7160187ae115ac1967108601c6562195c0fd31566c72ef044abc668c9a4fbb16290ba2673b867a3135cb217c76117a831595afbb173c7489dbb1a0c1badf5188a97784104c2a8901c1a6f5a27cfd5af0f74a394d53dc5932156a1895524b1754814611c7f96716fc7849597589fffdc205b9599b71122cb5c6f7237691e50880720333b3b3cf0a59c921c225b44633764b2923956b06ac602a3a9892b630d3958304bb1d1741257cb4aa662e8f1c68d270af725604ceb8a7ceb1c543d1f18ed4ad3ef745d94f8635d7cc758d131a3734e8300b85f16014f607c6cfa02c5864a8b4212aecac18299daf37400cfe59841afc412ec97f2929dc84a6f3c36f378ee84ce3e46cd1209
|
||||
|
||||
# Official test vector 8, seed: "cbe5161e8de02dda7de204aeb0fbb4ca81344ba8c30fe357a4664e5d2988a03b64184d7dc69f8d367550e5fea0876d41"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 0610678ff4dc3128e1619f915dc192c220f8fad94da1943b90aaec401683a492da1804ddb5aa9b1c6a47a98f8505a49bae2affde5fe75e69e828e546a6771004
|
||||
EncodedPublicKey = 37b8b46ff76752ebb62262b56c1b32b9d72d41821d21d5cfaa02cd9d29cc127b5370c167d7f811bf3b78efb3bc4e717a3663cee3e2b1c1f2b469f759b12505bfd8beb79c894be52b74c1724bd878c01b8ba41060c1f12a20e234f85476c6e8cc214759d3580c6f95cc6a6a2a6312cf843354700a2e4fc38bf0a52b68190b1ba9bbf01b6fd06571302c1d16e92f2ff88ccd7648ed7c214508b433c5a4bc7a2adf6415836b377bd432097ba01da893b9f163f5528d48773b58477a692c35f2f95552f2af39d2151237926e9a3d004903f7851e66dc13bd9bb874591ca98590a633503569212dcca0a59513261456445ab40959c42f21274a252c3e09623583ce30a063176b9960f7c1df65baaa5b1c7b8c2d843126b2f3b564235adafb5a0bf66c70883164bb0ecf20b39965a9501279b08a51696891dde820e2a002bfa67f110162afea7632f4b45adb04eb6c85e1b1a68f9a6bbd4b7b4c4ac6f0b821c59b0049895b6ae13fcd202e5db7808f5b916e5cc4dada5c48656988b19ac44cbceec40ea1d71a0630b3ab295fb5c911c893a1e60660df36a9fb6460e0e45528b1c376d6cad0ac375057849a823a6cf74f6594065c0b5ab341a959a04de845071e61b8a4fb92b71346b0019a96f9cb8c660e7220ca8c2ca9c57362559c31d69c2cddec0f86631681e2344452173157cb96d3c4ee051f4e6c3455305d541bb4ad3097fbacc66db01f54b648f463b21e083a68a96bb2975b6d05cd0a415f8a87735691b1b032204ad34751d5a796da410b57c651d36435253bf3f85648b352a29921a5d240bea34fa2cc40982bb28ae0b378ba3fea491479d690a8d21863f8c4728267fc8a48753093dca438ef614eb438b36d324852f1062f21c9408a7478f16d03a4ad656b80d7e81d9581282844c0df28059903c58911ca4f174013769b091a3260cbc251171fa47980a3b78a764069587b620f8abc28e258d5daaae9e110f7d077c9f0905e76cc3b0a8cf068b9aff77dc33a767790700c85c663a9357c80a447d6030fd519ccb9049db02ab8b8a20387038132700ae9389791072e796e206a76de7aa367589fadb82aef85003cce1a7228b882b3aabcb1debb4bea22d584e8964808d3
|
||||
EncodedPrivateKey = b89a6e6c56cea426913c001141f9236784310886b2c01629dae54792da4639231da41453e0c2b9e78bad0d4a1419ecb317236116b8c5febb86758a83eb223af68055eb21150ba95bdb46756cf17d09c675168c7951db0a9859512e3a64eb9074f9f83a8b5020cd32a9e5fb4bee567ef4867638b3bcc07603c86a22376b219fd69776cb4d9db90617c52f3c7b7f1633026f606cf623a5e1c4476a613476cc33d2958dbc59ba8be8bd450c7b5e738e3ad0819ca3cce197b8a77a6a84600ccbf481114a6618c47238f46aa11a5343946835837d568531b7f86798a86d41fa21e0867254e9931fd92f066c866cd53eabe866980a9f594b1f7877247da68845d20272f2b3efaa6a19e7006a354cda6454a499648f6890172279d04199bf44611685c1a2b2c44b670b68a049ce92299f54737b036a1b998e90da7fd890b79270087cdcb6698b2c0ab672d34bc04ebc5143b7165b027aaf518d74a8bbfd3945ce71a4eca14e32128690e1b6cdb1acf180b6f0399cc1d08c1380b374151ef9e1844954c590943b412131d0ca16aca82e80a62f7344147fd23d6994ce71da2621466cfcd0702aa35ebb271e4f8640b3eac7b1b21ee3c6247c48467379633375cdb0254813c831efd0c1b8ab7b92cb6217152ef105a312e215a6d18262e77a49f058ab604790200b29f60238b163b817c72e4cbd5a547b5b95b01dd59a77c6c54e77bc08c296d5e4c4b8daab1770cd2922b2194757c836a7ed396e1bf23b47254e057a23dd0017b093aee4a20c46e275b56b8aac244a82a269a11a6732a91fa7663c0abc55f6909a6f5c3683960b962aca230ba1c8b9a731c33ee45825db7bbb76f6904e1a91a113cfbe191599233708b5a5c948a768d78b9b8b76563b0874187df60863de1a2cc2a777bf192dd6f160e4455ff46891eb93c1ca60af26e08b155249a4b82d11f66691c724fba3b265d150b00843fea27ab764723e70089f974b0fe07c72bb30f32b845ecc4f596170b2f83b0a5427e899bbb85c599a9c3ae700284d007e3786677359ccc5d80a62912e5ae73d7f98a6b6382845eaa313e31516491712f53d37b8b46ff76752ebb62262b56c1b32b9d72d41821d21d5cfaa02cd9d29cc127b5370c167d7f811bf3b78efb3bc4e717a3663cee3e2b1c1f2b469f759b12505bfd8beb79c894be52b74c1724bd878c01b8ba41060c1f12a20e234f85476c6e8cc214759d3580c6f95cc6a6a2a6312cf843354700a2e4fc38bf0a52b68190b1ba9bbf01b6fd06571302c1d16e92f2ff88ccd7648ed7c214508b433c5a4bc7a2adf6415836b377bd432097ba01da893b9f163f5528d48773b58477a692c35f2f95552f2af39d2151237926e9a3d004903f7851e66dc13bd9bb874591ca98590a633503569212dcca0a59513261456445ab40959c42f21274a252c3e09623583ce30a063176b9960f7c1df65baaa5b1c7b8c2d843126b2f3b564235adafb5a0bf66c70883164bb0ecf20b39965a9501279b08a51696891dde820e2a002bfa67f110162afea7632f4b45adb04eb6c85e1b1a68f9a6bbd4b7b4c4ac6f0b821c59b0049895b6ae13fcd202e5db7808f5b916e5cc4dada5c48656988b19ac44cbceec40ea1d71a0630b3ab295fb5c911c893a1e60660df36a9fb6460e0e45528b1c376d6cad0ac375057849a823a6cf74f6594065c0b5ab341a959a04de845071e61b8a4fb92b71346b0019a96f9cb8c660e7220ca8c2ca9c57362559c31d69c2cddec0f86631681e2344452173157cb96d3c4ee051f4e6c3455305d541bb4ad3097fbacc66db01f54b648f463b21e083a68a96bb2975b6d05cd0a415f8a87735691b1b032204ad34751d5a796da410b57c651d36435253bf3f85648b352a29921a5d240bea34fa2cc40982bb28ae0b378ba3fea491479d690a8d21863f8c4728267fc8a48753093dca438ef614eb438b36d324852f1062f21c9408a7478f16d03a4ad656b80d7e81d9581282844c0df28059903c58911ca4f174013769b091a3260cbc251171fa47980a3b78a764069587b620f8abc28e258d5daaae9e110f7d077c9f0905e76cc3b0a8cf068b9aff77dc33a767790700c85c663a9357c80a447d6030fd519ccb9049db02ab8b8a20387038132700ae9389791072e796e206a76de7aa367589fadb82aef85003cce1a7228b882b3aabcb1debb4bea22d584e8964808d3cbdd31edb64a804a434033c3edf156384b40eac3544fc5f4104f323f37d2b017da1804ddb5aa9b1c6a47a98f8505a49bae2affde5fe75e69e828e546a6771004
|
||||
|
||||
# Official test vector 9, seed: "b4663a7a9883386a2ae4cbd93787e247bf26087e3826d1b8dbeb679e49c0bb286e114f0e9f42f61f63dec42b4f974846"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = d322d56d8ef067ba1f24c92492b9c56df3a6ef54a304adc1b69913766a1ce69756047447b810cc094d400ab204cf9ae71e3afa68b88586ecb6498c68ac0e51b9
|
||||
EncodedPublicKey = 8468b91f0c3bcbfc6d0d41b443d2269bc905b855992527b3fa85c305b9bc4b316691609957ca3dc87273f973cc06b09df13549a6222a2a970a44b108f6a434f5415489bb807dd6ba8358c0b95c9a92b7413808bb5bb094e0b54c15f18453446a28505d049abb1fa551feb055ac23718d17ba668230f2b57854cb130357937ca10c4d726fa9eb18a1421a491547b8b59b33e07e7a1529033722b6931e27d5220a083c95f1b85eb62c5428777bdb37b8391abc6cc0bb576def240dd096069efa48c812545a365a462c9e95065e7ca7ccdde66ca8fa4e3df7278f096ddb6a47b32c613ff46b56043d3d6649b109b17dcb81ad84b9a1aa85b20217f8c973d205588cf0927a3a0e8227c39de35eff82ba2fb2b3e86a22c6407b3fc1620b3a16b6e93a78ba2007fa4fec542ca9958755c1167616021a32a45ef1846b0991c9fbc65e2b5b6b5a4240055221f6336fd966ba074f648920fe210c6499a32661019b190319a7b9ebea341b9a79a94b95b7476b1127c888fc46321728cef8cf2b41c616cb429433c14ca64300e48b9d0ab42f439f7be5a46c24391499749c133612096d7051024563a97c11991ef702adbb93bf42c042b092ad4aa301bb32bab6bb2414b958731e950953628582ab2b30d5412c6cd1993f5523510712ce3727c68a3def23205b9c6871e92b93771211823c8842a0c676af0e69ba03948262b59eb7e424338b6537d8412cac3abaf9a14a682b769176fcac2cdb084361e681522a06d7f2a38b7b7722298570c492bae0cb7b2945df904e24e7ccd4a9abf4d4045ad1323d996f155531194bc4b96b53bea57ef493bf83019a74b22ad3674e23c40c6f95050516a4018b5259ecb158273238e74c6fa03f28a6606db41c85346c7252b60bfa1aaf117291b4bf5a01afaf400d593a230833abcb7c35c0c9a3b6f5afb40968abc4bcf581337a1b39f443436445a9fc3a2a6d8410d20441d0272155ccb4db35bed163c200e325e073103105164999bd4552b955943b5a8c5038ea2ce32a49e652a443a136ad4c9566a56d5d6b0ec8153f10c5908525b6d6b3bcbbe628c6e06add65a3aca0d32d1d1e6061a595141e6d1b73c3a8b2e8da598565419d6b69ab70142bfd
|
||||
EncodedPrivateKey = 49f021eac8ba6da58a63aaccfb2b5fb3a23c4b72b96ef9c1b7b984e72c711cd43ddb2b0ba6a8a79121840ee193cd625738eb931689330a2a6a50ba85cf907462569953dcb95adc208272869f5aba0639091c05601085abc6d5262a614b28f57cd2644a2e9504d0202c30d159d49421bcd70ccf584638c8c9621011da502c9e15397100cf1f28072e1b9a17b5b40aa399faeb9c2033b3ad4c7614b8b2e96213b03528f909a1be587da9a86567cb625df9cd22d28d6db41ebd54061a8b2eb1105264e58b2571afa6a908b7a6738b517530c7b1d14290a4347702b71c815834d745a2a085297c637c95a736e4ecb37b3704e9b7504af6a982c83cb5c368fd067596400e66755794552ebd2a246f291156fa3af51b7e9db358c7ac5e46bb00ef204adda06fc1788cea0cb07621367fa99e920446a80bc8354432a3934373fb62e4d82a6790162409ca68c72835e35d5a99bfda071befcb41485b13617b56ba53586f19b905e79629564e74c5b1606a7d62f1a7fa31a86481887c67852ce77e4c87485cd84e51c9296e31a1c3268600e04f470ad0cad53f55d6c2575522d913a37d6309acf3732a6c18907892030c6b571ac41b895276ba8ef6fc939db7b4db440e514b1dd49508583b32aa72193ab94a2637390fda5f80e77bdd0229dad6827334677fb16a9cd1882f0b83c632102a117072e4b2f7e0827ef2602946350196852e91034ac791cf798c0d411ff1454863b1ab3b53c650f6b4a40912e8f7615a88b8f0cb869300a1ff2370dc3805a8bbcb3393b556f25ab7cbcf6d5ab057b462e064bab5c23dee3c27dcf71baf88137705803fc2203129005f3a238e065133380699b3c5e0750036e02bc2d1a2fd7b49ef66a32146a5b6096f2e13ae2046c7e35a7db870c0f600a2601a2988ac0d16b76a71677353b334159022f9907a29096927b7a4627c1f0b801d58f271efd86b74c83574b2c4c4f66d3f19ae4a903628db52fb746f5cd8473de14862c96fd0142d48359161d7cab7f9be85eb2a194553fc01c8abd1bc94577328a0683c8c474cd88a54e739332c32c436896bb96fb5a97d6ee5288468b91f0c3bcbfc6d0d41b443d2269bc905b855992527b3fa85c305b9bc4b316691609957ca3dc87273f973cc06b09df13549a6222a2a970a44b108f6a434f5415489bb807dd6ba8358c0b95c9a92b7413808bb5bb094e0b54c15f18453446a28505d049abb1fa551feb055ac23718d17ba668230f2b57854cb130357937ca10c4d726fa9eb18a1421a491547b8b59b33e07e7a1529033722b6931e27d5220a083c95f1b85eb62c5428777bdb37b8391abc6cc0bb576def240dd096069efa48c812545a365a462c9e95065e7ca7ccdde66ca8fa4e3df7278f096ddb6a47b32c613ff46b56043d3d6649b109b17dcb81ad84b9a1aa85b20217f8c973d205588cf0927a3a0e8227c39de35eff82ba2fb2b3e86a22c6407b3fc1620b3a16b6e93a78ba2007fa4fec542ca9958755c1167616021a32a45ef1846b0991c9fbc65e2b5b6b5a4240055221f6336fd966ba074f648920fe210c6499a32661019b190319a7b9ebea341b9a79a94b95b7476b1127c888fc46321728cef8cf2b41c616cb429433c14ca64300e48b9d0ab42f439f7be5a46c24391499749c133612096d7051024563a97c11991ef702adbb93bf42c042b092ad4aa301bb32bab6bb2414b958731e950953628582ab2b30d5412c6cd1993f5523510712ce3727c68a3def23205b9c6871e92b93771211823c8842a0c676af0e69ba03948262b59eb7e424338b6537d8412cac3abaf9a14a682b769176fcac2cdb084361e681522a06d7f2a38b7b7722298570c492bae0cb7b2945df904e24e7ccd4a9abf4d4045ad1323d996f155531194bc4b96b53bea57ef493bf83019a74b22ad3674e23c40c6f95050516a4018b5259ecb158273238e74c6fa03f28a6606db41c85346c7252b60bfa1aaf117291b4bf5a01afaf400d593a230833abcb7c35c0c9a3b6f5afb40968abc4bcf581337a1b39f443436445a9fc3a2a6d8410d20441d0272155ccb4db35bed163c200e325e073103105164999bd4552b955943b5a8c5038ea2ce32a49e652a443a136ad4c9566a56d5d6b0ec8153f10c5908525b6d6b3bcbbe628c6e06add65a3aca0d32d1d1e6061a595141e6d1b73c3a8b2e8da598565419d6b69ab70142bfd8510df5aab4d05b7daaafd2c33aeaba815b1d15bed1b204f72b721b5eacf1e4056047447b810cc094d400ab204cf9ae71e3afa68b88586ecb6498c68ac0e51b9
|
||||
|
||||
# Official test vector 10, seed: "980d0ba7c8f8b23d0e948a6029ff2659810ea1360064663a8994d0333c8543ee5ff5d6d5c9acf446e61dc464f792b9d3"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 2f1d8a3bebb34540324b9485fdf3d5be3b858f544abc3fc641b5728cafab03ba8d6c42e7270ee2b77b6045385f3d175984a0e260363166c73b0c70c971644363
|
||||
EncodedPublicKey = f80b7f0c0bc7d6f759e70acb8ff26a9e8a1e9b3876a18c4eae937190f3365c6571602aaae8031c9d429509609043f80c03ca8d0f024d6c943e2da09b2ff1125e5b56fcc505f6229714c9760e4898bc692095c89cdbd25579e4a3cbc32279440236019776c28edba9495f359a696967e3c22437e511d63944a0ba28e9626ca1c148955b5206d9c7d842c5f242308ea2bcb3a20db4f571b47c977ba25050bcb33336610b0c953450096e1c9b9e02972f160cd0245f1079aa480214ff7a3a93f2613826a8bcf337efd70f6f469d2256ad63f30e442355b9f7426fe04004db8cf2a11903e70c82e4b673aab014488ac51a29d5d13c174ccc2241a87127b89adc0f0cd3a30050334e650f86d785797cb00ec678f77c5838c19c008d715305d0382b2644e932d46b7b62e1526eeaa08f4106f21b077765374222218d7b5617fa8ceeba5b120bc8e636663f876d2437664a44050c55afc18574393b89b3364ea1a94baa031c43e7c3333b755c0b04599b911ee84e6c53ae2c58bb9d435f472b83ad319aee795670575c6fa64626b4b023eba91d0bcbd4384d0c530fcad4cefb566725d58f5d9418966b3a1731b16633aff1eb6980b71ab2c2a54fe4c8b9cccf2b786912580bd4025e54bc37b395a8712351a83725dd454810755843e95b5f5129e7d13791900d74ea1ab1639c9121ca5a5765c5474ae946487b02cbc3887fceb3731b339f8ca5cdca88b7bba35a7b36b341a24d94a46b23f629d37915832c1aca277846247b957304b4b858d2eca94a3702d41ba8b1e257c8bc2cf1137975433a9cc7ccbdb5067fc7c31a9b93e0a444af291e7026c1b7aa684db03daa48700e2283b7371a6f351bf8529f6de2700cc25bd765089e3b7418145c4ce0481cdab57f91a36cb908a94c40ed91ca2e6c495d6777f15a6c4335af4a4a1cee50494ad66e1acb5832293c6d4bc0325b8602631d9eaa725e319cd0b72f59bc5b2d934ef895b367bc9cb7185a567c5636da439181cc90aa3bc66082fa32cd28388ab3f1b6d88374e0260342e918d44ac8e26400858910cb0b848f55b4795517d533592605954b645756c3b08d067fd99c404fa9658a5a7162fc42ed3199c054556be48c14ec97794c
|
||||
EncodedPrivateKey = 3da77d1c019fc8e911b8a3ca727443651357641102017150b50b2f5c19a70a02633213af20a961e670996f12bf52d2ae171b221ce5088c98b316585d92ec5831a15d3e2c515f46a2ffb732738b59b30768aea60be47589d061872d117bd4f67f353b4cd069b09d53cc68aca2b94a1ec29585a1a91cfb2258a6267df6db65c40a910ed92d544503d1288d8832c87f83a3eba5a1ee15c7f72b924ad42dd7d827cef3032f89559a53c5c4ea0651e7bb74360d4684c9fc9caff2995597b77d226a9e11b2c5f4a624b297482641be197791f4800311a99a048a951e92321c42b73c95107ec008ed866df54248ee30949fc461d70342cc933f50dcbbd821844a4305a73a900fb435773850855606c7bb94aadb9763c55fb2f93c6d62cd3ba53fb8ac45b16a4e87f18bd47a68c3a881d217957f1c274daa899a544268a409f2307cd8f0128437af0582bf7b03456e9731cfe69a6461c623219028d21d303090b69159c0e0be26ecabf96998fdac3482928b30b73a68ecc7a76b23d39a76a437a5eea40b01945e9ce1afb6601f130254a9fb594f746b2b236edd4b854a8793a8c66a0ff09feb124ed741cbdbf2c70fd42b8aba9b5999039d995db7c022a4e411885b8b4ea9a36232c9a9956ae629c39972932ca7ce94c936af69b6f1b903cf8a32b3bb800346c4370654db82720bf064b9079066d264a2347ce07089f427c6130524c7bc7d079152804a0effec0a78b56e5d821716f76ddcaa9da4a1baf2748e7794a9ea382d1f38b7d91c6f2d4ba69592bad9d42fedcb0feb868985fc1d54093db8fbb8bb986ea635507604ab1b56c66a2222bc0a68bd50c131135e5c0213f5735d6f757c4f693348d75b57e653d7f8251de51c1f6563455aa9eda839cac519772104a3e71071e2b5b5e55b210ca40d9b8e6825c88594ab39b9cb983385caf9b6bfe568dad316fec65dc7cb8442a73730e9732496bd45b9186a35c7d423610fa00fa622464b7b44d993136b1c23db11cbaa443582c23b3ec97ae12748f46c0c5a4c7773581885059af478332150411ab0134748677d8aa29076a1b72c5de20918c6d921f80b7f0c0bc7d6f759e70acb8ff26a9e8a1e9b3876a18c4eae937190f3365c6571602aaae8031c9d429509609043f80c03ca8d0f024d6c943e2da09b2ff1125e5b56fcc505f6229714c9760e4898bc692095c89cdbd25579e4a3cbc32279440236019776c28edba9495f359a696967e3c22437e511d63944a0ba28e9626ca1c148955b5206d9c7d842c5f242308ea2bcb3a20db4f571b47c977ba25050bcb33336610b0c953450096e1c9b9e02972f160cd0245f1079aa480214ff7a3a93f2613826a8bcf337efd70f6f469d2256ad63f30e442355b9f7426fe04004db8cf2a11903e70c82e4b673aab014488ac51a29d5d13c174ccc2241a87127b89adc0f0cd3a30050334e650f86d785797cb00ec678f77c5838c19c008d715305d0382b2644e932d46b7b62e1526eeaa08f4106f21b077765374222218d7b5617fa8ceeba5b120bc8e636663f876d2437664a44050c55afc18574393b89b3364ea1a94baa031c43e7c3333b755c0b04599b911ee84e6c53ae2c58bb9d435f472b83ad319aee795670575c6fa64626b4b023eba91d0bcbd4384d0c530fcad4cefb566725d58f5d9418966b3a1731b16633aff1eb6980b71ab2c2a54fe4c8b9cccf2b786912580bd4025e54bc37b395a8712351a83725dd454810755843e95b5f5129e7d13791900d74ea1ab1639c9121ca5a5765c5474ae946487b02cbc3887fceb3731b339f8ca5cdca88b7bba35a7b36b341a24d94a46b23f629d37915832c1aca277846247b957304b4b858d2eca94a3702d41ba8b1e257c8bc2cf1137975433a9cc7ccbdb5067fc7c31a9b93e0a444af291e7026c1b7aa684db03daa48700e2283b7371a6f351bf8529f6de2700cc25bd765089e3b7418145c4ce0481cdab57f91a36cb908a94c40ed91ca2e6c495d6777f15a6c4335af4a4a1cee50494ad66e1acb5832293c6d4bc0325b8602631d9eaa725e319cd0b72f59bc5b2d934ef895b367bc9cb7185a567c5636da439181cc90aa3bc66082fa32cd28388ab3f1b6d88374e0260342e918d44ac8e26400858910cb0b848f55b4795517d533592605954b645756c3b08d067fd99c404fa9658a5a7162fc42ed3199c054556be48c14ec97794c6eba15a38b9c512f892c825db9c850301f99fa3675eacca7097afa57bbf02ae88d6c42e7270ee2b77b6045385f3d175984a0e260363166c73b0c70c971644363
|
||||
|
||||
# Official test vector 11, seed: "6c029462ca42ed520f10a579f52687101105e0b90c6e7bfa582a4c112b579d5ad0a0abd38f72abcfdcaaf5893a112bdc"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 31beda3462627f601cbc56f3ddf4424e1529c04737ef0ef2af6d7401f653b8a1812083bfa3b670e3eaf9b443702fb6db16ac1197656bbd61a8e25ed523b8d1e5
|
||||
EncodedPublicKey = 6e36165f702849dca47d8534d151beac491198a002d1f276bb502aece98c181475f20a7a6ce0796e91b82128bf87c9513c710cc38b9ea42182de26c0c4c9b06e91759af7bab56c1480a527a8b281de0abed4640bbbf210174a576fd1666c039533fbcc1658890b42c424d5122963761fb510bc0c75ca6b690e0160e6e54a4ef616d4372c39fc6006177752eb2050d2b2cc16a2e573a82113b67dd8c5c9f650e81157bf991f40b9adadea9270079a3e62bc266bb668dabca4a8bc4d13ad7e6934898548c7c874cad1b28586127219ac8da6849c54cf38dc666fa33ec45831a2595cf3756806218471abba83f6b96e73bf091a4a10530e17b2a092e7c13bf00ea5bab289242a221c164e98ac33771f1a6701f309cfd1ba0d1534913759c8f60bbc50d249c3740715628fdb877eadf97f35325022e76418f6348bf0150456c28644337d010f46602739d31666ab637037466e7714d4f379ffdcae7aa3a4b27a5dcfab721d4cc25810b96939b01e708ccf2988a1a00c56c05289878677f50c6fa8588005a51f785cd3ab530ba1926a4a251363a0d78c5c6a25c180e951099cb52decb2b4005ec7abc858b3b516b729b40b63d888cc56f43100168b6d648f46c912129019a35818fc694551372a36bcb5cb34723b9419f74aca9b787a67c3788a0aa5e2d03319f18514622a88d6117d4b0f8892a2ec7502157702839c7809c99abc050711ab2b329c1e7e892eb39640cd4137551147d2ac03463a7bb3619b0d608b05201fbebc450e7a1a8ac782593421005004ec299ff1816096a2565d7b29b37810676c593dc0428664863e020e7a352d51c687db63bcf699b29dbb2ab3f35c4582040342c8c2f9a9c9e43aea40324f58c8e03b9975810c40443b2df25249d002b2e14c6b2889fc59c586b88c94422d3f84987580ab8096849ec5387d31a1caa8b36e8b08d78305ea633c66e32be633a40a157b87d380b29c58c97826fbf274f6e11a89ea1acae4b9ec1425f95737f9c49c9cc334d9e2a808a71d7c4bc7fd679bb1dc0f6683c207fc4f2b7ca842307cc30a7320f5cb1285645c00aef3c72bc42186904e7fd299ec12a4881821fcdf1faf3490cf55a3365f2fea6c9e31c553046f86
|
||||
EncodedPrivateKey = 9d0706d6579dd9a5a9a9f7c32b0b9f431a53b24c686ef69e44316dbd66ac874b7ba4f69c2aa5021e68a42e78881bc647e484c1139b7237373c69bb64faa91a6394bdbc0b7d6a22c8c7a74d94e8cc74f33851748999975874ea60e799870e2bb1579996f5bb427b982aafd89c6cb3883c45838ad3c753048f27b3097ae01931732a145315381975493bc4c2e95ffc6ba12d074f5596c450eaa0438abb2d7bcd3da06a50dc7ec1ca720340479bf75a3f03859cc9504fd59dd5c65ebb1c73a3b47bacbaa5f8c1bafe6a04df728d671207494c052bb3994266587bb9562e8926d7893df7fb29a476224376a50d5695db5cabc3986c3b629213bb105e790df18277f8a72efc3c6b960844ffe49c5fba45a5a264ca9a43600b310d43c6d09509e1962b98e4b37b8a4ffa249630e0b458d495f8151240a7561c2c2fbb8c824a52be2fb901cd08274b63bdeef06ee490ab95826c52caad22f593a3164932d149f18047031a7ffd0a05057173a5c23098267e8ea5932184212f07422ba3c091d98433c431515a851ba0983324a76c534bd480a9092c4fb40a488f227658c339c769804e4102199a9343511b460aaa37343513062de5e89aba16479a9c33f4db4f3ea56ab13ba5221405dce080716389016bc6d2d7c94278947b8a3d8eb462d035767d8ba762cc65753997ff8a1f383ac300665862d14a68384530700f1cf96e99ab81f78b8469f9cf4793438a5793fdb4771bc8b50d3caece16c31db99e96f6243b2c75a20a12b54a4b06aa509aeb4d6f01050fe6510147824fec23c0a65cf3d1ba05ac4d8f381914f070fc94368b1a64e644c9fc93b71718599ee6862fc5582ee26aa86b97fb407b0a73260d71479992884b6a4593bc1327c8a54e4a26cdf9bde386952ca635b82c4a4f40247efcc792d8278f9a4b20d978d1840ef51380cc8c09081724ced34b3cca1aab85134f6486208c2df61ca14af8646e9b98fec13d648b6438b8c4b4fb80ab602735fc633700b9bad3b284713b2a288fb59097d6279f5f8891a96122d8cccf2db407d1b054f0b470e2506004caaeb2e10cf2f8410a105273a6a16e36165f702849dca47d8534d151beac491198a002d1f276bb502aece98c181475f20a7a6ce0796e91b82128bf87c9513c710cc38b9ea42182de26c0c4c9b06e91759af7bab56c1480a527a8b281de0abed4640bbbf210174a576fd1666c039533fbcc1658890b42c424d5122963761fb510bc0c75ca6b690e0160e6e54a4ef616d4372c39fc6006177752eb2050d2b2cc16a2e573a82113b67dd8c5c9f650e81157bf991f40b9adadea9270079a3e62bc266bb668dabca4a8bc4d13ad7e6934898548c7c874cad1b28586127219ac8da6849c54cf38dc666fa33ec45831a2595cf3756806218471abba83f6b96e73bf091a4a10530e17b2a092e7c13bf00ea5bab289242a221c164e98ac33771f1a6701f309cfd1ba0d1534913759c8f60bbc50d249c3740715628fdb877eadf97f35325022e76418f6348bf0150456c28644337d010f46602739d31666ab637037466e7714d4f379ffdcae7aa3a4b27a5dcfab721d4cc25810b96939b01e708ccf2988a1a00c56c05289878677f50c6fa8588005a51f785cd3ab530ba1926a4a251363a0d78c5c6a25c180e951099cb52decb2b4005ec7abc858b3b516b729b40b63d888cc56f43100168b6d648f46c912129019a35818fc694551372a36bcb5cb34723b9419f74aca9b787a67c3788a0aa5e2d03319f18514622a88d6117d4b0f8892a2ec7502157702839c7809c99abc050711ab2b329c1e7e892eb39640cd4137551147d2ac03463a7bb3619b0d608b05201fbebc450e7a1a8ac782593421005004ec299ff1816096a2565d7b29b37810676c593dc0428664863e020e7a352d51c687db63bcf699b29dbb2ab3f35c4582040342c8c2f9a9c9e43aea40324f58c8e03b9975810c40443b2df25249d002b2e14c6b2889fc59c586b88c94422d3f84987580ab8096849ec5387d31a1caa8b36e8b08d78305ea633c66e32be633a40a157b87d380b29c58c97826fbf274f6e11a89ea1acae4b9ec1425f95737f9c49c9cc334d9e2a808a71d7c4bc7fd679bb1dc0f6683c207fc4f2b7ca842307cc30a7320f5cb1285645c00aef3c72bc42186904e7fd299ec12a4881821fcdf1faf3490cf55a3365f2fea6c9e31c553046f860705c8b9c6252d54d5d6c84db86499533a8249a3777302053f40be8f5edf1b0a812083bfa3b670e3eaf9b443702fb6db16ac1197656bbd61a8e25ed523b8d1e5
|
||||
|
||||
# Official test vector 12, seed: "db00120937570d62331f4c3f19a10465231eff46465cdee336a0d46aa1e7493df80f18617f9ffd0476cf7784a403ef4f"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = cbdff028766d558af4466ef14043a1a9cf765f7748c63cc09dceb59ab39a4e4d8e9a30597e4b52ffa87a54b83c91d12a5e9c2cd90fcac2c11b3a348240411a4c
|
||||
EncodedPublicKey = fc51b0ab0618059774a0e81e1e98aff14550f5ec53040152486a3f5a3880211a99bbe076a3706b09a7cb38837d2da0155431967c93cb5e1630e2094c4fd9b3a36bc1f80ca7e57c9554377c304ca3d014b1c07a396d0807559a6ba8f5b5d0bb2957e8935c09318485869cf3732a82a4b49668ff91c856146c07452ceff56681ac1d9844ceb9e69e3711299c8079dbb97f1b99055a6acc2b0b2210b1ab4fb222bfb22b53d11be062c541e4a4e03c57a405825ef6ab645a2746471d157b1399c8bdc440ca74b20b8507be463064dd499becf6029e768194689a9e933dfe07049c303d22bb9f5bf0309595954a74c5ffdb874e421b06224f94401eed7405cd0a2a6bf4538ff28b5d9968395687ebdb16a9721327dc5324b954b6bc5db1250357989238d94d9bbc97664c084027a9a5daa8582762faab060971b062845938c1160a3cb774d6249a5521fdfb922588afa4f285ec185a483920bd1b4e9d64b466a9b974f1a1d8bb417e18aa2f9551ec56aef14393547976640099960823908851944a29e2304cd730936bc873afd25bb27465b20b6870f3a5f4448a49a867edd24844d01eb9a164d78a01d6149a06b93c17e5aa3b8a9ea7209ceaba2c29b56ab034b4910b7ffd24ab8bdb985fa623a1979dbf3968a6e62623ac05446a5f18f67005a330f6957699293a2b8774304063b6990c979c00878015e4c64ebab6183c756bfa944dcd000deaba4457d51980ab56ed8716306253f987b8f40b2bd865154c9aac4ee6a0bf395447ba9bc7518637770b48c0149ad0a76bacc4855992586b424348a74bf290552b46428851ec08665961ba36338155b3805d44248a24056190bf492241b9d3509be0c302d9218829cfd22b68129a3df809a207592caa41c973b148cee73a07ab960b191a51e2a44c80bdf0a78c83579afb6613b90a53778c8f992b7d0923ca99b39e27a1b9acf2a38cf369b6a9458c10c951e93957566dc8bb9211663e843bb9f209bd07802c619563503a393201b75b416740b4652ee96264a70761261d93886920085ae8b49012b27aa1e310c9655efd48b929e3b1f8aace72e6a806e3a4dfee0fc91e2ea827caeea95712add3de7978b028dc69f94af608b9cd0f
|
||||
EncodedPrivateKey = cb5b54068255f3810cd1354815f4b365e66a0663837dcc939f1b868a2396eb5a674d7c6e45267bd976a97cea3d42dc6a108c8a54d296ba600ddc58900d46bd8a38b024a37480164cd0c311e26c9637056599f4a35fa609c7b2cf55185f785c2d95121d72924cd55976920461898253fbd561a9f154072a7fabe649e4523e0a440abd651069296e1a18ac40f2121916c08c2048bf17246f2b68fd1ca2b6946bdac2ab5d50674e730007f107853a49b6da57ce247ae448c8604110969575f694798e849e049932fa9806e445964000536b45bbbb3151bb3c46a0791197904b3a956c152685429031a1bab4843a12bae96013ac4895b001aa24c2d094abe68a1b726097d04b3dd956bc69404659624623a02c2d48b58be34e7a9b7e3a180bcb9ca320043990c65eb9f1183d271805943332b37f43ea2006c269e274679d91c096467f60aa88641458efa58cd4183a382b3a7a56684d9891d0f214581994f361ac9a099b43744d0948c47bf4006fd2a9c6f39d345508d54cab6271cf3bf3268f7ca9534b94c56450b6fb5ae26ba84b5a4d3866c2dd5bac971550592a3cbd223b8ff29f05b8afe1f1241a4808d837a384f16c294aa700bb7a586861f463b007b9132dc014b3c64549e967ea6bc9b74789c48b1fbf269028826fd7c3c631e19a51d77d683c8cd90b15e8386b8f042594d4a08212c969640b8874659d5000534b407c29c1926579fc4173b52cb5964a2a64e28157b12a219686ef74319a5a9cb19587478596779638011116188594c057cf7dab6a6206af0d74343acbbeee285f2df33b3fd47288a0618e025aeb49120b128aec61a832b47386da159ae41efefa2f09e54865a708a5b013f480874b73cf9ce2c1f9cc3a70fb0787e1430a43b8bd691417e14a95178e7f770854b4769e219f1a140d93e857247c74807b9b56361a6e82965ae942eea93257a34861c80aebcc65156b18d1528ecdb67f1ea150af1b50571a9d75fa3e20e116009cbc5dc324b784b10d1760b2bc26cee1319f0848cf844b015abe4165a124a44734d076b26524c6575dd82c47b9a5aeeac322eff7c41cb147fc51b0ab0618059774a0e81e1e98aff14550f5ec53040152486a3f5a3880211a99bbe076a3706b09a7cb38837d2da0155431967c93cb5e1630e2094c4fd9b3a36bc1f80ca7e57c9554377c304ca3d014b1c07a396d0807559a6ba8f5b5d0bb2957e8935c09318485869cf3732a82a4b49668ff91c856146c07452ceff56681ac1d9844ceb9e69e3711299c8079dbb97f1b99055a6acc2b0b2210b1ab4fb222bfb22b53d11be062c541e4a4e03c57a405825ef6ab645a2746471d157b1399c8bdc440ca74b20b8507be463064dd499becf6029e768194689a9e933dfe07049c303d22bb9f5bf0309595954a74c5ffdb874e421b06224f94401eed7405cd0a2a6bf4538ff28b5d9968395687ebdb16a9721327dc5324b954b6bc5db1250357989238d94d9bbc97664c084027a9a5daa8582762faab060971b062845938c1160a3cb774d6249a5521fdfb922588afa4f285ec185a483920bd1b4e9d64b466a9b974f1a1d8bb417e18aa2f9551ec56aef14393547976640099960823908851944a29e2304cd730936bc873afd25bb27465b20b6870f3a5f4448a49a867edd24844d01eb9a164d78a01d6149a06b93c17e5aa3b8a9ea7209ceaba2c29b56ab034b4910b7ffd24ab8bdb985fa623a1979dbf3968a6e62623ac05446a5f18f67005a330f6957699293a2b8774304063b6990c979c00878015e4c64ebab6183c756bfa944dcd000deaba4457d51980ab56ed8716306253f987b8f40b2bd865154c9aac4ee6a0bf395447ba9bc7518637770b48c0149ad0a76bacc4855992586b424348a74bf290552b46428851ec08665961ba36338155b3805d44248a24056190bf492241b9d3509be0c302d9218829cfd22b68129a3df809a207592caa41c973b148cee73a07ab960b191a51e2a44c80bdf0a78c83579afb6613b90a53778c8f992b7d0923ca99b39e27a1b9acf2a38cf369b6a9458c10c951e93957566dc8bb9211663e843bb9f209bd07802c619563503a393201b75b416740b4652ee96264a70761261d93886920085ae8b49012b27aa1e310c9655efd48b929e3b1f8aace72e6a806e3a4dfee0fc91e2ea827caeea95712add3de7978b028dc69f94af608b9cd0f4f500c26b0c4ecaa8393c8c669a8bc6b6652a69b4375c34c7f553a1dfc61dc208e9a30597e4b52ffa87a54b83c91d12a5e9c2cd90fcac2c11b3a348240411a4c
|
||||
|
||||
# Official test vector 13, seed: "bd26c0b9a33e3b9b4c5d7ea32d5bd1fc371015be163c86f584e49bfd5362c8d8341161cd1308115b2a03b7e5eaddd418"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 4c04310bea66305c6ca8ba6b8f61ca96257a67663afc11761f13fb5c7b324b6b8aec87a9a79204cee2986867a2906eb851b734b8b22b91d6749b1a5f07c44e3b
|
||||
EncodedPublicKey = 8851b4423a26a35a953a564ac73966c6e4afb5344cc7456ad272b5def6586b639989c641df178b36282c094499e0357bf00b45da9393f15c0d6c861331646747fc43ffeb959e936f9f5c8c1006be4780bbb970648d9935db61cedeac478244c8f5d83910a70bca517ee49b2b0ea480746caef80516a7f29fc6d697e2910dd7d16e9a84b6a3e357b6ca3b2de587019c1d28ea6d7b191f4712c6377b34968c6f59a899ccbc967aaa6a08a518644460fce65cdd1a69a817ce47e26bdd5b238c677000e8109d6c14da36cb44e92ad8ba4b7ebc8f0f4a52b188505ac50824141e3d5b0811e99956165df3b10ab72002e12248c8127662163d9119be0a4473b5ac6c1ef213b95b7fb02643eab691075886f0e0158586c231008d9d65c970e158453b888cb00573fb07be986fb9c45b6ffb0149d41c584b99c0fc41ca18a7e6d23073156d10c069759c7eb41c9c274ac379476d34e0426d650724698c93c54a350a4da54b49f9b687bc29b1a85144d5c8181bc86361d76dda23036c49113ae40b2b6820ea436e9c4a05f7e56e3273b7996b7af71a8cc8e60b58193cacf60827a814860b3a35e8bf9e0453930980285c06cec08bbde83066e90c7e5a0132ec3af6f853b2f70602b870e5e260de17ce690161c81ab0736a66ff349f33b83c36301c933c3f4ff9c9361581071986769632ac70989e9a946095414d979aace7509798999486a83931785d924d79f342a284283e5a7384c882b412b1daf66485218217d919e8d1289515a6ba7c3251d8a4e961c65c76b577574781cc0bc1865a115048203c3f6856cd2320128810252603b130091dc0faccedf80f18247c7bb53bad16541efc9d1d8907b8c48f74a3b9b8141d0519858058801868b553424c2e2b8e2a264199bbab1bcc3f6de35bdfc1299cd8041aa475baf576da62cb23ab58e9f0cbbb59a380abb4f2dc1890555f7503040fcb073d9997121478406cb95b1b882ba5c09e118b60827466ccaf67002844634b3424ce2494b59df5b3c1a75b7c13981a657c1809b2df3327ff00a4b623cefd513ad53ba44d9cca18764bf00472547543507b2dc13f2ae4aec27d89cfa71508a93383de3f402220003e33612fab49f280c0eb4c
|
||||
EncodedPrivateKey = 58c592ba6b1f0e1a289c02763bd75e62348c8868af98e9578ec1648c795e246a8800330ec84821afe4b98e92577ce801f1d12ac269833015839587727c051c290bae61ac70f958998d04c140e17ec6e64b489c03c6112beb585b6be3198c10885cf383b72a676783248cd3b571d9bec3e82d4d0620ab76a4d3fb1246f0039cb1a34abb44afca47aa46372f3875dca99740e63663a14a229151abe115b0da20609ac576db267fab7e1c0866fecc8104d5b6b237a7f004842ed788211645b82992cf532b05b4a161da8b5ec85f099c1cf5e21d6b2123c10679884168ee018bf4cb6be4b54fa6181d57419f89c2c8f1c048b09538b42114d74979df2b5b3dc589a168215d628910d3335ff95a03eb97bb195d8480ca0dd25dbbc65433110a3243804a275c403a220f6695a81091b8201e5105aa17f4292265c45f9c0247926ac75663ae34206af0cb8a85660568aa5fa8ac202113fd4b702e2bb75bebbb05f31d97686a7f588c80b47a0049a9fef6cb8ab0c6c8bcc24a36a2895462a386768a28abcbbc412039863f6b47dcd58daff916c83239c78273c972a20a213651a7988bc19fe7849d410602eff8838f967848534019b890441929380a07ba1419b1316010ea3e5c9842b0946a37d9616db76d48d0782678b9c56c5e54b45f3ff759a7bc5d72275b65fc0823e382ed5833713cca4cc1b7ca5830b952506b3a9d53325084c7a87158b095ba60b5d9588c4103ab9346d45839c13ab064c77b4a272b6cfbc064a80628a4bff6d6335173a9fd1076f8937f806310a2f854ae65cd23734fad3a358dbc1d74da41d8c42a99d64e531114d2e243af050c76d437d7a64842615c75d97b60008d7d9c01c6d89cf7247df5207cfcf383cf845b9a568d3a19c41eb59cb8e88ad3a53fc3a219fef33488244f0065966d728014a94f44040594c319f5455dd0651c93852af7f24d19a34438f74459134001a599f164815e7b68d8a3cbb743380b1a03d05454f164632b2725c617b5e03b5d3fd80ab8da9d8c546407248d0f3b0e5225c4a836835d5c75ebb1c340a12eff247885c5cdd9d40dc66396c8850c8851b4423a26a35a953a564ac73966c6e4afb5344cc7456ad272b5def6586b639989c641df178b36282c094499e0357bf00b45da9393f15c0d6c861331646747fc43ffeb959e936f9f5c8c1006be4780bbb970648d9935db61cedeac478244c8f5d83910a70bca517ee49b2b0ea480746caef80516a7f29fc6d697e2910dd7d16e9a84b6a3e357b6ca3b2de587019c1d28ea6d7b191f4712c6377b34968c6f59a899ccbc967aaa6a08a518644460fce65cdd1a69a817ce47e26bdd5b238c677000e8109d6c14da36cb44e92ad8ba4b7ebc8f0f4a52b188505ac50824141e3d5b0811e99956165df3b10ab72002e12248c8127662163d9119be0a4473b5ac6c1ef213b95b7fb02643eab691075886f0e0158586c231008d9d65c970e158453b888cb00573fb07be986fb9c45b6ffb0149d41c584b99c0fc41ca18a7e6d23073156d10c069759c7eb41c9c274ac379476d34e0426d650724698c93c54a350a4da54b49f9b687bc29b1a85144d5c8181bc86361d76dda23036c49113ae40b2b6820ea436e9c4a05f7e56e3273b7996b7af71a8cc8e60b58193cacf60827a814860b3a35e8bf9e0453930980285c06cec08bbde83066e90c7e5a0132ec3af6f853b2f70602b870e5e260de17ce690161c81ab0736a66ff349f33b83c36301c933c3f4ff9c9361581071986769632ac70989e9a946095414d979aace7509798999486a83931785d924d79f342a284283e5a7384c882b412b1daf66485218217d919e8d1289515a6ba7c3251d8a4e961c65c76b577574781cc0bc1865a115048203c3f6856cd2320128810252603b130091dc0faccedf80f18247c7bb53bad16541efc9d1d8907b8c48f74a3b9b8141d0519858058801868b553424c2e2b8e2a264199bbab1bcc3f6de35bdfc1299cd8041aa475baf576da62cb23ab58e9f0cbbb59a380abb4f2dc1890555f7503040fcb073d9997121478406cb95b1b882ba5c09e118b60827466ccaf67002844634b3424ce2494b59df5b3c1a75b7c13981a657c1809b2df3327ff00a4b623cefd513ad53ba44d9cca18764bf00472547543507b2dc13f2ae4aec27d89cfa71508a93383de3f402220003e33612fab49f280c0eb4cc0c5f7d4b5a02c3f5bd2804190e6501b96f9512e4696adc4474fc96c0ec0f93a8aec87a9a79204cee2986867a2906eb851b734b8b22b91d6749b1a5f07c44e3b
|
||||
|
||||
# Official test vector 14, seed: "e2819ef86853bca1b9dee7ee1c1619988964f9a913e635aacf0d96ca6e0300d084329dabd8f149e24176d22757404260"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 38a0d5f41d7dc1896efd1b45b0485634cef149828751b96087a0a6dd81b4d58aa2acf359556df4a2abaeb9dcee945829beb71185b4d6bd18b76e5668f253383a
|
||||
EncodedPublicKey = 8b45b26f75189ad2a444f209df44bb181583bbf16a09272eead7c4ae71ca5126798d023187c8399b638310322a0a03c56ae92f90fc08f9630e48981918281dc0e01670dcabb6a558bc2bb88814b3d4dcce2cbc2803465c1313c6ed0199d54b028f4540e42cab21c3016e4318e19b636086aa7e757eb37215219b4c7ab07a4fb9c91da97daca134e45b96920c10fdc62500964975f24920143a6aba278d7195e8b122ede20b574670fbc50091763106d10f5e08c927c5c167ac496a01879d33487cb245d34072d2b05f3873cefcf5337eab68bc069d10325aeb3091631a9d47f09808522a3f38b58a56917884ca3e11bc7fb35d597c57f731abdfd404e148b47c07cbfbd89d8ba1a76633b36d1bc99786602e618c69f9b488acad60d3c9d8704da8d134e66158ce701039e65b2400b38a744557f37f07915e514c10d3cab91aba96ebd62815a96d8a3ca38a7045a974836c60a59a7a0e847937998731d8e06de163528790cd9ba1994388844c5019469610b02a92a9a01e223ca8fa53a480cb5e2f5a7349b372cba13264910b89401d77a58c5fcc908d488331697fa541bf57c267d9b9122f63c2d23acafef91b337a2b477139d094814cc76843325b72b21ea2115515581ce976567d6cb737f44724701338d93b7d394a232a54f35a1b053c81086b5dcd223f4811b02c7a858841c164b3b76162c2bbe574f05a4d72ec462daa1833f37167fc64af9408d9ab2b68d8badb0457c23b25d833c5158a81527262f064c02f319d55036b3e6a14c518717b262bcbaab27fc7b226c545ccea0282b49aa97442113b7b598889416303356571ab2714080503a0a15178f66ebcc118951888b5545f8a77a197e41c1d97a78e923b1b3b79ccc3b409f94cf19cc6a5231e03b114d6aa1c32e3a2041909b3831aeef462bd5797cc994ee469b09f0c31fa86916b935edb155770a035ee128c71919baca31c08a4ade5ab3fa7a3c90e983805f613063092454b205e28862c597743b7835289cdb8dc0a849b742b7838a71a6016bbb9122335d7535e04414956124f8b689e4ba66732f6558c019f4b0b76b6198eb840e77364a99397540e8ed674c6a9538d619211c4c9e7de5bd0860762af2aff
|
||||
EncodedPrivateKey = 45e5ca86479d0296279fa007bc2bb534e7aac369007035b65911cfeaf59ea001534e20989c55a1e1635754e3a37ec4abc944b84e400c583c3819332f01275dcf25365b599047db05c497b4f0f06b30a0372155bc4817ba6515020d136cbd078a9c14072eac938fbc45b4d4162c8ab21ff2a96534b9bd742fbf0a7e2830a204173143c5ad58633f5682cd4080357021c6c7914595b3710f6541ef8c6e54facc11db7572411841c85447eb078c39142cba5041515d02b50445d478ba92c2ff546649213c9d6a75b333758f966f4d9aae4d93b345c00f8c4a2452c88af20598da795c94469f25f57eea21815bbaa8d513acc4da0bcbbc20ed73b55fc450fe807eab53ac574a5684c046bbb11847296eec1a1b86b0be5438cb351bc0cfd4be90558ab7e9bf8f0a589c8537354445aa1c0ebe63661e1a7c059b8f9da11e69384ac4d03f5c2cb09697572b6773963881d12633b7ab6e75891701721c98da722f0550596598d3e6bf1fd944c3d8588d26abab824e6240a59d67340df31461803ca93a2289ca6f39aab28716a91490c0c6c89a1a5a514d5c4a6440ca5f379f46f519348a256dab7ae3ba5527366683a820beda268dfb9a0bcc40b9795392ba5c77a1ab1d0b11a5922d84a262f1407a99043c48796dd840b55629891437c15f28cd6e8247b8b099f7283fbcfb8033f6395c64a916a642e3864d0b6a23651b56e45a5588e688f034c2f835aee5a98d3a0577aee972c7960abbfa13dac92a7a8607b3e52002440ca6655fe9a5378660254ac4b6894a962bac5835b28d3836a3bf6427159691f54bbd0e531760d5325088c66cb56c5174343547661c4bcdc01b5166b61fb5417c5eb8c772e75866b591b07480c8bc5790804c4c13718032c332ab78e515715fe65327922819e8c1a8c160d7b9afca42befd4605ab847a3e5cc5c3820c7ba49531a91cbdd44a25468b29fb26acf587b39a4bde950fc5400f7c63884b0527ea89467b02955e907b5e2ca7a284a6c0abafbd58acad3c7e47807221c18607f0cb5b8852c2801a45b1865c01a028340d1c433b3d3106837218be61c3f46894beb2398b45b26f75189ad2a444f209df44bb181583bbf16a09272eead7c4ae71ca5126798d023187c8399b638310322a0a03c56ae92f90fc08f9630e48981918281dc0e01670dcabb6a558bc2bb88814b3d4dcce2cbc2803465c1313c6ed0199d54b028f4540e42cab21c3016e4318e19b636086aa7e757eb37215219b4c7ab07a4fb9c91da97daca134e45b96920c10fdc62500964975f24920143a6aba278d7195e8b122ede20b574670fbc50091763106d10f5e08c927c5c167ac496a01879d33487cb245d34072d2b05f3873cefcf5337eab68bc069d10325aeb3091631a9d47f09808522a3f38b58a56917884ca3e11bc7fb35d597c57f731abdfd404e148b47c07cbfbd89d8ba1a76633b36d1bc99786602e618c69f9b488acad60d3c9d8704da8d134e66158ce701039e65b2400b38a744557f37f07915e514c10d3cab91aba96ebd62815a96d8a3ca38a7045a974836c60a59a7a0e847937998731d8e06de163528790cd9ba1994388844c5019469610b02a92a9a01e223ca8fa53a480cb5e2f5a7349b372cba13264910b89401d77a58c5fcc908d488331697fa541bf57c267d9b9122f63c2d23acafef91b337a2b477139d094814cc76843325b72b21ea2115515581ce976567d6cb737f44724701338d93b7d394a232a54f35a1b053c81086b5dcd223f4811b02c7a858841c164b3b76162c2bbe574f05a4d72ec462daa1833f37167fc64af9408d9ab2b68d8badb0457c23b25d833c5158a81527262f064c02f319d55036b3e6a14c518717b262bcbaab27fc7b226c545ccea0282b49aa97442113b7b598889416303356571ab2714080503a0a15178f66ebcc118951888b5545f8a77a197e41c1d97a78e923b1b3b79ccc3b409f94cf19cc6a5231e03b114d6aa1c32e3a2041909b3831aeef462bd5797cc994ee469b09f0c31fa86916b935edb155770a035ee128c71919baca31c08a4ade5ab3fa7a3c90e983805f613063092454b205e28862c597743b7835289cdb8dc0a849b742b7838a71a6016bbb9122335d7535e04414956124f8b689e4ba66732f6558c019f4b0b76b6198eb840e77364a99397540e8ed674c6a9538d619211c4c9e7de5bd0860762af2affce80f9c0d66e8ddf2d8a428c25ed9bc4dea70d4d4df5dec8f28bd6ad802d3043a2acf359556df4a2abaeb9dcee945829beb71185b4d6bd18b76e5668f253383a
|
||||
|
||||
# Official test vector 15, seed: "669c4ef8a051ce201da65fc4bc34d398ec1f806276fc5d987ad71d93bc12dc8f107b58be6e8422a0795c88cb9a0e7488"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 97b5665676e59e3538ebadaa8cd50df1f9fda1502d9894c616a946078e56b621df05318b5f655efe36f1b678cf4b875108a18db2fa312261caf839f84bd956c5
|
||||
EncodedPublicKey = 35275dc1a816a2b6389130c4c8298651060f57618192540c8ba0ce593784f8881ceb4b7eb91277f5344ad0b1c64d1c655c040c4c430345902675a88051f335510740889a2b2c58bb7ae5c6f8c5972072790a035acc996841eb19aed27ca9818e916676f168cc4cfa21466c693c0239b6c96bc2592fbfaa28946991ede4b8bde8bf242677bcd7ba5898a32bfa8fca4329d323b79ae353d8457f0ee893a514167e6a92db58ad6f84be29a74e609c234b35a5367c41f63a6af8e227e0a120bf8607a4c528bd30767a99bb26070ac8226587603d9df572d1545ec2a043e0344fe986659a24981f4952ad415be5272f1052552d42738141452f353f6399979469c31c532c7eb16aae249edd713dbf00822b09b0d547424b02557d9c793d08321e23580a599f253a4ca5d624fba011709ba1a19008b866129f6a1357e48971d87b7d3ab217642828b5a1ee61bb9ef75291c7c530d4c78b1339bc5361fca9a1a0b2913604a9607859419a915f35b98258959d58a434e801d9c05b1c5927e00c2fead07da4807f164ac483885e5ecb77bcd2bcc80296f588a78f26c1397392e54883fe9c40d6025d42655ba3ba1490bbbb919bcc25180e3fb0346527577f8abe1c401442da6b4b6312989c9665086fc615b8a4c88017917cfe004026979cf8511b9ad53990b9009256a3e4fbb020f7941f6b4349dc9178979124d64c01d62c323493e77289790a247a7c267a9225b7c736f8769ccf3a27e20a2f8d8c72f77600a5f4731dbb56ad36753e98391f2b818151645978b0db735c57906f1f3c687e77a7c12a428737a6ff6a7a0a1cbe648b0817232e238376f7d532c9a069d03b672bd05d9471b827028ff0e3686aa3955ca60b77e13fb47b39ac4c11cc3568caa36574a23ffc89274672b0c8210680ab9d0293448c185c2ad01c3b210ea905b310852eb0db31601320ee05711736743128b446f6ccc8e223a109344e62272aab01ae22335df6cc4a6629fab99421383432566be130cc615b0849a70157627599bb8e9d2b40577b8f9dbbb724f65449e6b7210028163c5bcb489d908c79a11165955030c5a6be3f6fb22bee77051ac24bbd4cc3d07d20ac24ebc047ffe40c4f159ed334175983
|
||||
EncodedPrivateKey = 6be81787c9c02b338ec052cfc9f157654659cd407208f71cbe130bc992b482d05d9ad7bb2672cd8dd13099a9436a0c931d5a30ceda8df53caaf084a21dc450770a606c2a53c9204796c15f35f42a57953ada0740fd19c9b0817f75d4aeee7411e08b538a2b1e3b72bbae400c91e26c92013694024c8d680e3720151778be045baf5b2a5e0e56609b7a48bbc38345f7ce2b5b88857054f15308cb9c676fba001d942b49cc51616b31b0e6783849ceae6c4e80176fca5c8b7275869d3a1c63e3998b5407d09b3378c6b3b6772f01207c460b6c26818f4c8a7ee460120942b46fb685623587d6f69681b34ebff055d31536e2c88baaa86949b46ae88b0cbd456dcab5387ee82b56da856a511481cb686eb05b02760af46668bec8340bbc870e61b74d2258ac99c2507611299871b2abba34989cae04ac81b5a376e11e885ace0aec91d500b5a601b0d4b16a820abc5497b60200bf8691c684d2968b483c156ccfe9e18f40d42fb0c137a6766260315b37fa0250d60513143e19a77ba55807c1991606f4a838e81e0bd99a7a9b8945f378a230c2b1d748baf250f3587c3e9b1f7321a2184156d182cedd426453176d4dd6858bb4017de69eb2767e6c7c4467482ea76814e49049bda8ac0120381458cdb191143a2a99e5eb3553900cff67ade48892322c2caff0990f706cf1b1814a41b315a211a646a191c03675a3a9f5eb792cc6cf8338798a1bb580f25d9c9248c2c8202576857cb9777c1033d425a442b09c285aaba58c82aa840af0f4074f772ef61964468c72fc0356fba3772c0894cef0a7a8cbc1129863b4bab89a976848091aa839a302e52e5ef28bcf51676b450af4591e98ac6d8ee9c3ced0aa2c127755294a0126ae8e3a9f4674026071778dd4103b8a1bd7fb866dcc78a50cb596078ad00aac3a18228a97486ee47fb13691e9bb6acbe755549095b05763127901f62b360e9993477a1744db44cb5350bafa5e8db28d7fe8c4a447b54bc43cc0bccb515b0d01c1874fb828084585b836182a5ba99112a37b1ccf01524787b1b60fcc2719436ca3140a1e516d6eb02c71e14579359535275dc1a816a2b6389130c4c8298651060f57618192540c8ba0ce593784f8881ceb4b7eb91277f5344ad0b1c64d1c655c040c4c430345902675a88051f335510740889a2b2c58bb7ae5c6f8c5972072790a035acc996841eb19aed27ca9818e916676f168cc4cfa21466c693c0239b6c96bc2592fbfaa28946991ede4b8bde8bf242677bcd7ba5898a32bfa8fca4329d323b79ae353d8457f0ee893a514167e6a92db58ad6f84be29a74e609c234b35a5367c41f63a6af8e227e0a120bf8607a4c528bd30767a99bb26070ac8226587603d9df572d1545ec2a043e0344fe986659a24981f4952ad415be5272f1052552d42738141452f353f6399979469c31c532c7eb16aae249edd713dbf00822b09b0d547424b02557d9c793d08321e23580a599f253a4ca5d624fba011709ba1a19008b866129f6a1357e48971d87b7d3ab217642828b5a1ee61bb9ef75291c7c530d4c78b1339bc5361fca9a1a0b2913604a9607859419a915f35b98258959d58a434e801d9c05b1c5927e00c2fead07da4807f164ac483885e5ecb77bcd2bcc80296f588a78f26c1397392e54883fe9c40d6025d42655ba3ba1490bbbb919bcc25180e3fb0346527577f8abe1c401442da6b4b6312989c9665086fc615b8a4c88017917cfe004026979cf8511b9ad53990b9009256a3e4fbb020f7941f6b4349dc9178979124d64c01d62c323493e77289790a247a7c267a9225b7c736f8769ccf3a27e20a2f8d8c72f77600a5f4731dbb56ad36753e98391f2b818151645978b0db735c57906f1f3c687e77a7c12a428737a6ff6a7a0a1cbe648b0817232e238376f7d532c9a069d03b672bd05d9471b827028ff0e3686aa3955ca60b77e13fb47b39ac4c11cc3568caa36574a23ffc89274672b0c8210680ab9d0293448c185c2ad01c3b210ea905b310852eb0db31601320ee05711736743128b446f6ccc8e223a109344e62272aab01ae22335df6cc4a6629fab99421383432566be130cc615b0849a70157627599bb8e9d2b40577b8f9dbbb724f65449e6b7210028163c5bcb489d908c79a11165955030c5a6be3f6fb22bee77051ac24bbd4cc3d07d20ac24ebc047ffe40c4f159ed334175983680bbbd975db3835d9102bb96c089439d5964fcdafa63cd86bed5ef8d9a4b990df05318b5f655efe36f1b678cf4b875108a18db2fa312261caf839f84bd956c5
|
||||
|
||||
# Official test vector 16, seed: "9debccfe818f6b5204db4ea09c03ec9a19dcf1629c1527685b8a29776bb1daaec45f8abf8f0adc9a8c8bd6e2df6d8048"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = ef99224a03a85a46ef115474ec5b5d620da6795d6efcca4c9135d19958a9de62df7d92dda83e6b2ef4cce08c9134563063068a196d7b1a1a13623e48ae12528e
|
||||
EncodedPublicKey = 5d316103a26339e697af421066f606f0a441154b3855827108e9cde6525b8e531ff93cb39178b33a1c256640c68bb9c395560ae96a0fe148136e162eddf33316ab0a5e36ac34807cf062864bf6033013760cecc4330849b21568993c821f71a80969bc3d4941183c2370424cb87a4a9ddc130f9abf939531c1a2b9068543707936ab827a23fc85787a484d87b6e93632a226539eca94d33c784d04c9144cb837e41512f89f92816609b20eb89752a9f9a96097bdf9a42d146c2d898b990e5a97e6249261446a0b568a765cc57f37c55f1a72fba82e01916fbb4025b31a3d0b9920de54ae54c13fd123466860a9e4250e3447b64eda88ee83777b900a07042dd6642dd41b66d0853e3c5b8217d003194639949215aaca51b81b4e0cf545fbc32916e0160574099610687ce6b66155873e3aad1f5290bb5458d3541bfa2baacaa47cf60abce6b833475201afb67d5197588ca76b6310ce391bac1ab39d6102586dacaa6da98e853ccc5cda46f85a770ed4c50f30b1a1b835d3990e38a98b7a3cc1ea998adad74aaadc26ce206647a64990793a7dc043400396511a8776868adf31ade69b67881704a8c14cce737b5f7bc6db39b897554bd29ac1ea6b3464e214da784791bbb4fdeab657f24f171a3f8d3c66c6b81285fc122ac3cb70475fb295c53783ac7f35ce790394d0f292c5175199415cae0a833704a7c3a2718ad87b68227266aaccf3384c1a1abeedc91d82b8cdfef63259652f4644afee1bc6300c6e503bb63daa23eba4a928f7865470c41b199290c8610439036f3344e9dc8a7f1032fa360bbe6675bc1150d2f8b5b6ebbe751acba137631bd03dc139be84043ce9680f6bf5121a3bc32d9566c38b6623621e7de5a55605a142272e68bc3affa710494b00bf00683baa639cfa6fedc6303d191ce23c072170c62cb3c89bd2bc6c333ee62a4452ab40bc9c23f41803f51362bd9824f6361687901b07c59f83844baa99a76b7c0eb5791da501c00227ced6114785f01fad454d76c94314e7c5fd475b1ad2011f7559338a500e5b1639671424f69ecd6045a4bb0ba4ac9dfef96f1d4113748c35b77f773a101713d74f9609a24a15a20063c8f175e1751c641f8ae2515b
|
||||
EncodedPrivateKey = 3b701f43760b9ce8668f8025e984c1a04c8c5c334296981f08000dc4e93896a34df946130c91ade6a05317239273f651edf11b2fccb6f092786e52b808c403557a6f45804cf3010cd5b2164d2402e3a6b24721566d2742446b05292a35cc96b297ac0ae82bc3ffb163fcdb6eb71a8be32c6c6827b3b73c557c892a717a867940a10de888fca9085301370b187e65892fc2b30f4b557a44c556def2a261903b7a1156a0636dcfe43dfd55c4b0ca9b17397f6bda2694c09c96c2a618cc4fb23ac1ff50c8986767c6abbb138118dd50869f47b111fbb816c0b3d54682a0b63a5d8344369713dac271738873cfc2861f5232b5e6b26b8cbb45415939c409123b689d0995084373b4d74d94710b1be3908e22b1609c12aa1962009b0e39e31700165953c686ceba9c1dd4ade0c0693b55037bc49c0a74cd61ea2dc890942dd78bee3a6521b39e0e3619b3651b9850bebc1b8eae162de93c30aa8338b8b9cccebc05fd75941856a5c3b64c539a564ce7cac1625565d143b6d726d113272020b27dc984920bbe26c14fe6d0cad1124814026b2b73514882b9ab4cb44d13685939701aea2caad27c3d03274eac5798524c59e170dc071166f07957141cd1f60f63b97d878a676ab7cfa40a25cb04719e101799dbb3b75c181c6b9538b15308952bb15a32b79b794ad61ec260a875b3b08cc87061921b50b796ba26a1ec445e28d138b0574e9e27b19c422e9db5a5a1d1c9b917790c327f337a76fa88182090385e919f02a5a42d8168a25ab81363938ca49df15968a709c23f5ba61786923f01639a0c324d569b8c28b3cf0c1b25b27048717c7ae42985322661f11bb2c854b9fa9239e8862e86ce6a228dba1b89cb3bba8bc2202f315080986d4003b29e8926d91807e0c254714049f6b76b1c16c5f40167e9a4319a635b4bb28643c405c4c381825154e708704e166d9a5c10394aae6a2a9bf5410590c823c6b242e2fb4bcbf88f3f258191472458d65d8768063004c63eabbeace614684377e8756ebe09444d0b56b9b13cdd4a008f3a4c44195181551a526a0a141161a439a3878053179c498735cb5d316103a26339e697af421066f606f0a441154b3855827108e9cde6525b8e531ff93cb39178b33a1c256640c68bb9c395560ae96a0fe148136e162eddf33316ab0a5e36ac34807cf062864bf6033013760cecc4330849b21568993c821f71a80969bc3d4941183c2370424cb87a4a9ddc130f9abf939531c1a2b9068543707936ab827a23fc85787a484d87b6e93632a226539eca94d33c784d04c9144cb837e41512f89f92816609b20eb89752a9f9a96097bdf9a42d146c2d898b990e5a97e6249261446a0b568a765cc57f37c55f1a72fba82e01916fbb4025b31a3d0b9920de54ae54c13fd123466860a9e4250e3447b64eda88ee83777b900a07042dd6642dd41b66d0853e3c5b8217d003194639949215aaca51b81b4e0cf545fbc32916e0160574099610687ce6b66155873e3aad1f5290bb5458d3541bfa2baacaa47cf60abce6b833475201afb67d5197588ca76b6310ce391bac1ab39d6102586dacaa6da98e853ccc5cda46f85a770ed4c50f30b1a1b835d3990e38a98b7a3cc1ea998adad74aaadc26ce206647a64990793a7dc043400396511a8776868adf31ade69b67881704a8c14cce737b5f7bc6db39b897554bd29ac1ea6b3464e214da784791bbb4fdeab657f24f171a3f8d3c66c6b81285fc122ac3cb70475fb295c53783ac7f35ce790394d0f292c5175199415cae0a833704a7c3a2718ad87b68227266aaccf3384c1a1abeedc91d82b8cdfef63259652f4644afee1bc6300c6e503bb63daa23eba4a928f7865470c41b199290c8610439036f3344e9dc8a7f1032fa360bbe6675bc1150d2f8b5b6ebbe751acba137631bd03dc139be84043ce9680f6bf5121a3bc32d9566c38b6623621e7de5a55605a142272e68bc3affa710494b00bf00683baa639cfa6fedc6303d191ce23c072170c62cb3c89bd2bc6c333ee62a4452ab40bc9c23f41803f51362bd9824f6361687901b07c59f83844baa99a76b7c0eb5791da501c00227ced6114785f01fad454d76c94314e7c5fd475b1ad2011f7559338a500e5b1639671424f69ecd6045a4bb0ba4ac9dfef96f1d4113748c35b77f773a101713d74f9609a24a15a20063c8f175e1751c641f8ae2515bdba94ad660ae996986a3321bcccf132d497bb2cb53b6a1817992e5eb25aacce1df7d92dda83e6b2ef4cce08c9134563063068a196d7b1a1a13623e48ae12528e
|
||||
|
||||
# Official test vector 17, seed: "8098ae7a92c10f707d405f7dea02c2efbef44efa132ba8aefe81bd45e543ecec74f10920ae48a40b0653d63532517f2a"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = b12f6fd965ea9c5b947db80fc60c83d5e232dca82e7263027c19bd62e5a6ff550f6aa3e88f7fa8a96067f8cdaeceeac90c2d0b5e277e56e9c405ec9420c30252
|
||||
EncodedPublicKey = c6147ddb0a1141ba8e0f0912d625aca75cb339759e42786b6581952ef55f599280c1d43e86ba866980b91ed82cb404c63f694214f15ca5135cd6195bf01aa885456b3a2790c656611a6b88e905c9e6bb3726159a23f76a11c2b63c957e2a5972fbab1b9be98d7c98b5357404099abf1ed2154ffa4badc8bf0c06169e91212e558874d66275b7693bfabf2cd26e517395dc3010776655d4b805a1986673c42254006988367b91f4a90158b7ae6c02eb990dd8706b95fc163a3c2e7990275679c9e3557aacf94975b1840ad875d3509a1328c37a571c35a923f6816aa7579f28486de2c7618d5c204681cbb4713d7a2197ee0078b2cbb53ba6047258bb32b37cee98493bcac8b4f96bc2f7672a5a927bacbd9f41ad4f648f4da66ce9f68174a240c03c4b0dc94c1d01492b64cdab62af8736082b134b39f30c3a0073164abe56e02e48faac3fa7724d0bcfc5c88f339498d0725108b7b810a17b0a155eb1b08fd48c06f8e3514f3b67738b22cc99125f9420c2575c65f16c6a701629671642397f33b98ff2fb5209b544c930894ff6c2fd959e37663ddd14ad0e7cb086cab026ea61f073882ef799294a3bc82a7f7bbca63ac48339f5cc6eec88a3e76729e5a1af87b0d6f395fee2ac3ad697fb7c338c26cd3f177fe9a043cc7a879712877b933966d8012046bd64f9601a800f519999e109a12f92837ab544ce648b19581d634c5a713909ca039e3ba22f3707945a7405fde260927c055e371f02298e7b714a15892ca4e652b95121bf36adf5c19ce6736ef0616c1ab91ebd84bc4fe66e52b1be2e85722f383eb5db4ede61ad838a4ae5b39692d15dfea14df70910c12a02cb78c585ea3c16990dfda125bf08b410a447f586690d737cd76a0ed84739c6c473e48338f53084d1856445f5195a55c23875609b95b5f8f2a2e1fcad25e2c024f88873fc543e86a3e67955250b65c9b5225b0a31378ca9dc824b2fd52ee54438bcd497bbe7b228905c244a7e090cca4e75848fdaa40ea1461ef68250925619800eeea23ffc0a9985886444235742577124fa110f086f2bbc8afe48c8b82510cc053037cd1b7e844e5282bc225e9d33dd085b4c8e7229252f6203f95de647cf839f2f
|
||||
EncodedPrivateKey = b6f863071964e10991a44ca21ec6b684698e1e292b7e490a72eb464cd2b7258b508f2780d00a90223990efc70d842913f2114c7d844224d94e0b83037af64169fc38539151e082040952645d622e28509cedacbc92e6b9a1f09a5730676705ca958abc9ff72fc2fa9ac55a8da4318cb82c23688455046a8a365b90d0f168ac7977fbfb295fe79c2f125aaca09b70f47271b13a9fca92c5f720210336dcf68be4739d4c5b02433058d1637c60ea18d390614c046262d579dc804c52f3baa73060b9c77f89a58b3ed798606042c3f5357218ad0b4630dd3a6fdf618680502694235579c61886206e1411cacd119333532cbf3b9a828b258fab2ed3b1215c522f540b42a5d0a2f13683d21ca7c35c7775b48b82f8a0216a6d9339c60240140aba4c647a5d8f50b4bbec5c4dc8986d72945de75f76ca3b2fb5ad68746480a2be5dbb298161bd38cb30ec3691089916dd467d571bbe314c49b81812626366ca1144ea853a8a98652b163139e83d9dab9164d97f2a37145d629b02b105946527d01a5cb15a7b8cc2154e72888c12cd1ff8ca8015543a1975ecc2341f976f4c53388a12033ac2373cb26c038b11c2983c9535be20931998f4392aac52df070df684a87241b102c1a210e28d1a64a3e2d65a6cbb9661f347aa33a8a5d0339a8b47e822b9f0e22c01d47be54091cb12b980eb1ffe0781ecf5b0740ab1a58c4f6f98ab100bc0799aaee36a6114397b0e00a823773b09e6cafb74c650c18a3bc0b48102548e3146ac7543b4fa310ef7524adb18baa0c36d195a8d8b096814a492926200c938abbcc2981b677ac54d32ac4ce80ca3716c9b3c58871e60c56cf877442712c14a7df6812fc3679c30232a0a5876d4129029b163d8188a1ed7c40c1134c2dc305364983b4cc3978a44b9593c0de1c066d61c328cc14c5b73f2128add15ae356388609cb256cc4659784d24245c76891ae387cac0645b9e12cf73240f70b18cd4e7ac553a486dd4083a0719223a799c6100a6da9f12d97602b2129c20b515d7324c2a0855781a703abfbfcc67599a4461f4a44a5840709ab5dbf050cfa532b430bac6147ddb0a1141ba8e0f0912d625aca75cb339759e42786b6581952ef55f599280c1d43e86ba866980b91ed82cb404c63f694214f15ca5135cd6195bf01aa885456b3a2790c656611a6b88e905c9e6bb3726159a23f76a11c2b63c957e2a5972fbab1b9be98d7c98b5357404099abf1ed2154ffa4badc8bf0c06169e91212e558874d66275b7693bfabf2cd26e517395dc3010776655d4b805a1986673c42254006988367b91f4a90158b7ae6c02eb990dd8706b95fc163a3c2e7990275679c9e3557aacf94975b1840ad875d3509a1328c37a571c35a923f6816aa7579f28486de2c7618d5c204681cbb4713d7a2197ee0078b2cbb53ba6047258bb32b37cee98493bcac8b4f96bc2f7672a5a927bacbd9f41ad4f648f4da66ce9f68174a240c03c4b0dc94c1d01492b64cdab62af8736082b134b39f30c3a0073164abe56e02e48faac3fa7724d0bcfc5c88f339498d0725108b7b810a17b0a155eb1b08fd48c06f8e3514f3b67738b22cc99125f9420c2575c65f16c6a701629671642397f33b98ff2fb5209b544c930894ff6c2fd959e37663ddd14ad0e7cb086cab026ea61f073882ef799294a3bc82a7f7bbca63ac48339f5cc6eec88a3e76729e5a1af87b0d6f395fee2ac3ad697fb7c338c26cd3f177fe9a043cc7a879712877b933966d8012046bd64f9601a800f519999e109a12f92837ab544ce648b19581d634c5a713909ca039e3ba22f3707945a7405fde260927c055e371f02298e7b714a15892ca4e652b95121bf36adf5c19ce6736ef0616c1ab91ebd84bc4fe66e52b1be2e85722f383eb5db4ede61ad838a4ae5b39692d15dfea14df70910c12a02cb78c585ea3c16990dfda125bf08b410a447f586690d737cd76a0ed84739c6c473e48338f53084d1856445f5195a55c23875609b95b5f8f2a2e1fcad25e2c024f88873fc543e86a3e67955250b65c9b5225b0a31378ca9dc824b2fd52ee54438bcd497bbe7b228905c244a7e090cca4e75848fdaa40ea1461ef68250925619800eeea23ffc0a9985886444235742577124fa110f086f2bbc8afe48c8b82510cc053037cd1b7e844e5282bc225e9d33dd085b4c8e7229252f6203f95de647cf839f2f46b03c7f8f64a71e96c2cccd1dd4a9239bcd8b2709b37b7e6b02835f3dc1e24d0f6aa3e88f7fa8a96067f8cdaeceeac90c2d0b5e277e56e9c405ec9420c30252
|
||||
|
||||
# Official test vector 18, seed: "d5f23808871544e9c1d6eace2028362b48e225312f77663e9f78cafeb512b908cd9e25875d61a16ec615f4b8ff826856"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 9f52af92ca165fdc38788f2b59ba02e01c8281ff7c1e60504688043a5fe814b04f3029e1be4e1c0258c3a22ff5b50b2674cc094ba7018da2a61569845c17d26f
|
||||
EncodedPublicKey = 8f1b0fb922219852c143d7c3be4c4f670c6ebb901e2a1a8351a547b0d1b00bebb9e5734cd4615da69b9dcb9a99302c39c92799948710d384027cd4062bf8be536c282302855913c500e462afe75b87a7208f43ae09067cab0534306676398822ec94931ff4a23ce6b3d4586309bac804dc34f54cce17d9949f9182d8a50adf0873651124912aad5cd747fb61a87d42701ac09efc934c146914625c5f2c471eb753451cd8b599201d5ed10d94c9a1537b091b96ba06a2c6da30665d3931d109c7b080b1cc2b82405066d8d37fa1624769a850aeebcd3fa50a9f274bb62809e7063a0151a00d11af90e446dd9b3052c8b4c0c23b5152c3911633eca5cf9408a8342b8e3fc6197a7b25d7b9825843705d4bc2ef15a249f4c9baf171fd5116f4764afda29f781c574a5c65b7d80357316e77b767c5727e3a6695270a2afab91880c9a9f47ac43d4b89f7ac75d2f859f3a0c2d81963479533915b8b79fa69c6f276cc7a993ba02c6c83a567da3627c96c5524255137503ee3116972a84303b1c44c5007d53e6b2b7e9963106fa27282eb74aec8b8a56804d628bd5634729e27ac4fea14af99c0c6db7a5f61a08dd93b794191aef5a7ecd69d58d94467576656111a339385f6fa306ac45e606361cf7bac0c2c744572a987d573938c6502b394616cb835e086d9a214d5996a3fc75bf9c41fb300a9ba84bc37f6657ffbc556b8c2655655e1605d089c3f8f4b3fc4895666b3327b009967dc6cee4ac5e205b705abaa2da70c429c330395823efc0f377169cb3421c3f7b3c9d9959a836db8c2c5961280ae75710688aca8277048ca0ab5fb06197c41a728679b191671607dfb570ac2d1bb85784e3c8a6442ebc3ea2b702de3368fa5071d8c7126208fc1f563d8e197da494c62c435f3bbaa7e778ea3d433b6db3790bb43790860dee44ef3b09255c984ac7838a7354cce3ba6b4ca18f55169fb92b4dfc6912e0c25929b312b93113a2876ff8265a8c72db62279c2f326b95b10091372d1519f637650faf23b6a38afcd9a14ed83568716162e23148f172a8112c6ab60b70ca59ccdea23c51405d1522200b6553f7832c4faa6d99d5df82d16afcb00032397c74a7e4555c33707246204
|
||||
EncodedPrivateKey = 7a0c54331b800542b9817472213a42f3f0ca5098b8bef522f5408098246e29686bcd9576654b8049e30da2d51ac1f3305bd97c64869482050d1da097e66ca431f4154dd0512f913395a2530fc827550a494e788c5884284756691ce076a4b8a282541195c26b49c32c62c9b229d90fa7dc1f53881f7a9ca307188e9146c56fc56539a93d2585227a54ad5b344f212148424279204c66fd2826e791cce83336d0623068b9748e3a3118668f13b3be5ad11ce6424e5309bf098799ee6562bbc807a97b4def7c39ae71c0f4672356391ae8719f0b69a1d6c781859c98981a1f418c76bc043be2f5817b21a7bab48abcf83aadf09909282eac65a001e0985b8c1dbce18f03775cd0768516fb1484d5c537c186b3027726b67eda65a5440353f4c34c3c509e327abc7fa5817635b186982c7426a6a7405cf25bb9963a38a52761cf31811f1470a8939b45b1cd97b8a45aeb5547265211e1624f428c430177c233236ab3727a8b36d950c12e643a363581cff215ce350d2e8c90a55cbafa35931b5805a2fa01c76a45c9d82cba936b79ac1ea3c503e124872db6898a87a1e66745150099c3bc6d239ab80695c339325a46fb7f3914454e720dbe970687048b704ca521d160fa784676c0580ec37a1f064a3122af3ca0ca89b411f3eba930455d765cc5300a65c5202a1fea8a8f409b218074d6221af0bac4e675c553c61bfbd84b2eba38cc709d40155acd1a0a99f56e51426ac032c7d31117b27630d1033a7dc84a9af9606f148381194affa3c0c3ab1c449a5e8bb111ad6a7c6af70cd87a19a6a90e6bf16df9d2b0c9716ec2c748ea52877caa84b67744e4f179ffc702f806a796a746c734328d72a778e4123c67444e9b448e4a3dceb3af11519017951fd3b05f902a0b5b5a318f315b00a81cd68c5ce521af7b54c4b153cc07e11da6f829a7f54b4313576bb416a4f3798b8b9ecbc00fc1a03a8676b221ba6bb410cee9d616e8c256dc54a9352b711aaaadbed3425cb587d687333678355c650d7077b5f9a971f424255fb11c7d807ff2cc4f28ac59a565b1d4e1984f5b4f3d59068af459ba29588f1b0fb922219852c143d7c3be4c4f670c6ebb901e2a1a8351a547b0d1b00bebb9e5734cd4615da69b9dcb9a99302c39c92799948710d384027cd4062bf8be536c282302855913c500e462afe75b87a7208f43ae09067cab0534306676398822ec94931ff4a23ce6b3d4586309bac804dc34f54cce17d9949f9182d8a50adf0873651124912aad5cd747fb61a87d42701ac09efc934c146914625c5f2c471eb753451cd8b599201d5ed10d94c9a1537b091b96ba06a2c6da30665d3931d109c7b080b1cc2b82405066d8d37fa1624769a850aeebcd3fa50a9f274bb62809e7063a0151a00d11af90e446dd9b3052c8b4c0c23b5152c3911633eca5cf9408a8342b8e3fc6197a7b25d7b9825843705d4bc2ef15a249f4c9baf171fd5116f4764afda29f781c574a5c65b7d80357316e77b767c5727e3a6695270a2afab91880c9a9f47ac43d4b89f7ac75d2f859f3a0c2d81963479533915b8b79fa69c6f276cc7a993ba02c6c83a567da3627c96c5524255137503ee3116972a84303b1c44c5007d53e6b2b7e9963106fa27282eb74aec8b8a56804d628bd5634729e27ac4fea14af99c0c6db7a5f61a08dd93b794191aef5a7ecd69d58d94467576656111a339385f6fa306ac45e606361cf7bac0c2c744572a987d573938c6502b394616cb835e086d9a214d5996a3fc75bf9c41fb300a9ba84bc37f6657ffbc556b8c2655655e1605d089c3f8f4b3fc4895666b3327b009967dc6cee4ac5e205b705abaa2da70c429c330395823efc0f377169cb3421c3f7b3c9d9959a836db8c2c5961280ae75710688aca8277048ca0ab5fb06197c41a728679b191671607dfb570ac2d1bb85784e3c8a6442ebc3ea2b702de3368fa5071d8c7126208fc1f563d8e197da494c62c435f3bbaa7e778ea3d433b6db3790bb43790860dee44ef3b09255c984ac7838a7354cce3ba6b4ca18f55169fb92b4dfc6912e0c25929b312b93113a2876ff8265a8c72db62279c2f326b95b10091372d1519f637650faf23b6a38afcd9a14ed83568716162e23148f172a8112c6ab60b70ca59ccdea23c51405d1522200b6553f7832c4faa6d99d5df82d16afcb00032397c74a7e4555c33707246204abd035f25bcad20e4ee2d794895e77d234a80ff59177ecdede77c1264e4d79184f3029e1be4e1c0258c3a22ff5b50b2674cc094ba7018da2a61569845c17d26f
|
||||
|
||||
# Official test vector 19, seed: "822cb47be2266e182f34546924d753a5e3369011047e6950b00bc392f8fec19ea87c26d8021d377df86dc76c24c5f827"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 851ea90fd3854cbf28fe39fb81f68e4b14345cf0d6eee7ec4ce772513df8410d1c0ec046899a777655233e4e1b5ca44e9afbdc67964bfd5d5e3dbb45e60d03cf
|
||||
EncodedPublicKey = b10942e2a6c91bcb404d2baef6ab317d47b200a76290938bad1b3d3f2582691a64940a6937551fcd8850c886aeff163b19258d4fe3c92e1568b0010bd28c870c3075cdbb022468420845b6fbc98869a75df65c90db479855429bc7c71cdc1cba7509cbca7435ee5672dcd82c676c323c58ccaee17c9a8153e6d3a753979978b3c344b8cb57c15a6f16ae19e840d7b12577e20f2b362535974a9336165ee6a183ca5b18c4b5b520a2f576657f87418d1b39f1b8af04db37b6a94290ea99e973bf60b64e552430d4f701d44abb3864953d874a2f4cccc4a7227dd94d9aa0a9f58bbb19d6bc8fcab974f4a41911bf82fa756a022233a83105aa262f628ff4dc59dd1780bed683665628ce7905c2791b01453032199df6d898a1e184cf15404b9068f8d7495dab359597bcd953c3dcf36311143c4573b6a55c9422b672f41569bc2a9d6f851fc770375008b5f6cb6541793417ebbd142a87efb7cf2f681d1061c6d790101b8a672d162b549846616a67d8302ee3955be1c96d49c53c47b67755c53aec9744da615d25c43dba4bad3f0b30767a9f8c0b1210a82fcf750c575708c887b6159c102035a512765701c305d90a83c4f8c9b0753924127ed1142d6ec52a1f299c9efb5ebfe0071325a4e6bc3cb6b67f1dab9c3c023a84d4813af0197d0602fd56c4072b4f40c63d36f01a1999bb1fa42576a66ca3772f6acb069b143f2d05bf59701ce72986f9a85044780754e8132a6022b068c7d0d167cf94c614238a433c8c78789b19bc27a8443a576ab0ebfa17b8867d63e44e6e6324fbd1248c58bb899c8a46721d7b555ca3592fe69c7ae1b6c30b4787afbbbf2599582c6a2c5ae5a7dd81026f07c14433438659ccc100545cf891982a405e6346e0a08ad936ada0a75c8c103f85471a8d0b7b608b02a310b6df343298fa2ba4995319a1477153a8fda06b77f6afd5152287533a2284082ae8498b547373aa84a68612bda8a505d1adf374bec3b03728d3840294527e5b0f009d3cc5850262d654eb759b458bc6ec0c4678910d544089dfd34006597f2ca3b93cb058bf53a0a12c29cef911edc8219d5c6b643f5649eef13332d62a44b4eb56db16d2624bdf0e67ef252e56b3b3c6
|
||||
EncodedPrivateKey = c825066cab0a347bc662d0680f8674cb09433263c9791a80257c083d610caab034a59a686ca4075d9c191cc60183ea150561998770acd0309a3a250652b0357005a44bb1b2df1836e5c46be9f0148b4a20356277dd36abafe7822fd74b34974e420b7e4b90c2f1e1800adcbce1046720f11acac70bdf2bc393f901b6b8981ae5b2baa4ceb27303b908d0ded707fe94bcf06a210e590788889170c65a113c9f88c461d2e7b9f827ca82c450d9481ada46ccdb1c7d54a347e2c78b0b47435ad22023523bfd0804cf40894c17c93fd7881f654a7a58a7b32a462d50717bbaba8622baa2c2900938aab6615bbee01653809624a2a50b947ce39bbf19e8973d907249ba2d1b475e827a4b7e4cb66db24a4b34b5dcb767b9404dea3b0a19187b6af0672cecb89106bce6e71cbed42acffc34c30a8067952087379a1602a549a137b7b29b6bd2bf90ea7bac52ab504705316c420f811599c4875fa682afe11172678b0bf0922c837afec06bf2699464b9c923a538e697c82355cf94b32fa6f1b617da1f690a9b2ee330da1b3128f3194c22b102ca990407a859843ec2f32d8a4690a9fba85b779d3e6ccd7eb0396e973dfc54314063aec32a69a846b26721375b9666158c605e7c7a562031ecb3c39730a057aa0e5bc91c5255936b27bf999c319df3102aba7eb2e7771256abe21511a35cc98c8ab7eed12977c84174b6300f2a3627c4bb0618aa2f7c9374398fbcc441439258d27556adac70fa0cab55e062657276395b5d70c932f247b27c1a6d62c5c957f20c6ffb0accc36c09bb2d758276d96a974af758c1e78f8ccb25808296b17bb6d9c71d01b64844c8c4b23ba2afa8c86acaa2d1bc8a66865d494b342353b6c6296f5ee896ab958b09cc3caa91169028b4573cb590841107740d41e80b3bc51e47017093e80204763294d86d8304ca553226bac433bce573b2e011532285ed5510a9656583a0a680f995bfa19bdc96c4cdc4aefee2336997ba7c61c414c4797180af4448c75c4b1f8046bbbe8244225b6e49a50a35ac9050c447e342087df336ab0b57c388306efac351b3119908016e4021b10942e2a6c91bcb404d2baef6ab317d47b200a76290938bad1b3d3f2582691a64940a6937551fcd8850c886aeff163b19258d4fe3c92e1568b0010bd28c870c3075cdbb022468420845b6fbc98869a75df65c90db479855429bc7c71cdc1cba7509cbca7435ee5672dcd82c676c323c58ccaee17c9a8153e6d3a753979978b3c344b8cb57c15a6f16ae19e840d7b12577e20f2b362535974a9336165ee6a183ca5b18c4b5b520a2f576657f87418d1b39f1b8af04db37b6a94290ea99e973bf60b64e552430d4f701d44abb3864953d874a2f4cccc4a7227dd94d9aa0a9f58bbb19d6bc8fcab974f4a41911bf82fa756a022233a83105aa262f628ff4dc59dd1780bed683665628ce7905c2791b01453032199df6d898a1e184cf15404b9068f8d7495dab359597bcd953c3dcf36311143c4573b6a55c9422b672f41569bc2a9d6f851fc770375008b5f6cb6541793417ebbd142a87efb7cf2f681d1061c6d790101b8a672d162b549846616a67d8302ee3955be1c96d49c53c47b67755c53aec9744da615d25c43dba4bad3f0b30767a9f8c0b1210a82fcf750c575708c887b6159c102035a512765701c305d90a83c4f8c9b0753924127ed1142d6ec52a1f299c9efb5ebfe0071325a4e6bc3cb6b67f1dab9c3c023a84d4813af0197d0602fd56c4072b4f40c63d36f01a1999bb1fa42576a66ca3772f6acb069b143f2d05bf59701ce72986f9a85044780754e8132a6022b068c7d0d167cf94c614238a433c8c78789b19bc27a8443a576ab0ebfa17b8867d63e44e6e6324fbd1248c58bb899c8a46721d7b555ca3592fe69c7ae1b6c30b4787afbbbf2599582c6a2c5ae5a7dd81026f07c14433438659ccc100545cf891982a405e6346e0a08ad936ada0a75c8c103f85471a8d0b7b608b02a310b6df343298fa2ba4995319a1477153a8fda06b77f6afd5152287533a2284082ae8498b547373aa84a68612bda8a505d1adf374bec3b03728d3840294527e5b0f009d3cc5850262d654eb759b458bc6ec0c4678910d544089dfd34006597f2ca3b93cb058bf53a0a12c29cef911edc8219d5c6b643f5649eef13332d62a44b4eb56db16d2624bdf0e67ef252e56b3b3c65a5e1f55aee1c0a6256ed51c5d0492b2215a71c16b6f0eb9e0a6b346567c6b381c0ec046899a777655233e4e1b5ca44e9afbdc67964bfd5d5e3dbb45e60d03cf
|
||||
|
||||
# Official test vector 20, seed: "81401db81138d6874e91b7c11d59596e4ace543f5a3471b6fb00999221765fec3ca057abe20f03b2d59003375fd71fe8"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = d304c9389cc973477f169788abcb9d511f843219d246a9b587822f422a70c2386590a2e5c7ed86cf2c5c2a898662bc9a81418720bbb632ef9cf0b845ed052d73
|
||||
EncodedPublicKey = 83848e57d28b6c87bbd18959ba7095d7a796a5827295d4a39848652af31ed0eb00aee4bdf9eb938e964cadf7ca0836c379bc7480259b74624adb55857355c30aa740e3173420659f9961a2d859887996ce3f897a96403f578c7335ac3270a03a3472c0a5bbbf4daa2c765625e76b7581fb9c5a0956394bbd79db858a527874038a28cb8e3b092e1ee1330612067bc5a3c4ca4e4b18cbc5cc007b1554bd0a8cacb054a2e61966742100f39afaa0c04d8ca98876b466286318405b366070c2688ba4a9391d71a8ae14378cca83f6131669704429040f067cc405051d740aa8e584428cc310129c8d3fac011142b76d836d570ac3904a61c58459288acd48f19717d98393d691435562a25cca2dd929aa35b5762114dfd3310937aef51cae7f2a0f2fea8db0bb349d1866abca3fc6ab81279663d6c5a7e3b91ec32cb610dabaf7a9a61538b2ef325bb096704fb71197f0763ed3c5594944a00b05ff33888444642be62ec213788e65666d03a5738b5d615387b095a82522822a7b2ca1f55718729885ab4d842331df14434568bdab1392d1008209058b145266bb878d368b54cc1b67fdea5aa929c268648ae634886ac2c9b4d01255cb3fc16a74804718c4a60b84f84e2dc375d111761cc9376b0909b703ab5b952c5e7463112bbf74f5b34b12bbc09521758872efb9544d560be015c3eaaa1735c6b0cd7751b4417e58a3162472805d29769d87881c372314c48dd5ac9d2884b54d8225772bcf5f23befa480bb1957abc217c78724b2c221a35bc111f691af1c9b968a1a45756b4747c4543074d03d7663fd33a1769821f266083fc758b986034e15d375103d162a865d978d22b719c1439e54a518a08cfc7f149b195224c5947dd2b99776bc3e416902380952bc6b2ff93494449a590ba09ac870d515c165fd81dcec70add4093b829639657a84e0b179b0b62aada7f0bf0ac2ce91ab1f959af3269a6039fd1628c06685d25bb87e721b49b4c8d1c862585acc000e333d1a6b88a5928a5678f75c232466c4c2509d045f5905eb7acc3e33537849ba028560645bff81aa290ab6bb9e56a60829cf841c5eaa348b76f51155224ae68fd7b3b522dd1cd4cfb4da58eb34e438388fb
|
||||
EncodedPrivateKey = 842cc25eeccd4fa8776a22cbfad2472e90af86738c5edb4b2ab005f8e303e154769f75b6d96b2c1d074517b11de796426513408c740ff1a554a3b8260b6c16dd7c8a58d6c541e2460e087c6187632649c119dba50978155614a40d99903de7c8cc91aadbc405788b6b1a86b2676415c1791a40425155052d79a71f50713d66d3093a9b3ba9886ac4437d72d80bff058319e53813096ee24a193d739fa2f281ba3065e0daa82a08b3b5c113ebb488169b6ec6319efa8632091251de1b7e1c3a9925654e6075bb4e161c14078df2e92359477b0239719d6107e9235d279cbf92f1cbd9062b2993627f0851a2831ec6f2bab81197ce34940266b28dda4a88c215ca032e8d4250c27148cdab9a7da6c7aa0b4e63141b0ba3c7d71a49d000b002d52ea04893ced8798ef26be3c3248936affc81ac6a940a48480acd7b50fe70701e5930c9043061bc9c44eba1a73677464836c906059f077f642c4a38138939d2c66227773c163e7c61989622c295277905a9512da83af6d57ec7f02783fa35d2d805d2c1be68e92b975b04eba9c610126314d30fa9969a55fc433dc057352080640323456424bf207e68dc977d899f027a71833a2969732478692b570a2fabc275fe00590125ab84b22a5dfa43fa123e9498a98de822c0c79a25329aaa35bcc9c885385074ec2469be753fabdb9cca4c437562bc8d349fc8e3ce08975741cc32ed140e65f6881ae8bcea5aaf893bc5d1d3684b29b6f76793015cc421b047d6393a8f11943ec641934104b68456af29461a51b4fee891e23520bbe25d58a795641c0288ac4aad3a1838b1444b309d37c48aa061680e7b621ce25cd9b3077923b883143cd09081bf38961c20ce15e0114fa2956e2b7296332a120a465fb05791f0803b4a96d2d293b610cfbd944281a14595419a4ab06dc735cd3312cf8d837487bb5bdd6c4dc662799c0a343f860002ea90c2d2cdb002202db32595db343ae2a38f47abaf22723a171d2e182bce1bcbf585a1e48c9dfdb7a3674ca45129c67e1042da1833841ac34c8649a05651166414bff3ba6246a1813852f0fabee94322803a3a83848e57d28b6c87bbd18959ba7095d7a796a5827295d4a39848652af31ed0eb00aee4bdf9eb938e964cadf7ca0836c379bc7480259b74624adb55857355c30aa740e3173420659f9961a2d859887996ce3f897a96403f578c7335ac3270a03a3472c0a5bbbf4daa2c765625e76b7581fb9c5a0956394bbd79db858a527874038a28cb8e3b092e1ee1330612067bc5a3c4ca4e4b18cbc5cc007b1554bd0a8cacb054a2e61966742100f39afaa0c04d8ca98876b466286318405b366070c2688ba4a9391d71a8ae14378cca83f6131669704429040f067cc405051d740aa8e584428cc310129c8d3fac011142b76d836d570ac3904a61c58459288acd48f19717d98393d691435562a25cca2dd929aa35b5762114dfd3310937aef51cae7f2a0f2fea8db0bb349d1866abca3fc6ab81279663d6c5a7e3b91ec32cb610dabaf7a9a61538b2ef325bb096704fb71197f0763ed3c5594944a00b05ff33888444642be62ec213788e65666d03a5738b5d615387b095a82522822a7b2ca1f55718729885ab4d842331df14434568bdab1392d1008209058b145266bb878d368b54cc1b67fdea5aa929c268648ae634886ac2c9b4d01255cb3fc16a74804718c4a60b84f84e2dc375d111761cc9376b0909b703ab5b952c5e7463112bbf74f5b34b12bbc09521758872efb9544d560be015c3eaaa1735c6b0cd7751b4417e58a3162472805d29769d87881c372314c48dd5ac9d2884b54d8225772bcf5f23befa480bb1957abc217c78724b2c221a35bc111f691af1c9b968a1a45756b4747c4543074d03d7663fd33a1769821f266083fc758b986034e15d375103d162a865d978d22b719c1439e54a518a08cfc7f149b195224c5947dd2b99776bc3e416902380952bc6b2ff93494449a590ba09ac870d515c165fd81dcec70add4093b829639657a84e0b179b0b62aada7f0bf0ac2ce91ab1f959af3269a6039fd1628c06685d25bb87e721b49b4c8d1c862585acc000e333d1a6b88a5928a5678f75c232466c4c2509d045f5905eb7acc3e33537849ba028560645bff81aa290ab6bb9e56a60829cf841c5eaa348b76f51155224ae68fd7b3b522dd1cd4cfb4da58eb34e438388fb4206dcef1444b937700ee59389299a5d57d73ffb8d5559e9be2ade61b8b795696590a2e5c7ed86cf2c5c2a898662bc9a81418720bbb632ef9cf0b845ed052d73
|
||||
|
||||
# Official test vector 21, seed: "30b5de5b73681ec08aaa03f6f2d2169525d25f4042a5e3695a20a52ca54927b85f8bb948fc21df7defc3910b28674994"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 89a6e3be304a3518fb82b18ca730f0b359cd6ba90664a493fb4f8edaf965b9c3b6591121e25d64010c25a18676033e1d7278ac5f2d0b43a31f3a4156ae710465
|
||||
EncodedPublicKey = eb36bc68c4ca64c6c5ec8974dd00707da9712a2617e4d18746053be322ca964076d0c4bef355277b7ab8407014933140343210aa7400038c06fa646345a001c362876a4a73ca849f5bbb440a250a00f4007dd005b453919b8bac61ca21b8f45448301fa0844d3140c2d495beee956d28fc7f524cb8f7208ab6b57ce138b3a50a703b4aa596f0672417b462d54685336da5a889d85acee8f7c92e7967ab25a4b21833cf08bb7ee2438bb7ab5ab56a57c4a57b712c9ecaab6e89a40d9b5af91a378c22ccf72448a2a433b1493ecb1921ebe41a0022968c821f2f418c54b797a72a45e3b9083d9540dfd23a66c43bf4255bef3c51cb90b77b97c034e083cc00165bcc8a4d7aae78f871d9f212a0babfe992c630d55af0d88187fbace5f716b95373b55ba7416cb4a6913ee2e5895a7b0886f606212ac72e4898271a5cc3cb9da02b51b5f68be0bb8f7e89c41a3319c6a70e477b376bac2e14516a7ea4412399c0fd9a722ee3ae3b0813f9074e78b84ec6f10ec679cfa976233182a851904bc9b54b53039f696c0a5e955c5bac0ade5537d0331576c4b395b6b51ccbc20471c0f3343ad354c8f05b4b303b571b628a202058405221d2b9552579340041236f2980346a15c596826ed199d3b0ac66552b3d5677017898dfda8758b8749d69bf0b06c9b2e256c2524ba0219948363f7dac591b09c532aa85c773b31fd2898ec210e495407b0b6135767a1a52c0a970c06b29179455140c555a8f21364a33a40297087b1b40324b6371a13b4e8654578a16671406ded7337b7aa27ccb3754f14941755de7f35138d7672a210fef2cb724d68270bc0c32813eed955a646a23ae64418463783458bf04a7a388983981542384b7094ef671fb782d2ec7420a87b95b6445a4c89c85830dc7340c1e859c0d34508937bc9acb7d87055a3ea8654e2857e1c371510b7290da83b3b2635180a1cd22c85f3c88fba7237e59962502195489ab3123cbd8cbcda95b0a1657539daa2bbc9423fb771a945588aba87e36829e1244c7ae0868ef338ca0821ac80acbd8047b39756677f408b3049bf989111c2859770b04de1d7c6c2a165e41d9a1d24b44a076f92ae1304d582a5a28d8fb82e3eee2664e
|
||||
EncodedPrivateKey = 522b0005729214626e9ef86a1c0ca15c5495b18469bfe8c868434123f5bd4c7862ae8688c8fcadcf3479053bca6ce07cdc975810532a4b1aa73d0482eb6870e1013954142676899bed0c39b2f7b2be864e71f110628855f4e368804c4d3ed70f6238be7a058cef70a650277fc7cc103d7c9334532b0c365d3ddb6f08d10d16c35bc2273136d3255b2887e01bb9edb23a96cb1f34b538e4d1bfd9b29e833c344c175b4098549ae1a90d63a0bad8c2764bc443bb3d6979b34fc2149ef40b5a1a3840d8076e9b64a9588912859c497206e1c24c7f5b4193d784f0c491b9dc629ac84366c85cacd35ed0994f34a2c30f4977aa9265976259c3627346f31087906bd5c723700b5ce56539ca258aa398859335166ed92ebf839ee9289a1620040c2c490178c3d2b621a38489dccca8c032338b8501bd0aa6af21bd2c679c19e19e9e4b3b8a029ab8d64a8b6c3be5a1ab6ecac8de689b4bd1b58d8a2cf3856ce51980165373645b7cbe8c8be296450e19721cdb8c28933d3017b7ae9489da5a1d211350d2723412e789bcd26b1140548c824cf9bc4038b426901aa39f1a78db88085a2784f1a76da0d0ab9be92e495b2fa1592d9279bb161928e1777a8c30af14a420623849f302935e2b2762b809ef10ca32c122c071625af2a9d5c22ad0c3a6c8f7b6bdd896588b0181024be9a69931d1992be272ffa598fee49adc0a7255e637bd0563cc4c8752889aed367f59b85ebf6896a269c2e1b54971153829aa2fe62a38e187aeef5a27a3ea13c524547c6cb8324bc511873045c78157f32da84028acc68e40836ed8745eb6f36c6fd26c6aa1306f304daea87ee57b41a0b891ab35256dac010d787cffb45a15098308d7b7f6b08bd2d46bf8e5550ba58ac7082b01749782a418657b889c175d13d5adb31a4ca61727d1a016f0d09513c96c6890cab8d6340e698bbbf9205445b88f055612757963664ffa19878cc46000b855d23227bde6773e6630ef9b37d3233efc38961e4a68e298b0bf1a987b082d1c4623b5da24bdc64168abcd20c81f04a060737318ef33ce27f12f5e3710593c39146ba9c6c325eb36bc68c4ca64c6c5ec8974dd00707da9712a2617e4d18746053be322ca964076d0c4bef355277b7ab8407014933140343210aa7400038c06fa646345a001c362876a4a73ca849f5bbb440a250a00f4007dd005b453919b8bac61ca21b8f45448301fa0844d3140c2d495beee956d28fc7f524cb8f7208ab6b57ce138b3a50a703b4aa596f0672417b462d54685336da5a889d85acee8f7c92e7967ab25a4b21833cf08bb7ee2438bb7ab5ab56a57c4a57b712c9ecaab6e89a40d9b5af91a378c22ccf72448a2a433b1493ecb1921ebe41a0022968c821f2f418c54b797a72a45e3b9083d9540dfd23a66c43bf4255bef3c51cb90b77b97c034e083cc00165bcc8a4d7aae78f871d9f212a0babfe992c630d55af0d88187fbace5f716b95373b55ba7416cb4a6913ee2e5895a7b0886f606212ac72e4898271a5cc3cb9da02b51b5f68be0bb8f7e89c41a3319c6a70e477b376bac2e14516a7ea4412399c0fd9a722ee3ae3b0813f9074e78b84ec6f10ec679cfa976233182a851904bc9b54b53039f696c0a5e955c5bac0ade5537d0331576c4b395b6b51ccbc20471c0f3343ad354c8f05b4b303b571b628a202058405221d2b9552579340041236f2980346a15c596826ed199d3b0ac66552b3d5677017898dfda8758b8749d69bf0b06c9b2e256c2524ba0219948363f7dac591b09c532aa85c773b31fd2898ec210e495407b0b6135767a1a52c0a970c06b29179455140c555a8f21364a33a40297087b1b40324b6371a13b4e8654578a16671406ded7337b7aa27ccb3754f14941755de7f35138d7672a210fef2cb724d68270bc0c32813eed955a646a23ae64418463783458bf04a7a388983981542384b7094ef671fb782d2ec7420a87b95b6445a4c89c85830dc7340c1e859c0d34508937bc9acb7d87055a3ea8654e2857e1c371510b7290da83b3b2635180a1cd22c85f3c88fba7237e59962502195489ab3123cbd8cbcda95b0a1657539daa2bbc9423fb771a945588aba87e36829e1244c7ae0868ef338ca0821ac80acbd8047b39756677f408b3049bf989111c2859770b04de1d7c6c2a165e41d9a1d24b44a076f92ae1304d582a5a28d8fb82e3eee2664eecf79082f0a70bf91879f04d701b874e718a6f80f251d986f1d448218e2dba05b6591121e25d64010c25a18676033e1d7278ac5f2d0b43a31f3a4156ae710465
|
||||
|
||||
# Official test vector 22, seed: "e335df8fc0d890588c3e305ac92c7160ff199e07c85760a828933750e3fed8c83b0dbe802234481ecf890a32d7a2884f"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = d569b935ce015c85f792f8f7fb0d83c4f53b492959361dd4f75fb764d656450176eae84d11c4528382828f7a689a0d5cff87b8ca0bba97feacb39b935a8788cb
|
||||
EncodedPublicKey = 6a73bc103491321a9eb8e93664713f005c95d31b970d5c695f8870452626cf7c12da58ce767a9ae222a2715429ae9c9511b7867211afa11a1bc92c7d009739365cb863c114efabbabcaab9fb3373ee878b26d2ac3f7854a1b49af4c4c1803180b1ab5fff5784b761b2a84bc490011c71a8ba22b876f7f289d4a3a5bb77b277644f686706f48a9dce6205b8923cdb23b746aa3169c0150de5c2f7fa32bb143f74eaca22cc0913aa2246ba12046b0c066137830048bde386b6bbc2bda113ce81017ab82788240b5a3ca7992cb98e857c20344f8f012d52041887f597c9ea72abe5602302c83cc33b04a94e986a1745d8af2848cf9ee9c57c7815acb4408c329d34f38411cb80bbf408fd91723b7cc7105880084412ece768724c48b53106b1950f8bcba150c337665748be1336ac9cc042361a72c4cc0460a0f021a288590531132fd30a6b4874b9c8c20a4eeb52c65a6155747e4b2b93db32a5be91c122d8996051c65a412a0e47b275932ebdb434979767579b0108e155949c47e7664f5d3a26be345c27b49f7b379675ea04ace7c9dcab25c0294ddfc5b886a9735d582ca9e8cf85cca8f3008693cc354c7b73ffc58ecda015756716489575edd9525418b219372e64083ab112a9b349c7f7f8748183727b4a91bae7254b1606cb072b34465b48267451ac78511a51af4160b5581075aa6774847710f97e9d40293e45cd56541b32591f73b71eb6eca8f4059208fa8f61c76a66785d9b4219c4f07d967331a6801eb41ba377770655f364b8336dedd81ecc51449beb157fd6cf2fd01e7b16425d1a8c21cca768725d85519c2742807e25a38f156249a08b79babd4e331898ba0ba0cb59f62b03eeb2599bb00e5311b46bd4a5b30802af668bb01b4897f6644d16899abc03a6971f87177adac2c5cc9190547c67acc5abbffa1da8b58a7f593e70e9174ee111f95b8d72f81cfcd292cd39254389c13377a29947cfdc38008c29391c9a0a92a187c7b85b742459aee15200585c9526c2427327faf0813c9039b3f20a3587c69ee204e8f525c1d9aba7cba32be33837f043c25128ec5561959bb95c36c62e01c8567e6c38ebedb89d920f0044281bd48ba98f0fb15d6f499a2269
|
||||
EncodedPrivateKey = 256424ea565d6067a29e90b46741874f21bb488840ed2468ef6a81b20b4f781c5a65210029a54cbf7934cd1592ed825bca541d18665e63973e3d55ae93aa3ad0c07a7179c80f637199e2c7f68c856a70cc87c18ee749c27b3379fd8048b237c30ac72efea74411a9c73a78b20c125a42984a6013281fb3cb1662ae5de1cd0521250a4c85b83378e34b240eb94a7c8688b89ac3de075b128068be5cc9766391307c8ff9c889517b55e509b705f095014bbe1cc9591e532f4cf60c14a6136fcb7cd5481247d4105835c404db593cc3ae2dd93295e417d7071b3e602be8ca7067a15b74d4b7c8c2453686cda9a24100a45c7dda92446b725197ab3b7983e127c56cb21d8322c0701c6312f4797ba72026d07e2a3795205859d71c53bbc07dfe03ae4ae76a99824f519ba64ec6acf50a1229392e195c3342950853f76ca838bf51d60e2c3a7a79e806303cc9a03b61b3669257c1cc537c55349a0c6350749756733b627388c944e0766ba717a5541b78ecb9734666a6fe1bc5b763a4065628414455b920b82e7782bf3a82f4813ce0515234818e52a187c7546f30c7434f1c85d5e22f37612763375577c66d29446aa0da48b515abfc330e1da1955606b0a6b6b20b0bae5763beb00a66a5e57fe9a79ac841390c790f5257b2760c739ed7630dd8c7d174b26dc44c4c93533ed838b8949e2549adfe18cfe893089c201924a34f2478ba7a893b3b597130468b63c26e4744164431567f75af6a6b2f264737be4c116c7c5433095a64972bff53a02dd0942488781be05cdf85547369939954ca6f9c5bcb0a8814f6cfd37a019d6b2c07639dc6924fb6b622f4297f9b599fc64b25ac7b45f4690a7be09addd7af9c94473a948588f1bb47d61112567d1ce3174e7466915343a25088d8d36b1c664d300960ec74abc20b38420a718a490b9a4ba8452138bf3c00f199b466cca25a4b0012ba7f22a202d77c49264ba91ed68175d077d43b2a01c39db243bc089730ae111d327011545592c448041e6602bbc2076738cb4a92afe485ccac640094633da7cb7606f2982f0958b2e1b515d5c64241b20312996a73bc103491321a9eb8e93664713f005c95d31b970d5c695f8870452626cf7c12da58ce767a9ae222a2715429ae9c9511b7867211afa11a1bc92c7d009739365cb863c114efabbabcaab9fb3373ee878b26d2ac3f7854a1b49af4c4c1803180b1ab5fff5784b761b2a84bc490011c71a8ba22b876f7f289d4a3a5bb77b277644f686706f48a9dce6205b8923cdb23b746aa3169c0150de5c2f7fa32bb143f74eaca22cc0913aa2246ba12046b0c066137830048bde386b6bbc2bda113ce81017ab82788240b5a3ca7992cb98e857c20344f8f012d52041887f597c9ea72abe5602302c83cc33b04a94e986a1745d8af2848cf9ee9c57c7815acb4408c329d34f38411cb80bbf408fd91723b7cc7105880084412ece768724c48b53106b1950f8bcba150c337665748be1336ac9cc042361a72c4cc0460a0f021a288590531132fd30a6b4874b9c8c20a4eeb52c65a6155747e4b2b93db32a5be91c122d8996051c65a412a0e47b275932ebdb434979767579b0108e155949c47e7664f5d3a26be345c27b49f7b379675ea04ace7c9dcab25c0294ddfc5b886a9735d582ca9e8cf85cca8f3008693cc354c7b73ffc58ecda015756716489575edd9525418b219372e64083ab112a9b349c7f7f8748183727b4a91bae7254b1606cb072b34465b48267451ac78511a51af4160b5581075aa6774847710f97e9d40293e45cd56541b32591f73b71eb6eca8f4059208fa8f61c76a66785d9b4219c4f07d967331a6801eb41ba377770655f364b8336dedd81ecc51449beb157fd6cf2fd01e7b16425d1a8c21cca768725d85519c2742807e25a38f156249a08b79babd4e331898ba0ba0cb59f62b03eeb2599bb00e5311b46bd4a5b30802af668bb01b4897f6644d16899abc03a6971f87177adac2c5cc9190547c67acc5abbffa1da8b58a7f593e70e9174ee111f95b8d72f81cfcd292cd39254389c13377a29947cfdc38008c29391c9a0a92a187c7b85b742459aee15200585c9526c2427327faf0813c9039b3f20a3587c69ee204e8f525c1d9aba7cba32be33837f043c25128ec5561959bb95c36c62e01c8567e6c38ebedb89d920f0044281bd48ba98f0fb15d6f499a2269ccb0b82755814de055067899e6900234a10b223ae2eb0c5fc2cb6dc80c14d47676eae84d11c4528382828f7a689a0d5cff87b8ca0bba97feacb39b935a8788cb
|
||||
|
||||
# Official test vector 23, seed: "fbea1bc2c379f4f8fdcb0de260d31cdb064c9ea9b1d6dfbe91b3692add1d34dec9c9ffae7bf5e72ed2743ba3f9f2e43d"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 5cbb141c2763425c274f7404fe530d9116e08c33f9f200a20b011cf563a28990fc9ebbe336dc464489861db8253606971bd0a9008a433ed17752d04023781552
|
||||
EncodedPublicKey = 4c234ddfca92a6d66664d071c33c569966981f8bba3b9909894931b5b57892bcca7c8baa59fc1098f21489b5bbbc490d7c777d26430a66534ac58bc152fcb38428b450753737432f7cea571f953473160aaa5c0383118c3d1819e2e86f00fd0ba048cd818736020b1d6c06a13efb30aab032ca83156ceb8de8a8399fd4bfb655acce0795057c22cd0bba6d849e0a16a4c7e698854601206496a8e324ad2796b3404d321abfc12ba63d13049eb34e9dd5020d0bba46f61a37c6a2cccb7587432721546c9b298ce60cb03a649b659747ad62541fb024d4a2b6b8700fff315251eb3782d3b96e766002d9a388baafd013716b2b10af8737f8195b7d445a4dd1977e049aa0f76e56fa14f56139f9f2810271268cd35e31c8431d551e167a79a412c4ed115e84f86d55f70bc7045ff7646456484a2e4bb41d300c18aa332a8a55104c0aea0a7cd8b0cd47d5855beb2e6f651d575a150fa8109a72b15caac7bb6b9770d68f50e03c375c5524e545af2826f4b756a962b5d9457ad45554f51b8688eb10595aad094c30f72297d062113f2a6c4048318f4992ec56c6cb6467f96a67d6c6145a3252008082d728aae7342229288779f6a9035a7d4834afaed13b7a2ac10a111a1f8146a057bcd7b547f6176ccc1a5b5de283aac16a79dc116e83a3d8430323da5e26b03cf443c7f8719b1fda1bd735ab2f37205afc430c587544f34cbd01b0dd940d0ad02e6f0cd000fb6c55962804171abde47507013ddae041fd21a5e00b04a2373aa8a84047416042ea1481437f35bb5673359c2f0923ac04ceb7cc094b29afe9eba2d537a0b8571c7ff24a154c8506640b9af26fde822bf2691a4e5613565b0f0780ab86f259d7e4b1d3c08c40dc88c4b52e861a643e7709e764cb90e897211492d701205c3272f8203fc8442b50c00014a6ac31317272b5635fe745df10b95d8b318f95cc511c2b06fb4066a66397d4a313898ddba5b1d2b7cdb2694004e4731dd6000ada66e939ae74c21f7cc6100b4bca4811235cbb2e53f40ca367b4b013b73ad34acf761bc888aa02e05741a403a6f84e92f2487c32799d6bb88a6d53cb07a06ba579984b9d396995aaccd3db98e445624d26b0955b17ca9825
|
||||
EncodedPrivateKey = af8a1c4388915eda24bf1715e956a1bc940c5e83892ca9c3530b44143376a4fa4287179c820c0c1eda19959245b3b3026f27887e680abaec11bc460c88b9cdc772c169246170e62e5efb75ef5a405a71a236f66434d99753cbc873639c801348a52b7874e5782316c3e0469157653f024940b1e1888527b8d007a15d86188b92317f06549f421562a55c9ef445591bba12f34ba8a79bc6550f01f3a1f14ac9c4888477507814272dbb75867657af1fa9cbe385bc13193372205611502a664c950fb9aaa7082bf8d53cc817152ca2630e6022c6c8746868b5c245899b381dcfcc9efe162f0462a5842a6a2e99b071ac54df993395781b971b14eba53eee3a1a9d55afe135ceff34496335b40c71846d5c7a5ec05495f519c8842443b09938dc6c04a7aad69c56ffe52db152c988b7b5f3832ea3d8790b931813175f595c4e7ff7a4db4832a2d6c8eec9bc859a83d3dc1f1f1961ebb8c94f894dddd64ee6a51b09d76a6571b94204b6fcdc4f00a46d736c5c68a88879bc2a54c81dd9c86d9632a4c1bc66d31b5543d069804b5cf4f60fa71a9a2f303d38b34a52686925f72f4d145ccabb2b5808706ea24963d572e5376f6d79a5f8c4cf6caa5cd6f61c2285766f39cd1f50b98a16a5cb76cd9260923b7bc324bb06e473cd4580551ed3a5de2210c4928f41e35aa6b05150c75514f9b6643c11f8623be58830801b438866ae5a1b9ac736ac876c076b4b8f95a5927be7c42ef6b529b68b4a415fb09ba73cf2281c761261da4fbcb0075aa93659c29fbd9cc113eb98e94353b6aa4047a3b240d56b5df9bb103a3278a5470db5190be7551fd4acf3c571e8d386842b2b6e93b4a16702e3d94115117f48d2489c57c9ab45b0a21c3c9d23a8a89bb1efbc1f260b6b1ce2c2868a08c7200362f73adcd80fe90a4faa7571f9b065d7c4474e844dec679828e0cd13945dbb07908d60414a667f610ab80b566319e46585c8547036c7080015a9dc8e2e80c9ffdba846cc384037454ea69fae603e8cb9b59fe9a380d13cf7dace3e7511edfc81866b799e21812f1c98d7b24d38511d5949b405b6861b40b44c234ddfca92a6d66664d071c33c569966981f8bba3b9909894931b5b57892bcca7c8baa59fc1098f21489b5bbbc490d7c777d26430a66534ac58bc152fcb38428b450753737432f7cea571f953473160aaa5c0383118c3d1819e2e86f00fd0ba048cd818736020b1d6c06a13efb30aab032ca83156ceb8de8a8399fd4bfb655acce0795057c22cd0bba6d849e0a16a4c7e698854601206496a8e324ad2796b3404d321abfc12ba63d13049eb34e9dd5020d0bba46f61a37c6a2cccb7587432721546c9b298ce60cb03a649b659747ad62541fb024d4a2b6b8700fff315251eb3782d3b96e766002d9a388baafd013716b2b10af8737f8195b7d445a4dd1977e049aa0f76e56fa14f56139f9f2810271268cd35e31c8431d551e167a79a412c4ed115e84f86d55f70bc7045ff7646456484a2e4bb41d300c18aa332a8a55104c0aea0a7cd8b0cd47d5855beb2e6f651d575a150fa8109a72b15caac7bb6b9770d68f50e03c375c5524e545af2826f4b756a962b5d9457ad45554f51b8688eb10595aad094c30f72297d062113f2a6c4048318f4992ec56c6cb6467f96a67d6c6145a3252008082d728aae7342229288779f6a9035a7d4834afaed13b7a2ac10a111a1f8146a057bcd7b547f6176ccc1a5b5de283aac16a79dc116e83a3d8430323da5e26b03cf443c7f8719b1fda1bd735ab2f37205afc430c587544f34cbd01b0dd940d0ad02e6f0cd000fb6c55962804171abde47507013ddae041fd21a5e00b04a2373aa8a84047416042ea1481437f35bb5673359c2f0923ac04ceb7cc094b29afe9eba2d537a0b8571c7ff24a154c8506640b9af26fde822bf2691a4e5613565b0f0780ab86f259d7e4b1d3c08c40dc88c4b52e861a643e7709e764cb90e897211492d701205c3272f8203fc8442b50c00014a6ac31317272b5635fe745df10b95d8b318f95cc511c2b06fb4066a66397d4a313898ddba5b1d2b7cdb2694004e4731dd6000ada66e939ae74c21f7cc6100b4bca4811235cbb2e53f40ca367b4b013b73ad34acf761bc888aa02e05741a403a6f84e92f2487c32799d6bb88a6d53cb07a06ba579984b9d396995aaccd3db98e445624d26b0955b17ca9825934a0337d7b76ba83dd05a4ed818174aec5065993db278552f32af640097ce97fc9ebbe336dc464489861db8253606971bd0a9008a433ed17752d04023781552
|
||||
|
||||
# Official test vector 24, seed: "7e87fb886bc3c7c9fc12569f465d2ecd12532e76cc27c65644c8d3dd603b0cb2d036c5974e675058f271d5c82ad7a813"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 293abb6d1c207927945417cf84883ef010823e11b487ed55239e466e83696d0cff8563038aad865a817cab9ce98846ba75be9363718ecf5fea538aea90b2a558
|
||||
EncodedPublicKey = 334c30d34c850745751225bbfb93a7ab086682f3b7114c3e56e340f0e1449e2606beab34ff58ce6b036d9cb0c9fa444de705720a947ad24135b11a0cefdbb79b40b820f2c052c435a14c3acfe077a2532db58513c2b377eec0cafb924db9fc9fef5882ca8a3575691de656aa7e5a557eb9014e7748e639a86ea8cf7ea95fb0c7720ed20582e90da78a3fc9c6540fb201c7177acad1793792cb3c5b61709759047a322b2cca4fa7a9e660545fe3b455861054944b67da08e60ab0abe132bc42b8ac18c31281c6dd26a6187663b160686af920cf7c5461a5a60ab7be2b8b293861bd4074517c918afb66cc35286005218babd965b514a5c802c77f7c4fe4d5566f8b2e75134258797ecca049c49997028c349c680ff8d1a60af294d5073c8e0621ad4c82c18a4c57b3a66a68858c373cd46b6c399701e6536d7c0b4b74e94693ab9340d46e3170b045bbc643278b06aca3f3d43faba33eefe4ca99074a0968969ac13366211834f5556dd30413219e466b3cb26957c534b31d53c51eb1a8a272a5842a1a23827c4a39488335755e1389f8a548a52c4dff958eaa4c18d273cc4cc931eed176cef9266d33379548bf77408a2b29a7b19529fe0b46f7d32030a478221414105991b96ccf6fb864359260d847c2cc8b3a1aa936e12bb950c719db5bcd01d50f5ec46893632258532239a0a3033957f410bff51b1610c5adb950494efb6151716715b64b835b35942716c36c8c06c96b4a35a196e69224345fa15c50953741eba718355c9c41dc3ec2d0268e830608f0a06bebc789ec01988013ac397f0128a9a963ad53f644c6886cda9048bcdb610332910afba5fbb62a454696a3fb50aeb5c6c57520f79244d549a8f4002763f88dd23bc855f28796ec19b47a4a5fccbdf84a17f5d32aba83abc474a229d094101c3640615efa75a0e2c3b802a24892bb105513cc25776259b12720f6081be43f2dc13a8348065a7b1202165ba4ac5aa489cae7a08a074358ee33c702413b6d49bb41f52e40a05ab9f008d1f82f16ac514975b356c1258ba4a863a88b0b0abdd70b1bc99a143f414bc151b6147bcdd8a0b54992d7b5db5a524f2b160eba5efb8b0faace10d492d25e52c75b2d6632
|
||||
EncodedPrivateKey = cef67f82c5543af8cc54d92a92ec63db0327aed8673fca06112530857a4be4a483ffd37ba7ab9f2d140692a30e184a8c342962827970dc875c449c1addc21b155645e5d9074a070f156a092036b4e054addd943b44e359932b27fd5190de329649a84d998a39cdc83fff2973bf46ca82159ed03325d58503245b9188026673c55fd4868d9d39a9cd167129c227c1485fd0a33eec9bc2537abaf8ea629a0358ad772b0dc44c6156b800b952daf0c72bacba7b6206b103c792d4a2b2006e89b04ffc45a9873c98153047184c9710012ef5c865c81aba798803c9588d3a273d615431f00018fecb164e8c1f83791245941716bab96b5292e632c4f56352321c3f79187c49cb6f0ac852868988566b9d11f87859cc9ba0e53cc053931592574f4c24db886e1cc989c978ca7ea7baf632a4ede872c8567c8aa9132eb5b909862cf953044e0795d4b48c1b0b84c06a89fe1a28ab23686f99c7f470587831906b325ed2964ee22896545660e35c8118bb4de6682e8a33337c2304ef98c6ca7727ee0b38f865307d263c64dc0d13f85b88fb5b15c9583944772c05b219430c8670605db33f32033303636bdc0a58d3d90826e8260d56c1911a9fead6c5acb04af0e757cd762951971906e55cb2f924fed5b8214918b83bb53cc68715879c5730733b1981652889a2a9377773ba56a74ecce29d6f3508e949bcfbfa2626d1ca03bb21b6eb19bbab3a9a8724e6811a4d6ba09dac9e1ba57d4c441cc02ca6fac7aa870780180365fc81b3e7d8beeb1a296954367926bcb4d492a891c986dc45a3249af00c011d386305eccfa0466f79442e6022a541091b3dc06ecf676eb9a731df273ede7c39d6f452a4f89c52c92b7d143c88c334c8b3bd645b8b10c837d67c53ebda12b4ca93cdfc08371a04273c80e546c052ab0075f145a42170ff9c6fbe997fe405966348b0014c58123186cc8b3fa1e5360a8bba6c9c7af36744c520a2f884a2c4e0467f1379b3abada558263ad8110fe91fe67b47e43b7d982418f2b3bfbc59a97f18857c7c56d755b049d2ac51644140331bd6b5866e48ad25c92fb6c0a7009bb5334c30d34c850745751225bbfb93a7ab086682f3b7114c3e56e340f0e1449e2606beab34ff58ce6b036d9cb0c9fa444de705720a947ad24135b11a0cefdbb79b40b820f2c052c435a14c3acfe077a2532db58513c2b377eec0cafb924db9fc9fef5882ca8a3575691de656aa7e5a557eb9014e7748e639a86ea8cf7ea95fb0c7720ed20582e90da78a3fc9c6540fb201c7177acad1793792cb3c5b61709759047a322b2cca4fa7a9e660545fe3b455861054944b67da08e60ab0abe132bc42b8ac18c31281c6dd26a6187663b160686af920cf7c5461a5a60ab7be2b8b293861bd4074517c918afb66cc35286005218babd965b514a5c802c77f7c4fe4d5566f8b2e75134258797ecca049c49997028c349c680ff8d1a60af294d5073c8e0621ad4c82c18a4c57b3a66a68858c373cd46b6c399701e6536d7c0b4b74e94693ab9340d46e3170b045bbc643278b06aca3f3d43faba33eefe4ca99074a0968969ac13366211834f5556dd30413219e466b3cb26957c534b31d53c51eb1a8a272a5842a1a23827c4a39488335755e1389f8a548a52c4dff958eaa4c18d273cc4cc931eed176cef9266d33379548bf77408a2b29a7b19529fe0b46f7d32030a478221414105991b96ccf6fb864359260d847c2cc8b3a1aa936e12bb950c719db5bcd01d50f5ec46893632258532239a0a3033957f410bff51b1610c5adb950494efb6151716715b64b835b35942716c36c8c06c96b4a35a196e69224345fa15c50953741eba718355c9c41dc3ec2d0268e830608f0a06bebc789ec01988013ac397f0128a9a963ad53f644c6886cda9048bcdb610332910afba5fbb62a454696a3fb50aeb5c6c57520f79244d549a8f4002763f88dd23bc855f28796ec19b47a4a5fccbdf84a17f5d32aba83abc474a229d094101c3640615efa75a0e2c3b802a24892bb105513cc25776259b12720f6081be43f2dc13a8348065a7b1202165ba4ac5aa489cae7a08a074358ee33c702413b6d49bb41f52e40a05ab9f008d1f82f16ac514975b356c1258ba4a863a88b0b0abdd70b1bc99a143f414bc151b6147bcdd8a0b54992d7b5db5a524f2b160eba5efb8b0faace10d492d25e52c75b2d6632d8594fdab618acf08669dfa36e80546853fad47833f24e32ca38b8010c1f78a7ff8563038aad865a817cab9ce98846ba75be9363718ecf5fea538aea90b2a558
|
||||
|
||||
# Official test vector 25, seed: "ad1424e804f306c7ff513da4c1e8d445afca7bc942fac5c0b335733aaf70693712ecbde26ea726ee0f9fd9d52a83b1a4"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 74d87c7556f2671f2d666854a4d6e073e69f35421e6e1a428cccea49c37f972ce1fb7456ac0aa1b97068f452cba64ebdc138bcf5d36b0a0fada2a3b374141eb9
|
||||
EncodedPublicKey = ece37862706cca39b1412bc60823b1b60996dc6c6c70a1868d869de542506abbba79f334a200527f2a27832c7b9e3b6d46c11d765cbbd663b78cd933e0e8b0e600cd190b005b08637b6087fb5a65096501b00cce98a14a45f2a654150e2ecc3b39c0bde5e8033583a0af7108e4f50c22151a54c6b58fea32641a0c41d95472e8c64ba916f6740b4022071bc1928996bd07bc1b91694fd92918e99c35b2ccc74bb1142c85922a95ca37f14d9e18985ea54822a616883a8e6815ba298c300d2b02cdb35325c29dffa2cdb1d470cd254f25838b4e80268529544c4200c8d4bfa55b8817f90fe1c0b3fa1c3c61d0406f87cc62cb67def2abd08b098301c0797b29a891a9a0897c19a825d78a6232c86ba1725bee63382500299555a2221c1f18f3c754833633569940f28af9035ad66893b5a706641812a48013ac19c438f5b0693b746a8b841857ac22eb916a0158b2094253e76d6cc0b990f72ccb407400d140159ca88b128b511c9aa390094529c78215b9f4c9777e923097178da73b559bc04b95a190ea0295efd89773e14ba09485d91aa364768ec82694e75aae718b346096c118508eb7321cb8d44fe256bfd744913ee12e85b1017357032082471204486f0ccae9545f291b5c8756b8cea56d03576864c263643465b033a5ec1bb1ace7552e920ed546b9a8b89157344d41d7109bb2787b438b8d61bcf04b1bbe174ddb612c74653e1bdc27c35bcd8c95b4f51aa9adc7777a55464fc53c42237d7768bdd5e367d6dc9094faa9b777215b4293d0f9c24da673050b4b514b61eb75bc8423b13f4c58335674bdd5505ada9f80d78fe36284124372c3b6ce3067bd9f447bbfb1495fb236ffb397d0b21f40d2192f81b1b0a19c72b80be04973bf28897fd37ab7a467f3358224046119e2bbb52c5af5b7220dba420469c51457c1cfd67e44233da16908343229ba607d3890c3392c476cc43505e0154c03c584938b9e2b3afe6c7ed9cb7d8d6a405157c6f5eb672fc601d12806bf03b58d23a1dd5346e9884eb896264b7a8ed77125d53004734a5dcac3add7095363a3238be65492835da03469ad8f370de3f58a978dbee5904979e778231a08c3d738198bda89bfb25572a061
|
||||
EncodedPrivateKey = 179438ea8a02c30211fdec85c40c7f22ab2eb8ba8f50e0c97085b49af6a70177c11a030d13dc19283cad3af39ad7f94e07ab1d58a8474335a2847260f0337bc4396595148bfd8b19bd988bccf274cfe4b6d74a9bfff73a205c3419f4a6b81c1c9214099b4454925c603bd654d1a03492b88a2c8b65cdb37315b071b940a714094c12788ae4c90def5131272001476c1fa5bc02f2bb60a7ca4cfef96e3a61b070027aed7b172142a48d6b299ab81c6ca993423b610577a25b874e6c702659081291aa1961061a1a692fb4c933c1c73687104158a345e8ba185ff8cb4a4c7388562d76e21b6bd069afc107918b2c46512f0615635d422c73644d9d92041b7647c7f6217678784b45cd72332eff2c41d17aa5f9f99cab5a4a7c81af9ec7aa4b9463432561d3e116bb694d6e290da4d0037a67c5a1674866b21209b0c7c841a895ebcb3ccb0f73c3335c810163c5ad88e97ba775cd98a1a9f40c0d875b6496eba03589b960da62c168439fa24539746c56fb1e48e56f99228b3f6740ba1bb771755fc6c1b7ea6b6492e8523d541b9ada90796ca1ecf21ae884b10b841af4c1305cb0231530115ba24348497a1cec1dfcc8ac14b03276020032cc6390d442a25a5e5b7c8dcd2757df96b4bf34bfeb4ca5b30cb134e43ddb39560e0515db372125f870f34075788c6cb76c4af5723ac1d518aec54f9bb86b7b68cf6555c7732299f124a28421c91c80c2d95c3a73d833cfc22a72a79f25d1b62e10824b70962dd55ac92216a101ba5e7c322d045e2b82bc6c1237d79c04370254b3f502ffb719b5c6bef1e62d75974c93521a58231fa16931bdd6023a05b32275a9d753ba0239885329a1886c3cd6851c299a43990844e460586e66b2ea3ab8c0b096855840779205483a8d0ca33565c531e65b5c8efc8a8f6a30c88c715146886fd04656452817646f36226a33e6ce78a342508394c75756d8f20e85d78fed8a03bf20299a4653f9e44b3f81377f4412d8a82ab5802dca91832a918eb69560ef5c47c71c7ef3ac75ae4c827b22b642cc23f029677a59b342d612d98b73e68691dd3ab73c6b7641fa2cece37862706cca39b1412bc60823b1b60996dc6c6c70a1868d869de542506abbba79f334a200527f2a27832c7b9e3b6d46c11d765cbbd663b78cd933e0e8b0e600cd190b005b08637b6087fb5a65096501b00cce98a14a45f2a654150e2ecc3b39c0bde5e8033583a0af7108e4f50c22151a54c6b58fea32641a0c41d95472e8c64ba916f6740b4022071bc1928996bd07bc1b91694fd92918e99c35b2ccc74bb1142c85922a95ca37f14d9e18985ea54822a616883a8e6815ba298c300d2b02cdb35325c29dffa2cdb1d470cd254f25838b4e80268529544c4200c8d4bfa55b8817f90fe1c0b3fa1c3c61d0406f87cc62cb67def2abd08b098301c0797b29a891a9a0897c19a825d78a6232c86ba1725bee63382500299555a2221c1f18f3c754833633569940f28af9035ad66893b5a706641812a48013ac19c438f5b0693b746a8b841857ac22eb916a0158b2094253e76d6cc0b990f72ccb407400d140159ca88b128b511c9aa390094529c78215b9f4c9777e923097178da73b559bc04b95a190ea0295efd89773e14ba09485d91aa364768ec82694e75aae718b346096c118508eb7321cb8d44fe256bfd744913ee12e85b1017357032082471204486f0ccae9545f291b5c8756b8cea56d03576864c263643465b033a5ec1bb1ace7552e920ed546b9a8b89157344d41d7109bb2787b438b8d61bcf04b1bbe174ddb612c74653e1bdc27c35bcd8c95b4f51aa9adc7777a55464fc53c42237d7768bdd5e367d6dc9094faa9b777215b4293d0f9c24da673050b4b514b61eb75bc8423b13f4c58335674bdd5505ada9f80d78fe36284124372c3b6ce3067bd9f447bbfb1495fb236ffb397d0b21f40d2192f81b1b0a19c72b80be04973bf28897fd37ab7a467f3358224046119e2bbb52c5af5b7220dba420469c51457c1cfd67e44233da16908343229ba607d3890c3392c476cc43505e0154c03c584938b9e2b3afe6c7ed9cb7d8d6a405157c6f5eb672fc601d12806bf03b58d23a1dd5346e9884eb896264b7a8ed77125d53004734a5dcac3add7095363a3238be65492835da03469ad8f370de3f58a978dbee5904979e778231a08c3d738198bda89bfb25572a061d5aa695ed35bb69221a107c73d8fcbd77b3380c10ef11a9464cdb1d7922b33dae1fb7456ac0aa1b97068f452cba64ebdc138bcf5d36b0a0fada2a3b374141eb9
|
||||
|
||||
# Official test vector 26, seed: "7c33ca0e987226c8524dd56c811fa4d1ccf9995b1e4e4dd5b1481974e88cfabfbf6787775c2611cefb27ed4403ea9b46"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 013bab0212d04ecd54b478daf72748003a25e2cb060ba6cc50bf95c292b8206b9da0c5da5f195b80fbb99c2e8b06926074f3f604b3f6195b5a5b9737876bba72
|
||||
EncodedPublicKey = a17227933522e161a994825259c03ba14cc8b160bab55606c9e1a4b2dc5d8b328d88f80c9940cd3cac5229b16450135d09a220de46455d30bc7032236e285d72c7b2aafa0744864ffcf01c5f6618657b18a3c6adb7f282d0263da916acc2e6af5884cddb19303df83bf650cd2f941a48bb83a698a615642ddd81462cc8cd3964a066333eecb679c2934983957979ea7b57d6394c48a30fcc22d0d215a95b54a915414e602269a409e054852bf545092606a0d04244518a82524ea6873b0cb772744505f59c710868944d1a7847e6cafa392e000042c546656fe9600bb665923b9e48c86122b46483b1211e30496f6b82614b57a5d14d737675e82ab6357c73ece96ca7e7ab2cca9ce2a558e004cbfa94cb5b9200f8e26026943b8803608f204276957bc8d53fdb682f82a6a372987e60692b22721bd833a0f0ac6b0fb073c0fb529e442c564373aad7438721a563d66c1ca6037a04a97b0574bc9c9d07e95eaec8a49dd96d2f623c6a0706691015fee61f1bb23d543c634e8003c16bba4f61b0f45a3e4f98c63a01b2e40a62ccc7a326894391255ce76492cbd83740b3b88abb2bc1093dab2956dba5113df327ec45a3054aa126438157bb710c44462af97595329f2011a402c40795346f0a72c7bad9228fa8737b024575eb72ffb0b54b4490aaa779cf4321834238c0565b132365a5e051d0065b60a84e0bb3cba9c97c2f20cc0c45a9a157abd2b64b0c2c9e9315b3bc07aaa39549fab613b570b08bba7b68738f39f586a9ab19fd3a6469d9bdfe71af6fe02e655ca7a43834096437e8c4cea870ceb5d99a3458065f2775d0d057f7875d8ad25b2e0708b4ca2f91e82ceed7b74bf2248c9c48226a68aad9bb7f7985c5d11435b2a31b842f354330d01cae78577cfd0c3ea6a35c852cce77d3055bf37f51088e15da7330a53fd3bb5e19484772372db1886dd682125f19a39b858ee8940be32c1a71e9a718384133e70094d3c05a47939c57379ee3b9cb297309989e9ab3355e215f58445e386a2997558f35905d60b85a2a483e4ee7b899e8873b796ecdb8be989723493a4ecc1358b737aaed88f9f77904f8718055e71a50b2d22da6762bd27f2adc06594959522fe4107a
|
||||
EncodedPrivateKey = d05a593e768830c20ed3017618f9431e458136046b0e628e28f0768534c05ad0505c0746190b763a474ce40859902499d3c90129f339e5431d2f09ad33524b54c869bb1444b3999aa38aa445879932a3869121ab3b9893daa03e78e97c66ab5c164164d5d76cd936291df35cd4427439a913fc248b42343cc4e0684d72a5587a106eb665e31730d6d0c9feb348e775c6e1c2679e69901ac126ff21bec38179fbfacbce7a94b96a68046804dda4a1a2e132ce745c9265469915355c9aaecf212d6846c52e1652739cc003e9c77fe4c011092266e2ac4e851424b82956c3a1979521342384fba6385e4934624ba956c25a068987fee81abb2933d1e956c99a731e50ce658569d57ba6e575313ce7cca65a777c3aac3196a6fafba5ace7ce70e292df498b231878ec6140701576b9c4a2e967b68d7558584807923c873f7271376963830a2629f1b9d10a8b54d445809c5997875b0ed7294ac8b9b327ba19471336e6bf580b3d5ba423b7613c94a309e4518695205f33112ea9234cd7c76786d2c07452a9ba4596caf64207b97c70dac627a49e0e1770b70382e3a26bd101c872daab395455b6c4ce780831ea51318a47807395789147acb93039c197a32930c29c342f159a2692cab3f21904ec580f1a95b22242a0093b5a8259b8ef68647ea8b41a280283e05b3fa4081a6c882dea94bd0a31c182ae87878e883c893c085e5f470adab0a3c70b6b384b2faa23a415e72f439c12e7e1b97bea49e7fa04baf923439888688718005d39b400a64040caa1b6919e116652524cf6065da4137e98359aaddc9217f170a5bb36cb42bd2bbc0b76352d3ec08729f121f972c92040c9bd40c887d48d7b579b60620956db202f87c9d552776719681b4191b9886feef292f555039c393bfd48129e5c8eef1a23ebb4a91b040a205258a724bfcdb88c82abaa320b8fdbeb5193b7aaaec6c808674d973190e74c394ab3b73ec0bfc7446c09d3b5aceb65d18b72d823683bf5288a55355fd5ac89e06d7069c11e46cde82819a7f27512348f59514996809f5293352960ce7ae84748c72e9f5c6dcb39cd3ae13da17227933522e161a994825259c03ba14cc8b160bab55606c9e1a4b2dc5d8b328d88f80c9940cd3cac5229b16450135d09a220de46455d30bc7032236e285d72c7b2aafa0744864ffcf01c5f6618657b18a3c6adb7f282d0263da916acc2e6af5884cddb19303df83bf650cd2f941a48bb83a698a615642ddd81462cc8cd3964a066333eecb679c2934983957979ea7b57d6394c48a30fcc22d0d215a95b54a915414e602269a409e054852bf545092606a0d04244518a82524ea6873b0cb772744505f59c710868944d1a7847e6cafa392e000042c546656fe9600bb665923b9e48c86122b46483b1211e30496f6b82614b57a5d14d737675e82ab6357c73ece96ca7e7ab2cca9ce2a558e004cbfa94cb5b9200f8e26026943b8803608f204276957bc8d53fdb682f82a6a372987e60692b22721bd833a0f0ac6b0fb073c0fb529e442c564373aad7438721a563d66c1ca6037a04a97b0574bc9c9d07e95eaec8a49dd96d2f623c6a0706691015fee61f1bb23d543c634e8003c16bba4f61b0f45a3e4f98c63a01b2e40a62ccc7a326894391255ce76492cbd83740b3b88abb2bc1093dab2956dba5113df327ec45a3054aa126438157bb710c44462af97595329f2011a402c40795346f0a72c7bad9228fa8737b024575eb72ffb0b54b4490aaa779cf4321834238c0565b132365a5e051d0065b60a84e0bb3cba9c97c2f20cc0c45a9a157abd2b64b0c2c9e9315b3bc07aaa39549fab613b570b08bba7b68738f39f586a9ab19fd3a6469d9bdfe71af6fe02e655ca7a43834096437e8c4cea870ceb5d99a3458065f2775d0d057f7875d8ad25b2e0708b4ca2f91e82ceed7b74bf2248c9c48226a68aad9bb7f7985c5d11435b2a31b842f354330d01cae78577cfd0c3ea6a35c852cce77d3055bf37f51088e15da7330a53fd3bb5e19484772372db1886dd682125f19a39b858ee8940be32c1a71e9a718384133e70094d3c05a47939c57379ee3b9cb297309989e9ab3355e215f58445e386a2997558f35905d60b85a2a483e4ee7b899e8873b796ecdb8be989723493a4ecc1358b737aaed88f9f77904f8718055e71a50b2d22da6762bd27f2adc06594959522fe4107ab0a3984fc13ffc6860669994565b9344de9c6eb081e6e4e904bc22b9af2b98919da0c5da5f195b80fbb99c2e8b06926074f3f604b3f6195b5a5b9737876bba72
|
||||
|
||||
# Official test vector 27, seed: "54770ea1252ea2857d6635151194f5f520adea8a41e409ff498d40c271359858fe2b084d5b96bee087b8e8f4dd4e00c5"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = ccb073c4b90be0ad746e26fb093b60c70110bd1dcbcddb566a8cffb7b3caf80e71600a8982c350df524cde514431ded7aec23576530894bcbf0ec0bfef0bb64f
|
||||
EncodedPublicKey = 17a8bd2670cbe94abb9a2c0cea7473d260b0c1661329a40a9b573d19ec0bb534a857f442ded80e90237b89f7318851224aca2ffa005bbfa18dfcf36c5fb949f3317d51e156e96a09ff2ca46fc131b2179fc0204cba447f84352aaedac9e7c3975862aff0a36fd5f4bfc7c12b2df36fefa454fddb1b442a68f4735ad0f3444082b3c4500577ab317dd4a76e63063606cc87614898fab5140b3308b555e4163504133de3b19ebf52c79c2a2c5aa0b09362224c49103b32680448b08c42928092387d89b9eeb1a749b4a2d9a83de7738b6b2c081cc9025f0b9806b0bd2fc66156906931650873d7a9f12a16d7341d0a6c22df7467c9345905518fffd609b1e4c1cb3c6c6dc71ee2b75bce856636192a56a4523e28029ffb5e28470106196def277cc8443096113657e98110da56ed066b4ab86552f1c9f9e00e299312189b3438d62576c88291ca5ed7479a07270d5c56710688677e29ae15493154cc4f3b73acfb0b4b928a01d86c94128672428abf2c8c3a96eba46550852f15c85da0992b7b18d8f5ccc8704d756b032693085e278258003425eb0155248b65e832e5b11a75d4bde5d011db219f5a620c71b1838a542bf334748e07296cb9555f7a92afc07fb3050b1f05cd7fd7c77ef61493a6c865a82620a4388c1c0ea8771b97513e4fd2ac01a6b9c080a2c34822492709567c29ca851aeb30a856d991c3bb89b1994ee50193695c6f77928085d7bb2e003a94277a5ea4a563f23041e89dbb55001e4540a353998ee78c49eaa9809a75b6dcac3629a6cc8aaeef0054944a24abebcd2d494023789c079b3d10c65eb30437a1b71175c44ac0360fcd79a5ba8532ffb90515e2aaa0d3a95c47a827c2aaff0bba2d75653c724e7c712c9dc6930da7ad79b6202ed450f3a602c2d719d7c85bcf7277eba1b6eec85117297ccbec42edf19f3fc2a1a0e5879dba76c9328d4fc2388331944b6190ba739c4a70181276b6c7d47ad89364017ca6df1ac23f716b92c188b64100a2a690e23b7671160f6cba5f679939c3e20f8ba6159ee73ff0b862d33ca2a574aaaca1ce2da65a25c7076c9c9d252a910e8d5426142810aa1cabbda6cf4ee100ec5b87136f06319e0fc6719dc5882820
|
||||
EncodedPrivateKey = dab6bb15e68f84e20770f4167720304dd99b08c36924723c273c3b4a603c9cb73037833c3249562e3b9ba9e08c52839abd0990001337f8583b8fa83fdcd89d9b3511d4e2787b67ab6638a35226a48803750f2a6753d1932d9494441c94091b68f025ac611834d2b7705df2115a088aa80b79f34c02c7e21e2ef80e80a374a4fc01e5bb42070c1f0a01c6ae9305d21385febbb5ac09493ebba8592444f5aca0372a7ee4d54cd5013cd72b961e0c2595dbc4fd601c88317f0ab46022c61b06ab062bb200586a5e0dd3219097403472138ff6be7a6b1e45f8beb3521aac9210f20c7052bba722297224d6cb02b99fe206af825606b1272289c92746366fd68ac5aff334b089b5bf044d9148b474984457432ca515370e80ab14bb76b5198c7c2527c35cb9fafbca01a260bdebc976290ca3dac2c62c2ff45274c0794ad2a13f8767b7c1b99222364745459adf0cb2d88babe4135d8e44bd66d47ff3536d8345089dc11fa961a7c9e6b5bfecbd482c3802347df13a349c629048c6447b580a8d8596ea111e05e40dd3a9608e17a14e41c4e2e30f7c9c792267b5e531537703310793205bc273029c66b2b27a7abb2dc04518cd8c0875b17ce9a51e21575d6b3491ccc859b197823f140a4a27a2b2432b74292a0237299a505c4a0678f705862dc949ba346a8bbc633fc75fc3a14d58ec76a99a4e6b3bcece4552d1ac5c205ccdd1e91cf94724e4d5a32de1c10ef53185ac4885a58e2c0930027a88dbe5465c1b488bb54aa55480aee676bf73b4bd11c7f8538eb6b12080748ef837c5889863b631a8735156c5d7ba579b5c2ae3cb05572696461092f2425b50188e888e8ab06514900cb452c00d4339c8265e5c3a2478171469b4937775b0383b6a200c470c491dfa4a9879c515f7f3904b8bbea1c045a072c02f3947c197547301583bfacb5d16011617cb38554b9b33185c1a7b462404c73a660a713b8fa05ee36261390cbf58c20671d83085ab09b64a67ca643c13b491b1a855f5b65e38f1a9a2a515d86b665ea35ccc4078d9a4aa46243d55f341c450c1812c39c8a336157a8d3fa045c0f36a17a8bd2670cbe94abb9a2c0cea7473d260b0c1661329a40a9b573d19ec0bb534a857f442ded80e90237b89f7318851224aca2ffa005bbfa18dfcf36c5fb949f3317d51e156e96a09ff2ca46fc131b2179fc0204cba447f84352aaedac9e7c3975862aff0a36fd5f4bfc7c12b2df36fefa454fddb1b442a68f4735ad0f3444082b3c4500577ab317dd4a76e63063606cc87614898fab5140b3308b555e4163504133de3b19ebf52c79c2a2c5aa0b09362224c49103b32680448b08c42928092387d89b9eeb1a749b4a2d9a83de7738b6b2c081cc9025f0b9806b0bd2fc66156906931650873d7a9f12a16d7341d0a6c22df7467c9345905518fffd609b1e4c1cb3c6c6dc71ee2b75bce856636192a56a4523e28029ffb5e28470106196def277cc8443096113657e98110da56ed066b4ab86552f1c9f9e00e299312189b3438d62576c88291ca5ed7479a07270d5c56710688677e29ae15493154cc4f3b73acfb0b4b928a01d86c94128672428abf2c8c3a96eba46550852f15c85da0992b7b18d8f5ccc8704d756b032693085e278258003425eb0155248b65e832e5b11a75d4bde5d011db219f5a620c71b1838a542bf334748e07296cb9555f7a92afc07fb3050b1f05cd7fd7c77ef61493a6c865a82620a4388c1c0ea8771b97513e4fd2ac01a6b9c080a2c34822492709567c29ca851aeb30a856d991c3bb89b1994ee50193695c6f77928085d7bb2e003a94277a5ea4a563f23041e89dbb55001e4540a353998ee78c49eaa9809a75b6dcac3629a6cc8aaeef0054944a24abebcd2d494023789c079b3d10c65eb30437a1b71175c44ac0360fcd79a5ba8532ffb90515e2aaa0d3a95c47a827c2aaff0bba2d75653c724e7c712c9dc6930da7ad79b6202ed450f3a602c2d719d7c85bcf7277eba1b6eec85117297ccbec42edf19f3fc2a1a0e5879dba76c9328d4fc2388331944b6190ba739c4a70181276b6c7d47ad89364017ca6df1ac23f716b92c188b64100a2a690e23b7671160f6cba5f679939c3e20f8ba6159ee73ff0b862d33ca2a574aaaca1ce2da65a25c7076c9c9d252a910e8d5426142810aa1cabbda6cf4ee100ec5b87136f06319e0fc6719dc5882820a89eaf6058fec4baf40c66232a3bfb19625ca6c502007d281f1fccded5fe4d9071600a8982c350df524cde514431ded7aec23576530894bcbf0ec0bfef0bb64f
|
||||
|
||||
# Official test vector 28, seed: "cd6cfe94e9c0a1cc4ffdcd2d7876504be5f50f1d1ca5cf93482943465b268276056f2781f4de805c138976ca72621387"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 2e889f44e28901e9ac7ca6b2fffcb124c8979401b17064d7e1d51a7e3c3adbfa0e145e44aae52cfc609e6f47fd7a6f6af877190ff52256d0ac5b05b89c3f449f
|
||||
EncodedPublicKey = 22c3a7c2ec9efee4178ff8885d216ab24064b3a80080a42c8db67f27b53ed40cccc915343584000212880b2a985aa00a39558a0d639db330789a538a4a526eff094c17327e0e1585a4406315a1426ea7625dc21a738561e9ac1f993c2bdcf54ce5d69b313316d83a83c6f79adfc75a97636742839debe545a8914ff1a8436adba4b2e06669148dc7d23f4ed984887a2f9deaccc050145cd01efc3930f1585199f108dd5b4766a792585482e72c8be8e57ca48c2b961663b6326c0fdc5f18a89747182aac6470f7b57d9e67c43b338bd8419b8d7a4b695acb04f44af9d50bd48792ecd39fefc67fce2539e7840e70a41b172892d3e9b108fc91715cc6ad5776d69437fe08689c511e9f72226f49a79a7a6ea4ebb7df553c025482a6e91290f5a0f5eb2573529d70e96a7ab7695663c287640a79a7312e007cb58bb7f290442d6252f6054e21704e9a9ca9378907ef1a9bf0d07a75c46cdd5872ac3789fdb55c6bf448cdb525de0a96d842b2e738195a12455072b8816c1df62b10e4ac66e2853d3476cf814086d4317128f30fd55236f738bea1e53ca2076a4a5aabf3b0a49fd64d1c5b3c6cc611ef7abe2602399c10becb179faa50a086213439044ef506a979605f853a799f031c7fe35efc7b6e87a61b5a570f00b8681af15ecdd4be4ae57936ba480e1495102986df3013f4b117ad004d947921551b1ffd247895b9334acab5edb470df9b36e8b50c23d66d4d07ad14170d5dd00de041a774d598b9e3bc7c8cc695d9036d163393ab2e580632e51870d4092d35e7b03e46cc868c6187869e41ea389a4a978ed90d68ab295f973939c6089ce8457ac1a6c11390d09ac5d0984beff77e347591659275dd712d6fb252d593380af79070c72861201c2199cd39667f26b229bbd4c03a3515494bc6cf772f7995a35bdb112a26251566b027a2468716bcaa2155541423736092606777505239b108151a0536916452f73291bd5a43906ccd44e218fbd453d27903786c44e8f8bc7e50bb490a32bc254da6118c3ed228d520582db2bc23e3c4e3011252764061e9c02f00b17295c50366878ea762e2979dbfb90a99f6321ba01bf4e1969cc0007c45328506e9dd834a462ba5ad6a
|
||||
EncodedPrivateKey = 5557196294bb35851d77096dfda84924c624789c793a03cebaa236dd980cd2e2654059ce50dc953b6748d1a3420b595675e5a5fd6567acccb3f1172ab786a7fe213a48788c97f4af087b21a0457d8fd3530947b42989634c31984e705bf3cacb10734d81e9ca95b88fbbe44787635d1c7637e6eac68da05ea789933bf18eeed579ea83a698489248b60a833a3475c55028c40e80737128a3b6f7041d7f749091f7805d02a87998319317b82890913c782f309774f05633db43126ee23ba9e06cbb5c3956159726849e91771351ac3714c8c0941c50fd8b54c1e097e8ca4db2b0b3402aa93a6a707b19a564936eb0cc927f30b52fa0a96ed639e9d39ca80c4eb0127817507b0c6877187a61a56027d7446c9f6872ff376a3b2b6a50c05eb38c73c0628c304495ca6187d5e2c5ff2c1da8251b75b03c20648f4bf2178a6b6f90ba85bdc21b03780373020a22c635ab65ae934898a5303e73e87afb8c85feca568a0745e7b3a9646288a66b8766b119b2a22208307509516c93226379520088b41c2c886e0f62a458cc7257c85fbd27704a64a2b25bc904485559d102805340f317c1159b1b07cc62f4d7bc3d275761166dc2950e61a19c8919a2a30699b32b01d57592fcf71731b524cdf8652b4b7c4043482bbb99d02ab7b898b955823e1d948f77b6b18d3abf25e474370a7cff14b81630712a60c5a716597b41a999ac27c0d0cf064b44a8868c39c3962bb59f59e168212053117c823d79acfb6378299763bc87b9f2d4aaf5932d8f8220f707575eab85a5e485f16b402ac068636c595a920d78035ebe8ab30a38b7672bc417ba29a2f150bd5870ee922c5b296fbad668e6e08fd67c444eeb55ad38c5e4197c69288e7cd7a5e5467c900861c221123abccd70a7805c954e62611f5d0933643a72b6c263238aada2378e4c75631d7cabc83984c8fb7b38c60f432913cd7a6a09ac6da6280e45bbce8bc77981f5bfe77980a9c510bf6a9fcc4b786532156f02713767711020a95629658695cc8a9b906d936568286b5da9c97dcc53b641741dea28a3030595406ea51c3843d8aee3e7404bd67522c3a7c2ec9efee4178ff8885d216ab24064b3a80080a42c8db67f27b53ed40cccc915343584000212880b2a985aa00a39558a0d639db330789a538a4a526eff094c17327e0e1585a4406315a1426ea7625dc21a738561e9ac1f993c2bdcf54ce5d69b313316d83a83c6f79adfc75a97636742839debe545a8914ff1a8436adba4b2e06669148dc7d23f4ed984887a2f9deaccc050145cd01efc3930f1585199f108dd5b4766a792585482e72c8be8e57ca48c2b961663b6326c0fdc5f18a89747182aac6470f7b57d9e67c43b338bd8419b8d7a4b695acb04f44af9d50bd48792ecd39fefc67fce2539e7840e70a41b172892d3e9b108fc91715cc6ad5776d69437fe08689c511e9f72226f49a79a7a6ea4ebb7df553c025482a6e91290f5a0f5eb2573529d70e96a7ab7695663c287640a79a7312e007cb58bb7f290442d6252f6054e21704e9a9ca9378907ef1a9bf0d07a75c46cdd5872ac3789fdb55c6bf448cdb525de0a96d842b2e738195a12455072b8816c1df62b10e4ac66e2853d3476cf814086d4317128f30fd55236f738bea1e53ca2076a4a5aabf3b0a49fd64d1c5b3c6cc611ef7abe2602399c10becb179faa50a086213439044ef506a979605f853a799f031c7fe35efc7b6e87a61b5a570f00b8681af15ecdd4be4ae57936ba480e1495102986df3013f4b117ad004d947921551b1ffd247895b9334acab5edb470df9b36e8b50c23d66d4d07ad14170d5dd00de041a774d598b9e3bc7c8cc695d9036d163393ab2e580632e51870d4092d35e7b03e46cc868c6187869e41ea389a4a978ed90d68ab295f973939c6089ce8457ac1a6c11390d09ac5d0984beff77e347591659275dd712d6fb252d593380af79070c72861201c2199cd39667f26b229bbd4c03a3515494bc6cf772f7995a35bdb112a26251566b027a2468716bcaa2155541423736092606777505239b108151a0536916452f73291bd5a43906ccd44e218fbd453d27903786c44e8f8bc7e50bb490a32bc254da6118c3ed228d520582db2bc23e3c4e3011252764061e9c02f00b17295c50366878ea762e2979dbfb90a99f6321ba01bf4e1969cc0007c45328506e9dd834a462ba5ad6a80b93464a435b551b5b59daf155bf824f178335d0d2429544fb0ad8f2f0cb8e20e145e44aae52cfc609e6f47fd7a6f6af877190ff52256d0ac5b05b89c3f449f
|
||||
|
||||
# Official test vector 29, seed: "265eb2de7099e4bd5614e5de7f0c2a05c78ef3e8e2dd4ae4cb70f3e5e59c8d1d88248303f07de0c5508652da66b47222"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 174aaa36410566dc15a5e62874218d7abdde0b2c0f30d877bb80b1abd5f5a0a450a7a2354f7e5cefa6f4a4e9a1c411eb9364506e9e1204a8acb3cb77fbd2c4ed
|
||||
EncodedPublicKey = 933c70af716ce40ba46bb52df72215a19c632da601f15a769eeaad20825944773df0492003c16742c8298d10a08564b211ac7deb939946b015f7b09f3bb6c585e994981a1bd4a033ae726f5ab2bcb3689a0e030deac6a245b2cc2b6b20f70a9f5aa895b74c3ca9ea379a086778b0c22002c54cca7c0e9a1bac975d7a703448617025633e81885a17ba9d54494b3bd947c1212f387a8c23c4bd49b42463568ddc2251898a6a8f755af65a9691702560898caf91b835010304252c3dec7b30d44e027615a1020b34f21c5c2219abd47465f7ca87312ee649c69da5439796ac65c8bcf6c23cf5174592456c77a68426f37f958a978c38291dac2763b732a1d07dcdf435a362a46355b387d0c4e35a77471c3877e10bb7279aea7ba8be364953d4163fa8bdab438484bb00ec821562cc63537193d0b4829dd574dbd0a0067a78f0b922b78290db77467a8951de2956b31014b5b7b4f098a2f1c21ed03067363958d9d03b41630f05c9725b6733e2109a0feb8360a3a7af36190262a19863860ad00f5a8244ee4a6e492aab22b58efdd38ecb43a3b630cbbad319eee40ab8437f564652e094ad21048394a1540be7142c7483e0e846c8b6af9a629771231d79e07cc1170b412a25c03b8f49eb97f145b8b252476c8b8c0da95e4cc9097c0479c9734dc4a376edea6ff4eb2f3ae4208cc7385c859f68382e6e5653e6055d0945584fe7c6f5531482ebcb6a947e72b16e726b2145ea5073156582d5a938b8c01b92bdfb1b253bb928289567b14865b0a03750405e2ca6c5a61c1664d1cd614045dad379b62a137cf25b6dd0ba6265903595ac56fb1836499317c4000c188fe089ac4e2579ed7365fd17300f93c53258643c998c7a585f829670da35aab3ca4c604a5ce150807701a7b7d19f510437be7821c843bce6e02d429491262b29e97123bd860f5c63684e606c118361d53b9c80622cc1f2357e953e2177c09723365642288a498e2f305cd36a0b9f829b8b74836e0a5f4c14121571c75673748d9888b16660e4f036ae96431c7124b9998e724c98d208b0ed7997184436768c6f9c219446166647bb93d2c33e6ffa5a2cff7c2273409c9b75a60b1f42bf5481e96f6b680e7d11
|
||||
EncodedPrivateKey = b83c58a54458ec86a8c6664450581432d64db0bc6ab2f53f95db897a13ca3d869a7eb01c2c775cc3917f14166425d1ad04847a4db387352a24f5e65056987ffd7ca73672ad1b7a5c88465676f98c8e43355f00116935aa08d446b22c3d7cc8b45467b7667279bd4473d5f90b70ba7977f00f3f584b3d2a324c39b8f100ce9a497f44308a10f010db9aad85a3ac18b7cb5578402a7ba2df1b85c5a9af2fb54d03c083b8b78586269812142a8469aed34a8064d2a5157831fdf28ab7d17e76bcbceeaa32eb9a5461f854c32c7efbb514a12332cb9596bb1a2230e0a8aef17cb4b6a018a48beaf144efa92d40dc2106170aeb1782347419b1d7b851ebb8677a37a6f9268d4ab122414c9c223457bc1b0e906b629c3e29307c89457aef2741dabb21089c0c79468d4c2aaff2dc0eee42b9e76b8a37124ad1a50bee563525fb596aa9b0ace626ef67979dd6656ae7ba5c42253ff9460478248e711fd27570693591fbd266ae6128167171bcc0752e93a020a57b87889a288194e25563c328cb5ff441c2ca315f563d8feba0e3706bfdf97fc2fa90086763b2a4192ab984db54170d8b9157e42c3f16aff85240d5c81a7610c13ad9968a6b009d50a456b1adf5d051772605db501d922a33fe01085a6c9085a46f595a9c76711c53259c103c6838f04fad8071e7169c3909a942977bd7740c13292899245a3a114c443145ca8a69f76c3f5a20817cf3b6995b92a813ae147159cb3c78d5119eb59a852fc3b98ec5286eab4762f532b716cfb7f1466b671abe6919752896f6e51fb3583cf05047af8a0ef97ca1697b5517a17e11aabce33a837da61538c959edba93f3418905901a2ce2c2bf6baeb223c8b311ac18901c51855eb1e297697aa2abc2235cc6c6e5274238aa152e02480152636ab8a4dd3451d927ab43c99ab2638c21815ff6202e5e62bfce6bad91755f10355e9e546534db01016bae94b0c31a6908dad3358d000bd256c34f42acc6a58958c63343d8b079c908b7cb2bb2b166de5598624b09c5361e8b679ec5d854c03a3251055e6e0c7401a6c32e12a757b471b7c237c6b930f41004933c70af716ce40ba46bb52df72215a19c632da601f15a769eeaad20825944773df0492003c16742c8298d10a08564b211ac7deb939946b015f7b09f3bb6c585e994981a1bd4a033ae726f5ab2bcb3689a0e030deac6a245b2cc2b6b20f70a9f5aa895b74c3ca9ea379a086778b0c22002c54cca7c0e9a1bac975d7a703448617025633e81885a17ba9d54494b3bd947c1212f387a8c23c4bd49b42463568ddc2251898a6a8f755af65a9691702560898caf91b835010304252c3dec7b30d44e027615a1020b34f21c5c2219abd47465f7ca87312ee649c69da5439796ac65c8bcf6c23cf5174592456c77a68426f37f958a978c38291dac2763b732a1d07dcdf435a362a46355b387d0c4e35a77471c3877e10bb7279aea7ba8be364953d4163fa8bdab438484bb00ec821562cc63537193d0b4829dd574dbd0a0067a78f0b922b78290db77467a8951de2956b31014b5b7b4f098a2f1c21ed03067363958d9d03b41630f05c9725b6733e2109a0feb8360a3a7af36190262a19863860ad00f5a8244ee4a6e492aab22b58efdd38ecb43a3b630cbbad319eee40ab8437f564652e094ad21048394a1540be7142c7483e0e846c8b6af9a629771231d79e07cc1170b412a25c03b8f49eb97f145b8b252476c8b8c0da95e4cc9097c0479c9734dc4a376edea6ff4eb2f3ae4208cc7385c859f68382e6e5653e6055d0945584fe7c6f5531482ebcb6a947e72b16e726b2145ea5073156582d5a938b8c01b92bdfb1b253bb928289567b14865b0a03750405e2ca6c5a61c1664d1cd614045dad379b62a137cf25b6dd0ba6265903595ac56fb1836499317c4000c188fe089ac4e2579ed7365fd17300f93c53258643c998c7a585f829670da35aab3ca4c604a5ce150807701a7b7d19f510437be7821c843bce6e02d429491262b29e97123bd860f5c63684e606c118361d53b9c80622cc1f2357e953e2177c09723365642288a498e2f305cd36a0b9f829b8b74836e0a5f4c14121571c75673748d9888b16660e4f036ae96431c7124b9998e724c98d208b0ed7997184436768c6f9c219446166647bb93d2c33e6ffa5a2cff7c2273409c9b75a60b1f42bf5481e96f6b680e7d1177fb974ccaeed64d486756e7a0ebed1b0253b4e8ae0d6caa6e4dc28daf8613c450a7a2354f7e5cefa6f4a4e9a1c411eb9364506e9e1204a8acb3cb77fbd2c4ed
|
||||
|
||||
# Official test vector 30, seed: "806bbd111f27c2668318387bd0830f65ec21a51af01985ef48d03d64e1958ff7ee5133a4ebf6dbf36329bcaaf65f40ea"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 351fe4313e2da7fac83d509f3103caf7b4c64a4d458fefdf636785ac361a1390f072d9b5a99f9c7a0a011e4dc10f6b600d611f40bba75071e7bee61d23fd5eda
|
||||
EncodedPublicKey = 2218c4f4f973282382b6c012d088bd49938fe7f41b5d116982423396137a6594756ea26a3cf34b0b5cca62c85a9d739afc0b9acfd244691c13818c135e4a88b39c0c54b86f8b657898f14c0927bf33010a10064c6281616dc828a99b9b98c53a27913cd2144fed62baee779555eab762d4586bc79ff97a60a1a955feb2acbec6737ec934d1d9cbe960bc6833675877302a0bcc4238226f7990345a62780a333b54c443e540dae956d732af8d5a678c04659d51536d265e4898901c683dfb2a4a08f64bbe8412b35257dde64c03451561b707b1587af7273b48a19d0408982bb73bfbbcad3bf388b5b504abb2b11f06b53ebbae30392bbbfb87bc5293d0b21716140777841f74eac01ee6cdbea3c8c8c7ce3b986f0d3a471760255db1c20d2c2e457ac28e3a8d1c9b5541e3a7ea1a72f3a44a8a6ab7e0d69eb699b7b14a435c435cbdc5c6e1499e46a24c5b38247feb71ed47787c04a1e0456ec11844258aa4e15cc144570b9d4204db20aada1b2f318cbf438782b1c70a894a97dcc557b7b204b0ec17b4362eb7f2c25914b7c17260aa66218fdb1925630ca3c7c8371b96c7cb49a401c8234a3928534b8d324957440fa01203c3318f00b65ecfccb56fdcad9c38a695fbb173aa75a8226db2e92b6a58a71e22697931c5ed0aaedd60483fa02f40aca6119a5997a1b95d32b34cf902ce5a9edf5a1b48d383b7f383c5f5b3cc054b47e78d4f9c994ff1b64a1c22526a430d7b6b30b720caf977127aa669d641b062801ab33a40685718c7bfb8b8149b7463d170a2f9b51c6d314ed4a81dd3e8604523793c8a84073936d1e58e4630430e07ab3ed02c03c0b2fe71b3dbb50072394e7d4c0f1b02a9ee46c795149e8818aba0e76792469fcbe4951f0204f9730733dc0909e4594f7749ce393b643488e751a011bcc840856f20a11edc9a943d57ae54ec682687b6f3dc120b357412b1176b69863cb05d395baf76736ffcd47102081756c89571d13b9d0230bd428cdbe51223b8028cbb2175317c14d6b0caab940c540864a8be38a73ae8a68cf53290f4693b89185361c48b55e41b8028cc543355eb5937077c7ca8aa6838bd6e0ceddd36fa05b1e211e9dfde525344fb4855a216
|
||||
EncodedPrivateKey = 05b97bebd985cea92054a01bd6382c0aa259da7b04e56aa819ab54aeb1b8af689bb6d6abb9d77b565b882870ba6b351df25793dc324a1df2c7734bb51687aa20b23776cc0341f112bcd79244c580b4b82a89526692d183545b3e681651bbb6c800ac5fc9eb94b6a0c28bf8c478a016d28b0622644ae602aa31c2204c52c441f756f2e50e2a0c2f98fc58dc440d4f12347b64c64e30253c97cf67b5697dc2342a77285e1a6bc8340c791c105adb81690882cb6054220bb488a61ca0709d8d57865ee405806718033239c6680e8611abd5207eee8abd9161814457b1d6da162a68c10966998f45c5db690b4ad5c61bb0c9ca7c52cffb56b253b6528182fae064111b47837436f2b388a3b212aa6c3f87d5378b02be378a5342f1ab7713159ee53eb785662ddca760c5c543910146d5b7fc791b529116b4027754d6a7d282681ac404533b453e4bc44de34aa2d3a4df2c987bda5e57b8cff7e1c4fcc3c2ce287a56d5b900ea229097b06e62ba5a5746512bbb66b413e2a59e431020178553d5ac813236341139960e8c32537a8fbff4b80fdb90c019203956bc1e3ba564f520f9f83b5c212a08268b5aebaa301a3d6648672d52087348a7a625822cbbc474f9b7bab874bd3a020a334d984241ca0b35d161a5a2b340824320026096ae31197cec2a314378fc899fa7b41cb5a1c3c87c257a468affc96c945083acf393195a216da2106f77a3212267df528d32da16aaec6143b308402239fa37ba495ac00830c3688c8fdc8921f7a023fb090b7fa84c8f4a25ae1937bdf72c1442364d21cd04f234c38a509a02a5a9496fb57b236d807cdd4644b24894929259688081bec9564d0b9d5e4b818ff5966ad9cc2abccaa4c2511511c2e7d533de4a061fd48d4050bf9d579647248b6681929f9b65d50a8f4fe2909d4c82e554cc318c2589f1a55b35059d0cc75211bc6ff6b86ee6c249f91fd0314d16507830cbafc5366fb266cb2af13dfe8703917c7f5f64035e47348ba7c102362555cc2085ac14b43b803b7193ee428359632ce4f50eaa0370ac44410bbb75457595734aab17c6493a21b21ff1052218c4f4f973282382b6c012d088bd49938fe7f41b5d116982423396137a6594756ea26a3cf34b0b5cca62c85a9d739afc0b9acfd244691c13818c135e4a88b39c0c54b86f8b657898f14c0927bf33010a10064c6281616dc828a99b9b98c53a27913cd2144fed62baee779555eab762d4586bc79ff97a60a1a955feb2acbec6737ec934d1d9cbe960bc6833675877302a0bcc4238226f7990345a62780a333b54c443e540dae956d732af8d5a678c04659d51536d265e4898901c683dfb2a4a08f64bbe8412b35257dde64c03451561b707b1587af7273b48a19d0408982bb73bfbbcad3bf388b5b504abb2b11f06b53ebbae30392bbbfb87bc5293d0b21716140777841f74eac01ee6cdbea3c8c8c7ce3b986f0d3a471760255db1c20d2c2e457ac28e3a8d1c9b5541e3a7ea1a72f3a44a8a6ab7e0d69eb699b7b14a435c435cbdc5c6e1499e46a24c5b38247feb71ed47787c04a1e0456ec11844258aa4e15cc144570b9d4204db20aada1b2f318cbf438782b1c70a894a97dcc557b7b204b0ec17b4362eb7f2c25914b7c17260aa66218fdb1925630ca3c7c8371b96c7cb49a401c8234a3928534b8d324957440fa01203c3318f00b65ecfccb56fdcad9c38a695fbb173aa75a8226db2e92b6a58a71e22697931c5ed0aaedd60483fa02f40aca6119a5997a1b95d32b34cf902ce5a9edf5a1b48d383b7f383c5f5b3cc054b47e78d4f9c994ff1b64a1c22526a430d7b6b30b720caf977127aa669d641b062801ab33a40685718c7bfb8b8149b7463d170a2f9b51c6d314ed4a81dd3e8604523793c8a84073936d1e58e4630430e07ab3ed02c03c0b2fe71b3dbb50072394e7d4c0f1b02a9ee46c795149e8818aba0e76792469fcbe4951f0204f9730733dc0909e4594f7749ce393b643488e751a011bcc840856f20a11edc9a943d57ae54ec682687b6f3dc120b357412b1176b69863cb05d395baf76736ffcd47102081756c89571d13b9d0230bd428cdbe51223b8028cbb2175317c14d6b0caab940c540864a8be38a73ae8a68cf53290f4693b89185361c48b55e41b8028cc543355eb5937077c7ca8aa6838bd6e0ceddd36fa05b1e211e9dfde525344fb4855a216980defe8c6578a5d9f0c7916576e760f8b37df394e517e60efe2844540fa5281f072d9b5a99f9c7a0a011e4dc10f6b600d611f40bba75071e7bee61d23fd5eda
|
||||
|
||||
# Official test vector 31, seed: "ad540a9ce816d6fb1661e5483c44f6fdd00c9e7bd1a8ceda4b4c4d3697d4f78ed0a56954996ccb7da96ecb8f5cb15809"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 9bc5315580207c6c16dcf3a30c48daf278de12e8c27df6733e62f799068ad23d5a4d0a8a41c4f666854e9b13673071ceb2fd61def9a850c211e7c50071b1ddad
|
||||
EncodedPublicKey = 3ee563d4228eadcac595024435284df3002ad42b4212900a3f7201f3824e0743cdc598af02fc04ac107ec4a412b77307a1394ec4c55c7bd5c826e0442d833dc9f36129388fca76a59d167e7a4774cd57b7f4533386774ab13a4b8cd06e488714fbf57ab0650b5ce0005beb4b7a5a7108b70131d10ae34a1514d7a860bca8e1fb971762bea5f886e0a913cc6c19e7e05e69ac3729dac5bb901ab0c63bdaf2410683529c72667003782080b9ae4c91a89300c0d98bbae61bfb4546e7f87ca68478aa369998ebc0c3ba6a0af9380e1286d0f59adac252447895dfb69b2c189075f32d9af461d5620519fb7b6139be037883ebebab79845ff7e450043b55ba43cac8d786dc2a945e2687f348c702a8839ae4b3206837effc24cbbb870079c476362032718035900442929b9c422ff9730ab03a0e7fc9a2407364e325b405d854691b269ffa4e3216c1ab3b4cdac3b4190a27ebf5b0b82a3fc10451c73a5ec39a567bd09dd7daae5411ad24cbaf8f25cce272a63f005813d9c7eb55559e474b7078b55b6abee77b5ceef1359a4a9e03397c8586be4fa56e4c0bb8aeb07404834393c78e4d201eb7a7617c5cb593d51f7e9c0e2b1344f9e02e4c5b3fa8c0b447572a16f66d4d239dc68555a344025869cc76d866113012f5347bc96b49b4b94113cb607b672020cc274cb1cdea8110a12044c056a2821c15cfbba1b11cc8a39945b5ab717c34801540c610abcad94c23bab78956842050d37999ea47e0c502dd213363a7932786ca92fc0174425ae5ab250df52b3f372753d79a3fd721f7b10b63826f90dc9e6fac07a900a7237a2dda32bc3c69a5771617efe84b05f51a5981646d67768a95445ab2709a72442155b47bf111368975c365ab94f59b973756ff8bca5a7aab3f45242725634b7142048571b7917a2a0c0909a8a6732b268d8156b32b0df19216404a157951a12f5b1e17e8c94485521bc3523edc7e6235c29c172181a0af4730a950c873dc982316e35aae55b760767a8d6b9ad1026d2c93a7b81012c18b7714677221601855ec919b8a96274c7ccf14a596c470a9902e9bf1bb5d40b0bf8258354435b360220ae8029fa59b3f6539ed6eeed58952af1b7cf7f118d9bf
|
||||
EncodedPrivateKey = b1b599df29317cfc31e808909edc273b52a90c60a149974f47934a4a0708dc249a1fc1ade1a6216eb606b4f52d2bd77499650602b6b51197801fd03ba2734cb47ab85b4931c4fb4c521ca79a149263982e5a6802373c6c683453479727001d8d8f1c0978987d8d8745c6c974020641c35bc9062962277a3494ac0fb4dcbaeea9a4e4016e995681d295c3a31191a0d6a0e5cac17c7c4cb79a2ddd45ae074b7e8b1085d66954598195e8caa0462816274059fd0578e7ccc6ce912927615c8184bc0a0b13cae52d05e96a18470e7408c9a6828431355c3a411f5a73910f620506037a4aa34c82a69d69cb86b641579caa1602b129331769e9b7c829bc50d6f844bb7b48a97cb045276ebfd98d82903c5ae40c22359b16a9a33c99849ca8400180ac436a7b7d6c929590cedf636c40d39352591b7441457a498b25ba86fbbbbf3c297d82584575f9c4bcc86e234288077710f8f3212d98b8ab81837b07b4c7e796eec79aa5577a650a235e83a387a3a2d0c57238402526078b672a3fa1e41a3020040a704351458590e04fd1a79e6fb1076b4b64b24a9e59660ec3043191827f65571cf6b9264571301660b703882e86a65d605423a8a7c7e220a36953659e891baee305002121b2784070e65d03ec20124cc4e9184f686c78cbfa2e534cbbd5a924b618281db87b5dbc36041a57ff67a228d6cac1b32781f9b3b58854accc1814e686a03176ff9a9d04e012bb1677dda8aea1f001fb5ba324fcc6edd901f0c9363854b4f8aa6591642c22f8ce07539c7970473c6c90cce2946d67a5e8f207a7e30b6964aa9fd142aeb97dc721ad2148754008454fd127f7c46ebee7b8df700bfb267a722404494ca3d1848b5347c8a736968df606ea222a097c4ce3abb945904e37c0cdca8111571485ab095f598275f553ab2ef417340819a09b808a46b77a06986d5052792a484dd40ee16098a6a7c4a7043b4a889b260904825b8fb4765cdb21aa38c19994907b4f7ba875d3bbc595ae822a0b364187be91b1f7c607b7960b746487781b6adc3b07d656a9d2e0031458c1b35432b578b138f77270d52eef81c03ee563d4228eadcac595024435284df3002ad42b4212900a3f7201f3824e0743cdc598af02fc04ac107ec4a412b77307a1394ec4c55c7bd5c826e0442d833dc9f36129388fca76a59d167e7a4774cd57b7f4533386774ab13a4b8cd06e488714fbf57ab0650b5ce0005beb4b7a5a7108b70131d10ae34a1514d7a860bca8e1fb971762bea5f886e0a913cc6c19e7e05e69ac3729dac5bb901ab0c63bdaf2410683529c72667003782080b9ae4c91a89300c0d98bbae61bfb4546e7f87ca68478aa369998ebc0c3ba6a0af9380e1286d0f59adac252447895dfb69b2c189075f32d9af461d5620519fb7b6139be037883ebebab79845ff7e450043b55ba43cac8d786dc2a945e2687f348c702a8839ae4b3206837effc24cbbb870079c476362032718035900442929b9c422ff9730ab03a0e7fc9a2407364e325b405d854691b269ffa4e3216c1ab3b4cdac3b4190a27ebf5b0b82a3fc10451c73a5ec39a567bd09dd7daae5411ad24cbaf8f25cce272a63f005813d9c7eb55559e474b7078b55b6abee77b5ceef1359a4a9e03397c8586be4fa56e4c0bb8aeb07404834393c78e4d201eb7a7617c5cb593d51f7e9c0e2b1344f9e02e4c5b3fa8c0b447572a16f66d4d239dc68555a344025869cc76d866113012f5347bc96b49b4b94113cb607b672020cc274cb1cdea8110a12044c056a2821c15cfbba1b11cc8a39945b5ab717c34801540c610abcad94c23bab78956842050d37999ea47e0c502dd213363a7932786ca92fc0174425ae5ab250df52b3f372753d79a3fd721f7b10b63826f90dc9e6fac07a900a7237a2dda32bc3c69a5771617efe84b05f51a5981646d67768a95445ab2709a72442155b47bf111368975c365ab94f59b973756ff8bca5a7aab3f45242725634b7142048571b7917a2a0c0909a8a6732b268d8156b32b0df19216404a157951a12f5b1e17e8c94485521bc3523edc7e6235c29c172181a0af4730a950c873dc982316e35aae55b760767a8d6b9ad1026d2c93a7b81012c18b7714677221601855ec919b8a96274c7ccf14a596c470a9902e9bf1bb5d40b0bf8258354435b360220ae8029fa59b3f6539ed6eeed58952af1b7cf7f118d9bfd61e3bc88050ad387e31f232b0a43b3bea53627750f6af50b92bd72d67225ec55a4d0a8a41c4f666854e9b13673071ceb2fd61def9a850c211e7c50071b1ddad
|
||||
|
||||
# Official test vector 32, seed: "288a5f2684d862a86d2790afddddbac6fda934ee7d2e6da1508bb550838609e8107312b28e00a6c01706374ccd3aefa7"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = d8b907b34d152ff8603b73051f772daa71eb902c47b7e2f070508269d757e02e36b817736cbc5f7b1dd6eef5fe6332fb1a598f3871e5470d440fd2ea631da28a
|
||||
EncodedPublicKey = 02e38929738a76491c6bec86e3600a3c814bd3b042d4a029739c55f9a0224bbb2f6a208721909158555b21c71a6909281a8b95c9f851c036694dd0a57ed5b825a682545ba795f30dd40a5edb028b2d8832a9474f03d9a6dcfb2cbe3057fe827107b797bb2760bd541ee3a16da25495f80963d5579d73386f52d0a9664a8eac24c4245455bc1c0e1f2053fc726136e34ea5fb1c673a5eb0e3c2ead3b1f4f81bbc17a427b6650b17b676964e3da28aff414c71431af7817384ecced502cfe0c7cd04f9865c69b3b1955ffb07b37a34cd86307458c0af9452a184628a91d952d2b1c28283add23a342d05ce3ebc38a674ca1c51afcd243174047ad1e0055300b7186c19d7e6022e57c6a10173a4c71246f58743a2b9126116cae68ac876045f600d33fb66082815b3922b36da286b1838fcc95573f44958f855f5953db5100618626247036268678609f51e8da4719f1c084c8253a974bade42703adac8db72782501ca97447f51f7cc1667ae15f35ccf0a8f9344c27764b4326bad953c58e2e794b4c690f6512025978c4b6b47ff85a0313012e5fc360da5a52c402563a1600f87260cf5b03c8c1e2897cd63096f96da13aa7368a2074dd32779c1780f1a691a145464ec3923bf3c6c0ad438979a17faac3a1641393dd9a02db33db39959ea71c8a809a14e06adee39143117978611026f327c20d4bf848b14eb27cb12385a22337f37c8218b538cc8973c521cbd3dd717ee602aff2218d780695fe3b694a16a94226e8081ac5138a27f8497f3a024f70635de82c0ad90b4203c2da92b5fa3d01cca916d4fecaf00514a68f9465f14b28d7b20397376ac1c4bfa374f84260b89cc35c6b3c51db06fbfb4ce24d39f6f328cac585c88d79238a9b3e3572f75cc1e4ab96390d9a4a6d347aed974e534642f65c8dd165297110705742fd1e44db1827bd822bff243322fb605f4c73178184379c57cfb997aa2320061b98440c734f2cb93c35368ebe86c6044ab2cd4a722b51e5ff43dea1019058c24d31c0b4a060afce86a09c15af8437f300811c12ba040425285bcc7614a88d0014986661dc1d8362e17fc9db3febb4dac0ab7b84bcb430c48c4c2eba452ffcfaed7e8d1ee58377e
|
||||
EncodedPrivateKey = c656c44d7a67fce6b1e380a541c4224aab9d35041369a0977c688cb9c74b7dd70a938812a7123ff7d1a36f04593b0734e9e311eac2aee5438844bc9d5f3194b0b1104ae1ad6339b4ecc849aa83a49dda3586e46717a0b87370921ec042c3ea52e3892c8f1b8a3322c19733bc7c1943829a4be59a9f5ab68d57761b2423acd2fb898e3470c0607b92b380ff4006833308ab9111a18c99e03011f932c44cf708cee7cca682307dfc115ec9c3ab69bff9d6027463040725465e01c33dd81615868bed38441fa58e7c40960e340839117baaa5153aeb7d18123f280004d87a8a80d3503388971f33a8c4e3be8bf76ac2eaa9ec30ad61ab18064a76868b15e0e031086b515a4b2bbae20fc1b84b22a1514278ba36c73897fb5b7dd2a1ef0658874c5a35022ab736bbb45704372a08d93782e68bb04108be72b2cb7c6c27cfb7829c8954d15baf3c82230d2881a724139677a37c5b671e2634749bc4cac0bf4494418eb1149fa443ddc985ea9811abc10ab3210fa6169a752183dffba86cd10f3e323a53ba4e7e50ae0a387e8aec36e427944d121aa1e46a1e4602b1a793ee575336d25629e3c67e33520c08ac070ca528934803967951b02fe1a9253cd261fb0c91b2eb86cc797492a538e821aa3c44036e8878a39c7fb3cc972528271bdccd21a2a199ab4bc0f46c4f3c48f5420265e5c4378404da2c3e2b9868fba462b2aac68aa3314bd630e8c85012a23a06e0132a8c43c0c052b733989b7a4761b2397a28665385468db0262da1475d5bceb314abf5a6189997b96fe1c0212ac1bb451b02738f66800a62bb8ab6b300c9171374854a785b8bd3a98114eb605cb13397849abf5b50789c9d9ea8522faa0925d14a08828f99f607bb36941cc9250c179f889b270b5a3b07072f50c90441395be54795d8960c3fa22f15a3a36048ad2fa2284cb09657b7078b8608d2314859310f67602b9a0c9b27b4384be56b7c737ec70a0198373e031097b7780cbbb5a0b2c25a5a3586915748d3ca84c9b1508b23a510935174d83c3270506e53ab56e5c3d1b323c7c34d01f4712d0782fbf2027b962b837c1102e38929738a76491c6bec86e3600a3c814bd3b042d4a029739c55f9a0224bbb2f6a208721909158555b21c71a6909281a8b95c9f851c036694dd0a57ed5b825a682545ba795f30dd40a5edb028b2d8832a9474f03d9a6dcfb2cbe3057fe827107b797bb2760bd541ee3a16da25495f80963d5579d73386f52d0a9664a8eac24c4245455bc1c0e1f2053fc726136e34ea5fb1c673a5eb0e3c2ead3b1f4f81bbc17a427b6650b17b676964e3da28aff414c71431af7817384ecced502cfe0c7cd04f9865c69b3b1955ffb07b37a34cd86307458c0af9452a184628a91d952d2b1c28283add23a342d05ce3ebc38a674ca1c51afcd243174047ad1e0055300b7186c19d7e6022e57c6a10173a4c71246f58743a2b9126116cae68ac876045f600d33fb66082815b3922b36da286b1838fcc95573f44958f855f5953db5100618626247036268678609f51e8da4719f1c084c8253a974bade42703adac8db72782501ca97447f51f7cc1667ae15f35ccf0a8f9344c27764b4326bad953c58e2e794b4c690f6512025978c4b6b47ff85a0313012e5fc360da5a52c402563a1600f87260cf5b03c8c1e2897cd63096f96da13aa7368a2074dd32779c1780f1a691a145464ec3923bf3c6c0ad438979a17faac3a1641393dd9a02db33db39959ea71c8a809a14e06adee39143117978611026f327c20d4bf848b14eb27cb12385a22337f37c8218b538cc8973c521cbd3dd717ee602aff2218d780695fe3b694a16a94226e8081ac5138a27f8497f3a024f70635de82c0ad90b4203c2da92b5fa3d01cca916d4fecaf00514a68f9465f14b28d7b20397376ac1c4bfa374f84260b89cc35c6b3c51db06fbfb4ce24d39f6f328cac585c88d79238a9b3e3572f75cc1e4ab96390d9a4a6d347aed974e534642f65c8dd165297110705742fd1e44db1827bd822bff243322fb605f4c73178184379c57cfb997aa2320061b98440c734f2cb93c35368ebe86c6044ab2cd4a722b51e5ff43dea1019058c24d31c0b4a060afce86a09c15af8437f300811c12ba040425285bcc7614a88d0014986661dc1d8362e17fc9db3febb4dac0ab7b84bcb430c48c4c2eba452ffcfaed7e8d1ee58377ee1f04e79eead71b8a5a1f1df186fc6c49c981fb42907d705362c69fa907831ce36b817736cbc5f7b1dd6eef5fe6332fb1a598f3871e5470d440fd2ea631da28a
|
||||
|
||||
# Official test vector 33, seed: "4635dc5bb92ef98cdb6220df0dd717c7f8158375eaa2b78fc3f0b58e9c9653e92684cad3461d9158a481da3d14694c44"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 684a29e4e5480a5f2533e1526b5fac8cdf5927f3d85087c71f928c59690eb56575d12195ec32a8686d0600e45d4a7f54219b0d7a3826d193a51b9156ecf2edd6
|
||||
EncodedPublicKey = 8c9538e20cadebf821c24265f5057a005552066018a4ac69264c36efb1028ea355dfd8ab53991cb7a1a4c202be63bc1e90881dcba3c5d67ba791caa86efa745e9b44a17bbc38599c4aeb463337a210cb7a0ad247e4655dbb7c984d0415c0987ff5b73cb1130d71a1a59a158a2e5a9cad684f46eb84d544436892bc50f28f70cb225829aca5e2ce3faa133fb65239ca6bab3642e2e211b35817a5f7521539bb7ef216377985362562f4798f30a10a26e7c7b8019e5bc1be58799bf6173444f24aa8f907c4b166bac3b64a146979d5391545a26275548418ae5cf3575fc1b59e51c57838833794320bac50bbe7818057a64b819d5c7c51bce85a57435ecb864d039104c81c5ba8c5c28369152a2017f5213086ba197db2b27c31b9f3fb1b51691143845752ba6865908265063679ca8aebb2985b622529355403502a840a32f86567d17945d249c9a655301e9b66f5261919479725b02423688a84705a0b3b14ee37ae6e97861b1aa8ed8a8d384bccb3790733c09dc2c6928a2b58ea373076804f31f72fbdd9217bea15ebd756bf696b0a77cdf76033bfd2757ed911d45a9d66db2618f3466f264bb605b842a69688bb018ce27b330ca6a2b765e98498c2592ff152a5a8ac8c88857341992dfa0492cec41744645f6cb98ef42126a459c74e2217414767bde6bc349966efd84607ba4dceb02478e4c5eb4954ac3465a8f978ce7140781bcd8fb552c892002ea08dc27826eab81af59973e5717c577249520c2330651885c7471e9ccc5e0289a62921ef36615471460d0b485a214bea4337459011d2dcc7f651aea3d85e8b4a8124705af77a6906731fb487822220bd5dda2714fb54f86616aaa694890a1163a49a2e586792589454e602f7b0285d178c02c5c44760267bc18e84c0747cf4507210a79644c0f0d0517ce3b6ae10a6b5c6aa4750799b7546581a98c112b3ea995923145cfa294e3af88f40a107b3450b6804626932b7b16483ce3b491a69053444c5adfbc0960747e9d81d8e9bc84769b8547ccbc6128e3cc5cb6263af864571a38a42eed7b4a3d43f22e102eada81f5c40f1433591a2a83a39fae47fb47e7a6a20deeedae6d107a352abff2d5c539ba4f8b90d216
|
||||
EncodedPrivateKey = 09b7861f2780398a84d45c103eb6bf83b93f863c25d674ae277a7a3591bcc033907d0c9fdcda24deaac7c962c89830c301d71506334735e7b77b247e5d9c421db8373e107420d64e37565d01ca300a0b90051731e7784c59ac449a181a35dc4dc0b60cc3c9995fc9368e34c0736a35e7ecc5c4dc5b40c474ee1580c77a28882195d73206169394f257220cd1a378f13be0ac4faf2a4bcf6b86c8c622b72c1d3652a25607b859fa7bde83cf2465b3f9f779d6451ea76673ed1c014f3c52d454a8dee096ba902219e34f70215bc49b5784631a10842f90d70ebf5bb4f5a2c8a1a28951d38e5a72aac896a3ebfba521c21888666973613edf8411998889d5f060977a266aa83a21b9c603560807b73f89f330e6a0a41f576720f07f7fbb50f744a63e884d41587394e3736f871719693cb36717288697b56238138533527b89a5d28b156005d09552ef43385f3ab217a6468eb627c98092f77acb17e0baaca8c51d628caa76a46f264be63b2dab184053c8374f267cab19692fb700166949c140bc9250b48fbc761ad9c31f929b716630a485926803caf87c96cbb6621f3630b734892e740783b49ece0116d3684d0919a8e1d98f055232fe474e21787cc8257023f0c13187812bfb0be9541493c84b5d249bf1a5705da5a7d0e45b43383f3470b0bd5bc9abb70a12095b72f10a775a6501cab1746709349340eaf868029324255745b5c55a962216060865145bb23abbbb57a4c01cf50a56353c86cc75aa1b303d21b484aaccdd359887777290ec07bb905c78894d4cd222d52837f3711a06605249f12f8af39d5ad074592a55960019bdf96563a77c16773c6529384a0a94c0c59543c1331b7c01d9a888ec213ddbd72711b666b3fa5d8c5a01fc2b9323113ac10654cdd821c8d523ccb75be783cc4304b6eb8a504e524b01f1c8d186380b537cab56269ba66be43301194bb8a6403f156aa49c293b0610651afc4392b91cc025b7a0c10e83d81f28f8617e54a2d7c7ba003d5034007689758cd5640967fb7c274bbdb8c4cf60e07593854d7eb549b9d81caf5c205c0185780976c1924201e3b68c9538e20cadebf821c24265f5057a005552066018a4ac69264c36efb1028ea355dfd8ab53991cb7a1a4c202be63bc1e90881dcba3c5d67ba791caa86efa745e9b44a17bbc38599c4aeb463337a210cb7a0ad247e4655dbb7c984d0415c0987ff5b73cb1130d71a1a59a158a2e5a9cad684f46eb84d544436892bc50f28f70cb225829aca5e2ce3faa133fb65239ca6bab3642e2e211b35817a5f7521539bb7ef216377985362562f4798f30a10a26e7c7b8019e5bc1be58799bf6173444f24aa8f907c4b166bac3b64a146979d5391545a26275548418ae5cf3575fc1b59e51c57838833794320bac50bbe7818057a64b819d5c7c51bce85a57435ecb864d039104c81c5ba8c5c28369152a2017f5213086ba197db2b27c31b9f3fb1b51691143845752ba6865908265063679ca8aebb2985b622529355403502a840a32f86567d17945d249c9a655301e9b66f5261919479725b02423688a84705a0b3b14ee37ae6e97861b1aa8ed8a8d384bccb3790733c09dc2c6928a2b58ea373076804f31f72fbdd9217bea15ebd756bf696b0a77cdf76033bfd2757ed911d45a9d66db2618f3466f264bb605b842a69688bb018ce27b330ca6a2b765e98498c2592ff152a5a8ac8c88857341992dfa0492cec41744645f6cb98ef42126a459c74e2217414767bde6bc349966efd84607ba4dceb02478e4c5eb4954ac3465a8f978ce7140781bcd8fb552c892002ea08dc27826eab81af59973e5717c577249520c2330651885c7471e9ccc5e0289a62921ef36615471460d0b485a214bea4337459011d2dcc7f651aea3d85e8b4a8124705af77a6906731fb487822220bd5dda2714fb54f86616aaa694890a1163a49a2e586792589454e602f7b0285d178c02c5c44760267bc18e84c0747cf4507210a79644c0f0d0517ce3b6ae10a6b5c6aa4750799b7546581a98c112b3ea995923145cfa294e3af88f40a107b3450b6804626932b7b16483ce3b491a69053444c5adfbc0960747e9d81d8e9bc84769b8547ccbc6128e3cc5cb6263af864571a38a42eed7b4a3d43f22e102eada81f5c40f1433591a2a83a39fae47fb47e7a6a20deeedae6d107a352abff2d5c539ba4f8b90d216d74e311ba5d734ae2c606d96748cc442aa4bd69460dc2fdf6f6fa8e7afa6af8f75d12195ec32a8686d0600e45d4a7f54219b0d7a3826d193a51b9156ecf2edd6
|
||||
|
||||
# Official test vector 34, seed: "5da2c51b4acf488c8bded5e985cc4702e4a7bcb248b5ac18aaba529f7f9cbf30efa776e99f76d5c1686e94f50fb57dae"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = d76b3573f596eb286ab5231feec7499686b13021be36cb126c7ebeb9d7030daf248c0a21ea0bb6d6f56f12300e8584d8e9a34e0e6f52227281151ae4c305fb8f
|
||||
EncodedPublicKey = e3e01a30e302e54960f903cf1f17a9dd3aa31f30453c1a239fc746543ba92646344f06bea9f256e7681a13f17b0e93ab8b5972b611b455380102b766536895a690af28f6461897bc12bb09cf85767cdbba16537618353dbb7155a9a3b6c43a2ace4279ded40c79e36df75cc4498a268d8ba04489c74d18ae7cf85bebd512543859ffb7448153953f138db815c80f596871083801a38bc3d70e8371c75f75294996777ab12c3e239a25990118c6a3a4e64fb1a5976c267dc4f2cb60db0bed2586cf060379dbc9c33a52b8c52ae7048430969c0b0bb506b102e69942329933707aacb9ea7863ac33dc17ba5b706d9a050ed865a27205ce30519ed9e4c3f1c405b03558693855b7baca0f0a4e607ab1df608640cb6e853019b6f1b839b52e1c8170be276d77b9cc0b743db8689fbad0add4f60e6c84c55d3488a435549bf86c23274e0912752e854682e52d3f3bbefdc76c0d93cfb6ba0b8ca33aa61a04bab740b0f95826cb19b83876ec1835222788bf52a844575ac1509fa0517d98470dd585c00b78c1e99129199b177d3b2d96b1919260a004e7ca268a4c8a77ce1115486171ac5a69158aa5c894493d3c9c845a102895939a96e145adb22d5c9a488939240342a5d53c22f80a81b47742c678b396f976d2e79f1108465142b7032b5e4b748d28f10361772798d63ffc06573f373118f97537dc2922a96709ca1d7132be59b6569a746985f881e46415f9792d17b11a96a05f241a6ac5a59ce5dac9266568f3126dfe6a5943f4c3b70630dfb42d7cb2c52c08a7d13902713a8638a51dae34355c78269d5a7b154a012ee02b1ab12443268566c4b1fe47962d380b40e2adf7ea604c94c4df6a8e03763bdd27ba8b6b383dcc6edcd3ae189237bddc6d6ac72cb2f83a13c631c2b2b497061a71137733024421b0ba6c87424f614131aa0490659a43a79f129a32a7713fe04c085eba273dfc7eeb00151fc9ca16b3731c1005bd069ca7d1b3bd166f0b988131875bcb556529792594686707cb454beb8309539449417d759096494250dad1438707c828eaaa58700bfe4859a1f3bc5eb075bc91c875c147a928ed5c0ef09a91063098a2c9b99814fa507b362d3ca017f991e276ce
|
||||
EncodedPrivateKey = 33e5a0996787e4b7990adb8d7368bebe03874a05436f22b366c29efd12996d572b9aa29cee28bff36798cf325c6978a0c154534e384c2e097a35e4ab25db23a11b4aeb060f1b5449bc37a2fff8a444aaa84160c0fcbc91ec6a97b7d1429d9a99c08589e765789e7a02f891b02f9c0a4c40cbfb0362d99c2486512edce8cfc57baff4cab613bbacced77ab34248146c90ec6b5733175c2cf309508269ec976c659340e6b4aca64ba5128bc30c218b5976c5ec984490933268c8164101397d6ca918cbbd7e4609a82c0e04d6c5d5b48777f70d62b715a033cf701085f83c12c16ba70e594fc8c851f24a42d958b1cceb7f26435729ac1a5eb639eddc784353c573c8b064275fda8913d1700f88227a37b9b02604c8f1b5c8a9528519358874f57cffa059293622e6e5c9a4e40e10a352e4f4c03d8316a692b0b2f918ea698dbfd2b065791c64e87772f28056067cf46201642ba5f6ab42df74cf06a975b1033fc9f216fde33c60e8666721259dcb8297468b0d590e7c56639b644811851da207b7e192ba4cd9a3d899009219c5c0c4bc65a1a293fa1d01677bf07cabf3d4a4fea28a18b53772f5af40070d7d2855c25499a844a9dec0095fa2920926184157c68d6b92848534d7994b6496780bec1ba8b70ff5351af8b28e44a6a64017302841cbd5043ca6f82473d102418998f776899a20b6af106012f5352d37ce89894eb9d8189d6739e73b0bcb452b233b4d6959c7c9d449b3faa170e699c9db997de264ef62939173189764477ed1c78342a8a5137e7ceb05caf70c60d706565894e9bb903de56854ea6871a7bfa7eb36755c7ee0d788935a5ea84742778ace13345f8cda09a27666e74355cfa536129328c9d5ad24c4a103c4828b3298030696ff218b67510f32d89ff4da842fdb10f7b24f5936cb8077c518852835737889410ed056029892793e434371a88885497ded4c16041c415f61015e3c87679318b8e2c52558137a52b18b890a3ac23bec424018a677d0223e2a8a7c97f5a4a4a80b2fba98ad01225e17cb74b0c4cce1c190200bfeb6ce58d102f2a3a5d28b9dfe3010de67bce3e01a30e302e54960f903cf1f17a9dd3aa31f30453c1a239fc746543ba92646344f06bea9f256e7681a13f17b0e93ab8b5972b611b455380102b766536895a690af28f6461897bc12bb09cf85767cdbba16537618353dbb7155a9a3b6c43a2ace4279ded40c79e36df75cc4498a268d8ba04489c74d18ae7cf85bebd512543859ffb7448153953f138db815c80f596871083801a38bc3d70e8371c75f75294996777ab12c3e239a25990118c6a3a4e64fb1a5976c267dc4f2cb60db0bed2586cf060379dbc9c33a52b8c52ae7048430969c0b0bb506b102e69942329933707aacb9ea7863ac33dc17ba5b706d9a050ed865a27205ce30519ed9e4c3f1c405b03558693855b7baca0f0a4e607ab1df608640cb6e853019b6f1b839b52e1c8170be276d77b9cc0b743db8689fbad0add4f60e6c84c55d3488a435549bf86c23274e0912752e854682e52d3f3bbefdc76c0d93cfb6ba0b8ca33aa61a04bab740b0f95826cb19b83876ec1835222788bf52a844575ac1509fa0517d98470dd585c00b78c1e99129199b177d3b2d96b1919260a004e7ca268a4c8a77ce1115486171ac5a69158aa5c894493d3c9c845a102895939a96e145adb22d5c9a488939240342a5d53c22f80a81b47742c678b396f976d2e79f1108465142b7032b5e4b748d28f10361772798d63ffc06573f373118f97537dc2922a96709ca1d7132be59b6569a746985f881e46415f9792d17b11a96a05f241a6ac5a59ce5dac9266568f3126dfe6a5943f4c3b70630dfb42d7cb2c52c08a7d13902713a8638a51dae34355c78269d5a7b154a012ee02b1ab12443268566c4b1fe47962d380b40e2adf7ea604c94c4df6a8e03763bdd27ba8b6b383dcc6edcd3ae189237bddc6d6ac72cb2f83a13c631c2b2b497061a71137733024421b0ba6c87424f614131aa0490659a43a79f129a32a7713fe04c085eba273dfc7eeb00151fc9ca16b3731c1005bd069ca7d1b3bd166f0b988131875bcb556529792594686707cb454beb8309539449417d759096494250dad1438707c828eaaa58700bfe4859a1f3bc5eb075bc91c875c147a928ed5c0ef09a91063098a2c9b99814fa507b362d3ca017f991e276ce8e1f82b5bb2be84802904df92cc59847bac515c23b50daee429eb8c94daae147248c0a21ea0bb6d6f56f12300e8584d8e9a34e0e6f52227281151ae4c305fb8f
|
||||
|
||||
# Official test vector 35, seed: "4d2239e84b052109a78dbab6d80c51a86d38248105970476b74a0b78b9cfab6283e30d5a406fae1c7f54f8bae1110ee4"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = b87439fde81c9e39eebe7cf741c685785532c1dd23e8ef868b9ce7a541010f3d1646460817a0fce5836bdfe124a7448e7adf7b8ecc2652ac6d280e986682df71
|
||||
EncodedPublicKey = d1a2ccc2e6050154815bd729fd5843bd61c411e4beb3f36dbac03e1f1618ae179946d39f3a5107a13204a859a0e22c4df8dac0eb8a989aac1082a156d5d990718a2a53a8185b868cd173ac0bcc6f2c856a4f5c5a27961f4a13960192be1bb3a6b4a74fb8200ea65714c63179c229a3a77a4887b70b2699c7d8da86f7914f0050c04e8329d506281fdac58af2ab164622d1b9acb45b1a0ed938d8048bda2392eca87f9eb8209fa7b10d86c652fb6677e2444ec0a8263cb6a78084b11b29d83998bef475a6e8038fd708899178eae731e943add65619f1131002dc678684090d8028a7f89e02126573a710876c1e9ccca3bd54a9f7b60c38c594a622b7bddb48fa8bb1fc74837350381f28c95e2b2687b032bb93ca40b7710a9742bf739dd281537d820f6500494895233f56203c05384fe5bbcdc271c6d14526a987e3029eb9a44bd8095f10272cf4372e1df1c537d9918e4109f0e860f0b83843a81ac4ac539fd292e9d60d596b9b5c246683154d42a4523c7cc811b16fd2a98905ab868cc8aa78b05dafd32a1b9226c7b809bd7698a3d55d008643544b693de10ccd7329d8d095b912bbe6a7b684f1330e476df2d8207cd0492a992d2e4a6fd9ea8b40d6949ab1005e84bc813502024a99c8b5719f170532ac8f68c2ae11d78c5691c934d1b178ecb24f376c0c314a0fc8ad0f67cfbb3b8abe360ef4b7c275e31f8dd176be216589d73187ebca0d298602fb3015a1114f79a56095073c28c3e8fc41cf440f89c372a675ba23e1c9d641287aa99fe620311fc9a72abb47f26c1b2842b3fa6a6763aac5461335b5b9284927bcb39206183697fcf57309b3b43fc81f02428b9f748eae9cb5695791ce7b9752a4798f84544335c8eb64902ca7c6c1e76e3f34342c304f56819cdd21a9f5395176ebb11209a52b22c9ecf58f54578324ea9a82e644855525ee7997ef18658ea3ba1318b18b932f6187acd2dab3643ac4b9d20574e48ab7f63531f65cf53194ffcc3a210642a203899f83735c10bd04db869ecbba52e598f6a28e27b89576b023919540502a7420ba7b00e3ab2c16362625b6b375ca32d000c55468d904b9e1532da02f107851a465fc8e3b43662c4e0141ea13104d
|
||||
EncodedPrivateKey = e22c2b3301b9055cc224d79d41011447083389f8a551d7309b8300a5a0ca39117f53980da1a2843f18647169849765ad654ca735308e2e83753f38cd576ca961366c54f72237d9bf94ba6579a29aab23c494d69648f21d99609beec82498e04a5df7997dea56989142ddeb574bf148379abd2c9c3e6d0218f55b8117d869546a16e2650b10294ef39c986a53c1d2d52c83b432ceb5bc088260b2f28155849b8bd87c74c007090c44b28c627f51594a598ece76a03fa4113a1c1559683580e55eb2732a76a79a31e88775111e0891003639b79acba6083cadc687a60bb89f54113bc959c6d1829faca7bdfeb268775b07a34a0a03525ba9c63b5ff8a53f2620ac8cbfd3c89744f983e7d3b41ce316f70c7aa3c96376744e65eaa40f40cc720c9982167d25e28f93bc0cc203d0b3423e4b4192dcdcbf1d884eecb76795776ccaa6a931a1c89ef3afbb3a0c8261c547db7b7294adb05657e5c018e468925b6012fc38b89fc13c5bebbf0f633ca83a37f61632604826a13baf67302b8a7abc5f2220b3497505170d3fc04fddab4903792a9b0243b9c6b9d3f97397ba41ad05026a62ad5c8207bce97ee6d7aae3ea8742595ecda9520b89b4cbc2c40b6ac43d62a39244185aa1b851202d00858c1c4438f8001b6692c24d98b2fe5b52aada43022b5471fc76f403c2395cba51a87c9c0190b4498d08f859d87722f212a626e1707a71a6f5ec115386327bf316d94159e1cc94fa938817a9ce3e44a598a30d3abca1600bb28eb2170de687a019bec01339a88c4920503a2f77b8b4124ba92c069cf63dc960ac71d8175382503e1590ff85003b7c8cad6a8f443c9892b9bfcf3086c2cbc16bd7c94b94c49f5cb30d183e8acb18d2fb11cb532fd244a7fdf3808d00433fd14c7e165c2ea20e0143b178662d09473b448cbf7d36c45b71ae73cb97269483efd007178b6eeda7c0d2ca32e1a223eb0b4369b4599bb0513a79781644be4227ce8edc77e4c81cb5c57581ea231a83c8e5d029881a3a36c9c25d4b5e69f33f0ce59b14e2a0cd2cca50f8b9e6677ff9cc38da15916525046d99b029699cdea7b0d1a2ccc2e6050154815bd729fd5843bd61c411e4beb3f36dbac03e1f1618ae179946d39f3a5107a13204a859a0e22c4df8dac0eb8a989aac1082a156d5d990718a2a53a8185b868cd173ac0bcc6f2c856a4f5c5a27961f4a13960192be1bb3a6b4a74fb8200ea65714c63179c229a3a77a4887b70b2699c7d8da86f7914f0050c04e8329d506281fdac58af2ab164622d1b9acb45b1a0ed938d8048bda2392eca87f9eb8209fa7b10d86c652fb6677e2444ec0a8263cb6a78084b11b29d83998bef475a6e8038fd708899178eae731e943add65619f1131002dc678684090d8028a7f89e02126573a710876c1e9ccca3bd54a9f7b60c38c594a622b7bddb48fa8bb1fc74837350381f28c95e2b2687b032bb93ca40b7710a9742bf739dd281537d820f6500494895233f56203c05384fe5bbcdc271c6d14526a987e3029eb9a44bd8095f10272cf4372e1df1c537d9918e4109f0e860f0b83843a81ac4ac539fd292e9d60d596b9b5c246683154d42a4523c7cc811b16fd2a98905ab868cc8aa78b05dafd32a1b9226c7b809bd7698a3d55d008643544b693de10ccd7329d8d095b912bbe6a7b684f1330e476df2d8207cd0492a992d2e4a6fd9ea8b40d6949ab1005e84bc813502024a99c8b5719f170532ac8f68c2ae11d78c5691c934d1b178ecb24f376c0c314a0fc8ad0f67cfbb3b8abe360ef4b7c275e31f8dd176be216589d73187ebca0d298602fb3015a1114f79a56095073c28c3e8fc41cf440f89c372a675ba23e1c9d641287aa99fe620311fc9a72abb47f26c1b2842b3fa6a6763aac5461335b5b9284927bcb39206183697fcf57309b3b43fc81f02428b9f748eae9cb5695791ce7b9752a4798f84544335c8eb64902ca7c6c1e76e3f34342c304f56819cdd21a9f5395176ebb11209a52b22c9ecf58f54578324ea9a82e644855525ee7997ef18658ea3ba1318b18b932f6187acd2dab3643ac4b9d20574e48ab7f63531f65cf53194ffcc3a210642a203899f83735c10bd04db869ecbba52e598f6a28e27b89576b023919540502a7420ba7b00e3ab2c16362625b6b375ca32d000c55468d904b9e1532da02f107851a465fc8e3b43662c4e0141ea13104d4a578f7a30dad7dc700ddaaa4a07ae3661cd2f542663e9dea36441a18982cb1e1646460817a0fce5836bdfe124a7448e7adf7b8ecc2652ac6d280e986682df71
|
||||
|
||||
# Official test vector 36, seed: "ee762f5c9021c36446706a88ef16312f4a12c725cd7afff1484337c91eda8e89f7007f3705747d29907b3fb7500e5074"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 056661b38038da4fdd7426f32a81576c73ed84843b305168a374f934e27a4e1b79238a80dcfd7c992d84b2dffa67493e669243d4fa38c46b090bdf86bc548411
|
||||
EncodedPublicKey = f5765ca4682833c5688d7a598bfa85dc5b47399c41a1764b14a1a3a04b913307802c2a8c0f9a3f9280317c657b3ed8772ba12a8c766a935a62a743091474a15cd257609b7c0bc94c5b5290d80c472383cfd00a92476a0e7341a54743635a3c703d4764a75612aaf9c37a164b8f8a8c14eccfec5b5281c149a1a362724828083860b7b10c38426b72c994f836506861429d3a6a95ab52a033adbafc59316961bee102c98ca069d25089d61551a98890e3bb26767a574cb1cbe800231aa9a264ad746c51587b2176a46b3112249e1c676368c704dc61be48a33d57a7282bb2234ac53ca95dadd30934053bc80b22b820a2db481c99128bc273a1ef31b4079311cb484e5efb1e2ca906dbd3732fa297805a4eef315a1be42e60e843aaba9e63c60857a4736faa0be817cae2a0c76c05cfc1f9209e2c88a08828e572a4dd6c09a0d57373c6c48d1c74e24b92b891aa8194b7c65b4d09e681d6e4ceff720217a905fdd0ba54c87063b72252838501a37ecf72c7f9c5b794830c44772b0e272d039a9c52c5272360cef038b35fe29b1d8643658b4e70699f3df2697c2a6220e11af4008a304a50b4bb66e2684b49db261fd749fbc937a3233db999c3ee404e7202cec0f58899bc4dcd2c3768c541dfbbb91fc94aa033a59bb7151a83707ae4aee3e98819277381123404f555fd012f5fd472a1e5ab6ce33ce8e52ac3f8a7a049407702202aa9a5035779d6e02e667202afd2a5e962173b469e2028cb6723ae986109f452727e851713bbc2b444b0e976a72bcc85e134cdb1d77cfe4032bc51364cfc308611721396293a73b3324c31cd16705ac77e12d36c43eb42de833fc097a10b8a8acb804de6203a0e532dd7f6697cc87d30a88e76b41482a60d38c91d775c66c9e6bf81b93353446b11840ef5801a11709eb4e58859831f29f4cad9c7785b210d53b8a7dafa17f49727c064160b075b09f83e405b7070d37df2840e91a577e05827e41433f3d64a7e19345a8c73e2db01bb662948a4a97c83bba4e700bad26cc5f0365c251df5aa62eb31558baa95513a64afa56d285b496aeb31f4db94efaa66d3e3ed69ae4b198cc143be5c3678d9339bbe888ae946b58a4666cb26d3841dbd
|
||||
EncodedPrivateKey = fc9406904b5869ba0792a66c73accd7c14a5f9848c3edb07b14586d66501b14c4a75447ea31b18044aa3f8452d4b753231c9240cfa0651d96e46267f392841137633aa917b5e4587a0d225d6cab4e9a780596a9304141b5415b996720056f89be9e3b52e452dd57958d5512b0fea3ec73040e68c08c09273c1d8557460be2a91b175e63a870a812fe7b0193612d00b3740e988192c863244b701627d84374cc06174b35abca6e3289440c0b305813d1b31a68673988a35a8d98cbc78599af45f318b6c26d152a72a4876f28645e503e476430336a0721aa676b166d777615d163cbc1532568044e05a1e15213729d119d54891fea7c504fa4f13402e73c6c2999a96386b68423907384c162e0a1b7ffc80504c53a4356786cb38c0660d9941b8deb4c09c1122652132ce9b92847b510f76ae8775634feab417d39c3ce9011928c9e8899c15b22b3c448fac11247f05c200e82b604b28ce619415a0308a52172792ad506c8367712f80282327dc35de1031de7a7fcc4149fbf02cfb150af7782fa04b152ecc757f10507505456230078747306ae675b1f8cca7044601fabf24a018f27c8fa683229b9aa930b35c699aa1d5d74236a8c22686b4432464a00803f8744df6353264c2b070577a76b25137f64f2bb9be2c9a5cb47118d5eb0fd9394a14c3c96fc0aa1f338f554410b8871951f072f1f62d71091299b07b666c142c5360a66a7f690b9cde69230c32388fb61a1aacb2614a5a024b5a264cbc26041876e8b4ae7019cb70856baaa03cca4773149db9a5156ae05e0e63aaab1980a4319e98b39469a67a7a0249a36217b19c0544d208e47a950da031e201809890b5378a0e355a95a57a24b70029ff808da47996e5a044a627786883b39f95687edb6a8df790d8866b61f4498242bfe6116e13d48adc6774f0aa409ed3a60094a478c02aeb5c40f60891382b36d6e97e30f40e449a9ed8d1139d1b093c839a229b9c16ab7b9953867ca392b41b7c0a47ac52415f2aaa0ebf5384db49a782c74f613a4eeca05e904a9626e787702b9cb5590a06978c10b63672f188366c1889318bfc130ef5765ca4682833c5688d7a598bfa85dc5b47399c41a1764b14a1a3a04b913307802c2a8c0f9a3f9280317c657b3ed8772ba12a8c766a935a62a743091474a15cd257609b7c0bc94c5b5290d80c472383cfd00a92476a0e7341a54743635a3c703d4764a75612aaf9c37a164b8f8a8c14eccfec5b5281c149a1a362724828083860b7b10c38426b72c994f836506861429d3a6a95ab52a033adbafc59316961bee102c98ca069d25089d61551a98890e3bb26767a574cb1cbe800231aa9a264ad746c51587b2176a46b3112249e1c676368c704dc61be48a33d57a7282bb2234ac53ca95dadd30934053bc80b22b820a2db481c99128bc273a1ef31b4079311cb484e5efb1e2ca906dbd3732fa297805a4eef315a1be42e60e843aaba9e63c60857a4736faa0be817cae2a0c76c05cfc1f9209e2c88a08828e572a4dd6c09a0d57373c6c48d1c74e24b92b891aa8194b7c65b4d09e681d6e4ceff720217a905fdd0ba54c87063b72252838501a37ecf72c7f9c5b794830c44772b0e272d039a9c52c5272360cef038b35fe29b1d8643658b4e70699f3df2697c2a6220e11af4008a304a50b4bb66e2684b49db261fd749fbc937a3233db999c3ee404e7202cec0f58899bc4dcd2c3768c541dfbbb91fc94aa033a59bb7151a83707ae4aee3e98819277381123404f555fd012f5fd472a1e5ab6ce33ce8e52ac3f8a7a049407702202aa9a5035779d6e02e667202afd2a5e962173b469e2028cb6723ae986109f452727e851713bbc2b444b0e976a72bcc85e134cdb1d77cfe4032bc51364cfc308611721396293a73b3324c31cd16705ac77e12d36c43eb42de833fc097a10b8a8acb804de6203a0e532dd7f6697cc87d30a88e76b41482a60d38c91d775c66c9e6bf81b93353446b11840ef5801a11709eb4e58859831f29f4cad9c7785b210d53b8a7dafa17f49727c064160b075b09f83e405b7070d37df2840e91a577e05827e41433f3d64a7e19345a8c73e2db01bb662948a4a97c83bba4e700bad26cc5f0365c251df5aa62eb31558baa95513a64afa56d285b496aeb31f4db94efaa66d3e3ed69ae4b198cc143be5c3678d9339bbe888ae946b58a4666cb26d3841dbdbd7c4b5dcdb1e5e85f26c47050d5a34ad902eaa7a291acd826be0b213115679679238a80dcfd7c992d84b2dffa67493e669243d4fa38c46b090bdf86bc548411
|
||||
|
||||
# Official test vector 37, seed: "d882ba69ac8bbc88715f1c6387531f53273a5dab87e66faa8221a7f628d2bdeee1cbc59c0e08d0add84520a3a70c1389"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = a1b52d871612a1c611ae0944f9e71858f35d3bd14f20e96a931720668bdf0a6b1f135cf64b6403e103afae34da038613e2853bbfc36baafa3c6a95347193f37c
|
||||
EncodedPublicKey = 0c44207d2b1dc07c6889f972630cb59ef8aaa1f66b9b69afd049b4f5b318b8041e21a452960960d00192ed859724759f0cd93807b78ff4020dfd78b93a0c83b0ba020b39b1a585a0fe3722bd548a04b61fce032261d8425ed0417a783e385012165285fc2ab3c8d522f456b2534464ac20cb45f3a92d599a198683651c7d241b0a8cd794e1a881196855c84c8ba5f6baae47822f3b1daf7cc232ea0aa203802864418be23e0df4ba79781d72c4514c524575d79e4ee85404e601bde8cd7975c834d08af20435cb8b8e932493b3f9b455755f769cac5b0cc4b264b65d3b7da2f22299660a383306eddb7e1dd391e611bba2a64a0659727ac647a08a9d5c6c9917eb0918fc515a281ab51b4a84376e5f4c2e8b89c5d070a831174127072e7c37388763966b0c32ac620ffd640fc366407fc08edac9a7b0a87cf0739e84cc24b0e0393fa77b73935861b2750ecc0f89f38cb97b68fefa455996a9bf939cfb7101bdb929ddfb380846b9e4837f6f94cb5614ad162c1119c322f91a64d66ac0bc181df9536ad1a91c549a9ffb6c96a1258cceb21c4c726859060de52ba5f96236e6939f09ab969fc7ab68101fab558cf9319da199606ff873921992e9fc6ea53909ac641b75791dc7755022272018373e71c345c8386f371865e5045425bcbae10a155bf1b7c61429c1d4093f55820a79bf6c25a1cee427406a4530904f0235005b246790b9aadedcab69f25c7e17a0ab0c5aaa314ee3555991467c8ad457be07a55ee23d334800eb2428cac04d2f1521d0635c10f977ce3015ce321f4eea1dc496cbd2349de603850b65088f6b558cc70e42027d9c078b9a8a6e5ae8520d986a4b8b61ca171a97830370437bddb88cc7e728d8a5b209121d31b110f8c049ed2b65fc6950e3d74954146a2eb88d11d10bcc78154e25c35fc88fb2645046d6a48208bd60b8115550338d570359008a904583c25223d9b30726505107726aea3217989c27867b673ac401b7f50867f6975135aef32b9583b1ccf6f547f13b6772a87407723d6d5b18ef8bbbc8312011e4ad71a63cd9a921208ccb80c749393564316a970326285e118a4df65b14ec260a133868de1f25a352aa2077ff96662e5a2c8336
|
||||
EncodedPrivateKey = 1d3c2d52b0c6612ba2f52347416c21f34472560103ba81a29c18807b26b938a41c6ee3383419ccc0f8ab76053a611ab55858239cbc692e885fa2d8cf109523fbb1873ef0a4aa07667c3641d1f2b7820c8c7aba235b0799df2c94c1cc023dec298f6c04c1b5ab8e8091b25c1dcf0006e741628cf4cb4b34bbc2973ca83414adf5164fdc5b6fb6176763bd018018df087e05c219473b0133a5c852f67058f85b089c05fb97bd9013904cb628e39887960c6e4d96a1385bbce9d047db042ff50a3daaf19a4fe3a8f2bc85bc4a77c9ea490bdc8f95125c637a45d8fb30df8b899b206aaa9b515ed3ad64d30feec421b13a5e0269aa7953a4a7e2ab24f094332a9ccf45abf1051c0255c5b9e8cbbab63e92a796e6a328b6cb6e8e42731cb49c53480751866451293f4bc462cc5c270da8856ed8cc49149dad57ad97e517adf0925e911d3c21ab4b733b9870b8be380b17145af89675c5fc3b8d93033ad9a377b22672d9aa82577b4eb4b8ccb588e407a6aacabb2dc29e86ba35c87b636b28469cb79c230438702120c9b22c3ff8698071860dbb67a0666bac693f7768bdf02843fe22c92c045ac7d44731919e221b6b0eb3601133ce0458799e32af65a7be65b68cbef0c23c55a1482a7dca74a03cc98945fa26e8894b9a289f4f142fba85093c8b0177d94211b3368f971807d44752fbab03b95503eac8710b0500e348d29146799b45d2a52ee2c20856277423a37322b1ced01a673024132c0b07e2e3bb0d89555295692fe12cdc518ad51864d0fa1de7355b827cbd2cd617c3a15fa95ba6c39a310dcc85bc5c3f269748a9e6059e07659c673a51e697d5324f74613596d08ee6683763ea6a519cce53c1bc94619d9735a3c6422cee019199dc5b8af1aa07578002e14015383b30d97134aa0611b4717f51b36a485dc2a79c84888f07b605deec788b086fe606aeabe5c823100ec726618fc3714cb23d1ce165b00018e8bcae39744dca0ab272e478f1cc6ecdf245259c016d280446c8acc3f2c943b31805b60110297fc48bc7bd40332dc017b216a59eb918e05a1e5e403f0eb25d67f0365a752b0c44207d2b1dc07c6889f972630cb59ef8aaa1f66b9b69afd049b4f5b318b8041e21a452960960d00192ed859724759f0cd93807b78ff4020dfd78b93a0c83b0ba020b39b1a585a0fe3722bd548a04b61fce032261d8425ed0417a783e385012165285fc2ab3c8d522f456b2534464ac20cb45f3a92d599a198683651c7d241b0a8cd794e1a881196855c84c8ba5f6baae47822f3b1daf7cc232ea0aa203802864418be23e0df4ba79781d72c4514c524575d79e4ee85404e601bde8cd7975c834d08af20435cb8b8e932493b3f9b455755f769cac5b0cc4b264b65d3b7da2f22299660a383306eddb7e1dd391e611bba2a64a0659727ac647a08a9d5c6c9917eb0918fc515a281ab51b4a84376e5f4c2e8b89c5d070a831174127072e7c37388763966b0c32ac620ffd640fc366407fc08edac9a7b0a87cf0739e84cc24b0e0393fa77b73935861b2750ecc0f89f38cb97b68fefa455996a9bf939cfb7101bdb929ddfb380846b9e4837f6f94cb5614ad162c1119c322f91a64d66ac0bc181df9536ad1a91c549a9ffb6c96a1258cceb21c4c726859060de52ba5f96236e6939f09ab969fc7ab68101fab558cf9319da199606ff873921992e9fc6ea53909ac641b75791dc7755022272018373e71c345c8386f371865e5045425bcbae10a155bf1b7c61429c1d4093f55820a79bf6c25a1cee427406a4530904f0235005b246790b9aadedcab69f25c7e17a0ab0c5aaa314ee3555991467c8ad457be07a55ee23d334800eb2428cac04d2f1521d0635c10f977ce3015ce321f4eea1dc496cbd2349de603850b65088f6b558cc70e42027d9c078b9a8a6e5ae8520d986a4b8b61ca171a97830370437bddb88cc7e728d8a5b209121d31b110f8c049ed2b65fc6950e3d74954146a2eb88d11d10bcc78154e25c35fc88fb2645046d6a48208bd60b8115550338d570359008a904583c25223d9b30726505107726aea3217989c27867b673ac401b7f50867f6975135aef32b9583b1ccf6f547f13b6772a87407723d6d5b18ef8bbbc8312011e4ad71a63cd9a921208ccb80c749393564316a970326285e118a4df65b14ec260a133868de1f25a352aa2077ff96662e5a2c8336c3ecb18be331d910bb3800749fc94108e75153523c20ff6e89d53f802b23c6341f135cf64b6403e103afae34da038613e2853bbfc36baafa3c6a95347193f37c
|
||||
|
||||
# Official test vector 38, seed: "6c3aff39f5d097096d882f24717718c8a702382dc4aaffd7629763fda73c163cf084807bbb0c9f600cd31a7135f48aec"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 952b49c803d6d6fba69f4375adce8594847a00bcae2179da49af2aed0423250262d7033947ae42ca53522a65fbafe18d3bc3e0cb66164e9a094fe4b44d8977ed
|
||||
EncodedPublicKey = 290980e3f720be37ac8c847513c3abe543a4b99570d4381005b174ac05522055aca88031c7e3765bb69f7da3a38e928fcff46751ca03cbb5b70c0242cd89b290493cd4521190d1159894233630a803b32c94568e3cb64f110990112947b20b85242c7b93c8b27365c50fcbb112c544377c6c6f0c2ca848778a70487df839d7f8a452c13100e99017058ec86142a9fba54c7c5a00c2bceb8ba783550ff9c205a5a93492d01f62133a3f1c4697c504d211b3078706ccf9a93462a66cd4a484a961d3a384e7804539987823b795d96a2122111a7aac9991f14f75c6beab224e154b8292272223a99a1934a701529b6fb79bd393220bd29629e74bb100c6186c16ff2b7f62ab12f189be1b46af8a2830389ac80a645aa81041c216bbf1a71ca9fc58e1f43294741afec8c11065cad828b14731645f950aace5274c603e63c47b6d385c47e913c61a8b121690df9b9638a69bc650051b3327a4691518507380db2a1a062d1e94730d9808d1632463aba6d818a41ad17061676022f597a33205be396573e69378f6837fc1cf581164241c6952d8689f42b53b332625671c7351c7cc8c95128b11027326f46869d60c12f64470691b8e200529e2c14392815bf13b36694ccc29a415c9fbbf73d4a61fdc060f9467114177a3545ca2918c8faba4931bc38268001e1215ccb9a2238848168c07da90210d31c63feb1723dcc33b7490a22a5143431d2ba79858e40b8615280cd643505a8d8bf855ba9168381726afa95fe25c425f71329ce53cf26a9e5ad34723eaa2f05a74eaa944b26627d8601d3aa2ab03d07f3519916a12444d5bcac6c61a6f518d515b7ddb2b04caf32f71e8a73dd76fbca992bf921323c16dc744b45245aa77e9c915984550558d6ecc8ddfcc2e5f7bc9f96bb921140436900841378b9acbb8e3698390373ace7ccbfb82084da758ab0b342a6484e5208ec9f3061cfca95367938567c744156ada178da46038b9433cfc45039e31427c208861f38565e7649616c28fd8cdd49180de25254b30151b991f705ca32078b95d82003370b5e080b828299e43813dce7a2e642b22ccab6efb85f1d32bf365355817870c1fae083d54213409052b2d5dc399cba92f04e795
|
||||
EncodedPrivateKey = 7af19e7d8841a907c7968b08c528a917808e02f652c362bb72900f2442a80e552fe8996522478280118203913fb5ec7105375240b7cb46d689af4684bdf36c0cca04c700a28f529e565bac5307592d69b8d3892bf15411c776268c1aa7fdf88142f14c28e3bc2e60b5d46c1e3b3788b9e807b83c4150071ccf01c9f316367b05939fa34a68941fa9e690f69c4c080b975031c08f16498e12cd6dd854e3693386cc36beb45ad2c847a86902e0618a6f856756f073cef8a2cf88552c79b5c5a720ff7a63d10ba8069a010fec159e3c85ce592e6c04354d528639d82832acc5c169cdc105c9f06011ab1ba7490798e2e11ff173bf845a9fe46926a3b5bc8f641c202aadb7357f19bb417bd68d8b15826e083532c5c542514cc7d6a970811fcac0295b137fcf04b23da71070ac1b423a5353e34edfb56074e350e62b30925bc3d822a110205f263c6acd7a1453385da696173b5a346de14c92f94a79f29411ca6fdcb7ce26d2b63a357fde844f9c78aac77955747850c276adcdc44319dc2fb9b92ea760a6304c76a962000bb78c3a588200a50d8526b1307071a9b9cf8411772898386a9535c687926d01b4bd987d6b751d9bbbc6a3b71d2ab9296706b968f4766eca10e6f91efc3c8a4e5abdeb7b3e27d67c4cd29d53280c7c225d7f9c884676b188cc37f2035444b3422b3a75f83cafa459aa6fe7c6f1f9b3ab79706490513ef438db561a94911329e9a97a68a4a8148975c4329d0a4e9637946ae4590c73037320382c6b4126599131527866377c8d658353c8cbe0e3850dba0b75a48b80270eda6a7187c783b5d722cba22ad3205b12db4bd64b711720389de25649a532989c237fdc93dd5488a22644a12bb919d82540914d7296a03f016cfe48755e6697f54322b2b2c16bf093493c3411c10f4beb7c8e3b9a83858d9c38adc677a6e7ab458ee54575d5896bb0c05306714fcc2220d8915ee6991741b7a87b438433596358b6beaa7417c55731e2a0e8a113c38506818a0cefa4befee00d77b95a2d72167cb93125102f7b107859b3b208bc07dac7630d78a16b8c223e96458b371ce93974290980e3f720be37ac8c847513c3abe543a4b99570d4381005b174ac05522055aca88031c7e3765bb69f7da3a38e928fcff46751ca03cbb5b70c0242cd89b290493cd4521190d1159894233630a803b32c94568e3cb64f110990112947b20b85242c7b93c8b27365c50fcbb112c544377c6c6f0c2ca848778a70487df839d7f8a452c13100e99017058ec86142a9fba54c7c5a00c2bceb8ba783550ff9c205a5a93492d01f62133a3f1c4697c504d211b3078706ccf9a93462a66cd4a484a961d3a384e7804539987823b795d96a2122111a7aac9991f14f75c6beab224e154b8292272223a99a1934a701529b6fb79bd393220bd29629e74bb100c6186c16ff2b7f62ab12f189be1b46af8a2830389ac80a645aa81041c216bbf1a71ca9fc58e1f43294741afec8c11065cad828b14731645f950aace5274c603e63c47b6d385c47e913c61a8b121690df9b9638a69bc650051b3327a4691518507380db2a1a062d1e94730d9808d1632463aba6d818a41ad17061676022f597a33205be396573e69378f6837fc1cf581164241c6952d8689f42b53b332625671c7351c7cc8c95128b11027326f46869d60c12f64470691b8e200529e2c14392815bf13b36694ccc29a415c9fbbf73d4a61fdc060f9467114177a3545ca2918c8faba4931bc38268001e1215ccb9a2238848168c07da90210d31c63feb1723dcc33b7490a22a5143431d2ba79858e40b8615280cd643505a8d8bf855ba9168381726afa95fe25c425f71329ce53cf26a9e5ad34723eaa2f05a74eaa944b26627d8601d3aa2ab03d07f3519916a12444d5bcac6c61a6f518d515b7ddb2b04caf32f71e8a73dd76fbca992bf921323c16dc744b45245aa77e9c915984550558d6ecc8ddfcc2e5f7bc9f96bb921140436900841378b9acbb8e3698390373ace7ccbfb82084da758ab0b342a6484e5208ec9f3061cfca95367938567c744156ada178da46038b9433cfc45039e31427c208861f38565e7649616c28fd8cdd49180de25254b30151b991f705ca32078b95d82003370b5e080b828299e43813dce7a2e642b22ccab6efb85f1d32bf365355817870c1fae083d54213409052b2d5dc399cba92f04e7957fea0580712265383dbdf8c3d33e0718a34646e0ad56f9d2b504dabde37714c862d7033947ae42ca53522a65fbafe18d3bc3e0cb66164e9a094fe4b44d8977ed
|
||||
|
||||
# Official test vector 39, seed: "cf520b92a2e3677afd003ec1ec6ef136a709d78f828c9c0dd4946efbd451c5faabfc83ca66f9d3d17ee4220553b7a69f"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 3c815e57e9233e975fa1630208aab206b71ae0db37a7a8789ac683d9f9b2d29801c8e376fdb140ee343106c093af7cb149b316ba79446ceb4e5e0cedb9b164f9
|
||||
EncodedPublicKey = 32a799305802fb3241cd41a1df49168c953c7bb0ba00a74acecca3c87b5edfa11ee3f3bde02b52df2922e1c0589ef264334024a0d1274f1ca7f150129644b3ff63a0ffb7b490c311101599cc4b7567205e77c69b6a88167ad1445f4693d79c94fc38cf1ca513da307fc37a26c1e548427a6d6df41275a0c2fea14b65c85b76fa0040c20c3ab99f3761964f61253babad9f7bced99c178770264a50aac903684160b144d73f225058c8bc9ee0833f7497735d3c079d48b6d64bc9130345504a48469c3eefb3bcc1b50196b430190697f4eb0819596cb2431efcdc5170049d6ed08ce955a6f91cadcf7c6553099daf4c70b58b27ec6a850eaa6794d9b716e2ac6b54143f5a4b32c5556751af88c5290929a034f4a28f123465a00be41013464c7731f71479211db708cf62965919199eef88b54e7bcdb724850e90aa5b340bfbe0569fd226feec7873405e97d547b8448b9e1172c46474d5e4379ef8bc602c95ed38344a3c5984b71362a75fa5285484c917e18627cf3616220165ebca134173756293b8c4f0576b85b3bad02864e79e44989f56c626c4bb1a52445f6be11772a6846a5b6afbb47f6f18c4b82b13f1847885d5cc8fbc49f025bcb413cebe44a9e4645e31d9611690501a70a6efd4aab5543afb82335c5919ab393d0fe0b13c6a7f3ee54625f6cfbf5a1099a59cd9e46555f95d15b3991b962400b16b62e13d6378517bfca259b899fe563a21ab597d44680c3c0bbdc45e89586bab137d20465e1cc9893c70c7af6573c120a6181590a7798a3f374720c0a387dabd1689b9fa6a5005d0040388bd989a3e8e482860702f737c349e2a76106bb191c3cd4a746f54093a4657cbe5a1084cc14757ec5777ba8032b421af1b5b9826391e10411dc60844c74ac32cbbe3508ca7cc2d38c395056a74f4ecb026740aafd28f75e57f7e323dad7703b2d465acb56aba59065a3c9e921c75816a30bb6baae54b70d96a9a5e31485b3c855d993301fbae8e82af72a9aa0de93f9400cdd3880e81a5292245bf24a41080612506f511f7e884e9904471fc6491c39624868dfae309605024027120dcc782b00e4a20899f92df27d9ce3278971cedbf8491299a33e6fb32d7d69379
|
||||
EncodedPrivateKey = 60f2b464532c0462aebce823d9ec68d1497f6e39a5bcc30f4c3a60b8b1b4cc1743560a08f632301f4b9133b7c1c617046c9c22f3330a00e13203d8954027a23e599291a25ddf602265664bcb5a53f6326368612e9ed6b5cf68a3a1ccb031b48a8a646718d4318356bbbb37628892c38ed121b04cac2b328d19336e06f217e0185f62ea65b633595bc556e6839541e0a08f79c0a3f8616c2743dfc7343d1a2dcd98435e042af2c1bfd0d3b66cbb29760a7684203601335a4fe36e7f18212f60b78e591571a1c900960a4fb67fae4c30c9f1a4312514a2ac120959be9f6a656be1ca641ab4b4b5928f0c86be14233e08422d0203aa13740b6546503383611873de31c56b792c906841ef73c44ba0646d795737149639888c0ad61671817cc305b9d5165512b0778fe53ce5c80b514916ac01c2be0108d39123c7fc35eca542b21c194bdc01d571b6412a68d43048c14a9baf305917ac2f0fc16addd7a81dc6bac0f35ecafba8f67cb7da948692d56562ac511c1757d9851fd5823309f47edc300ce2c8901f8bce079959d72b3ba306870c186034620fb4809a7b62ccfa113a32514fdff865dc9911aaf19f841935019a8794db1949e605f0cb1bc4a67c07b795c412200c2b6e68684c895a2422b136047b2fc084b4623aaeab573d04596f128444ea67ca3cbb782047b9b178a586e992a7171419b2a3c90ab41b1074234267dc227e5e27175c38b5522b71994a5ae6e10206f60cbcc2ba91b91312a0889eb18819c4c81b08cb4b6bc0678b380e1a0200cb78d54b7a16521468b91ccfda38d7036cdbb7444c42bd70c906772a976ca43c9df4aebb19aa2c639845410d2fc46110c671055a7f9878761fa45e07140be4c068e9c416d7625cfb086bb64542a1d63e3fa4101b541d9de07d4a3753c3f7343342c840356e7871b9b4154e37ec17a1e374f84c4c7a10a1f59c92ba30afba96bc99c8619944a3d381a9c97b1beae910a87a4e42c4be90a34f59e74e40b0bbd7ea566b1cb37f574ff020784a171c804268a9c43b3d8739e782a3e2860107b894ab317f389b450cb437b99726bda2414a7a5a32a799305802fb3241cd41a1df49168c953c7bb0ba00a74acecca3c87b5edfa11ee3f3bde02b52df2922e1c0589ef264334024a0d1274f1ca7f150129644b3ff63a0ffb7b490c311101599cc4b7567205e77c69b6a88167ad1445f4693d79c94fc38cf1ca513da307fc37a26c1e548427a6d6df41275a0c2fea14b65c85b76fa0040c20c3ab99f3761964f61253babad9f7bced99c178770264a50aac903684160b144d73f225058c8bc9ee0833f7497735d3c079d48b6d64bc9130345504a48469c3eefb3bcc1b50196b430190697f4eb0819596cb2431efcdc5170049d6ed08ce955a6f91cadcf7c6553099daf4c70b58b27ec6a850eaa6794d9b716e2ac6b54143f5a4b32c5556751af88c5290929a034f4a28f123465a00be41013464c7731f71479211db708cf62965919199eef88b54e7bcdb724850e90aa5b340bfbe0569fd226feec7873405e97d547b8448b9e1172c46474d5e4379ef8bc602c95ed38344a3c5984b71362a75fa5285484c917e18627cf3616220165ebca134173756293b8c4f0576b85b3bad02864e79e44989f56c626c4bb1a52445f6be11772a6846a5b6afbb47f6f18c4b82b13f1847885d5cc8fbc49f025bcb413cebe44a9e4645e31d9611690501a70a6efd4aab5543afb82335c5919ab393d0fe0b13c6a7f3ee54625f6cfbf5a1099a59cd9e46555f95d15b3991b962400b16b62e13d6378517bfca259b899fe563a21ab597d44680c3c0bbdc45e89586bab137d20465e1cc9893c70c7af6573c120a6181590a7798a3f374720c0a387dabd1689b9fa6a5005d0040388bd989a3e8e482860702f737c349e2a76106bb191c3cd4a746f54093a4657cbe5a1084cc14757ec5777ba8032b421af1b5b9826391e10411dc60844c74ac32cbbe3508ca7cc2d38c395056a74f4ecb026740aafd28f75e57f7e323dad7703b2d465acb56aba59065a3c9e921c75816a30bb6baae54b70d96a9a5e31485b3c855d993301fbae8e82af72a9aa0de93f9400cdd3880e81a5292245bf24a41080612506f511f7e884e9904471fc6491c39624868dfae309605024027120dcc782b00e4a20899f92df27d9ce3278971cedbf8491299a33e6fb32d7d69379bd80f5c5452d1336cfc1cca76d1770b5524b68540b8722795f17d639791a85fb01c8e376fdb140ee343106c093af7cb149b316ba79446ceb4e5e0cedb9b164f9
|
||||
|
||||
# Official test vector 40, seed: "197e5d562de7e01bed4fc597db28dc6efdf0179f3a5bda5f94caa39d67bae730540534d59a7a06c8448f628da8b7859f"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 588760826dcfbd36d9abe6ae44a669bb3ebba6a218eab69e30f18a3bd536576e0e860576285483bb5fd36e2f944d32c4317bebc1e441470c1372046a790d79d4
|
||||
EncodedPublicKey = f1c88a882c62d2e74c3f898d6e94c4451b8f1434b263c5794f6b30b674bcc7b06787474558b68b2571caa3b18700073db1eb08d2ba074debaac8d569e778b11ea61c989a6456f120cf8353f806a65f941c2b7a56cbf15758547634d6b21fc854c33a7f0c281b276ca1a0c1c3a25c9f88498e5a4673f57136b952cfa9a51bcbc68a25b86d123bb1c2eb9403e2357b14a1623c761ed3664345caeb1c5a4dc87674d27d7bd50c8cb5a2c574a939d21b1bd33a9fd1761c8c0e63651234946da61481de2a9f7bca3b79c26c42c68ba67bb66733952d965f815061e749435f664db1863a854056de5343fe122885f3758a144f7cb48f616a88aa1522a3433125c37e5f2ba52b3640d9d78b9a0b5e24a719cc6c71d89c89d38571e0aa2c70c28cc4d12fb1c5625c528b041c8005ab2c3f83852cc0bb08a78c036c8f55b06ac2b3cdb1bc678c5a09cd447fde85177415076cd2bce7312dd605ad0dc87a80db2898c839d4ca2bf84b8b8c270e79108a14b01b865c7049c09d132987643802a8082dc8a39521b449c29616ddc76335ab96978a9296203d0f66acd8109c71767bb27282a15213acb09b3054cd77e1cb03b96775a2c632275b44ccbc73859697a74e7d28451bc7a6b6166441fa0871ea1def29ae81408092c77a480524218c70dd0902fdd57c3bc06538486e33d2a9770529223cbb27837750e3495d500300bc2d024872cb613b27f99b7b370bc4986b58f45ae26a47256039b6245f283262f18067e7e68d12cca7513158b3826f4152a046b54a79a34f6d06ade8972aa5ec8d19f44fc7f3b158c3641139bbc2050a1b830470d32db141c8437248c49b0787253d571c60c405560ab029addb12d4fc8821f316c5f4adb1e672ddd05307f3239ca19d5cec8708e791d6987a2a02771cd27a46f01e1ec10272889cf77279da4bc6aa570303a42a023c189f00c259e8a82b427a58b63e3a340276176d5c74040684ac1d9821fed29d0317a6441aaa25f64458634d79b6498af110110501ac3c0e2e981bf9bc04a384819360cc466c9758cc3af281ab299b5a54fbb2a84a31ed41bde8b2c64b29b882cd964ae023eebf4fced63cc2c46ae89b2d8e1b7d241c00aed0aa7c1ee52781
|
||||
EncodedPrivateKey = a2d9045133c9c077660d211c2041cb67aacba5191594d25e062c8d8d1c70176ac8e061b9c52292856ab885533af2da4638d198ad65140d1050a596ab5fb06c9d5449fda4c28ed256b8b2c3b741c80cc832c36b41d0c94058a3cf98f87190cc2fadc856134033e5e71858d9845b048ace125ba7d3541c0ca15a447dc3b17ec9453bb813b75cf0988184a9590b46bbb99e40b72360c0b71633226bc58504babfc25c6d55061749f26715b69e31a345017623126929b8aa4e226082999337e00c1ff38081b5e42ef4e050201146dc3276a3f831a6c0ab2204a8aed13649d3a44213a9ae836321244a446762bfd73d04a33fa706b43af4aa2297b59d83c869342ad0ea508a281a0318b1f45968be2559ae88551726825362c682444bdbe22c454585099b0714947f01a60ba8a84cdd90a6bfacc77f292efff2395483a972244858976e56c4a3d24c1c4ef69237dbaaf968241bd965111b20767493981c869c608b1e59b025e2b0302c016ae9a5cc6766bfc1c65d9b949d72a07924a2b3789daf34c2b8d45512904e3b297ecde812e1b531dd080e2625c3575a9113c3bb7990a283091f99b7cc0c089b8842652e3227e7f5333a448b80f6935b20a718246d2c013b252b8571020d35584616c0b72421a820c28b5fc0b92d987068b2212dc32fde0a53cd787cd2d95f8b667d5d5b6a3665c0ce2274754a68e1bc724630caaef553fe07854d91cd97974f5dc45035d9b00615cda8646524e17ef4e20cf6426441e37ba07c099a919b75b736633991ac17663cda35a7645cfc87a444f682cf58a94be40674840975105457752d66755a8a2658d545c2c7a341c18a32d82538fa0b2d7cfaa2fe212aa7fbcfb1e393e13bb6ed1674597996e4452f5a75af78b7a158dba990189106d0119c7badafc5228f1318152824d490976761282ad533b4437a73502d97935a7ef284c7ea312ed1c9d0f7b85388af589848ba4a04af582e428153e645cc5c0b79dc4c1a7c87239b5766e4a30d82d32a0c4b18eb24522a033a7ca66b43e177597c5fb9b3ba6570050c08922f8833a96529d9857da0905a8a01b69ee593f1c88a882c62d2e74c3f898d6e94c4451b8f1434b263c5794f6b30b674bcc7b06787474558b68b2571caa3b18700073db1eb08d2ba074debaac8d569e778b11ea61c989a6456f120cf8353f806a65f941c2b7a56cbf15758547634d6b21fc854c33a7f0c281b276ca1a0c1c3a25c9f88498e5a4673f57136b952cfa9a51bcbc68a25b86d123bb1c2eb9403e2357b14a1623c761ed3664345caeb1c5a4dc87674d27d7bd50c8cb5a2c574a939d21b1bd33a9fd1761c8c0e63651234946da61481de2a9f7bca3b79c26c42c68ba67bb66733952d965f815061e749435f664db1863a854056de5343fe122885f3758a144f7cb48f616a88aa1522a3433125c37e5f2ba52b3640d9d78b9a0b5e24a719cc6c71d89c89d38571e0aa2c70c28cc4d12fb1c5625c528b041c8005ab2c3f83852cc0bb08a78c036c8f55b06ac2b3cdb1bc678c5a09cd447fde85177415076cd2bce7312dd605ad0dc87a80db2898c839d4ca2bf84b8b8c270e79108a14b01b865c7049c09d132987643802a8082dc8a39521b449c29616ddc76335ab96978a9296203d0f66acd8109c71767bb27282a15213acb09b3054cd77e1cb03b96775a2c632275b44ccbc73859697a74e7d28451bc7a6b6166441fa0871ea1def29ae81408092c77a480524218c70dd0902fdd57c3bc06538486e33d2a9770529223cbb27837750e3495d500300bc2d024872cb613b27f99b7b370bc4986b58f45ae26a47256039b6245f283262f18067e7e68d12cca7513158b3826f4152a046b54a79a34f6d06ade8972aa5ec8d19f44fc7f3b158c3641139bbc2050a1b830470d32db141c8437248c49b0787253d571c60c405560ab029addb12d4fc8821f316c5f4adb1e672ddd05307f3239ca19d5cec8708e791d6987a2a02771cd27a46f01e1ec10272889cf77279da4bc6aa570303a42a023c189f00c259e8a82b427a58b63e3a340276176d5c74040684ac1d9821fed29d0317a6441aaa25f64458634d79b6498af110110501ac3c0e2e981bf9bc04a384819360cc466c9758cc3af281ab299b5a54fbb2a84a31ed41bde8b2c64b29b882cd964ae023eebf4fced63cc2c46ae89b2d8e1b7d241c00aed0aa7c1ee52781de22432e87b3e1627bf1ce346187554469241c565a5c14cadfbff29e6bdd8d010e860576285483bb5fd36e2f944d32c4317bebc1e441470c1372046a790d79d4
|
||||
|
||||
# Official test vector 41, seed: "f170583cb451d8a45d105457c02c01a33a40350616ed8515bd49067142f61efb00f07857e4fff3fe11e7164c648c76ed"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 47550e9edacb6ddce3d9ab81f6b61080dd4f2693854acb05e0ccc7a4fb6390fbf89d7d99d5c3e0d10d6ef9af054d842375f695abb28e3b8eb495100f04306e92
|
||||
EncodedPublicKey = b082452eb84d21e158bcf7652ed82bf2c83498013c711aa1e292290115b9ca1b88ed75913b003e8de4844b8ba6c2c0b5b70c90ea63631c6b7edbab7fe94bbfbe2b7ecf5707cd069e4b27bab8e14c6f0246d875a75d9b8f6d18786f21891009ac9353c4d98839c5f6b30c95bc6a463af7d503b3c97f73d9aa0e882d61c6894765a39fdcc98b37a90c01ae1b815c25635e256b5401e97601bbb099e39cf49bcd2acbce2f031dba15c048377df7d1480e1676e6341a27c60f23b21c80572d8b59528f455cde5737e278b0fc908cd6273e048177f27120973806a0ca08133a9adba099ffc9c0547377a8b159382c3278c43660429c28371732a69600149fa2d196e56a798114b22be225ed584e5064582d42aa8eb934d3576203c68ae1001bb3a26569aabc36bccd7ac3ce81161655e719230911ff99720c110d4e87c5587440f68b3402d42cc518bbb46c0978350b94870ca358c81f8a7ebabc2a1a2a594b2ac4ceb537a1118a5c374502a175ec813a82e3ac5ad30fc8609150817fa7b72dd25732825a1bd3d96665b3b939450329f508c4bb9b7c7564fe315f39607d5c913ef394b1c92c41c582a1c76846f921035d2b9272423411b964c788cca593a41642c7b3440ef8dc0225399a8e04102d5b0ea4d6ce8d6899eefa31d6ea3f2f53713dccb1d5810e4e1143ab765cf37a796adc9c8dec74a20343ffc4a8afc57d9de63243b230f3467934f71613537f29409ea6b22cd5ba7f0619865ff42a6b47984d3bb33cd3a8fbe8234ed1696a28908af4171a937ad1f14fc765c633048f069225f72c9d9cf3c095137555a25d5c80469c8930d3b2126223639f751e51ccbc1222ac4d5855aa2c244833585a36179f504d5f121c569624fc70bd633b3486c90b7a913e114a7dbd8110cc307d82d941a509a038e23ef37574618c783ecc0d6e6b12b0eb8c23d83ea4c4200d0a171bf51459ab299fe753bba28015173b1e6ccaaeac2d9262c8f4c72fac3169feea8f535c41ad610a92bc4023074f0a9885555b6b044cc16ee74a33751d5f0c7e9f166067f13944036a9678c3e1383514d25e8d563d1c88bddf25e17ce69cdbc3e21bf296deeb65a4b3045f3a6a9ca84e8805631c5abe3186
|
||||
EncodedPrivateKey = 29c8ab82c157fb693a88699ff6d00a138776dfc2c456f658e59687abf9891be9b6099176de598fbf80796026b2bd8c3b61222c020458a316cef9299149e89bf988358695433e75953cb6a834f5611cab70ae3121730352b153345806b7f193af96658c26ec85138585e9892ee3db729f39230d42c4d038668ddb97600c2745c760dd579fc6e86e997ba66da4a8273a9bc357a0735cb770704a7211787001666dbccaa059333f282c7814294e6c8967d363f6b5860f88975794c564536ce0816ce4c929e595030d81895d590d2a1175c26b53cee91bcb75c849995506a94e350c9ed2b04741f8ab21eb5702a13aa59ca19c48cec366a6e0024e4ff18a002331cf9abf9c7c8364a840433977eedc93d0da6145c44732aa420051655af52c2484cdf2fcce94f2831456a240b286869813d3c3cf54b282a5fa343e4c46ec775be39b6f5128179b073f37d2b63ab05e91a8a378f1718c1082d5581ec8805fd144155e1a094497a4d25398f86b78ad55918ac68b10a252641baa7b5352b2facfbc591bde6671233880eac8521e9599ee898a76a6aef4ac0b5c7b5250638167d56d9d9281f19843cf03706116040bd532f78b7ee012a0a38b95c7f47a4c4563e2b9033d771691e1a8e09958d3842054017fafb93ec9fa4595db9c9f074deb6593a4a65efed83851f21036c2a46c5700e007baf3a418c858a3ec619b54fb45e1041620ccc5703a4b41a1799fd82ba37874b085002238467a010684d7972ac77b5e9611f13745f7f10dfc8c7510522fc65c4ae788277306c9c7db94ee77a0780708ce3775647bb636374fdedb1f30e12d7b5b331e056271861a6059bbcd434911028d9d2aa981b9984aa5c257da4fb0668886805479270ed9254b621a0f23708cce996cdb184e59973e4f2024784a2fdb1a609b4b8efc445c6fb77a02a88b202c6b69c71cf8e22d2b77017d925df3211401e851e7a467c278b8f8721c35683aa9a42259ac733a32a808395e9888821c3327850331b2197bc1105be1fb1379a317b903b4b23bc11deac51d098a9a82ace24451fb816f91d258abf826b2ec42d7b34a5b84bdb082452eb84d21e158bcf7652ed82bf2c83498013c711aa1e292290115b9ca1b88ed75913b003e8de4844b8ba6c2c0b5b70c90ea63631c6b7edbab7fe94bbfbe2b7ecf5707cd069e4b27bab8e14c6f0246d875a75d9b8f6d18786f21891009ac9353c4d98839c5f6b30c95bc6a463af7d503b3c97f73d9aa0e882d61c6894765a39fdcc98b37a90c01ae1b815c25635e256b5401e97601bbb099e39cf49bcd2acbce2f031dba15c048377df7d1480e1676e6341a27c60f23b21c80572d8b59528f455cde5737e278b0fc908cd6273e048177f27120973806a0ca08133a9adba099ffc9c0547377a8b159382c3278c43660429c28371732a69600149fa2d196e56a798114b22be225ed584e5064582d42aa8eb934d3576203c68ae1001bb3a26569aabc36bccd7ac3ce81161655e719230911ff99720c110d4e87c5587440f68b3402d42cc518bbb46c0978350b94870ca358c81f8a7ebabc2a1a2a594b2ac4ceb537a1118a5c374502a175ec813a82e3ac5ad30fc8609150817fa7b72dd25732825a1bd3d96665b3b939450329f508c4bb9b7c7564fe315f39607d5c913ef394b1c92c41c582a1c76846f921035d2b9272423411b964c788cca593a41642c7b3440ef8dc0225399a8e04102d5b0ea4d6ce8d6899eefa31d6ea3f2f53713dccb1d5810e4e1143ab765cf37a796adc9c8dec74a20343ffc4a8afc57d9de63243b230f3467934f71613537f29409ea6b22cd5ba7f0619865ff42a6b47984d3bb33cd3a8fbe8234ed1696a28908af4171a937ad1f14fc765c633048f069225f72c9d9cf3c095137555a25d5c80469c8930d3b2126223639f751e51ccbc1222ac4d5855aa2c244833585a36179f504d5f121c569624fc70bd633b3486c90b7a913e114a7dbd8110cc307d82d941a509a038e23ef37574618c783ecc0d6e6b12b0eb8c23d83ea4c4200d0a171bf51459ab299fe753bba28015173b1e6ccaaeac2d9262c8f4c72fac3169feea8f535c41ad610a92bc4023074f0a9885555b6b044cc16ee74a33751d5f0c7e9f166067f13944036a9678c3e1383514d25e8d563d1c88bddf25e17ce69cdbc3e21bf296deeb65a4b3045f3a6a9ca84e8805631c5abe31861ab5d1bff67b0e5d82b9e9e2690083ceb0529c937a3dab8c62c17c5678ff82faf89d7d99d5c3e0d10d6ef9af054d842375f695abb28e3b8eb495100f04306e92
|
||||
|
||||
# Official test vector 42, seed: "44a6774b2cac02dff210ff861a090561a453db311f47b6fedb81811872d5d9489f5fc4103010139ae53fcaed209dc9be"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 610afb64be8cc1df288cfb016ee2f44c6c07113de7f6fee071fe0c3fe31c6215cd292e4c5f9e1a55e0489bceffb204d672a6215f4f3980a646d9f880817c52dd
|
||||
EncodedPublicKey = 086980250305d5baace768780ef44dfc520b2ad2884537b70866106bcb40d3032f8907bcfdb03cf593a30e97948154b5a008346442cffda0b730837950d50e9c89c06cf82b17a1434d092ea4397d49754704a2639640284762b6205001267b03bd2929a3065fdcf953cf963db2988eaba862b8060e76c7981afb6b723910bef478fac0cea9aca70aeb6f0b1aba81f84281f0462703453de00a8e986f72226690c6bbb47c7540b2cd3e184daf908b78cbaa96f76291134ac691b8c125a79b621e0d89c446a24afb5928ea90c916b14ed567a05ab7ab00059a4010ad0c95908b46b4efeaa64db3ac3806ad690ac17254bfe214c6c43a49e407ceca84780926c23c9ccd5201cb04d3b7f151be4335301e541189c791ae701180c1492266c8903c75bff93c4420502cfb2e2148a73d222c35097464e30387538009943483e3c940d4724e9b2222f2af1521cc37f9285316bb65805fb3a4c5dbcc1641518aeab732ac818a0ab510330b53af41a2bc665d714755859748c19a65ab193706c67f2cfba079699aa4a2c1dab96ccd33b358c29d21209462802da30bc032e67b4ed214e5c732f46a6082f94525ca3a192a6d9ef688beeb5eee884e383b8b34833aeb38526b27448eb400e5a565cfe09db3950b4025bdcd375c3ae0354bf40985ab97060bbc26a4b46f49bed0f7c8e3d6c64d0068cbc0b06c407b58aa0841e1753b6caa7c9881e10b3f39f37f727468026c9e01e991151175367604493217c4c94926d34619a99d710b0b9717431e394be697a4f7567ed6ac353f712b351281eff90342453c9ba746bfb77eae6a69da431a6d31572513ba4766408c133188f43cb35c45804a511a8245df002165d5c1bbf59749d5ce524655a29bb3d1215089c52f8f8bb7de4cc585635436ea670cfc66d4f939f4c2b1ede32fb4c86825b982439656b14b18bd150458d6a7fb0280d2f32fec716af0f84f4b064301b807cf1898e5119feebc98a5bb924c1997ad19239251a752e1a448ab0a039ca9ffa0a3e7b9a46f21ab24911f9090090df6a322795d5d99706c6a9bfe717ccfdb7c978178674a355a1b970dc940ac10148153455bd3f5ba4d7e51501b921fb3ebaa74b4963d80cfc36f64
|
||||
EncodedPrivateKey = 7a1c189ca7409d7c41284ab00e1b610354a4f4c6952bd1a2f1c3c44fa4909ac106bf0b9231e6918c1c3e76813868c900a776cfc41b4d5dc469184a05f3a602ca2aa8cde4a47a3725ad6c931a080f77b65506321e40a05ed9d0963979338f76971390995570632633cdb12b0ab90246afc8a625a7a2e635944c0439afc566535148c6eabd96facd444a8cec10bd633c3e5dc5535b5c036f585309c5a64fa889b82406ed486f6a499faf93a5f550b39278bc29e59f934918b59488d817297ce61148895051712a9c062995cb668be38338cc39dfa5107a724ca8b979b1691416598fe6e914a5e02ecf8cbc80a93b386c6556e04a36535412654b31039e19d1ce8cd2745a0480d0ec3328d76ed84b46f86b65546c49da91b2a5010b16bb98dcc38e0cb9a8fcc8b02c113c582a8b83b95a2a678df9d3b7adfab400f054c302c5b68837af2b1e79c46ea9ea4de93b7e16b6a0efc825596c01e0c92ee561ac67fa8ec7db25327cc4d8ba82e43277b7a1cbf0174a29b54cc2e3467a787bd9a73c8d0ab6c54c7a960350004bb66c8684aa838e4d74101c192869a25f3c245cbc8a19c215987285216b14a49e0407c32328b8b0807680b8f7297d162138de9914abeb4fe55bb00be482e7a5a863ab8a1f540a04b2ce03124d700c2598383c4beb4c4de81b0b748b8d5251af6059f647ccf36024cf84bd8006ade568b6abb9b0b9e4a10ad89cdd4093aee62d73e7316eec400449849e6bbe8f69a7168cab3010ae8f0cb51015bfb0ea85e2813c2416053cb8b88180bd8cc40ca44c58d8199eee25b74394808dc534bccc480b98795ca74a8f3c9f4797abef5c8fe99c33c1955ddd62234f0479b9abc0d02b4e7a32603207a66d48b1c429cde02869739868e5707fb3d4cf80997dd16152e17848f04ab7c6c4b65b845527452c4f1682010514e37377422191bd18a99ff635a797151e81ce31c656d6391cf0a430a5d72d05c1348670a243629383e75a7f19939a021ae4420f87e68bbe44bf4bd0b46e14b6f92c8ffbfa4b56218aa4534537203756e81643d37509ecc699a1949791a9cc163f1a23825f3acd086980250305d5baace768780ef44dfc520b2ad2884537b70866106bcb40d3032f8907bcfdb03cf593a30e97948154b5a008346442cffda0b730837950d50e9c89c06cf82b17a1434d092ea4397d49754704a2639640284762b6205001267b03bd2929a3065fdcf953cf963db2988eaba862b8060e76c7981afb6b723910bef478fac0cea9aca70aeb6f0b1aba81f84281f0462703453de00a8e986f72226690c6bbb47c7540b2cd3e184daf908b78cbaa96f76291134ac691b8c125a79b621e0d89c446a24afb5928ea90c916b14ed567a05ab7ab00059a4010ad0c95908b46b4efeaa64db3ac3806ad690ac17254bfe214c6c43a49e407ceca84780926c23c9ccd5201cb04d3b7f151be4335301e541189c791ae701180c1492266c8903c75bff93c4420502cfb2e2148a73d222c35097464e30387538009943483e3c940d4724e9b2222f2af1521cc37f9285316bb65805fb3a4c5dbcc1641518aeab732ac818a0ab510330b53af41a2bc665d714755859748c19a65ab193706c67f2cfba079699aa4a2c1dab96ccd33b358c29d21209462802da30bc032e67b4ed214e5c732f46a6082f94525ca3a192a6d9ef688beeb5eee884e383b8b34833aeb38526b27448eb400e5a565cfe09db3950b4025bdcd375c3ae0354bf40985ab97060bbc26a4b46f49bed0f7c8e3d6c64d0068cbc0b06c407b58aa0841e1753b6caa7c9881e10b3f39f37f727468026c9e01e991151175367604493217c4c94926d34619a99d710b0b9717431e394be697a4f7567ed6ac353f712b351281eff90342453c9ba746bfb77eae6a69da431a6d31572513ba4766408c133188f43cb35c45804a511a8245df002165d5c1bbf59749d5ce524655a29bb3d1215089c52f8f8bb7de4cc585635436ea670cfc66d4f939f4c2b1ede32fb4c86825b982439656b14b18bd150458d6a7fb0280d2f32fec716af0f84f4b064301b807cf1898e5119feebc98a5bb924c1997ad19239251a752e1a448ab0a039ca9ffa0a3e7b9a46f21ab24911f9090090df6a322795d5d99706c6a9bfe717ccfdb7c978178674a355a1b970dc940ac10148153455bd3f5ba4d7e51501b921fb3ebaa74b4963d80cfc36f64daecbaf99973c4a2f7733e70193e1bd7ce2cef900bb0ccdb344a8ab92fece749cd292e4c5f9e1a55e0489bceffb204d672a6215f4f3980a646d9f880817c52dd
|
||||
|
||||
# Official test vector 43, seed: "49e1855588b6235df2a400c4a70aedf8ab17b6e5e2891aa745f132fa2e7ab0c8117c1df37c39f5d57624eb77c2b4a091"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = e1953800acaa85ac02a906c72cb8e8d704e8d27820345f88f71e89c1f549afcc8c64c049c6dfc0f1476cffd520b055756162f7ec94243de6b14ac0b9e5fb366c
|
||||
EncodedPublicKey = 85467ea9081e6e937c65c817ccf06f3c556c28cc11c5223d1c341d749b69b812cdc1895a5a294968009e34509922a3c5e52a5279379a146a05ea534616b403420ca8bfa2508836ad9466678af38059f67f9373713ef3602fb9a195f2b7e58048c0235f87a1cccff562ea8c26472aad6cb61a9a192d26a1aa700540f3e2133ff4a23c09bdedcb2296c01fd0a5c2387b75eb97515bd4229ec79975c3463848237d6580634c1c2f894fce754d690856e247a7f446bfba722c39013277a3b379445c674252bb2c41d403bb79006af420bbe7280fff8cb479a01887f3b41ba2add6c863b2598cbd522d322b37850a0587172435b7c3cf33537970063ca322622a99e798cd48c390d1d5c20698aaf04874427b1ff2a20fc27828328a2f3ec7448e9b63eb715884b93f38fca6fba056b466ba02c2945d771cdde115dff8b9f9544a0cd1670f7891dfd384747c4c64b655ade6bd493c3572fc5ff7bc724db7052fea39b8c7c0a5660b1d45c0ce3709bb1133faf773b0d8571987a5476191cc54909746c4e7311061852ebe60b8bb959829b02f56412df4d11260b349a4ec6338d049c84558983718c8f17f0d093ac5a23076d67787a5344b950da059ab3ef3cc818cc0f1c10284f4488d553a51843e921c373a3a8ff72858eb345536a56638e1bf8395b744c3c5031b29d7519b39b63087423f154668d5c3a758d4b515f82ea3ab7a32f4702a08612226890533ab1d857ccd0b561f50b9d70983c671982678683124977d41878e21325b5c7b7f07cb4388b4aab713c19359a9995565670e8f14516a97c5a7d37c2d199bb5f14e4329a55fbc1ebcfac4cee1bbabc968199275b23517b8f0ac253b248259bcdc62aaf1526580510db5e1332dca3dfb9cc8d7b3b90d32c25e80647ba98c6c3c88e0d66e9dcb2bba0cae59a567cb3aa83f2bac9fd70b6bc77070004020e3920881b6d6e14482698d31400d88a002bbd051f252c315da158e77cc9799893445c734f6b4abb2bbee31b8d0da9879800758c1112e98cef96a16e7984390d62811282f4d4923a4e164d85a7f37d35ec7dc823e6b725dcb3f32122266edd9b17f20f8db3eb07bc965f404b203a8f072004bed3cf49d8ec8f4061384
|
||||
EncodedPrivateKey = da674c35006dfd691af6d04209dc2072609f7e2c5f8b17622a986b283956d10c2ba71a09268c47097504ccac6bb79c58670595e0380b41b48cef3329fdd18c8e3948855bbf278848ba7b36a930bc1a9bc2abd08b07a196a5cb7691e1bf008c7db714c42ce32024d235774b2a1b062c8949b47ca173b8d59560c6b0c09993fdf96c93ec0a7e2128475c8413e7636b092240571a29b80921aa4fe64a0f28bb6995e5c98de7afc819494e4356e4d402adf32da9eb8ff638c7ba9cae8140582d0958ec272ed2858b73e721b8a1363768abc6f1bb4495141e304c6a684b9fa58dc353ae3b414c8c1c08cc5428897604cba22ce172cb18c7cdc0f0b59c4757bae20c387a39c6534a580a0ce907a1e0b091a3e23f5e78b0dfd5c1e0d371ee46488ce5913d64252f409ed841cf0128bf01e39731eb40d4c56a07852c8c1c5fd8ea54fb22a00b9a947590401e95775f0892511bc617675882fb32050a27dd96bd6be27b3eb4c3f6c50dc3587bb6bc44e4e66643289c462960ba219ec2395a259bc1fa33cebff73ac93910195ccf6b6c8572553b9ce3c4965c5184e9399ba2734544af00b13cb8d61aec881100646975d031f1e6ac53d019c143b4f3b79fc070c7996064abd87c17e4cb46a710803c492a0165d81774cf4762cb72ab31483e78b7b41dab11b3f68c2e52c65361a065807efc148af035466f4517fe986d92908982c2164929a68bc9abcbf83d65f44603558103735e21b800e3d7be7b727169b494328c6445a891d09a240f88224ab8834ceb0273f49f4aea842955894d0c01ed689a95ca885fc31dff6b8552bc2fd47b4d634114737a4053601546d7581d302a4b9c82a08c1689720b858869b5e2bc54482184469e63d72a43142d4ef5639de337e5f449eff154a2e910949106a47092cd67c3236a63d7da4dae143310a01a2495c36fd297aa333f1997c7c54943d0985a6e53a339688324dc53f04a6b10cc1d6e042e53d009edd84999c1b1b0ec4cb715247ea59083fc338c083ddc0582827bc25762308496c202f51411a45103ab73550ba8ba93b5b36a3f8bc51981eb4256f48b82e94c85467ea9081e6e937c65c817ccf06f3c556c28cc11c5223d1c341d749b69b812cdc1895a5a294968009e34509922a3c5e52a5279379a146a05ea534616b403420ca8bfa2508836ad9466678af38059f67f9373713ef3602fb9a195f2b7e58048c0235f87a1cccff562ea8c26472aad6cb61a9a192d26a1aa700540f3e2133ff4a23c09bdedcb2296c01fd0a5c2387b75eb97515bd4229ec79975c3463848237d6580634c1c2f894fce754d690856e247a7f446bfba722c39013277a3b379445c674252bb2c41d403bb79006af420bbe7280fff8cb479a01887f3b41ba2add6c863b2598cbd522d322b37850a0587172435b7c3cf33537970063ca322622a99e798cd48c390d1d5c20698aaf04874427b1ff2a20fc27828328a2f3ec7448e9b63eb715884b93f38fca6fba056b466ba02c2945d771cdde115dff8b9f9544a0cd1670f7891dfd384747c4c64b655ade6bd493c3572fc5ff7bc724db7052fea39b8c7c0a5660b1d45c0ce3709bb1133faf773b0d8571987a5476191cc54909746c4e7311061852ebe60b8bb959829b02f56412df4d11260b349a4ec6338d049c84558983718c8f17f0d093ac5a23076d67787a5344b950da059ab3ef3cc818cc0f1c10284f4488d553a51843e921c373a3a8ff72858eb345536a56638e1bf8395b744c3c5031b29d7519b39b63087423f154668d5c3a758d4b515f82ea3ab7a32f4702a08612226890533ab1d857ccd0b561f50b9d70983c671982678683124977d41878e21325b5c7b7f07cb4388b4aab713c19359a9995565670e8f14516a97c5a7d37c2d199bb5f14e4329a55fbc1ebcfac4cee1bbabc968199275b23517b8f0ac253b248259bcdc62aaf1526580510db5e1332dca3dfb9cc8d7b3b90d32c25e80647ba98c6c3c88e0d66e9dcb2bba0cae59a567cb3aa83f2bac9fd70b6bc77070004020e3920881b6d6e14482698d31400d88a002bbd051f252c315da158e77cc9799893445c734f6b4abb2bbee31b8d0da9879800758c1112e98cef96a16e7984390d62811282f4d4923a4e164d85a7f37d35ec7dc823e6b725dcb3f32122266edd9b17f20f8db3eb07bc965f404b203a8f072004bed3cf49d8ec8f4061384e26f015ade2c914dcd068c7899dbf3aca3d9cf5d6d02b2541da3866666355d168c64c049c6dfc0f1476cffd520b055756162f7ec94243de6b14ac0b9e5fb366c
|
||||
|
||||
# Official test vector 44, seed: "df0e41d2f6f86c1f79d31fd5878e7ab434fc0af3a0d5f47d2ab3fef31a42bd949b0e3629df9f575befbb62e829e51dae"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = c719f9b2d16399b7326ce4eca30dabefe8fdaab18e9f6df888b0a134ef355570e40771856eb77e4633504899fcb86c6a3d433d0b8d60e26f07bd61f1d4ed69bd
|
||||
EncodedPublicKey = 4f009bbeda4bd3b073a71b3f1a2c1d0923bbc6ac1b3210ab79a3585dd53bb023272d57b454b91b7561a4ec179a0213ca3b1471ac8470036aa17df24cdb02136f057ce32c3cf3cc49d6e946c6fb099c14cdbbf99c36c96c7f296658bcc6c18713c3eb97f823c5c04112637446a18b9d22a59089a910236cc67febbb9260a6be03bde9c0a936e4b935620c45971196f6281e842d2ac1babd6b80340a71de5035ca89c915da186e612c9b7108178603e447969ce41535015c72525a5bb71b4385232188955c009449801d5da97ea759958dc830dae5341802a382e8c3095201f1278a09342cbd9b55dbd561479a7fb08480fdc526ffca1ee5b8535225894fc439278b1452e33291a07229e341446206e8a71fc7b67a18f1abbe563d21bb5523fa544e899719a7541efa3cd3936bf552262a7508e134b39d824fc5ac63bc282f648119b0b02bbb9b266e9723d29c0f88ac190881bb20a32c0b0154f0f6cbb2724e7117301dc2a5632888195ac0b84264825c51ef509ddf52b422a9639722364c67b5e7887d5a4837daa18dff29486c4a0dc4d7cc23e8cd82a443b5eb17ae402068e254531c5ab812012ac1b6933bc938735c6ba6475f1212c2d032bc612d63d26bf31046d415a07bb52b76f48fa81b7510b597d043c58554a49d9c3671b55c72e67e46632f46bc1903436261c637bd99ba617bb2c39b8c163ab70734c950bc8b2118ae5ee54a07eb6464c84265210d316ba04c282698f68d7bd30362231b6f754086851ad8d96401eca50a37b45da05d00c56cee13af0c91713ab72d5595b70bd53ddea2cc88d5304f69ce0058a365f11875cc0c209827bca16be7c06e05185d71936e49a81e82f489ccb232d5fc8ed19163cc414db5428120e47d0eb503294b4ade14c82ee78800e07e8b141abbab103a35a249d151be6a5834437303130cb45200962845c1bb7b20695dbd3c92b367843ec07b4ad6584c3662a2b77539177e3de90d6a87bd7b6957b735cc5e8b649c180c168683ca892cd2e87603362e9da565ee28322afb87bb1038bc2838dd294343c4a45021afa3c77b06dc5fc0962395908578bf277dccb87007d8f15e968c51b8e2e376949c67bef85cc8d66529e2f6f48b
|
||||
EncodedPrivateKey = b888984741c4e51067770a261e23b658493bcc8865780650b1b55795a58ec8ccb51134115a18be0f61a46f848788d7af9787c335d77762e070fa40999d937943c495c63108f44cc05a5c57ba31b207eb1c3e11a72c04a7fbc8bf5795b7d111b64538b2997c1a35ec8b69b816e44b9e24f119df4c60b70ac53cea8bd0d31ccea78242c758baa2beea94a3de4b143a1178834453acdc43236c46d7e259c4e537132634b5e4356f5c49441028e2a45964ea2f9dc7ad8a43454240828a407270bc8e24701b5ecc7f7467024ae87bc90039c0827f83904f99f0b76bf9cdd865b13549c00ca659a42c0b065bb0e518290b7aaf57996aa0130d4e7a216b175f287c8284a3244443b99f1455b391938bb6b6ba59c26c651c57fcb99c324c3bfbb37e1b3704e6b462852e6e5142dacaade24160dae6895c291cc7c28d86f1a4198277ba04c17ce023c77197750a97148a17748757ff8c276621ca8782533b960d8ea6c0dc0c66c60186ed4007d0839cb51892fc46279ba3c3b1b51729b34179953f12e60ebb41437d911098d3a3edc81d7e7c23922c7d3771ac8f9c57492a2e403589435887ccca4f75c70f81688070924b81339134e3cf4db1097e612995544eb98472b1d688e52cabadbb0a04b2b69009bbdb37510f75cc76f9ae79008e49dcaa71e1c8ca69b3ee129430a4c0463063bee240f73cc5cb160c9b51942885ca5d1534a5b165dc7b2f499168a2482be8008d39b665460b431345b413d391bdd35844b73465860a6a53c7d843b4d3db106011c5b21565edb53ece6cc853849903146730ac6fff401cf38003925b6feacb99d5e003f4a369bfeb014c93a45ddb6b5c7cccdd36803a8588e0409a5941885645cb9bb919ce134cc8588e23f6538aa62ab7f02a58283e3f43b1593a1ecd75b9d76218bb189a7bf63bd7551617cc96a7f045012959f570092e25883b89931142ab68c8030af732f85574ab42a11d7a683c6cce7b1a01c0baccc271bdcfd00b3528102115abb101791ec4b77da65cd53b74c0a3727d430ab2fbc83c9ba002e59cb1c69f31762185b9667ce278a3f941de94b618e6334f009bbeda4bd3b073a71b3f1a2c1d0923bbc6ac1b3210ab79a3585dd53bb023272d57b454b91b7561a4ec179a0213ca3b1471ac8470036aa17df24cdb02136f057ce32c3cf3cc49d6e946c6fb099c14cdbbf99c36c96c7f296658bcc6c18713c3eb97f823c5c04112637446a18b9d22a59089a910236cc67febbb9260a6be03bde9c0a936e4b935620c45971196f6281e842d2ac1babd6b80340a71de5035ca89c915da186e612c9b7108178603e447969ce41535015c72525a5bb71b4385232188955c009449801d5da97ea759958dc830dae5341802a382e8c3095201f1278a09342cbd9b55dbd561479a7fb08480fdc526ffca1ee5b8535225894fc439278b1452e33291a07229e341446206e8a71fc7b67a18f1abbe563d21bb5523fa544e899719a7541efa3cd3936bf552262a7508e134b39d824fc5ac63bc282f648119b0b02bbb9b266e9723d29c0f88ac190881bb20a32c0b0154f0f6cbb2724e7117301dc2a5632888195ac0b84264825c51ef509ddf52b422a9639722364c67b5e7887d5a4837daa18dff29486c4a0dc4d7cc23e8cd82a443b5eb17ae402068e254531c5ab812012ac1b6933bc938735c6ba6475f1212c2d032bc612d63d26bf31046d415a07bb52b76f48fa81b7510b597d043c58554a49d9c3671b55c72e67e46632f46bc1903436261c637bd99ba617bb2c39b8c163ab70734c950bc8b2118ae5ee54a07eb6464c84265210d316ba04c282698f68d7bd30362231b6f754086851ad8d96401eca50a37b45da05d00c56cee13af0c91713ab72d5595b70bd53ddea2cc88d5304f69ce0058a365f11875cc0c209827bca16be7c06e05185d71936e49a81e82f489ccb232d5fc8ed19163cc414db5428120e47d0eb503294b4ade14c82ee78800e07e8b141abbab103a35a249d151be6a5834437303130cb45200962845c1bb7b20695dbd3c92b367843ec07b4ad6584c3662a2b77539177e3de90d6a87bd7b6957b735cc5e8b649c180c168683ca892cd2e87603362e9da565ee28322afb87bb1038bc2838dd294343c4a45021afa3c77b06dc5fc0962395908578bf277dccb87007d8f15e968c51b8e2e376949c67bef85cc8d66529e2f6f48bc6ca25b76c4f29e0da8a73939ce8e06a0f6afaf932b5b3ba52d77c8019234be5e40771856eb77e4633504899fcb86c6a3d433d0b8d60e26f07bd61f1d4ed69bd
|
||||
|
||||
# Official test vector 45, seed: "d3c9ebba6eb03ccb5c9b9d2c8d7f0cfbbf50841e24396cddf0e56525b38918c2fbe6c34cc1b93f7bcd4f4d5777e1a488"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = e9acbb774be970206c3a738e243b420805a509fa59fa902044be2f0d013650d2ded5edaec5de3bf5b4d7c2f2e18e87f499c1968993eff196753db8045e2c8ba8
|
||||
EncodedPublicKey = 89076387fcabd0405073109c0c45bab69c2e8154c02c0a3b524c213805ccdb837cfde3c262837c9ca4ba17c24e7f649e9909274d41ca4231c2190275cae42b67f539d2050effa088e70c4b05dab348138d24014583900d7e9952f6fb6a48906594024e2226c79f8b14cb6078378b9b35122d6f26431dec265b05bcaf49217db88231342cfa240815b87074f952f89c5a5a22528ecb7c023714dafa0ac771c0fdc389a7f065e07b5f78ac1f0315a89167c0f78c3acbe66ef06ac31d3ac71e1c665f13ae8e24985c917ce9426910504a70fc38edb10c0046b23b153cafaa39eb616de9089b69b856c65020194ac4ceb3ac509ba2e89569008645bb75b61fa926ae22252644466c236d14a38da6537f88c3b1ad962c06d11753e74cdebb1f8cdacdc3291156a37f7c91c518c2a60f53005489b8297a86fd08d08ef848963bad314b47d45c225a47832b2ace01238459261360f54aa4e6914ac85f00156ca4642ab3056f22d2c73c44a511c44093016fde7b4c83211614193baf0546a2948752819059e33f686b6ab519a749d8394bc992116453fae214660b6a16a776996b6d959880be5917c3e5b71b6608c1d711e9888577eb95d74377a1430b85219e4f46c4e41696e4a306c220a55cd99c2825ba3c621d3df09ccb7b148d92b8dcc4bb330439ccac33aaa18fa23c4f9eda4917c3026a3085e3a72be62a0fa73452142c26ddd78a7d13c54ca0c81e9453ee73a8a7a28e7605be25699575e94b5076ba9adb33da052407d07b3f602da8e98a56ec843c54c27bd8a6d99240a871a4751ccd54cb37681127efaa8050e5bca4965b6bf88e85f8283190160204738e3c38ee00be96bc6de5931adfe69221d7585c5a2cc46a308e321e8c6baf753c33ea3a9bd3620341c70e4911b639ba02a9e552965b24b70c0d67631c73370de52b09e49835210783ca9b4614e2859819a8e333553a498c321bbf337091b9b579ce0b50acc100bd18af617827e1e4c3f621c111c551a45893d934c0ec84025cb6588f54442842ae10f45609370aefc22befc12c83c289b5e1b24c894665a53c57d0790ab29445678c6f025a9cbdda29a097a3c20a7bc7950a4246b70d09d7ab4147cf96f0f660b1f6
|
||||
EncodedPrivateKey = 3790552ef50ff1303042565c918acfeab09015176923d39ba028a669392980b1740517ceddb58c1b9c2e414227f5ca8c70351cc2961b9d20b1617ba29bbc0c56b26522d484092026bf524cf83307757b0fdd29032ce1a01a32aaa0317bac18a85a7c66eda31b14a458ed7a72d1822f3e6bb39327a90461300c8b3efdc8b3509312efa0a15c4123878371e6e7592fdb9b57aac9efb81786a354e1bb49041327aed4854b5a4f8f6122c4273d469c78dc4269b76400021770286cb09cc16d267882bde4bee63ca6b27b898de14f283c2566c30d6f27227dda89d1aa787727484c805b49dbb6577130fa7b5a2e0971eac4935c79b6148717cd536b54e93e60d4976d432794c9b34f300dbf8b2b7496802e26b2907b6a972370530554fbe12c9fe2a60fd70871a86eb1e9a3484c00f1db310f46c9cd51b2e1921bb3db510ad57f927a3fd8540c8a794cc220c69fe34f09c347fdaa4cebf75ef9ebc87e8c9ea9d1b2bc750119d57acb14afa210a30cab2dbc992cc7490f267506929aba78a3603f238aeb5a1ddce095bf18743d93b5e3a0528e42191c7538283275ee1585f642c333d1a54185aaabd99961a4abef2907fa14c09267b18657568020208ce01be2bb9ea7617608e51bbe5a13c9c5030cfc595da43d411a83a66ab874202ff2e77dff5bba4221a855b9a59416b9c866941e6231b1d37fab9c5944cba5cbc80543385094a7a6dff1be12f5c295e8422dda5375a79d3be737e327692a7b8ec595a02ca32cf233296e3b569fc3cdc746a1dd3bc7efe3a20b16226b1b2e4ef763fd8b7fe373c79e3359f0180d14561d4766538e967445c963217961602636861307f0987b35a14d28135790170cb6f4bc248c85ebbb50cc4480a7ab87fe2357a50c9fa6aca8d0fcab4e4a5d16e7c3cbb6a4ec47993fe5c5358c6dd6774b3bb946f6ca1a34470def368808105b406126b89172ad4a764eec0b1aba22b79b9de8e607f926265523917d045f45d56bb03850a8fc497ad897c252888308713b0998da899400acb5718c7b88a37cf42258cfcc1079e070eb759dfdf728d80c5e58571085c58039638289076387fcabd0405073109c0c45bab69c2e8154c02c0a3b524c213805ccdb837cfde3c262837c9ca4ba17c24e7f649e9909274d41ca4231c2190275cae42b67f539d2050effa088e70c4b05dab348138d24014583900d7e9952f6fb6a48906594024e2226c79f8b14cb6078378b9b35122d6f26431dec265b05bcaf49217db88231342cfa240815b87074f952f89c5a5a22528ecb7c023714dafa0ac771c0fdc389a7f065e07b5f78ac1f0315a89167c0f78c3acbe66ef06ac31d3ac71e1c665f13ae8e24985c917ce9426910504a70fc38edb10c0046b23b153cafaa39eb616de9089b69b856c65020194ac4ceb3ac509ba2e89569008645bb75b61fa926ae22252644466c236d14a38da6537f88c3b1ad962c06d11753e74cdebb1f8cdacdc3291156a37f7c91c518c2a60f53005489b8297a86fd08d08ef848963bad314b47d45c225a47832b2ace01238459261360f54aa4e6914ac85f00156ca4642ab3056f22d2c73c44a511c44093016fde7b4c83211614193baf0546a2948752819059e33f686b6ab519a749d8394bc992116453fae214660b6a16a776996b6d959880be5917c3e5b71b6608c1d711e9888577eb95d74377a1430b85219e4f46c4e41696e4a306c220a55cd99c2825ba3c621d3df09ccb7b148d92b8dcc4bb330439ccac33aaa18fa23c4f9eda4917c3026a3085e3a72be62a0fa73452142c26ddd78a7d13c54ca0c81e9453ee73a8a7a28e7605be25699575e94b5076ba9adb33da052407d07b3f602da8e98a56ec843c54c27bd8a6d99240a871a4751ccd54cb37681127efaa8050e5bca4965b6bf88e85f8283190160204738e3c38ee00be96bc6de5931adfe69221d7585c5a2cc46a308e321e8c6baf753c33ea3a9bd3620341c70e4911b639ba02a9e552965b24b70c0d67631c73370de52b09e49835210783ca9b4614e2859819a8e333553a498c321bbf337091b9b579ce0b50acc100bd18af617827e1e4c3f621c111c551a45893d934c0ec84025cb6588f54442842ae10f45609370aefc22befc12c83c289b5e1b24c894665a53c57d0790ab29445678c6f025a9cbdda29a097a3c20a7bc7950a4246b70d09d7ab4147cf96f0f660b1f67083b34f12f916a56b46549126b7c115c4f5eff17b81ad53eee6f80fce9a1480ded5edaec5de3bf5b4d7c2f2e18e87f499c1968993eff196753db8045e2c8ba8
|
||||
|
||||
# Official test vector 46, seed: "6b3996e8bc6f52879f2b7be012c44ad555707cb7e5fd8abb3457a298336d6fdc9eb7853008ff13201d5969a315c7e493"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = c1b3cbffad4b306f9af0cdd3028876486dbe858875c9b6497fe20172a986c82b1c96249919cedc2369d8d739ab125e0d2ccb82dfebcd90240a545cdfe07511f2
|
||||
EncodedPublicKey = c3c26937fc660fc783dc1999257544086c75908a1df52c3c39158c178648e64cc2f5f0401653c900baa63fd3c2f38b9e2b159118b04f27772b83111c86d54d93322c87b19362f7c123d03fb3001da57525d79b41af6934e111a621c6152d87173a2785f40c713e2638880cc60cc852ade50207251dee04599e944d56e89d43a979152748f0f136072b764e3703af487e9582b8957a8b7e99b9de355d6c9268d0d901b6984bd8f5c446e2b918c082e0fa5fcb60652fb925937659e3b1c399947f8d58b64d8816a4b2927db17807ca6133e0c426c359f934a59f717d93a956c702c8a337738730937028951139c150212ae2acb67b833461581b84a6be279413dc073659424a073a94cce456c3cac24ee472a7c0bf852146b62664c86bbe88e29660388cadab6ef4e9457e28abb7ec15dfcc754357b2c9a27ae99b6908747ed1e670d7d6bb8fe955c5318c1f0a6f7f001fbcb272409806f3076a9adc2826d10ec9c284699c3487c106f4580a5828ab219bb8dd5b9af1fb5289f685c232b1ad2aa77899ad71235865b007ddb398936817f65983b052806dc70447e3c633225d38a2907b91c44865b5bf953c4c728643f3afafb82656b775d4964f02b160484344a928b5915b0ec5db5586e21c2ffa90cf1c0fb1153abecc44c6e7528cc140487a731167830b305b29006a584c765bb2580753bdd84b3a7d2a8a6a3888684b18a7859bd5983c16d4155fc61b722c5064264b5a77293ea1cf3afa510485163e213a834ccacdb746f3f55f00d23f8e8073d4547b253c279f7802e862bb035a3f62272ac917387b8683050093a5529c37900dfb32533c5b2cb803ced2a50e7c1c5d87141eb42ca864881b88bc2469f33070b939e6d6396fd98aca783b3c57719c877c52cb4150a9b900cb8683498bbcda7354342a369477d2d28f9cf33db7764e661279bc80bc9eccce769a4375dbb08836509b686892e98da1b23f39656a73281b44328c2ccc23d41343f069760c5049ac4a339ce249213aa9d7629250f77114e266834584284a8df7e422f5ebc17547a736865f1065c948da403c5866060a171141a5cd43a7f060c0e08eb3ed2b1ada0571556f056a8a6b42b790c77f953a9b3c6f60
|
||||
EncodedPrivateKey = c04b2e7442a058c538308c419de64925391b0ea1872406b66198c82e7a99fcc2bce4909dd9841bafb98b27b651282c77f3ca698a4533e1a93ac19891c981ac03e88f9248bfe3a792aac258d651a04ce79efe423d53c91300553d4648c0497c2870f56259c82b81053914471ddc958a817898612a5a47457a75976cc6b693a358b170a2bfcd1760c3f5c996eccf2d9a6f617b052e1a5f1d6856f4513ce7aa6bc1048f1d78cd1d136f8045934229a913b758c8a3b247ab093f096bfcd6c85dd1832e45806e35a9a0e2a9d5148a7e24a1d0a9739e2c232555b72caa6150e1c1165511f7faab2c181cc789aaeda98929944b3f10b27a360b9a964ca5011e5cfbcddd9828473433617b20b7d67f828a4cfe133634e3bd0bb1b81f13452ad66b3a351ba1467c01b648a6320726580318745a4e03167a2cce3f459f393b6f3cd3c8e72332c5c0500ee2594fd243daa3b1ac297de284a328b2bbbbb4389ab5aa655a58699428f7403ea222a42a6463a324c3ff7cb115585a95512f072a6bf75b82eba456f0b6522192c6c6799356d3969e14a30cac73e5d2aa20e681ae7b8e2de411fc37b464f3bed154106c303b7cb046c690838a8ca00efb73016174ca8993a2327a5bf75ecf570cb6028aa97c502eeba7bb5ccc5ad24b4cc9b66f3158abe2a96436b93862623fe3645396b051607942c8505008cd219b572f1ca76ec0523d6ccc8ee80ec29507f7388f13508f517c6ed7425dad4528b398aa6e01ac1c69997ccb3d3a96714483cbaf872e2373b17315cadc77518f124eafac8a240acd6042093f8183281501f4131d81164759d77ca9d305699b2e7e2734dc83a6c08862bea9747b21ab2db5ba790bb94b951f79095980b0ae0f30062042840b9a731980caf97b6309025711c8041910c0648096cdda392c146ce40109743c42bfaac8035c300175098c282181a025b2cb36caf99546796261794104d756cc570687fcc1249860e4995e1a2a32da912b62897c6eccaa0375a6e95532e71b3a8448425a536a111a7d709b6bd22887728b5720f3499edb0d69e925168a2da5851b5ab756acb4baf4cb96c3c26937fc660fc783dc1999257544086c75908a1df52c3c39158c178648e64cc2f5f0401653c900baa63fd3c2f38b9e2b159118b04f27772b83111c86d54d93322c87b19362f7c123d03fb3001da57525d79b41af6934e111a621c6152d87173a2785f40c713e2638880cc60cc852ade50207251dee04599e944d56e89d43a979152748f0f136072b764e3703af487e9582b8957a8b7e99b9de355d6c9268d0d901b6984bd8f5c446e2b918c082e0fa5fcb60652fb925937659e3b1c399947f8d58b64d8816a4b2927db17807ca6133e0c426c359f934a59f717d93a956c702c8a337738730937028951139c150212ae2acb67b833461581b84a6be279413dc073659424a073a94cce456c3cac24ee472a7c0bf852146b62664c86bbe88e29660388cadab6ef4e9457e28abb7ec15dfcc754357b2c9a27ae99b6908747ed1e670d7d6bb8fe955c5318c1f0a6f7f001fbcb272409806f3076a9adc2826d10ec9c284699c3487c106f4580a5828ab219bb8dd5b9af1fb5289f685c232b1ad2aa77899ad71235865b007ddb398936817f65983b052806dc70447e3c633225d38a2907b91c44865b5bf953c4c728643f3afafb82656b775d4964f02b160484344a928b5915b0ec5db5586e21c2ffa90cf1c0fb1153abecc44c6e7528cc140487a731167830b305b29006a584c765bb2580753bdd84b3a7d2a8a6a3888684b18a7859bd5983c16d4155fc61b722c5064264b5a77293ea1cf3afa510485163e213a834ccacdb746f3f55f00d23f8e8073d4547b253c279f7802e862bb035a3f62272ac917387b8683050093a5529c37900dfb32533c5b2cb803ced2a50e7c1c5d87141eb42ca864881b88bc2469f33070b939e6d6396fd98aca783b3c57719c877c52cb4150a9b900cb8683498bbcda7354342a369477d2d28f9cf33db7764e661279bc80bc9eccce769a4375dbb08836509b686892e98da1b23f39656a73281b44328c2ccc23d41343f069760c5049ac4a339ce249213aa9d7629250f77114e266834584284a8df7e422f5ebc17547a736865f1065c948da403c5866060a171141a5cd43a7f060c0e08eb3ed2b1ada0571556f056a8a6b42b790c77f953a9b3c6f60d5a0216ca6cb4b8e9443d8405b218e8e434996910f0dd3a18bb5e6069b78e41d1c96249919cedc2369d8d739ab125e0d2ccb82dfebcd90240a545cdfe07511f2
|
||||
|
||||
# Official test vector 47, seed: "730b65ece22de27d573ce3aea7cb021c415df210d228808d91d4f380070ffcb0778b683c71d4853deb569c822765f2a3"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = ff7495b8575b5a98e4fd21fb4c3e58cbb60f14bef21aa74cf8802e3153f14807bdc370460375a778d1a31d01c42b66367ed8d9e8f84551002f552f0e52102b5d
|
||||
EncodedPublicKey = 192240ad257ca4bc4aa36643b8b696e4f06a57132b8b5c3577a14016a5cf8ee837958b6241dc7f31e1af27909e72cc459a767b2a334431383dab0ab60348570ff124e55cce7605b4fd6c12a1831115b6c76f51734a20336e3b920fc4bdd77937bc789f947c815f1018f766b28b5b7073774d69267e992202ee965a3aa0778357a4b3f18bf23c05a5da5a2f9a4066185323ba71a3f92f921636b5a02e37e06bb3324a3f33222d5a5be9d062a2985592b52b3e3833af647aa4c9cb4e8a6383388b444821ade0b375da6407197d64304f5a818fb54cc0658abde9928c517c296be087c5441296627cbc205b04454824acbb3c5665f8c54256c20fc16c4734c13639c7bae307700d023da668bd82c849851571cd2bcf25a20fd4cc7f41d7884d661819a61f86034ab9625885e9b38f653b9573be52c8cceada18e27319ec51885112c145b70add796672b2c1607b5309e12d306c9e863a62e5a52fb2d62b9dca3831e89fd29c88fee796568a6e2b3306a0698eb33c492c446fb2f21ec3970ea8c5573c2a67da04c0a6a184b3370a16193c0ba15851ab3fc32b1bff416c998193f6a1b3393169749868e851cb64d546004b4ca9b02657084c1fe140942713fa3a61d3e676fde19b029b82e1fa92e01a056cbc340e7515a7046080a62c76f0538633615d6b35f0e50b7e4a08e241c4c57cbaee742fffe2b524dcb6b4c40e98a417e454795cbc8870f7a7bc5413bbbbc98d2b289333c7ece799feb2a2c4647f289c4dfd5a715a32620b71a404a9200894afb3c8219f23993fa9184b2b140d93747049bd9aa2ccc3e65678fc759aa4159137730989bfadd439000599beb6794bf116f9911a441b5ee273c5017c793b9c932579aed69c1b5985c138fc97f5e22ff8d763a8c4a77b2903ec7ba455c0abbab891e3102631bb17c20518af8934dd97336a3ccc8ea3baa799528c8b87cf968022530fd41150a11362fe319d59e192735ba9132a39bb307071eb46947779906341868b92d6cba5ef511986f4975145834c8723eab95be14a62492aabf59793c9631a81730f4477064084199e9c7883521d053c47ad0ed94830627371f15df2a65778cf8edd3af04c4116aa354a6f2ae067f52758
|
||||
EncodedPrivateKey = 50029770b98f4125c98fa3333f30006ed27700502da565b383b219c53b7ab2361cb4dc9c56409fcbf509fc77476589762d787eb0f08dcd779e39db7a03e3a2e6399b87e05e73f16359943694c173f07055cdd13b5f925db9bc1efa7b2d4ab9bfabd88a91f651d167319e281af40b33ad50706ad966fd9a598c7b4712bc945f3b814e655d0c6c85b34ca904f292082a9ab39c63de01551edc423db5ade78c5e3e8655ba8cc512f6beea2c0bb7e68683fbaa51f648e38cb47503b2da6c5a9a1caea32073a105b0701aaaf2a77f45527d7d5b9780e68cf62636fada8125c049fea9cd98e8185f83b06df6a148f88ac8926e6e8a32639bbca411aa9b17931ae5240330aacd2a1ee5d58675e35c81f1b41216c0be5636864790acd174a6447012935da8542e24ab9159029b1817b034540e70911cc15c6eb95a34efd10afc49a2a13845c7d5b52a0c6879069525d9cf1e1b50675ab86f493c63504e0c04888092785b2331af83277bc9780cd7a39b996d77b66755c27cb868ccc2427aeb27414ab8aaf09a0e1d826869c0c500d55b8f0565241b5e71517d821492e8850f6928b6d1513b2ee31845516dbc85bb4a6c5ec4d22829559d93e1aa0a4bc4d7278b7aa0ce7e34b95f2854994833c15aae11cc5d88d781e838b14cdaa3d3f443aa422173774a29616122798c391b98c965583d35b18c825cfc6514bfd3353e2bbc9b5689c72b6c40b40ded0b89c0589da10630da16b959ea0a8bda72c1752f2e033a69450e8ce6ce891a5c6d6b60695676f17ab5dd737e1d729927253277b78bae570c85eb6a7f3ba3b4b3213f10077079709fc23705eb79f6fb186f1365e279516f688e137a7aa3f4c9dda26e4d4b04e2f7bc0896525c1616bf34afa994cf48b66720071a1f8bc7dba426804799004dc386824083c427581489f01b8e4818a12f551bff1b2abe00883220c1442385b568b31f22c10747a7c1f61971b5429b4c6f93cbacd5677b6e331c85e99fdcc96fc1b5cd18199c3aa3606c300a6da4b48b6c5a9c27349da280018461d0791598630496a6186615584a90caf5c6c5a75565dcd2ca220aa8192240ad257ca4bc4aa36643b8b696e4f06a57132b8b5c3577a14016a5cf8ee837958b6241dc7f31e1af27909e72cc459a767b2a334431383dab0ab60348570ff124e55cce7605b4fd6c12a1831115b6c76f51734a20336e3b920fc4bdd77937bc789f947c815f1018f766b28b5b7073774d69267e992202ee965a3aa0778357a4b3f18bf23c05a5da5a2f9a4066185323ba71a3f92f921636b5a02e37e06bb3324a3f33222d5a5be9d062a2985592b52b3e3833af647aa4c9cb4e8a6383388b444821ade0b375da6407197d64304f5a818fb54cc0658abde9928c517c296be087c5441296627cbc205b04454824acbb3c5665f8c54256c20fc16c4734c13639c7bae307700d023da668bd82c849851571cd2bcf25a20fd4cc7f41d7884d661819a61f86034ab9625885e9b38f653b9573be52c8cceada18e27319ec51885112c145b70add796672b2c1607b5309e12d306c9e863a62e5a52fb2d62b9dca3831e89fd29c88fee796568a6e2b3306a0698eb33c492c446fb2f21ec3970ea8c5573c2a67da04c0a6a184b3370a16193c0ba15851ab3fc32b1bff416c998193f6a1b3393169749868e851cb64d546004b4ca9b02657084c1fe140942713fa3a61d3e676fde19b029b82e1fa92e01a056cbc340e7515a7046080a62c76f0538633615d6b35f0e50b7e4a08e241c4c57cbaee742fffe2b524dcb6b4c40e98a417e454795cbc8870f7a7bc5413bbbbc98d2b289333c7ece799feb2a2c4647f289c4dfd5a715a32620b71a404a9200894afb3c8219f23993fa9184b2b140d93747049bd9aa2ccc3e65678fc759aa4159137730989bfadd439000599beb6794bf116f9911a441b5ee273c5017c793b9c932579aed69c1b5985c138fc97f5e22ff8d763a8c4a77b2903ec7ba455c0abbab891e3102631bb17c20518af8934dd97336a3ccc8ea3baa799528c8b87cf968022530fd41150a11362fe319d59e192735ba9132a39bb307071eb46947779906341868b92d6cba5ef511986f4975145834c8723eab95be14a62492aabf59793c9631a81730f4477064084199e9c7883521d053c47ad0ed94830627371f15df2a65778cf8edd3af04c4116aa354a6f2ae067f52758f38eb0f75495417ad36d1269d0daaf16ef6773b1d6ec9088ccdaede77f606525bdc370460375a778d1a31d01c42b66367ed8d9e8f84551002f552f0e52102b5d
|
||||
|
||||
# Official test vector 48, seed: "5522a5a891a9a9b5514f4556afd8df40b9cec63a01492f0cb8a1db073a285a963e4a9ff2376c88662f7d8d241f8acf17"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = bdc3fba1c32751139fc45bacffb3ea97f26573d804a5f27a459293d95190ed8efd5a08f656a6eb8cd20679930a31caa6a6331c4b133a6838c223ef9f769f6246
|
||||
EncodedPublicKey = 7ee9b1dfbcca556228bfa52dec5593c1d02a3bc637b93b1958176c7761b89e68af8786b6aff24e80745801ab060a5b9f2b53576ca132a834986e39396d79652d6c9941c1384c81141585cc014c044d6b3670724a271b2c8ebc60e1251fcf2a93c0a56f7a64cfe88b2fa5e6c59a120f95343d034930d0cbb8fd71b313303c39d682aee0c34d37983fba471e5131988443fd958024c26cae9bc924234548038511c85c0a093706db4dfb3358bad07420f83c66745064040517268f38653288367f964635bdc88c06f858e4c6a777939ee6b425aa1aabfdc82c1232781e8909eb259370a17791d479b4e110a8dc32c5541ed1119b6ed41e00f670b0eb29c6e08642931036a03f1d864abf843497310db8170a316217eaf9b0b885b3a7b8642ce8958cb0a93950c9db7336490b05d69491ebb4a382a705369c1089c6a3c3167c904131ccfa9de109840b3a54c01c9b7e22b63eb617822c2f8cfb17ba795a64893554cc2fc1799fd81c7729ab0ccb853799399480a58bc3c031d841b7740ac28579a483230d44a40eb83b802cabb625b34c34697461078f6254c68474a5df529fdf920c4ed7ab24a86d4c6aac29873705118c43c5704f98c90f9bca4ce2abfb8a7cc24865c3381c0a6257131c77ac511d710305da828860f407736aa9d0c962df54cb185a1313745e0ed7471c68b7434101fa0444fb5c508526b286713f4ffbaf71611690fab3c5ec5343aa599de20a2aa74de8713862fb0e2cc46f45717e4093c91c922dcea87903e79764a1bbe14c88d5b7356f58aa784c332a330a069728c8d7284902bef34068129bb5b4dbce476397189c4978530bcc48508ce64c4db34a2254b63727154acc6f389005bf1617f6ba7eef1a9ce7c876a2ec5ecffcbdf799b81fa8303a4658b497aa58aa16c707a92d0848cf935f546180ce37c7c971a15d66870b62925a455327d05807c814e223cdf07482634911e6a027dc3c5c23763d45418724945f7c13c191389854244edc9c13cb94a7ae33cfd2219fa12a3cfe6108b4514f1c28421c706878f847af73c294a0c2f228bf29e68dc2699bfd3c4dea8198d0a39dbeb90c6d94c9b9505eef74b0bfb52292397e3e6a7e18b90a344e566ff9
|
||||
EncodedPrivateKey = cf6cc6fa4457572b1799a0295dc8483dd6129dbc2ebf1b4b81ba5454d0590b35ccadc2be3c39aef261a5bdcc700c2c79b6e51c2c0a17cbd6b2e6b57c40c8b3cc688c47c43e26cc5e40592e0d048944129da9b9a6ed460dbb95bf2a29a3e00b8412d2a0157b5fa1e446bb16a3e8f01bf3d879a4206bde59670d5875411cc9d7cc7beac34a0cc376eef35817c8c62ab82df46381ce3c8e1f9a8d25d186c65a3be5fb80e9b4c7042769c3a230e2cac490c07f9f0c34ae7c90efd32761d3b1c0f5b74421246c8a6b1b33b997056a8cb7c779a78253028e5aa2a5f673cfbfe40477738214e123c59ac759418b2b71436d1a046efa2581168790236eaf27c361b313ffdb65b52475cf6797affc01c32cb5841b5dae7a904314a160c58c162a69ce37ae6f28c8d0bc440534ae32caa06d92b1beb8c8007aa056e82150026be14b35dfa72e5a990786f80e0da34952090f90d6171c6b064a7a75c1d4b29658813240cecc03c6c8b9ba97dcc30dc5b0a936343ce77a44f8bd38c69ce7f3923173a7042b7127d12c5889c1f1bbaf8f17b3058acb6387004dc4354294787f016a66cc2394992d3831784ff3ce4496a2b0f225e80985cac16be16194d4a83c0d050bbf6334162b71c877a269e544e023b5b4f1967e775060351a06c47974e78e6f081ffe6759276b0f6a5b96d7a0acceba6f85752cca116e9489b6760b4434117fda6105e3915937aa28fd0889408193de70a413a7b752b30e255130d81216a2361a24b593e3c2726d985f4b671d3d161de8640844c4a448da52bf758572e4c09ee81a0b84631afa6c59962f86805cf2920f8fa45280e0009a1876eb7487d6e59442cc319bb50a876164b4c202270a98ccd6c43872aae9053a0d893de9347f78107b8d55b36a26cae926bfb412a9e0243f0b851d7663b39e87ba2308c5dbe04243d2bac3a10da346c62ce03688662037a362c49423ba2b151074aaaf1b90bcb5a9f453c169087a412032af930c1f2b6f5a8855d1097e0f0409d6bc5aeecc415962862a916c34c5c22ba242bea3ba79431dd2318d57e75d950395491ccdc9337f916a0cea81367ee9b1dfbcca556228bfa52dec5593c1d02a3bc637b93b1958176c7761b89e68af8786b6aff24e80745801ab060a5b9f2b53576ca132a834986e39396d79652d6c9941c1384c81141585cc014c044d6b3670724a271b2c8ebc60e1251fcf2a93c0a56f7a64cfe88b2fa5e6c59a120f95343d034930d0cbb8fd71b313303c39d682aee0c34d37983fba471e5131988443fd958024c26cae9bc924234548038511c85c0a093706db4dfb3358bad07420f83c66745064040517268f38653288367f964635bdc88c06f858e4c6a777939ee6b425aa1aabfdc82c1232781e8909eb259370a17791d479b4e110a8dc32c5541ed1119b6ed41e00f670b0eb29c6e08642931036a03f1d864abf843497310db8170a316217eaf9b0b885b3a7b8642ce8958cb0a93950c9db7336490b05d69491ebb4a382a705369c1089c6a3c3167c904131ccfa9de109840b3a54c01c9b7e22b63eb617822c2f8cfb17ba795a64893554cc2fc1799fd81c7729ab0ccb853799399480a58bc3c031d841b7740ac28579a483230d44a40eb83b802cabb625b34c34697461078f6254c68474a5df529fdf920c4ed7ab24a86d4c6aac29873705118c43c5704f98c90f9bca4ce2abfb8a7cc24865c3381c0a6257131c77ac511d710305da828860f407736aa9d0c962df54cb185a1313745e0ed7471c68b7434101fa0444fb5c508526b286713f4ffbaf71611690fab3c5ec5343aa599de20a2aa74de8713862fb0e2cc46f45717e4093c91c922dcea87903e79764a1bbe14c88d5b7356f58aa784c332a330a069728c8d7284902bef34068129bb5b4dbce476397189c4978530bcc48508ce64c4db34a2254b63727154acc6f389005bf1617f6ba7eef1a9ce7c876a2ec5ecffcbdf799b81fa8303a4658b497aa58aa16c707a92d0848cf935f546180ce37c7c971a15d66870b62925a455327d05807c814e223cdf07482634911e6a027dc3c5c23763d45418724945f7c13c191389854244edc9c13cb94a7ae33cfd2219fa12a3cfe6108b4514f1c28421c706878f847af73c294a0c2f228bf29e68dc2699bfd3c4dea8198d0a39dbeb90c6d94c9b9505eef74b0bfb52292397e3e6a7e18b90a344e566ff910f39c60e99a2c3a9968c48ad9a4d66bdc13d2b6bd6cc06c19872dfb955dfd66fd5a08f656a6eb8cd20679930a31caa6a6331c4b133a6838c223ef9f769f6246
|
||||
|
||||
# Official test vector 49, seed: "1853e72329353b3f89ae6a1b1ef700da8ed3c10d19f9e61ee9252e28ebb0e15802ee43083a12a0b7527088832605e3ab"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 447f6076a627bbc5ad7773fbfeb14b4ba9ac43a0f8b99fb6dcd5e452aa3c47ec20a7237801f470fcc2bd9fd7bea8322859b850f7882d362947432913dd068c01
|
||||
EncodedPublicKey = c951abeb68a50891252f78b199008c1216a209c19efca5beee262ceedccbf3f076c3d9137c7206c3900813b63a943a337c482c0e279fccd5b618479cfec161bc57b08472072d23b945bb6c40196cd7d1031a8381fe161e53cab70d8ab8b0e38c525c63c9d216049886a9a79c4a0aa32d6acc77f4a94c26ce4b3b044e04c1eb8c392f2653059997561a23c7984b4e779af80383c361676da02175a436e474cfaf4433f78a77219c0e547494228305cf5c3019eb8c7543466917843321cbe6f7cc58f832dcd6561e38868181c2260b2780b18613612d88eb041dd2721c284d51020b6daa8a429b392a17b5132b65d108804db756af556b6c3b4225f8a039caac0d7b3292da3708ec8e687199c793841ce78e4ec98e72146f6645223a59bd5bf5c2d378099f57ae4b52912d3c50be48103c43acb7dc740d3c7b48d3cacd1733f11a1e7293251c161b979694eebbc2f1947eb5da0bbc937e13bccb3e7732ac1807305a3de831b7c1fb32df64159ef42f9b234bfd09a84f5136f271a5dcb0895fd7b9be855241aa31b72c077df0152c919b8ea5445bb8829548a5109b5379417e67ca00010751dc0209d465b872f5946888777d5a2696d01baa7c9bec340ac0dcbde36ab9f408731178cf1c13b6d9260fc1912fb2392ce71253f90438d7435a758b7aea8985d2b8294d85a0c1a75cee9badb39b0c832627034b176a08aef446596f7b5bb5448d3a945807d5b4f709b1e372848ba0b2fc2b3be7b24519426960d9970bea904f16ab6df8735436a472590b9eac5e54027b9f5b3416e07d28181955e1c45b796520db341c884f8ba3097d2b12431a4f51101d49410c8104cacb0785bc9a365e11a19e0a89c6e82c6b6968450881050620fd28bb5783c15f0823f211b72e0c3a4a6499c3cb332c5b6c478176a360b3bccc20aea36141104459d46c1755bc09795757d3891e8710f02877741993c15cb875d28b23ca466dd8ac50fa42f3b256b3970df5e89c019541bdf658970bb94cb08e01e65928b72164309dcefb8e48c2cceb2c597ce09440702e64256fa7979bee6b54b3d6558c04c5bb1b8c79d3753f134789f750a8d8093cb50e5d96d55c2691df1740a558b8a260ee39611565f4
|
||||
EncodedPrivateKey = 7b617a15930b4d24b5b798b2f3158302090203882bb817331d5274cbf19d9d3a4c83a0cb9d96455bf6a15cb4cdaf6325d7f37118d4978cfa9718c86c576152e8fa9f5f7a5095417f761a32c9d4c62ffa1374407d3a8cce0c09695c2a9abec1770f2a7a60ca2b50944fad5a828f22c466f0a6e0fc1895465dd6b553024aad44f6c0b0a299ba6c7c052c0763ca8972a91eafd62e8e6493c0e6099a97bc40916cd85c915d12089a4525afc15b0d3a1cb525163b5cb0456a139fdb680819c4199613c5f07824b425ff61bda8fb20d7598ff6005bc830997df34465d55046751d9337c9c5606f5d3ace93aa91987b263cd120dccb48c5c10d350a2bf3d620ead54df76a381a6a7af3513b887c36f155abf165a736d80e04b580c00c0d2572301f3a473cbc6daf3365217161f547442fec78d4e634f0798830664f7fe35e81bacab1007abae1ad64715988e825517b1ecdf34def2b8248c90227686a90c4983fe14dfe1b8e3b49c3b29c4c5402c30318549289a5fc571cc1dc889f8906e41c36bed567c34c6f180774f6b0532028139a94c2c48c5f06b86f21c2397977cdffdc29dc0b5dbe3ca70aa297326bc08e11b2b46b8e288c006017b63bf1403d249882898709a162d1585b3323359b6a59e18188c08a0e7748898cc95612c4931e4126181c45767121b56320b47c3192e193eb25c44d4a69c299b34bc1a6aea76d6e00b665f45e9bc0c63bac8bd9776b33bc8477e27b02dc1cf4ec227623b765abc8dca162b95842dcac1fcfdb96e284437305b2d7cb39513c810a010965f70e76604284b85d22b84d0724be70dbb6615a1a2690a29d0220419c18601870d1295a1f5a753622a6477733f67a16f3c2b37c7ab0bd7c2f5e47c81b848f05c04919021121e2b245750a89e9c943128cb4a6406488a637ca6b4c72989a9a64106c4ad1b3871ca2468d74aec3bc96dd2c70bb4b5567ba5410d98e6cd71749ac849bc7cd542c55f7eab7bde9567e0966d968490f356da34b7c034397fad0be1882c6b3e520d6228ea3a84d7ac163580152a41a5802d153ebac5358da445e8481b5c7c088707964eca8c951abeb68a50891252f78b199008c1216a209c19efca5beee262ceedccbf3f076c3d9137c7206c3900813b63a943a337c482c0e279fccd5b618479cfec161bc57b08472072d23b945bb6c40196cd7d1031a8381fe161e53cab70d8ab8b0e38c525c63c9d216049886a9a79c4a0aa32d6acc77f4a94c26ce4b3b044e04c1eb8c392f2653059997561a23c7984b4e779af80383c361676da02175a436e474cfaf4433f78a77219c0e547494228305cf5c3019eb8c7543466917843321cbe6f7cc58f832dcd6561e38868181c2260b2780b18613612d88eb041dd2721c284d51020b6daa8a429b392a17b5132b65d108804db756af556b6c3b4225f8a039caac0d7b3292da3708ec8e687199c793841ce78e4ec98e72146f6645223a59bd5bf5c2d378099f57ae4b52912d3c50be48103c43acb7dc740d3c7b48d3cacd1733f11a1e7293251c161b979694eebbc2f1947eb5da0bbc937e13bccb3e7732ac1807305a3de831b7c1fb32df64159ef42f9b234bfd09a84f5136f271a5dcb0895fd7b9be855241aa31b72c077df0152c919b8ea5445bb8829548a5109b5379417e67ca00010751dc0209d465b872f5946888777d5a2696d01baa7c9bec340ac0dcbde36ab9f408731178cf1c13b6d9260fc1912fb2392ce71253f90438d7435a758b7aea8985d2b8294d85a0c1a75cee9badb39b0c832627034b176a08aef446596f7b5bb5448d3a945807d5b4f709b1e372848ba0b2fc2b3be7b24519426960d9970bea904f16ab6df8735436a472590b9eac5e54027b9f5b3416e07d28181955e1c45b796520db341c884f8ba3097d2b12431a4f51101d49410c8104cacb0785bc9a365e11a19e0a89c6e82c6b6968450881050620fd28bb5783c15f0823f211b72e0c3a4a6499c3cb332c5b6c478176a360b3bccc20aea36141104459d46c1755bc09795757d3891e8710f02877741993c15cb875d28b23ca466dd8ac50fa42f3b256b3970df5e89c019541bdf658970bb94cb08e01e65928b72164309dcefb8e48c2cceb2c597ce09440702e64256fa7979bee6b54b3d6558c04c5bb1b8c79d3753f134789f750a8d8093cb50e5d96d55c2691df1740a558b8a260ee39611565f407960413271583353ecae73e4b01073ea5a0596a7252a58fb9ee0c3e21a6853620a7237801f470fcc2bd9fd7bea8322859b850f7882d362947432913dd068c01
|
||||
|
||||
# Official test vector 50, seed: "027c3d5847ed4470931141104f25b19ae76117cbb64b224ee424ffb782e9a0e988839e0bded0df666fe8e5fcbb5dbc09"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 2d5df64d62cb07fe630310bb801c658dbf3d97993e68626745de39d37fbfc2b27b534537addaba4ecf14f02ab317d36cb9f0f50222ced7cf029dff8a0d3d2fd9
|
||||
EncodedPublicKey = 7359a1eb1c18b52700bd063d8dd4c422944aceb01c20d58a44db5e3dd414322292c2f15a9bf0a81ef1789823572d2a38cdf72c4b87546509394f67cf7c2b9bee02a397f63bca09ab46b6aed9c680994b53378c57587885876a83a60250d5619f993786f1f413a0ea58e3659ecca0c120741f79288138e18386526902e615c278155741684143c50af3802a60ae30a2ac782a4bc11356507acaea6c228390779724b62640bd5bb13a039b6591089db9394f90088fc9912759d3b993016be3bbacb52a1b63b5b130cab77ddb755ac3b22f0b6c07b277eca71c25f8a65aa56e164b96f8693b118613c0db6b80798d4baaa01727bb0a752b657b2fe928386eecb20ad0725a476b4e5c21c43944650431acdbc55157878b759b296b7fe507c4a99570f6a61bba3702ef1742dc476d8a16489a3a29c9b2584072ce09f69d98f14319a8b292412f60e8cefcac20126cc289168f7e8a8914e1c3b4b4a4960b38ef7a76cd871b289b8b00c28fe3ac5ba932c26e700f77f16d8f08608d04cd02c44d060c6f43c082ade9aeecf954ca54c0e0d5b31de35e0a177e31ba17c4fc9f0829b6ed4633ccd186ffda8b74f9ce6823674585b637f56c18806c4c30c335a97f98f308dec1002890104796a0b0ecbfd025ce4e88163081c36b714e362a304a656463f139aa6c77b44b2f1a040687c569e54ac118ab0cd20b3a95777486586287ea490e4b3d8c29850523cac056abc3cb30c8bbaa42e599316a6e029b3fd29c1d4937954be7870f236514722fe9084d2ca9411d2671cb03c14feacaff083eba19183b589ca8f94fbd335bb7a7ac1308d0ae643eada201b1c7507d877c8b4b86bed579b5e53745d2b2e9a70f4bbb2104d80c9be0b11e15933c76cb5c07a20d4b1d4cb08ea1c46fa1347511a64703988d00ec9f36a706a9dac259b6761caa3a9c1149ae04b7dc78a3ea1271add9730ba099f69babf71c8e6631c76ebbaf52d7bc6a744bb7db3d72cb4e766bb68c926e54f38a0677b523189c10f285493c40718862754b04d5459693c2a91c93b09a60166bc962a2439b4a0366f88a9f87f04f95f24c009b61652447fbf931196f8b9ba0db9cd90d450893d94ced829f0a3bad232f0d4a4199
|
||||
EncodedPrivateKey = ee8a0be59146ef0a11912320d0d89ba1d5621b724e2859ac1ff99cffcb16de69a0145486affabc7c9cce959b417991c47ac7ae529bbadb5b41fafccfc1a9b562d60b25ba64f139055fec53f055b11a602941b86b5ea65a6f239ae2f62a4ebcbbdadaad7e037b53a86221ca4542f8ace70c128c0c5e5231b5510b5fba460c89d8bfeaf3408e493dc83039887829d5627d13e6695d2caca05baee8ac953307108dd371c405afc1a87d88084343805353376a525a358bd934d3b384b25a11743bce36308d54a210b39b22c6c7876e291cda06a91e19b6ecf1021ff6830de297d640a823a3a285f92684978c76e911245c8f863272e5bb255db4a1811a992cd031c293576d312c64a4b37286795a71ac64d2c303018aa69bc900ddc454ba9ac0696eb73a139c1562d84783db12af2617270f892cb64a7c53a23232a308f6589eedba7a00f3a04fe4ad2d8c49aa462ea9020d88038247d6801854090f4511f4652ccb53ad193b73762c8954f232e311b85513bc2ee21fbb30a6b5b16882185d951a16337c1b7d7317554b578f1c5eb2123747f30f4a521173079803211acda983a717452ba40695ab8b853a59eb7530dec239e8ba9a9cb239629b138f2c2c0d4aa8dcbac47de4c641818c120130ee950aff3b733d115f71c967017912c8ea18c0c1ae510652fa738c86c294a3d7095157a49f6529a4360095c02afc422432295383c28a4e270ba63c9709fcbaf7e24d5ed56df3d52f87210c6f68099f48191a850dbbb909a8db3f6e4c8e9c1c757a77bd0ad10f9552587049c252842202343b93b72e22721d3291aa32e050108b0e2600686e9ccc16532fbfa76e51654658426f747397e35b18a9e381d6fb0aa094a574507f64692c1c570d2421741db27a7a8c25a63b17fe918c452a66712a832f540bec1c4d537bb3f66ab06c2b3d1bfc0b572c9d8ed500ddea619ce29d9a0950b031caf37265acec1757a20db5db7ca72808327aaae2785d373a5328b5cca6366bd83ca716b46226988e3958215dd019d9511cc1a537429b7f1f504f3db8a4e72664ebaab9d1379ab9ea362e1abe1540a05ebb957359a1eb1c18b52700bd063d8dd4c422944aceb01c20d58a44db5e3dd414322292c2f15a9bf0a81ef1789823572d2a38cdf72c4b87546509394f67cf7c2b9bee02a397f63bca09ab46b6aed9c680994b53378c57587885876a83a60250d5619f993786f1f413a0ea58e3659ecca0c120741f79288138e18386526902e615c278155741684143c50af3802a60ae30a2ac782a4bc11356507acaea6c228390779724b62640bd5bb13a039b6591089db9394f90088fc9912759d3b993016be3bbacb52a1b63b5b130cab77ddb755ac3b22f0b6c07b277eca71c25f8a65aa56e164b96f8693b118613c0db6b80798d4baaa01727bb0a752b657b2fe928386eecb20ad0725a476b4e5c21c43944650431acdbc55157878b759b296b7fe507c4a99570f6a61bba3702ef1742dc476d8a16489a3a29c9b2584072ce09f69d98f14319a8b292412f60e8cefcac20126cc289168f7e8a8914e1c3b4b4a4960b38ef7a76cd871b289b8b00c28fe3ac5ba932c26e700f77f16d8f08608d04cd02c44d060c6f43c082ade9aeecf954ca54c0e0d5b31de35e0a177e31ba17c4fc9f0829b6ed4633ccd186ffda8b74f9ce6823674585b637f56c18806c4c30c335a97f98f308dec1002890104796a0b0ecbfd025ce4e88163081c36b714e362a304a656463f139aa6c77b44b2f1a040687c569e54ac118ab0cd20b3a95777486586287ea490e4b3d8c29850523cac056abc3cb30c8bbaa42e599316a6e029b3fd29c1d4937954be7870f236514722fe9084d2ca9411d2671cb03c14feacaff083eba19183b589ca8f94fbd335bb7a7ac1308d0ae643eada201b1c7507d877c8b4b86bed579b5e53745d2b2e9a70f4bbb2104d80c9be0b11e15933c76cb5c07a20d4b1d4cb08ea1c46fa1347511a64703988d00ec9f36a706a9dac259b6761caa3a9c1149ae04b7dc78a3ea1271add9730ba099f69babf71c8e6631c76ebbaf52d7bc6a744bb7db3d72cb4e766bb68c926e54f38a0677b523189c10f285493c40718862754b04d5459693c2a91c93b09a60166bc962a2439b4a0366f88a9f87f04f95f24c009b61652447fbf931196f8b9ba0db9cd90d450893d94ced829f0a3bad232f0d4a4199c0216723f9659d2981e083cbd94a6b8d67b645565ff3952bd486ab2422c3a11f7b534537addaba4ecf14f02ab317d36cb9f0f50222ced7cf029dff8a0d3d2fd9
|
||||
|
||||
# Official test vector 51, seed: "450751d4401737459c6d93e6c5f2fbcc4a3af7cd7250ccf404bbb817a67bab7b4c9d0ef4570bfe25cf919da331c31d88"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 25056d1b8113bb362dd979d98643d7a7ac9c4f95994c0ba060609b6d07002ff3f48a9254dd40b117941fa35a66bb50296327b725525deef70e128ca8045ec451
|
||||
EncodedPublicKey = 93ebc3d9c66cd6ab9a65254b489cc5e52122ac715faac9cb0f227c2d7466560a47e9fa491ed030e86476e5559ef41a2a7eaaa3e9f895bae581034c966b0a5da224a1f823059f291f3573af722042cef9ac703a0704a98713629b4e422bbbc4899bb5c0c9359ff43544e1ac6c8db790bac39292e0bbdc121a7fd0b86edc86e8277e15b067bd3a8a23aa199907bc8bb9b0dce8a1edf271729b553459413b98637de606a406b064d9ad274572fa80c4cb184259b9b603903c9a896001029f723212b0b896814774ef7b715819356c2363dbf186d95c6d2e622f4a310516b62937723f82674f17b53aea7a6d96f651ceb1b470c14733f89b11ca01a9d44292f8367085a4eb70bab5167b3ab98b9ff1a3a8c9047686cfc7f11cb39202b419a0e618356a33025ea6a5b9c86a14876b15fb6265b0158599acf1b63067a1476e29ba9c7a7fdb558dd2aa06a6c21c81280080b5b684786442c425f1dc57626158b46471a5baa61e034a71c5635b6c2b95939cf5428d2ebc0a56d75e3965738cc2a62ea0cf9952772581a2936b5447b9b879b06425442d20747f826846c4f78d465c1fbc0b13b0d20baf8c8c2da4cc2177632a8540f53c13a0308569daa1c6da6802047fda80263658a658f6bc3d70a6b26063e3e593dfd53a622a64acc67913594169124bb2b93edd7689c9e1a6a38971f11b2c1352511d813c46277bcf12156629151f84802eea01877c5880b17f7b1ba36a44912b7751d7653e7618261ae10c9480c90a1c9e5fba05ecb26d3e38972cd4c38ed770f53b03f4c6c388c26cba243a1cb2c7d93b2aad30b26446a86e62b4cb32bf50a78ebe928a58e8267f42a9b89c8cae3a45fc937117275fca08a1f45c4428772f867a4b3de7240d7c968b024376a99f9dd556471a81a1bcb0aaaba7bd708690629210c91cd978882edc752ed2c840165d1b38a38610916013adaec00eaeb2310b082545e440cb11096d44c8b75522e69c76e3f8c6db7c60d8739ad6e2737dc6b75af8b031b91fde5c2b3c7981505b6951a8ab1ef6b2237c71984a04c23c2ebd2081b15c879387c6d2b9aa53803e365a3587bd1afb6d55c1b489f8bdd6cd18ef0fcf30a1f84a93d79ec602e578aaa859b9
|
||||
EncodedPrivateKey = b7556f2b6caa5ba9b230473fd9c34fed830105362d02c003fd5b8c5f8c6dc71a59f8bc6b64812c117277b8b814791739208b56a129b4ad684578f058e0b75ee96b69a6d0cf52bc21cc376089831789c49b64e21f219c20b6f37a04a330cbfc3ff1749ed23c7baa711d07976097c648477511ee439a8aa52704fa10223133c85287a3882ea08789f4b675e3f81f3a6958347586f2fa9e9a2854379412c8117b02a99f4c1728c0d40145208d7cc3c43e6696078b9cc72c63dad3261da15bbae64f5ce0b73d1bb0eaac4fe56441d3b19c45aa620ba70a89d50922db73fa3a5a675a9a76587ed833535ab7952a03cb4163bf7e0042385c19e64603551cb2b4834b72b950049448a52bca67396dad83b550320f41462cacf11179aa134999300d9c07cff6c4c7cc105de93f88705707e946dd48471ab0cd49b2bbbe3269912b4fe239984b46859eb34106288fcd62571e6bb39e599c8e37845731149fd4854c1bbedbc89800000ccde15c55619e0a92026c4cb057524da09781bc843ecb12a32a73a02b90237809a3e7f8419cd8902cb0392c925a154c472157176875215c2a4af82012bfbc4b63156e9ed643a45302da4b39a86660d57ccd8b72651304919a32b6bad8834d538a348178c733a69a22966cd8b789704d3b493dc0929e93fb3e7c9312845bb3b49c5e96960c7e7c34fd577b08c94b0e5a862403100161593b231febe3cc4723c3d637b853742b48a2891c88297ba3942f166643c26135cc822d659dc53764fbe3a54aa4935bc287fd2bbf9fe6b6e1e362b233bb0070123b18cc6200bf5c24c5fc942e5f89ce0d9bb0506a213f3c7bf7914e448a060b5914cd999942ec21c60ad07d70b8e3c6a7b820b6a8a15fc698abc2097797e3a626c6c1d50c4f3b95cab7d42e44137c4ba061ef8b0db217255240842753ad4810ca8c45c62900c661c9105b9237e125aabd95042a44350dec8347f6933dd295ac832306542da48a7ab7b562dd493ecde8796689035a442e7381056137223504691683c4ffe00dd3231090c1416e96687c4341991a427fb4aa0c8a8c4e9a9e1e75ac3ad03c1ee93693ebc3d9c66cd6ab9a65254b489cc5e52122ac715faac9cb0f227c2d7466560a47e9fa491ed030e86476e5559ef41a2a7eaaa3e9f895bae581034c966b0a5da224a1f823059f291f3573af722042cef9ac703a0704a98713629b4e422bbbc4899bb5c0c9359ff43544e1ac6c8db790bac39292e0bbdc121a7fd0b86edc86e8277e15b067bd3a8a23aa199907bc8bb9b0dce8a1edf271729b553459413b98637de606a406b064d9ad274572fa80c4cb184259b9b603903c9a896001029f723212b0b896814774ef7b715819356c2363dbf186d95c6d2e622f4a310516b62937723f82674f17b53aea7a6d96f651ceb1b470c14733f89b11ca01a9d44292f8367085a4eb70bab5167b3ab98b9ff1a3a8c9047686cfc7f11cb39202b419a0e618356a33025ea6a5b9c86a14876b15fb6265b0158599acf1b63067a1476e29ba9c7a7fdb558dd2aa06a6c21c81280080b5b684786442c425f1dc57626158b46471a5baa61e034a71c5635b6c2b95939cf5428d2ebc0a56d75e3965738cc2a62ea0cf9952772581a2936b5447b9b879b06425442d20747f826846c4f78d465c1fbc0b13b0d20baf8c8c2da4cc2177632a8540f53c13a0308569daa1c6da6802047fda80263658a658f6bc3d70a6b26063e3e593dfd53a622a64acc67913594169124bb2b93edd7689c9e1a6a38971f11b2c1352511d813c46277bcf12156629151f84802eea01877c5880b17f7b1ba36a44912b7751d7653e7618261ae10c9480c90a1c9e5fba05ecb26d3e38972cd4c38ed770f53b03f4c6c388c26cba243a1cb2c7d93b2aad30b26446a86e62b4cb32bf50a78ebe928a58e8267f42a9b89c8cae3a45fc937117275fca08a1f45c4428772f867a4b3de7240d7c968b024376a99f9dd556471a81a1bcb0aaaba7bd708690629210c91cd978882edc752ed2c840165d1b38a38610916013adaec00eaeb2310b082545e440cb11096d44c8b75522e69c76e3f8c6db7c60d8739ad6e2737dc6b75af8b031b91fde5c2b3c7981505b6951a8ab1ef6b2237c71984a04c23c2ebd2081b15c879387c6d2b9aa53803e365a3587bd1afb6d55c1b489f8bdd6cd18ef0fcf30a1f84a93d79ec602e578aaa859b97217747a04f04be3895e711a81080ad9334e567579107a2ef675e670e64dcea0f48a9254dd40b117941fa35a66bb50296327b725525deef70e128ca8045ec451
|
||||
|
||||
# Official test vector 52, seed: "5de720f2d152bf4e1f96a61e7ae5f1bed6b8548e32638c2ccec9f43b87d1bb43dfcf334f0582984d27e440d519ab662f"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = e4d34e12982aeeb1d62fd488d9b9e28557ed3429292239fb4f76fa9098009acae6c45c7fc62329b13c8d29844405db8ff6860de474bf727ecd19e54e6e1a141b
|
||||
EncodedPublicKey = f4441c33ec4df17842ef1447390164264b87d52b24d9ec2b1c84030fab345a103c60d89106059ba8d178f62578ac4bc204f053d6c17716a58bcba04867921b2dd6a59e8c8f05dca6bdb5aa8d66342c02217c555a0707228bfcb13b061e5ddc061f013843330fd8b3392eba57a57669ebf77d0474647ab96097387dde545897a97438885659fa17f42cb5d9a0be3a72c6058426f1b005d316c19a18cb88b8924ba0c52c6653b655aa7886574b0846f55b9e73fa9d27534349755ebe0949ace1152dd684c4b33f355281b091ad4ed544d8443fb630a523f341d45a8d81a12145bc885b157a35c4366a446b35b08d2cf9b9ce2230be60ac33554db9463c9e9b1be243b27a776a3544cda9f550c2768c5c0185aee8ae27362997766d15d38789fc1f2f544905e373eacaaac551c5af4b00f947a4765c6dfadacbdf634c4d3404723b6af6e56c2fc31f16b12d85dc78fa553540111872c8b68cdac763610ac513b7f6688c620b9818a06df541365181c6cc010cbf43c9af40aa35a08dcc47b23e2772b85091a9311700933c8c9b0ce6b48b3d0c1a3807ae0ea192200075db0b9050acb56c41a47a45062fc3223fd0357295a1f3634737045be07a46b27550cb0624d4ab851c9481b8c1135ebc13c5db6999088992b9ac4426559068a121713eb83167e951413af7701a835f218332e3cbcf6502a85f16bc3c1448d57a4b9c0b0cdbb25a3964197a466eb7c5599bdaa9c0933e56c65b979c0f735836fe907ac758706a785ece498fd1d1547998be49c1021bfc9c42e694f4c7a9f7e8b7ff343867290f25f84c1893115e60a4ffaa56c191842d9ba916548125b5258893bc22887eb140ae952aa76ad5142f5a5e8272a9594c92b39a10c2fb647543a7088c6d9c4537b71a9208434bc17207a649a49a51aedd425f090aae8b88c2b9632456ca7c665401a242be65545d6377c971b1bb6a2248374ba33e149cb20186aa9ac8314c7087998079bbc925580dbf678839b5c24a91c48a227bb2e5b9cad20809259f6755246eb8baa2414b684237f5f53c0ea3cb26451b90184c38431e0898496804a92f3a9322c0a35923c57b40457b2b61462648035770361dc794ae4f7bf9c098ab118d2f
|
||||
EncodedPrivateKey = 13021033844fa281364f18464a86314dfbb3e5ba6bed008323a0b87b49be73653869624d3b544d44b8a2d7e9a269e45c22566de6f4541aca9d3aa63c2923948c7aa039d95894c9b326c681701b15aec3853919ba86b658aa8b631b2921f9557aab4998147ca9838793e7e4382f67b8955332be134f54576f9814aeb6858a891922e7e74e88917e0a2c882cb64e7662136c3bc36ec519e611c7dd977b508b13a2cab9c235a0b6d86d033696c08c648ac11d8ad661b1b1ad6e9605e21726d9e3b31d0c5f95bb265a8a99b19c1290f9babd053c8844c826916ed6e15f84c6cbebb56972300ea894c9bcc2be8a57bee90732f4460f98cc2d792bc536b78f1cfaae2c935fd6104542c974c2f49169aa51a8e05813163240492854db279a634983c02cf25c360c498714c2b606079f03e2c21d6293ace3b01b0518a1d623bff90e295a9d04022bb4cc3a0a805058b86011801024e15cb33361c1158d3949387d7470ec84a090cc51e22c6a48587fe05115b8bba39ca5a6e6f57b6a753509c042734210fd5b7957dcc766b19b09504b260a3cb3c470203356417cb64ba338d861163809c28531b225a6453d4400d4f26a7b3511db424892d25c936416c40731c9623ecea3518637a07687559c7888a2c23cb0893ac39b1134667cdc90a540764526798e2bcb0a7fca1184e61cc1b86e29a4240251ac4c48c754452b04178dedbc44e7640383054ef4b2acbfb45b3a280ca91598ebbb57b4936d46f766fb660c98e22a60c49fdc646c650561bbc6ab3e635514d35afcbb0f98c74c8d1c75a31665dc91717381a51c46a04c5a605a53044cf6a287ac2695d46681e0b937b5677a51016031baaf76355af11bd049ce4c2b3f027c5a67c6077e2a7e5951bdc0eb57da5148e60c9e0b89b7523c1dc403ad3e105ed3614114d21fdff35b1ce1b22d715d9d82aeea8a5307f7024af86843684c16947cad33505e982498a96258974eadf52eb43abf597a26a6a99c38a4b1cd3867f7383f801a6d604371a0bc049034a33ca7c0aca961460c0a52285846b30eabf4796ac6199b4883d17c7500f4127569c56c9578f4441c33ec4df17842ef1447390164264b87d52b24d9ec2b1c84030fab345a103c60d89106059ba8d178f62578ac4bc204f053d6c17716a58bcba04867921b2dd6a59e8c8f05dca6bdb5aa8d66342c02217c555a0707228bfcb13b061e5ddc061f013843330fd8b3392eba57a57669ebf77d0474647ab96097387dde545897a97438885659fa17f42cb5d9a0be3a72c6058426f1b005d316c19a18cb88b8924ba0c52c6653b655aa7886574b0846f55b9e73fa9d27534349755ebe0949ace1152dd684c4b33f355281b091ad4ed544d8443fb630a523f341d45a8d81a12145bc885b157a35c4366a446b35b08d2cf9b9ce2230be60ac33554db9463c9e9b1be243b27a776a3544cda9f550c2768c5c0185aee8ae27362997766d15d38789fc1f2f544905e373eacaaac551c5af4b00f947a4765c6dfadacbdf634c4d3404723b6af6e56c2fc31f16b12d85dc78fa553540111872c8b68cdac763610ac513b7f6688c620b9818a06df541365181c6cc010cbf43c9af40aa35a08dcc47b23e2772b85091a9311700933c8c9b0ce6b48b3d0c1a3807ae0ea192200075db0b9050acb56c41a47a45062fc3223fd0357295a1f3634737045be07a46b27550cb0624d4ab851c9481b8c1135ebc13c5db6999088992b9ac4426559068a121713eb83167e951413af7701a835f218332e3cbcf6502a85f16bc3c1448d57a4b9c0b0cdbb25a3964197a466eb7c5599bdaa9c0933e56c65b979c0f735836fe907ac758706a785ece498fd1d1547998be49c1021bfc9c42e694f4c7a9f7e8b7ff343867290f25f84c1893115e60a4ffaa56c191842d9ba916548125b5258893bc22887eb140ae952aa76ad5142f5a5e8272a9594c92b39a10c2fb647543a7088c6d9c4537b71a9208434bc17207a649a49a51aedd425f090aae8b88c2b9632456ca7c665401a242be65545d6377c971b1bb6a2248374ba33e149cb20186aa9ac8314c7087998079bbc925580dbf678839b5c24a91c48a227bb2e5b9cad20809259f6755246eb8baa2414b684237f5f53c0ea3cb26451b90184c38431e0898496804a92f3a9322c0a35923c57b40457b2b61462648035770361dc794ae4f7bf9c098ab118d2ffe467c500bc35d123dcf8ea7bac85cbe312d3a500b7077f3f2cab56b5b12992be6c45c7fc62329b13c8d29844405db8ff6860de474bf727ecd19e54e6e1a141b
|
||||
|
||||
# Official test vector 53, seed: "d71729dcbb27d7cb39e9e905025d3e55c8602efbcc483c9b866ebf82326157833169243c14550ad728bd1470f39c642e"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = cd6a99396eb3539ca663a51e42063a3a262cc1c5a5fce1566f0597b52ad9fa325a3407f591791a5db4578b5972093a95bec3b8e70c1d542c9b5c9789729f8922
|
||||
EncodedPublicKey = cb432e1881981d83572115134e5b1dc55750049b8fa8860743196eef1b8a82ea8cb18903d4ca556d11c4da76bed4e888dbeb968af03b782ab662a1b7bf3c380dca8638c7391b89b86c7bbba4082709dcc2147651f90c9b466b7f7bb286209990621799602c8f45a3b3038421877aa0b5008887976a88479534fb08279377efa73c1bd97d0a50270c4a0113003c3cd4cf4de8c7d1c293fa9bb087826e49a009258816c42850cac843a973ab4dec8bd022051140988a4bc1b85b49b9325dec2cb38bb064ce23cbbd88bc2d7abe5ad4644d6b3d2d5a01c4399310544c35ba0480c32e6594766f8523aed9c141238696295b80b3005246cd4fd82646715b49374805e0c6ffd0965ff73b09e29e66398d53f0905af7ce22b557a6609908c278f504a52db4bc6b45a8d9d4c879ba2007e66dd0b5c93d2ba3f2778f66695bf105588d968b51c2bc66b823f8689e5105a84aa370ac68aca193aaf749ac0641c4d59848e748c0d52421cabccb0f6b1f1a6a2899d7546617cc39240ea70c19551333a5fb99730552604aace857890b8a5079341d85f8425a1215c0206949b51a1a65ce8f49c881d00fb375836105439ffc406ce6418c88cfb0a70733577d4efcc2d09461445b12464c8d01d567af8731a30792646135aa77536994211b568031d2833f9982c2a911fe339aafd620c69c9194e7c0b04b8467c52115d4a9975a15e58552d26c88604a039aa92446b4b9b67546a6314cbe049434145e78d6235f70cfb03707d05cc138257675225b631baa5f084a7e0c0bf4c9871b973e609b31d1178354647ffd6622e7826b7bec0d4dcc10c7ca8cb6b958e8040c78fb5182682f327c646ef4b909fc44dc4bcf95499f4bc9cbd4e104547640d927a90f194cfe557302039e9d096507f09619cc0733016cd7d35a1e539748c549fa6b9598bb12e68b50d3477a917ac1e79cc9f217974da843212591c4e91cdc8661fca496838485f1f34ae1d53f2ea4303e59158444a733d9632f04c961741435813491b2b638162341ac0bba2441fd041652c29208d97c57109263b133a12342df811a0f859e773b7248d10f495867c191bfd6dc528026fe494f195aa90685b7aeb1328f04eb2324e4f2248a
|
||||
EncodedPrivateKey = 4f93148b5a7531c52e8ca43650417eef0728ab7b7b7cb9b4ac24663483837c4cc7e21c2a8fe8226340bced404cc1fc1b5d289cc577483c32892042748bbc01b5719f9c57ade956a8a62bbb890a621ed732f419476bab58533b7c4b49b22346567dca745d9a4c4ca607e65c3ee4dc8889b992707864b1dc11a54acbcd2846dbd9cc2ab356b7bb27c7672b58e976f31ac84f168a364a237ae793e6bccfa7969b1e283599cb6d22f0c7e7465df6e029da151774d646b7c69e1a3b51a7fb937af154c5080f07b740ebc3145633b5c7537488f10d9451057c0c03e710243fca41fb85c8f0694f0d85a076760555f33566b899b338b3304bb28963bfd2a9693d3355fa0c91f727a38e05bd3db49de9319806fa098493369faa7348750952dc7152992f93165721bc436232251087ad40003c84176467315d4b21b554f3ab0ab1a3b6c1678c05290db05681b9149be7a7978577c99081a57613ad95c16430a770a454a6667e8a47465ab92b8fa405b5c5052f4a69047bcdea11c6611745775b6b40fa4a9a0ba1f8098637647bb073ad9ccc34293172b7124e745a56b9e0749cb0a382663bc1399c31708d697c1ef6aa5cc9a7578ee69c9a39b4c89a7c80f46e6ff03c7eb186e2e2553ee7079ba014b5b68f2d4129baca9b350180f4b9994bdcb6377b26b743274e086570b0af69f60eac98ae94e6b11745a1a5164a676b59d9169ea697a70ac6280204a1acd09e408c3701fa91767b064a93913a63162fd0634932750353231fa890e20ccae791a383624ecc2a65fb09800f6bbd4ae845b9aac616a6186ab266b112b4bb423272f20995330133782fd3f85c7b972e39895f8a77c370732facb399fb238e0e97b42e0a07e1091862a13eb86a385b895dd1698b550a66845764fb50859e5a19d3c57f56d6bb325b9cd1b3add8fbceef45742698a4191137af02c8d9d2753422630543b7e1f26fe911a8f0bbb7963a37cb417a95b48005cba87f0c6594dca0ac364c3286bdc852979116c3bc5a8ad9a01dc1799d1e92815da83a61767b2b958d1326cc5411b0ec8406ecf5cc5bcbc63158695ec7cbf9c64bcb432e1881981d83572115134e5b1dc55750049b8fa8860743196eef1b8a82ea8cb18903d4ca556d11c4da76bed4e888dbeb968af03b782ab662a1b7bf3c380dca8638c7391b89b86c7bbba4082709dcc2147651f90c9b466b7f7bb286209990621799602c8f45a3b3038421877aa0b5008887976a88479534fb08279377efa73c1bd97d0a50270c4a0113003c3cd4cf4de8c7d1c293fa9bb087826e49a009258816c42850cac843a973ab4dec8bd022051140988a4bc1b85b49b9325dec2cb38bb064ce23cbbd88bc2d7abe5ad4644d6b3d2d5a01c4399310544c35ba0480c32e6594766f8523aed9c141238696295b80b3005246cd4fd82646715b49374805e0c6ffd0965ff73b09e29e66398d53f0905af7ce22b557a6609908c278f504a52db4bc6b45a8d9d4c879ba2007e66dd0b5c93d2ba3f2778f66695bf105588d968b51c2bc66b823f8689e5105a84aa370ac68aca193aaf749ac0641c4d59848e748c0d52421cabccb0f6b1f1a6a2899d7546617cc39240ea70c19551333a5fb99730552604aace857890b8a5079341d85f8425a1215c0206949b51a1a65ce8f49c881d00fb375836105439ffc406ce6418c88cfb0a70733577d4efcc2d09461445b12464c8d01d567af8731a30792646135aa77536994211b568031d2833f9982c2a911fe339aafd620c69c9194e7c0b04b8467c52115d4a9975a15e58552d26c88604a039aa92446b4b9b67546a6314cbe049434145e78d6235f70cfb03707d05cc138257675225b631baa5f084a7e0c0bf4c9871b973e609b31d1178354647ffd6622e7826b7bec0d4dcc10c7ca8cb6b958e8040c78fb5182682f327c646ef4b909fc44dc4bcf95499f4bc9cbd4e104547640d927a90f194cfe557302039e9d096507f09619cc0733016cd7d35a1e539748c549fa6b9598bb12e68b50d3477a917ac1e79cc9f217974da843212591c4e91cdc8661fca496838485f1f34ae1d53f2ea4303e59158444a733d9632f04c961741435813491b2b638162341ac0bba2441fd041652c29208d97c57109263b133a12342df811a0f859e773b7248d10f495867c191bfd6dc528026fe494f195aa90685b7aeb1328f04eb2324e4f2248abae34a322cf2b60ef01bbc17bea1e9e16a23f36c4c3d7ed1c0502d976e19e3365a3407f591791a5db4578b5972093a95bec3b8e70c1d542c9b5c9789729f8922
|
||||
|
||||
# Official test vector 54, seed: "a7c2c8edb3601396beb2df0657ec82fd5780a2723581a9e03dee1cdb018440439bb1142cab0487c5d136e9af46338ab7"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 6c8c53ed6f65e6b2e324b84364e10de42d1c26a106d4d1c99eee79c78586fb55b9402bf02481ce4b27a52e87feb92c4399c7f2988d40e942e7496ad15ad2aa88
|
||||
EncodedPublicKey = 9ef431aee760d2a54d4fd61fc7493855878416c87456ca0795c706ed4131c5369069a15ac8a175e92b708749a27947833c92c26fa28f1d7b3dcee420d61ba02a808ccf37aa4d83c8f8a25d35e642802b0ff6b9b73395c3ac801d56b78adb14be5f0376bdf63f4874a8a9f41e8c46770eecc06b9b5a43dcbaea8bc4a2fb739e9c8fe7293ee5268232bbcfcd7b09ecbb4dc1a558edf2659674539cd10102dc19622a9b35479955ea12f0e746430aa573572590e097c709350a28ad603064e6b0087286a0f10607877a16c9352e3adb62da9064d8f2a98098af7cd4b9d3b382f9acced9d8ba450a0c13e76405f96221ec7c8b2877ec473efd86cd364c857824b902e536d2883c95f26fa2452b6f831717a00a62325e1f39bb9aecc6b5255d75bb2128d65f173223c1550a7146a0ffd45aef04068da65d79146097ab380c819509e05e5fd49d94f23c388bcd78c75ff33b8c95899ced81b3741b3149f42dbc1186ac6c23eff74f92846144020d6d88046046a7173966b0a0823a9607abd9632b33048e49bc34b17b1fbacb7ed83d4c8902fd331a34101f8dcac9687842012c79f46a417a3ba21a09301316afedcc2c7ba909f8e10a502ab11430960b16403777b2142bc4baf2841843ce69b1b5105723c5f3736b35299ed1a894b136e7f01c03a7749fe59d1327c8e9ca9ded0a1014547f405554c916176e800fe4616e43e9cfb2d20b10ea9ede42bf33d33ef6976dacc27031383f8884377dc638c3f8665d571a51d5aa5225c7ad30ae4804c245e9ce4a1cb1f20c64db39bff9175fafb8a1e86c91241950cfb996164c9617f552e2bb54457121006c301a93a83dc5824c1895d1370216d1ce76fab269e0b37fa7bfaa7197e9842dbba0862cba940edc34977ca40a726562fc2f3e7848c3b52917dc7fec80c73f04366b65241dfc502e412277404816881c3bc9cdbc874ca5e535bc84623f828c0107ace3c404204a9a1efc99fb52042dcb875f78146d88c02117b08e360aee99112507a41c236097cc8f5cca22fd2076e2c25515474216f6ba9426a40e3572a64363d85877afe4ad20c38b9a21130513bb38c0a7f7b0a4c206a8119df9ad5c3af3d313074a677fda1d6ae280d52a
|
||||
EncodedPrivateKey = df390548092c667b4be959b0b7f89a32999428ecc6a95a5a11e6c96f3b6f6b880b93835d49e6cea4f7b57b48309a9325a8f820540a748da18076aa76170bc1b6d1a09fd8569a2aad795c085ae08a7dbb19cfbc3d9716931fba78f828af2ce868ab1a92fd7ab55d405319649e2581c3a961286c2221380b996f94315dbb3dfc7c354c01adeea403c0176f6c0759716b7f2247b2935317fa64426878bd086521d79a2cec7a0cb918c8a79b19cdd90280706c0dc15133991354b41b58389acdc101fd853abc8286a546009fd434c3589059e0bb47bc536b88a7cf92350c0a24ccf535f998c4a6588d03549c3118c2d84c9d650693b635adf1d7c43892005a45bfb1a5409934375f75a926d8a691fa72050169a9c4006d21860cf965eafcc54b28a06c2944bc1468a83c3297c089d6f8824a158502a7891bb1aa2f22328ff45f627397a5f8aa602726396733cb32c52158601cc219b73879ad9b302594683e54c169639f51c98e541942c78a228dd251d3e59d93125c8a57a00a444f378300443952850487e3e1b2dd903741866c14c3300c6431dcfa9e59d9342e3c0edbb88c07bc18907b18cbc895420706f6407523736eea105ce82c3ce8385717ab811750807a3001902bc69278bfe6e1378bccadb0ca445f824bc89715c9c181d5d04d4eb9000c27be5bda273c7a222fc6a19ee49e8e6082e6f493798c5069c2071cf5c4963a7097cc175835b19ce0c11cb83338247e47d5cb560000978ab05c201964c9c91ff0a4b20582717829752a2791460959129d3f673997e129b5476113f5189d3579433758e14b602f98c593d1702b76104d4648de1ccd32eb3ede4912f40869e50849e420144e9b7e78249359142143743e2c78b92da81830424c4560350105b40b8580209a812128bf3235143326529df777b3351681686916306451f2555509349f98c5b14a40353b91524bc79c0c874c1997b80395d4d3c049464b769562fefb5a46e733a2803d1fa1b0520775b345936011ab13c0c388781405327bb6d5bd4fc2cc3f9c16066c55b442b4d79007c4530706641a9af343698a2da7f949ea2b1f9ef431aee760d2a54d4fd61fc7493855878416c87456ca0795c706ed4131c5369069a15ac8a175e92b708749a27947833c92c26fa28f1d7b3dcee420d61ba02a808ccf37aa4d83c8f8a25d35e642802b0ff6b9b73395c3ac801d56b78adb14be5f0376bdf63f4874a8a9f41e8c46770eecc06b9b5a43dcbaea8bc4a2fb739e9c8fe7293ee5268232bbcfcd7b09ecbb4dc1a558edf2659674539cd10102dc19622a9b35479955ea12f0e746430aa573572590e097c709350a28ad603064e6b0087286a0f10607877a16c9352e3adb62da9064d8f2a98098af7cd4b9d3b382f9acced9d8ba450a0c13e76405f96221ec7c8b2877ec473efd86cd364c857824b902e536d2883c95f26fa2452b6f831717a00a62325e1f39bb9aecc6b5255d75bb2128d65f173223c1550a7146a0ffd45aef04068da65d79146097ab380c819509e05e5fd49d94f23c388bcd78c75ff33b8c95899ced81b3741b3149f42dbc1186ac6c23eff74f92846144020d6d88046046a7173966b0a0823a9607abd9632b33048e49bc34b17b1fbacb7ed83d4c8902fd331a34101f8dcac9687842012c79f46a417a3ba21a09301316afedcc2c7ba909f8e10a502ab11430960b16403777b2142bc4baf2841843ce69b1b5105723c5f3736b35299ed1a894b136e7f01c03a7749fe59d1327c8e9ca9ded0a1014547f405554c916176e800fe4616e43e9cfb2d20b10ea9ede42bf33d33ef6976dacc27031383f8884377dc638c3f8665d571a51d5aa5225c7ad30ae4804c245e9ce4a1cb1f20c64db39bff9175fafb8a1e86c91241950cfb996164c9617f552e2bb54457121006c301a93a83dc5824c1895d1370216d1ce76fab269e0b37fa7bfaa7197e9842dbba0862cba940edc34977ca40a726562fc2f3e7848c3b52917dc7fec80c73f04366b65241dfc502e412277404816881c3bc9cdbc874ca5e535bc84623f828c0107ace3c404204a9a1efc99fb52042dcb875f78146d88c02117b08e360aee99112507a41c236097cc8f5cca22fd2076e2c25515474216f6ba9426a40e3572a64363d85877afe4ad20c38b9a21130513bb38c0a7f7b0a4c206a8119df9ad5c3af3d313074a677fda1d6ae280d52a429837b53bc044a7c2ce503b7946e69f1284a5be8b097f6e22c58091e2308d5db9402bf02481ce4b27a52e87feb92c4399c7f2988d40e942e7496ad15ad2aa88
|
||||
|
||||
# Official test vector 55, seed: "467f6158cb86b724039ff18c47950ae5c49170163c910fc9a9b30141f86e9c06ebcec91497bcd156d95758c9f0c6ef91"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 2107204cd995f1df14314d5381f8c5440f09a347502e161cffc0a2ec3dcfbc7324c3da70fe850e80aa818301d60c70f3038153866dcd5d179e22db59b8991bb4
|
||||
EncodedPublicKey = 4cdabfa78608bc69af4e3575fd760f33733d47f95b0323abb1fac99f435073073fdbb0ca5a90c263918639819e62462f829884c9b69daa90771a625b60e12d7ed61967933079c07719540f3d806a7b83c53285af48e2559a24c8c72a8c1101cdfcf730e1d1caa376928dab2c8dbc49d2c3219eb36b58f39da9d362c3eacaeb1592bb297241d2ca95092957da249f4b2a24fb15d5b79a87768f8cabb4c0f42206d79db3164e96d68833ea4710eb066d445d9a07b69f40363c2a3d8c535711b5cc0623b2b744a9098898b74c378df1114e3019a3195d4d506ce449348f07861941750cab63b53716728b456be2ab9004b4ced9c1c91b179194a264778665f18beec347887098ebc9cf270c8ac3821bbcb02ce80a3de8b26ad5277f008c24d7289e4aab580aa962139c184b5c95ea54c2f193a7d7cac71829a396a0aaa6a27086c04abd638d04379aba1984fb824a9b866ec1ec7b94970e7f116ecc240deec329316912fd979f8b4c9c713ba4cf4b8ef5999ba5a6684bd31baba0b858c72aa8e0954ef070eda007d698160913c2e7964f966830c9c2c5b5711f3275c53e5b27c770bc539933772350e5883caceac96e0760432223a93aa7666311a7d6180be5602d225009d132c77c3e83687587fcb2c0a99fafb5207f2158493866420a3fa8d74647e5703ee9b7491b187f727ed8843ba3a1a55f55c2f838219cd5c90c9476d4cc9243f58f04023e1978a683f0c0963c6bd1a0c27e875e3818877624acc3f2c99c58559d1c643b41420c799a8f54c391d9c4f37643c43b31b2116d08bc45e3dbb1cb94a6f0cb82e0621f48d9a9e886c1355a7317ea7657054463a07d93a95dc6c2677f55c22fc7818b63bae839430b8b3d1b8354f9d2a648836f85da524dda04c47cafae849454bac882aa8a4da074eeec0e37683deacc864e27647753cdfc93a7acb50cbc8504fe5c6b98a489c9b0ce28d265a2795ad0ac30b645b3bd572678e1ce5f136f3491338b77bf31ecb0587cca637c5d48102268c56596489775029fa49586a6e2aff6879dfb6935e4387db75c16138b59a37a9ccc0c1b0ed425473a4772a115317b302b55a2e9528ef50bef3b10de8fab327244a09a17688b63401bae
|
||||
EncodedPrivateKey = df91033c6a10802554f828ada9bca7df27b5ff06c9bff25d2a2c63f19382426776f6741e6d50cafc0c762db01cb6d948890ba74066160c9a53a6a204568839253b81f64327a475618dbc4ac20b70b5a8bdc27aa7d9a57928caa4911b924ca4702246826192550bc717da3aaea260705a43a46846b810fb98306c2fd819129b98068eb17709d664477cbecd249e2662bd0d307f60d98fa6eb9bc548a515c99eb86a39f717c20b73c0f3111791c8cac39a51337076e71324b5b985b44a93b9a64f867a278f440c671459162ab7a632390fd2af49f50f8715579f83ae66309d873c7fa1bb0ffc35a3ffeb921d9c02e0018dc4f4c785d9cb830a1cb78c67ebc94e5cdab836c93cd6185df1eb9721319cb875be8f8959cb708404a2080662204177469360682f81287daa079af6a56c22b8fbb7a0aed132ec251641736cc555265b530c2000575bf19190756da9e3799666763bc0a719f224c0bb831eaa0a8119cd09cc53e4a3b89756419f7865cababf2bc6be3a495ccd9173f358c381483a51abbc8a7911781b96b8da04ff897fea33437f1718466b0031646ad32422afe2ae7768918beabcb85b4268f49ad1e30997047dca5b1cc03b2fcd9722010692fafb0819a1a55fdb3ca4080c440247c6b5cc08d2656e358c31439164101bd80bc978c202051a4ba323a1fc4393bf603fd3e0ca9d6c932deac1f43660e9227eed975b32d1a0013b50fdf615003c0aa5715f2f7585a69c31d9dc7dc419bff4995fa1880db9197440511d54ac6e26674099f6ae37c7a5e6758f96945127086d2102adfd41a3c3d4c0241ba7720b8af03c38c98a28aa3b56cf022b51025d80171c5c2a9c18378570774243a572e7330718b0be8566882087bbc2d217e6345aefcb5898000dd76055a0787b05a98698e30bda6c2a1710250c7bc06106c4cc269eb1297265c6967b9460febb32fe2662bb618fc61698d581729cc21c06f40cbbe609c545b5e74b63aeb0ca3f706e9266c5857708053c6294a7c78426b387283c41d9647641c4db7c49dd493689129497fb2f3c741301540977319ca87668064a8e157a64f3db0c4cdabfa78608bc69af4e3575fd760f33733d47f95b0323abb1fac99f435073073fdbb0ca5a90c263918639819e62462f829884c9b69daa90771a625b60e12d7ed61967933079c07719540f3d806a7b83c53285af48e2559a24c8c72a8c1101cdfcf730e1d1caa376928dab2c8dbc49d2c3219eb36b58f39da9d362c3eacaeb1592bb297241d2ca95092957da249f4b2a24fb15d5b79a87768f8cabb4c0f42206d79db3164e96d68833ea4710eb066d445d9a07b69f40363c2a3d8c535711b5cc0623b2b744a9098898b74c378df1114e3019a3195d4d506ce449348f07861941750cab63b53716728b456be2ab9004b4ced9c1c91b179194a264778665f18beec347887098ebc9cf270c8ac3821bbcb02ce80a3de8b26ad5277f008c24d7289e4aab580aa962139c184b5c95ea54c2f193a7d7cac71829a396a0aaa6a27086c04abd638d04379aba1984fb824a9b866ec1ec7b94970e7f116ecc240deec329316912fd979f8b4c9c713ba4cf4b8ef5999ba5a6684bd31baba0b858c72aa8e0954ef070eda007d698160913c2e7964f966830c9c2c5b5711f3275c53e5b27c770bc539933772350e5883caceac96e0760432223a93aa7666311a7d6180be5602d225009d132c77c3e83687587fcb2c0a99fafb5207f2158493866420a3fa8d74647e5703ee9b7491b187f727ed8843ba3a1a55f55c2f838219cd5c90c9476d4cc9243f58f04023e1978a683f0c0963c6bd1a0c27e875e3818877624acc3f2c99c58559d1c643b41420c799a8f54c391d9c4f37643c43b31b2116d08bc45e3dbb1cb94a6f0cb82e0621f48d9a9e886c1355a7317ea7657054463a07d93a95dc6c2677f55c22fc7818b63bae839430b8b3d1b8354f9d2a648836f85da524dda04c47cafae849454bac882aa8a4da074eeec0e37683deacc864e27647753cdfc93a7acb50cbc8504fe5c6b98a489c9b0ce28d265a2795ad0ac30b645b3bd572678e1ce5f136f3491338b77bf31ecb0587cca637c5d48102268c56596489775029fa49586a6e2aff6879dfb6935e4387db75c16138b59a37a9ccc0c1b0ed425473a4772a115317b302b55a2e9528ef50bef3b10de8fab327244a09a17688b63401bae9ce5a577cafb7d5ef62f8d4e4095db51fa5eb7dcfdcbc572875024e761563c0a24c3da70fe850e80aa818301d60c70f3038153866dcd5d179e22db59b8991bb4
|
||||
|
||||
# Official test vector 56, seed: "687c02de1041abac7b2c1e6ec2a7c3375552ed5edb10e3a8139c24cc76bda44d719d8121a81d47a0b762b4e9eeb85235"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 63a925685a8ac5bbd918faa33ac397d1ffbcf99135d9da7c3d6ff7aa4c50af3d3afdb8a246a56ee71465591831c371f2eb87467b0559dedd776ba063ee6d2f93
|
||||
EncodedPublicKey = 1fc842cfb08c8f9b347b45649e064584ca6aedc58b4f367df83b6ffb2379c3b06ee0d5026146125d36419857233dec0e1fa2adbac82fd3482df14325a44b08dcac9dba4176b4941b520a5bd41abf611b781256c7ab10c11fea9d92f9af9a392434fcb6618a1754326abba922cedc1c5034400d94c06ba995e872ac31ac9829cb7d83d5aabc95a2b42c8e7b1186a751c2bb9849aa3290cda170d3c7a45a649357cc9f3e54b0c35048e425b6cbf2789d724a4ff8209ab6659c00bf9126a646e8b828c3b245745289e40c12eb6ca4eb2474d76f1cba2824793b02aa37e99856bcf577e89227b69b711428c5954a0579a116fdf773ade48d99a5afa7203cf1345456b88c11ab0dfcd107e64ab16ec2a0ae9913e2f29c3f108d3de372f142b7840384c0e22430e691bb0266eed8c02263ab1325516ff425d6998ee9d806ba114b4a7513683b60d9330017233b25b39917f54578c1b1b5449f473b5f9fc0bf0cd77336729763a26fb4c7666024bd9b361de1b86791a4bcc4898c45162cc1b45bd4b40ee79c5759f62946b7af1ee3b012a26bb7b011911b790327b15e8074970377363c1c62629a5e4c62c731cb3038c363c942c67aa03c4aaa755939c9f2aaf1606bbbfa0e24305eb82a0b96d0827ac7a148507bce10551d42829543a75fa6c32d5901217744fdcab66be26bcb2551870c1278508948c5c58cd678579a9920b136e5f85e586592a689169c538e7473080492b1ca8055554148a4ab02cd506bf5b9594c69bb0dd9b283388bf13455256457a47069661a22412aaeed36586f92723037a1fb5637cec149d0245d4020429719931a2a160532c6e3e63c11233b1e438dab42b386b3a43cb7986419156d936f214235f72773464a35a316110a71593e05acee38bf7d106ebf1374693c3737d603553610e3b92dd50182778b359702463a125df61269af99c3fce0ac5fac0951e45cce69a5ad6679d268203b12697f7a5a49b04ec8dbcb1df264c5670c63f02662682dcd9b0f474a2698598054ebc96d51359c23179114a075d8c647d06840761e54d13c509c869e482fd62753158869cf72952c67305f578fff578157fa0b7ca95526311983eed262a9b5c411a4ea15a0a2d1
|
||||
EncodedPrivateKey = 8735157d57b31e142101518b9ecb8f878894a0ebc042eb2dbf09cd5ec35002114ede74b95381175ac3751827b5e3c55a71b05f2dfb0c8149b995759109a3bf9d231782c29fb88853684b9e230669e6b25004a7199879cd3b2b623e35238f27c058363711a732259ba9f6b088733433f364b3e20a0ae33c1524ac0552f0c99ac56fbe8c4a78a25b6da3ba2f768020d5879c4c235a0747b2a831fe1410df4bc5f8c972d598a2d49a62e586400781b080116ab296215fdc21f11569eea5c876c38213c3370e339f6789ccd33392afdc316e9ba42e3834ae07b1815c683bfb933e0b66f86cbfc56993db4b6c040a31c3a5115c502084e4c97b50c605a611074aa35f388a4a540df1b28794b62200a2abac824af3c7a9822c4ee820b2889a2e752938186122f0ba637224461188886261b9f6d065b5533895b20655b03178b6ad5ba5ab21a59c27f852c27857a427cde49309bcdbceaf553c5279845641cf7f4a0ba1c134c8a767290349fdd70cb8fa5bf87b61014364c54961ead2cb5564731b1159d6f27dac73c6a145840e5970218986ecf793f9ea336e1aa9bf71ca5991906390acf1e375f87bc3d7b403afe15c4eaa8a802095bc18a49ee0817344b1a3a70813c167430cc0c8b10780725d0c6a8174590bef919048f231ef7a253e98779f38313007c72be23182125fc60040ee0bc3c4f5211eb279db144fdb017982434ff57992fa8658dd5583b9c37efcc16ce9243d54b546f0a33152f95478b4bc05c48b568b8ad756c60bba1bb8d81dcad9bec6679115a428ba10b3a45218c0bc6114fc4348e20eb1eb442a207863217cbc61be2738c9ce5570edccb5f3192c3ab4c3f95a357e5193c0a385c9b88fa3c41f5cd55b27c12f02b586fa889efd27693582735c5ccf72b78ede855a444cb90abbc4a4182803697ca0174db3540412ab18ded19f63a611da574b2824b6cca17d0aac6dd8986e575c33610807c9735d4f2549ec2886904107d77a0cd1dac34747ae866a2b6d362fe869234679a55aa20153a447bd17c7e0176d51033efbb61c87f5971148cda1b88ec6356c0e23c3bbb63e8b01ce1fc842cfb08c8f9b347b45649e064584ca6aedc58b4f367df83b6ffb2379c3b06ee0d5026146125d36419857233dec0e1fa2adbac82fd3482df14325a44b08dcac9dba4176b4941b520a5bd41abf611b781256c7ab10c11fea9d92f9af9a392434fcb6618a1754326abba922cedc1c5034400d94c06ba995e872ac31ac9829cb7d83d5aabc95a2b42c8e7b1186a751c2bb9849aa3290cda170d3c7a45a649357cc9f3e54b0c35048e425b6cbf2789d724a4ff8209ab6659c00bf9126a646e8b828c3b245745289e40c12eb6ca4eb2474d76f1cba2824793b02aa37e99856bcf577e89227b69b711428c5954a0579a116fdf773ade48d99a5afa7203cf1345456b88c11ab0dfcd107e64ab16ec2a0ae9913e2f29c3f108d3de372f142b7840384c0e22430e691bb0266eed8c02263ab1325516ff425d6998ee9d806ba114b4a7513683b60d9330017233b25b39917f54578c1b1b5449f473b5f9fc0bf0cd77336729763a26fb4c7666024bd9b361de1b86791a4bcc4898c45162cc1b45bd4b40ee79c5759f62946b7af1ee3b012a26bb7b011911b790327b15e8074970377363c1c62629a5e4c62c731cb3038c363c942c67aa03c4aaa755939c9f2aaf1606bbbfa0e24305eb82a0b96d0827ac7a148507bce10551d42829543a75fa6c32d5901217744fdcab66be26bcb2551870c1278508948c5c58cd678579a9920b136e5f85e586592a689169c538e7473080492b1ca8055554148a4ab02cd506bf5b9594c69bb0dd9b283388bf13455256457a47069661a22412aaeed36586f92723037a1fb5637cec149d0245d4020429719931a2a160532c6e3e63c11233b1e438dab42b386b3a43cb7986419156d936f214235f72773464a35a316110a71593e05acee38bf7d106ebf1374693c3737d603553610e3b92dd50182778b359702463a125df61269af99c3fce0ac5fac0951e45cce69a5ad6679d268203b12697f7a5a49b04ec8dbcb1df264c5670c63f02662682dcd9b0f474a2698598054ebc96d51359c23179114a075d8c647d06840761e54d13c509c869e482fd62753158869cf72952c67305f578fff578157fa0b7ca95526311983eed262a9b5c411a4ea15a0a2d10783d9d571c555c109af25029cf5faa10bf8be57626148ee76966388f7a1957b3afdb8a246a56ee71465591831c371f2eb87467b0559dedd776ba063ee6d2f93
|
||||
|
||||
# Official test vector 57, seed: "4142237070c216bcbe245a39bd9220533c97651d84832b26727855ad994a0760c52b9319ad404693e4248b8c5ff324b3"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 6a1aee5e708c1b47f02bdacce4f56c860f74fc7cfec1ef3b58285b1c8ad7fec2230e05b7114ff0395cc6634db1eae8258072d09c09f291e92d6620b177dc50d7
|
||||
EncodedPublicKey = c1b43c5f93857136616b36880a56b7cb736d48fc3df37051b9cb977058b21ddb629c302b64a071c2293b29eab6fa10b41d558ddcc99a9617857f123a6742894ec24d8135778f786561412b77b62a3328c09c41238cec55a1c042c9eb56caabb0862c812e0775c1f89bcfe59514c35442cca6bb00ca7abc1ed0327ee2f75a1e486297c5cda394282f633b8af49bae7014b7541e62db2654b3b630580c4c101ab3879da125cf2677834c6bbecb88903d434ef1c69202b11eea068c5c09cb0c42a4b90476f7fa2d133a1463f5917304beb989c789d51c7e8271843c52d4fc34892bcc77901f0169c083b278ef98b9379462cf0159f5a0afb786538566c3d768b0760260c93c24598250c2c6255a011e79face3d4644adb5a0f7179e3db252a81015b16998c1c71e2fb07ec83079aca15f636857fb37007ed2068e4bc7f8299cfd02c97fb44883a446d9153d600b640645c44c457de9569b48b3cddea93703842b53f394d6023949a6969908c2faa7237cb726bab76d08b8a80662475f7b4913dab81107584807b3637b5cdcb6130f090f1166c4a44bb5880a904dd15212716541085ee377cb622056808213de738430f819d60587cc7270980ba39590cbf9cb04c6d26c4bcc6c0c1a0940a936b6f1a254775899b74ef7866ee857023168cc33c8c31f3766100065d9996a68449c520792ba0aa49766a6f8db90478a5ac1d944bca5b3ca9775c2e50700384755108ae2102c97a701816ca08e532a9be51ed447a83e54b61d544285565365f431ef6c75df675bb0d44f86b679b2dba8605a3044900b9b1296bd8b03ac7341ead657afb020c9443a5242591c8c394c65259f2265ffa3bc1c2a20af28748ad1b708550f03242d6407a05b434abac5935311725a296095933f4349375a37999ad2110e975f95c205f7670bf8d378b2644e90abb36191645fec8d157a462a750762b3419ae7298569682fca9ca53b4d3e075a2e1988bdc59064927739e42456c4cfab2c918f98a626ac1ba6469374fa0777589e9c38883f9c4c77c06f9476c2d7043f12663aeee53c0a211baeb3523e872604c10a5f891957bbdcebe210bcb71712b69222f0df56e9dde12f0995b2323acaa4d83d21e737
|
||||
EncodedPrivateKey = 2c698ef7a69627f4a3c24058d1d86f7229b588580633730bb4d72c7ae58bb5d220fd741266d82c5ff91005c52066e21f8ba8affcf279c620c8c5929d8a8bba34199f7ae48a8f509822bb78752a55562aa52447485aaa7728e63a88c8427be25ea28071166797477a94b8a31a591395d8ea7ec9999ce8843534a5cdcc78542d5a078a87aed9b178fbcb9df568980f53a4ff80ac9f31485537a09eb3b0945a16b79280a1b6852122597699632baa8e3f57717dda224201ca8dc8c54c28151b364be6807b97380f3649c41352bba331136c3405374a11b3298e23685343a116e6d992b6e2349885486de4bec74aa7091b451fdc130e092c6d1180ad34548a1c0b35a10026d660aaaa4a0037489527b2a5657c189cadb6120317360f77ca795f1bcf93575680e07a264029628542346723c220866d881e48b21dc167a022bb18f633a67ef6381a96c3b0b06ffc115aeb493509325618dc51cb0a3b5e4ccabfe53dfeb4963c50bf3e905dc276aba1481e7e8b3a0a1874c7c2b02eb368a8e9cfa57884c41a44b9a74d131104430071b616257f9003504029ab283fb02b6de3b4bc28c03ceb6a77c53771282b743673584f591b67718a500b7dc8439ec8e399a39bc0b996b693290bb2761c8fda1da8ba259c3bb51bb56e739798ffc32e69bb735d0768ecd62e65bb9d14a26e21059739c0688ed16686d942efbb648711807c858bfe6228d7049a7596a761f478b0aa6dd0bacb874b0a6c5c0c8bc9232fe616c17495480430ba163f64639fb3468d5866882d67ce4347bd2159863dd362347ab488d2a5b4e52893b43afcb99934664a0282b5a1dba16744b27d589984395f6eac06e2f64da17c25c4b24b996c2759ec88ab51b1fe29199f2ab9499148d4fc438c912eb9c11f14bb5f1cd30d021ac4858567cb07cbb6f9c604e3980cb2b1f8aaaa3659195a241f3d46162eb97815c257b9374d7f10783ef13028925e41d815e96183888c547ab710c05787c9789af0c336c2ea8d14d7080a36699e966418d0aae37552009712a10635a4b5bfa9fcc91369bd3ef1840adcc1c9b44f16e99aae5a6c0c3b6bc1b43c5f93857136616b36880a56b7cb736d48fc3df37051b9cb977058b21ddb629c302b64a071c2293b29eab6fa10b41d558ddcc99a9617857f123a6742894ec24d8135778f786561412b77b62a3328c09c41238cec55a1c042c9eb56caabb0862c812e0775c1f89bcfe59514c35442cca6bb00ca7abc1ed0327ee2f75a1e486297c5cda394282f633b8af49bae7014b7541e62db2654b3b630580c4c101ab3879da125cf2677834c6bbecb88903d434ef1c69202b11eea068c5c09cb0c42a4b90476f7fa2d133a1463f5917304beb989c789d51c7e8271843c52d4fc34892bcc77901f0169c083b278ef98b9379462cf0159f5a0afb786538566c3d768b0760260c93c24598250c2c6255a011e79face3d4644adb5a0f7179e3db252a81015b16998c1c71e2fb07ec83079aca15f636857fb37007ed2068e4bc7f8299cfd02c97fb44883a446d9153d600b640645c44c457de9569b48b3cddea93703842b53f394d6023949a6969908c2faa7237cb726bab76d08b8a80662475f7b4913dab81107584807b3637b5cdcb6130f090f1166c4a44bb5880a904dd15212716541085ee377cb622056808213de738430f819d60587cc7270980ba39590cbf9cb04c6d26c4bcc6c0c1a0940a936b6f1a254775899b74ef7866ee857023168cc33c8c31f3766100065d9996a68449c520792ba0aa49766a6f8db90478a5ac1d944bca5b3ca9775c2e50700384755108ae2102c97a701816ca08e532a9be51ed447a83e54b61d544285565365f431ef6c75df675bb0d44f86b679b2dba8605a3044900b9b1296bd8b03ac7341ead657afb020c9443a5242591c8c394c65259f2265ffa3bc1c2a20af28748ad1b708550f03242d6407a05b434abac5935311725a296095933f4349375a37999ad2110e975f95c205f7670bf8d378b2644e90abb36191645fec8d157a462a750762b3419ae7298569682fca9ca53b4d3e075a2e1988bdc59064927739e42456c4cfab2c918f98a626ac1ba6469374fa0777589e9c38883f9c4c77c06f9476c2d7043f12663aeee53c0a211baeb3523e872604c10a5f891957bbdcebe210bcb71712b69222f0df56e9dde12f0995b2323acaa4d83d21e737c9f63c66089182c0137f996d4dda23bba1dd9360ddb61f816c3f5ac0d4c49242230e05b7114ff0395cc6634db1eae8258072d09c09f291e92d6620b177dc50d7
|
||||
|
||||
# Official test vector 58, seed: "bd334d7b7eb14e00e68863f2e5551a095f8af10681c28353fd19b9a7e70b8bfe266840860609008a567abc66316c77ce"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 6396b328b100e4c7f4bcae69875edea1a1982421558c608c13c592bf7b5d0fef1100ced48add211a5c937b8d6079d8e271af3f949edc61f70e60453aef20dea9
|
||||
EncodedPublicKey = 01a3c3eaac7760d03b7699a4f10b7f43c8a4da183cc593818892a9e427b7aed713c66867e6c9a035c85ea4fa09658b407af48cd81103fd59b22d2b6d2e441af1c5b071742a27e351de43866c7c2b61057919d85396464251a38cfea965ae88afd3d226b9ccabe92906ed8bb833f5a185b8b72de7b472266bc840163cea957e812ed3892bbe63a181b498b4c4bae7726f8c84bc2d4336cea75cfa69ab6bf82e73c5aa228bbccb57ac162866528a29976bbdc09c2626129e9b0a1910649052a31bfdd44a8e644ac36786850b80b5e1b83a01c3856503d32a94c7c36dc4ac0c664c180b4888e447b97e79007e5c1d2335874b2620a750820958b82f567441d269f08a4819c40222121a7db26db0f89cc02b904ad38f4097858cd72c7d0417a1b83dc660ae52083d6b8a7175d01b74e530fca976f9db20060ccc1ed61877700cf2db38a37b002a39cbbe49a2f081cf7cb87a0680bdbf69234d237cf57a4c95c931927576182b336786725efa4dc3e3b0dc8b1e64036e7f5c0779624634e7cb34b5145d319c8cf350bee6bb61940d8a050c44ebb18ce08713366292390a27900e1a3376de14c59e7987bf4a26187406c146815368bacfb0970cf2a6d42725b8f168788b2709f9243d73a22a9badca4218a56340675a5240fc56d0e5c54e370be8b678b3a0a37291cc72152360e222a9a8a2daab4171d2ba6b0c1d5983cfaff4a737b4140799457994bc0dc098a67c23d5bb598641c2ba82afa52b3b2c93a1e1c36383115f59662bc0b16696599cf3223f96440dc83cac794b9f045b47397564f6365c5f714964c891447c30863b2c6970a5d917403ee4c8a4a57f6a6989baf06972005e8c0289289acd8d64200dbc85061c6f1ed2845a398ca612826ee572b755b674cba7296cb9ba4b3d36f7378bd79d73b25a7343276db09d76b2a6be2cb06fa887cbfb27560b7fa673154ea7655d076fab2b14b3c43f6356b717ac5041a3bea0864bdd19211ef49a5aa9a26c7a9c34c7b897e26e0fe6144cfb8c6f47c5467c06d3ec52de2800107bc322e687a09c2d075428365ac629ea5c29c418ccc51433cb90c955abd7bc9dd2adecfbe6295d93d4f29f67ed8214a4acda5cfc15e35ed2d115
|
||||
EncodedPrivateKey = d2c8642c7ba3d841a755227c7c0c7fba0a93d4a0174fa29e2bec8ecce27ecea00b277815ac4197280ca34c848eb5e51997b5427be96370ba88f900007830730d0cad5c4b9dede4785a87178777266ed96caa759ead1aad557910c61bbc27fb9db2c17c0d562755953821935f6b20c2959ba187a41c51f9ad6d114996104a62c0780cd1a2c968054673c215f51fcb44ccb716725a1b4f4b93bfa865be0612bb1d026b0b12c93aaa818cc22caab92ccbf509bb7191ff076e3c917be3b0235290893a6c1d34613e88181fc7b54bc4059d2ba53541207ae0301cd27bc074720794555b21b5504f5a629249b9b8e36c3c214e7ee8ce5cdba3035942dcd195420abf959110db61a22a67bdf3d546976cb2a1bc276be45ab170c7a42a9a2fe6336e864736eb9bb80a59e1744120939d91f825bab41ebf526ba9d71a9d04913cca0e708b4dd3534f9d071396135d4b5298aa7810fc95690647c3735894ebe332832cc5e8e12ae363069ce9891f9ccccad42339740388290fb2795843006463db8f55d12ba911c31f66bc93e445ddcab97a40231844c878e241fdb32846e72fdcf805e73435ef26205334a12c453213d399f5a2a1cfe9435e6b9f1c5c47cf4accb8e44943229397535b0e21168332296c36a44a5a042b5445274c4a4192307c5577f7f54ae26554f4d9686bd95dd61ccf7c4c6235e19e60331175063739c354d2a752e46891dd2696360934b1418420336f842855a0db11d6976ed58536a17c99dbc2c21f84b72163bfebe371a42abf835b736ee7879907530fe6144ec31d9db6ab786065eb569426f0a17c85127db811f74bb10c985bb7ec8a003690ed3678ac949cac8a45a4eb11bfda94b791856ff55b033801a376bca5eca84a598819c0297030cf72d20110572502a815d852accd26c31a5a7981724cd3a8a5eb5b051142947fd30c6d938372c2a28e0911b0e389233a849d4022d68c574bab7ba5993e0a3176186c65e724cd56d727c678653bda4d8aebc5ab95028047042f08316bdc0e597b9c1dfc8fa8940e2abc5c755b117da498bcd049a8582b98f504aef6a548fa0147425001a3c3eaac7760d03b7699a4f10b7f43c8a4da183cc593818892a9e427b7aed713c66867e6c9a035c85ea4fa09658b407af48cd81103fd59b22d2b6d2e441af1c5b071742a27e351de43866c7c2b61057919d85396464251a38cfea965ae88afd3d226b9ccabe92906ed8bb833f5a185b8b72de7b472266bc840163cea957e812ed3892bbe63a181b498b4c4bae7726f8c84bc2d4336cea75cfa69ab6bf82e73c5aa228bbccb57ac162866528a29976bbdc09c2626129e9b0a1910649052a31bfdd44a8e644ac36786850b80b5e1b83a01c3856503d32a94c7c36dc4ac0c664c180b4888e447b97e79007e5c1d2335874b2620a750820958b82f567441d269f08a4819c40222121a7db26db0f89cc02b904ad38f4097858cd72c7d0417a1b83dc660ae52083d6b8a7175d01b74e530fca976f9db20060ccc1ed61877700cf2db38a37b002a39cbbe49a2f081cf7cb87a0680bdbf69234d237cf57a4c95c931927576182b336786725efa4dc3e3b0dc8b1e64036e7f5c0779624634e7cb34b5145d319c8cf350bee6bb61940d8a050c44ebb18ce08713366292390a27900e1a3376de14c59e7987bf4a26187406c146815368bacfb0970cf2a6d42725b8f168788b2709f9243d73a22a9badca4218a56340675a5240fc56d0e5c54e370be8b678b3a0a37291cc72152360e222a9a8a2daab4171d2ba6b0c1d5983cfaff4a737b4140799457994bc0dc098a67c23d5bb598641c2ba82afa52b3b2c93a1e1c36383115f59662bc0b16696599cf3223f96440dc83cac794b9f045b47397564f6365c5f714964c891447c30863b2c6970a5d917403ee4c8a4a57f6a6989baf06972005e8c0289289acd8d64200dbc85061c6f1ed2845a398ca612826ee572b755b674cba7296cb9ba4b3d36f7378bd79d73b25a7343276db09d76b2a6be2cb06fa887cbfb27560b7fa673154ea7655d076fab2b14b3c43f6356b717ac5041a3bea0864bdd19211ef49a5aa9a26c7a9c34c7b897e26e0fe6144cfb8c6f47c5467c06d3ec52de2800107bc322e687a09c2d075428365ac629ea5c29c418ccc51433cb90c955abd7bc9dd2adecfbe6295d93d4f29f67ed8214a4acda5cfc15e35ed2d11568d276d24d6a0b668f74a9eee1094f7100980cd5ab191264dc86ca4989e269e61100ced48add211a5c937b8d6079d8e271af3f949edc61f70e60453aef20dea9
|
||||
|
||||
# Official test vector 59, seed: "a0264c58ab1f2cbcb212077fd378d340307accb31f1312137cf84e3d3135044d4eae8bd38bc3e540a0c14d46458f6179"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = a453bcacdd2b0d4646009e5ed451c3c45f08fb827ef733db3c517a9dc1af93e67a3cc8aa3239d4c52ce4c95afdeff6efbfacac10d294edc0e7cf4535059bfdba
|
||||
EncodedPublicKey = ba24b97b85c0c450469e89895b3864bcbb291c16ad40da5503f98fb09825207668c6b028f304061b353320ac986dd09484dbc9deb15c0ba90226b79ffb260e80422fb937146d9c82d9c5be8a231c270aaf2b28c7772a292ca8cd1e8b0e4c7b2712b405a487aa8f0a2775486eaaf672d774701c861be6d1aa32223cd582bec2f80a1f291d8d099bc03c184697ce44f8213ac7432c4692cdf72af38484ab451f8800280c33a511185482c77f5e3a0231357558c59432ac9909e5b69b50acb0527e7ce2805e1841e8449d7d4ccb9596cc1c942cda42bb6c32a549b84c76875029c87b9383411d05c43c9b4de1c0b64d2c7f9d4b915ec8786590406afa0d85330d3c3c0235a081d9e15b93c34f1de2295b69a6723035e901758d108bb88b367db72fe7a31a5a834914399db946a60b5c86406555d9ebb05f836dcfab8359c893e3a145b9e309126717fe82c584181f9ee6270f1bcf506c344043c3d4c456e5e90eb9b046c2e3a8c0ccb38e0012a1d051fbf723e0d047f15555a275837338c3734b72f304bf46c779dad4828531a54ec5b1ad468c59a02b852045e7ac4204649c85488e33634641206a3348b982c7c095a22cc3a4401da858714357eb0c56a50a1f1fe53a6d707bfd24084519c987649a8937b94f2105c02c3410bac35bf832218c1ee57a3235a156df57a99b4cc37d521bb39921aa009ea9ba02eaf5b62181456c2a99f489b4569babd0910a0fcc6c7738a556948f7ccc7d17baa92e01b456a4a841d05f02e4b6883292f5326cafa84e02fb87546975b34b9d3508098a8b3b384c719b34bbd2acb5429707d60860cb713fb7d1ab1640a36a52b6f2bc5240a4bd930799111c164db5227de2252bbac406e2691da095c242285669c3ad93051d58938ee4139085157d457ff27a9bb0e1195f007522b757f47661c48825f8483a26417fa48503eb076629a630f079528c78a736523c608b9564288584732059c4a2768b8705551692f5a6c6aa7a50fc92e57bbb97c60ef5ac57345500f63a1f33a929c2bc28b170c2134561bce5858d62bba0326b7c54841404c2e2c7acc090a7cdc39d2d60470756c63ab8ce021bde343051d6767358c434006ce88f2c5fe9122a968c
|
||||
EncodedPrivateKey = cc3c80bd85a53cb2577e9a77dc419996db86da85cca77034a05b8fbd6b1a6bdab3ee58273241744dfbbb43eb22c8279342f39259d55eca726012b1493abcbcb4669ccd1117b04c93fd29c8275168f05253621a0f79093d09350bcf62a7d3e4365cd00db951973ea44321e80fda68073f73ba83dc6ba0628ca94a7a65210cebaa020d1b23582377795a074fb476bc0a337479223da9b5b4555335fc92c167c05248cbfef58c16459dd21b8eff67100e4844153378d4cc4a8674663d25a4154911105b95b9cb4f1356ce47aa33bc2927477933e7a3c2b8e25ab787caf92bcc642cb72ac8964e22aaa8886da97a5b23102aa7938a6990179fa957d5567b90433e3a1c1b5fab1b7a9576553531a4f11585dbad4214a2ef31a3e4c1b51408cf9d091f249c38b71b2a356201dc7058095904831163e7e7972842abecf26ce3dbbd9b15440ba08cf30c8f3308c1492675e7ea02700c0142f8168ecbacaeb73ba27c6595f65355a305327ba5e032ae27972d8d09c7a4aa86d17bc75da36f4acaab83b1837d632ea7882231988dbab5435fc1899ad38da3dc4ad7319665ec8254ec2bfa19b93f57045009a4f8d58d523c5750d6be5c3786bc13b4223b8ba3a6c8abb0a6860aca479462523c9945ba8cb0b9c27a62a1116408cde20409fc4b31f924c592c0d0da4c5c94acd03b7afcac9f9b2a222f158850e078cdf6b47e2685ddd53edfd134e4c5094d7298a7c278cbfc1eef09873d29095e8a737901c58eaa6186dc392f99c91673ab13976bfab13c777066a8e712567b3e502467010b8639ba9c2ee3cafedc74dc12203ad76fc6ec96b72a0bd5b43e30452ee18c4b5242bce80067568b4419148b795801a4c1a83b991173d6677af9091c10a2a4a2aacd74b8493344c42089731737006bc8beab8650a393886a5806e991053b11def0adce842fc3c8bbb6d35099253bbc9a96c9986f05ac51802984b1e4370ca29d3e3c6489fa5a1ad33fd81b2a14956f36f09575682ffb4a82c18b749598a781b88d237aa576b8560a83c7aef217ff5c7ba533771b1b6541310a312926ac79175b84a424431e1331cbba24b97b85c0c450469e89895b3864bcbb291c16ad40da5503f98fb09825207668c6b028f304061b353320ac986dd09484dbc9deb15c0ba90226b79ffb260e80422fb937146d9c82d9c5be8a231c270aaf2b28c7772a292ca8cd1e8b0e4c7b2712b405a487aa8f0a2775486eaaf672d774701c861be6d1aa32223cd582bec2f80a1f291d8d099bc03c184697ce44f8213ac7432c4692cdf72af38484ab451f8800280c33a511185482c77f5e3a0231357558c59432ac9909e5b69b50acb0527e7ce2805e1841e8449d7d4ccb9596cc1c942cda42bb6c32a549b84c76875029c87b9383411d05c43c9b4de1c0b64d2c7f9d4b915ec8786590406afa0d85330d3c3c0235a081d9e15b93c34f1de2295b69a6723035e901758d108bb88b367db72fe7a31a5a834914399db946a60b5c86406555d9ebb05f836dcfab8359c893e3a145b9e309126717fe82c584181f9ee6270f1bcf506c344043c3d4c456e5e90eb9b046c2e3a8c0ccb38e0012a1d051fbf723e0d047f15555a275837338c3734b72f304bf46c779dad4828531a54ec5b1ad468c59a02b852045e7ac4204649c85488e33634641206a3348b982c7c095a22cc3a4401da858714357eb0c56a50a1f1fe53a6d707bfd24084519c987649a8937b94f2105c02c3410bac35bf832218c1ee57a3235a156df57a99b4cc37d521bb39921aa009ea9ba02eaf5b62181456c2a99f489b4569babd0910a0fcc6c7738a556948f7ccc7d17baa92e01b456a4a841d05f02e4b6883292f5326cafa84e02fb87546975b34b9d3508098a8b3b384c719b34bbd2acb5429707d60860cb713fb7d1ab1640a36a52b6f2bc5240a4bd930799111c164db5227de2252bbac406e2691da095c242285669c3ad93051d58938ee4139085157d457ff27a9bb0e1195f007522b757f47661c48825f8483a26417fa48503eb076629a630f079528c78a736523c608b9564288584732059c4a2768b8705551692f5a6c6aa7a50fc92e57bbb97c60ef5ac57345500f63a1f33a929c2bc28b170c2134561bce5858d62bba0326b7c54841404c2e2c7acc090a7cdc39d2d60470756c63ab8ce021bde343051d6767358c434006ce88f2c5fe9122a968c7dd4a31d305a83e5697fabb60e6455ac74836f27e314af344eb24f49deb9961b7a3cc8aa3239d4c52ce4c95afdeff6efbfacac10d294edc0e7cf4535059bfdba
|
||||
|
||||
# Official test vector 60, seed: "99a9cdbfc674ab3ff2c64cded7d697a6e27a767434a47aff7c3fbf3c6a22d6043d27868955286a13efe3de36d22ec48e"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 47ca2b77c5b717f423222c2730ca5cb9c856bc951d01b2b2c80bd76ccb5539b78f1481d7cab000e33fa07de8dc9627a85e76fabb4428a3376e66300cf12a0787
|
||||
EncodedPublicKey = 257b1b23d578d652c7d6c5115d93b9b712c1a71120fab84819b963ef8303da408b3f33c1d0a6cee9d596ce74a48b827e5650a77da4593e89cbec23a71a4931d4c69657037bca336627807052d9823d484619fcb40599326e922d25c84ee0fbcd42e60ef4750d25a32f2c311ec8bbbd8c7c407f214bf89b3e90a8396a777d4a622cd11349bd0cc17f209c336808ba435cd02b746c841959cb2cf1f17b13a9979ae49745990a6e7b09cdd46b03b3956787205b52541fd39d1a591b4947721cf402df201658077e327aadf82c4503706dac6b0f713a88649867fd7a1b083134d46a2a6099c2979bc72f843cf9e90184227bfc2850e8f887052cb1f1971518860f4834476f3b52f2684412d2442ba31d62c0a6b652a779002c56954298542072d97e2d2650a86aae794171a865be78fc7b4b17463ef16b1739191af17f7d97b4cfccaf706ca1a70200095310f24c626ae9878fb249c0f35f88005aa0420733d1571049335ec1ad2323c424f64dbe1007159a687ef74bb853553af80f686482f1d6331a166fea28971778955a793cd9d7bab0ac7513164b93e24e2ba863dc44bd9a0cc04fbb87f54a0857208350fa25dec2b599d19f4d9c21c3614284cb3b78836ca3426f5a9952f28716c36c9bdf8451949b0093da26752b40db4a4c2f472d35b39466092876578df7262c0c32582ae7b62fdc656bf3265ff751d539740cdcc2a54a7cce815a9da25d49964ea42c8d0eab09cb6b55d269c912b6749c8ca58642c81af29a25573e42551f44dac9c60aa182b7a55650b9b2ab2510385753136f696b4ca5717461798fff109a2eb4ca46e99ddd1187162c6aa0f541356373225a6c80e0b509733ad8dc9ba8610344945c8b240e8333c187ac341e2ab6038c323973acad1706d70b0c0d9c7536820af34475cb07be00048efb00657ffc2baeea0bb5488514a98a0b91cb1b3304c262413611790af6944c070372e470e77370eefb4e958b8ab616aa27099a0ab7cb35986ce614c145e1cf2f484584547fa9d76dbfec9c5e76577508389f51ca2fe2bb787b0f809bc95315a23f98c6749826e7a6072f352c9f7a5d040682c9c6f462593e69a2b4f1dfb44cb6a9bb20946390372d446ba410
|
||||
EncodedPrivateKey = 1101710303c039a3717d69604eb104cdb28257887a0a829b20e782b65746b9fb8f1ec893a2c8aa00f5464ef332add7c621f39e79c44ece0bb4f8e5a91475c35bd88e83c2015357b0b2d4c576eca5a8027cbef8350bf2ae4623b4f490487c60a97a265321d95f7f654ccf7737776664c2fb424b3b9cbd65a76153019d92c1c781cbd91800e0ac9d6af53b70277a647bb0d4547224d44f08d3979db26e32a1a8af5ab01db64afa5966b7f2b228b579b03150c2935986539c38d1916261b4cbac31ca66a0249aad37d1cecef993eb673f5a99c1173c20ed91b5bd328809917d85d2bb9f0907fa96610d5cb0d1e76ea3a504e80787e13c1d79c5c9fb405b3662084d75cf36785249b41a33fb6454fb1593086eb7c9372d105e3c6b2696d3ac52ca7ac7cc92486c318c3990c6c580bf6aac3e26828fd45b9958ce8973aeda713e325438a233b8a1c36e8675a585e22f8f1b4b80f1c33147b5b68c4606e877dc9ac7028951759b5612da493b7409f62bceb7890c853aac49e5a166d2b7ff2a971eebb3b8483d86bb5242a64d38c6874b5813fc24c66890c4e564bfc9d088bad8367ba0519362be124695625c607735c7e2cb0b4b319828f7ae7ce8c984c57ed6a211e6f1bda8cb44edd80f13b3a2d3d75cfab37f5b6133330139c1a3b28dd269b45c091da8785dbab2b7959a0332b9e77b35edf6468b97c0ec06afe160927fe7a8cfe1514e0b7aa652676af204669a476846b8deebce87c1808c5248eb5ba815a437d1c0a0f0607e3d24a815ec52f4333ca2599168f16556d3820bd0738404b21ef103dde659411a69b7095a2d1013435cc8b625230471274d7b1186860fece6510b4c3d3e9525cce38b89d2a62edacc354825e1637aeb815b161250d7a52b20d4cd27c4154a936f7f440dc4c26d6d18570bec16a805791d1aca696509c77955784bc44fb50acfc9ca57e3a7bcb6320588bf04e4b4d1c04282225b662b5d0cd36c4c687f0177c9c3541c0736818328972f6606a24045174b80c63a906a54bb29c6253ffb8397f69812883245418861670c1196066c917dde15069600c335c54c3e4236257b1b23d578d652c7d6c5115d93b9b712c1a71120fab84819b963ef8303da408b3f33c1d0a6cee9d596ce74a48b827e5650a77da4593e89cbec23a71a4931d4c69657037bca336627807052d9823d484619fcb40599326e922d25c84ee0fbcd42e60ef4750d25a32f2c311ec8bbbd8c7c407f214bf89b3e90a8396a777d4a622cd11349bd0cc17f209c336808ba435cd02b746c841959cb2cf1f17b13a9979ae49745990a6e7b09cdd46b03b3956787205b52541fd39d1a591b4947721cf402df201658077e327aadf82c4503706dac6b0f713a88649867fd7a1b083134d46a2a6099c2979bc72f843cf9e90184227bfc2850e8f887052cb1f1971518860f4834476f3b52f2684412d2442ba31d62c0a6b652a779002c56954298542072d97e2d2650a86aae794171a865be78fc7b4b17463ef16b1739191af17f7d97b4cfccaf706ca1a70200095310f24c626ae9878fb249c0f35f88005aa0420733d1571049335ec1ad2323c424f64dbe1007159a687ef74bb853553af80f686482f1d6331a166fea28971778955a793cd9d7bab0ac7513164b93e24e2ba863dc44bd9a0cc04fbb87f54a0857208350fa25dec2b599d19f4d9c21c3614284cb3b78836ca3426f5a9952f28716c36c9bdf8451949b0093da26752b40db4a4c2f472d35b39466092876578df7262c0c32582ae7b62fdc656bf3265ff751d539740cdcc2a54a7cce815a9da25d49964ea42c8d0eab09cb6b55d269c912b6749c8ca58642c81af29a25573e42551f44dac9c60aa182b7a55650b9b2ab2510385753136f696b4ca5717461798fff109a2eb4ca46e99ddd1187162c6aa0f541356373225a6c80e0b509733ad8dc9ba8610344945c8b240e8333c187ac341e2ab6038c323973acad1706d70b0c0d9c7536820af34475cb07be00048efb00657ffc2baeea0bb5488514a98a0b91cb1b3304c262413611790af6944c070372e470e77370eefb4e958b8ab616aa27099a0ab7cb35986ce614c145e1cf2f484584547fa9d76dbfec9c5e76577508389f51ca2fe2bb787b0f809bc95315a23f98c6749826e7a6072f352c9f7a5d040682c9c6f462593e69a2b4f1dfb44cb6a9bb20946390372d446ba410012135370b86ad6bfcc4eb9894044dca11d5eaab6caf8798e4496d798f7d4fae8f1481d7cab000e33fa07de8dc9627a85e76fabb4428a3376e66300cf12a0787
|
||||
|
||||
# Official test vector 61, seed: "c799d57b41f28c5c446dfc58a5ac6499c4bcf3c162afd2b09a16549826ec2a6f689e44bafc4acc82f5d6aec23f4a3993"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = aaf6eb40e596a5e3e8218871e708b089240dcbe7fd3641f0e5e41e071ce49107e2f8d320ac3cb0c52efdc753282f092bc39baf4a18783a48ea031a191865eb78
|
||||
EncodedPublicKey = fae78961fc03b60cc6824ab2b825af9522c98a564d66f2c50929460dc961f0c83d4a456247d044d9c7427330469f5b783c3a19c357962d9c6a78fbcc60c279842cc489866f9ea49f139821aee82ab44191b2093f6e222b93329c1e190c8a4c45a5d9638b761851b45180602e0cb94a6df475b76a87b4517361687e22a7a0eb43372c1187b005945946957eb191bda6393604573059275ec423874475b3e976a09453fde3c2c6431b8d132cb12a874e742314b6859d08ca93489d378998ba5158e9c8a33fbca1007d979ad15a52d2821a4a150ffb1454f502a97287b2c0ada7847c44aa6dc85368e11a0cecd90f80e7c2836a63f2129d85e117c0f2a9cbfb7a4f735a64e277fdc558d617182eb534391c4574550ffa84c4f4814808257d63119564f80babf87b51a438735576326169387cc04ea781e710485532756a689c87511fd4dbb3eff63c1e943f456a5c03768ba638418d8899c24746a52186907100650185fb2c6bf2c6554503c1121cb2a62632446bb839027c08471fe2677d9dc71031622410408bfccbc7c50ba5e87238602cb792a3a85474ad11ec9dfdb97b202864dc9a6691b3546d746e5a55a594cc9daf375f025ba003f44f65762e1485494006280386a0879a7fc8b62f81b3c68e779cd4cb82253c3420a30e8c4065f2974e87961ac3a4788b5ab0caec03eb020053dc32799083b9dcb3d23b044f29540b87c54c06a685e50d41491b05d0546a316b09524e6de5838dd9b4abb72975bc40ebe2a224e787d489c4a02a9199f49f48fca8f1171a31eb7c8e73aab5a6c8656ab9ab08cff7913a60a137f5eac63bf91270831c09aa233a43b1462bbc5fd685029a99a84c53aff6bbfa429829583da1aa80fd2c4241a9545b187e7e3038a3f8c22d3a8e41d66f93e35d57d487241883c4e33dde6ab3aa3534ea648d3a8832e9c4891caa45cf8610f021262b550253308fd579ac64005ac97bcf986455a5f0962af45ce9408e4369360bcac705709d79412b3be96508952bdc255fdb571b25c76b56f13f6e666fd48bb0b51368d8165bdfeb78f3b978a8737a1e4422681bb9d92320928996196f07a694b049ecddcd014f4ac027b1bb3eba7a4f5c9b650cb367b114
|
||||
EncodedPrivateKey = 9ea580cc301011415bb5946ed215b4f1d5a2688869230167825197fec49dfd335b24d389b07042e3e7a33ea9b3764379676407ed3aaf21c1beb7746e02a85f6b3bb019e2680cbcb7ddd171ad7a88c4a506a99268a64c57b455b8c9e87e58885e6a39534ac90df737bb1cec70bdb8627b4b78b7f580fbc61d91b4111a7c1be87cbb6bd98c77cb660ec9b6d3f35d11b86570e1a7b5a843b23915c6d4bb185ca811a44b1d99a40e8c28d8ec5e7ea589f6992611d368da48582107a98da2117d2ac1a65c7a895c93a63b934570b6150a25e0f9b54d81362dbca6dc7c199346a2e4985196d27cf8d21548925a075c875944ac564b3e31da633e081cd5a090f5eca52ec300ebdabbd658239c6aaf82a99bda497de5d62427b97a65c94e5ab39b91086e92f03e0559a268868d3ca6b45fc057ed00c400f0c95f7460dea55607b39aa80c2b11454e0f6498b6370987718628921b90e0cdbf28bac58c96daab9abdb7ceaee8807dd66773626bf48558600593b6960801d0c0939b77f47910ee75b11e67c0a70cb77a32bc14b7aa2d7c37a20a1e420c425a6a20f487ce2cf3ae66c593f913743e48ae2f24180cc74a5421b15f1a495795ab217761b40541f9496a6f58767a4039087a697c668055e900f1fc7aa8b77037e71e98eb4244486a0276b98556c1392a9d249b804c47576242111c2218ad774363432c1b78ac82c92ce6752316f650b5d9c256200a7dc3556692898450381d3663b6c79b91918841b47aa31545d1998dd5f793708144996507428172955149f2699d77ac859e88cce18674048666e79a3a62e54f288795d3f278b4fbc09fe46eac1a876a4a9aa3eb01f222ccc97a4d8babce93f4aa6b6aaedf380f91b49f838b52d2b82f73fb447c963b31d40546b0cecb739eaf6a8ec8f2624af025f330a50b4baae2004eaf1c2682637aa397819550c4e7f6b7e6d5a206f58892ec0d90da66912b5556f8c7fc03694f47b042f9cf23258da0a54aaf36c4b740a8ef80c9ff83351d1aa633977ebaec955972a16e7bcbe67210eea3589c2631717c3445c34b077125c6003adc48477088493d760dfae78961fc03b60cc6824ab2b825af9522c98a564d66f2c50929460dc961f0c83d4a456247d044d9c7427330469f5b783c3a19c357962d9c6a78fbcc60c279842cc489866f9ea49f139821aee82ab44191b2093f6e222b93329c1e190c8a4c45a5d9638b761851b45180602e0cb94a6df475b76a87b4517361687e22a7a0eb43372c1187b005945946957eb191bda6393604573059275ec423874475b3e976a09453fde3c2c6431b8d132cb12a874e742314b6859d08ca93489d378998ba5158e9c8a33fbca1007d979ad15a52d2821a4a150ffb1454f502a97287b2c0ada7847c44aa6dc85368e11a0cecd90f80e7c2836a63f2129d85e117c0f2a9cbfb7a4f735a64e277fdc558d617182eb534391c4574550ffa84c4f4814808257d63119564f80babf87b51a438735576326169387cc04ea781e710485532756a689c87511fd4dbb3eff63c1e943f456a5c03768ba638418d8899c24746a52186907100650185fb2c6bf2c6554503c1121cb2a62632446bb839027c08471fe2677d9dc71031622410408bfccbc7c50ba5e87238602cb792a3a85474ad11ec9dfdb97b202864dc9a6691b3546d746e5a55a594cc9daf375f025ba003f44f65762e1485494006280386a0879a7fc8b62f81b3c68e779cd4cb82253c3420a30e8c4065f2974e87961ac3a4788b5ab0caec03eb020053dc32799083b9dcb3d23b044f29540b87c54c06a685e50d41491b05d0546a316b09524e6de5838dd9b4abb72975bc40ebe2a224e787d489c4a02a9199f49f48fca8f1171a31eb7c8e73aab5a6c8656ab9ab08cff7913a60a137f5eac63bf91270831c09aa233a43b1462bbc5fd685029a99a84c53aff6bbfa429829583da1aa80fd2c4241a9545b187e7e3038a3f8c22d3a8e41d66f93e35d57d487241883c4e33dde6ab3aa3534ea648d3a8832e9c4891caa45cf8610f021262b550253308fd579ac64005ac97bcf986455a5f0962af45ce9408e4369360bcac705709d79412b3be96508952bdc255fdb571b25c76b56f13f6e666fd48bb0b51368d8165bdfeb78f3b978a8737a1e4422681bb9d92320928996196f07a694b049ecddcd014f4ac027b1bb3eba7a4f5c9b650cb367b1146ed803f13344c56b643da0660d085145295dc167f9e5129f975b8451c0baa9dbe2f8d320ac3cb0c52efdc753282f092bc39baf4a18783a48ea031a191865eb78
|
||||
|
||||
# Official test vector 62, seed: "f7ae036a0176a9de9a036a542dd2840033277c44ae936d10b768566216de9d4395cd42b116873b69d9804ba6ccbc05d5"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 6500f32c93415cfdbc0bd31d78d5be95cb9060c8cfa2013955b56f8b6868b322393308641a9a4647f230201e1389624a296b55192a9819fcb19ab77c25f95445
|
||||
EncodedPublicKey = 24791e046c2bf0da85e9444b123024f5d1c40a14b85a188aea311d220004477a8605b4c444d210fb01941159a3a6aab366e45638534b73e648713335539827573ba83336366f0a891cf52ae2579ffa63006ddb29c3a9c7b0a86db226ceb576a9b853a98f42797e0625ceaa18907c95e8f68e5f2056987224112a026b9181aa3b7ad3ca245eb7158aa08a48e3a5d8c67ecc78822f3a1e2af243aa68a8f1511bde6989ccb546116a66324519f0e957903b7aaa544aef859aaff4752109ac22f6535ed15258886d799a844969a315a6b22b714fdd6042b09066675526a9a68b8b40a59e28739e871588d56e8fb987f5469f7da027e7d443d8d115bbf35c031b77d0597e05ba95db486dcf4b025540cf983ca11c08858f7b596233ca96c049c9810fa70840b140bc83a90d2ac121f36929192a14bfd84ddcdb42aba29584103967b70fbe42272aa49ba252105268451a1a5ac86a057ac5326cd8497b7c7491100aced86f0a8c286b23c94cd617b2770d8b5b06dc47231f5390d43a4355427a2f417af243a80ddb1976b4a6bb580192b122bcd28fc8664ca068404aa1ae374ac8e0987fad50169c6393fb401910787c1d147c6fb1599cd6a08e5b38330409a19b26b5a074bb3c0bede2b590d33d6254c6c9848a1e9984c9401b924b62399aab0a51ceec520bf038a6407c90545b93532b8c475043cfcaca96fa7f89449ee55742c455a20df3bec78b5d4160c181724610a01bfdec8cafb24c5ba43367c26ae8724cf791a5bd08c56059bbcc83c5431289c17815cdc55b4ca65b6b8ac65aa0a11846c1113bc765aba1bdec6926b154be164783b5a581aa2a985a8f70e7b58af53b34b023bc571cbcc4ae4d200e05b958f18b6a969b5fe31992c4c6631e158869359f49b03c2a32983d37acc7f86a3be35f93ecba980b317b4868b4f917c01a56e230ab114c6e11ebbd3adbbc2f047ac550566007cc5d95ced44775e8d0878c144ac0631ba5214ffd3960aac81f1954c47ffb7b420059a3995ab051c6de6a1733f30cf7009f5c9bca2c018a09f9527eeb708c37270261185768bd6738208f1889ed69254dde69e10ce648a4843dca5bed5c993b0cc3bb94ab831031aa30a30b1ae4ca05
|
||||
EncodedPrivateKey = 1ba7bba7241b5598823f8c97da2b9c6d9445b073932f848e8f31898aa080686cbd3cc09c66310b8e5c1f537bc5e580a6d83267b631ad2bba31a476b0fb3b6675043a76476295e34edc821bb6c800224599dcf8b96289920a56402f37c73633b4e4397862c201a3e95e26261d2ef1b9ff73c17544a33c33042959c92bd91f8279b45815b7b48587a6941adc1c0e983cb4941b270fc2b991088dd5001613f7b631f4a3cad4454693cf36bab8ac5a7f6449077942bc99429d0fcbb93278c6236b3f60f0b87a499b259bcc3d129e5736cb81db5f587025af8b9915945db9b4719efab3c016002cc3a0d02829d0f9aada28846ddc0de9349ba6253091693394b12c2900282cb39c07a69c20d1509ec22921ca9b9edb3c2d725512285208a8070a3b0faa66ca4e53080d3a5c107141eab97553732d94d3231460043cf66ff2459f955609476888a16632a9421e0e64cbc38911e6a5ce3c3bc690f3a0031100cce0585b780a7870c73b67aff72830cf65770e1388a7193bbae965985130e52aa50625a18be51641ac899ce05b9853974ce6cc3417c752b9c046a0a87072cc87097637017550064735cb25006a1de016c9a4e67251d604a20b85ec3cb7a31c47fa81a0625ac9e62884567bcafa9b144c20c7eb35518ef3ca00c211341bab36158a46458d3550bce23108b8a77311847584e80358c45cb4e06db24b3f40d68d1932c0ccca9d553cbb52227d2b58c399c642126813482aa82cc3345bab88123c5737b6930bf476056a805b345d4873555e545e427226aaac89560303b38b6285f17b407244a5509150b9c06eb4b667009abd2476a9498c7124a798e9b52090884a848aee666c93013d961636bdd9bada7b7194e54eb7f31cc1eab839185b99166266610403696bdd9ac08c823018b907a06382cbc9aec23abc4b7205a88ac8a10cc6114bab71d5473646a20d1773f540cdcde868c34315087303c875b8d5c7a6b8436f706ca315c893a9f78ac8952ebf3c90c4e222aa83a4dc086d3e4058bb55834db36747214db2c1b853b29f2045b20b04a06bfb0aef7881c712423c0a2ef08430b61a1324791e046c2bf0da85e9444b123024f5d1c40a14b85a188aea311d220004477a8605b4c444d210fb01941159a3a6aab366e45638534b73e648713335539827573ba83336366f0a891cf52ae2579ffa63006ddb29c3a9c7b0a86db226ceb576a9b853a98f42797e0625ceaa18907c95e8f68e5f2056987224112a026b9181aa3b7ad3ca245eb7158aa08a48e3a5d8c67ecc78822f3a1e2af243aa68a8f1511bde6989ccb546116a66324519f0e957903b7aaa544aef859aaff4752109ac22f6535ed15258886d799a844969a315a6b22b714fdd6042b09066675526a9a68b8b40a59e28739e871588d56e8fb987f5469f7da027e7d443d8d115bbf35c031b77d0597e05ba95db486dcf4b025540cf983ca11c08858f7b596233ca96c049c9810fa70840b140bc83a90d2ac121f36929192a14bfd84ddcdb42aba29584103967b70fbe42272aa49ba252105268451a1a5ac86a057ac5326cd8497b7c7491100aced86f0a8c286b23c94cd617b2770d8b5b06dc47231f5390d43a4355427a2f417af243a80ddb1976b4a6bb580192b122bcd28fc8664ca068404aa1ae374ac8e0987fad50169c6393fb401910787c1d147c6fb1599cd6a08e5b38330409a19b26b5a074bb3c0bede2b590d33d6254c6c9848a1e9984c9401b924b62399aab0a51ceec520bf038a6407c90545b93532b8c475043cfcaca96fa7f89449ee55742c455a20df3bec78b5d4160c181724610a01bfdec8cafb24c5ba43367c26ae8724cf791a5bd08c56059bbcc83c5431289c17815cdc55b4ca65b6b8ac65aa0a11846c1113bc765aba1bdec6926b154be164783b5a581aa2a985a8f70e7b58af53b34b023bc571cbcc4ae4d200e05b958f18b6a969b5fe31992c4c6631e158869359f49b03c2a32983d37acc7f86a3be35f93ecba980b317b4868b4f917c01a56e230ab114c6e11ebbd3adbbc2f047ac550566007cc5d95ced44775e8d0878c144ac0631ba5214ffd3960aac81f1954c47ffb7b420059a3995ab051c6de6a1733f30cf7009f5c9bca2c018a09f9527eeb708c37270261185768bd6738208f1889ed69254dde69e10ce648a4843dca5bed5c993b0cc3bb94ab831031aa30a30b1ae4ca05f2de14fc5d972013cac0050250dacabf48a7e75aa6b104b3fdaf69eeeafb6312393308641a9a4647f230201e1389624a296b55192a9819fcb19ab77c25f95445
|
||||
|
||||
# Official test vector 63, seed: "d995d38f934b6e1a7ca77c9522e3d037676cc939b0c8bd4b84394b3dc91a791f09d2d97199258c9943da955e7f7b26fc"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 7643cef2d62cc5aaeecf754653ea62294cd2208e5bf3ddeea209e3dc45373d49eac9d531a532770837a854b4f5531f6e0c8d6c10183b30d3435498c2dd142951
|
||||
EncodedPublicKey = 35cc8456a0992dd4081b0c82bc67cfd8a00308794c6cf3c5e9803c9c531329f99db4b6194fbab5d71559cb5a48bbc2622ca13d823a3fccc86782f14a84c273fb5802e277a4b78a38985ccead800ca95a0693534d1897cbce217455423fd3a5828de069b9c2414686aaab36489ef05c65f019b7d53059ba17522c3fe5a5bb3d11a26d6a1329f147f9ec4c57446cd29809ff1c5574149ce3f44454fb12c60142bb870d87342522c97cee47c5b541b261a7cc59696d9f48790c3c6c96807683815489c676bbd98327514f456ccd9f502c332086dc3088ea0ac583430976191f364697a5a71b0a879886464e72657022947160904cd007b97815a8d1a0b85e8baef89131ae133a85b06568986aa9c14dd297ac6483c62a5951bc808bd284838bb8b889cc3990b47c3f158144746a01b31b6da528269209f887617d928939e209d38c8d2eb335e523c2dfc96ff917a421a84ff1eb17ae56ab045461c417112316282ff537bbf8cd49e4027c41845d41ab8864a33a494cddf1413131b1138ac65dd24ed3482d3b396ec150436aab0da1cbc30c6872bad29d6f620331a36c622223edc92ec2d0604d7674a538b25b08c54e23be288bb804892b3314562a7071535879cb4b673075c734ac8ffa96ac3b1b23f00b4e1c781d9a13ced69179a8f847603594ef3868c128c0fe53a9d355ce9638b57ea5c324e83fab909dd717b6297c319a1320f3dc9fcb8155326c0ec95629e97788cf966979457a7f8b596677208227286b8a4dbaf7b1005539ea8474e0a9255371c120986a640bace8a949bb43c72461b08a63cd992288d294a59049a4b4156aacd9366a6275412cb9bdf3cb9373aeee29c2d0cab14ce7905445c681166ddfe7780abb6efff89ccdf64f3386c89b4186787c8e5b19a949b541e3b557d4825ffbf22e7b821708ea656b3b9b605a63d17abe451b65534834adaa7a56184c5a15bddcf799a8108b479a4c96962c7a685673fac82e7346acc037208ba100236b02a26f42549574109cd5063d4c8baf09713d261170c73acea1b2662d1412ef07b967fcbd39e094b4aa25f6cb82c397c1378483b1d27116086b8b1053d87f9e7385317f69bf32ff66518585fe8448c1d4f6085a
|
||||
EncodedPrivateKey = 3b5bb301623f1583b1d7c9cb3bfbb61d123bf0438f926396d8791889502be0b5ce7c53588248ab079b3bd27bbafa4433d1d6030dc34be02a61a2f6b51a20c53227c9c524245388a6b5c4822167396dd3a4f567553cd90c4fd38deeb658a439c5f9d51d20f87068f379ff8aa3cea75d9e64c63d65545161c3a14387736632eda5a3964131f446ad424954d0eb879457a17be43c03191d1b675981b5979ccc41bb6a7543db5c5af17a16e42c73e28718a120f8f75dd3bacbdec82ef6f1329863a92e4111ca51adb6e27f67b2b5d731285b8148b8192e4cc41067a43ec66121de2c12c0a7abd47bb29dc4be303c699c63276d504b5d872cf557283ec516dab74fadb57a8e69ac14dc0c76588d78b858555317e3f491ba1c097371a8626336abb94971b65d9c92b342798e78e83e791a0e71d72651754f55901a58a2ba9d733afa8a36478bc50af8c7abec3d77fc5404243a7c036b3e80aff5272a0c0ba1b3ca765b2481a5e406413b7b5a906f044120cac64e242009d25b9ab19a2169649a03836a7ce0183cec48989388aa2928350c6bc2b5904f933bb9f0a7e566c479c8b0728a46446ab06df971a0bcad2361c97d1834cd40ab2556b793707ef46a5b53a3b7eb197d08069583a024ab0aa253da0cd9d7c3cd157e613c83c67300f3f55bed22352de7a6ab1a09ffb75d65277a0da1055f88c694da15ad9a0575ec414c7306694905a236ca2e1bad7a9c6521aa5f0f005211c406a0caa33c01665c2808fbd1a6552a57b8c8a75e9aaabc271bc2ec7a6a5c9f0fe7add4560d86724e6315aceb348851d94dbf65cf35fb59f48c5f5d019c7e10193cd03b2eeb2461037847c575ebfb32e95c0caadb1164720def146e26408791c3a5b13748461c0a38b1615bb816e8ca539b24420ba1385d0678f23c237203a5bc927b578916cd24cd4e431f6cba380be27c6481cf51655a217687241b9fddf87eccfc7f3f09c41e684c62c4cc38313667d1775c304a89c92b3aa31d0bf37e3805a354a0af58dc1d3baa186ba6c042ccbf1c06619161074ed77268a9c55ea11c5cc5b2b55ba7756222a78c9a304c8635cc8456a0992dd4081b0c82bc67cfd8a00308794c6cf3c5e9803c9c531329f99db4b6194fbab5d71559cb5a48bbc2622ca13d823a3fccc86782f14a84c273fb5802e277a4b78a38985ccead800ca95a0693534d1897cbce217455423fd3a5828de069b9c2414686aaab36489ef05c65f019b7d53059ba17522c3fe5a5bb3d11a26d6a1329f147f9ec4c57446cd29809ff1c5574149ce3f44454fb12c60142bb870d87342522c97cee47c5b541b261a7cc59696d9f48790c3c6c96807683815489c676bbd98327514f456ccd9f502c332086dc3088ea0ac583430976191f364697a5a71b0a879886464e72657022947160904cd007b97815a8d1a0b85e8baef89131ae133a85b06568986aa9c14dd297ac6483c62a5951bc808bd284838bb8b889cc3990b47c3f158144746a01b31b6da528269209f887617d928939e209d38c8d2eb335e523c2dfc96ff917a421a84ff1eb17ae56ab045461c417112316282ff537bbf8cd49e4027c41845d41ab8864a33a494cddf1413131b1138ac65dd24ed3482d3b396ec150436aab0da1cbc30c6872bad29d6f620331a36c622223edc92ec2d0604d7674a538b25b08c54e23be288bb804892b3314562a7071535879cb4b673075c734ac8ffa96ac3b1b23f00b4e1c781d9a13ced69179a8f847603594ef3868c128c0fe53a9d355ce9638b57ea5c324e83fab909dd717b6297c319a1320f3dc9fcb8155326c0ec95629e97788cf966979457a7f8b596677208227286b8a4dbaf7b1005539ea8474e0a9255371c120986a640bace8a949bb43c72461b08a63cd992288d294a59049a4b4156aacd9366a6275412cb9bdf3cb9373aeee29c2d0cab14ce7905445c681166ddfe7780abb6efff89ccdf64f3386c89b4186787c8e5b19a949b541e3b557d4825ffbf22e7b821708ea656b3b9b605a63d17abe451b65534834adaa7a56184c5a15bddcf799a8108b479a4c96962c7a685673fac82e7346acc037208ba100236b02a26f42549574109cd5063d4c8baf09713d261170c73acea1b2662d1412ef07b967fcbd39e094b4aa25f6cb82c397c1378483b1d27116086b8b1053d87f9e7385317f69bf32ff66518585fe8448c1d4f6085aceb07ab4ac0d98f0c46e717b33ba80963b3cbb7c1ca92af96561ebc93a1d7d25eac9d531a532770837a854b4f5531f6e0c8d6c10183b30d3435498c2dd142951
|
||||
|
||||
# Official test vector 64, seed: "5929f02a271725cb40200de32d9d03d8bea53b53ac83186c42c7f565ccb1ca508305d470850cf86e9b2c61a5b8ca1c93"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = f8ee95521060c03bb8dacc79f7eb7db640f545f315613a35d447a09e504cb4e13fc3d8392cb53f36ed647364a04e37278a0e0a45b720f4a75c580c9920eba98d
|
||||
EncodedPublicKey = e1cbbf47d0762c5b9f1f1bb6d0eb9e10e0c5bd5b90fc20c6aab49981760c4a2c7beda862f38738e73330f603b9dd665a42f371fb2437ea782e4eab586fdba27cd6319c5b030b7b5e0a2475e3c2bf21986656db623d1203a891048e810c87762ed564142fa1078b5aaa6c28064090bf80e3477e38079319cd34da93da2b35bd0b87e9e3bc95540f68d4b0e816726235047b54948472be171ccf412c205956b1888a08ee683ded579d19529aeeb0a7a0a6aed571a8ba327d071360f6e7c43dd34baa86afbb995ee0f30afa82bbb68117d3f76972e79463519d2ff808783433603593598661b517042ff97210b6a79c094e0dc17928d98f77f7311c45c33ae6c54fb0b316c080da00bc1c395ed2d413924499e16bc26edc82e8c463ff79245c1c3329ecc09f4028b6195ee9896b534b3b8e384ddac84fc08a482c301e05fc12aaa9b1867973a76999ebf1bc84b9484a9a112b55b11788bd145312bdfb4792b67c7976141c295d9c14b290d524e08a31cc190d1059259a4a841dd904166acacfaa0ad043429e18b73fcb7489a17fe12a6e3c2779c063732e587b0c27c9dea064c76c6bb3776cc1e09cafeb181719ca14312e3391523206211277a4940c4102fba35a6b43c366b588975bc9d1a6a36bb0487c143ce31b2e45524b1aa1ac72a9043216c49167683b563624bd5afc566c7c866473bf06aa87f1e9742170c11983b8d4b1a238000b92a60e93f51ee34a363e8962176b419728153e271e320bb409f36db543617d869ae9b29cf8c0a06ba3a82917af17a741f0f718599ca295ac4937e50736357c36faa6e8706c2a448a2c34ac309bc3acc6aa04e121b7ea41d07a98774023bff21493c6c99abc22101c4e140266402c4e158041e00ba46a0c6405586b6e5b8ad68551e05038ecf61f78b12aba025b6991b33ab12f628b980358509deb84975690da260941b9ba433273db45b52c37120c19823f6a542155cf9800a2120c35db2283188c56956c6a9b1ab5384b1794bbc2896a7cc1fa48b32160201115ec866642eb88ded975b0711fe1117a87cc63e048ca64b45b2d54242ec951aa259ec48f9f9d9542c6594aa436a2a2e6d106ea9a7487121e921a8a7f649bdce22972
|
||||
EncodedPrivateKey = a7d314c9851b96189fe3a30f344702e558240aa69df715be176a5455f7019eca2b2b80650e399e301a7cc7c59338e10d22e6aca8b8bed32277edf5254d4a1760f7ae3e8a39ac26982fd64c6a7834e51b7532e54443157378390af3596c2d2b19ebf6124e1950279350e76aa10b752691c45b6092152f1b912b775976768dce0c173d13c03637ae38995fb51aa91b470afb3ba29ee409432248b203bf803b12ebac282f3a79af63804fd505121cc01b6ace3434a6d305552c9b045d8906e10a2ee896a3687aa990497d53a3c804f0856a226a08c15ab31cb2d832bb523b4178c5380d5186e515569052c0197ab2dde503a9da138a7c0cf15a8252478617a3a5c400606103903f5a1a47624462c7314369058335310f881087056d17fa5274a3bae0c855dac19aa3f732b70abb9d64a6902498cda465d4054d67849e889a9178faad59fa50ee448fc691bc5bd98dcf1c1655a4526eac2cdb8ac3245275883071d16755745401a7bc0ac79941fd8c29341b81eb56297d7406bee11d0a671eb0976abce12a9bfa04cc31a92625791fa0ac97b9511036066da98327d27aabcc29d876675f26277175549032726242bd627aa072ca7f30580a6235afffca1858091c5a5cbf6bb216d079c429345724805b3d4a917a5a1f9c47ce8397620ed6150d0a6e7d01b38c3651a9eb87030aa49deab9367817cf5cb1cd49005d3a00c07b2df843038b0561c84c8a41078aa9084945b83beda1823cf697d8ca83e065b4636b25e219ab35793bd51234ba733c704b8c8d7208860b254bd94a606c489ba8063f853bac597d6d653db962728c98191c542de80c59821535b5b7166da7b43fa17647011ece8516e5e82bebeaaed4e44a6ed623c7f5155414635807a0db1ab6a5111eebea184ecc83885463b2956655927d00f639d76978b15705ea306945c5c132443cc5d4c5de3b869789bd417746c4e2c1867a486e00c3aeb6973fc914529886aa7a356e299da1576822f8c3f46224574677bf9423be849260a593a83bc31677a3972ac15af089d2e3cbb31ba0e3308d7f58c89804430d1339b6c3b9be41b6ebb058e1cbbf47d0762c5b9f1f1bb6d0eb9e10e0c5bd5b90fc20c6aab49981760c4a2c7beda862f38738e73330f603b9dd665a42f371fb2437ea782e4eab586fdba27cd6319c5b030b7b5e0a2475e3c2bf21986656db623d1203a891048e810c87762ed564142fa1078b5aaa6c28064090bf80e3477e38079319cd34da93da2b35bd0b87e9e3bc95540f68d4b0e816726235047b54948472be171ccf412c205956b1888a08ee683ded579d19529aeeb0a7a0a6aed571a8ba327d071360f6e7c43dd34baa86afbb995ee0f30afa82bbb68117d3f76972e79463519d2ff808783433603593598661b517042ff97210b6a79c094e0dc17928d98f77f7311c45c33ae6c54fb0b316c080da00bc1c395ed2d413924499e16bc26edc82e8c463ff79245c1c3329ecc09f4028b6195ee9896b534b3b8e384ddac84fc08a482c301e05fc12aaa9b1867973a76999ebf1bc84b9484a9a112b55b11788bd145312bdfb4792b67c7976141c295d9c14b290d524e08a31cc190d1059259a4a841dd904166acacfaa0ad043429e18b73fcb7489a17fe12a6e3c2779c063732e587b0c27c9dea064c76c6bb3776cc1e09cafeb181719ca14312e3391523206211277a4940c4102fba35a6b43c366b588975bc9d1a6a36bb0487c143ce31b2e45524b1aa1ac72a9043216c49167683b563624bd5afc566c7c866473bf06aa87f1e9742170c11983b8d4b1a238000b92a60e93f51ee34a363e8962176b419728153e271e320bb409f36db543617d869ae9b29cf8c0a06ba3a82917af17a741f0f718599ca295ac4937e50736357c36faa6e8706c2a448a2c34ac309bc3acc6aa04e121b7ea41d07a98774023bff21493c6c99abc22101c4e140266402c4e158041e00ba46a0c6405586b6e5b8ad68551e05038ecf61f78b12aba025b6991b33ab12f628b980358509deb84975690da260941b9ba433273db45b52c37120c19823f6a542155cf9800a2120c35db2283188c56956c6a9b1ab5384b1794bbc2896a7cc1fa48b32160201115ec866642eb88ded975b0711fe1117a87cc63e048ca64b45b2d54242ec951aa259ec48f9f9d9542c6594aa436a2a2e6d106ea9a7487121e921a8a7f649bdce229720c59cd46ea3f85a41faa2e7e6f882197b1e6d9c4608f6da53ae32e69b65bfdbf3fc3d8392cb53f36ed647364a04e37278a0e0a45b720f4a75c580c9920eba98d
|
||||
|
||||
# Official test vector 65, seed: "905074033d7b75deb2d06a2f29144eb377b452534c5710632989f02d45312d156557e96d4486020826db200153bc4a8b"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = b8bd0493a882e3a49b4e0f6256fb1fea0912562fd9ba26ec3d6c9cc12c8973abd7e4b5d8021c486b9c3114d7cbbeb7cd49eba8a61bc2bcae1f1bef30a1daf76d
|
||||
EncodedPublicKey = e584c945ac302e846ddc37a6e53b6532f485f29644f1341a8c1bc75e8b3bb4a114648597bf616c9b62c6af9878e86a72218263aa2b71588412cb164464bbad41b78856d3387b877ea0681ab041a2ec23b59fd58878263fb7e21a2e0052b8b757b6018382a67450381145b94c84db163dd547b80a259488cea36a6deac33821569534529ded481c68fa50cb27019440470161b224999bc143b23a028ef97691a38c036dc68e8ab51a55967f6f799fcca9c1364297551387d8454569e327699597d6718e39d75aff32989dc4bfbd46923231b81db94cbc18131983a6b4c76d8a331a7c662b7e564adfa7c85e61bab22aa4fc74a068f077c6020f865b8156118045c633f9a3651ac082f9c2b43b29c8b0435b5c25c548b2656d7542e78015ba512093c58a4da3259257c1b1336e9db11613c20148fb1c19899eb9d6cff1db1070d966c9214dacf17078716b2f794bfcbc0745470280ac784a857d07765d0cb453f5ec227078750061ae851aa80324c2b7b02da0b6578f74015fd1155f3118a3d01d7708bde8b19330925d2bfb444408c2f0942c5a226e49b2c75e5b1bf4a619f46034a3fb67b5c108c94c9742794cc015126e06b3c3d7b33f722414d4a784f82858e342a3d0345216a34b16c21ac00c25e16a2916bffcb129c8570b41c23bbe66704a31ceb678778cc768acc9148d217cb4c27d59c8beb9d81fe20b2ebcc62bdf3a14a9071786d55abf27a115f8861c3b5ea54a83ac3030ff701e04228a3bb4c61f8828c608300598ab4db75223d01992fa8179b180ff7a2b4e2188e96b4cd7ca73551605484662e5ca816cc81e3df8c51e8a2becc4cbf02462b7f8219ff943a26309db9390bf1706229810bdeac2a55766aa462655f58d65b9a573d26fd981191598120cb929de8761f49817285c3dedeb9ccb99cdebb7c79c0109943308127baadde4a2bd9a78953800568c6b73634817bc8b489b945824609f98c447700f2db6256d887e75d48a7d6395b3e5c24220604e51cf9ed7497a8638b1bb8b153c40ac084e71511680520c0ba975a936541a96c6337964ae55739e6a055a42b5fc4181769f0f703afe5726b5bafdbefb73c6596e4ca7a019c4bff691222ab1f39c3c00
|
||||
EncodedPrivateKey = b6a195e3c631c589c54e187df91694663013575bbb220024a54b1a1548aee7eb0ffd441aef792528f0626b0c334a3472db2778cb9555c22767e5e9c9fed51309123dad059e54fcc7e747acf34b3a71f7adc2d704ad69b9be989d19218b3e909d87b83e9678a05281a7eee36e4f494c8ca37acce6217a744e791c030bb251d616c4dce419ff2c4f4b165acc4c406c9131c6d975b882bfe68231d48c9addb73bb3667f0fcc36727c8521318df8f4c198055bf8c526c81316ff68236bcb4055e87049b8ad36ba41c26065db39a81e19b6fa761fe6904c8c550cc2144000219f7ae69aeedab66269ac83f47027a70a4e274042e38d65f22c2f071a431b5b37d247563316d43557e38996b7c3a2a4c63cb19bba14e1c840541a0d8050d77332f373952dc6585c720b26b0787d4122458b36e5e2809606a66fb971d9fa1995e48937725c4deb67b8c12f15761ee9405a3c109437d15c2a067b789c31f621a63ec3957506000f24b5dcb2aea10b4c4b985c5de081b0d3a890774ae13560b0ec14f9e9a9fff382d29893b1463bbf53cdd4fb1a0ac47894ba48671004a6c6ac42204a3f8cadeefc08749c52e60818156a2c09c86d5d796116925e1e5957b0ac4be359931b3b86ca18987452811a230feb93117273b8e7b4045c9b69229cce2639081d09508269ac1e875fb6fbaf03d926843a37849bc768a808ef2c5189e64d11a73bc7a994be226e21622c63095ee48876b92b9b90413c324b057c5a7a2ff92fff7b2492777107b81ced574d9321a8c86a8aca8254c520354060766cf419cbf465f8e130ca11a0e48a9ccee00268e0baec5cc1dc4b35121b45bd6951e926980b190ed685c7867b901d461f2bebbbaff6c6e965489a0b19e00547616a9429981cf724a24e667ee63b915b10089a891633a2a54b15ac51108a8579532656a2bc0732f5f81b9b3ba7d6e92c926a36c382bc87075465e2439aaab22e4aa6496b6632c8ce6b961feb4ca8c10448f33b3c11690298e946e150c9bc360a20faa36bf9cc9d05adb47c55a9cc274abb2c8fa2001ae0c31dc54e5dc5b67dd952f8c455a885c9765a9ae584c945ac302e846ddc37a6e53b6532f485f29644f1341a8c1bc75e8b3bb4a114648597bf616c9b62c6af9878e86a72218263aa2b71588412cb164464bbad41b78856d3387b877ea0681ab041a2ec23b59fd58878263fb7e21a2e0052b8b757b6018382a67450381145b94c84db163dd547b80a259488cea36a6deac33821569534529ded481c68fa50cb27019440470161b224999bc143b23a028ef97691a38c036dc68e8ab51a55967f6f799fcca9c1364297551387d8454569e327699597d6718e39d75aff32989dc4bfbd46923231b81db94cbc18131983a6b4c76d8a331a7c662b7e564adfa7c85e61bab22aa4fc74a068f077c6020f865b8156118045c633f9a3651ac082f9c2b43b29c8b0435b5c25c548b2656d7542e78015ba512093c58a4da3259257c1b1336e9db11613c20148fb1c19899eb9d6cff1db1070d966c9214dacf17078716b2f794bfcbc0745470280ac784a857d07765d0cb453f5ec227078750061ae851aa80324c2b7b02da0b6578f74015fd1155f3118a3d01d7708bde8b19330925d2bfb444408c2f0942c5a226e49b2c75e5b1bf4a619f46034a3fb67b5c108c94c9742794cc015126e06b3c3d7b33f722414d4a784f82858e342a3d0345216a34b16c21ac00c25e16a2916bffcb129c8570b41c23bbe66704a31ceb678778cc768acc9148d217cb4c27d59c8beb9d81fe20b2ebcc62bdf3a14a9071786d55abf27a115f8861c3b5ea54a83ac3030ff701e04228a3bb4c61f8828c608300598ab4db75223d01992fa8179b180ff7a2b4e2188e96b4cd7ca73551605484662e5ca816cc81e3df8c51e8a2becc4cbf02462b7f8219ff943a26309db9390bf1706229810bdeac2a55766aa462655f58d65b9a573d26fd981191598120cb929de8761f49817285c3dedeb9ccb99cdebb7c79c0109943308127baadde4a2bd9a78953800568c6b73634817bc8b489b945824609f98c447700f2db6256d887e75d48a7d6395b3e5c24220604e51cf9ed7497a8638b1bb8b153c40ac084e71511680520c0ba975a936541a96c6337964ae55739e6a055a42b5fc4181769f0f703afe5726b5bafdbefb73c6596e4ca7a019c4bff691222ab1f39c3c009a27aeacf3b2c7d67d982798b8db46d38a070ea9791d1629565c996ee4608f84d7e4b5d8021c486b9c3114d7cbbeb7cd49eba8a61bc2bcae1f1bef30a1daf76d
|
||||
|
||||
# Official test vector 66, seed: "a3e2e511afa7bb560446bdadf67d2ee2e16ffc7baeae7efb8c5455068bbd4e91bf9be9d98b280072faba7712c75b26d4"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = c0407e41ddf48d333978b89bcf2db01e4613425b456249e76a6f25b8a2827bf5b2dca81e3f5f748d23c9d356a2209f6b2d60247b2e45c9808de497f64f124643
|
||||
EncodedPublicKey = ec730e2670a76339cfb5f570f9d0531592adc6b0774b100ae5eb067be5c310d490e2f59896a9205853b8e7d530120ccd636b6fa597af401cc4b6b3cda812278b2bc68f8cccf68bb31fa9466d019f859364a279be98458cc7006dce5396e65bb515dc524cf620d67bb20dc07098966ffa4ac640c2710bd18b22393a4b03a010d7beddd2af9fcb3cc90779562a095704732d6485c459330b01cda164b8426c167cc806157bb679502ac53165b97931e525a73dbaa321e0c627a859c3549fee88bfe26072beb7813d48442d2cb7f9f28531a84895c000845017f10c1d0438088b710b3f9b2d2b382d12d101ab78b22f00a978776be4d81b663a82105c5040116706b772cf569246dc75fcda5d55e88cb8c8cead79051b638c7ad61a39319468ab2743abaf4514b2f53830aee14daff31a63ecae55a00ab162c60c967fb687ac7287bf512850c6122f7a80ac07e18d8ea86abd452561927aa6dc39e5d7483ae02cb475b04faa8b0e95c1ea1279eb6431177407da024b24b124ed3061c8a7a6bad5aa451a0037013ff5f057bc9455621130e8a3c9610b49cc5ca1660143b6368fd2725b8d321b45251f697cb4c18b88d1521de9f37dfb688eac255288e474b2997756a2285968a060422d697442e73acfc1a324c5418725f335f5b00a03d39133d8c82697469a057b62362e1534ababf057aa78299bf942052b2525c92dd84459536ab8598440f0cc62f7e3bdc7d79ba8bc8b8e977480d1961c73618200cd1fd3bcc046126d851d16a1943c9c3f3cac6a283b1247c42199f1159f9a1062799f40580f5034649ce66b396696d90c7f4ab3bf8e3c8610408d60e51a069113484426c0f6648c96629698a1dd8b62af059e7885c51aab9a9cc0b6ab5835886974f12113e5c3373c66ad11a5c6640c93b1eb641c7c286ff1c0f84239b84c1dda6cbc1ea162aaac43706a4d8a51056b812f85c74df307baab2976120ca826f0999d354622764d82ab0b2953a354680a50fc28560059969479031c078eb635e9e257c4cca9c9b406dc470f8b9329026745732c364bc2c72e0915f3ab32a958ccf8e52bf9212afc9b1bd317eef54f6e882af31c8fc0f50878c3857117c15a911f302a0ba7d010
|
||||
EncodedPrivateKey = f0466b76bb3b5ea1a3a6595dac723965b6be662a004ab4954695bbb7ebc193b78f36040a3427a78cf1bb6165c4e51b981d67cd6ff7b42ba5465e038f086a5bac03161218ae6f652eb3cc9b300a84cc05763d71a7bfc01df2ca4b6520b3f2a70f08556f8d1cafb26292dd31105a77a893d7cd2311c467011b24402b33dc90d2ab224f18c1b42b7f87e67011daa8d7e499df9178c8a909fc83a4806716fac37d31a94ef275aa95e1232da2cdbdbc6b47c5c503ec69626930c49c556c189dfa3b0c00750109c7833cd33df9e120ef9c2b1b49ab87d288aa252ac3c12b700803dae8783775700ed96b15c26a88a148447916bc649cb703b84374bf26340d946319eefa662ce38b320b4ac2a1b8f45c98dda76be052bb47a9cada41cf0e5a50d79b8e4b3003fc7b9ad4b9b51b9b395cc0475c76bc8915276ae2cfef07cc11f7868225b728f8793eaa0b609a4c130140acb33c87508273f722e76c94c05704cbf5a6d779b34bc77ec006bfc870944a94ce41d822d89466b34626c2082ef8672511106057d77f6b995b7f5c95310033d9e87d03f5c124a5c220c735317640f6f6ace3f985724929852600407868eab97fcd827c9b069aab112ee10b71a2e9336c87a29d25b4278c9648339f39500a3de4a083e3bef126a9e04c703091b677f8707c4719433673fd228a2d85ad0c223181d727ce063cdfc0c035c221f1b8564203a5f82c5302b017a515921c027928ca5381725e63963b7c066529a320dc057dbd97162d9800c1c57fac4c8b36897edae900939a24233a35721cc3ddc75ed5e8be514607e6493dc585bdb7e431e9588a36da2cc5449a3fa243c0cb902407d08bb5689ea03961011d92a15add231841630972873304174a8f6132c6bc3658e87f6a865dff98863f20bf3862bf531c8ee110a7fbc6caa9845c0a040ec6dcabe734af1ae7b734f7c21de10417d59603b2467b819cc33a79d1ac581ce67321808ca926775d902c4c72c87e97a9237cba94faa1d8b9837cf64fc99276ff484c93183493f63cf075a40de57c1bd1706e958ae73a6dbe092843cc181853b11049b762e00dd7772fec730e2670a76339cfb5f570f9d0531592adc6b0774b100ae5eb067be5c310d490e2f59896a9205853b8e7d530120ccd636b6fa597af401cc4b6b3cda812278b2bc68f8cccf68bb31fa9466d019f859364a279be98458cc7006dce5396e65bb515dc524cf620d67bb20dc07098966ffa4ac640c2710bd18b22393a4b03a010d7beddd2af9fcb3cc90779562a095704732d6485c459330b01cda164b8426c167cc806157bb679502ac53165b97931e525a73dbaa321e0c627a859c3549fee88bfe26072beb7813d48442d2cb7f9f28531a84895c000845017f10c1d0438088b710b3f9b2d2b382d12d101ab78b22f00a978776be4d81b663a82105c5040116706b772cf569246dc75fcda5d55e88cb8c8cead79051b638c7ad61a39319468ab2743abaf4514b2f53830aee14daff31a63ecae55a00ab162c60c967fb687ac7287bf512850c6122f7a80ac07e18d8ea86abd452561927aa6dc39e5d7483ae02cb475b04faa8b0e95c1ea1279eb6431177407da024b24b124ed3061c8a7a6bad5aa451a0037013ff5f057bc9455621130e8a3c9610b49cc5ca1660143b6368fd2725b8d321b45251f697cb4c18b88d1521de9f37dfb688eac255288e474b2997756a2285968a060422d697442e73acfc1a324c5418725f335f5b00a03d39133d8c82697469a057b62362e1534ababf057aa78299bf942052b2525c92dd84459536ab8598440f0cc62f7e3bdc7d79ba8bc8b8e977480d1961c73618200cd1fd3bcc046126d851d16a1943c9c3f3cac6a283b1247c42199f1159f9a1062799f40580f5034649ce66b396696d90c7f4ab3bf8e3c8610408d60e51a069113484426c0f6648c96629698a1dd8b62af059e7885c51aab9a9cc0b6ab5835886974f12113e5c3373c66ad11a5c6640c93b1eb641c7c286ff1c0f84239b84c1dda6cbc1ea162aaac43706a4d8a51056b812f85c74df307baab2976120ca826f0999d354622764d82ab0b2953a354680a50fc28560059969479031c078eb635e9e257c4cca9c9b406dc470f8b9329026745732c364bc2c72e0915f3ab32a958ccf8e52bf9212afc9b1bd317eef54f6e882af31c8fc0f50878c3857117c15a911f302a0ba7d0106551690ce0c13150e3fe4bf4488a12716ae41ba97a5a19c5f79aef958fdc5e2bb2dca81e3f5f748d23c9d356a2209f6b2d60247b2e45c9808de497f64f124643
|
||||
|
||||
# Official test vector 67, seed: "074ab1a37ba5a0403d8f68d26fb787bc2c90f5ef88f2a6d286c3e6b168abd85d393d8225618608b8eeb301d26af53bc0"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 334382d39164d1989696a2ff77b25a28af8bead9883b5365eb6fcca7c1781cc9aba5068af837be962f439f233593d193ce5e08f7d66efb3389885927b89d2523
|
||||
EncodedPublicKey = 604acb75b09750b442c9c76e65553cd9f8aa24a664f64530a1c54cf067cdfd0719579cb030025b8182502bd30029a9c0610992698675fc9899b5dc9aa4e8bfc5dbb61bb6a25c08180c8b0bfbf66a9c3bc5447a117d6a057f33cd5904014e5c07791b9df8372dedacad233c889d2b875b66bf5deaaafc2027c0ca3718d1800f660b89c8b689f39685117eb91c0f3cf30772127ed3acafabf5c91826577e4acdaf149e4b50ad044608cd1600c803b821dc1f7e9733cb9596125a77fd7090e3f093776004b907ac81727a6a1503af350c7b4551c79c2618cc59be95b7d07c85751b8942632ed284cef6d642ef13b0aefa4c86fa5b32c6510dba620a109ebff8c657b19532232dadab7dd9fa26c79a778e023b412c13a2e131f782ce4325423c5b4f84d8aedd694fbf786025516cf1a676feb0a49ad89e9b56266f7225de68bb7afc64a6219c0e965433da332caa5e2490c5745bbfb7a3b309f66ba40a45729b86e44924f494c77bab0c012b5a17466956ab689c78ca41269c1bc4463afa2b4d480773b6abfdaa6cc95570cea63a9c17bbd4c684f237556adc37e6a54bf6b358d313088071a6bc846268a196bef82f0c3438d2ca519a765a02a2c7578a59c0479bff5843cf88081778c53d5714859681777bca42918098e0095db16f847544ebf22d10b2c9df64959026b7b2e329b32a3939b6b8a921a672ca5fd57ba8725911c3f8c21af06c645280772413df75bb0e1685f078071bc8cbf58c88ed2629a23a3bf5e60d1842530fd4768db7a112087dae952f82fc58c4bb025044b2927537d9354447135ccd3329303a3b7aa60c2423ba40974144f583bb25311848109a7744a4d3724d6762ad0c749400598f26c43b4b49992213939c0a15a65aa3852c65682afb4c0bb309aea136790fdc8d6f7758ad313fa132b2b36370b7d03db6b8b492cc2117667f3ef21594f4a0a8e467214631b00005a317947509ccb61bbc22937fd6c25a79101b7eb62e5788ce035264ab41c9b956b248f9052e3709778a8560861c0f45b01c278eeb24c3851b71d1f9bf12e02700a3516a461bb7123e75e72730158653ad2af9f7ad96817d7e4b1f71e5780d7aef36fd67b0294e1b6a83b5ae5090c5
|
||||
EncodedPrivateKey = efc17af08716d084656d021487e3a79181b71f936665f718a2518aefca124008354492045483944f3041ada97dbb3aa1d9e0201af292893001a52bc10396589ce8bc65a010b248145622a8aa0b8453d6634784c997f49019969e45c6972f814ec9224e64c7465dd8993a0343c3b8344acc10d453168d980f2f138bffdaa087303cde043010150dc0086d40c698691031e9b4360663a1d3c12709f8083be531fb348269797656874183a31b9c6a805504a9aa0b1b9e782c1711cd881282b41a0e6347a36d8aaf28f513bed622dcc152904723985aa14d123f509c41fbf04e0d7021d3396bc466435902633bdb8844eb7d59ec436219178809b1d7503d337b1c5eb4927db07e8f5996f74622434ba965c379e90a352e070e7cc655b2a38d517b628396b3dfd01957084441e3ccbb72b222063a90a3b677a648a8b55cab7205ed4854f6d762b3e4360be02798f192fc260064e5ba764736410464ca73bb62e88f611b65223165fa6a61ff562681810220d611be5c317dfc0c7e2621f0479c14142b6a0aba94f9bee5e2ae87115e26273d4891cb2e2c44995570186a34cea0045607463783c44487c672c7ad894325df4ab5fb9879cd60abc7bb45a9e8c7992a61f99c209191b510c60bcdb1936a070f341024354a8496ea1615d4a95b933bf8b9ce8d2b90df164d5ce068904a84c250a098d060d395032ab9b9ada532f7e540d2e39bdbd4a473d35d6efa0ca9956ad9d18dd7a0cc8fa97ceacac5d2969f210966f41119e3336579751ae17237792a558dd5c9c0caadebbbbd4b18520db0bd88808815470cae35b721e238e05352c078b4f85c38318ab820dc02256b3287f169abc2cce2664434a0344bc616d7903f77284953b89a76dc4ef28154b0a3166c83ab60ebb18911b3b5d241af6c432b60b398748b19a25273614f109680f4e3572a40cf406b7fc3138ddfe682f2e2737e270e135c57e4f7b1ac3a7c3e70a8f2447010c6790c951e8269325ebb2bd99b0bc51b059d33aa035414554266ac832b4d56b76ca6845c57264273c0dc13cb72b78752bc82467b874f4b956d2c51248a242c32c0604acb75b09750b442c9c76e65553cd9f8aa24a664f64530a1c54cf067cdfd0719579cb030025b8182502bd30029a9c0610992698675fc9899b5dc9aa4e8bfc5dbb61bb6a25c08180c8b0bfbf66a9c3bc5447a117d6a057f33cd5904014e5c07791b9df8372dedacad233c889d2b875b66bf5deaaafc2027c0ca3718d1800f660b89c8b689f39685117eb91c0f3cf30772127ed3acafabf5c91826577e4acdaf149e4b50ad044608cd1600c803b821dc1f7e9733cb9596125a77fd7090e3f093776004b907ac81727a6a1503af350c7b4551c79c2618cc59be95b7d07c85751b8942632ed284cef6d642ef13b0aefa4c86fa5b32c6510dba620a109ebff8c657b19532232dadab7dd9fa26c79a778e023b412c13a2e131f782ce4325423c5b4f84d8aedd694fbf786025516cf1a676feb0a49ad89e9b56266f7225de68bb7afc64a6219c0e965433da332caa5e2490c5745bbfb7a3b309f66ba40a45729b86e44924f494c77bab0c012b5a17466956ab689c78ca41269c1bc4463afa2b4d480773b6abfdaa6cc95570cea63a9c17bbd4c684f237556adc37e6a54bf6b358d313088071a6bc846268a196bef82f0c3438d2ca519a765a02a2c7578a59c0479bff5843cf88081778c53d5714859681777bca42918098e0095db16f847544ebf22d10b2c9df64959026b7b2e329b32a3939b6b8a921a672ca5fd57ba8725911c3f8c21af06c645280772413df75bb0e1685f078071bc8cbf58c88ed2629a23a3bf5e60d1842530fd4768db7a112087dae952f82fc58c4bb025044b2927537d9354447135ccd3329303a3b7aa60c2423ba40974144f583bb25311848109a7744a4d3724d6762ad0c749400598f26c43b4b49992213939c0a15a65aa3852c65682afb4c0bb309aea136790fdc8d6f7758ad313fa132b2b36370b7d03db6b8b492cc2117667f3ef21594f4a0a8e467214631b00005a317947509ccb61bbc22937fd6c25a79101b7eb62e5788ce035264ab41c9b956b248f9052e3709778a8560861c0f45b01c278eeb24c3851b71d1f9bf12e02700a3516a461bb7123e75e72730158653ad2af9f7ad96817d7e4b1f71e5780d7aef36fd67b0294e1b6a83b5ae5090c57b4290aac9f45f161c01c9937d8c80d0c046af66529ef85784291b00ed72c553aba5068af837be962f439f233593d193ce5e08f7d66efb3389885927b89d2523
|
||||
|
||||
# Official test vector 68, seed: "cc0c86cc0abf86fa21899be1953913c00e7c46e6b5f730c4e88b3c034012763981d7f14459d3081638080378348856ea"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 6995143e8eb8a6e93840f76eec844f67d2b5f75b1839a5040337e61f9806764a0f4dff8e56f68440836a072412a30d851ace2c7c6f02d60e7a8420001a63e6c6
|
||||
EncodedPublicKey = 02f5493a911e7abc0f5b87be52d75bb3cc8c1fc13af0c608b0c8234eb798496a39eebb80deb80a0e2404ec3519c3caae5c81c132acc6b3162a78f115f7fa6a118c8359c6c0ce6208b72a74e74809100524fc3b25a338a1d934371bbca1b8f8ba22e5aa32aa7c0470a518267d88b9c9e557cd10da1d5a5939670050aa1c870b05a123c1425e4999af402c3ce06b13e55216984d2de35379eb0f1603b05d18b4f5978547607175d2a01f9c0908d86503bc75d2c02885181b36e92498095e86a88f67196290fa51c9a6c5fe3b3121158dc8c202fdd2b0a6ea0e602556292a978bb04b3bcaacf6d86213fa98c2d9be06c79472c96028b9184c5426e4a54ae8e71303d36991528f4ebb3e35984c1342bf0b7739d0455fe10496943b59ef2331cae8be3ea8ad17cc9c9dc88189f33a1796b743a6c0d009cb78ab6bddf024b47b24aaba2395972898c87248ac5ca11a4c03915e18d15317c2bad3f47697434b0116b412f7c47812553de574bf8b1fe5bc485702a0cf1b0e59619f4ea2a0e9251a046baa3f450cb532a76dc85d0391b29ac7036d016954c5aa38285a7b1841160a9b1af5b4c22b2a0c217c6d99889b99942f2a6d8d9c04d49c3859162db7544922f32c6e186dff3b32ba28a60afb1aa9859277c30667aa80bfe826558ba3cee5270c72a385a910f977be67e1358642ca2bc9bac933a33e76c27be076e4d5c2a97351a7d053ddf788dbe4996643160e87b5d8b884f7b3b905b1bc0281c2baa3cfb6eb3213f9134ee957e8577e0efa9266e3521103624c26c3b2aa763fdb23e7a2b535d5ad7ce3595e73238ef3479262c3f70a33ce770434d46f4365af9b02c183b03a0d0643b0615615447bdcea16dc01946df757616487f1445746731ce8923a1eeb37d7bacf5fb036f1cb5bd794c025d9292c01aa47f35a933215d91aaf59a2c7ab2b775fc048ee934a78834183956f0a9cafd486029ee55ae1e7589e963ed9342f11d28b57066dd7f18447eb63c1a6c03768b05118316b496fc44c1764c38b9713619c188ed55b11534ab4c0e0a2629158a3a376b3e7708eec320dc10a805a7680676cb1317da56db511495f5ff467efee9efbb9cb5bf0039a7197081c39d526d174fb
|
||||
EncodedPrivateKey = b5d349dbc14b381396ef112fd99c5f5426c93c8588547441e16b8f4b4bc6c7bc1395c60d15376e1c918f5f226f00699c14966cc0c5a404673e2a5b4a7ec4a2e8a3682e56b6569689445154bf34cead222c87576798983802e4560d583a1016cf92c1bfcc14195e164e378965b20cbc1a0cbadfa8c297e4af5d62b1d8549d276a10ae010478557be69a4c3d07aaf8d13dc36655507131cdfc8555b0c80ce32cb2ec44bc51c5aa636db2917e73c61c68974f40943303c04bab1722e473cf0c36abf63c5136cc89567c7594327da62a02e5324e8d7b1ff2098d39c959ad87a15848b526c81c8ca907d1c9284d4395290bc1b98a5d16ca5dcf75b0cdd1675d51b040f6b5ce5a8e6ed607c3e0095cc106200b31dbaa88eca52a6af260c4d8787cd78d0a4339e8f7538927c625004cef6b2788a33f8cdbc88a9b5e0ce32a4fc9aae129b72bc88272c2677fc2bf9284bce7589befb24d94312feed1aa6a798da454b97c39b48fb9236c7cc176ab45630803292117396644dcdac85ad0c33e3880d69282ed592fffe954d1cb2b7710120c896fcdfb6f4a1861395a4a0373c59649a958e28d0ce86cb61c5bc26574b642309d327e30e9ceede752fc06b651e257e4ab84c9598d49e14a58752ebb93a50cf2b0ac411ef9004868ca2633e7c66276033dc38b6d65a1a25752a2fac09af2ce60b0bc55989db2a392e6156a502c0fe20bb287a34cc4459bcf72c9e27840d83934ddb890f5c49f97db9a3c4034f97c05a91627d1a4a7816b0262f9a79c8776f0f10b327b676163c131a966436750bc994701468c5039a50d789a4495957bf2a07c71ab5c0829ff0c3da3e8b5af799fbc188ee34979843a822842ce75c8289f544343d944df152e55a92dbc81a2b9183044675d3e211087e1367c29c17103cf846a2eb6632b66f5364ba2367425932ee11dfe728e38868dedc68ce076833c72399e592a0020421aebc3ca05355cc50b63e5a464b1735041904cdb754b17beb135581dd89102184d69b76cfeb086e09cc526c61cee14118a3846387970b5a58158b9391eab51cec1843ff26241368b13633aca94cb02f5493a911e7abc0f5b87be52d75bb3cc8c1fc13af0c608b0c8234eb798496a39eebb80deb80a0e2404ec3519c3caae5c81c132acc6b3162a78f115f7fa6a118c8359c6c0ce6208b72a74e74809100524fc3b25a338a1d934371bbca1b8f8ba22e5aa32aa7c0470a518267d88b9c9e557cd10da1d5a5939670050aa1c870b05a123c1425e4999af402c3ce06b13e55216984d2de35379eb0f1603b05d18b4f5978547607175d2a01f9c0908d86503bc75d2c02885181b36e92498095e86a88f67196290fa51c9a6c5fe3b3121158dc8c202fdd2b0a6ea0e602556292a978bb04b3bcaacf6d86213fa98c2d9be06c79472c96028b9184c5426e4a54ae8e71303d36991528f4ebb3e35984c1342bf0b7739d0455fe10496943b59ef2331cae8be3ea8ad17cc9c9dc88189f33a1796b743a6c0d009cb78ab6bddf024b47b24aaba2395972898c87248ac5ca11a4c03915e18d15317c2bad3f47697434b0116b412f7c47812553de574bf8b1fe5bc485702a0cf1b0e59619f4ea2a0e9251a046baa3f450cb532a76dc85d0391b29ac7036d016954c5aa38285a7b1841160a9b1af5b4c22b2a0c217c6d99889b99942f2a6d8d9c04d49c3859162db7544922f32c6e186dff3b32ba28a60afb1aa9859277c30667aa80bfe826558ba3cee5270c72a385a910f977be67e1358642ca2bc9bac933a33e76c27be076e4d5c2a97351a7d053ddf788dbe4996643160e87b5d8b884f7b3b905b1bc0281c2baa3cfb6eb3213f9134ee957e8577e0efa9266e3521103624c26c3b2aa763fdb23e7a2b535d5ad7ce3595e73238ef3479262c3f70a33ce770434d46f4365af9b02c183b03a0d0643b0615615447bdcea16dc01946df757616487f1445746731ce8923a1eeb37d7bacf5fb036f1cb5bd794c025d9292c01aa47f35a933215d91aaf59a2c7ab2b775fc048ee934a78834183956f0a9cafd486029ee55ae1e7589e963ed9342f11d28b57066dd7f18447eb63c1a6c03768b05118316b496fc44c1764c38b9713619c188ed55b11534ab4c0e0a2629158a3a376b3e7708eec320dc10a805a7680676cb1317da56db511495f5ff467efee9efbb9cb5bf0039a7197081c39d526d174fb9f746fa2db59882bf5fce5068668fd76eb4104a839e0476fb6e74147c990dbe00f4dff8e56f68440836a072412a30d851ace2c7c6f02d60e7a8420001a63e6c6
|
||||
|
||||
# Official test vector 69, seed: "6d5a7cc326ecf3983c4e7683f45263a37f692f3bcd2d920e1fd9584350119e74f9a3f905f70d3e20318c1413de2a0dea"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 995eff7e0d195c6d0533f3dc194d47e60f9ad14696144cde694d60a95f3e96b4b28f7e7a15a005f92400ce33db073d49b53871594a88fc45e0f94207b5f0f2dc
|
||||
EncodedPublicKey = 21c436a4b73ea3d2632487498847497345478529b6d04c12b4e35fd67639ebdcb37457cce319638c98c9cfd88af3a918a68380f1ca458ec212437674e05c59640b87dc618bdc1a7d4329614c444627ab4e7941772ad14699135774840e251c14f74a4042932a89178434bb3380e7143d381b2bf522cd64a16f5a1ea207a749db0f2a2579396603e4bbacc1e8100514267b98906d7c4e43706cbf3bcd08b10190d8c268bb4d6428576d784f824b426d303b80ebc6bf565009278946130539239472780f5893429ef9255be512e9160fe4d202cbd7cb08889f49cb44454a7dd5c5749580091f3628825318536271fd246c6c5b1bd140c8f0b25409f7acfa50cc09b21608928547b99c0a410a850638544bc7173acc004543fd85c5dc5c64f8ca995759873b1abb3c0019118a9a5dd7427be72bf0c7711d929486761e70b88fd11caac2c646b5bc2fe2ca015c140060085da974958d471b8661175c343c4271786516c9b7844dacc76190a436f372b783287853ec3ea23277f7ba7d71359f6df6a527a7b981c6cead7c7fb4c22ccb66409160c57f183dca297f406109550556a63175ba4ab595e3aaa6838ceff0430ae475860827e39b0d17b64b2aa087567923d6f4a915d516bdebc470716d95451f222b845ff1019dca88cc674a5dc09a95992cf05a8db010549e461a74b9a57a4ac2320b56a941a169d214913ba8acb70025921702042e87e0b9513a727a772a6231870aa89bddb71dcc740ede5c0ccf00b7bbfc9194744176292f91914994117fcc97804c14caa392562d543bff11c6816960eff8929dc25b4777503bfa57efe9b01b41263afc2f3145760b1a6431b70563b1595c5710f09b864f12327791687460a2038babc7569210728084ea6f9b46084ea23d0013c7fdd07a4c482205103b4bd1382b66c5111a5cd5560d32f3a438718e9cb363419449ebd877d7424ef75c513d09946ac7c215360f6fe50e027677bcf6a7d1e62bccea0068489161f3001b1444cb621a8bcc13d2252238d7596e493de85946a73a9ca05aa32ca2af76808248882057788ef9fc262ac4a4b65670fe2baa59d8367d10c893376ed0bbb44abebe123b4172ab6477c7ef242952582b221079
|
||||
EncodedPrivateKey = 4fd118878254fbcc8966329e80b3af778956f5a78057201685bca13a70a8676388445b9144caa521dcb043bc6fd50664721355511c275b33b49fe02fb3d967b9ca9264e34dc33b267db325244982dda4486d89076aa626e023703700ae439b8ce9bac7422829c3d6902db5601cc11b7f3c4b8c5caba42b2bd34514046a269af84f7d3c1f8f07b5eb88b9f966165698b146d108cd495a90dcc4fcc15927658bfaa2790eb85127202b7d3a2be5a741c53036e8b7170cc72ac38714a465b2ecc78b0751358b604238568a0d26cff8d65309d84eeeea2a234170fd847a8196ca0be7683435a5d53bb1419416bf6371eaa12d423a848f7c1c913b4f68562c3fa74ff043c6ebb8545c43b01cd31d5d05336fd575018a09a268677a693700012377709e261b80194b71bb654f781b978a8052232112ff14add73407a072c8f866921452840ef8c4c38cb9e9b715c9a5a36ff3c9d01766d5ba0866861660812077994fcc728b320012330b9d4e92a1dfd0cd12e76ce0715dcb7c1f79c88af18018c584a2853956a3862d2fe642f6a2c1bb6045e98474419cb260fc066c008660285c79c27f011441cfa867c7097ae3d87a730913fffa626e75cbf637c86cf98ff0012689a9887b63114fe9cf0a56094809c89eaa1e292a1bae5a686d4c0a5ef79123a4265658058091b8d34ab584a5aa00889ee136c29dda7814825546a166639c1a622ca5c806b01c640e7a8924a1ec3ea4a9750634c93dbb41fa4405669abbb5c1c146624d9a4500b73a97028c51d2613ef6c88349848f886631d79785ae27cadda8065a8a820eb7cf088030f0291d9a186a50b27dd10915d5d10942365f90d710a1d0314f536f965c9db64c5d1da38a1ad1bf829a4388d91ce6512244c733d86b884f694b4a21ab86106504683ffd4c14e96394ef8b2b13e84d0123aa873ac81c55464e6a3fe6011530fc13ebd67b21306db1273a79d7622026c505b2b0d780c498c1b318db0f6073316ca30d8f08148f72ab845aa1b316b764cb9a12a58e3bdc5765585906b8156e2a322c3b7d1130cf4ebb86b4c4ab98a151b3e8901a77b75c0c0321c436a4b73ea3d2632487498847497345478529b6d04c12b4e35fd67639ebdcb37457cce319638c98c9cfd88af3a918a68380f1ca458ec212437674e05c59640b87dc618bdc1a7d4329614c444627ab4e7941772ad14699135774840e251c14f74a4042932a89178434bb3380e7143d381b2bf522cd64a16f5a1ea207a749db0f2a2579396603e4bbacc1e8100514267b98906d7c4e43706cbf3bcd08b10190d8c268bb4d6428576d784f824b426d303b80ebc6bf565009278946130539239472780f5893429ef9255be512e9160fe4d202cbd7cb08889f49cb44454a7dd5c5749580091f3628825318536271fd246c6c5b1bd140c8f0b25409f7acfa50cc09b21608928547b99c0a410a850638544bc7173acc004543fd85c5dc5c64f8ca995759873b1abb3c0019118a9a5dd7427be72bf0c7711d929486761e70b88fd11caac2c646b5bc2fe2ca015c140060085da974958d471b8661175c343c4271786516c9b7844dacc76190a436f372b783287853ec3ea23277f7ba7d71359f6df6a527a7b981c6cead7c7fb4c22ccb66409160c57f183dca297f406109550556a63175ba4ab595e3aaa6838ceff0430ae475860827e39b0d17b64b2aa087567923d6f4a915d516bdebc470716d95451f222b845ff1019dca88cc674a5dc09a95992cf05a8db010549e461a74b9a57a4ac2320b56a941a169d214913ba8acb70025921702042e87e0b9513a727a772a6231870aa89bddb71dcc740ede5c0ccf00b7bbfc9194744176292f91914994117fcc97804c14caa392562d543bff11c6816960eff8929dc25b4777503bfa57efe9b01b41263afc2f3145760b1a6431b70563b1595c5710f09b864f12327791687460a2038babc7569210728084ea6f9b46084ea23d0013c7fdd07a4c482205103b4bd1382b66c5111a5cd5560d32f3a438718e9cb363419449ebd877d7424ef75c513d09946ac7c215360f6fe50e027677bcf6a7d1e62bccea0068489161f3001b1444cb621a8bcc13d2252238d7596e493de85946a73a9ca05aa32ca2af76808248882057788ef9fc262ac4a4b65670fe2baa59d8367d10c893376ed0bbb44abebe123b4172ab6477c7ef242952582b221079ca424f4dff49b1fdd2daed31b550335e1b51ad805aacbd08110e982cfa39cfbeb28f7e7a15a005f92400ce33db073d49b53871594a88fc45e0f94207b5f0f2dc
|
||||
|
||||
# Official test vector 70, seed: "f68fc0314dea88f66afaa76e6c9b6804b13d4876924410d1f526fac59a62e26c560b125b1d0f8b461f1fc2e351effb4f"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 3e809ec8dd0fec0d911a4e3fac20f70fbb128c5de94dc7184ca7310ae9157a98d8128601c28b1def8d393a0db283229f7c7383152a814e7cefe8ef9d9768c473
|
||||
EncodedPublicKey = 9cf292506b72dc318be69774cdf58c9199bc07973f37187e0a1474631a5a99646b514592a71923e723af23737e3de001c0715ede8c1be7cc537c24958d180e00516757ec8022f792798c6aac65856088641e98b699769915b10c0a34bec74bb334f7b21c58095e6c991dea27f546c685553f672badef22ac5974129f0c2b86215f12f520ea035e438731fce9acd255c1fa49c65e0429c1e7cc3d65684e5b4e75bc1abdcc69eb4328b1a211339687cdab221c6263d2c00cf5d6868e1a6c5994ac45a3682c08bc7321984eb7261d7127fe255c8738882436c32ad1acadf6bd28acb84433816e5419b524c6df63ce51b225b91695a809520d553ef6123539ba79664135940819e4e1149c81b5372a31be15aee579061e5ac10310bc918225afb4452273002e63af3758358eb9000514a61527ac27e64a9dac8a5b136d00b85884848b269081709732e1c6424ed1b0febba7db917af32216c116030eeb5bb21946c2bc19aa7cae6c001ad490c0cedb3c11e4057de388f112729fb79f71ba6b21a39e4f52cdec6a2e4608c786579e655cb5b0209fe25ba1e257cefa025ee821a11c3c3ca2937eb1d268feb4b900f2aff1d82f57b6cdb2fc74ca69741a71c36d368f56226048984b2ae19817656cb9ebc4e6928bfb840c9be83b7d198604567534ba079ddb2b6e7c3b7fba1b462a8d074b3cb399322632bf712baf30db28b7b50d6a047aee7b54b4749b07e97ef9e742e2502994454b9221a61429800606bd3855c784a822280a295d20789eb0c62d166a07c82b47ab8591216bd54ac080e7620d629b7e1114a95899ada2b8f56c91c1938178a6ba592c22fc5055cfbb41e1365354d5678b83a10f4a4473fc83301b41b5f40f461a638977674e4c1c43c6b62cb6420a7a3851640ece488cc154230031376f05798edc7bd31060635275be30b3124c7e5796c1b102b116e60229983920a4a09d20b1c8b52a011a7b39f15bb63a0b54b285f518c5556026c7d9add0917acc9560672577b996c4ca87c1b5a54d810261451634e8dc1d2639caca27ab57d83d7f2251dd391c51242594182a472231225722d82b6c3f735dc4b6cf1043c6cb130c8288fb0ceb08985620c6be85178cdfe674
|
||||
EncodedPrivateKey = e9b19f9626c6e824c1b1128c489a38a89ccf074c767f87b3191618200188eb768c79dca6c156c7a456c6cc9a107c3012de5135ec66931b5140da19221ba1c8d4a0161109cb052509afd4a4ece09607065228697c7f940cf18a3d30185e7072016c2a573614343dc64ee04a395d0cc509450002e8823fdb1a5232cebbd4191a1c8c050380b2b65dfb28470888a6b0a12deeb56677a948089cb951fb8d5a9b7a427970871b64f9f041ebb38b169c5d4e16247fa9bcfaf7613daa831e5b6eb8b04eb000328e1304a665580217b58bbb5850849916fb662a79cd27524755b1af386b7ac9a0cd4024cf5bc11516102db68c1b1db45cc0e42a8f21257a771c83d33f11c82cbf6409504456ea858c0511582fe1beb144a97e50ca96278882b05a39541b15a184ef884ae83ac41ae89de0a6514d793f549a5bef9c8caf49a78900ad38f11ad0e3b2f08a843b46720c049fdffa4eb7a144c9dbc97dbcbf23162e8f4953e5d9b51bdb35483c6903f39c64703377c1528a714003aabfd4d4094a98b6c53518692394ea3482baa1c19830cb154ccd4b812bef2c05dc554429956edf79a8f0c00dfd75b2b11a14fa514a31849428521984ca28e34169ded50b101b9dea869eac034a031a56748a1e58b44d693b7bc6803d53276827a9c7a6c108a6c30ce6a233a60170707865828aa3c0a069e81ca2ff9b699c1737e784bc79cb07209b27de44580ec064197a026ee49a22e22df3802eed749deb1392da051a9cf27476f56ad08a069537aed6c31533d5bdc5da2f7fd169301a5b90e34980a5c7cce280f986af8c31affcf460f40a3e24b4ceb0192917c15698bb7f9b143130f1c462854c6170ce99f37d7d63aaa3d3bc73c36f9e0c96d7f929cd1766cc2c3e4f583fe671a2b034a4a1c8468ae42ae3320fe6a96102862ad7dbcb79acc6af2c26f9652b0e18c110ac25f2d01f28b2060bbb2c7cc9a9c817ccc9d2315f442cc76c9c1d3431e511c0fd344948c505e2a74ec0a246620625e48143d689207a49b23177a81114786ef9adc9a056d8a5afaa182666900d9bda2385d05b967351a15a88a61b2b946b579cf292506b72dc318be69774cdf58c9199bc07973f37187e0a1474631a5a99646b514592a71923e723af23737e3de001c0715ede8c1be7cc537c24958d180e00516757ec8022f792798c6aac65856088641e98b699769915b10c0a34bec74bb334f7b21c58095e6c991dea27f546c685553f672badef22ac5974129f0c2b86215f12f520ea035e438731fce9acd255c1fa49c65e0429c1e7cc3d65684e5b4e75bc1abdcc69eb4328b1a211339687cdab221c6263d2c00cf5d6868e1a6c5994ac45a3682c08bc7321984eb7261d7127fe255c8738882436c32ad1acadf6bd28acb84433816e5419b524c6df63ce51b225b91695a809520d553ef6123539ba79664135940819e4e1149c81b5372a31be15aee579061e5ac10310bc918225afb4452273002e63af3758358eb9000514a61527ac27e64a9dac8a5b136d00b85884848b269081709732e1c6424ed1b0febba7db917af32216c116030eeb5bb21946c2bc19aa7cae6c001ad490c0cedb3c11e4057de388f112729fb79f71ba6b21a39e4f52cdec6a2e4608c786579e655cb5b0209fe25ba1e257cefa025ee821a11c3c3ca2937eb1d268feb4b900f2aff1d82f57b6cdb2fc74ca69741a71c36d368f56226048984b2ae19817656cb9ebc4e6928bfb840c9be83b7d198604567534ba079ddb2b6e7c3b7fba1b462a8d074b3cb399322632bf712baf30db28b7b50d6a047aee7b54b4749b07e97ef9e742e2502994454b9221a61429800606bd3855c784a822280a295d20789eb0c62d166a07c82b47ab8591216bd54ac080e7620d629b7e1114a95899ada2b8f56c91c1938178a6ba592c22fc5055cfbb41e1365354d5678b83a10f4a4473fc83301b41b5f40f461a638977674e4c1c43c6b62cb6420a7a3851640ece488cc154230031376f05798edc7bd31060635275be30b3124c7e5796c1b102b116e60229983920a4a09d20b1c8b52a011a7b39f15bb63a0b54b285f518c5556026c7d9add0917acc9560672577b996c4ca87c1b5a54d810261451634e8dc1d2639caca27ab57d83d7f2251dd391c51242594182a472231225722d82b6c3f735dc4b6cf1043c6cb130c8288fb0ceb08985620c6be85178cdfe6743bef1bb7af08e62ae7b2022542b1d6e61555c6d4fc7129c36fed2a31634b229cd8128601c28b1def8d393a0db283229f7c7383152a814e7cefe8ef9d9768c473
|
||||
|
||||
# Official test vector 71, seed: "a229218b0d51f58d915df549901548fb0722f352c7470900e7e4d8399205764a319bbddbd06c00e8c5932722ee5a404d"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = dbf1c465fff3d9f783bd9ee61a573715e45691147b8904439b5ffaa64f94ff7bb6d75eac6c76ced1b0a025b40a55440712ad8424672e761e9bc400d63812006f
|
||||
EncodedPublicKey = 1ca101e24c7db71603e421c9b76852e8353c2c31a00b37a11dc8b252f014570a023202840e8b06d6465045bc7334e3babb75abfa2ab7a7c484bd33525bebc027a6796e1719227731d69698f7c5cb68acc505107d369c2763e79932bb454559863e682ef65668358a8c31148915d15905caa5cac892a97c91af4b2313c027f8c53117bc4504102d9d9bc1b782198ffaaa495113a740b5fb473a26e56293a695f8765634331e4b61b58df596422a49c77364d213356ccc31e42a19f0a31535625a8a17238c273efc49513c308606c358144855bb062e0af2501d57a37cc0b225f07dd19a58c1681ac862b148c974a98b350a34cc9436996b753c944c56e0d7c26463cd9f84129a008085bb94efe956356bae2126c0048097f8217522052dd1975cc37277ff6567576662ac9017ad6b832050781b710991c60330fc242e99c790d21398e39f97aa3ffca9c763f040f43ab0f3d67ddb76a925f24d4c88c943aab4a9e3943c14c7b732137d207668327ad7e491de5a1fa1674d66346e40a1b20004ba5e042d0c119f1cfc7a4ce97ecd299949437a976c9e6e7c8f6a1bbe2a493be8100861982d30d843764c2be8088d281596024287744c2580e6610181899528a8dbd8481dc242a403947ae37e690aa8118a6b8be0cc8d7c9a1e231c93a26e35152d95d25a977ba391d37e36fa70a9bb1780e0af16a436842b8fe72bcedeb03440a6ccf8e072bec1725baa1e61e9857f706dbf89aef6675a3f7ca24b93b65f5a23409474855a0bf750c77ff28ec5dacd40805b398701ce55962b85826a9284e61662ea4c5172e10a79537bb77517bbe5b9c7591a6868032a16512ea77812d8131eba6e9a671728807a0672b347e2c673c22607b2343e21119de9496e238cf7d33fb0dbc860eb9967bca7b07c760753c84916c2fb7cbd549c2aa758b492cc3e68b0477500a86e971584461cf951c298f861be1caf7021607bc033b0d7393065c2dbbabf2a155ec66c105e16b532d0643f1b9b4b702721844860a0cfbb0a9f223485a0aa885fc51c9ca41ea052be4e8328a87b2162a7ceb3b25ae5797b0ceb4f5d468df1a49f7d279887a27a69a627d59803412a300127e761644bb60db23f60d9f6a5
|
||||
EncodedPrivateKey = b837511eac81be342ae912b31480c3e473391f255d7919bf137c492ddc2d3c83857de6761ac9cac64aa506612c0bb8b19f522f41b57326f10b40190b19825a5890bad01c2fd739827c8218a5e14d3373335c5a71fa7188d95a64fed45889bc2c0d98539973609b4c1e50f791e9f7c2ad579cc03a9a6675ba83a61ee4cb8214e72f05542479188f4b1182fc26ac35846e64b6545e27c46b78afd6db82a10421c0667b5de417a4c4b96f60a306769265d5973a553f47658458477a1133b1136866e472235d783149b12de0f3317b54c97454cebf675b7d6ca1ce06317df3a3c60bc30ce48e6ea5cfbb35b0c0351db5916a8851a520aa0a3d836111017cbf4095ede23c20e5aecd242c51b01d3737b73c8088011c2d89d3a136a3b652a5c469b3422c6bb371d49ef3d8257a41713d5c6d8837b1f4bb7977c29310b72b767ab89797797ed78c0bf925407458fa1c12490c4ea3c66269371205b9114e5b7840fb4ea86212f918074933978e09023839cb2c4746fde43ee3c4891947cb10ba8edd791f7140236af90746526302ca2350f21426fa21c2289096ec7071c01b19764330a31f5a14894b26ba6a420eaca5931cdcb766ba3442700e2a4a400f73977dab319d9980ec54481e63b9becc554fd91884b63c02f2b3c345aedc8c43f5d7c370a18937c7bd5e03c8c527269662694b1c52c2c059e3c82502335877b369b6201229b4c439c7039f9a01f2e300b0f02f34008431c2ccc5d488bfa12533c8ccc4e945dac9552425c3fa320d5181c0f6f561b8ac64b0c327958c94b6b39bab126c50454ad93b0e0a06b1614164c2778a82a392a230a0a9a151d3149e3f830362890e5fb0c589315db72233bd94a7e17aa2d51c0afceac3c364b7f386853ae1260574037e6046c9315a4944325f65938208301b351841508ff589aec0870315fb370649733baa968718193e62600a35554ea4306363bc852b7a4e462801385331730298a1cbf59c2ff3932c29b16faabc57a9150edaca7574079b9bc70d370b0bfa6b40a2cb3a37ba8052e220fdd527e3aaaaa7160aed008558064944a5398855921e70071ca101e24c7db71603e421c9b76852e8353c2c31a00b37a11dc8b252f014570a023202840e8b06d6465045bc7334e3babb75abfa2ab7a7c484bd33525bebc027a6796e1719227731d69698f7c5cb68acc505107d369c2763e79932bb454559863e682ef65668358a8c31148915d15905caa5cac892a97c91af4b2313c027f8c53117bc4504102d9d9bc1b782198ffaaa495113a740b5fb473a26e56293a695f8765634331e4b61b58df596422a49c77364d213356ccc31e42a19f0a31535625a8a17238c273efc49513c308606c358144855bb062e0af2501d57a37cc0b225f07dd19a58c1681ac862b148c974a98b350a34cc9436996b753c944c56e0d7c26463cd9f84129a008085bb94efe956356bae2126c0048097f8217522052dd1975cc37277ff6567576662ac9017ad6b832050781b710991c60330fc242e99c790d21398e39f97aa3ffca9c763f040f43ab0f3d67ddb76a925f24d4c88c943aab4a9e3943c14c7b732137d207668327ad7e491de5a1fa1674d66346e40a1b20004ba5e042d0c119f1cfc7a4ce97ecd299949437a976c9e6e7c8f6a1bbe2a493be8100861982d30d843764c2be8088d281596024287744c2580e6610181899528a8dbd8481dc242a403947ae37e690aa8118a6b8be0cc8d7c9a1e231c93a26e35152d95d25a977ba391d37e36fa70a9bb1780e0af16a436842b8fe72bcedeb03440a6ccf8e072bec1725baa1e61e9857f706dbf89aef6675a3f7ca24b93b65f5a23409474855a0bf750c77ff28ec5dacd40805b398701ce55962b85826a9284e61662ea4c5172e10a79537bb77517bbe5b9c7591a6868032a16512ea77812d8131eba6e9a671728807a0672b347e2c673c22607b2343e21119de9496e238cf7d33fb0dbc860eb9967bca7b07c760753c84916c2fb7cbd549c2aa758b492cc3e68b0477500a86e971584461cf951c298f861be1caf7021607bc033b0d7393065c2dbbabf2a155ec66c105e16b532d0643f1b9b4b702721844860a0cfbb0a9f223485a0aa885fc51c9ca41ea052be4e8328a87b2162a7ceb3b25ae5797b0ceb4f5d468df1a49f7d279887a27a69a627d59803412a300127e761644bb60db23f60d9f6a511e7ed6e44be95d574fc61b193a8c6f257063e1cc581535df4a91249f985bbd0b6d75eac6c76ced1b0a025b40a55440712ad8424672e761e9bc400d63812006f
|
||||
|
||||
# Official test vector 72, seed: "6960f21c7350dcf41b4770c551dc8692d8ba2c0b6e162c589166ff22e7a1ac0f94c2f48504a5f7eb0da094df427bc98a"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 1f7cfd2b70863154e8a69d1758532e86c20cfc763d67c758bd10a13b24e759b5273b38bddc18488024ec90e62a4110129a42a16d2a93c45439888e76008604c6
|
||||
EncodedPublicKey = eb8a266be6b520f2b0330153d1167fc3590c18899851b368c3f57432e94c0d08324b6c170c258db3c82061544a77a55c9d6919ea2b52b5ca57f7f0ba0f212080485d0e84361aba15b9d96880ca3d161730df119888a1909ff133edd5bb9edc3ca34b97a7a59f72174d36db6363d52c17d82d7091262dc4543e8474d101676e9935b415b85a624143e55b5e506da386107b0c755ca4736055388ab602d92a088b7c70a2339420554872434a6a9c4f42d3c73ddc28ee5ab3fbc0422d4b5cc701b75ba4176e94a881872d79a76bb4197229930b95aab555ac75b43111bcccc80b14311b466c4cca8fdc7cbd93d347e2526b0fa9256705946216006b07249ca0363524498abb063b51459853a9c7dca9b8b23467a721c54c4d7158c979d80bdb26879a543ea528636099c719565e2956b7c4894d1513511b358180b9459fc1190199b93fd43afa67c8a67037e43568e4b46b6d4638f3fc55dceba7035b891bb99838d8607e8ccd91795377c0822ab28fa1524559a6498dfb7fb52039fea1463880992082c6a087bffe25cd29f767a3f449727666f8cc87cea1a590347a33ca4bb992b946b6c0d43819c2e77210f1a1b7754627f75dda36c4f4b113d556c017c0ae99d8a7d7cc3956d58252bbcd4c590bc0c2be175513c4568672d62143607f88b7bfe32553bd021a64abb957953ec961718b069fbeb814839c52369c43f362c87e574576ab0edec1c227c51f77d7bbc8c19c0e091b238861ebb1cf0f951902d1c7c8a4cc4e8bc99fd37a65b6cccfb2692da34b5b490c60bbc4c1fac5be2a17577484743bb7e56c4fe8e2a243b1c0de1779d4611fb0d59752c2c84e3b9b23b19cfd704212870a0c626ced0b40c60c84002b81b46617824c8580b2223cf540be928577f92b83fc8455e43f67498dfe488c2e9c28e1f68ee55281ef7665674a03f83225a227c62597a92a0acb20dc7fff1a7913e31ef414ce4580b49a5c11c888876cc2445c50495202331156982af2c398f94e67d3208d176099fa5d6f008de3007e23c97175b0a38d733a8d2bb19fd6780327753204b05d91345d129a090c4df311b82e05949cb8ebbc13fcf87b35cffcbb21688c7b39e556f610e8c28730da9326d0
|
||||
EncodedPrivateKey = f2fb1736330b5c483b3adb8b6601040f2a13f98bb8b8322aebd7247a55a3e806c17ce5842735697ba7ac86e1c121c14368c36e39ca1262a31dcd9009fa691f8606319fa411363555004a442fb09e970746321a5d2262c9efe6345e7c9d54a7630e0a3bbb310896c8921d617cb6926192340cfffc45199b96fccb4a03319e3897a7eadc19a024cb6cac2943ac9c3712636f572a64e22ff3c127ee90494bd45ad2eba7a49395ae58a37ef743c1a09bf7452f9355b6f645911e778d9b9189eb4789ee702f756a0a130cb8f2237dc010871b4267f2f477fb6076eadc587aa962a2f93d2048c781145380b8225b71902ee48e60824409a0395bcb0f0694266afb14ced957b76bca12998332bb1a451386642c0744c85325a5cb7b7005d1150a67f7c89bd57456a60ff76b2aa92bb2c5db4cbe22a37ac70cd5b401b3097ff3687bd1057bd0367a678888a712667f28483368c63676c36052bfe7189f2eb1bbede232768b0e8a49ccf0e49440621dfd343ee1168e26a244b5663a01b220d326707fb72a306a84c258212b3c098e85b27d23bc8a5896ed60a9c193c8a0d849fc0b6546672b77d35d58751b9bb7a16ce7429727345e02cd90f978e9ec24801c95296477edc9c8437130e692953b32525ce5012626a2b245079a40526fe631aef6807e993aa8524c061890347b6ce6a4b56c4b9ffa1bcd68ea7b246a8d3f69332bfbb2c34ca528321023c1923c9888c1d02107d18c04639286c81aa4572f7b20b03ff4a758e3482ca79810465b1f04102a777d196aa929bb2d798050da28c4cff3555832bbe2b5c2fc0b3f5a458512ec25afa102fd7389914c0a3147c317884d3d0155f2c530d90c3eb3a065ac236504d72a76644bf5c670ed13483656411623091c42328844b198d0aa78b60551f28c7b1cc88cdb177725b8fd6cb819f86bd1d49f0734afb06786b16459c3402ec88b900bd03224a5350f3b62404255252725a0b4be2b42bbca734730734af8eb41ad7322bc7b68e9880ab9ca007a211114b0078774950dfc01b28301a72c65efa916749590591aa33a56b08b500a9945c90a1335596360eb8a266be6b520f2b0330153d1167fc3590c18899851b368c3f57432e94c0d08324b6c170c258db3c82061544a77a55c9d6919ea2b52b5ca57f7f0ba0f212080485d0e84361aba15b9d96880ca3d161730df119888a1909ff133edd5bb9edc3ca34b97a7a59f72174d36db6363d52c17d82d7091262dc4543e8474d101676e9935b415b85a624143e55b5e506da386107b0c755ca4736055388ab602d92a088b7c70a2339420554872434a6a9c4f42d3c73ddc28ee5ab3fbc0422d4b5cc701b75ba4176e94a881872d79a76bb4197229930b95aab555ac75b43111bcccc80b14311b466c4cca8fdc7cbd93d347e2526b0fa9256705946216006b07249ca0363524498abb063b51459853a9c7dca9b8b23467a721c54c4d7158c979d80bdb26879a543ea528636099c719565e2956b7c4894d1513511b358180b9459fc1190199b93fd43afa67c8a67037e43568e4b46b6d4638f3fc55dceba7035b891bb99838d8607e8ccd91795377c0822ab28fa1524559a6498dfb7fb52039fea1463880992082c6a087bffe25cd29f767a3f449727666f8cc87cea1a590347a33ca4bb992b946b6c0d43819c2e77210f1a1b7754627f75dda36c4f4b113d556c017c0ae99d8a7d7cc3956d58252bbcd4c590bc0c2be175513c4568672d62143607f88b7bfe32553bd021a64abb957953ec961718b069fbeb814839c52369c43f362c87e574576ab0edec1c227c51f77d7bbc8c19c0e091b238861ebb1cf0f951902d1c7c8a4cc4e8bc99fd37a65b6cccfb2692da34b5b490c60bbc4c1fac5be2a17577484743bb7e56c4fe8e2a243b1c0de1779d4611fb0d59752c2c84e3b9b23b19cfd704212870a0c626ced0b40c60c84002b81b46617824c8580b2223cf540be928577f92b83fc8455e43f67498dfe488c2e9c28e1f68ee55281ef7665674a03f83225a227c62597a92a0acb20dc7fff1a7913e31ef414ce4580b49a5c11c888876cc2445c50495202331156982af2c398f94e67d3208d176099fa5d6f008de3007e23c97175b0a38d733a8d2bb19fd6780327753204b05d91345d129a090c4df311b82e05949cb8ebbc13fcf87b35cffcbb21688c7b39e556f610e8c28730da9326d037161ec72128762f73e547d28165a02a931ac7319244888d46f10f15a1d9759d273b38bddc18488024ec90e62a4110129a42a16d2a93c45439888e76008604c6
|
||||
|
||||
# Official test vector 73, seed: "53df46012cad4a745b7a3c06e18ca95e0b839fd8161e3025749a0887549eb0ed6a44eeea08bd6060d6509dbf7e9dc864"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 3a19577908efd37697b8edc7fdaf47d1bd3ad01a1b77faf794bee5b9c3192a6fa3729672816f3eba84c9638a79676eeac0f22c8a48e0c5d50a26ff0844c66b99
|
||||
EncodedPublicKey = f494ae88863448d68c15e76dc7b526366248eef783c6f26a64eb400e0a02868806d3f029d0307b8bb736f80a2ae07454b1524441901b82689e65b11c68f18ac11030e8ca442a28807b97c8f3931eef38702a3359de5c3d07dc485871243796b3082b6cd1691515020c84bb504053017c344350694868eaaa507364e7970f7fc440e5c650e7cac0aaaa99e7019a2a5b48eb43c5d4ac093fb40acf66753e96b2dc04302f5bad32692bb9a253e6ebaca7a873a6fca903a897f5da0c3e668b1f8a66f40c0b7c7906f3a96b41f8a041374f50ea99aa90b6cdc20fc0b81aaf347b90477f1e886bc65b90915c8da2092905063d88fb5d1ba70f7ae23400570758098656f1b23f6741552b7735d20d6d30c1d784c0ec42290c8c932b8bc3a1a3699f2088fd42959d16ba35f25d674959d5f1710f706054248d0caa63cb22c413f939d297a95c987792ac5852926e86516302a187042a3546cc70510830e7daa7f9b062fbe914be007a1970278f4c1e7235ccf0e1c9fa9798525cab55c33847364f66378c6ffc279a513f6815bfe2abba3992ab43f0ba23211a50d4132788057c52aeebb5af690bb5cd05a6f6ea290f51a8a96c445c5573f473c2155c86b3619562f8190b370bbe709704d03e18325a205c9dc66579f16a36ee4237699992442b84c1c9bd6f16394978247ed8c9828a64859205391203ab284943caa9ded5ab2c924b4b1b68072a934a3169f8a0ad9028aa9315806505b6a3941150e4cbd40910697b1fa26666a0f2b3253878d0d591a2230ed50997a5ea6e1a799d5e28361529406abc52680a4ad1356352a1aa98027c2b950b97aa8ea8e5254d941f1c95a66bf688fa4b43ba6b83d7d55f99910595e35f087b42636993ba509292f1b920bc777ad5610fb06c91a81a9607c3bc7a49e4a38ce5c63c6fa09a30d5157820479a347339866ca72c7dbb2c97f6a38e7b1367587b47b9aa01674b9f75f3af088a74b03603d51731dac14ff7397f164c7179ec355eb80468a0c0de95ac5ee54f4b5247ae9b1d215bb82d45931df5c6eadb7575c76da0bb0d1623c1d577273dab40e1dc06a5d20052419bd23a8bb18e1f2f9917e5b3ce5b0539c692fcffca80cc33f26888b80ef6
|
||||
EncodedPrivateKey = 3e052d34a5a5b65469b5f261ec961a16a6665103c7fea865d0781958358c3ca1c3cd24617733c7d842cca6443432bc7ccbf258663a24fba05e85862db9c33797a2b5ea595e6db1ba805536de920e8e9b25d101980068a1ecb243da6b4b9b8c6db985cc815c71bf6220d49a72dae613614a822911b6c5e6a9c4c92f6a5c5c1d0b585ac31d13a7725c471c596c5eb0dc7876fc0736d85d70d6bb921bbe2ae9adb8e8616da16ec0cb877d4260c9c907bc3a5d2248a473796992e56edce940917196587970d0832a0b0aa67cc8367215443f80a083034e9bb70cc6b4c687c9a7c0416d5705617b9b0db5406567d2a162275d45a4625a10888c18044d1b76b9e516d9fc95b5916bd54c76cfbbb18c02066ff708e6804090ea319ec31c48377f34a710f9bc76c762a19a6537694494a94c5bc3274cd80408b106aa5a839b83229766a34ba3d57377b9016368825db2c528054650e07ad1a85b9a5731b0c809f5f683925ab0c9513c9a071ea7d72e18c9a4ded8a3e01c823bd6898fdab9151162e988cd02d7556f652ee0911380697b229caf063b780221a162a8b024314ddab811dbf567f62632d0cc994b33c4eec93bdc05a8e6c1ae11993f6f52a02c863c4ab7162a98cf73b9a7fc44bf4af30d1bfc65cedc953e4bb86e626b6fe16f91d775db84a8b9b670d7d25b64d6266f70355f5aa3d358776b610756ec160d4220c3d2bc711594e2013f62643715043b18653e32f5a604280601a84eb1e70b288a8714d6861cbb6b46f02a8d22abe011375a7841bb629edf922431526b1303630a380bffe0316e52b6e5e57091972ee19c4fe5e84bda543e6bb9a98bd6ce567b4b11c25f9a2094c0f79c718151cff77a4721a96a37175d1272ccac43b5ba401da002db885ccaa600b200775f25237b701642927fdde14c5747b21c628621696777d9ab9d18b06d9b61112b1ccc9a31fe676a3c8378c8f6343b7b1aa0b5c01394c01c13cb8771303dc602fe5c4adc9a7594fba97bea56ae2a3f9863a7da628c28881e785937f940163e0c4393e8112da140ad8231788b30bcdcb9cc99082698a4324b5e657922f494ae88863448d68c15e76dc7b526366248eef783c6f26a64eb400e0a02868806d3f029d0307b8bb736f80a2ae07454b1524441901b82689e65b11c68f18ac11030e8ca442a28807b97c8f3931eef38702a3359de5c3d07dc485871243796b3082b6cd1691515020c84bb504053017c344350694868eaaa507364e7970f7fc440e5c650e7cac0aaaa99e7019a2a5b48eb43c5d4ac093fb40acf66753e96b2dc04302f5bad32692bb9a253e6ebaca7a873a6fca903a897f5da0c3e668b1f8a66f40c0b7c7906f3a96b41f8a041374f50ea99aa90b6cdc20fc0b81aaf347b90477f1e886bc65b90915c8da2092905063d88fb5d1ba70f7ae23400570758098656f1b23f6741552b7735d20d6d30c1d784c0ec42290c8c932b8bc3a1a3699f2088fd42959d16ba35f25d674959d5f1710f706054248d0caa63cb22c413f939d297a95c987792ac5852926e86516302a187042a3546cc70510830e7daa7f9b062fbe914be007a1970278f4c1e7235ccf0e1c9fa9798525cab55c33847364f66378c6ffc279a513f6815bfe2abba3992ab43f0ba23211a50d4132788057c52aeebb5af690bb5cd05a6f6ea290f51a8a96c445c5573f473c2155c86b3619562f8190b370bbe709704d03e18325a205c9dc66579f16a36ee4237699992442b84c1c9bd6f16394978247ed8c9828a64859205391203ab284943caa9ded5ab2c924b4b1b68072a934a3169f8a0ad9028aa9315806505b6a3941150e4cbd40910697b1fa26666a0f2b3253878d0d591a2230ed50997a5ea6e1a799d5e28361529406abc52680a4ad1356352a1aa98027c2b950b97aa8ea8e5254d941f1c95a66bf688fa4b43ba6b83d7d55f99910595e35f087b42636993ba509292f1b920bc777ad5610fb06c91a81a9607c3bc7a49e4a38ce5c63c6fa09a30d5157820479a347339866ca72c7dbb2c97f6a38e7b1367587b47b9aa01674b9f75f3af088a74b03603d51731dac14ff7397f164c7179ec355eb80468a0c0de95ac5ee54f4b5247ae9b1d215bb82d45931df5c6eadb7575c76da0bb0d1623c1d577273dab40e1dc06a5d20052419bd23a8bb18e1f2f9917e5b3ce5b0539c692fcffca80cc33f26888b80ef607db8e2dd15a3155e48110bd70f8530b01b3c9b100265e679f200c5ce861e1bba3729672816f3eba84c9638a79676eeac0f22c8a48e0c5d50a26ff0844c66b99
|
||||
|
||||
# Official test vector 74, seed: "deb963f8b1d8fbdf499d564ba8d2d47915bb402da02f17031b37b4039a842afb9b7e48f37200605992bd2429427a7a4e"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = ae0f65e29f38804a6759f70f4d01e2aaff7fe1c91ebc4f892dd0de3ab2e68ea5e03ff73e02a217659f53d8c47556bf3d8c94040f630d63605e2d0f923579370c
|
||||
EncodedPublicKey = b084995e5765a55a30af873ebb5c31506ba6a0f632ca68b630f86e71d8cab34459bcf77e04686ddd82b3819256aeb98536c3be4e029e9e123c754660dac74484a663f990289c72a64b1acb23974c31630b23262e27495dfaf051cca501b9a2267c2101a39cafb419255e272af75029a41521a2f48f6029b80acbc1688670f2b16b58d08fcea5a90c791ab2b5c125ca36e71c132b770b612865f3fa1d7e52663c367672b8ccb6791626478b916a3654295bbc7825a7e2ccf60117dcc7bddd2734f5484cd45776ad85681c235e7afcaee82a430097379d9bc721446588c68f8987b3fe834a6ad5b1bc7b1c939a709b949da2994af3a5832fbc3d1d93506848bebfba6d46e91fb1d8413fb6734b60167d783545b79b91cc822cfcbc4dfc0dc6b85a9978501a3372a5d354fdf895b6c1b5a0f3bed494310dd35bcfd017f3c178a88a27f2858ad6e8719e803c70dc4c8b9c1014a30417b34858d6704f811f88bb797f0cabdf057c1df810968370d66a1a65269b8cf40a5c317f4a93209c1005b2722941e26b66c467d92b90dff7809cb9adb2297f92668215a843095276586768af40b11c91975315cde318c4fada432e99abc6a81a213c17bcaaa1fd45abf7820b3526861dc205567a071f394182bb7bdafb767173188d11beedaa0c5b48546d0663e31863fbbb5a2015be15bb547f0639b6a3a240bc9170486315e23a2c845b69086bb1da21142647f13b2afd90691bb2c83f8a211b4c1988c292c3d4268e135c1d83c7f59c2ea4b829afd8bb68319fd293c44672023d3494b5645a7cac99ff3134b9056a1c154b845652e23855a707738190b27a356e7d83bdb6db412ec290e736250832b5abbb5816ac8086672d68c405fb38a4a69824615164df40188b2839a838151354160d6902c1589ac38a5c1b54a18dc11433b7c7a81c4fffd404b9c69f8ec51ec8097ce94755cbb4c92d5b1777a6cc925915d9d066db286fae569a572b2d6193774fd61dcb5958079c917a7705c8515c3876077bb7366d94b81f518810c970c8d5179820714fa916ed2c87cb4c88748b5ca7bc8e0fd71fcdd8abe802376882227007d526f55a05061181855bdc4c0a99fba4d52cb071d1871bfe83f1b4
|
||||
EncodedPrivateKey = 4b24986e296539ba7702d214dbd06dc9ea09d69353c78784693b7e9e00019b51a08705615be6729252a6bac374f38a8321279084b4bb69dcc7e77565324b44e83c454c73896983abf8eab43de109ca30cefaf8b5529069a563ae6b262d5e7446909cb27c0625a9481412c028a2a2053649b2688a68d6ec45042cb98d69cc5e3a1c6bd7877e98004d036e9b0aa581aac6b2c27bd8f34d2b40628bf38c8891cd6051a31971b11f9968e84c189a8112c7d7268eab6259d6cf96065bf6823170352883158f4f9c04e0c36054035ade7b98231b0feda87211e12dd71ab39c395432711fb8ebb295e408963865e38b95b324453de5c608685f8cb262a4f8bfe1c11d7938af3a83711476b2155c5032dc21bf954ab195097d7386287b8ebd49b4eb38ce30b3672184c5e1ec865c0a6fd61a9594da6470f2ad7bf07cca74c1fb78ad4959a5e1ea7b71e8b500bd6a4b5c3da39706590659a7c8ce0b3523e03196e6aa115b8a3bfcd58e5b5b504fa814e155b1c3c02c0bd229485925e7047d95f67f6aa5276d2a0c1641356439b9fa08a0fbb99fe8130f1f7b0a6e8597e8f43d61fc7539d497cff94c2eb85f90074094856a9017c07cc939d6fb511413c897d7c4b4e535f2411d1d7aab934cb1821007d85809b2c6061e329d1630396bd982a14835bdd37203f4030e8455fa06a529170912572bd6961d3c4cc8fbac82405412ac302128f3466626781b5c65e15a1984867fb2d15d6633a264d5409632b541ea59e6e17b5a7009bcfcb988dc98ed1238a51539ecf3400ac67506ca731a731d3736a640f6218be8a5e8837bf6b722ae00cdfa3c024f826c4a43976b959a6fba84f949a4bdc43afdbb474b0548884a04e0499b5e739b5c2804741b471419ac09a07de5b901069b042325ae39518fa8430e0a5978f5054ff6c4040d605c73db00f98968f0760b1ae3565cd66dee121c0299bd41c23ff16017bd35b4c3ba4e9b693559a86d1a838f54744845368cfcdc2ae591a3e93198db75ad8979b434a3a0fd6096cb811d3bda4998f9699998a3c38ccf83918e0c77548b1515be829c78b3a887b9c42cf8aeb084995e5765a55a30af873ebb5c31506ba6a0f632ca68b630f86e71d8cab34459bcf77e04686ddd82b3819256aeb98536c3be4e029e9e123c754660dac74484a663f990289c72a64b1acb23974c31630b23262e27495dfaf051cca501b9a2267c2101a39cafb419255e272af75029a41521a2f48f6029b80acbc1688670f2b16b58d08fcea5a90c791ab2b5c125ca36e71c132b770b612865f3fa1d7e52663c367672b8ccb6791626478b916a3654295bbc7825a7e2ccf60117dcc7bddd2734f5484cd45776ad85681c235e7afcaee82a430097379d9bc721446588c68f8987b3fe834a6ad5b1bc7b1c939a709b949da2994af3a5832fbc3d1d93506848bebfba6d46e91fb1d8413fb6734b60167d783545b79b91cc822cfcbc4dfc0dc6b85a9978501a3372a5d354fdf895b6c1b5a0f3bed494310dd35bcfd017f3c178a88a27f2858ad6e8719e803c70dc4c8b9c1014a30417b34858d6704f811f88bb797f0cabdf057c1df810968370d66a1a65269b8cf40a5c317f4a93209c1005b2722941e26b66c467d92b90dff7809cb9adb2297f92668215a843095276586768af40b11c91975315cde318c4fada432e99abc6a81a213c17bcaaa1fd45abf7820b3526861dc205567a071f394182bb7bdafb767173188d11beedaa0c5b48546d0663e31863fbbb5a2015be15bb547f0639b6a3a240bc9170486315e23a2c845b69086bb1da21142647f13b2afd90691bb2c83f8a211b4c1988c292c3d4268e135c1d83c7f59c2ea4b829afd8bb68319fd293c44672023d3494b5645a7cac99ff3134b9056a1c154b845652e23855a707738190b27a356e7d83bdb6db412ec290e736250832b5abbb5816ac8086672d68c405fb38a4a69824615164df40188b2839a838151354160d6902c1589ac38a5c1b54a18dc11433b7c7a81c4fffd404b9c69f8ec51ec8097ce94755cbb4c92d5b1777a6cc925915d9d066db286fae569a572b2d6193774fd61dcb5958079c917a7705c8515c3876077bb7366d94b81f518810c970c8d5179820714fa916ed2c87cb4c88748b5ca7bc8e0fd71fcdd8abe802376882227007d526f55a05061181855bdc4c0a99fba4d52cb071d1871bfe83f1b4b5b47d79ddaf113c079ffd5f7e3f6625fa5bc21c6b935c0a1f8c51e885d0ff5ae03ff73e02a217659f53d8c47556bf3d8c94040f630d63605e2d0f923579370c
|
||||
|
||||
# Official test vector 75, seed: "8e2995f1b3e43853b18916bb1212aceb05898e2b177a87abeb928ad7184e59695c56b2cccf5db80853c28a525e327d13"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 6084a235f79dd093ef6d185b54e69df33dacee73a9bf2f379004421a10e3a79d9f684fb055ece19459eb464e91e126a7a6e3ed11ccee0046da234d964c985110
|
||||
EncodedPublicKey = 940c784d812e7abb5e2b79900b6787fbd4082553326cb08c333895b123445c93ca3d693d3e3c3943144acbbc3b9b773882c234d5128c4a4a657eb39d29273d22537ccd747de0e6886f9c0744a41eb47247d33c7209270bc5f27a7124b9b2129eec49c0256859c2a7280c0a2db1329e1fd16c9deb6b71e66542c42e88fb1708989436f2bb17b3551e49607bc969b0584b61271a29233636633559a72cb7bb3dfbf3cc602606932b7b9f39a429a199f953a807ab20cfd0b1e9296d4f68b431474aa4164cce291d57723ae4c74dda19a3870ad0db57c6af82aebfcbb3b182a245b9917858291a986f99691afab6c9b7ecbb1601a7d79b754bc729cef96bb797b06a84beaf533359420096f526b4429a11f4cf46e2383441c1bfa59382415d3be23bab51ae8d172c1411b6d4313b466a08acf408c1f0bb69404ddde100c8c851c6ca57892a7af3665c01389a4a2c994af2019b26c92773c2c4273b0ce83ed68b1fc953168df7a4f5aa35ba5293e3fc202a9960954833a76852a3ea7666435afd8c4234c38edc736737a1b201f9a669fb6518259512d622a2316a3f176c78358515a40e0aa12f6590c3ec8bcd8e41bea6908b59ea0bbd0730b10652179c6a6d946d948b3d04429b5a3058a12993c715b000cb1948c50c68a9a411c4a92c6738cb27c9cfd6ae101ba2dea41631fc33a542ccefb1564da62d68b34cffb6250f17552d42a7acdb574bd278fc1ccd3612b1c54ca8b6b9956c81606c7ac6d4479e831253b619288cd43550e3b0c020024dd2563d92b4245504f7334cb9116627b3ad1e659364d99b288c5d2ca500c9937d5873bce7264ae189919f11833c189a6857103cd9cb1f40826d242054511916aba3407a964ee70399f59fb0accd94c05417023748598095109e7c3c85c66050c10b40c23644fdc4060f39cda3b246e0e48d860611f0a3adc6d41401215bd4fb93f9518ebda2bbd59c98d44a74d1e669cb2a89fbba959dc984902513d636971cf2a5a0808b6ff00de33b97b0b6119b0a4003b2414e5c779538b619303b09c0859d27c7e00182df0ac908b412ded96acee12dbe9b21cc2872dec32bead3de6243d3e746eb7b9b2dcea0e0f8ac75c3e11f0bac5d1655
|
||||
EncodedPrivateKey = cf976b3ed844ce917d5d758ac5f4163cc10826e5419c56a7148ac79ba5ccb4133b8e5a76457392a10264e3449286d931ffec0475eb3e1155a2f6d47735e8c026c5c567f21f4ef87dc50668c0dc66aba623d5141b83b0bb58ca54e6f21abb720871f3bda65a0c9e56205d437dbf0930261620936c1993525afe458affb742bf398238e9033dc653709ab9ca6213cc7b37bdeaa24624affddc97c553aefaf0ab76b3191031aa4b97adef6961275938605aa9a2539d3130cd5862b02fe754c62846c7dc942f181cc5f8b047f7acb11c6a66a31d8eec9eace82cb447881d437d0192c445972bacd8533f474fd0b376c89131259971e7334f382c0b0e9897a06ab677bb076d2b80bcc77caf726717b4abc7a7792779b7b1777483b97dc2019ed9d3685ac87ea0981eebfc56b4503cb58490154a0e3ddc89c0645791644ceab914688ca0ad62009c4368618ac3d91306ea279f58672aaab96a7be7448f98b69df581482ac98458540ddc111d1ca937ebba7c84abcd25cf06654bb7e2ce51c96225e98ab2409831fcb00f6a25f4f74611ea17f980ab856245ced650435b31bc7674de931e00fb1cbf316f09ca47ca2acfc7ab8aa3526aa782448f3b2cd029b2889b8587072ce3373889ab65b7dbb334b702b85533d7833328da6763415886935531e90793b5cbcff42210eb701ef322fdb1520cab20b4fc1cfbb824602cb84ef52a3dc31c55168fbcfb47014ba9de68c73e98b18db1af5e3971b231a79967229a998199973de138b2310bb6bf88141d826c88f247a4718c5d0cba13c7a2f6781941d46daa6a08ac671884b9c2c97b988608c667f282744c9192174f48638790e49fe7a1b1727b40e0c2390ca33cd1869d88864aa4e13c701442e4d2cc3ad98b68946bebd52f5452640a9a3c005624b1e785fcb979bfa1621b1c50064980be0953509aa2a91673a1c9152da53e902c036abc3d3d900f517172cc9aae288320d9ccc7ea0125edb2adbbfa8d958515ebd7b3c9744b6de43e4e3c32f6152817ca96db823cea17b04f258f2c410b982b5b200781a6e3219e34994ee220772795876a03602415940c784d812e7abb5e2b79900b6787fbd4082553326cb08c333895b123445c93ca3d693d3e3c3943144acbbc3b9b773882c234d5128c4a4a657eb39d29273d22537ccd747de0e6886f9c0744a41eb47247d33c7209270bc5f27a7124b9b2129eec49c0256859c2a7280c0a2db1329e1fd16c9deb6b71e66542c42e88fb1708989436f2bb17b3551e49607bc969b0584b61271a29233636633559a72cb7bb3dfbf3cc602606932b7b9f39a429a199f953a807ab20cfd0b1e9296d4f68b431474aa4164cce291d57723ae4c74dda19a3870ad0db57c6af82aebfcbb3b182a245b9917858291a986f99691afab6c9b7ecbb1601a7d79b754bc729cef96bb797b06a84beaf533359420096f526b4429a11f4cf46e2383441c1bfa59382415d3be23bab51ae8d172c1411b6d4313b466a08acf408c1f0bb69404ddde100c8c851c6ca57892a7af3665c01389a4a2c994af2019b26c92773c2c4273b0ce83ed68b1fc953168df7a4f5aa35ba5293e3fc202a9960954833a76852a3ea7666435afd8c4234c38edc736737a1b201f9a669fb6518259512d622a2316a3f176c78358515a40e0aa12f6590c3ec8bcd8e41bea6908b59ea0bbd0730b10652179c6a6d946d948b3d04429b5a3058a12993c715b000cb1948c50c68a9a411c4a92c6738cb27c9cfd6ae101ba2dea41631fc33a542ccefb1564da62d68b34cffb6250f17552d42a7acdb574bd278fc1ccd3612b1c54ca8b6b9956c81606c7ac6d4479e831253b619288cd43550e3b0c020024dd2563d92b4245504f7334cb9116627b3ad1e659364d99b288c5d2ca500c9937d5873bce7264ae189919f11833c189a6857103cd9cb1f40826d242054511916aba3407a964ee70399f59fb0accd94c05417023748598095109e7c3c85c66050c10b40c23644fdc4060f39cda3b246e0e48d860611f0a3adc6d41401215bd4fb93f9518ebda2bbd59c98d44a74d1e669cb2a89fbba959dc984902513d636971cf2a5a0808b6ff00de33b97b0b6119b0a4003b2414e5c779538b619303b09c0859d27c7e00182df0ac908b412ded96acee12dbe9b21cc2872dec32bead3de6243d3e746eb7b9b2dcea0e0f8ac75c3e11f0bac5d16552ac8b64e47ace9bcd950e9927b11007b6de8cfa665def178c2802ccabad0015f9f684fb055ece19459eb464e91e126a7a6e3ed11ccee0046da234d964c985110
|
||||
|
||||
# Official test vector 76, seed: "9218943c51fd2de47e509aac67eff176795102f37d7a2017e3afd768fcda7877af38739b00fcdf227c2fd62eb635942c"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = acd1c0217fad5caa4235544dd9de153ab1880ccf4c76f16f236fae4e4bfda04cf03a8abb0a5010f400ae5722a75bdf5a2f6d5b546b34d73857cb1bfc7e587aa7
|
||||
EncodedPublicKey = 9b32475ef68a9353cb99a53f7dc3810c9a3d0c2279d0b05b29d940c915abcbd646629c340af580b4dcb0d1d360411b2ddc35aa2d796052bb94b8243f365141aac04b5a8236cfb884b49603aa9a31dc0405efcb96a9903327e4ad658352e9c4829a775173daba8de83977b531d3291bc24036a913ac48b72fcb6a4687b32a316936cb957957c09277231745348b9bb6a029ab5701a0b5d15264061aa7b33b43cc75ba0c81b49e731b420681643cacd6769113e899066709022264d14262062ab1ecb5060d4c7d341a92978820b6ac727353974b12b181f2a6b4b53b2a098897b1957cda3764052bb6cb85d6a6a312e8a97b267c3883535cb3bd0587566b88390ba2140d256236c5174e7836f162c72934a34c38477200afa3f061e7d78eafc95f6bd7acc70ca5adf42eae090bb32b5cd4a9be85d5c4bc09b58aa83407f697a2334f7cb6953898b7c1a5a08e8ac4d55600135b8d63e89bb0e74c2b3844bca24e5cd449a6443fad115ca243cff41a15f44a26bd723ae574b619727fbd11aee030150d65ad0aeaa41c43a75f2b4a2fa74c24253ad1638762a834fd01690cd43c402c4712b6b0550a602738abcae9812b3069b840aa869b06fb9873321538c4b384d623bf44bcbc90a6a7cf6abff47282e6f664b6c77055480fbe4435236240a514124445229257b527f81fa8669bb929535a8b8cb60a3ba8849bb13cc63a78b535b2c3ef1268c8bb05f0eac43af2807e4790ab196dab247afc85b17f639212a2636ca437d80b3b8f94cfcc718037507e211295da75a4e7613b77876780ec2ef7eb7a6bc813b110a57df72532bb72dfc99680974a33f8c834c952cafb374e62442a4acdb58aab609c6696240c697969d5189dd6e994ca71c21cf59a31753917305a6c07c721c826b680a290f31a1381934d0b9a3a056e7db17a34819e24b8bd4fb4680cd8ac7df0c5d7684acd9c12c21458d20254a028b64219a41b0383f94519e0426a556c66fd767fc5756765aa104b102735f9526fd403ef1663d20aa0b36423d0f9799d27524518c6c26495804c56d01c20841619ed0a29b0a1b921273ff3f7887b5d78c3bcb203113af8c45725d931bd947ae69436c56b909da260ccb9c7f5da
|
||||
EncodedPrivateKey = 1e40022a5b247c9498cb29a0fa477190a858c3462b4c00350df02c617028a92c7bb3104008b9367ef02dea4578c9ac4ac37bab4c81b9cef136fa442b842bbc31313f47a1961e454be3c694358598e32ab6bb30b6e345ca4eac3dd174320166481d43c3e35a8f53aa9a31491feee7c73c08a97ac3c114b3592151203bb7455921c7b2d8ba98013cf3f0896f251b86824a379776bf1a31e8f9611ad13e9e1b43f7b10e10ebc22eb33d4772b36b085057e74c61589a72f38acfc106c6321e44a1701464b2de32cabcf4a3b6d06b707b6c8c365abf1984d599cc2c745e8227909a0c0319f7692d7869e25a6231d43227fb4c311b55934b2924cbc4edd5b2c656450b46cf27936294d8c1509b8c8514114910a4c86566615882f7f2363c26604c4819a0223430db486cb446aae574f253aad2a01a6a453581249c3bc805913c8b39db503d8254a6975b6a1548da171260253979664f42c90f42135360a54f53d53238d2619a577681a847f41a7990e52aa54a0f702a1d7a03cf35572447fa3c30ec2ac58029e2669783bc1aa51c3bf99bc5e16ac31dc94d4980b0c15771c06298a146ca9087032c51453f5c8070b864ecda237a21b90b9a1d89f7ab40e342a70c6b8319c2bc2a412a92595fb2a46cd71efa917f7c078e01b8b45346498c389d3a51619e95c8ade2a170f5c07e49ab83d2ae146cb7bdd690e00c6af3cb0dad9c26583b4de770afcac1389ee9cd00a399e9c22c3e514954ba34f50212027a06e0874f40f7ba7ff6913695c2c28b4d92d8a34d92c420d9171228304342abd9828358b896b5c77ce11a06b0840c8804174f2980e7fb6016f3581dd7521df6a6e0cb156144722a3709e8a603e588a1e5326593aa35a6ac749fa253c077cd09b4a54f1b2d63b2afa49a3c86493e5a7c03db6b68a366637b76144b8c0cde2c3ccf6a125c08c39854775b7112c8a61dc8d1142536b8f1a34961061c222b2bb2e8ad51ecc2d6e61716da38aa116f9803c464125539f34b8a173639852602349157520fa9d066cbe74ca56972fc606159878ad450689f71c7b682ad8c2a53e4ab931cab2c03aa459b32475ef68a9353cb99a53f7dc3810c9a3d0c2279d0b05b29d940c915abcbd646629c340af580b4dcb0d1d360411b2ddc35aa2d796052bb94b8243f365141aac04b5a8236cfb884b49603aa9a31dc0405efcb96a9903327e4ad658352e9c4829a775173daba8de83977b531d3291bc24036a913ac48b72fcb6a4687b32a316936cb957957c09277231745348b9bb6a029ab5701a0b5d15264061aa7b33b43cc75ba0c81b49e731b420681643cacd6769113e899066709022264d14262062ab1ecb5060d4c7d341a92978820b6ac727353974b12b181f2a6b4b53b2a098897b1957cda3764052bb6cb85d6a6a312e8a97b267c3883535cb3bd0587566b88390ba2140d256236c5174e7836f162c72934a34c38477200afa3f061e7d78eafc95f6bd7acc70ca5adf42eae090bb32b5cd4a9be85d5c4bc09b58aa83407f697a2334f7cb6953898b7c1a5a08e8ac4d55600135b8d63e89bb0e74c2b3844bca24e5cd449a6443fad115ca243cff41a15f44a26bd723ae574b619727fbd11aee030150d65ad0aeaa41c43a75f2b4a2fa74c24253ad1638762a834fd01690cd43c402c4712b6b0550a602738abcae9812b3069b840aa869b06fb9873321538c4b384d623bf44bcbc90a6a7cf6abff47282e6f664b6c77055480fbe4435236240a514124445229257b527f81fa8669bb929535a8b8cb60a3ba8849bb13cc63a78b535b2c3ef1268c8bb05f0eac43af2807e4790ab196dab247afc85b17f639212a2636ca437d80b3b8f94cfcc718037507e211295da75a4e7613b77876780ec2ef7eb7a6bc813b110a57df72532bb72dfc99680974a33f8c834c952cafb374e62442a4acdb58aab609c6696240c697969d5189dd6e994ca71c21cf59a31753917305a6c07c721c826b680a290f31a1381934d0b9a3a056e7db17a34819e24b8bd4fb4680cd8ac7df0c5d7684acd9c12c21458d20254a028b64219a41b0383f94519e0426a556c66fd767fc5756765aa104b102735f9526fd403ef1663d20aa0b36423d0f9799d27524518c6c26495804c56d01c20841619ed0a29b0a1b921273ff3f7887b5d78c3bcb203113af8c45725d931bd947ae69436c56b909da260ccb9c7f5da1065414e7a040c3dc4163626f3d589ce9934d1687dad9363fc7fe0f29df31ceff03a8abb0a5010f400ae5722a75bdf5a2f6d5b546b34d73857cb1bfc7e587aa7
|
||||
|
||||
# Official test vector 77, seed: "542e20078add5296050af150360f057f6b9ab3ba835589dd56987de805f900b906505b5390a0d86cba28038992dfc59a"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 241191401a63afa750f05662e354dddbc683c776ce3222beb83e3cf913d7ed7ca59b3bd23b49a95bc1fad20070fec930b6060bd827d742b077092e422268e15d
|
||||
EncodedPublicKey = 7528ca7a216ba9577865bc7680701c093984d278159e7935033669e019c982f75370d101fd41400ae1aa4e848f60644300001de180b6aee4903fa48cf5f6b51df9a85dd5353cc8325a3c9647cb1cf324ba18e7aab4385e26c6b4c59733d13bcfbf9abfb85c8ebdf83768042a79420d05021f2140172b019990eb0091f06ad3a61ab487b8dffa070e77654840ac4ef0b4bb4528d7775bcfd09ad0ea6e35c4c0b3367d7b2b7471b2840dd24ac2f9b3477646ec871eb178a3a7f09b786b925b62215da230f5c7c6a73957d873a85b8ab4e4d4c8e16403aa917ff8ec5ad51c4879f94a068244a9198024cb8739e3379c980b4471a671198819f7cf6bdca1667054979288c83c6ef5ca2467e031fea23fa395c6c6bc561a7735a92b3c3f63118ba562f7fb970295c5837a1db60138b4195e43182060121363c25e8ea71f70b246a599bc71f51f598cbb79d54da5f509b07930b4590c88a149fc3677f861285b34a6e281704268a5cfbcabb08645b429c1752aba652032b676c73a5221f24518fe37c265d78b526c8b4ad35bd72c754e2a97a7c31012171c66c40e40fb727cc7503d05895e63cc94030413242f62c74fa0114a1d8b899aeb0a9f000f1da551e078c2a100afa820692ed5aa0d73281f2681454a155c907e5a41ac23b2cba2660fc436300505813ed075bee129205a590f7020d1f72d3683a78eca8678694a52f15125b1a5d458af66a25aeb9c39d2f3aef94cccb7f870a40810bf051c27725c32793045842de425855d00bdc11a2b26ca6e489257b8693666640430788d9e518b32785c67c3c20f0ab675d925230b8a35d5c0d81658cf911dede65f1da351c49a6df4aa50dc06c7fae86765933d785275767875bfd06a916795b3119739fc91b9854d527ca873563fe788045fb0cd6d420419a7b94fc4cadee62176f16f40073c0ab90df77450dd63671bcb891d129b119a7c22548a8751a4f5dcade6f828c1156ffc096340f90595281ad356132156a395d5028d7894258c56a8cb78772323c376c03eac70ef481dcb01a284207cd1a34eda90229f3040e4953a4c9110d9766fc4aa1496dcad78c02a314ca9d223b4e684413a86b1788174b97b132fb38041cf8fa945
|
||||
EncodedPrivateKey = beab6980148c96040539453087e0b52e0049cd820cbc01be4b86a78b24c217795c69738fa03a08ec42cc44900069aa9317237dbe2b1efc0ac0fb5958e7cb5330a0c29ac82528148ef37191f2f4cd41e008b2b7512f50cb1a83ac49b1b2140234cd5b8ca7323320222b18854ba4b59f91ac926c2476f9783585895f414a0ffc3233ed546b1542199554b78d69c812ca20a3d07dcb829907557622622d4207548351034091b9d4c9845a341ea3906b1868b9b16b8dac023d95502ebfd85c8b4cc19e00560a2c53617a27af993bd73269214508c3c18d7adc4353c99a0a513baf36c71b72a0bbc30b8126bfcffc3ab6fcb3bd7745a550cf6c82b1ae455250647ae01b121b10233450b4759b56f265a35c118ed80c6b98c6a9e2c8470a969830a7380c2b328953a71c9a1bc3f592ff5ca4a89c85a167c850328ff291ab74a03c3451227b829137f731f0958ed2d03d614a258cf1161669443812227060262ff4a793c7c738d1784794605ef6228ad5c4d524b8a6d04bd3cb0099b49faa64339e3b108cd9541b11390819b6ac52b5a2acc57f86b7c0405102a407d5713dc53b6e032956acc48a070643a3b866f6284a27319cdd5150f4073f8b4a914d0b2b4edc30ed1423f17c4c59a034ad725ab2bb1bb2f72dc266357246531b641c9110b3ea092c848b8555793ebba9528a80b5fff94143aabb8139b537d340cab72b3f6c1a939402a0b291f77cbff5b6826e3b75acf87f1c62071b19c6fe2829aa0705307445db0aba743066437abc8f16ad9d36be3d13433fd1b0c961678564c7dac24fbf46cbece9075b6b23b836cd37d2a0724708b992505dba8945b4aafd95bfd74326e1bccb8217ad50649b14926237117e6bf4ccc00435b46c80804357b074761daa406960516cd51bf04856f55176f5a823e2b76f0e66909138ac7d89ac376564a4692a5846cd926072f9725ad461cd36ea876430609472a436b549446100bed58ef9624165a6b597e33dc0f97aa6f56daad5c866ec1f58413ff7b157eac8424ed07f7e58b14fb26cdbc728fd116ccbcb6611d2c64b60b64e197e7bb2339afcc31573907528ca7a216ba9577865bc7680701c093984d278159e7935033669e019c982f75370d101fd41400ae1aa4e848f60644300001de180b6aee4903fa48cf5f6b51df9a85dd5353cc8325a3c9647cb1cf324ba18e7aab4385e26c6b4c59733d13bcfbf9abfb85c8ebdf83768042a79420d05021f2140172b019990eb0091f06ad3a61ab487b8dffa070e77654840ac4ef0b4bb4528d7775bcfd09ad0ea6e35c4c0b3367d7b2b7471b2840dd24ac2f9b3477646ec871eb178a3a7f09b786b925b62215da230f5c7c6a73957d873a85b8ab4e4d4c8e16403aa917ff8ec5ad51c4879f94a068244a9198024cb8739e3379c980b4471a671198819f7cf6bdca1667054979288c83c6ef5ca2467e031fea23fa395c6c6bc561a7735a92b3c3f63118ba562f7fb970295c5837a1db60138b4195e43182060121363c25e8ea71f70b246a599bc71f51f598cbb79d54da5f509b07930b4590c88a149fc3677f861285b34a6e281704268a5cfbcabb08645b429c1752aba652032b676c73a5221f24518fe37c265d78b526c8b4ad35bd72c754e2a97a7c31012171c66c40e40fb727cc7503d05895e63cc94030413242f62c74fa0114a1d8b899aeb0a9f000f1da551e078c2a100afa820692ed5aa0d73281f2681454a155c907e5a41ac23b2cba2660fc436300505813ed075bee129205a590f7020d1f72d3683a78eca8678694a52f15125b1a5d458af66a25aeb9c39d2f3aef94cccb7f870a40810bf051c27725c32793045842de425855d00bdc11a2b26ca6e489257b8693666640430788d9e518b32785c67c3c20f0ab675d925230b8a35d5c0d81658cf911dede65f1da351c49a6df4aa50dc06c7fae86765933d785275767875bfd06a916795b3119739fc91b9854d527ca873563fe788045fb0cd6d420419a7b94fc4cadee62176f16f40073c0ab90df77450dd63671bcb891d129b119a7c22548a8751a4f5dcade6f828c1156ffc096340f90595281ad356132156a395d5028d7894258c56a8cb78772323c376c03eac70ef481dcb01a284207cd1a34eda90229f3040e4953a4c9110d9766fc4aa1496dcad78c02a314ca9d223b4e684413a86b1788174b97b132fb38041cf8fa945133970ebf50f015c58571928cca31d603f0a84b2698e6beb36b378867824d88ca59b3bd23b49a95bc1fad20070fec930b6060bd827d742b077092e422268e15d
|
||||
|
||||
# Official test vector 78, seed: "6a85a61dd08c0733fcbc158abb49fe0b0d96a50dcca140a2e9f5a254f1901985844613b1c656c0cb0112620591b88ad0"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = b9a6b0c05677e957d41a34ba03bd06f2a9092e31f63389397d7e70fde6409d18e99c0e7b82be89bc3c1eaee6680aa4efd394e40c2b3f30523c8117f7c26a8969
|
||||
EncodedPublicKey = 8b15b86783cbe89aae934427c836443b283029b78029c09764301f378c68adc6325a418e84e452e8e448870414e08b2295eb162277530f4106133c5457c3950583744d445e5a2007f0284fa8d0b1ac5809f265610eaa3d32bc64e59c46df823ee021bf00f4370f046416463f8569636558ad0de17d06f62015319cf47b38b3245ea87a03eacb82284b018fe893c1c428f12721bf2420ba81865b36b5c7e28a09e95a83d5384563681fd14f3cd87813b15f06ea99a1707caa13b96948102733646c235d418a514bb1ca5f996774e21f63930c8e63a698d07e478c17e46161a61444a40887e8a716b3e596ba657f8d016e831c4167bb370f44bc747b05555c6e93e81ef550847642607d3827ed6553501426b0751c3aa2540e4b2da403b0a599145e21c70f411beff0afde3a8f27cc2cdef6c6b8aa498c0186d57253b6ab07d6f94e1cd6734c9c1b5a123f45a36aa76a38748544b40370271c49fa8617bb3168ff0a22c7629b71a809c5b60d222741396b2558fa2699c55ece81b3b4c09e6e07a20a98ab5915577e44b49c8191756c46216bb412872f10ec035229996007b5b7cc9d69e0a5b959b61e2a5e93c2ac8b15ad951cac1bd4bf72ac4d0e80533a86310a30561fdb8a8667b84c6b7f2d4345ea9b90c1f777805424a6aa80e638b5450c88c4a24545cc8ace2a4965443573748b5ee235fab1b42798bdde0a2551b6ccd8633f3d6a86053bc7004cb29855ce4c83b15a433c8872b07dfc6352011d83da1929b41087ecbb6e785b74239a3ee0a393c02de9eb90239c904ce5567ad44cadb31bb7e15b668c6761e86fb68abd09826690e1687d851b00827697687a66c35e0ea90acbf802e3046bdab76a18dc5ccb09490de8ad0f6061ade28e08e3bf01b7606729445367511825b919659c3966afdc5088b5a859c417a5d1f7a2f6fccf2e6886c1626077d7242773521c29aba99b5c1da069c90343536cb11642c9a0e60be7bb7c5d688577c95c25c3c760a3314ac98fb8d067c294b57dc365609019587b8fbfab9ee9d0705d83358fd34f0fd99472d15641db12d6f7ab75075efc4028dcab1b1a0f9eeb2268b8c37d927f661f692433899eaec651c443e29b6e103a793107d9
|
||||
EncodedPrivateKey = 1aa953c198ad1d9b9bd255b3f0f3adc195077704145702b57ea6358465a65c919e2455615d375e651522f4c13a70372478b3960ec626d3486d9fb32bf0323b83d06291706a13aa324f3b7bfd134da6aa3175a511ed83cf0cdc126af55e6cb5bffda124e6880d42ec0950929e36f06f05282033229dd1fc1d73c100c676678925092f512a03f53b42513e1d47349510caed1749237491b3397b95817fecca6f9bc6a9a4d474968b17b5a5b43f45bb3aca8a053ac83ee5b5ea78bd838077d603728d2866f9eb1fa8465d3195b8d1855e0b30b856c558a344b361a191b7851600ba10bdc73c9f79812fcb49db3cc4867083cc9819fa76b6b8023dcfb0a8c1103049856cd3c9ac4ec64bcaeb1a2ebb706b6a6c8e227e32c1cdfab09e2499074fd22d77a3c6435cc64b4a07f1e96eff53b414490196525e67cc406a52ab0cfc30a98159f52a860bba0b79c21373c06c0829990d1991ed37cb051a48e611280b802ce838cfd8205598b90e71f8aa3e26133a7b36eb67b011ec2e75a3c1e6f2583d6ab3d4db580dc688799a0591a9872fba5b6b347a93d71c384245b3db98b54769f3385df826505e4c6f30cc8bcc781c1dc29acc985a6c3cb6a21ba4e5da064eabb0ae18bcb2479d52f73604c60d5794777330be2e004e02988a995a487cd17d172c69f576c0dde842f552147096906ba76f0e9bc468db26a8199bf836300d8a5b1dc37f60aab597acbf796b8ae9274d5d1560b0204e20267fdb759469fa4ffdf933ad016b39565d17ba6bf7d38586c413eb8c1bfc1c136bb082fa3c0ac3f832d0018892532d7aeb67ce03168de311fa894c544a29df710d5b5b1cce13b5809701bf0b0c7197c77bc04cc041060be618a9621386a34d581b8126c7c58d526fe6a89a3ab71d73962974f76d73fa57801ac0e226a576930e2ed10378557692226e69370434d4b7ad7c3c1df82079cc43d686177d554d3cdb1c1b6092391489f827bf5e367ea4e8c1f9fa895472246448561c8a53128660b8e450d308725b259c977ca49b5879fae57aaf96a031a265f61b856ffab58d9681de054007b641319c3fb694588b15b86783cbe89aae934427c836443b283029b78029c09764301f378c68adc6325a418e84e452e8e448870414e08b2295eb162277530f4106133c5457c3950583744d445e5a2007f0284fa8d0b1ac5809f265610eaa3d32bc64e59c46df823ee021bf00f4370f046416463f8569636558ad0de17d06f62015319cf47b38b3245ea87a03eacb82284b018fe893c1c428f12721bf2420ba81865b36b5c7e28a09e95a83d5384563681fd14f3cd87813b15f06ea99a1707caa13b96948102733646c235d418a514bb1ca5f996774e21f63930c8e63a698d07e478c17e46161a61444a40887e8a716b3e596ba657f8d016e831c4167bb370f44bc747b05555c6e93e81ef550847642607d3827ed6553501426b0751c3aa2540e4b2da403b0a599145e21c70f411beff0afde3a8f27cc2cdef6c6b8aa498c0186d57253b6ab07d6f94e1cd6734c9c1b5a123f45a36aa76a38748544b40370271c49fa8617bb3168ff0a22c7629b71a809c5b60d222741396b2558fa2699c55ece81b3b4c09e6e07a20a98ab5915577e44b49c8191756c46216bb412872f10ec035229996007b5b7cc9d69e0a5b959b61e2a5e93c2ac8b15ad951cac1bd4bf72ac4d0e80533a86310a30561fdb8a8667b84c6b7f2d4345ea9b90c1f777805424a6aa80e638b5450c88c4a24545cc8ace2a4965443573748b5ee235fab1b42798bdde0a2551b6ccd8633f3d6a86053bc7004cb29855ce4c83b15a433c8872b07dfc6352011d83da1929b41087ecbb6e785b74239a3ee0a393c02de9eb90239c904ce5567ad44cadb31bb7e15b668c6761e86fb68abd09826690e1687d851b00827697687a66c35e0ea90acbf802e3046bdab76a18dc5ccb09490de8ad0f6061ade28e08e3bf01b7606729445367511825b919659c3966afdc5088b5a859c417a5d1f7a2f6fccf2e6886c1626077d7242773521c29aba99b5c1da069c90343536cb11642c9a0e60be7bb7c5d688577c95c25c3c760a3314ac98fb8d067c294b57dc365609019587b8fbfab9ee9d0705d83358fd34f0fd99472d15641db12d6f7ab75075efc4028dcab1b1a0f9eeb2268b8c37d927f661f692433899eaec651c443e29b6e103a793107d951d50a091fdc9e324eacb8c5582044e0e16efb18341492977e616c7f1f952c21e99c0e7b82be89bc3c1eaee6680aa4efd394e40c2b3f30523c8117f7c26a8969
|
||||
|
||||
# Official test vector 79, seed: "7f4a56eda151e7b097cfb8ef980440fff707affba91867c89522ced6c5ff3bd7f5f00bb49ddd615d9361a7e4efa42851"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 28a96c71577ba00c94f99fe965bc595a26db2b3ca6ab5cf8e443cdd8462b17929c35d165453e5fcdc6f9df64526d9de698f2bd3e6bac6c7fdd86601b9ba5f4a5
|
||||
EncodedPublicKey = 214bb7595045d078b1acf223eca143a994867f9734831b7c228651bfbacf7fd00184b3265dfcc9d99564f470c5276b060c646adad78fdb67188847a1ac779a53dac6956837a73b34f6f4c5c447350a57843ff66bd7b79f8a27490c1261ce709fc8c70e712b925e176854a252b7eb00b57811e9797e1f2bc7b21b4bbe588604b76b2278989ce80c50a2337e1cb48c695da49592041b8176271b60726a5e217ce6620ea6cc968ff7bf75f79c827254f05265564034bd6b6ccaf1351a953d0d429a41226ba1f49ea1abc6c1a38968b398b47ccd71f13aa43b28cdf7106cf3005919b6198799f0e991042aac3d4b882c99aa1749b431742063207525b56024cc175d09619cccbabdf4a91ab4a252191be8c0b96ac930df173bba1aad7c18bfaa773409a22ac5313062106664701a1f4c01247246a718b77a6c4ef9f2196477733289b0ded47bfd965da019be2c43a2ec8639be69393de9aba4f0a71a3c2a2b626306caa7f7d77e2e51ad0c11cced89aad9da2723480e9ce69f7095252ae1929430319a7697fd2406b36c413d387a812373a84c12790c63492132514c14698aa233512d82db4cc25806ba5385bd73259e5bbb7d703885cc7993cb4bee9ca10d6c88def97a3d044ba1e64b2cf01726aa15e7e7c2a36b41b3f68895fb461e43a5bd941f514558c80347a7d3713795a687733621b5191c870f007c04177796b39a3e082c4d95347eaf90332fec68ce8880718abaff4291f0084b15f435e2e36ddbdac57649a3e39b0e12153a24fa0c45ea23c82018de186cefeb25e47a865863450eb58b8f22275de50ec96a783751aa331434541c0f5c8113df97879166385a0439fe2252bac332eed061084b19362259d1c4449250721e263b827892b98345f2316004513ad94566608b57f80891da4727034176c3642dbab42bf20b9d4770681a68ab915a643ed183d2db017b7a1044b99f9694a1158304b00b0f48db2db147778cb7bfcd1443aa3008ea372be8b01e6c6b2b3b6a7aafe524a2aa3178e06d745975bb97b39cab05722c7ee9d832cd54124aa39be212915c08b833ec49f3d15b55c060c0b3b33a1330ec0167996c7251aa41656def0f198ed3a3526d4ebf5bc18a0c33
|
||||
EncodedPrivateKey = 67d1bf47cc8f066aaf73925132436f3a57a8fba6cee2c235b03310ff8b6fadf6acffa9cbb8693a4c0b4e516a1e3afb44dc307010406c453566c0b7c3b0710bbf3618a5e5663a62888de010a5a4634d8a48aa592a975c4a53dcb9a9046c9b8bc7bce1a5c354bfe1d972f8266bc50740366823510305a417b943166c05e05d83bc8d1e8ba5315b7857cc90fdd1a1a9488c5dfb7e8836499cf4b2045773149a08ca3c9aa4c91ae52a8fef6236f9607d96234f81fcc2c36428336a33bda459f6892cfef85a9171c3afa977cc111662d3b829e9657e124399705bbfa97d3481624766b36da1b239f424783b86e8cc0c4ba74fb9a39dfe37647c84368f99b34db42a72c84cffc9c856f3a0e5c993be8b122e2c4bb57a5819c9586568777293ad9fa33131a50717ecc868ba836ee4c930811ced6941df31bf4f4739e924c2e156b3573710882cb5abb24841d469dee7c5f7b777088656ec809b553a97fe258fbec04e2977c66e7933d945bdb619194845c359082f99b60ec581823905646935671f379e14bb1e0b0154e080ab92a36df7028c0fecadd5525135eb2cc314acc56565bcd1a71ca4569aa27c86d1c90fb60479c713b2c7c7ded9a7c0f090bc0b4e0eaa11b7904ead876d89e22a7d3788e35c4c357978e066c2c286ada4186012e51065a92db01473f4c4bd58435bbaf0316315634d3b75b049c7aafa0bf5a6885d106ff7f81b9eb8a13b2ca6fe784ffd58c77ba8a191fc841ae996f4758457899227dc92a80ab1a071c170b473b873b324080ca5f83d256499ec33665fa963abdcadd9c717dc27192a2a5c7a3857b1a87862608ad9e37509246d2af9129e42399654125e835c584ba15146b20a59704dd274a15c374dbbb89a05c72af43778c3a3c1582d1298bb3ce92580e898f1d392c8a535b340baacec73f2303454c69c3bd4448be95c413a58d404664af4bb5133280af8568039b7c82535107715f67a8e0fb716c3f3a09d52ba90a9237b29b6b0382c584007e3a87f21c9b388248a5ea439c225319d7a74cfe20c0d034290c4ae80bb4a80735c9a65753577ce3089819d3ba33516a4214bb7595045d078b1acf223eca143a994867f9734831b7c228651bfbacf7fd00184b3265dfcc9d99564f470c5276b060c646adad78fdb67188847a1ac779a53dac6956837a73b34f6f4c5c447350a57843ff66bd7b79f8a27490c1261ce709fc8c70e712b925e176854a252b7eb00b57811e9797e1f2bc7b21b4bbe588604b76b2278989ce80c50a2337e1cb48c695da49592041b8176271b60726a5e217ce6620ea6cc968ff7bf75f79c827254f05265564034bd6b6ccaf1351a953d0d429a41226ba1f49ea1abc6c1a38968b398b47ccd71f13aa43b28cdf7106cf3005919b6198799f0e991042aac3d4b882c99aa1749b431742063207525b56024cc175d09619cccbabdf4a91ab4a252191be8c0b96ac930df173bba1aad7c18bfaa773409a22ac5313062106664701a1f4c01247246a718b77a6c4ef9f2196477733289b0ded47bfd965da019be2c43a2ec8639be69393de9aba4f0a71a3c2a2b626306caa7f7d77e2e51ad0c11cced89aad9da2723480e9ce69f7095252ae1929430319a7697fd2406b36c413d387a812373a84c12790c63492132514c14698aa233512d82db4cc25806ba5385bd73259e5bbb7d703885cc7993cb4bee9ca10d6c88def97a3d044ba1e64b2cf01726aa15e7e7c2a36b41b3f68895fb461e43a5bd941f514558c80347a7d3713795a687733621b5191c870f007c04177796b39a3e082c4d95347eaf90332fec68ce8880718abaff4291f0084b15f435e2e36ddbdac57649a3e39b0e12153a24fa0c45ea23c82018de186cefeb25e47a865863450eb58b8f22275de50ec96a783751aa331434541c0f5c8113df97879166385a0439fe2252bac332eed061084b19362259d1c4449250721e263b827892b98345f2316004513ad94566608b57f80891da4727034176c3642dbab42bf20b9d4770681a68ab915a643ed183d2db017b7a1044b99f9694a1158304b00b0f48db2db147778cb7bfcd1443aa3008ea372be8b01e6c6b2b3b6a7aafe524a2aa3178e06d745975bb97b39cab05722c7ee9d832cd54124aa39be212915c08b833ec49f3d15b55c060c0b3b33a1330ec0167996c7251aa41656def0f198ed3a3526d4ebf5bc18a0c336e7c2180244cb10082ffbbb0a494d5a9979595e55054ba2c9b3cd4d2710e90db9c35d165453e5fcdc6f9df64526d9de698f2bd3e6bac6c7fdd86601b9ba5f4a5
|
||||
|
||||
# Official test vector 80, seed: "09fc004519bcf85b20d25d314a0dfc79e00cb6262a7dddf9c52473641afb8cfa0f5dd5f53558184caae9ec34b459e98e"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = c08ba2ef8c3a0a043afad931652d7a19e6e8cb670f840de5f1fa03309b2ca9ec5fe6141a25f7ab9f875f79e0a82d6ea5cde5a017ab637d5fdb7c42646a1d71df
|
||||
EncodedPublicKey = 919257d0599b89c76025c6502a589cbf1c03ebf450685c84cc06a2e308064736a5a7617750132c07156435761d4727ac06fcaa8e5209adba07f985610aaa29cfb33bb33bb9bb58048a88a17bf22564b8044ca4b62d0a6de52868b49a9771652b42fa300a3915d9693a8920176c631ef55a289ef58e7d2b683c1b4329314c1481312b412862c2938ef1b8014a2ec9305be3a813e6fc1ea989ac406ac47c4bbc1d115c7bc09bc6c3744ad54061458bff21167be8cfcf834cc3652bedc2bbc2223e095b7390b01766e7079d940108987067b36ee7d93045b53df88c4315fc84ddb4cf73d0be18802281ac51bee246983acd6e33ba8eab6b68f15ce9a7b92af649baa4a267691c5bab62a7073f2c29a33b0843056a1f8dc7696cf8248ada5941dbaa6eeaa78d7c05ff821d9f2c362b104ff8b12e06d125c4d329954c078a99ad95eb806f4406ba1742d153cd8ae48bb11384e7bb0030a32639e75211075417d4b46603545e3a07796048a9385488a09c86f14b5b441c5b63b24d0ac733a46c84776db4ba4d7ac4227c216755a16269d27261d905dc587eb57616f4367e8b3309dcb558b47957a8ac0be9d7aae6a618dec9c0e56a6ac867919aa21ae77a5a5421465bec178bfabf61204f6b60aa94704f79842f03402a3d35a8c4a4186e36855da666b4fb254c225124c33b11a6a13bf7ca0b4290e132457b68c7de04ad542110e08a352c0b2aee19c5d637c865e7379bf7c0a3d39466bc58ba4175224789785520d6ea6ab86727f198b6e236aef35b90d7205815fc1774b9a6815b2e427a329d4521e5ec77f19c3277b35dae3944f5bc622ea738e3563e2c8857ea8796e5c01729c3ce244335f071bc2a492c51d22b300a9cfd0c69df3c8f0e46be28cacf3a4c1a498684d8a137ddccb419b33935ab5e9e47c8cdd658b1614f4d9b539c7bcd85827fdb5b8b7f8c3f08b9922ce68851ec5c27431193636603f32428b8254bc69b7c20511838bded03b77427cc68200025456d408101e4a4c1d15c4244e7ccb9763562370ec3c94a4ada04bc4852ec20879b08625cc9880ae73ad1727b69b85aef2639674923e6a5206df7ad3cdd882eb47c2ebb4c7bf3a28c13d5333cdc3d52179ef0
|
||||
EncodedPrivateKey = 263c5bb08411fdd7c93d377e17d0206fa62c8be02c27507e83eb4c4b0687458cb6f12a26b3b55a0eb55243d2b5f8d29109fc665d11cba1b6123eb943713073ff9493828a94c16776676672d52173e3f2c1307c249828b9623493de32cfdf63272dc13b52513b4be513f0e37f46c424d6d47af34837b2d27e8a86bccc39ae44b3c0a020498a70ad3167077b529cc120614b613dbdc04ec1702f54898f29a67576f29e889417f0921c8743547e388cb24c5fd2ba14591217fc410d25d61df3e1b6ee7c6b4700be0e5b404656ad954b23f8a32889e443d082024215660a4bba9787b100e194a7c83fdbf7298e024011354e0bda22957772c555c171caa48ed31d3b46ae26d428d738342d5336d47b80816c7cf0e840b1fac283ba99c5ea463fd5b5c151995a0bab48bc526788502c16ac62a45d7ee3873230b943a566fa777f6e30abfd81981073c8e9f3307e5c6d8720c8f9d33652824d3cab4dfc679cae539c6c591bd455a7d6e24fe9567a80923da6c58414b1cc60f5cd4fb10070556bac845b1d957aff543774236bde054c19e97950cb319df677466b3cd4e64767391780cbc8b9f78dc7d0ac35e2acdc3b2045a0a6199c83033a92ac7b752475302385a8cbd4277f9c6028a6011ea834ed8198056b0151c95f42f2573ff063b6161ddc05769683abddd55767065036b996ec386cc0a59bcea3a0cbf211c47b098981102cc62801987a81521656336df47b3b0bb7183fc8bb7cca831364054bb73e9443b5d2a74c3116a2603ab523e64cff2b8e76365aa0541ebef52ad8004a37232b85d27d3612c9bb98b2c943ad748158f91525a5a5acf1e82db3a0b1520974a3b79a5ed77fb754b292baa696496713d19f6937ccbf2a81f0d889206c7b6227be21a6677d617fe203728b28b4bb847d93a02340f6a45fa96f151126a9f5b7322b45820950b0bbc87e4a262053c9bec76f8eacc3cbc19f26759272a3b2dc556c4c2c917521733fcc9c71d629099614b433b390772aa7c80315b0964ac92b36881a8ea8c90057b23b40a316a1a4f330b890251673169ae0b6393850bd89403aeda582504390919257d0599b89c76025c6502a589cbf1c03ebf450685c84cc06a2e308064736a5a7617750132c07156435761d4727ac06fcaa8e5209adba07f985610aaa29cfb33bb33bb9bb58048a88a17bf22564b8044ca4b62d0a6de52868b49a9771652b42fa300a3915d9693a8920176c631ef55a289ef58e7d2b683c1b4329314c1481312b412862c2938ef1b8014a2ec9305be3a813e6fc1ea989ac406ac47c4bbc1d115c7bc09bc6c3744ad54061458bff21167be8cfcf834cc3652bedc2bbc2223e095b7390b01766e7079d940108987067b36ee7d93045b53df88c4315fc84ddb4cf73d0be18802281ac51bee246983acd6e33ba8eab6b68f15ce9a7b92af649baa4a267691c5bab62a7073f2c29a33b0843056a1f8dc7696cf8248ada5941dbaa6eeaa78d7c05ff821d9f2c362b104ff8b12e06d125c4d329954c078a99ad95eb806f4406ba1742d153cd8ae48bb11384e7bb0030a32639e75211075417d4b46603545e3a07796048a9385488a09c86f14b5b441c5b63b24d0ac733a46c84776db4ba4d7ac4227c216755a16269d27261d905dc587eb57616f4367e8b3309dcb558b47957a8ac0be9d7aae6a618dec9c0e56a6ac867919aa21ae77a5a5421465bec178bfabf61204f6b60aa94704f79842f03402a3d35a8c4a4186e36855da666b4fb254c225124c33b11a6a13bf7ca0b4290e132457b68c7de04ad542110e08a352c0b2aee19c5d637c865e7379bf7c0a3d39466bc58ba4175224789785520d6ea6ab86727f198b6e236aef35b90d7205815fc1774b9a6815b2e427a329d4521e5ec77f19c3277b35dae3944f5bc622ea738e3563e2c8857ea8796e5c01729c3ce244335f071bc2a492c51d22b300a9cfd0c69df3c8f0e46be28cacf3a4c1a498684d8a137ddccb419b33935ab5e9e47c8cdd658b1614f4d9b539c7bcd85827fdb5b8b7f8c3f08b9922ce68851ec5c27431193636603f32428b8254bc69b7c20511838bded03b77427cc68200025456d408101e4a4c1d15c4244e7ccb9763562370ec3c94a4ada04bc4852ec20879b08625cc9880ae73ad1727b69b85aef2639674923e6a5206df7ad3cdd882eb47c2ebb4c7bf3a28c13d5333cdc3d52179ef0f4a6a5b6ad7ee1a9c00b029b4e13f35eaa5e0d8e29e1630e4ec8358c7ffa69d85fe6141a25f7ab9f875f79e0a82d6ea5cde5a017ab637d5fdb7c42646a1d71df
|
||||
|
||||
# Official test vector 81, seed: "e3c41cca6f04cfe7732fd54de30cc5caac93e2f80e76aed7d24a962a3969c1b6a311459a3ec3e510e3e9b1e4291d4d7d"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 0e3b30e102d707538c2671060f603bb0b8a014103f132d63b09ece07e4a4c75b11eafeca9e810796c34e8cfce9d59342884456007b01ddd12edce6d10ed87e4c
|
||||
EncodedPublicKey = 155614b2e40c50b402119248ce7a48b1dcadbc7335648397e65093ab44c200f63b0e2404a43524585882bb5296b5f1bdbe263433e03f9fe10ef8517488a9363a0957ffb4559139887421c1d3a92518f210566841f20cad2f31941cb570c87b9a55a84792d66ced624a840244f9c39184317bc37c5249a1091ccc0c620c6c1797be48046ddd3b6002ac1ac65691dd749b43f5cb4df484bde173fe878f60d10cddfc2fd16440051cb50c9b1ffc26beee5cbac759b05bd8cfb53413407077adc568d56333142cc85892373c8820e856129d2468029833ced61231ba9b5bb2b94563a15954336a12be755738620b5503eb5268792eec020f5874c47751647a951cf5a059acd6584cf207e2f41f38b67e54907c653793eaf463e8f5bca3d2cd69206e866a4da7931a4fcab7b890ce956503547366cf4553ba3213999b5a8d82c10b14428eb26e44a1bd3d334c7bbc88fcabb71b1a2c020a9641850ff9292eda939ec713bd8e30291ee04920f22192097e60951e01598451933472665789f3141c7508fe14b04e02867eba4a03321886315e36d63853cb460676cb8f4c15c9c88e0cfb693f4428960046e213bae7925d5f686c9f8b0d8cb8971c332a4b46c6ccfb7639d935c830893cb9b1f9402d96ea1e3b0400f9d38358a495d675a83bf850523b11aa466e63a2b002dc868f6a3d0431b1b6d6260b9344dc379d9e792b944831b2526815b0b085a6783fc8c594fc194cd1390673cbc61521a0d41ba7999ec78c6ecc031d2670a5768a64fb491986c82ee8177dac52b8989b59d796a67136029208360820a06b30032a4025e9258a6075a943d432fb4a63a0030b59f72b68fcb2b7a44535c2008c685422e360e4bca48099a848d0b6ad846ef908cf0cc5bd4de752c6c35eea06c9b6e81dcda27594e40fddf091c1f701d4010c5cf6a8e2d204c93399e9d6375d24822b07c2ed420261433802a3948d976158c5843780b3a1cb4a9d6009ad995233b58e5830907ec523b88c72c0b9be40e4ade3478b9569c00e42cf978cc757800848678aa33098d5d5beed00a94b80b312ab2895a94445380861d80c53f64ea5716fd33c74650cffb18b6575b9c1b32d4befe56f040ec4e5831c2478
|
||||
EncodedPrivateKey = 91ecb933a468912348a466601013b974a457eed97a619881061737936c305fa94d1fb5a9d9f7167f360d6e4924547badf69963b37b9c1560696e79603c652235a7a835d787a167895a8b3cdfe1cdaca0112fa2ae5c04879e7b379a2057c14a49c64b4a3348a69a175960d8b954b15dd2097f15128ef89b16cfe28f2b340e5fb3864f8c844d9556935a26b4e3b628e3c5177cba77f92ed81662b58b73c355bd9e414da7757788d89261aa293d691055325cf22c1ae561b3a5c35ca966375bf6a8029949f7800679a56c6e5c1e5b0769c4185d673b7b32206c5f9277ecbca5ad314f123c5e24065dc04ccbd119017cd9680b45a4b1217c91309bc4c1b0e8690ac3216f43930f6cd345214913ad86952fda9c2b704bd4a9763b718af3b91c515ab5921a465525780ba36b8cf111727ab538b4c7e6d47d74550ec7809edb025b462136fc2a5698814bfc31c1e051b96547045dd3c994bb403145544faa58a14c9b42e1676e1b624a63380fdc4c3ba6c3788657d6435c5682932a2cacc350b76082022db1341d866c355373816058965bcb11f7aa6106942a2cc5d11c041289cbfc1969f086602e94a7447820f9c3602b9768cfb003b498971a53c00a3b1abeb1c75d57b17953ca89e53043e3b56ee475d87b7913e354751c77fa754ce8b54759b35baba97cccf68ef715b35b994cb707cc2914a9ff697ef292487b0ace487246f2da5903b397faa19d99f77e0d14aa0610001ae97e55994666ca4d8bb81387307620842966124aea9c1941dc67cd731f8d4064e8046edce11ddf78177f9077cdfa794f102232cbb5129b76375990e3a67ea4276abca7acd3f48c4c9c41cac780b2355068b9138e4720d79237d46414c59ab6891b0b69b55dba42248e077a124acde6ac92089914189974a90090e53ba1856c00cae12b04a8777870540f056b339b0335d107c1750b2b299216563649d2b810381a2ce91fbccbb550db9348a77e9ac52bca40a89877629ee43ecec60499f56534c7a68266c19d729ea508877df8b16c651bb2576735b39378e75583c207d4ec1f7d4c74e061b3ac225ea1227d742a85155614b2e40c50b402119248ce7a48b1dcadbc7335648397e65093ab44c200f63b0e2404a43524585882bb5296b5f1bdbe263433e03f9fe10ef8517488a9363a0957ffb4559139887421c1d3a92518f210566841f20cad2f31941cb570c87b9a55a84792d66ced624a840244f9c39184317bc37c5249a1091ccc0c620c6c1797be48046ddd3b6002ac1ac65691dd749b43f5cb4df484bde173fe878f60d10cddfc2fd16440051cb50c9b1ffc26beee5cbac759b05bd8cfb53413407077adc568d56333142cc85892373c8820e856129d2468029833ced61231ba9b5bb2b94563a15954336a12be755738620b5503eb5268792eec020f5874c47751647a951cf5a059acd6584cf207e2f41f38b67e54907c653793eaf463e8f5bca3d2cd69206e866a4da7931a4fcab7b890ce956503547366cf4553ba3213999b5a8d82c10b14428eb26e44a1bd3d334c7bbc88fcabb71b1a2c020a9641850ff9292eda939ec713bd8e30291ee04920f22192097e60951e01598451933472665789f3141c7508fe14b04e02867eba4a03321886315e36d63853cb460676cb8f4c15c9c88e0cfb693f4428960046e213bae7925d5f686c9f8b0d8cb8971c332a4b46c6ccfb7639d935c830893cb9b1f9402d96ea1e3b0400f9d38358a495d675a83bf850523b11aa466e63a2b002dc868f6a3d0431b1b6d6260b9344dc379d9e792b944831b2526815b0b085a6783fc8c594fc194cd1390673cbc61521a0d41ba7999ec78c6ecc031d2670a5768a64fb491986c82ee8177dac52b8989b59d796a67136029208360820a06b30032a4025e9258a6075a943d432fb4a63a0030b59f72b68fcb2b7a44535c2008c685422e360e4bca48099a848d0b6ad846ef908cf0cc5bd4de752c6c35eea06c9b6e81dcda27594e40fddf091c1f701d4010c5cf6a8e2d204c93399e9d6375d24822b07c2ed420261433802a3948d976158c5843780b3a1cb4a9d6009ad995233b58e5830907ec523b88c72c0b9be40e4ade3478b9569c00e42cf978cc757800848678aa33098d5d5beed00a94b80b312ab2895a94445380861d80c53f64ea5716fd33c74650cffb18b6575b9c1b32d4befe56f040ec4e5831c2478feda6a06105c411971aadf2bdb1dca5508a2ed6efc6b47fa1157e3defe424d2111eafeca9e810796c34e8cfce9d59342884456007b01ddd12edce6d10ed87e4c
|
||||
|
||||
# Official test vector 82, seed: "373fdde922cfc416ed96b444e445bdd0962e8989f6c50adf9912a89937c57217d3600b06c95440448e3f601ae69ca5be"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 2478f7d3de6041e7e5cd11c5e2ef483d1aa6218eb126444091535f6ae532fa7311136e2681df2ef881b51a092a9badbe72c9772c169808521c47149578621e28
|
||||
EncodedPublicKey = 5dd1616d0c54104ba11718a58be4c603133c46aa493c904383c088134538e13138701a4509f7264a61cf0680304f186e5ab7a975234427fc529a20b733aa93a6949810490ee9923c3a781a114936db361c2d11b07c62b9f1a68a7914c564d2a8f69c2ab6e13f7aa976708683bdf26c4a2a90c828c63798897a138c0e4b46f02714b613b4133c6a7df5935348142f5018e73b414bb5a85d012e3571c7f40ba094ca60a2ba275d4238c2ac2450394a6901bb61bc6bc3f98fbd259b20a003135a24b7f80ec695855f1b70402996ab6a2a0b7a813344170b0c68922a6b34774651662ca63bc47a60034d1a700f9815978050f95744e7c6b300a30479599f05bb73238909df62a64c6429c8c43beb550c6571b63a950186385de0681afcd8be77c2cdcf8ba0c75c0e37712a678a75ce680933416cf64c71d81b07f68bb5e688143fab5b17c441ae4c76896489bc9a1cd1994ecb1765a2ca04e153002ab38eceb45a62713685739f65047847d4b41b71378e388d4c2421bf112b24789e024bc61e21961f74b0370bb8369b518d0393b6f2396a9b4794a688fb59178da1331a07b610308370d55998831f9ab08a71fb652ff53c045073872234f8f3b187509d2281c21e8c43c9e834fd01b67c93842d72cf342c35391157de50311d3602c7eb898bd91bd8112c59db50a3e64ff00508d24437b6eacce15b6313b0b6581cbaf742b3251b65b885728875155bf839a3e97b1bea65c069c8073903e5455d725c9bc5a17ec84710ffa5c31003a6a379383964a5c6c0ba6d6ca1a2468b8e489a389c300fbba17951978e781043d10a4629cc9d45798fc27021073e27a7af7724023e85b4d4e7a79fe73d6a683efc7071957bb9d7e49da1f264b6a6b62860cd7adc3fd58c9118ec53b4ea4c46a81b434c194e8773aac0758b1520dda976e8ea75e0633ee8d82e6e420cd14b4871d44a4ce90ca65aba5d0b967608a9fcec75f208674bea111db007ad669437a44615706ece2b1a8bec857e748569b133c3f000b6099dde32c8973a57a312139018a350732bce8520fd51599b6261474682108a04b5cc790d76ca165dd00a29f05e4f74dfc7e75028a5880b3f7a937bfffd0f57fa7c221996994f
|
||||
EncodedPrivateKey = b78661cd0828c7e66981b3a05706c7daf52bbb1c042d94237e328b084089c0448712a7357f61a14067a77e7aabb2b01c0b938523231d634c43effc14b9365a8014cd5c7510d392018cd6aea1365bc247b3fee8b0e4d3c814c835246b382bf78c0094cda79c72a898c92dea6f7a616c4b022c6e005aebb85ce01aaf2fe4bac45c2382fc6e50493657850b83719f5624134aeb764f6a8163d1aa40b498f202ce7ad07657f051cadc32cb992bc025b8a97b2bf0aaceaf30605efa75cecb7b433b7fb3acca7d54c6c66b0dff8815c9b1bd21564d3c869ed5596bc2c74e34266a77280a4bc58fd8b90658619706f64492f45c087301f0f78df645c8b620bd7b4863c1142d3bd33591c6c03842ca948709a24710c2e55d49ca15c6a2bbb83cbdbba414f3619831f344fdf13bec33454f96584456c0b0f2079b09b44532afcc8b48b461837a77c224b347ef75212bab5acfb4c750221c60f600ca68372134397ad48ce0e3a1f3a2062f264e6c356286150778b04a85ac36b610cb66b5293b076a994055d484b36984995ee96ec8183f72b35ab4d6bf9cf707a40ace50f55c1f98952e44056e9845087716d218613a4b62d00a0dc0f2633b430ae1e75d7bb5b50341bb07d22ffd1c3cb40b59e01c79405619ad19ab0e647a8cd23706467d7f61696a864c79330237214b08450f1578a2dd5c076ad20902d68e4265469ea641d8f90a59d170a2d1a7c8f1bacf4717bb40a27f726f4b27b8f55c69dfd96669a66754fa5b0facc344062a797508dfc73d3861002cf80d47d9956fe62915b3a10bb055c3561ae504a9878a18d47232640006b0c412a36a86eeac96806303bde549f17170afa09e6ed4cfd1768d88524f23b247f2cccc205b9db57b73e1ebc2ce83338d8c2538f7be8d48366eb948a6a74226c0b93ad09f1e4a38c78c2de6059ac2505c8cbbcda4a42ed5932b24b8ab8ae2a5e3b3924d2783438b5bef0721b2b605156acdfdfc7320b15625d1bf54ac5d3dda05443bc61ef360eab3abb3a67b54f5a8aec062efa0afc364b0766146bbb93624aa790f6b48d72896abb1c22364b531738bf0f8685dd1616d0c54104ba11718a58be4c603133c46aa493c904383c088134538e13138701a4509f7264a61cf0680304f186e5ab7a975234427fc529a20b733aa93a6949810490ee9923c3a781a114936db361c2d11b07c62b9f1a68a7914c564d2a8f69c2ab6e13f7aa976708683bdf26c4a2a90c828c63798897a138c0e4b46f02714b613b4133c6a7df5935348142f5018e73b414bb5a85d012e3571c7f40ba094ca60a2ba275d4238c2ac2450394a6901bb61bc6bc3f98fbd259b20a003135a24b7f80ec695855f1b70402996ab6a2a0b7a813344170b0c68922a6b34774651662ca63bc47a60034d1a700f9815978050f95744e7c6b300a30479599f05bb73238909df62a64c6429c8c43beb550c6571b63a950186385de0681afcd8be77c2cdcf8ba0c75c0e37712a678a75ce680933416cf64c71d81b07f68bb5e688143fab5b17c441ae4c76896489bc9a1cd1994ecb1765a2ca04e153002ab38eceb45a62713685739f65047847d4b41b71378e388d4c2421bf112b24789e024bc61e21961f74b0370bb8369b518d0393b6f2396a9b4794a688fb59178da1331a07b610308370d55998831f9ab08a71fb652ff53c045073872234f8f3b187509d2281c21e8c43c9e834fd01b67c93842d72cf342c35391157de50311d3602c7eb898bd91bd8112c59db50a3e64ff00508d24437b6eacce15b6313b0b6581cbaf742b3251b65b885728875155bf839a3e97b1bea65c069c8073903e5455d725c9bc5a17ec84710ffa5c31003a6a379383964a5c6c0ba6d6ca1a2468b8e489a389c300fbba17951978e781043d10a4629cc9d45798fc27021073e27a7af7724023e85b4d4e7a79fe73d6a683efc7071957bb9d7e49da1f264b6a6b62860cd7adc3fd58c9118ec53b4ea4c46a81b434c194e8773aac0758b1520dda976e8ea75e0633ee8d82e6e420cd14b4871d44a4ce90ca65aba5d0b967608a9fcec75f208674bea111db007ad669437a44615706ece2b1a8bec857e748569b133c3f000b6099dde32c8973a57a312139018a350732bce8520fd51599b6261474682108a04b5cc790d76ca165dd00a29f05e4f74dfc7e75028a5880b3f7a937bfffd0f57fa7c221996994f2ec40df65eb82037e9c78a2c56e27df1b457c5a07320f073e50af9eff265a12c11136e2681df2ef881b51a092a9badbe72c9772c169808521c47149578621e28
|
||||
|
||||
# Official test vector 83, seed: "16bef67f7ac3a755c59c816478b75fcc16ce5844db537791accd1ebd49d2824b105fd2e970f728c8f0cf16e439a9ae2f"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 9d405d3ebdaf35fa8722de431b669722acaaea2fd10b814310b17f78b66147d16ceb14f7662be0c42779459f69a145c0e2ce9f0bd9a0cd1bf32ed5694cc9ae32
|
||||
EncodedPublicKey = d705cb30285fdffc980cf85c3ed027bef07fbd997a1ba2990f0972b6bb76ff4784817c31986075a8a95fd6ea96f7f22d6a526de04b161bcc074d91497f9128e04952c14a80031c7ac90bc3d80b3002fb2c3fb73bbea5959ca00011330a11318d7867cc648cac25e4c37c16039207ad7ccb0a294192bfd57d12b51e43aa2ded783e90a3217f9a7a74b3b74317a3eb7b113d80bc80db10b2b49f138980f15936d4478f5f49030525b645d030970a7a1100207ce918506564b2e221b3a2675e840ca42caaee842cd1b95f9ec586d0e8a2d41923dde0a18029703c41a13ac70886d24870e6165ebb53d6b41336e22b763b9c34fa1942f24a5c63812aea54bbb4b4801b81a7db631f2297389858b79686177a0658482712dccf645b8bd2871fb22394ce673f00f6b6bd67a6ea417d5a32795ebc67d53b15fa82490dd58170e71831f42e08b43dda04054192724305730c0cbce9c59fdcbb5d9441201b5cc7f3f3bdf525c8a234b56d897130a1a26a67868c1245a9e9385ca7464cc27b176193a7d6bdabd23741f49c28f4719525168afba078705afac75ec2f516dcbc4e2a0439dad0955f8045cbe45b9636473b08901865af9b7b6e237b52dc468d82080f9f31604b7bba27f80290dbc2546a6b036b1de6943a5c676af28617bae186984b6a9ca092c98bac21390b05ec8b9114cc3b38b905cb45a079549e6c65cc2a4f75b865fd9248a3b6011bf7962ed4c102dcc04e0a4ac50041cef89c4470097de77df2498bd01429e790b6f1a87b0a173236ac2af7e952c83ac332d066bc0cc23ba20117c203bfd39e5454578b69027130b1728250ce16aac623aea4725f238a422fb02fa767c2c2970d61a32a12c328fbc251f0b813bf6c27306053a6545ff5c9a37dd96ea4eb996a79a0000418f2082bc5d410dcec4e75d1b07e439e60f53fb1c19db34aba767001eab3040253a1d4371f16423e4f5a859b92bfc4dc7eb6371b4e83091ce988912b130b055340b29512e473d0063104e8434e6a6047778383b92ab848001942c25f16b5a43888dd1878698b64ab630e4ce877db5a70cfe9147a85c101f3c7576ca797dfc781a222607d3df6fa62aa19719575f7cfd276e35295c8baec2680
|
||||
EncodedPrivateKey = 97912268f18a7af5242a1a34f94b42a6c68d72c57190d392d23c04286532d9e2159a0c9a447c8a7f1a0938109b15e9345af7269dcb1c22cc9b9e2a73e92a8faf01beaa11908222940a429fd67a824ddc6ab9e01bcd4316b7a4a2d9293591ac623f1062d0d8890e647026a2abc0289f95b740b7d19fd82b117df73aaf7c5e20a0984a386960607f492a42d3f3037a8bb036fab58a073052441be076a4197c7afd50ba08412facc565575b29bbccaa8357ac8048ccd65a1ac97456f1015d5dac2489438375c5383a89048f5008af3ac55723a423795e4e38033c6a7371e4c9ae8c411906416b4bb38bbc308dd0a710849f294a3c831a981a51a353b902dfd393b358c1b5a8793bf0befd1a8648cc582d21ca96b47306d8b60e39687a513c7b7b06b1682ddd58b94991793774a766d4676955658ec7c8f02455854a07d5f3735263aa7db8b702273280785009d5747fbb64974c0689292a0101882873a02054cbd28c219d63512d1b3be95020cdf3c6529146dba2b05220014966175f4930e0b2afbdc17ad8054adb85668f9a85929a4a3b22a4000cbf152760f6d9516711a4cfb5a258e8669df960ed2862f0d4882b51769f58824310b6d8314630038dd4208a56cc30ed3b4ff1080b2d16b299f3cbce0b30da821b370b2c3fd17cc0a71dd8560276e530f21889b8f16f5e8cbe66f44608f48c623bb0103b710f5498b0512d0813a5c909453c9b8302f8a16413899c216c7bc7bc46974f25c8129ce76225b6a6e70818b6e742a56365568901f36bb4740c2ca1f3252b61a5644a491b90552af51f86b9c6c3e4b407828f34ec2c0a03b79244c723b92cba6c944d2c8d7dd8106b5a34f3087721a103bcd97955f1532a92460aa12502183c4ffa0eb81c983278b72e04880e697715432552758a4ae96a938766fc73bafd75ce8a4cccfb2b8cfec470bdf0453e23472a5b0f9a8cc05caab622634c24f5abbb2cced952cfd2e0c9ff8850ceea3815c0b0094ac2e9f7043d816d97088591c813ee4a1182f328cb3845b4066708a90ef9146ff3a41d7d45cb561218d40121f77786bfc4bd59095228586ad705cb30285fdffc980cf85c3ed027bef07fbd997a1ba2990f0972b6bb76ff4784817c31986075a8a95fd6ea96f7f22d6a526de04b161bcc074d91497f9128e04952c14a80031c7ac90bc3d80b3002fb2c3fb73bbea5959ca00011330a11318d7867cc648cac25e4c37c16039207ad7ccb0a294192bfd57d12b51e43aa2ded783e90a3217f9a7a74b3b74317a3eb7b113d80bc80db10b2b49f138980f15936d4478f5f49030525b645d030970a7a1100207ce918506564b2e221b3a2675e840ca42caaee842cd1b95f9ec586d0e8a2d41923dde0a18029703c41a13ac70886d24870e6165ebb53d6b41336e22b763b9c34fa1942f24a5c63812aea54bbb4b4801b81a7db631f2297389858b79686177a0658482712dccf645b8bd2871fb22394ce673f00f6b6bd67a6ea417d5a32795ebc67d53b15fa82490dd58170e71831f42e08b43dda04054192724305730c0cbce9c59fdcbb5d9441201b5cc7f3f3bdf525c8a234b56d897130a1a26a67868c1245a9e9385ca7464cc27b176193a7d6bdabd23741f49c28f4719525168afba078705afac75ec2f516dcbc4e2a0439dad0955f8045cbe45b9636473b08901865af9b7b6e237b52dc468d82080f9f31604b7bba27f80290dbc2546a6b036b1de6943a5c676af28617bae186984b6a9ca092c98bac21390b05ec8b9114cc3b38b905cb45a079549e6c65cc2a4f75b865fd9248a3b6011bf7962ed4c102dcc04e0a4ac50041cef89c4470097de77df2498bd01429e790b6f1a87b0a173236ac2af7e952c83ac332d066bc0cc23ba20117c203bfd39e5454578b69027130b1728250ce16aac623aea4725f238a422fb02fa767c2c2970d61a32a12c328fbc251f0b813bf6c27306053a6545ff5c9a37dd96ea4eb996a79a0000418f2082bc5d410dcec4e75d1b07e439e60f53fb1c19db34aba767001eab3040253a1d4371f16423e4f5a859b92bfc4dc7eb6371b4e83091ce988912b130b055340b29512e473d0063104e8434e6a6047778383b92ab848001942c25f16b5a43888dd1878698b64ab630e4ce877db5a70cfe9147a85c101f3c7576ca797dfc781a222607d3df6fa62aa19719575f7cfd276e35295c8baec2680d2a838249b7caf28e67f222ed57f2447f3aef51c0994fbf4b3932ae95d66cdac6ceb14f7662be0c42779459f69a145c0e2ce9f0bd9a0cd1bf32ed5694cc9ae32
|
||||
|
||||
# Official test vector 84, seed: "d0611f9ae5be4da5d7eadc9109944348e716cb3daee545721eea8c892e7831cf2e54603146454cbfd92387739e9a78d8"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 9a86490f0615f3edf789cb0654066e9ee339cc59f968281f3b89213f83c692edfaeb2ef44d2f608621e831187ce79b2d2f4a20f1568bbe76b0d3d5af36111714
|
||||
EncodedPublicKey = bbf6a4cf927aac6152dfa2ce8e6124352376f32c53c5e6a3a4558bf5502ba1c8395fc94c7727b62b45ad6599cd74b19c067a6e15c77d923034ceb8345f25073c4543c113120f3491238561d409ae4eb498bec5120577c249bb14d8941400ba264f1305336a6d20fc44dff892bef636c001867cc5bdfa3232a3f4526e7958cf27a043d4498e0969daa30da431775d176bb9f16ce6d7a4feea7b61a299cf454c95ec877f129db11034a201b1ee9894fff58ed12378df1453d5ca5da87a443b1097b9a9323d7a5388128886d4727b9b15088aacda523638e85121335cb7257c683c03bc3b10b34747c075ac2da126eca93ece64122df16c08cb2c31bb8d452b93f21358dc6311b6cabd51c350c3f1c03e7a410382678c5632da8a60baf33fac5ac196d223f983860bb56275e35bd9971f99b01aedb88e37e9048457b60fdbaf42762a97c04fd1e879def34946b529804314b9c32b8290be50d36a4d5c8db4017206908a6210557de3708afacf539721eb3865a0932d67eaca2d28308f2c0649182d094c27542305c2a1ba5d299276c6802fe978f721b8313a18eb85b22d806e56362eb4b05e0b194c023c3ed6854262faa8a70b30dbc57ddf852401a8be60c01cc0aa1445e00771b3c99e40234b940f0904a120baa4b21c740b1ab2a3536f821b6b9cb0a34bb28fe549a70f0c7fae43398d356919ab2dacc30f94399103e291b0b920a0758271d835c1937818b428ea94949ec8a4ffcb89b2b4b94c2056884b69312b1ab441ba9945172252591df2249f584bdfa0c7ce720a03cc18c2d919e066540a38ac65d42a7593ba796ab9ef448b0385b004524cb5057f83ab3bfe30364209a63289354b362d74e66f34f4c16010990bd9c55f40598101651f8511657b7e0899ac7795ba81705b652ca02bd13a2b3c9d39e7795c5c7a1d065b0df91c48453a33c87708c5caa9da6312309c1326a4cdd9938983c693f811a59b9874a212bc29882eb369d0b691014aa94344462f0ac79a2c9c7917bc50cb89ee65303a975b10c64253aa5c7d043c14dc9cfe56a9847727be9536645129d0daa5b21b308b339e4bd5c2a60941595aad6ab3f6c2cb5ea61631b5721f089a94336bdc7e8421b9d2
|
||||
EncodedPrivateKey = b107696c4267c4eba452eb3e217a49a0b24897b9c395869894fa88151965b680be206ac151c10a9a419bc9aac3e6540c23a5a3201747b0fb2f4f6cad7879b07a442ba7eb079ca173b7e87eb565879ce28a54958d1d688e6232cd3615675023c29120b83295ac268500cdd33ef7e93798257d0c91cdb31020ea322707d63cb7bbb315f73544d657c4c252d7e9b331fa08f438be93660b39f57db867cd9e0622633c6c4fdcb6cc170fee58a531b06c0f23bd6ed965bb16770083a3c382a690f99a138078a938af4d18479992c339820004e5340608099c092d9c1b5cc680723dd9564477c944d0223557c06c58c1c4c99a1404c6d80695178c0c60b90c0dd512a8d49e516c55ea5b68d685ac876043eb3104241c26684b8d91aa0977f27a3c487a414cc873ab6384c179d4520036765ea1b67042b97e88400f4778abb2e497d29c395a16968a098d6a671b3c88a7144a5097d020b7e1a424331180b648606495a88259d0ba741efba3beb00c69821021c5b11b3306f4a719acf714b6c784f1f3a235c299ade1383dc04279b80a8f337e7730b35c973960a59eb3d3cabdd796f5714b2b00b31ca543f37115062489e2ec79fc754056a5729e022d017a481bb4cb1eeba509ac51d28649de819a5d096abd4b5205c28954d204f08889e0f82ae7e0a4589672d1a924e11c202002395874b44a27adde211580d2878dc74d3c7806511a5307320ca4f7281d27303ff965e3288887b1a1da8885d6577e96b217d7d76d0fc6570f57251ef9bf9b492974b5202966b5a9328d2672b273621b142bc3559197fc76b06e94a625e16b5ce68799526a2a2b83ed16790556ba728c36f690c319dca0e3159c56506f2271bac31b8bc45621f8b7c1881a377441cd1711c74c99610ad35489e7665a93ca96f940dcfa8e24906ddda2aff5c261bc2799600a1afb51c577f64315a7502a919fe9410657180d733850b288c84ee21a59e95ef6592966869a70f51e20a01746b85d06f304d8c88d33ec948f9c0540287b385a26c7d104fed46d643a70d20c8e3d03c173c8b3d4bcbfa9d0729bd758eb6787d113040cb88abbf6a4cf927aac6152dfa2ce8e6124352376f32c53c5e6a3a4558bf5502ba1c8395fc94c7727b62b45ad6599cd74b19c067a6e15c77d923034ceb8345f25073c4543c113120f3491238561d409ae4eb498bec5120577c249bb14d8941400ba264f1305336a6d20fc44dff892bef636c001867cc5bdfa3232a3f4526e7958cf27a043d4498e0969daa30da431775d176bb9f16ce6d7a4feea7b61a299cf454c95ec877f129db11034a201b1ee9894fff58ed12378df1453d5ca5da87a443b1097b9a9323d7a5388128886d4727b9b15088aacda523638e85121335cb7257c683c03bc3b10b34747c075ac2da126eca93ece64122df16c08cb2c31bb8d452b93f21358dc6311b6cabd51c350c3f1c03e7a410382678c5632da8a60baf33fac5ac196d223f983860bb56275e35bd9971f99b01aedb88e37e9048457b60fdbaf42762a97c04fd1e879def34946b529804314b9c32b8290be50d36a4d5c8db4017206908a6210557de3708afacf539721eb3865a0932d67eaca2d28308f2c0649182d094c27542305c2a1ba5d299276c6802fe978f721b8313a18eb85b22d806e56362eb4b05e0b194c023c3ed6854262faa8a70b30dbc57ddf852401a8be60c01cc0aa1445e00771b3c99e40234b940f0904a120baa4b21c740b1ab2a3536f821b6b9cb0a34bb28fe549a70f0c7fae43398d356919ab2dacc30f94399103e291b0b920a0758271d835c1937818b428ea94949ec8a4ffcb89b2b4b94c2056884b69312b1ab441ba9945172252591df2249f584bdfa0c7ce720a03cc18c2d919e066540a38ac65d42a7593ba796ab9ef448b0385b004524cb5057f83ab3bfe30364209a63289354b362d74e66f34f4c16010990bd9c55f40598101651f8511657b7e0899ac7795ba81705b652ca02bd13a2b3c9d39e7795c5c7a1d065b0df91c48453a33c87708c5caa9da6312309c1326a4cdd9938983c693f811a59b9874a212bc29882eb369d0b691014aa94344462f0ac79a2c9c7917bc50cb89ee65303a975b10c64253aa5c7d043c14dc9cfe56a9847727be9536645129d0daa5b21b308b339e4bd5c2a60941595aad6ab3f6c2cb5ea61631b5721f089a94336bdc7e8421b9d2ac670f00545ac0e074de0422a500a813dbbd25b9e0f64719af4363ea4314fb93faeb2ef44d2f608621e831187ce79b2d2f4a20f1568bbe76b0d3d5af36111714
|
||||
|
||||
# Official test vector 85, seed: "fbc38d7614d7718e931edb850d2c6f0c5eea9ee889b3e25bd69ac255d5b91e885d93e808e66bf9c88c655dc594da5792"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 6dfd9b575872560c7bdc2732c4a28dac4db04e535eb8e402c3dffd145c09ce47a2985c1c4d203778597947d710dec806e36b0cd949fe460ef141213bfc525e5b
|
||||
EncodedPublicKey = cb827afcf69b7ce496fa14808ca69aa37b2c34456db0678ce262ab8e75678d7663a6b7a50ed284004d5681976f9f12618dcbbbfd35b6a8035e7840bf044c3ea4faa1f8a21d16198be30282f89561d6b73bbda53318d90527415509221a5424777c840977dac402654b9de3ad4c99aaf532ab3a4b70caaa3ab84979681c402e2678e93464fb7156f6e6bad7b8666fd35eca59cf965bb6fa8c8e4a283d3fc7424b00c2db5018ad0278108c8f2dc0b68da39305d89a935a0ca0632e969082baab6f7c408454a52553f38f6e38c5f5a88cae4a4595093f54866f041986f1235cf27210b9b62a0a1cac39928e01a6389f3c924a1394e11719c27ba84de7038243b96e405da2f0623ba689fb707816acbc2e1499e6c44247173497c95d54067cdad784872b57a3956f6ecb1424a3309ec47a69841c7f2005d585c91095ae8a83aba5ec3a012935d672a468a37e1a2b30d7c73f99ba6ad96bc0759cbe39272293a69266798fde18371c88103fe45a1ae6754e06a8af5035345c7f4409919bf6a43dd75b9af87abd67a04210ae3015a0cfd39357fc96e02c9e47a67bddc759de25445f17ce3993018576af8675b4330b8b92dc74a5eb19d8fa483d2c1c60cc01cde26fa90623e4d18db0e45abed6005a4a56e9ca6baf22cc30a175e4d30d15a3c9d8bc0bd4086e4245514877b8cb72619c2b7c2696ce5a7603fbb696c14b98e6c73dc315466fc2aff5702aa42b8ae4aa7daceaaa8e28921171545bb715e878a4b76888c269738b9267428a1de1817569f2ba192909901b9fa8c283d585a3ed7746df14b5a13a0e4fa55b13821c540a0f7254166971c1d5d81362b1446f2356d7b543a3788a24b27e2b417f98db00f1853f66876175791dc2802af44a7e02b16321b2c6eaa269a46622dcc9762182688e9417a1455096e64f2f63c3aec81c3a0787a407930bfbb1b6f72bea836bcc647d80a760479740069468aa87c3453b1b41bb6aec2a643fd78632866fdbcb127b7499a77675f57810556bbd90991dfda585e3008ee177cba2144dbcb97699e472ae86c3b91893262c5f011c5640e22fdf458416063cf516ea97ef93730213fec55485a0b580ff7defb016f829ea549e8ca6f813ac63
|
||||
EncodedPrivateKey = 558c8d93417ca4258010082da4d38b3e84b609b9549fb4cfc98b5359374ab0083f3abb8c66661591b1b6a4755293973d7f182e616b626bc65f0ae08b11f9061b727f533b1e6d2c9f06139660a828f2a3a48cd3aacac476601c3ab2b7c129c42acf6176763b88fd5350f527a40240898c0733d9b83684003959a08f62f24bdca21e2804634c86bb261800518b6c45e5406c5b9c447117f6192a5124673100209bf871e32708964b8a75f29aad6c56d20aca8f313b02d8aa38774b1f6452556c4aebb21690b09d8a76b7fff35516142295ec2691e2a2e3f28a1275b5dcac74db07972cc20cf88492f892960c798b459181f6ec15d35939ce325ce275a9c002a089f5b6b4e3c9e14306f4b3a0aec0011697c42ffc9e8939b2e46b9167039cea659d03d962232a3e63b426dba9515d5219334a67945c0ee825386e104dfcf6bb8a294f23f220d6229346043f480348db1aaee75c9d12d757fdfb941e438fa1c61f7fbc0941cb8279334836405aa2341c788632d5e1622a43408a1640f32a850a7b7a139575abc503eec02f46b02cbf6cb816d99cc5508eb4b1c6dfec5132a719bec711b5883850760fc97b0bdb12445f445544282e1dd07e626b6469a6c4e5b1872163026526b268c80d116221a946034c4909afabadb27689c98b769f507672c10b8774a5a3323c652830b9b4ce9f4702b7370a75592af936475c8b4a097b373fa62e7e197d4f0561151b93182644513365af6465e48474661a879f37c72005b206736d0df0cd46e070d642639ccc123a586f76339dceb3b93fe34dbf9b9190345f64933e21d2a2ae113129e7899df70423633514273959b723a98aba15c7419a669f8bd9a6e843b864b09efb426ecf902568f50563d0cc3fbaa45d3ccac7356aeccc89c34a043e575811f6055ee9714e934fa2bb5c287a8a49a113e283c178a33a9a723052e53d5e42a5636a9f9c4a9e29f4a6608c002056bb083abe4975226e79c7b46b8db723185a52497fe3905e0bc2e8f49d8cba4c9910b4bd619a6f016c321766c2bbbb258b92bd6369d39c7d25f720a1f65f2a8a84ea588f375b945145bacb827afcf69b7ce496fa14808ca69aa37b2c34456db0678ce262ab8e75678d7663a6b7a50ed284004d5681976f9f12618dcbbbfd35b6a8035e7840bf044c3ea4faa1f8a21d16198be30282f89561d6b73bbda53318d90527415509221a5424777c840977dac402654b9de3ad4c99aaf532ab3a4b70caaa3ab84979681c402e2678e93464fb7156f6e6bad7b8666fd35eca59cf965bb6fa8c8e4a283d3fc7424b00c2db5018ad0278108c8f2dc0b68da39305d89a935a0ca0632e969082baab6f7c408454a52553f38f6e38c5f5a88cae4a4595093f54866f041986f1235cf27210b9b62a0a1cac39928e01a6389f3c924a1394e11719c27ba84de7038243b96e405da2f0623ba689fb707816acbc2e1499e6c44247173497c95d54067cdad784872b57a3956f6ecb1424a3309ec47a69841c7f2005d585c91095ae8a83aba5ec3a012935d672a468a37e1a2b30d7c73f99ba6ad96bc0759cbe39272293a69266798fde18371c88103fe45a1ae6754e06a8af5035345c7f4409919bf6a43dd75b9af87abd67a04210ae3015a0cfd39357fc96e02c9e47a67bddc759de25445f17ce3993018576af8675b4330b8b92dc74a5eb19d8fa483d2c1c60cc01cde26fa90623e4d18db0e45abed6005a4a56e9ca6baf22cc30a175e4d30d15a3c9d8bc0bd4086e4245514877b8cb72619c2b7c2696ce5a7603fbb696c14b98e6c73dc315466fc2aff5702aa42b8ae4aa7daceaaa8e28921171545bb715e878a4b76888c269738b9267428a1de1817569f2ba192909901b9fa8c283d585a3ed7746df14b5a13a0e4fa55b13821c540a0f7254166971c1d5d81362b1446f2356d7b543a3788a24b27e2b417f98db00f1853f66876175791dc2802af44a7e02b16321b2c6eaa269a46622dcc9762182688e9417a1455096e64f2f63c3aec81c3a0787a407930bfbb1b6f72bea836bcc647d80a760479740069468aa87c3453b1b41bb6aec2a643fd78632866fdbcb127b7499a77675f57810556bbd90991dfda585e3008ee177cba2144dbcb97699e472ae86c3b91893262c5f011c5640e22fdf458416063cf516ea97ef93730213fec55485a0b580ff7defb016f829ea549e8ca6f813ac631631cb83581d2d33b3c66f9e7e06ed518552c70eccf267add0f31d8b855c211ca2985c1c4d203778597947d710dec806e36b0cd949fe460ef141213bfc525e5b
|
||||
|
||||
# Official test vector 86, seed: "1722219cb5db47374eb0af0232c856a57f026f1cb09e5a5799f4c333dd422ff6a0a67c4da502faae727fb2d45dafcf35"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 6fca9f4e384d8418075cc064c70730801bdb8249899d456a77130d5beeb3662cce7683f8a03d3cf04e46970ff7d6a12494ae12558346dfc8fd9370bf944a0102
|
||||
EncodedPublicKey = 9a88963923b2cadba6c1b80445d6a701777c2d127ac30050a042aa890b6266005ebfe583b1f66324d01f26b8c6a4441b16eb1f849325cc60636e88660f48097eb908016362a131ced3a75bb06377e8f7ba8b504266086c1991b36f951daa81352f863327173fc98666b19795f3e5618e7a6006a5319da45311b3bcd80bae2b501577f4cd2e039542981d604458d85460140ac15cd200202a0f513ac323d6b6990c1edbbacc488a89ce5ca7ef9443b62552a23b2fa4d77ef47429a4200c8af02aed09206c2a8a5ec89e16429b592876dec7c0ee456d34d1c2141b0d73b9a71d68352c34c21428c7885c72260c6c96e09ccc28cef495258c0758e9f71c529accec16234937a58af4673d4c56303370b18cc84b936bfff657a8852d0a087598a64de56423de712e79a748819487fbb050e7428a37c5ba6420b85b335f25e5952c4b93d5053d1792b56328989f887d68bc161110864f92b42fa9a7f6127ceadb30ba8521769ace7852311161b37f6a40feab70a5d2615a1c5371f9aa8b18943541a0cba38fb7b2276ec24500c3072e7c8e6f99c7e7c609e822101e9231acd03c02a3aabb02654437409e259e996625cc068c37496570d8798c9ab18fdbcc27c372a7565fe51cc68fec8431151252b8aa0d430e72a84f6cb505da7bc002f55425ba86eee35a2b46a87164cf51d4510fa25eafd5a80a80559a140438a220c1e97619f196da64a80029c226800349a0123983c16c5951a232bb5d6162aac08a37d6648acca358a4665bb65cdc6a9569ba7e7e69668deb4007a7597d0309f7715f709805d6f600de9bcc0e791952b979f6aac0a4912ed4f3a7c13105a52a3f820a9cafb17592d2ca6593ce14a1ae50a105e9d4a4a311845b616792e3c30683822b2644bbca99194b32b76c8162c5cb80d24ec99aa1f2bb5f48e3cdcdfb9a01565b35d1954b430bb128aa4ab66d3dc9591ff82f77013d11d34dca995840001d19f236b8655c1f163c212b84aac6c859655e4441726abb9adaacb159d01ee0bb9bd64cb7fdfb9965074bb58865cb370414e6c7e8905c551c7cb64b3f92c70bf4284a842c70ddf40d585bc383a39cdc1e21d0ff5b32a3a268d9135e69d5556245e94a4f4f53
|
||||
EncodedPrivateKey = 78c973bcd5bb26fa51e37b3ca187a54dfb79b1590cc1786fe2d14e7cdba3c3147ba0dc6044800d0f9a2cf3b7b6b39c1898fb8091f76a95d8c75d5853e7587956e0525723332583a0e9657a9a9b4449d593f4e753b5abb08d0c093fd34ced3a7a4be4aa9c4739c39aa76ff59533e9cee767a4e3dbbb5820729e0801966064caf3342b4c2698e9cbacf41e632c8b9ea043033504fc7293f052b8a20ccbb076b4a5624ac283c7f34855d6aa31964395ab12b9be558ec50909e4bb70e2f10cb1d19690e35fa6b8aec3437014fc3af329a2251896a3a9a0c66868a3d79b14c39305873383e36199f782caac53c3a72ae92ca17c8333c471673ac59e2591c16506441c95130c0545efd2c5a9f9ccb4bcc4900b28820330480470e7c0a612e5953d1c49bfd709ec725e2b4b4ddbc7312ad60e77172fb7e4302c9762fcfa6b692aa30f7132f5e94163e7619834c3a47c8c5a8840f468146de8410dc70b58707648738d898545c9e18122493a57dabb4b09b835d2432644b9cde9be58087699e491ace36175a1a85c8098a22866834208aafa6c1379a8b2372a408a01fed40db13b679347773cc5b56a5941dbe63ae5c07bd6ea7d27211b48e715bd26b473c246c555badbf10bc9d34f5aa896552c277b2a32e9f705f540b65c62253004a4884758a77820ad427dbad4829df949435b887f184a3c153ff426ceae504ba217aa46f926706691b4839de20ca2f2d4c471e6b6284ba391262c9b703a5e32c061ea17b11018accc2981e41bec13c20a435147735285a17254a3727bfa73de86c2187a35e5a76c986227f84b19328417127628c1617f0bc9cbbf462d8f76723345922efc0b37cc2a1ce49fdc517142585e7b7c83a5b4587c16a96089c39b469a23db138a902751eb812993af1c2c7ac9f9b39529129c909c60e7859e32ab6de82fd1d5a50a674e29a375cb8b6dbe954a6c29127f8164ef0c3dd34aba06170ce4112581db27eaccc7649528040384927b2267ec716b7597ace221e18040c0a696ac28aebf0c91540456776878ff0586410ccfa7921df6571b76aa67d4d84486c050c5c43a33aca79a88963923b2cadba6c1b80445d6a701777c2d127ac30050a042aa890b6266005ebfe583b1f66324d01f26b8c6a4441b16eb1f849325cc60636e88660f48097eb908016362a131ced3a75bb06377e8f7ba8b504266086c1991b36f951daa81352f863327173fc98666b19795f3e5618e7a6006a5319da45311b3bcd80bae2b501577f4cd2e039542981d604458d85460140ac15cd200202a0f513ac323d6b6990c1edbbacc488a89ce5ca7ef9443b62552a23b2fa4d77ef47429a4200c8af02aed09206c2a8a5ec89e16429b592876dec7c0ee456d34d1c2141b0d73b9a71d68352c34c21428c7885c72260c6c96e09ccc28cef495258c0758e9f71c529accec16234937a58af4673d4c56303370b18cc84b936bfff657a8852d0a087598a64de56423de712e79a748819487fbb050e7428a37c5ba6420b85b335f25e5952c4b93d5053d1792b56328989f887d68bc161110864f92b42fa9a7f6127ceadb30ba8521769ace7852311161b37f6a40feab70a5d2615a1c5371f9aa8b18943541a0cba38fb7b2276ec24500c3072e7c8e6f99c7e7c609e822101e9231acd03c02a3aabb02654437409e259e996625cc068c37496570d8798c9ab18fdbcc27c372a7565fe51cc68fec8431151252b8aa0d430e72a84f6cb505da7bc002f55425ba86eee35a2b46a87164cf51d4510fa25eafd5a80a80559a140438a220c1e97619f196da64a80029c226800349a0123983c16c5951a232bb5d6162aac08a37d6648acca358a4665bb65cdc6a9569ba7e7e69668deb4007a7597d0309f7715f709805d6f600de9bcc0e791952b979f6aac0a4912ed4f3a7c13105a52a3f820a9cafb17592d2ca6593ce14a1ae50a105e9d4a4a311845b616792e3c30683822b2644bbca99194b32b76c8162c5cb80d24ec99aa1f2bb5f48e3cdcdfb9a01565b35d1954b430bb128aa4ab66d3dc9591ff82f77013d11d34dca995840001d19f236b8655c1f163c212b84aac6c859655e4441726abb9adaacb159d01ee0bb9bd64cb7fdfb9965074bb58865cb370414e6c7e8905c551c7cb64b3f92c70bf4284a842c70ddf40d585bc383a39cdc1e21d0ff5b32a3a268d9135e69d5556245e94a4f4f53afae13836d8e9f730bf1ae7dfb2223fd6a0b9c6f0d05060b8e70df3026f43d6ace7683f8a03d3cf04e46970ff7d6a12494ae12558346dfc8fd9370bf944a0102
|
||||
|
||||
# Official test vector 87, seed: "ac139b78fd16ca0f26d6d7f9e15345c888d857b1910cf38d883339b37ead2dcac30f7cf10176f23ff34b4488eb79437c"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = e58f71bf175c0550a67e00e0f7b3b7fc36bc2707bf0c93044a492626de36301a7f7054814869cf7625e45647bc1547aff288dbb90699b2ad84893f3b755d9722
|
||||
EncodedPublicKey = 36236ad34359b50180d6a94d6ed0bdbee80c7f1806fa3096c69bc47e5a6abc882a7232a5b59c0aa372cd240416214007f9d317b30966abd262816047be7caaad625092908d09609033980af782552a731bf3ec145b9240a804918fbc95f5e52982630364b54e96e8029fc2058dab2f7a2222645a1695e6838ff015d9aa1fcf82b9c2f1a61fc68f18c3927bdb093aa6627cea64e5b0517983a3926b6e90f349be3c12f7b6221a4117ae58175de1622e292853fc45b6fc3c86d86fddf50c4c100e3dabce544c47d475055c9928c113683301ceb4a3b55aa1839e195884f857452a08a4701075539f8710b946b99020c6992ca683965a23f3254ff2c046d2541664022402e47d21038a6f83503f77667c176e2ae72d23c008a178a5a74c9553e945d4db4112519105b45c19892d898b98df1cbda00c9388868fc2d67ad1fc2dc2447d24d561dbda53affa05b3e1902b344c87f0cfead6227feb1afcf07df8b535f316331456bad6655ef5c28fbb048bb0bc0984c352b9217fd32b7bd5407f09377901171586563e9b3b15317b9edcd28cc595c6099c5488ab0d14727cb103b450ec76fa9cad7c71b220c2c288e44bcb8573fa63aec875c572474d981ccd51cb2e906ca443e869c721592814ccd4ab4e40a868c584255cd43558337dad68c544daac70c9b64feab6eb7bc0685a1914e9753d3abd6fc70d301b52648b7242aa8664420f00e211703b7de5a34bbf755c39324d85e25a390986765b9ac639079bdc5eeca12b5fc358ea56cebed733813809cffb43fdc9128d3356a0166d306b26ffb36d9ff63e6c252998979804b2b20d67aced52aea1d6a10e837323b6cce5021e08f0cf011b662d4576cf12b4427639c7f7c481020310e15cf0d5a0a0937e5187b75eb09ece03369df948ed30c32bba1e52f04e73ba780ce6c7f2e71d7a539eed220baef7a5036b74fe45beaa3b6cb877776768ad115bc80701501fd672dbb3cabf4c56bda835b7c1c51df4680f4833671b43000b18e3d06d925096dc4987da027077a6bf7d5bca5307a87b58c45620a70e269ceca67cb4479fdedc0abe861c29326f444f22319db3dc1c513a711a10bde1b871678646e76c447c14f753274aed30b6
|
||||
EncodedPrivateKey = 25f3a8fada63529489f15062fc95b814d10cb39322b3aac89e7a6ee051a775c83535e8c3a0c69d6f86b5a0b1726ca985f6650c5e375aef260b6544adaae5182c3463f66086e7802cd8f844fc2b053c2554eab778c82ab80763b82de17ddbdc5d84db4d00051ab486b9fb224e534a1a4e1202481820c77c563f40b7d4abc8cb4c49afea3ea35506a0ab1a5ec1144db678511a2436cca6651c33eb721cacaaadffb48aedf420b4530bcef29c468730b48a92a74691b6d69ade706997bc0460f33cb5527695fa82756544b1412143075273857f5a098cb5c1428af2701dfa05b592acefa02af5b618a2553e00e112a4ecb0fee90ea918919577be07852655e45e91faa735e21284fa0a811cc07f485546680e0f44746d005adca1020fe05b1b81c069ba0d532a4c6d5a20a990c05dd84ab1321b2d87bf5f4c6cad330d2f150e4a1105020a74dccb3616cb6983684d92176ff0667443bc6a74391aa5084d15c46ffff4a55a47a99e6421bbb932c384bdd4c65f2524813cc109e86aaf0b868200a014fca0a57e44293c86034aa6560beabab2f97bb4d353d33572b5bca8657628dac5ab1bd5901ae499f81ac7de4c54b58848189ccfd53b46dce59d53e0056b24752573c4e7f537f14031f7da9a1607433247af4b10b3132a1feb698b25595a81ca231c833e4829bef13056b376005d12b152a32dc36361b8e39961d923da374c624a98a2048e3ed421d6b810ac50222f0742991c58fe992d397662b7da3bdb5c7640033a2d3a068ba7ae823417d3c2c1c1faa7f667735bab39d6bb9530f0b75129b19a5ca9f51642fca57e876a2d6cd69d4f0b8e66854a49e00605e19cffb00609b4c9d1c865f8089919a45a70b974f8cb592ff3152b794301219ae60c5cd0546d09661f68da8f4d9cc4c1f2b60200cbaa3265e4431852205bb6cb6d52163ec29345827ba55c91bd8c33cbd71240044a696c6baf6e022fee9317f2b34d005b0743e43a9d175fbe403ce7ba8c33c9777193864cb1aa127b7ebaacbf020c15638b8cda64b4d9cc427fb63828faa0928745942223ad956de6244b26f78f3d8c59f7a7c636236ad34359b50180d6a94d6ed0bdbee80c7f1806fa3096c69bc47e5a6abc882a7232a5b59c0aa372cd240416214007f9d317b30966abd262816047be7caaad625092908d09609033980af782552a731bf3ec145b9240a804918fbc95f5e52982630364b54e96e8029fc2058dab2f7a2222645a1695e6838ff015d9aa1fcf82b9c2f1a61fc68f18c3927bdb093aa6627cea64e5b0517983a3926b6e90f349be3c12f7b6221a4117ae58175de1622e292853fc45b6fc3c86d86fddf50c4c100e3dabce544c47d475055c9928c113683301ceb4a3b55aa1839e195884f857452a08a4701075539f8710b946b99020c6992ca683965a23f3254ff2c046d2541664022402e47d21038a6f83503f77667c176e2ae72d23c008a178a5a74c9553e945d4db4112519105b45c19892d898b98df1cbda00c9388868fc2d67ad1fc2dc2447d24d561dbda53affa05b3e1902b344c87f0cfead6227feb1afcf07df8b535f316331456bad6655ef5c28fbb048bb0bc0984c352b9217fd32b7bd5407f09377901171586563e9b3b15317b9edcd28cc595c6099c5488ab0d14727cb103b450ec76fa9cad7c71b220c2c288e44bcb8573fa63aec875c572474d981ccd51cb2e906ca443e869c721592814ccd4ab4e40a868c584255cd43558337dad68c544daac70c9b64feab6eb7bc0685a1914e9753d3abd6fc70d301b52648b7242aa8664420f00e211703b7de5a34bbf755c39324d85e25a390986765b9ac639079bdc5eeca12b5fc358ea56cebed733813809cffb43fdc9128d3356a0166d306b26ffb36d9ff63e6c252998979804b2b20d67aced52aea1d6a10e837323b6cce5021e08f0cf011b662d4576cf12b4427639c7f7c481020310e15cf0d5a0a0937e5187b75eb09ece03369df948ed30c32bba1e52f04e73ba780ce6c7f2e71d7a539eed220baef7a5036b74fe45beaa3b6cb877776768ad115bc80701501fd672dbb3cabf4c56bda835b7c1c51df4680f4833671b43000b18e3d06d925096dc4987da027077a6bf7d5bca5307a87b58c45620a70e269ceca67cb4479fdedc0abe861c29326f444f22319db3dc1c513a711a10bde1b871678646e76c447c14f753274aed30b6028cc8b25a75078c9dfe80202673ad40d43982fb7c16ba843828cf2d3355c3b97f7054814869cf7625e45647bc1547aff288dbb90699b2ad84893f3b755d9722
|
||||
|
||||
# Official test vector 88, seed: "cc7152849c98d5fed2813275d32069e44824ecb14eaef425ce017448cd9a401c91c06d0f7eed6d22b7bbe8ba6c429ec3"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = e3fc575ed51513e62aba655d24cd9c8f1c6c848aaffa946c49a53ac3ea59e474d82c2f1bf2e6aebde5660fa73356982e12999d8fdafbb3cb186341d0386dead0
|
||||
EncodedPublicKey = 8a51bdc79a0558117bc9e7310dd6b07eeaa21eb06e58cb2c744a6a02e16e8f435f4c5c6252335878caa35b432b8f90447ccb49b1749335c4ccbf77bf42a97bf6e702cbd06612478c61a39c5cb68873465e2ba445ab161457588bf5837909d41ac78946b6ca13c9a0221fd04928601843ba833181b19f880738f01f30910d636b30fe3b3a64d5a8b3f05e815875462a7d4b17af4f0a66ff707583a3a5c4e2ccab23bcf92276a1f2c454c57939f649fcfb00f2e55839c66e9e097b85d4392b010b57854ae765188dd8b8a406263b9a4741559165188c04d1537203d04a128c3de8121014204a964f513558d4037375a1c4c0c552be899b6cd23e8db56414e6719fa104654aa115e99efc8ac71d5bc377215670552eb8d63713c0784e7c0c31282b8b213f6a398a92ea93bf27030ac9a8a72a2115e1308a022ee9a07dcd7b046abca16158c28af1b913526cd52993e74674ee6a70603930650b1ff4da40828a37a9e21f8792bd2a636882b26f0cca26b20cb239aa8ee0f02c5b432304580d4c0a7a6e07b6f68b7496138d131cc407fc2b4e944b94201dc2d11239b2a97187150a791fcc36b3d54b33463242aff47937474339f787cf42509d2a51a77454d5c71fdc296d5a289c3b222c2d47479ac6a126430bff98ab1857973a487cc513a20b653ab3220d94bccec812829bc995310b6050263474d847721bb26fc6017b088fb22660613a64136aa0b815a37a92529f4b2656da252b842182384df92b8471049eea72800b60052f3b196ae2201fbb0bdcd97526e86dc1c24a94475655269d24633555f48eccf92b9f0aa05d5771960c1612f5711d82bcb3f1cd9ec52a0235b9293252b58ac3cd108206a11b4ed1087c58b8fa7b4c9246650a385cf254730f9b19865333f1f13fa5ba69e690052e1291c12099b8d8420b22abb19b9c988a37da565ab446111bd43adbc91efd6ac743a16af757c7988468fdd16aefda6e38f20ef1b6c607c6b29e1601d89083268b9baeb121ce172bd91667c80b7e5ab6a8c5ba453ee89dd58299dc493048b75b31a51ccfe74f09303a8364231ed70abe275f1b682343bcf4f60d0979c13af0b6f6b6df9c1ed7485e32d88f7b4a18f3936b63b18d15
|
||||
EncodedPrivateKey = 4279aaa760c584b9426758aa3e10148a303ebbb20905b216f7ac869409c69e273b689c491c3355314c31e34509a506367686036c325d102493a6076d95a0b79b8754e8e7a32a34b174a3a17f6092b1352b792a3d5880b5a64812e5db43729c114e4131eaf28e10ba593e03a839338395e364e124abf9f15742bc28495b16f2d581d803c6332c3d6ef43185193ef7426cb5ec81734c0745e215d8118276941ce30cabf778b4dc61256fe9641382c4de5581b555be0d270350498233f33658047d538b7372140b276a861f8857ef0447256b7a8df0b9ee5b301de630d8e231e172ac52b4c1fc714c639a04bdea4a55f16ec32b19a1248116c9ce1a7722dd3190d3249239a17938a041b5c261b0d33584807681f02c9ac5721d4b87b84a450e00b999f0843814c20666050fa24d873c02c2017622451d074043f5fac73f7753bd482617b41052503c1556738a825aea425b1ed6afe47cc34de34a34f85fede775c1c40c48d424b450a39bc6b5475989aea7b299bb7e7c3bc1fc3543e155bfe6d9888d298b0a508d03e2ab8f0c988b248a6a1b2ee7a859f8224ff5702f93ca05407c63234773e964ac4374c84e97249dd70a71237a2ee81948617e07e16ee84b6adb462d56917a76bba4686c713c3ab74bd174105b595c21b24e32bc9dba7686a87edbc544cb66a603c188e61c84b5da97efe43d4650205ccb2017f53b35253d7cc4667f724ad879c366b2565f811524f0c2cd54689d9123b85c8e1d1163ce5866d4da723c081679a9932c724c8dfb1aab1667b7762bf0d99ff82c85371932ccd0195843c10f496fb2fcbcec2ab5d84336637826dd20003995b1a5926798153e8b811261b5035d963f110428b96180d5810a45f24388a56a27f9c0dda8c2ccb5a980c32488876b7bf5af54f25e8d8720299874fae9a8ed0948908046fe5149e4ac580e80a4f934ca60b1a76119830f1662f1171d2af727ddf926cbf6b68938cc584361d81c8ad3c48d264acdca6b7fc8cc560fb6b3537b24bea69357f72e47232673a11dff440832275675075a7b9c5229f7739ee73575f2271290b1c31b54bfe58d8a51bdc79a0558117bc9e7310dd6b07eeaa21eb06e58cb2c744a6a02e16e8f435f4c5c6252335878caa35b432b8f90447ccb49b1749335c4ccbf77bf42a97bf6e702cbd06612478c61a39c5cb68873465e2ba445ab161457588bf5837909d41ac78946b6ca13c9a0221fd04928601843ba833181b19f880738f01f30910d636b30fe3b3a64d5a8b3f05e815875462a7d4b17af4f0a66ff707583a3a5c4e2ccab23bcf92276a1f2c454c57939f649fcfb00f2e55839c66e9e097b85d4392b010b57854ae765188dd8b8a406263b9a4741559165188c04d1537203d04a128c3de8121014204a964f513558d4037375a1c4c0c552be899b6cd23e8db56414e6719fa104654aa115e99efc8ac71d5bc377215670552eb8d63713c0784e7c0c31282b8b213f6a398a92ea93bf27030ac9a8a72a2115e1308a022ee9a07dcd7b046abca16158c28af1b913526cd52993e74674ee6a70603930650b1ff4da40828a37a9e21f8792bd2a636882b26f0cca26b20cb239aa8ee0f02c5b432304580d4c0a7a6e07b6f68b7496138d131cc407fc2b4e944b94201dc2d11239b2a97187150a791fcc36b3d54b33463242aff47937474339f787cf42509d2a51a77454d5c71fdc296d5a289c3b222c2d47479ac6a126430bff98ab1857973a487cc513a20b653ab3220d94bccec812829bc995310b6050263474d847721bb26fc6017b088fb22660613a64136aa0b815a37a92529f4b2656da252b842182384df92b8471049eea72800b60052f3b196ae2201fbb0bdcd97526e86dc1c24a94475655269d24633555f48eccf92b9f0aa05d5771960c1612f5711d82bcb3f1cd9ec52a0235b9293252b58ac3cd108206a11b4ed1087c58b8fa7b4c9246650a385cf254730f9b19865333f1f13fa5ba69e690052e1291c12099b8d8420b22abb19b9c988a37da565ab446111bd43adbc91efd6ac743a16af757c7988468fdd16aefda6e38f20ef1b6c607c6b29e1601d89083268b9baeb121ce172bd91667c80b7e5ab6a8c5ba453ee89dd58299dc493048b75b31a51ccfe74f09303a8364231ed70abe275f1b682343bcf4f60d0979c13af0b6f6b6df9c1ed7485e32d88f7b4a18f3936b63b18d157f98f9d79387c9fc714d8b6967d9a4d3fc42b70e9bf3a92c91d141064bc0b96cd82c2f1bf2e6aebde5660fa73356982e12999d8fdafbb3cb186341d0386dead0
|
||||
|
||||
# Official test vector 89, seed: "96d9a06f88ff2c2036fa8e914b89c765e4a510b468dee40f914f78858c811857efe9fd0e17c0048e7389e8d996b7e2b0"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 470b4943f0fe7fd0d8ec5185aba0d1db09d112934e4fb4787e2bbc6b88466e7b8b2809fd40008be70a6b184981101724bc3d5ec5e1956b510b82fd5ad0668a5a
|
||||
EncodedPublicKey = 5875592a246c3b43bf94921926c493dd9962df81941bd730fff6ba55a4b64d044951057ff4e528f9ebc4706c1bb126aee414337555c3898134e4d470ee770f63cb0fc610179bb3a03180c08773b5d1f89faff4b5fcd482b8b126823cc1ffc4ae69d3c16a1b76e2c4abd32670a9b0ada35c99d1c143d39c84defc24b6f0617b3a59626927c837a941253b33799f7596b6a83c882b131241f93fb38c3abd007eeb6521d6b5798edc7542a995066c519149aea4e65a2956230a369f2ab13076d8c2dda500f1ebc654352775b954782455e9a8a4db1045cb4a50dda07ddbd63a09377750f7c7856b26beda9214a143e7f259f48073ac5c437585322c037e17899d343232196744b211a60ac168f5c323795a9ad4001fe7e6a0c2954c8757292628c0ba6823d8963dd045619ea00849c48f250b39bf287ac7b459d1db07ef26a3d48ba6046a8c76face0d7712061a6f3f7ca32198712f646be00496856c47754b7e7b787b262753cdb126a81891e3d37dcd585bcc2a8eb21a3c8ccbc4fdf313c99361cdd519284790031b313b758ce62c13f6d83e8cb34bd25657b8aa2f6efbc604066ddbe47c146425dde9a082547d2e69293ff02604eb117d403ce4d9ba069b1bfb476c583554c723c544173021d730fb477e2286943d267d91d85f77e46c9011847684a29c35a8458998ed2121ae1a5604fc2791832ba2658bb596b34d78c8da5267f8458ec26a3dd0e79e65638a83facfca3345d6d03fdd862116faabb3f847507889c0a570f9721c15e9452a7695fc1b65b588a29142ad1bd1541e58aee2244cc7f264aa235d9b0c368dc31f86c6b7c5d117e03a43e7143c0671a6765a5f1e60a1272b21a858559fa6a5dfa5bc01a727284c48a371ba42416b7236109a338a6c7514a0da9466a740d515450f094a96928a463702ad1413850c3f74214847185a95f9b28cc95644494efa2cb29895c49098bc7afcb92cf43837108c8139b83945647d466f8265b9a52b1a46c6cd5b6652dc98989e219ae0435830d56ae263145e01ce4e8caccaf7102c264bc302a856abc82b546dca43c92f72079b0a8faa29478d49d96774740df57c364159dc0ea955fcb45dc26d50d95fdc070c0907bb3d71
|
||||
EncodedPrivateKey = 36f203e5777e81b49d180069d96cace8d4b23df37cecc19da0a909628829efc58d490b1a9be6638ba00d26245102b9843349a9cf35bb08356a4e990e5df2b6f3063a825868000a4148397ff34522a5553b07040d97964a1a1b69d9e452b61ccb11a3b5449c813b4aae8afa7aeddc74d53563f0bca10fdc6ceed4bd0f8b6ae87c5d00f50a60533f6fa8a081a146fc390286e914dac921319ab82eab5df6b42886531f92855ed99b246893726fdc5a4824a703ec518b261eae620e22d37f7e2973507a69792ca2b6324c5ac63355cb5fd1341cf652ce487771181c2c2f4660681c74ba801cd48a0adc09339d396383f5c07d38754673a7e4153b5ccb63c6356411e95ba3785ba4342461231e7b604b30496b1f00b821a346ca98ca92108a6baa483b86c80cc51abd6a242bfc8722573216da4be0a9bd311a11c9a163e131bdc5c58467838310400df5515310fbc0e015c966e7b2d4619373a4bf0d54b34bd4b5267b2ed6c718f497a7b66cc9f949abeb3028df9caab55824fff5368e4a74850930143986ecb210f6258b8ff7c5f3e951e58c848e178b163510a353347b4c4a0f5b425590cebdc3028037894008ad9c22aa574216dde4a3ee4961c2445c8389c4e7d45be2eb797259462559cdc416c5ebe0b879477d5c398729264599710361316d975a4a841675aa0579a306a37628297e3a10cda97b6ad9683dac035459a6834a15d8a080db51774faa95b5a61519dc6bc1a7a912a82123bc8ba3d51f828569e154bd8c2a9f400234f7670fa18688b0f6aeb0a73c89f12c1d06a9f49923a76c51ec170b3e6574bdb01ae19479b17700691765a98675e9c8b210aa1873dacecf966ac250c779662a52ab4264cc283b939c93669de2620add614fbdd71cc1b8041a075e63716f88102b57d58fc46bc5c427a3c5403f343941a6109f81306a583554b0eca1d437734ed262171a192d3b52e4308471194195d29813b067be8a119daac6ae572e6ab82dd95018d230b73a477ef8f38b3f0551f2292aac04c99487536429a6d2d64671e8767fd40c12c64faa2aba93cb7746849991f202eba2c51709855875592a246c3b43bf94921926c493dd9962df81941bd730fff6ba55a4b64d044951057ff4e528f9ebc4706c1bb126aee414337555c3898134e4d470ee770f63cb0fc610179bb3a03180c08773b5d1f89faff4b5fcd482b8b126823cc1ffc4ae69d3c16a1b76e2c4abd32670a9b0ada35c99d1c143d39c84defc24b6f0617b3a59626927c837a941253b33799f7596b6a83c882b131241f93fb38c3abd007eeb6521d6b5798edc7542a995066c519149aea4e65a2956230a369f2ab13076d8c2dda500f1ebc654352775b954782455e9a8a4db1045cb4a50dda07ddbd63a09377750f7c7856b26beda9214a143e7f259f48073ac5c437585322c037e17899d343232196744b211a60ac168f5c323795a9ad4001fe7e6a0c2954c8757292628c0ba6823d8963dd045619ea00849c48f250b39bf287ac7b459d1db07ef26a3d48ba6046a8c76face0d7712061a6f3f7ca32198712f646be00496856c47754b7e7b787b262753cdb126a81891e3d37dcd585bcc2a8eb21a3c8ccbc4fdf313c99361cdd519284790031b313b758ce62c13f6d83e8cb34bd25657b8aa2f6efbc604066ddbe47c146425dde9a082547d2e69293ff02604eb117d403ce4d9ba069b1bfb476c583554c723c544173021d730fb477e2286943d267d91d85f77e46c9011847684a29c35a8458998ed2121ae1a5604fc2791832ba2658bb596b34d78c8da5267f8458ec26a3dd0e79e65638a83facfca3345d6d03fdd862116faabb3f847507889c0a570f9721c15e9452a7695fc1b65b588a29142ad1bd1541e58aee2244cc7f264aa235d9b0c368dc31f86c6b7c5d117e03a43e7143c0671a6765a5f1e60a1272b21a858559fa6a5dfa5bc01a727284c48a371ba42416b7236109a338a6c7514a0da9466a740d515450f094a96928a463702ad1413850c3f74214847185a95f9b28cc95644494efa2cb29895c49098bc7afcb92cf43837108c8139b83945647d466f8265b9a52b1a46c6cd5b6652dc98989e219ae0435830d56ae263145e01ce4e8caccaf7102c264bc302a856abc82b546dca43c92f72079b0a8faa29478d49d96774740df57c364159dc0ea955fcb45dc26d50d95fdc070c0907bb3d71f4a3d6f2e2c32b72d9919dde7e967db8a0244c9a5bebdc5fa3943b16e14c8f0d8b2809fd40008be70a6b184981101724bc3d5ec5e1956b510b82fd5ad0668a5a
|
||||
|
||||
# Official test vector 90, seed: "d26ce360d399bf7b89dc364aa7ac06bb513eab8f527383e93e30727edc3f22c262aa0ec70257b39edff0630dcdc1b79a"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 6df4385db978d27b27d2aa5e452e4152b36f097503d9581ac3390105c5727e7dc95fa08ed106ce84660e8a4c90bd2b22634e40769aa0090a101c5dddad45edc5
|
||||
EncodedPublicKey = 15ba2514672a6a600e7a2590c2759315f09be34160fd954d83992e317412d8c358b45b75c6604d1a576ea8b1cce1a4a822655d8800cbe5d735bc60ce96372fe43112b461b932b092e52619d42368d19b60c459222fd7c0a4b1709cab0b7fba2dc4758a412206bbf8c212402ce0ca1619b682e895aefb053f92d315bcc3588c4c407e510c8173c2d7d75b71552475766e34084c8655c1b14978af32123eb79ecb3a6889b34bc996a25891988900c6ee6c993e492af796784f949ecbe910bf2b98090aa814dc5cd87469785a433895b1c81349d5e2c6c673526801414de956268216bc1c8852dc3746351d99e56ca5d9487a8bc9fa8b7a1c819f90fccf736198dbd5b17c66c0f4958bb8a759fe8693e3009493b4b38bb419d1499a3077269a200f38557797c48e05140f647a2a92dc3d39934b5beab32ea55cf2db9b2da3b3c72831e36aa973f68e16e1a66c7230a8b13d15baaf09725740316e519b12fe4243a1516cd5f359da707deeca63cd785f62976b8811aa3763be93d786c1442a3aa7cea52aa9fb767ee83605bb555dce9501d6ba7fa402b27acb49534a2f5fd07004442b797404b2f507881c9bcabcbd172704c0a2cf53835410f1c30a6872150b200c33becfc4466667c3d86a527069881eba97a35123acd3c1f295ad0f727bf3319a8f03962c3a94dd0000fad9ae677c2d953481b76ba72024cea8f835b88a534e5998177a2ce6d205103488a0d119c2117eebd77c46b10803037d7f82b629a988ed58b9f157ca183a4dba7a23eb787f0bf7c675450bdd585d100b0cfbb489317b6de7e2cf7b111d2d619abbd04317928fcdd7397884241cf4cc5fcc4266acb83f562b58b24565b57f8887786a9589d16847358b09a9d1c0d39c60adb4a767fc02bd27812f40acff016547d97314981960707ed6688338b530b4979c5a7ab741078dae469d40702b935b521d6397d23c8d67e4a07fa4c56bca0c7ba93b4e0618ebb8694049616f274f30f5016eba6a93faabbfaa242a76485fc371e1d22b982b86f0fc773ca833bc446e9058a37b62793fd934b9a9625e4a55e7c44a2a518309e4b7f59af9e5d60d7fdc7209cf1d1ffa7a2dccc45e3f73776fe5300949ee92cad801
|
||||
EncodedPrivateKey = 5bda82cfb9b1a6f03575a26fa84a3cff27c8eb9512d84b98912094a009328338094dbc5bfbea7095f75a9c030017669e9df15332bb0cd37c9f55d5aaa4dc458e0236c86983d8c9849e7b34b741526b5b84d85569a129372563851262001e16ad83f9b157321e33557f9755171f686207047156bc52b0cb09cad1c90f834974d06b6a5aa2fc802b89a2a58896631e6557501975b7b76c8da1b90c9a8b4908b51a80c8da9282eaa59bfcea0fed8cb06fd4820c518bd3532c39644e06a50d891b4b50021bbc239aad0c5e25fa3c7a340dc0fc734aea2f6e14ce719995af54bbf4f9b1c0038167f36f9b750511d3229a90148ac1b5b0118387fb3bc02391002a3aa057c27c007a00b7437756b1647cc2da3389c96a49ebd50eef310481728e3819868e1774125839f2787a4bd706bb6557526718306967ac075c7cd72b96abc8e2c8655c535a6e06c89e7b3050dcb460569edb7ac855d810333043fc11a6a06335741a8c64806758960eabe0c313b65d52b913b4a274be3a3c4cd0c07c309bb4956cb3ca1a6ef61b88259c60a0534d8983cc1a78e8932af3bbb6839584fcb34565ab9fc45827089c81e985ce9bb33aebf9cc7de7b2fb5246af30cbbeb51e1b59b188d6249f126e2e3154fb2c4a2737bdf7550629a346b083cbf1b8478038c5a7d63be2f13a7fb27d932b07b39ac162d666093a0ec0a4246fb74c34c79fb00a286b2a5754d477a9ab2bdc709114f1ade688c9fcf0545ad3a796318dcf036996b08451a608650399726223d71a3edbbc46d4770d5f8c8b46248adc472f82604fe119cabc98b471826ce5f97260e222f01721ddfbc924b678c4e01c2629016fd3ce55c4a52bc0c143689dcda04f79dbafea88a56df79850940e99999cab54b6755258548a24c2c6bebf171ef7d36e5bbc567d593d9bd6858abc102cb19c22a31bf8d02027f822c17462c0d32a8831c7b5f8a0027139daf232f654b27b12722b6c5f3ed0336380856875cce5fc556276942b137a685892e8d55c7d31234acc308e31217fc36b6b3a524976696e527a82c4ba9ec20aea9a98f8795d0e6bc52c2b886ffb2215ba2514672a6a600e7a2590c2759315f09be34160fd954d83992e317412d8c358b45b75c6604d1a576ea8b1cce1a4a822655d8800cbe5d735bc60ce96372fe43112b461b932b092e52619d42368d19b60c459222fd7c0a4b1709cab0b7fba2dc4758a412206bbf8c212402ce0ca1619b682e895aefb053f92d315bcc3588c4c407e510c8173c2d7d75b71552475766e34084c8655c1b14978af32123eb79ecb3a6889b34bc996a25891988900c6ee6c993e492af796784f949ecbe910bf2b98090aa814dc5cd87469785a433895b1c81349d5e2c6c673526801414de956268216bc1c8852dc3746351d99e56ca5d9487a8bc9fa8b7a1c819f90fccf736198dbd5b17c66c0f4958bb8a759fe8693e3009493b4b38bb419d1499a3077269a200f38557797c48e05140f647a2a92dc3d39934b5beab32ea55cf2db9b2da3b3c72831e36aa973f68e16e1a66c7230a8b13d15baaf09725740316e519b12fe4243a1516cd5f359da707deeca63cd785f62976b8811aa3763be93d786c1442a3aa7cea52aa9fb767ee83605bb555dce9501d6ba7fa402b27acb49534a2f5fd07004442b797404b2f507881c9bcabcbd172704c0a2cf53835410f1c30a6872150b200c33becfc4466667c3d86a527069881eba97a35123acd3c1f295ad0f727bf3319a8f03962c3a94dd0000fad9ae677c2d953481b76ba72024cea8f835b88a534e5998177a2ce6d205103488a0d119c2117eebd77c46b10803037d7f82b629a988ed58b9f157ca183a4dba7a23eb787f0bf7c675450bdd585d100b0cfbb489317b6de7e2cf7b111d2d619abbd04317928fcdd7397884241cf4cc5fcc4266acb83f562b58b24565b57f8887786a9589d16847358b09a9d1c0d39c60adb4a767fc02bd27812f40acff016547d97314981960707ed6688338b530b4979c5a7ab741078dae469d40702b935b521d6397d23c8d67e4a07fa4c56bca0c7ba93b4e0618ebb8694049616f274f30f5016eba6a93faabbfaa242a76485fc371e1d22b982b86f0fc773ca833bc446e9058a37b62793fd934b9a9625e4a55e7c44a2a518309e4b7f59af9e5d60d7fdc7209cf1d1ffa7a2dccc45e3f73776fe5300949ee92cad801bece5ca55652de7b7f5917be686f171b7ae79cc71abcdfe2e1b687f72ba8804ec95fa08ed106ce84660e8a4c90bd2b22634e40769aa0090a101c5dddad45edc5
|
||||
|
||||
# Official test vector 91, seed: "c5856298c3cb6ac9787a0f30938537ab2635b96f6d19cc9522063360e7a5c88e644929d2879180e3e5bcad2422b7cfc3"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = dbacba825728444921b227cdba54446b3f6881b47be9cd02832f78b023b1bee0e15274a8e2bc08fe818b117ba28c5dfae74d54fcdf6f20052f79be333edc8dde
|
||||
EncodedPublicKey = c9c974e3dab3fe2c2fb53610cf0c64d2038dc0b96125095e69f8cbace70083730ddf1938e3261b4d598ea1a032613bcb7f4a4db4c3c0cfe09350fc996eda371e946032774dad6a266bf0a3c1242e9cc06b633ac530d22e36cb6a39bb2f32b7c4f62965031b128bd24487c6c9eb061ee761bfb9545a7a36c6af4cc0656819f9a364fd12c3891265fefc865e779b330949aec318153c16a7530b22f390df2044ca416cf9c5931190031e33167a639d5aa352e4833f58b7b44baa03bea856ee29a8a76050a213981ec18a5e662aa551864eb58baf85457396cb4a72a685347fb2983b4d852d33e788a35ab83086ac28f97f2fba145742167d16295f78224667672d262aef76a6ba1541440308fb68ba80eb6f3d078b202b135dc2abc51a2b3ea9a276a8500b9551c48ab72d466e28887b47c93c9213be5444412e7679418187913c5c27e44fe6b7393ffac36496ace183bd8bc894b1e819939b7af79a3519b045f0b3464da6a827ca918fa086f0e164178c6d3cd108e767b143794f16f494560338b6d22a4bf3ade3a31135a82cab943ebf4161f69b2a93f5c760545b74e81153b94a748b45415569442937999b7edfa48b275c07fab050b9732eeb0ca8c5b03f8fe99756e14e38e84f932c88f5f014b793c407fa62bcf744cd2404edf907d3615139a881f1805b92305d03358eaf05c70171af1bec86bf360771fb10fa806591d811152ab2b38873dbbb04584040bb50375c3a016742c7b7735a27c148cfa9c3e63778cd70927c26a063062f2ba029961405c227371b47a634a271a20855fb84154c486cfdb2824c41b16540233fbb37f5d983f209bdf0a72ad6ba673b6b42159a648f585396a18ea8c041669b8ca5442c5a9548f926119ff97258cccb8348c95192a12ce08f38885fe84c92029ba1df64ca096c9801534891a473664a74895323615a23f863ccafb9424e000e1b74b0c1e74c46b4c520a30e9be232e104b27ff3968ccb728e0a2785460151461d8af52143082ac93c847db1ae32da243ad48be5c9a31777472bea6d46248df05587ebf94e34e846b5cc1f653b35d8096f428921299508464e7ba0b0e4b572ecf7dc0f591254b2e8ef7ac69f7ff5ddd35962a12e
|
||||
EncodedPrivateKey = 3e1c6c87d83191584964ac22cd5a7756d6b7ce80581686902180c478e28e23d5124e9b8d5a2b189225cb16ab36ac84bea2d8271255abdb34c39b5111e45a773dba23b2c778bfa1a826a63c1d20270d9268a9d41937d41bada37a86b342d0969a07337cea8586cbdc7917f5553cc31a260b1ab2418b6a461ffb41737ff3479ceb3636893ad5612a5e26b1ccf1aa193653ed5aa1c6e932392ba1b496c796a5cb76e3b4caa210cf869080cb475cf8746ef618a9860654f1aec2da778fc58b0928ad9af50399b87ac817568581b4bfd380348535f41b128f497dc43936923691bda3a7873c96538a01b3e318f910a02ba0569af29958a5cad1a3113e71551ad810c998cfdd2c21c6da7f9b552fba0244c7d32147586afcd6c44377afaed7ca6696be7fb36d16db0194e20584e52e2047176aa5a225545f874745429c2cfb0c277d7c196595768d2926a6386b720bc018949f27e263b9c7be47f7a2d7f919fe4653d7c3b6a297906b04ca00f8c0a17761ae8b54be62bd05c54834887980a80062a9bc84646e47d466c9883e965cc25045506da65058a1ca1e2821a6a49275e736a93272e40270fb9a72d0440d5e81789c22b2dc567b52d16bc8235a813b2a4a9c7326429a17db999c48741fa6b7f0a03496447cad6b554f511dce1b0e0e9a05772a207d98a6e92782302210ae546954abaa3f7cb7fc17290263a1faca82173614e9e648d767bfce57219ed06080c7000fb5bc6c16c8749007659374bda75c7398bb9ae7acc449379f646ffb993a594c8967294ce242c20456bc52db50699b551a138d4b5a29156b42a1d21e9252cab17273bedb163cc95b37756f9d288f2af39b81140f28395cd6c17c8f0b9b8e759b08ec028ae21885eb77568924f140449d836ca8639d3411cc916b2530438c9cbac5bd252043706161922198a38edc254d442700737ca5bbb6cd2b8ab64007557c165912037aa1a670e96a8c25a810c238659cf1532db86142d70af6fc2740e15aacbc8c6ee00bf9eb8e8b603038e3ab7a20c908024a0b886ebd0067ba226ff4cc58059865bb991389848c4b1037b5ac4aca24c6c9c974e3dab3fe2c2fb53610cf0c64d2038dc0b96125095e69f8cbace70083730ddf1938e3261b4d598ea1a032613bcb7f4a4db4c3c0cfe09350fc996eda371e946032774dad6a266bf0a3c1242e9cc06b633ac530d22e36cb6a39bb2f32b7c4f62965031b128bd24487c6c9eb061ee761bfb9545a7a36c6af4cc0656819f9a364fd12c3891265fefc865e779b330949aec318153c16a7530b22f390df2044ca416cf9c5931190031e33167a639d5aa352e4833f58b7b44baa03bea856ee29a8a76050a213981ec18a5e662aa551864eb58baf85457396cb4a72a685347fb2983b4d852d33e788a35ab83086ac28f97f2fba145742167d16295f78224667672d262aef76a6ba1541440308fb68ba80eb6f3d078b202b135dc2abc51a2b3ea9a276a8500b9551c48ab72d466e28887b47c93c9213be5444412e7679418187913c5c27e44fe6b7393ffac36496ace183bd8bc894b1e819939b7af79a3519b045f0b3464da6a827ca918fa086f0e164178c6d3cd108e767b143794f16f494560338b6d22a4bf3ade3a31135a82cab943ebf4161f69b2a93f5c760545b74e81153b94a748b45415569442937999b7edfa48b275c07fab050b9732eeb0ca8c5b03f8fe99756e14e38e84f932c88f5f014b793c407fa62bcf744cd2404edf907d3615139a881f1805b92305d03358eaf05c70171af1bec86bf360771fb10fa806591d811152ab2b38873dbbb04584040bb50375c3a016742c7b7735a27c148cfa9c3e63778cd70927c26a063062f2ba029961405c227371b47a634a271a20855fb84154c486cfdb2824c41b16540233fbb37f5d983f209bdf0a72ad6ba673b6b42159a648f585396a18ea8c041669b8ca5442c5a9548f926119ff97258cccb8348c95192a12ce08f38885fe84c92029ba1df64ca096c9801534891a473664a74895323615a23f863ccafb9424e000e1b74b0c1e74c46b4c520a30e9be232e104b27ff3968ccb728e0a2785460151461d8af52143082ac93c847db1ae32da243ad48be5c9a31777472bea6d46248df05587ebf94e34e846b5cc1f653b35d8096f428921299508464e7ba0b0e4b572ecf7dc0f591254b2e8ef7ac69f7ff5ddd35962a12e141216a25195bd89a10315ce19a15765a65eaa8e2a9b73273bcc6c5366c9923fe15274a8e2bc08fe818b117ba28c5dfae74d54fcdf6f20052f79be333edc8dde
|
||||
|
||||
# Official test vector 92, seed: "a28ead0a08e7228aeff602b16a1e752278b8ed1e91dac67994f5adc372e1d82f95cc390cd97ab9212275e0566c833fd8"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 690eb71fd7052b906eaec09937a8ed374e0b02afa27c2f14399932be5839fad281c38c2cb5cfafac81b96a810ab749b61806b6d54c9f8cf4bf1be0192423288f
|
||||
EncodedPublicKey = 91791a033a49c5959066b887fc49c7af90286b6a1bd1691c365c3cfa77c50bca224b4bc5dc2009aa16cc465603a0a51e0c522779f01d17dcc5df97c887c113f44bc2db825b166a582ada87c38b80e1484fdc67aa292a530caab7ec6913c5308fa8d1c8eec7bd75f0c12dd87da5882eb45b84ec98067c32a7e4ec76f73cb3efb705b04a7a6d8214b2b86d407ba22ba54e2aa1ac2b6629ffb589b73c26edc28ef5c74a640a90d9e59c647993321b2990430952ecbe13216429d52bdf94bf1a763e09fb6f9955031f4689192054b95a335ad71089b4965e39624ca23a12314f61ca9b0664c17b869dc749b29919041fdacd8cdb4e40aca0717c93f48319415c4535f605b757837ae6bd285abad6dc9e0af98af31599871478ac1c97c93982d9fb90b27a0bcb586dd81abe25d9aef0dcb26b39032438c196fa515d827c0f7b68b92b68ca794adf58c7c3b94b98e6b65504150753a3eb661d401352d76b604a104729119d2f8c8911d5b6bba739bd454d62517ddc50447db85fe19106e58676b48343eaf484cc0591b8658ee54943324913f82ab266a73c7ce899dfe53eb3652d0989a5e1c9ae7685537e48a8237b7d5f1c740caa6b46707e8f22b5c56b6b08f54736b0392ca86cff87af89ab4101310fb7f36625038b75c261d8c41ff03718253765744679728714f1f34b043330b28b1dc446a119e7c0321cc2fe7c6fa03788962c5b93d38fb11116e0d9bc91f2cc9757796136366190c445f493c88c4d5decb910216eed794c64a36f5a53670ac27b3205c7dae57f4015b4102157e9f09aa8391eb6760692d42301b304a495490f3b3c27f3714f3057a2e64a6601aa7707d0c1054648ea0a6c67b5d10925aae93613234269d8bfdc77a0d7f98951e2705eac8d9d7c734e311502897ae34549f6e6a78bd8b6446854c8082d7e276996204b14e27ef8e9ab68a26961469cc6c83fd7b40472822b525a1b7c187b310620d5768737b17e723935937c6c72757fb8d658c0b143519ba0ff47165d105693623e6b73c452247c3530b3890973720a786cd37e9da16accf5094d749fe4d9a2da3524fed816832faf1c32ea1e161d04b50ad2147a1a6b7d8c591efa50e226c1f06cacb7a77a
|
||||
EncodedPrivateKey = 14058821f9ae9161a750457b45d42d06275ff1ba3928040c820b03ad417376a347098988421598b50c8fb7c14217319539a70b57eb9e358bc2fb780f6c961bb2ab5a6f79346c563a8b7aa295b87b1dfc52537c795c754e0a977af1899f0fa96666f436704390bdc30b2a0338737342a7076817c03d5fc71d781846e89c2fa8c90588398679da55ab6555a37679f5967dc53c7b6b793010a6780ef6b69a72542d903e0b799a290b95908a6fc2f4c5d8017b85b1b47085a6b4db467ae44639d9bd6d488f9e46b131244385d8a51382bbe25bc0b3719ea916c0ded603bdc64a1dc403c151804c856056374049c5b17956b70a9728c717329a87bd9686701f939ecb5c8ecfb6cbb4994565b760f7883d13f0c35347371d410d9c0aaecb4c407c4464b9709f5157669713067f85199095b8f7aca43e388aba833b386ccfeabb9e5aab4743624e023b505c78173c398c4f36141592c164a32ec3c37b7a634776324f7f940314777213a27a7f73c11d921cde145fe6f548d259410478a6b0171320e76d1ec91fcc468994703710e866121b2854e997241515b8191208f013fbb451dc88a32b510f3c80ccfa53c699a895e18c71259611efd0b43518a452e69b31c083e7401b18fac7c7627faf9c119e838381aa1bb79697798970d82cb4361582d6726ca2044efee6c9734c253099bde966580dcc41c20c9b8b898689f16570794361293914980a25d1cb948c3046b1318c9846014894d2719422c791c9db6e0a6236c42ab7b869a53ea52d0fd90310648ff291837c897c1d4c46866179a2a4ab2f366ff4cc154b542515a3512c6c9c3a7c1674e96281dbc789c96b82008862d77a1a689a08ea88f9d6208062161fd48044941c613905ee2585ba43c5f2f59882136abcd595a3ca98d3895cd1f78d01291c4cd143ebc5cc4907590511cfbb6cc339acc6f59c089a43cda406afc00cc878033605d08083e52dec22844ed8554da68504307d0ef627cec416455c1fd3e3202f1c55731196078688e49c788d19374f9a893d546c699cccbac338fc8a6c1c6474037a3d1c653713bc41cd114effa08f5e80c091791a033a49c5959066b887fc49c7af90286b6a1bd1691c365c3cfa77c50bca224b4bc5dc2009aa16cc465603a0a51e0c522779f01d17dcc5df97c887c113f44bc2db825b166a582ada87c38b80e1484fdc67aa292a530caab7ec6913c5308fa8d1c8eec7bd75f0c12dd87da5882eb45b84ec98067c32a7e4ec76f73cb3efb705b04a7a6d8214b2b86d407ba22ba54e2aa1ac2b6629ffb589b73c26edc28ef5c74a640a90d9e59c647993321b2990430952ecbe13216429d52bdf94bf1a763e09fb6f9955031f4689192054b95a335ad71089b4965e39624ca23a12314f61ca9b0664c17b869dc749b29919041fdacd8cdb4e40aca0717c93f48319415c4535f605b757837ae6bd285abad6dc9e0af98af31599871478ac1c97c93982d9fb90b27a0bcb586dd81abe25d9aef0dcb26b39032438c196fa515d827c0f7b68b92b68ca794adf58c7c3b94b98e6b65504150753a3eb661d401352d76b604a104729119d2f8c8911d5b6bba739bd454d62517ddc50447db85fe19106e58676b48343eaf484cc0591b8658ee54943324913f82ab266a73c7ce899dfe53eb3652d0989a5e1c9ae7685537e48a8237b7d5f1c740caa6b46707e8f22b5c56b6b08f54736b0392ca86cff87af89ab4101310fb7f36625038b75c261d8c41ff03718253765744679728714f1f34b043330b28b1dc446a119e7c0321cc2fe7c6fa03788962c5b93d38fb11116e0d9bc91f2cc9757796136366190c445f493c88c4d5decb910216eed794c64a36f5a53670ac27b3205c7dae57f4015b4102157e9f09aa8391eb6760692d42301b304a495490f3b3c27f3714f3057a2e64a6601aa7707d0c1054648ea0a6c67b5d10925aae93613234269d8bfdc77a0d7f98951e2705eac8d9d7c734e311502897ae34549f6e6a78bd8b6446854c8082d7e276996204b14e27ef8e9ab68a26961469cc6c83fd7b40472822b525a1b7c187b310620d5768737b17e723935937c6c72757fb8d658c0b143519ba0ff47165d105693623e6b73c452247c3530b3890973720a786cd37e9da16accf5094d749fe4d9a2da3524fed816832faf1c32ea1e161d04b50ad2147a1a6b7d8c591efa50e226c1f06cacb7a77a473638d5ab7765f1748d03eaac231bbec8c33f5717af7f95be3666edf99ab01781c38c2cb5cfafac81b96a810ab749b61806b6d54c9f8cf4bf1be0192423288f
|
||||
|
||||
# Official test vector 93, seed: "92877d706daf88ef3412eb143db8cd91bc047a9a43b7acdaa42523560dee4c172697be4332042fcab91135839bf74ab2"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 32e0ea9089fa928482c0770da545af1bb871a03ce38604138b0d08ea2a10ca2bc06c5bef7b6508409daf847a64c8d30d0974fd3ba7476dc76c46b458a036d884
|
||||
EncodedPublicKey = 269123a7e0259c74423b4607ac9297fd0084f40ca86cd90d7bd990500569bad72010db32c6da683108c5fea70f63c9900c6acb1bb3a819434f8944c499976e11f95a7d225d3d73b4bba2656c10c76ca9c1b619077bb79da05687f954c13257a156248a98751e74641991b97feac4bb10b5aeadba8f6d3694d4d957bb7209e583a9aadb69be8c1cf94b57abdb75b73973eb7129a6788088fb7ac6621978404fd9f10a3ed3cde6803a58c489f286029df38512d322761a5ebbb81266b8859c637476e2576fd14ae22b946a93c69b1c2dd2363d424a1fea960289e5420a0257841736cc561d65972391f3c6ed2084b5d9c8bbc45bf871cbba72bf1c0658b9449064cb30581201fd259f69657e0e0b494009153587a4f2aa24297333efb3c7223a4d79db2ecfd0cd5641a56fb54c69f544b9e42f47e458159b074fa4af2c53ac56090265353c4588ac57c7c8863b9ec5a88ac149ab20e1631110c829eb61825c802c4b7a8a7613ffc68151429dbd8313809a7bccdc39e1ca9c96615ab5f0b987fa7d6a537233fb1bee2053737c87f72c3bd381b7a899110a53bf83417cd7e2581f117fb5097d015574705c3d98118b2823b428556164861a3bf97e7c35c1a6d07b61fa315955476c1cbf2e487fba757932c82953c60b71030e91b6b2abbb4d4793565f1c0a254385710bb850f877ab4b04362c88ecab4241abc563e5c873c715761529a5063968dc29bc878455aa6ac637601e6045e3d8766004b04788469352656e12b3694b8ca86179eff82fc654443b240d3d94c91e254c6f4b0982c17ffee96f52a319221027c9d3207a87a80c191effa3cd7e74ccf6474cfa40599efb20e51b47ed65a9804308725a010b4acfd80b47438a7bc908761e5865649013e495c9ad5642f149a935962a6a81cb85accf530a7f33b7c332b8554f46c2125112da3535259247ef9acfcf259cca793a173184360c2b5d8bcf7666bb8c0437c9b2ae08679178b55b0dfa5aeb5493581a517e622eb249cdf95754d440cd9cb53fb8b1034556b5b8b9aec5e4108e3c3275bc20ff0c6b754ca6b97554c2700ad582b24fa464459f41f46185133a9497e93a7304fb4a9bc9d9cc5c2d3b1269ff64ec97930543
|
||||
EncodedPrivateKey = 35c4c31a9497c0c4a69803b037aa2a3cba19e0a6c88f09179dcb1267fbcc1e56249522cfb2990a1837bac6e13d7791b09ca442e588bafe038229223971b67efafc5fd7580e867499039a312fd488def410f57b2f7debbee98a5f063711336a126c682319b328742a09bb46b41936aa66197f1be28c2cca79618b831feaaf4d5640c66c5a0bf086d4797ef9f55c91b4ccbee8b5ccd2a8682ca153a749f0b166054694c5d698f1298a68f92165786d4a527316f888f5463c2c9302f0906385eac85ba63b553b06fbdb35aa229b8e5347fb8c025219597e2ab24c662f5da771d724cb3a2c0681b76d9b48af4132c720db07f95b88b0844ca3c6381df15eba815a55dc341c0bbd69d9948b60a3eec884bdc54f10c107ff1b79dc143113b93fcbc35f13c122dca83200fc9ddf2548d61b996ada89233b07046c2daba7c1d7684b6c4140941ac1fec8918d11970b9bbb7e3940160021e972a873f54a439826176b7a03d023fa70713ef568b9635aea523128c197f713b21849acf738ba1b79092285c446d767e3c68a1313a1224a3d34b916475a6199574b87ba5cec91c838073bcb373c6df94c741592a45b3ca9d52fc4496e54433330117a36186a134b9dfbd52a1b603ca96c7526d159cf5234966caaac10638198322dd205f59a516fa651a20445397b884558a6cb5738b118509c2c9d44a50dc29357f218b309cc9b49330e07ca9d37606d8775102420b88e3a7e9bfba29ca7cd053b3c6ff1b05f1b8961d64330774ccc076d2a1110ccf11beae996ef859a6cc33eb9322bb47331bb52672f397e509c865fc222b1571398555f6d4cb484152130f916fcd85d64960f11830bcab697199594ea8896e07c17f5940475383dd90b49f8a96a35076fa2b0b66af78900596d40a6156788a0a6712408f643217a5ea4b41e366658723c65797c09cca970bc14ce6d2883a7008cb9fb4ba121a232d901d984af6db48c5a9b1e7798244da17d529813fe0a573b0b96fe94c97178aaba5009d35b42324b922e4a42c287adb2b9a323e54200ab73ae1ac460d265ab46c10f781ee0a628d33c2b4b2053e72a3a269123a7e0259c74423b4607ac9297fd0084f40ca86cd90d7bd990500569bad72010db32c6da683108c5fea70f63c9900c6acb1bb3a819434f8944c499976e11f95a7d225d3d73b4bba2656c10c76ca9c1b619077bb79da05687f954c13257a156248a98751e74641991b97feac4bb10b5aeadba8f6d3694d4d957bb7209e583a9aadb69be8c1cf94b57abdb75b73973eb7129a6788088fb7ac6621978404fd9f10a3ed3cde6803a58c489f286029df38512d322761a5ebbb81266b8859c637476e2576fd14ae22b946a93c69b1c2dd2363d424a1fea960289e5420a0257841736cc561d65972391f3c6ed2084b5d9c8bbc45bf871cbba72bf1c0658b9449064cb30581201fd259f69657e0e0b494009153587a4f2aa24297333efb3c7223a4d79db2ecfd0cd5641a56fb54c69f544b9e42f47e458159b074fa4af2c53ac56090265353c4588ac57c7c8863b9ec5a88ac149ab20e1631110c829eb61825c802c4b7a8a7613ffc68151429dbd8313809a7bccdc39e1ca9c96615ab5f0b987fa7d6a537233fb1bee2053737c87f72c3bd381b7a899110a53bf83417cd7e2581f117fb5097d015574705c3d98118b2823b428556164861a3bf97e7c35c1a6d07b61fa315955476c1cbf2e487fba757932c82953c60b71030e91b6b2abbb4d4793565f1c0a254385710bb850f877ab4b04362c88ecab4241abc563e5c873c715761529a5063968dc29bc878455aa6ac637601e6045e3d8766004b04788469352656e12b3694b8ca86179eff82fc654443b240d3d94c91e254c6f4b0982c17ffee96f52a319221027c9d3207a87a80c191effa3cd7e74ccf6474cfa40599efb20e51b47ed65a9804308725a010b4acfd80b47438a7bc908761e5865649013e495c9ad5642f149a935962a6a81cb85accf530a7f33b7c332b8554f46c2125112da3535259247ef9acfcf259cca793a173184360c2b5d8bcf7666bb8c0437c9b2ae08679178b55b0dfa5aeb5493581a517e622eb249cdf95754d440cd9cb53fb8b1034556b5b8b9aec5e4108e3c3275bc20ff0c6b754ca6b97554c2700ad582b24fa464459f41f46185133a9497e93a7304fb4a9bc9d9cc5c2d3b1269ff64ec9793054388c5687884496ccbd4372a334045192a50e1c410459f95cc29fb4c5f68401c8ac06c5bef7b6508409daf847a64c8d30d0974fd3ba7476dc76c46b458a036d884
|
||||
|
||||
# Official test vector 94, seed: "bb4c0082ca4044b1ff60b036c9b0e0495d58667156786c530bc69d949a13bfaff53798e456423d7a0e162a60039367d7"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 6fb2ec719f2a0dea152bf3f64b9d148f8ab8ba88f64e61f5db53e12d59f525574f797c007e4061f95c7d56cfc7ee5c49e849dde3fea8f25e7876df2a18515c34
|
||||
EncodedPublicKey = aef2af2894515ecc098948784256c96daa692d77c3736070ec87962c2b22602b20b7d8b0b1020521e8a9f760928bb7a1b16ab1f9c5a7665a2f0da85abac486c86a6db9994279305685365ca27b64c10080fbf0707057cc1fdc349b68cd29bcaf3cd869bfe084498c628415be3442c452951b867b23b838c0d7f765554b33be09bc8a19941e40cfd2a731c73c0569f08108080b60008c3b6c0d2cdc6a70e6449a202198f65d587454b712c2d2535e049314a5eac4c44217c327473ba872ba504cff400915eac31b05a6a5b1cc8df19d4594be869a4ebafc8fea4178cd6bc7d86352ab8aac609aa4a9022aae550745954685274aeb84936763486d2ca1d99c8fe5d151ecd2314d661ccdf94101aa4ce94c004f4a2bdd73ab5a7180bf183cb0a98290e618906118a94b5d477830090c64c14b867d35bb4581133324cb5123495b104030084c27c269f489a7ca622986b166c9451c47b04499ecc65854b02e1c643243a29a14a27a35ab73715a636a6b920c81ad9b4386b3b98775065617648fb377d0e5a34582484e58a1eb32c5b000a3558294fa39bfdff064fe487432795568444e68d1561751879f8b5a091b8f3885c2df08a0d79b282f5004168b0d400baf956a30e1a69eba65b26e03b6ae890972d1b672b76c04c53bae6c161be8902fa5ad7a9b5f6e24b40f79332b96126ea0a59cdc62ad233bc4f00232551ae309493d3260ec08438ce03a5ea4435ffa7628f66a589ab269931974f1c3662148d73090cfa76cfbe6a981f54489546e48b83a10b39bc4e8680f81af32108248398d465b3438192a311463d337531989a40d49537689990dc9b238e1c52de46b65e514cd3936e0e1b535c331255a1f34e48c37d848193a113ce9c605053cd89ca9e8db8ad1a33f2fbcad4658c2db06cdafb472973c0c344c0084364d1bd31343641b80c6a04e5274182a5f614824ba03412e01520e57ccfb5747fa8585c9a17131432dcb9a7ec5cc3f1a2bcb998971f263315b067def081b27b53ee532c5f228634f2a9465fcc8b23a170c88082732962bfbb1ef605bfb5548002318a210586efb3a0438390d9b3c4c1cbb5694f11e3c346bbf04208c37579866c3419616ae7a545a94469b
|
||||
EncodedPrivateKey = 3df2977608cdd78272e3045a0f6998b0b489671cc157d2bdb492598ca982b9993f33778d886783b4e285f06b5d841396da0a3716337e8c65932e05644db0ba606146f83c6ab45556ea409b73719bf8f56a11d62fc92356b9ab30e43893e0f9a9c0a5726d5944e75abcbe077c77e49e8828695c948ed4091188b902ded0bacd086eb223ac35e1bb65677cd5f88aaca2bc6712864256b8ee96746b42b8309ac9c4e657baba3467b98e22d95930e88b4f3a7abd0102fac49354d13a9db45b4651a48e22c64094ce4d927a632967079a55a238a3244a1ec9e7679de690a9b65962fc57e5d2a3d7687ea3949f999182691357ca9990ad5c9450462b487883081a891a485f98e7633bf04a352bae9f69788a67b06bf128245953595c60fe97b76e4129414184571612dcc2445ac3870fb2a8037a92b66b8dab8bb892805776d05c6120c160212ae0bc6c4435743c554339f38bcab167493376bbd0c8ff063ec1c1c7a93ac662021833eb5b10b8aa9e06403ff590b8c7baf47726949a87842244aeb435d0da18bc33101f9cca13d542fde94917d50bc26a02b385ce36c75b8884b81f57131310a5d09018605c908fdc9a8a8760d8fb823df4305ad73e7e69ae8ac00286272b63473d27fba6e227175b35816de996e4b3780f616d485591dda8c8f0d18a19d5c6158476de397cf24619c4890fbd00ce9a4b52de880899ec7c0a25a6d246bd688210aed97c6fa5527282aaf447c035756d0bdc724788903b7cc5cab3442de650407301bd4b6a69346eebe9157bc66dac19c5eeaa4986885e0741bc85a398a6c788dea5ca90953348001e5393c5ac13740b187305f4bfea3cb152a80384ab013e950195a6c4473192681196ce44a1b20c0c616a887d29b3c176635d61c3001c2671792baa988b2d3197b4383db082c521a6adfa86794c66a233e8aa9173c87d69a6eba95127d6b870a2243ca59873844172c61310d13e0cd7880452a08a9ab3d0f90665f85a151549d93cb20d685b0970759ca35d4831bc4c05552bb3c577f68604630f868947ac5846bfc785afec50293855a4bb804bfc7cc1f70bb0aa8baef2af2894515ecc098948784256c96daa692d77c3736070ec87962c2b22602b20b7d8b0b1020521e8a9f760928bb7a1b16ab1f9c5a7665a2f0da85abac486c86a6db9994279305685365ca27b64c10080fbf0707057cc1fdc349b68cd29bcaf3cd869bfe084498c628415be3442c452951b867b23b838c0d7f765554b33be09bc8a19941e40cfd2a731c73c0569f08108080b60008c3b6c0d2cdc6a70e6449a202198f65d587454b712c2d2535e049314a5eac4c44217c327473ba872ba504cff400915eac31b05a6a5b1cc8df19d4594be869a4ebafc8fea4178cd6bc7d86352ab8aac609aa4a9022aae550745954685274aeb84936763486d2ca1d99c8fe5d151ecd2314d661ccdf94101aa4ce94c004f4a2bdd73ab5a7180bf183cb0a98290e618906118a94b5d477830090c64c14b867d35bb4581133324cb5123495b104030084c27c269f489a7ca622986b166c9451c47b04499ecc65854b02e1c643243a29a14a27a35ab73715a636a6b920c81ad9b4386b3b98775065617648fb377d0e5a34582484e58a1eb32c5b000a3558294fa39bfdff064fe487432795568444e68d1561751879f8b5a091b8f3885c2df08a0d79b282f5004168b0d400baf956a30e1a69eba65b26e03b6ae890972d1b672b76c04c53bae6c161be8902fa5ad7a9b5f6e24b40f79332b96126ea0a59cdc62ad233bc4f00232551ae309493d3260ec08438ce03a5ea4435ffa7628f66a589ab269931974f1c3662148d73090cfa76cfbe6a981f54489546e48b83a10b39bc4e8680f81af32108248398d465b3438192a311463d337531989a40d49537689990dc9b238e1c52de46b65e514cd3936e0e1b535c331255a1f34e48c37d848193a113ce9c605053cd89ca9e8db8ad1a33f2fbcad4658c2db06cdafb472973c0c344c0084364d1bd31343641b80c6a04e5274182a5f614824ba03412e01520e57ccfb5747fa8585c9a17131432dcb9a7ec5cc3f1a2bcb998971f263315b067def081b27b53ee532c5f228634f2a9465fcc8b23a170c88082732962bfbb1ef605bfb5548002318a210586efb3a0438390d9b3c4c1cbb5694f11e3c346bbf04208c37579866c3419616ae7a545a94469b2918142a2fe3109d07b30d97f61948f778aeee6c1f4bca93fc3e85c8f7a1a0bd4f797c007e4061f95c7d56cfc7ee5c49e849dde3fea8f25e7876df2a18515c34
|
||||
|
||||
# Official test vector 95, seed: "121d90e70af6204445d0deb28ac0c108262719e9fd3476aca74bbfde89faf04d8d5f89a624e8a75db80431f0d10ad28f"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 527fb88c8bd9a4d6031dad15e63878abd2b559e7e08d61f69e8e78fca964ee6ae32d432b4f9f751bde0496c580a181ffed762aa35454a02d3f1f47ee0394c89c
|
||||
EncodedPublicKey = b52b7f0fbcc5de989fcb1763899b411ec778c0f9473e8b4f8274af2ed090f953a4edcba3773b2fd1f05985261f49aabeeba07956596c863a87220047fd37b29af72396189a7e128c43b7967fca59bf3228a377c920c3c011e3c3c5e29a2645b3b544576d571c9481c2806622e583c47e395c506b27429b5b30546d0e746c8ac2cd4dc488298156781c02002c9743f874c1c383f6501eb661135b817b6288341e657927199b2a32a0684ac8acbc479dd594de14c9bf888b52e98e23a3c6c492bfedb941a21a81cae33337984920677a635090af70217206b337786b2cfc496b531f0686a9718592281676c01872e6441fa0eb95cee7966e3ac56b07bff997080fc95a4609bd6382a303d1129fd80ebb144a3c5b3a43d934e2c6334ceb8790033b8da09949ab6a76653b408066994819be1c17bb27cd7dc2a5c2f4c8f3a050d49b9c798079c3b9ce40ea89ce6a6eaf66058412c1a1e6a43d957652b4cf691c5e1d236b63b68fc9a3499c4b1f6997223b73cfa04641c6459211a278d35ba043e386bbb9c45b74155a9660bd336578d07bc7623ab20a9465346fb84363eb8b4ee8d84164c35e8df19271f4c18e474dee76cab9e20b10369407a13fd493b88d24a30962c8b7a55af20c7706c080387071d61b4ddd083ed7b0b843a2ba7b673a9270c39019cb551081345202c621aa0ea1bb5a2aaa48f850652a158f4107fa8805e2b312f3b2a944049ab95ac75e6a50d2d0bc52d4b6f1f5cb4b67c5c6811d45196f9fa57f5ff682a7f1299cc56c3c4a05fa9507c1f24bbac00f711177d1318a3a8bb911a7922b9a08dfd17343d3a08dca28722283bf60c7a6568bd125a5779a4274876f0fe27037d63f49b174333cc60ce59f738aa494882dc928c2109580a92984d9444e8d5c622e790f5530699b141c54415ec29416075915e1d27eda085e26c002a43025c5bb42457965cd8b362483c29050a043a3afe6221099078b74801599d0bb36703e0fd3466ce045ffa9900fc879e5d9196cf898d4f805d15614b5ecb5d71b09299a51c78544c9d50cdc113dc546cb235a9b58504a30c7a86128166ee26d9894350ed10b73fe72cd660848dee6aa971df2a53078e16f066e686ae5c0a81a
|
||||
EncodedPrivateKey = 81a87990ac36b7e67a45e32a7807108d7a24c6c5311f5051c4a8a9d927404f382b4d03bb9aa2695ca875a9510829349823ccb3f85414975a35912970d0272192d38ebdf81393a67e25a56a79b85c91a67062f9b32fd818c99135ab515a6818884012a30ce07bced628fb636728e17d768b33b21c416d3c4cb68a008ea3b9eec7bbcdac6c70773456150c0adc6cf41466f7243744c718243615a370537de1a30347a0dff8335f3a507ae9094531a0fcca43a9229f644a7c95c8ad99b8a76f2b3dfcc42e44ca3f6ecb0391350071f9a1e9b56987d99af307be30a98f5aa7a2db99ceada6af32093eeb2924be33b8d3034aa70090c738291617867d091e775968ca60a035b67046ea7a0e370e5bd19c61d555bf7aad69b657064c58ea064e9e44a12ba21407303ee6228cd9e0cb932c2eb750ccb1d74792850f6735345a39873ec9c0eb758ba8c13b4004b8aa5657afb217cdf9788b53077cc4bc418b835ba8ab3a0b90cea4904f0785e03ca180e4977267bf1e3c34842b8cc6e627c260ca04d6539267b2f365b726b21077155bc6a97ca9cab1920c9be9f1937d80214ebb93362a9d8d130a88976acc34351ee50dfc79017c71943199c67ff0a6a5d8008634128bf86fee194f511a1b93606759344bf0492d2d464fea472651d5b420ca0fffeb3daa445d91aa8d25403cc47833c1b76b9122640b3a4c03b603ac44b62d7411bf095d06b4413b96a1ebe3ce201012b3ac77d6924fe462c7d3d797dea34f6c9719318b9711115487a55bbc6212b3661c7de83aed513a53823d29080f9f66a6a6223e39e0af46061308eabb548910136c270ee7abf66c22e593431fcc1441e21c466844dbf44558888d41024f49ea35c1020939f439dd8a1a8c424362ba3fa8b94c84c49caefa7e30e5125c2814ef17649d60ce2790be39761d0be7a139fb0dd0887896e04c9129b85307810b219de4c29766b9898a6023cdb845cf815bd646beae7817b84541a118653a765a526645bd82966f4c34d537903994910ccc527cf12e69a2778720ae65521edacc63811866f5b450206acceaf9ab63595adcc39eeb7a27b52b7f0fbcc5de989fcb1763899b411ec778c0f9473e8b4f8274af2ed090f953a4edcba3773b2fd1f05985261f49aabeeba07956596c863a87220047fd37b29af72396189a7e128c43b7967fca59bf3228a377c920c3c011e3c3c5e29a2645b3b544576d571c9481c2806622e583c47e395c506b27429b5b30546d0e746c8ac2cd4dc488298156781c02002c9743f874c1c383f6501eb661135b817b6288341e657927199b2a32a0684ac8acbc479dd594de14c9bf888b52e98e23a3c6c492bfedb941a21a81cae33337984920677a635090af70217206b337786b2cfc496b531f0686a9718592281676c01872e6441fa0eb95cee7966e3ac56b07bff997080fc95a4609bd6382a303d1129fd80ebb144a3c5b3a43d934e2c6334ceb8790033b8da09949ab6a76653b408066994819be1c17bb27cd7dc2a5c2f4c8f3a050d49b9c798079c3b9ce40ea89ce6a6eaf66058412c1a1e6a43d957652b4cf691c5e1d236b63b68fc9a3499c4b1f6997223b73cfa04641c6459211a278d35ba043e386bbb9c45b74155a9660bd336578d07bc7623ab20a9465346fb84363eb8b4ee8d84164c35e8df19271f4c18e474dee76cab9e20b10369407a13fd493b88d24a30962c8b7a55af20c7706c080387071d61b4ddd083ed7b0b843a2ba7b673a9270c39019cb551081345202c621aa0ea1bb5a2aaa48f850652a158f4107fa8805e2b312f3b2a944049ab95ac75e6a50d2d0bc52d4b6f1f5cb4b67c5c6811d45196f9fa57f5ff682a7f1299cc56c3c4a05fa9507c1f24bbac00f711177d1318a3a8bb911a7922b9a08dfd17343d3a08dca28722283bf60c7a6568bd125a5779a4274876f0fe27037d63f49b174333cc60ce59f738aa494882dc928c2109580a92984d9444e8d5c622e790f5530699b141c54415ec29416075915e1d27eda085e26c002a43025c5bb42457965cd8b362483c29050a043a3afe6221099078b74801599d0bb36703e0fd3466ce045ffa9900fc879e5d9196cf898d4f805d15614b5ecb5d71b09299a51c78544c9d50cdc113dc546cb235a9b58504a30c7a86128166ee26d9894350ed10b73fe72cd660848dee6aa971df2a53078e16f066e686ae5c0a81a46ba08cce40a82de21b6823914ba4a5adbb44127199b72bad20ab9bd5e39e3f4e32d432b4f9f751bde0496c580a181ffed762aa35454a02d3f1f47ee0394c89c
|
||||
|
||||
# Official test vector 96, seed: "b3ac6503206accc2a92cbc210d020a2654726911d11ce676aa04feaa08af1d20c654e4105883ae470ec3ab299075d420"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = ac6fcfaeeef795b6ef9e062f02bf42975fa01e7d91ba832f74e05269a72684d05aeda108ea4d6c6bc0fb958286850422bc357ca67b83c986048e0d0087fa11ec
|
||||
EncodedPublicKey = d6991114b6cefb2453de9c4883074b31b15493a730d356a2a7f35d0ab21cb45136cab536c6b0c24fe102b4e59f8ef8171bf1603bac5c87c585e8635ceb594937d479e0802b3045096f7c1ed3cc1dae8b8028b179c4134e69442fcb7b6b688cb4d9048a692403c94c523e294144a2a39487550a758a98745e0ed161a6d29c4af3310714b1919aa600f405301abf68bb8b5fa0cc5e426f48cc3eaeb73dcc2453b8f4c396f351e3c27faf97815d6b21d7145e4a6b1297023784f7986ed407d7f627d65721e9fcab933319a68c86d96a7b265c6b9337ac563b4e9b21849989368b011ad0e941ec3036b9673cde69b332751732468a0fd3724bab6c620a0051d8c2ceb0490d5991c4e78186331389b9cc7fa884499a9e3b5b673c581bee4309caba430f3ccc0c024c27d96e8f112e65cc5d93703696c134f272bcfd71429141c798b85bfd64804a939003503b4ec5406b4ccac5108d16720bb98a5cd8fb63956c4b94d0949ca047f8d8150d881f5b774b8d1c5b3fc2881680a6a80873e8a4c8b1dca8b9bb34db430c220a5af77b162de908b45a542a7a0ff95a6f4b93bafc63b098a863dbf61559589f5759a968c2ad24e347e77318a58959a32448c41394ddb5b76052074b909e1817b3d66571a0383d53230c35d5c5e3303c65a24b61539a15f749a655cd727ac604d58b43d035a5d61d50393162bb7ac199a2227b5fc9d8c5125226ad0a1c8eba974920bdb937272a7c7bea7ba5e8a62bf6e523d51c9fec7cb93d220995ab32cd975f673b0dbce865e1a9cdff52c1cbeb45222b73fbbc73a8b0131cdc627922b614506af6746b15290c39d64742f39e85e56925e1576357b6f0468632f06ac6a0cab8808e5b898938d32a33e3b497a604c5a24e2c37501e01a4745c046470b8df0799f59730e2677ab49ccd40f3c5d3a6a6f09ab2ba892ace634634a17c3d33cb1988b442f98723a64bb3674ec8aa5edfca86c3f22baa7a304dcc6cc72aa0e70868950a05651cabf3f469316944dd44955e959a21913373f07fb0baa963e39e13d3859d486c5bb20028f059f37303f26b8f3cd554d851944df1c3081d9568ebe757b471f15e643f1e489018a3c200c364c72b2d6dd665b6ef3641
|
||||
EncodedPrivateKey = 4db8cfe937c3d46b5db72a01133b7101d0859bcb7d80109f7de06e4b0b7171b5103011869ae863bb69aa7ab0c483484633d0c9dc200fd6a3146f201582ec9a1cfa6274b143067a396430112e83262d1c3f97061b47c710bf52c464078a9e02a55ed142feb855a15b07b1d6c62ea2692eb683206c94f4050966ec6861e3a2d61a0ef8c13ead5965247b01f9d69f87284d19782ce054ac32f714e26c61dae093e17a716d736b53f34e0b8cacf95055f4cc5ebba3c9a1e1af7caa02a388acac1426f88c672c6a99538ca90e2acd031bbe07c23c27cba0ea1b4e573564a2fa6e93e584af92c70beb15e12714206ccb00d9a9760a914bc9bc6b1a0452fa3ee97a07b5349e4f9b41ad4273f29aa93b31cbcaeb93c01cbcf5868318402c6b399c1914b26a33ac0903a4dea280b2359b94db0908e915ba507d3b568253c0c04c6ba35ccc77273a5b869a6c484aa2d3934b0d2b6539fb4c32528c14864f6bea2dcc18491037b81673099d51ab898acdd453534d688a050350b47c8f4bb37165502eee62c1a1e4b45f87ba7520381f054b1a46c48169961b55509ca29a08ac98e18b2e9e897b9ad1447173127fbb5ed1928846d4ba43e75dfe370a5b083cc91928bcd80872f91707441d249c2d7a56432b417c9df824f69c1817b3883cc34310b223871227f24111aed68f8c385f4f2501db8c6a8fe7693e359665090654780ad854ac76a69f8ec036c43304ab5cb9ba84ca1d50802ca266add629a7e45ce4b1b45da13a17967e6052865f392e8150162423cce3630d55e3c176432757224dbe595050714273cc7b45a449fd0a02d04a01d3e49af39752bde55195ab4297a6be5afa2bdf022a72f911c3c57779c17419da882c8c260915348e17253af44c2d00a5ab01b61920a84021cf08b6483763022355848e53690e6004b10c5ec28a306b1b3d2a5007a80ba8cf97b251180a625113d3257b676c8fce94b4a54731c22385c772afa07baab5974f9761b6c1ba65628c324737a5ce3c15cd9163021b714b85793ae16f633a4de42cbe73d9a12631324e273eb7236d1e079046954b5298b46f7c4ab9da3bd6991114b6cefb2453de9c4883074b31b15493a730d356a2a7f35d0ab21cb45136cab536c6b0c24fe102b4e59f8ef8171bf1603bac5c87c585e8635ceb594937d479e0802b3045096f7c1ed3cc1dae8b8028b179c4134e69442fcb7b6b688cb4d9048a692403c94c523e294144a2a39487550a758a98745e0ed161a6d29c4af3310714b1919aa600f405301abf68bb8b5fa0cc5e426f48cc3eaeb73dcc2453b8f4c396f351e3c27faf97815d6b21d7145e4a6b1297023784f7986ed407d7f627d65721e9fcab933319a68c86d96a7b265c6b9337ac563b4e9b21849989368b011ad0e941ec3036b9673cde69b332751732468a0fd3724bab6c620a0051d8c2ceb0490d5991c4e78186331389b9cc7fa884499a9e3b5b673c581bee4309caba430f3ccc0c024c27d96e8f112e65cc5d93703696c134f272bcfd71429141c798b85bfd64804a939003503b4ec5406b4ccac5108d16720bb98a5cd8fb63956c4b94d0949ca047f8d8150d881f5b774b8d1c5b3fc2881680a6a80873e8a4c8b1dca8b9bb34db430c220a5af77b162de908b45a542a7a0ff95a6f4b93bafc63b098a863dbf61559589f5759a968c2ad24e347e77318a58959a32448c41394ddb5b76052074b909e1817b3d66571a0383d53230c35d5c5e3303c65a24b61539a15f749a655cd727ac604d58b43d035a5d61d50393162bb7ac199a2227b5fc9d8c5125226ad0a1c8eba974920bdb937272a7c7bea7ba5e8a62bf6e523d51c9fec7cb93d220995ab32cd975f673b0dbce865e1a9cdff52c1cbeb45222b73fbbc73a8b0131cdc627922b614506af6746b15290c39d64742f39e85e56925e1576357b6f0468632f06ac6a0cab8808e5b898938d32a33e3b497a604c5a24e2c37501e01a4745c046470b8df0799f59730e2677ab49ccd40f3c5d3a6a6f09ab2ba892ace634634a17c3d33cb1988b442f98723a64bb3674ec8aa5edfca86c3f22baa7a304dcc6cc72aa0e70868950a05651cabf3f469316944dd44955e959a21913373f07fb0baa963e39e13d3859d486c5bb20028f059f37303f26b8f3cd554d851944df1c3081d9568ebe757b471f15e643f1e489018a3c200c364c72b2d6dd665b6ef36419fa4388332705d549be44d4c446d8af0c9a58903dd51c55e2d70a91e4b54407e5aeda108ea4d6c6bc0fb958286850422bc357ca67b83c986048e0d0087fa11ec
|
||||
|
||||
# Official test vector 97, seed: "59eff60b1ef6185db34ee1e3b1dd2f159106ceceaa79beb74923b4f5623d5bc52dbf5d2594a1f7c6c64d12cf144e9ed4"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = ba2fb9318d4dbe7488057c33e95e6f054583a2800c41bb83083c330a914a12cfe63f8ffda3565c2424c89b20974b748a65a5aba75133fcb3156dfb6626a83bab
|
||||
EncodedPublicKey = b5851e82e8073eb7abfd1c8ef788a78f54a882c870190861ee5aa97fe5033aa01ddf961ff88597d7e17fed17278de656de441a545889d5fa69c822a9ddb8bb52fc33be9aac5ae03b24e2390d95563363082011bb99d236c8919aef381ceff46cb67b619e13856904391f1204b52a1927b8120c23945fe4c348193183410916040337522e0990106826c5c259855c452d7c1ca0576154c1e095cc96bfbd26425f24422d96aeadf84f51146d956a581619a26d7695890a079b4a08869948998b839578bafd1c2ad936bd7960cf09a63e1964af7db30a295609f597c671b693bac943edc1977a193626965bb2153c2e29ad7740ae90e5b8f7d203b5f8c1a1062510123246b9cfde622233119daed05f51fc97d91cc6d04a7ac7392e9ddba89e007895747a10f2a311322d35306805d27a73356bc60a24c022a59834b50068000ba448895b37314aafcfd8965baa7fee4b820c7932b9317e41fca8ce365434e6659ea4ac1848614ee6182865bd09e10aa418197ae423e000aff9bc3e3f79ab97897ca1b31256d2cfd854884800aa87b4abb576007598c475e17491f35b01241401974244026d7919bdc7e03a02b11ddd1ace88142958f66aad433b03524eee2853e263b33d69216a26abed472252bb0b31283f2d50579b504ebb73274d9780d2cb14272a275c9390a3cc4b363139723cbb1fca2ebc3a6a1d2898afd53cd796cafa83a0d607720e0942a692347083b2bf134487081bba99939a159fdc680763d5c5ea393fd308619e15128b33a42fd4baeb2b0e7336490745b85f76a26cb131626931e9377adbc714393c4fbc7415be60c88b2028e6d6b318a4a890775e7a408cd4b024b5163f59d7913e772a723429843191b9d1ae46c71c4f12547b198a49e44de0e15c639b8e4525035df9c7d91052ca681e5e908e98a7691c515c41596bfed75509205879ea43ca556a1aa06ccd3135eee63b1775736d2697a6556f6c2181c1f253fe6a87812171d54b1ad414c8705b84b7e0639d7b8d6224a9be53b60b7051f2f9a940e659f2c8b69a747a4e806e8b08c65bf2124f64329c43a06ec70076ac65174ae28e80262a864c2263275f84c056d3d767dbaaf1faf1461577599a146f60
|
||||
EncodedPrivateKey = deca75d6e4b6211848c01957003250a6dc0c5d379d5731cbce96ae171688ac70a200a744f99071188c4093037fb615cea2c212a5a0767cd4b9c0b48be879654f3424f3cb56d09738c36606a6263b83f2804368b44c23a3158390ae26a6f2604517c79ffcc0906ab51851109100957f96db6df03653b34a09a08ab5995b43de86a504691c145619db53217909159d7bc44b283b59925c97f05f9ae45ab045bc5fd821c0e570a5161bb69839b1ca6d30e8580e05982396cea591c380f919fba83ee058577ba13d3939b89fc4316988699302755ee2ae2640392036788384b5fe26c177f94c23871043060ce4096c828c9b47c91f58d53bcdaa23708405467b09f499265f5a5f24fccd0fc0b8da0016b081c323a78ef2da537a594eea081baf3c8c6e3504d48bc9370a361f888b1999a8a838b743a586ba5c1adb42071a1a6055f70803824631c479df287aa87317b24c5182d741d31071b092662aec44f9301c85c7a597727d524a1c97303298191036599f7df2a5cc807505d08d096bc091515c292045baf50b1845281077b083569017d1c4513bb268cacd7a5097d39582c4d5a6ac653603b065c3680ab115b7acf9bf8af5a6b9168aaf992664256263d968cf45c0b923707d74007506bbc0ec4f38868b0c80662e807fa6ca568936680d29af1a20a7fd9b726df3c5342b3deb124201cb5b9c2521e17789c91c64289b827df39aec57713c38510ffc8963488040250858f5c053c57762ac3344fb1164f34684846274459b182092ddf944a794897d327aafa10bd7ca9d45630ab831aa2f52a022721c77bb0fdf026f044a27cc2156e8108c65764917081f62404cd7313c40fa950f617d53210926928f4c01c34af741dd09165636a82e117208f4353bd674916c11c960b493c792bc008f54509a5548508e81afb032cb44647a52485687c96b45449bcfba2a1d387ae8447f0ee82cc260bfb9043c9cd4040c59a0d8263c5602ac3c641d17939daa7279c12421f0860b18a337008c8555922e6ce7b2a3f21017e81cce5c2de234cd2492a81df95bb814155c302ccf597d3d5bc0c76370d4e626b5851e82e8073eb7abfd1c8ef788a78f54a882c870190861ee5aa97fe5033aa01ddf961ff88597d7e17fed17278de656de441a545889d5fa69c822a9ddb8bb52fc33be9aac5ae03b24e2390d95563363082011bb99d236c8919aef381ceff46cb67b619e13856904391f1204b52a1927b8120c23945fe4c348193183410916040337522e0990106826c5c259855c452d7c1ca0576154c1e095cc96bfbd26425f24422d96aeadf84f51146d956a581619a26d7695890a079b4a08869948998b839578bafd1c2ad936bd7960cf09a63e1964af7db30a295609f597c671b693bac943edc1977a193626965bb2153c2e29ad7740ae90e5b8f7d203b5f8c1a1062510123246b9cfde622233119daed05f51fc97d91cc6d04a7ac7392e9ddba89e007895747a10f2a311322d35306805d27a73356bc60a24c022a59834b50068000ba448895b37314aafcfd8965baa7fee4b820c7932b9317e41fca8ce365434e6659ea4ac1848614ee6182865bd09e10aa418197ae423e000aff9bc3e3f79ab97897ca1b31256d2cfd854884800aa87b4abb576007598c475e17491f35b01241401974244026d7919bdc7e03a02b11ddd1ace88142958f66aad433b03524eee2853e263b33d69216a26abed472252bb0b31283f2d50579b504ebb73274d9780d2cb14272a275c9390a3cc4b363139723cbb1fca2ebc3a6a1d2898afd53cd796cafa83a0d607720e0942a692347083b2bf134487081bba99939a159fdc680763d5c5ea393fd308619e15128b33a42fd4baeb2b0e7336490745b85f76a26cb131626931e9377adbc714393c4fbc7415be60c88b2028e6d6b318a4a890775e7a408cd4b024b5163f59d7913e772a723429843191b9d1ae46c71c4f12547b198a49e44de0e15c639b8e4525035df9c7d91052ca681e5e908e98a7691c515c41596bfed75509205879ea43ca556a1aa06ccd3135eee63b1775736d2697a6556f6c2181c1f253fe6a87812171d54b1ad414c8705b84b7e0639d7b8d6224a9be53b60b7051f2f9a940e659f2c8b69a747a4e806e8b08c65bf2124f64329c43a06ec70076ac65174ae28e80262a864c2263275f84c056d3d767dbaaf1faf1461577599a146f608a975b476c316b0c6602a00f3038c1cef0b5d1eed8a554893ee392c1964c8260e63f8ffda3565c2424c89b20974b748a65a5aba75133fcb3156dfb6626a83bab
|
||||
|
||||
# Official test vector 98, seed: "dddca9dc31bea737d3f474e7560b37facb2f53c803e768ffaade7669ff94b1d4fbd17068cffd5dfdd24aadada4ef6b12"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = aa6dd1e5799cdf7af9c4fc632b3eb9d51d66e85c8e0a21ec98664fc51ab63c7dfda268813efab5204efa60f78bf81d320d01ac09ac06244f7afbd2d80fd356d9
|
||||
EncodedPublicKey = d8374e2f9c4877b37f5dd1640e41135735b94cb100b81cb94ecc1fe5d8cac4211256c1aae609238966b439735ef69b493125a65fb46c70bca5c1d94ecec68eec35bfd5fc0cdb035658e6103e7844c741b725e42d12098df1cc8d527cbb58b79498f824c55011b1f61b1d731ce39b40ffd562bb5ba17978b3657518f5ea7436363d99b91400dc5a2da7943e082e9cb77174f881b0297ac3722eafca76ae6a7222f3497d717716dc0932d2496fa218a69976cb332d9e3a2828a70ba8f534bd35165f7a0daab1a64a63251f88759cc70aa4d5274b86311f764da50c0184746ec6eb0c2b481adeb562e3048da81b00d7941883ebb09c3885c8fa5c8ed3a9c58493351906dbf83df1db4e74188ae650201d5999e91bca68378cd095295a55ba78f14fa9005f21232f8900c572c8721b8ab1891277dd838842f58b86e08402069b60461021a83c7081c16c006add1cc92dc3052ee97291f676b4db54d4fb5ac3e15fdeb314dec6170acb7865aaa9b691569fcc09a4bca159b40824d6ce9053a199f92bd9c06a38eba7d8980e286543d6a841f5589f277b8ced946ee8da5805f07b33d1a151b4b4dfe1175659c7f6804bd28474a2b387f75791de4a9304da1da2e660a49516edc1ade673488a3a580a7c48285a5033196ae20582ed5138dfaab59a5737d3a360bf0380832c3e49008d0fb790802281c09b044069426334862310b0ada4261c768c8572a09d1bb0df54b1c6b553150abb0280cd2c1c4b3894705382c4ada73b42e55b247b67200b939f71bd299a02f0db9974f2afd1cc906cd2c88c62ab9771b6a26b3e560a7f6717bd9c22b3cd5a14eeaa99b471094ff872219027bc0c24fe9114b316abf3585236e4505bdb03b4789cb09a5d16e1764f4b8261d3890193b268b67a9c99381e244cc4464fb0788815c6c9e92143dcc71689273969ec4f63455a3a06cd07e1002ad38dbd216949200619aa70e8327e9deb2a7c23967ba65e34f14af513080ef0738900850bc730f8c2b78dd6b8e4219c25491c5a9cb755999bf49136d0619eae169c68316c2fa6a42e401b9447514a6878ed634ec05217cefb6008ff98e491c41e2e6355f7cc8a230f2f2380abd2635b7b0cd371201c1c
|
||||
EncodedPrivateKey = cb266284006bcbe18257b39a7ac504ddbc5634e11bfa190c1fe21eb626784eaa018e8a072c28acae370f3a0a55fbe5c8ce677aad82a754e7cbc5682d88a90eb8c30b921814792947099b9ddcb566ef35b3362b6164207e8f0a92b2181edd902c723a96ddf1a1110c672ae137c0481552da5e19d33e8ce2a85ff80263e7445cd9310d180e3290243d43207d8a0da5488f864a33ddbbc8a6179ef7d150266063c7745c49f3a383873b18b6575f02820aa80eace733153336293763c939cdd3778f4df4cd619369cd68217c70a6391b99007bc172fba7b6f44914389fbed181fdac7bbbfa1d5ad771f46c7697431358b618dc039302e30418ea4b15020880ba71f081209ee328a19a06d7da1b85ca26e9e68616c615d935a0e9e0ceaa7aa812fb17a46c70a3f3547e196350596acdb2bf6f31871b007688434a9d845f130a7683921fdeb39e84a5a30b052cf4c29b3978a8eb98c9ad669aa7da70496a3a9b5b892ab30dab2bca03fc0f431a666cac1075989773b1ce99b3888fb07621a98a1641a18ed898bde3c0fea9cf67c2be09497aef93b9c0aa630a887cc6220460cb2ed425677d988e968b2b3793bf1dbb603174af03e517e8a2bf4b82553fb13bc047ad09c76c1f285a1657603c483554b49391ebb9b0270c7932685c875e4f33a815598f3622ba300a1235e88cfa610bd97b8f87413550318962cb0737854c5a385d0f2035c52a946ad069b1ea642ff76402d38749e13724127a02fcc1b98bb27f29c9973c1e76430b17fc1ff22c5a810226d21c6aa0e49a28841a28d27490aa5238da57c743932528ab11e694ab3b9b211498b9f51026775e807012a3dbc371263f5641c4a885cb63a11c81589aa87aae17f67bf5eb63c6d27fae943c529902c46614bb9baa6782a3f1db4604479d7dbbbeafe7ce4825b6c5547ae35c82eaa57009c8091e334f935248cfa0687c71a2b993937cf056363578adc7184f07232d545262566fcd596101c0ba95c4543238001a75c657988cbfab2479130fbe8c8b7d90aaabd66fa8848ede30cccbc786972866a46036c3ca3159638797080e5c56b06b51b4d8374e2f9c4877b37f5dd1640e41135735b94cb100b81cb94ecc1fe5d8cac4211256c1aae609238966b439735ef69b493125a65fb46c70bca5c1d94ecec68eec35bfd5fc0cdb035658e6103e7844c741b725e42d12098df1cc8d527cbb58b79498f824c55011b1f61b1d731ce39b40ffd562bb5ba17978b3657518f5ea7436363d99b91400dc5a2da7943e082e9cb77174f881b0297ac3722eafca76ae6a7222f3497d717716dc0932d2496fa218a69976cb332d9e3a2828a70ba8f534bd35165f7a0daab1a64a63251f88759cc70aa4d5274b86311f764da50c0184746ec6eb0c2b481adeb562e3048da81b00d7941883ebb09c3885c8fa5c8ed3a9c58493351906dbf83df1db4e74188ae650201d5999e91bca68378cd095295a55ba78f14fa9005f21232f8900c572c8721b8ab1891277dd838842f58b86e08402069b60461021a83c7081c16c006add1cc92dc3052ee97291f676b4db54d4fb5ac3e15fdeb314dec6170acb7865aaa9b691569fcc09a4bca159b40824d6ce9053a199f92bd9c06a38eba7d8980e286543d6a841f5589f277b8ced946ee8da5805f07b33d1a151b4b4dfe1175659c7f6804bd28474a2b387f75791de4a9304da1da2e660a49516edc1ade673488a3a580a7c48285a5033196ae20582ed5138dfaab59a5737d3a360bf0380832c3e49008d0fb790802281c09b044069426334862310b0ada4261c768c8572a09d1bb0df54b1c6b553150abb0280cd2c1c4b3894705382c4ada73b42e55b247b67200b939f71bd299a02f0db9974f2afd1cc906cd2c88c62ab9771b6a26b3e560a7f6717bd9c22b3cd5a14eeaa99b471094ff872219027bc0c24fe9114b316abf3585236e4505bdb03b4789cb09a5d16e1764f4b8261d3890193b268b67a9c99381e244cc4464fb0788815c6c9e92143dcc71689273969ec4f63455a3a06cd07e1002ad38dbd216949200619aa70e8327e9deb2a7c23967ba65e34f14af513080ef0738900850bc730f8c2b78dd6b8e4219c25491c5a9cb755999bf49136d0619eae169c68316c2fa6a42e401b9447514a6878ed634ec05217cefb6008ff98e491c41e2e6355f7cc8a230f2f2380abd2635b7b0cd371201c1c404c611e22377f1c66fda96a3839f300960315b3292e81af8a7a68cb66742b6efda268813efab5204efa60f78bf81d320d01ac09ac06244f7afbd2d80fd356d9
|
||||
|
||||
# Official test vector 99, seed: "2a6f7386b815366f572aeb6c79e272cc21b7095fe09575f18072c9d677da23bc9c8a4bc393b7524604d299bedd260c8b"
|
||||
KeyGen = ML-KEM-512
|
||||
Seed = 195d6c86a3df4c21e3007d7f2768b43c74cb3060e0eca77f0a5d3271542b9a84ae77e0f9f21eabd8c0c6eea7767f4e10fde5c2d79b8400bf96b19014b457ec21
|
||||
EncodedPublicKey = 4e979a6a7b46b25b7c03819069805b89e16d9e919a31fc856ce8a32b5bc91c1558bc559ca1801a15c3334c1c0077db221094103d863f831457848511098025d8180fca18876663a05e0c0ebd5a0c10fb262e976225253d1a093b4276008a04ae085b4e9d9c77f60546c0db0eba00ae7335915a441c6bf2cd2088c32393cbfe71158291149fc4cc32dac6cb97275c756dc491053b036d1c88ad78814d753b4c531a877cb37f9ea8b3e111a7e1e58a30fc3ee24868f65bc4b3bb93ba009df06b6c653c015fe539a9c124fcf807fbb4470d8b3ab4d4c6986465929b16d9d7444b2bae3ad3575ac262eb911187e0c3c719b8015b5bf94a8bfffac8830c89f63cb3c304610a9382ef74990f9434ac5b0da24566d22035d53a14885317cd381a4d2680b895295a625154cc42d8d250cff173f69c036695b8cb62948ce50514e30b1634193457cf25db5f30d594c99bbfc71bbcf1922b6ce5993f89b66f09a773830d8ea248faa94a8162ca247b1ef7e226fce482f7159092605a9e2a49c7e972b2dc166771c04dbc8a9ec122b47b244b3a12566684795b705f31233860ba6c95bf0fe28cfeb57c820c51aa832a069cb8b2a676b298aa942c051c21c3a0461488b4c741b15e73381a3b55c5979a80490127678901d0d5ae21f25549a7598e65c29d43903e4c32920c08c40676864c05ea187f7fd4bf12a3b2ab301d8781384d425bd8042b948028ac818065111d96d6b39f7c886b7c70f59398534307f0d0ae866638ab90cc94b8c700c31d52c0b9f59c512c5637c2808aaba21b68a20e5871b5711525de29514c58c4b57359ad2059d2fb876bcb6604f36235d786e456a3fab96f6a26c2b1968ab90c11922718a5546519cb95bc30332699ac6735c588c21818891621207fd5b021da09293531352789a37a741c311ba74bb48e1bc145bb227b74032ecf2694906c761a96abf7e12d66b5313bf32e11c05fb2d820e6c22003e1cfb9931583587d4129261f6105ce419ef2cb3c12f245423b12d611330d009af1869319b988c53138c491c09f55c3644ccb3e250f9e64858c6113ca7cb6544309f112aebeabbed1f9f8e8a1bd41d4be8dd2dde4365d61f98d79347d5c2f5069fc5c86a2
|
||||
EncodedPrivateKey = c455a47604925ad46c6216a83547042d23b708291003f8717ffc3115d65f9280659c7a9090170fe8f17ab0b39106e788f3dbb49c7371d3e77b86eb844f7a8086e166458343dd275afdd737da7010c4c441b1fa1af71c46bee00c6e4131d9e3232ad708178ba6e8d7ada76a6d28c34b21316c555293dff628f934528a22626325b7139562bd1a4a70d099cb197dcef87d84f48ead986e44c23f14a7689782380690c969d16d094ab3c1668746d93d9a9420ca7988ac158691382ce035401ce99825f92e2de2bec5e79ba3c5742e72a20c62c80f0c061ae7b45ac06a07d271590324bafc3f18245b40194743bb5243076fdef254c2a09d6e82003438bdd634a787009bce9157b5226a7cac416b67ac78fc49a197136fdc631aec49c3b77e60b3aa87872bbc7b11c1aa675ea5a061304b97383e64bb78e8a9b069fc48aa3243a4245b895a3e18882d8fe04c82e819fe7a7077a314dc346b2c4630dea3be2e27b33a85933204a3be385c4f98a5ce042b760511ce2c69ba987c9d03b756b0a56f522e59bb90252a921e0571640a40f73abebf1b4aa0633e33a493eacab744f082aeb321e211af9b2c5fa39779e855866c6ccd285bbebcb8b5df32aaf8e4c923143d6f0c343f81a029516bd458619d7459a04bbc66f75067e077e936c7b54a67b03a576eb475231803c7f28de67176485772c0816702e612b1f2b6ff52385d75600c479f58c94c64333f8d0764e3f285ea55aa1b69a6d17c2813cc19293b46a33b9128cb19915724af521724f9506cb65740546daf66baaf51395e9167586883fb3cad4f16c2df4798339c388e7a5b6a6509131721156a656f790ec53a979d1b94ac9c9878032dd85329d5cb3abee26df2facadc91bb9d9325ece89ff74248b339a1240b66cd25a7264a6009335da6e4ac020585848250c74315c27582ed1031672c4164460fc4cc26239242b7999486e3274d87686fcbcff849a5701ca0ec1b23782a6d6faac383f3071103bfcc275a03b792bfba2e9690aef474b5075c48b91357337b5332e316bba9b0132a087be60d05985e7a304b324541b4687147230632b1384e979a6a7b46b25b7c03819069805b89e16d9e919a31fc856ce8a32b5bc91c1558bc559ca1801a15c3334c1c0077db221094103d863f831457848511098025d8180fca18876663a05e0c0ebd5a0c10fb262e976225253d1a093b4276008a04ae085b4e9d9c77f60546c0db0eba00ae7335915a441c6bf2cd2088c32393cbfe71158291149fc4cc32dac6cb97275c756dc491053b036d1c88ad78814d753b4c531a877cb37f9ea8b3e111a7e1e58a30fc3ee24868f65bc4b3bb93ba009df06b6c653c015fe539a9c124fcf807fbb4470d8b3ab4d4c6986465929b16d9d7444b2bae3ad3575ac262eb911187e0c3c719b8015b5bf94a8bfffac8830c89f63cb3c304610a9382ef74990f9434ac5b0da24566d22035d53a14885317cd381a4d2680b895295a625154cc42d8d250cff173f69c036695b8cb62948ce50514e30b1634193457cf25db5f30d594c99bbfc71bbcf1922b6ce5993f89b66f09a773830d8ea248faa94a8162ca247b1ef7e226fce482f7159092605a9e2a49c7e972b2dc166771c04dbc8a9ec122b47b244b3a12566684795b705f31233860ba6c95bf0fe28cfeb57c820c51aa832a069cb8b2a676b298aa942c051c21c3a0461488b4c741b15e73381a3b55c5979a80490127678901d0d5ae21f25549a7598e65c29d43903e4c32920c08c40676864c05ea187f7fd4bf12a3b2ab301d8781384d425bd8042b948028ac818065111d96d6b39f7c886b7c70f59398534307f0d0ae866638ab90cc94b8c700c31d52c0b9f59c512c5637c2808aaba21b68a20e5871b5711525de29514c58c4b57359ad2059d2fb876bcb6604f36235d786e456a3fab96f6a26c2b1968ab90c11922718a5546519cb95bc30332699ac6735c588c21818891621207fd5b021da09293531352789a37a741c311ba74bb48e1bc145bb227b74032ecf2694906c761a96abf7e12d66b5313bf32e11c05fb2d820e6c22003e1cfb9931583587d4129261f6105ce419ef2cb3c12f245423b12d611330d009af1869319b988c53138c491c09f55c3644ccb3e250f9e64858c6113ca7cb6544309f112aebeabbed1f9f8e8a1bd41d4be8dd2dde4365d61f98d79347d5c2f5069fc5c86a2b8f0c8b00c73e9932c2fbc4c725df70077b41c0650a135b669e21b23d9bc971bae77e0f9f21eabd8c0c6eea7767f4e10fde5c2d79b8400bf96b19014b457ec21
|
||||
|
@ -33,6 +33,16 @@ export PATH="$O_EXE:$PATH"
|
||||
export LD_LIBRARY_PATH="$O_LIB:$LD_LIBRARY_PATH"
|
||||
export OPENSSL_ROOT_DIR="$O_LIB"
|
||||
|
||||
# Temporarily override IANA ML-KEM TLS group codepoints
|
||||
export OQS_CODEPOINT_FRODO640AES=65024
|
||||
export OQS_CODEPOINT_FRODO640SHAKE=65025
|
||||
export OQS_CODEPOINT_FRODO976AES=65026
|
||||
|
||||
# These ensure oqsprovider uses ML-KEM at the right code points
|
||||
export OQS_CODEPOINT_MLKEM512=512
|
||||
export OQS_CODEPOINT_MLKEM768=513
|
||||
export OQS_CODEPOINT_MLKEM1024=514
|
||||
|
||||
# Check/Set openssl version
|
||||
OPENSSL_VERSION=`openssl version | cut -f 2 -d ' '`
|
||||
|
||||
|
@ -4934,8 +4934,13 @@ static int test_ciphersuite_change(void)
|
||||
* Test 9 = Test NID_ffdhe4096 with TLSv1.3 client and server
|
||||
* Test 10 = Test NID_ffdhe6144 with TLSv1.3 client and server
|
||||
* Test 11 = Test NID_ffdhe8192 with TLSv1.3 client and server
|
||||
* Test 12 = Test all ECDHE with TLSv1.2 client and server
|
||||
* Test 13 = Test all FFDHE with TLSv1.2 client and server
|
||||
* Test 12 = Test all ML-KEM with TLSv1.3 client and server
|
||||
* Test 13 = Test MLKEM512
|
||||
* Test 14 = Test MLKEM768
|
||||
* Test 15 = Test MLKEM1024
|
||||
* Test 16 = Test all ML-KEM with TLSv1.2 client and server
|
||||
* Test 17 = Test all FFDHE with TLSv1.2 client and server
|
||||
* Test 18 = Test all ECDHE with TLSv1.2 client and server
|
||||
*/
|
||||
# ifndef OPENSSL_NO_EC
|
||||
static int ecdhe_kexch_groups[] = {NID_X9_62_prime256v1, NID_secp384r1,
|
||||
@ -4954,16 +4959,18 @@ static int test_key_exchange(int idx)
|
||||
SSL_CTX *sctx = NULL, *cctx = NULL;
|
||||
SSL *serverssl = NULL, *clientssl = NULL;
|
||||
int testresult = 0;
|
||||
int kexch_alg;
|
||||
int kexch_alg = NID_undef;
|
||||
int *kexch_groups = &kexch_alg;
|
||||
int kexch_groups_size = 1;
|
||||
int max_version = TLS1_3_VERSION;
|
||||
char *kexch_name0 = NULL;
|
||||
const char *kexch_names = NULL;
|
||||
int shared_group0;
|
||||
|
||||
switch (idx) {
|
||||
# ifndef OPENSSL_NO_EC
|
||||
# ifndef OPENSSL_NO_TLS1_2
|
||||
case 12:
|
||||
case 18:
|
||||
max_version = TLS1_2_VERSION;
|
||||
# endif
|
||||
/* Fall through */
|
||||
@ -5001,7 +5008,7 @@ static int test_key_exchange(int idx)
|
||||
# endif
|
||||
# ifndef OPENSSL_NO_DH
|
||||
# ifndef OPENSSL_NO_TLS1_2
|
||||
case 13:
|
||||
case 17:
|
||||
max_version = TLS1_2_VERSION;
|
||||
kexch_name0 = "ffdhe2048";
|
||||
# endif
|
||||
@ -5031,12 +5038,63 @@ static int test_key_exchange(int idx)
|
||||
kexch_alg = NID_ffdhe8192;
|
||||
kexch_name0 = "ffdhe8192";
|
||||
break;
|
||||
# endif
|
||||
# ifndef OPENSSL_NO_ML_KEM
|
||||
# if !defined(OPENSSL_NO_TLS1_2)
|
||||
case 16:
|
||||
max_version = TLS1_2_VERSION;
|
||||
# if !defined(OPENSSL_NO_EC)
|
||||
/* Set at least one EC group so the handshake completes */
|
||||
kexch_names = "MLKEM512:MLKEM768:MLKEM1024:secp256r1";
|
||||
# elif !defined(OPENSSL_NO_DH)
|
||||
kexch_names = "MLKEM512:MLKEM768:MLKEM1024";
|
||||
# else
|
||||
/* With neither EC nor DH TLS 1.2 can't happen */
|
||||
return 1;
|
||||
# endif
|
||||
# endif
|
||||
/* Fall through */
|
||||
case 12:
|
||||
kexch_groups = NULL;
|
||||
if (kexch_names == NULL)
|
||||
kexch_names = "MLKEM512:MLKEM768:MLKEM1024";
|
||||
kexch_name0 = "MLKEM512";
|
||||
break;
|
||||
case 13:
|
||||
if (is_fips) {
|
||||
testresult = 1;
|
||||
goto end;
|
||||
};
|
||||
kexch_groups = NULL;
|
||||
kexch_name0 = "MLKEM512";
|
||||
kexch_names = kexch_name0;
|
||||
break;
|
||||
case 14:
|
||||
if (is_fips) {
|
||||
testresult = 1;
|
||||
goto end;
|
||||
};
|
||||
kexch_groups = NULL;
|
||||
kexch_name0 = "MLKEM768";
|
||||
kexch_names = kexch_name0;
|
||||
break;
|
||||
case 15:
|
||||
kexch_groups = NULL;
|
||||
kexch_name0 = "MLKEM1024";
|
||||
kexch_names = kexch_name0;
|
||||
break;
|
||||
# endif
|
||||
default:
|
||||
/* We're skipping this test */
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ML-KEM not yet supported in the FIPS module */
|
||||
if (is_fips && idx >= 12 && idx <= 16) {
|
||||
testresult = 1;
|
||||
goto end;
|
||||
};
|
||||
|
||||
if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(),
|
||||
TLS_client_method(), TLS1_VERSION,
|
||||
max_version, &sctx, &cctx, cert,
|
||||
@ -5072,35 +5130,53 @@ static int test_key_exchange(int idx)
|
||||
NULL, NULL)))
|
||||
goto end;
|
||||
|
||||
if (!TEST_true(SSL_set1_groups(serverssl, kexch_groups, kexch_groups_size))
|
||||
|| !TEST_true(SSL_set1_groups(clientssl, kexch_groups, kexch_groups_size)))
|
||||
goto end;
|
||||
if (kexch_groups != NULL) {
|
||||
if (!TEST_true(SSL_set1_groups(serverssl, kexch_groups, kexch_groups_size))
|
||||
|| !TEST_true(SSL_set1_groups(clientssl, kexch_groups, kexch_groups_size)))
|
||||
goto end;
|
||||
} else {
|
||||
if (!TEST_true(SSL_set1_groups_list(serverssl, kexch_names))
|
||||
|| !TEST_true(SSL_set1_groups_list(clientssl, kexch_names)))
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (!TEST_true(create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE)))
|
||||
goto end;
|
||||
|
||||
/*
|
||||
* If Handshake succeeds the negotiated kexch alg should be the first one in
|
||||
* configured, except in the case of FFDHE groups (idx 13), which are
|
||||
* TLSv1.3 only so we expect no shared group to exist.
|
||||
* configured, except in the case of FFDHE and ML-KEM groups (idx == 17, 18),
|
||||
* which are TLSv1.3 only so we expect no shared group to exist.
|
||||
*/
|
||||
if (!TEST_int_eq(SSL_get_shared_group(serverssl, 0),
|
||||
idx == 13 ? 0 : kexch_groups[0]))
|
||||
goto end;
|
||||
|
||||
if (!TEST_str_eq(SSL_group_to_name(serverssl, kexch_groups[0]),
|
||||
kexch_name0))
|
||||
goto end;
|
||||
|
||||
/* We don't implement RFC 7919 named groups for TLS 1.2. */
|
||||
if (idx != 13) {
|
||||
shared_group0 = SSL_get_shared_group(serverssl, 0);
|
||||
switch (idx) {
|
||||
case 16:
|
||||
# if !defined(OPENSSL_NO_EC)
|
||||
/* MLKEM + TLS 1.2 and no DH => "secp526r1" */
|
||||
if (!TEST_int_eq(shared_group0, NID_X9_62_prime256v1))
|
||||
goto end;
|
||||
break;
|
||||
# endif
|
||||
/* Fall through */
|
||||
case 17:
|
||||
if (!TEST_int_eq(shared_group0, 0))
|
||||
goto end;
|
||||
break;
|
||||
default:
|
||||
if (kexch_groups != NULL
|
||||
&& !TEST_int_eq(shared_group0, kexch_groups[0]))
|
||||
goto end;
|
||||
if (!TEST_str_eq(SSL_group_to_name(serverssl, shared_group0),
|
||||
kexch_name0))
|
||||
goto end;
|
||||
if (!TEST_str_eq(SSL_get0_group_name(serverssl), kexch_name0)
|
||||
|| !TEST_str_eq(SSL_get0_group_name(clientssl), kexch_name0))
|
||||
goto end;
|
||||
if (!TEST_int_eq(SSL_get_negotiated_group(serverssl), kexch_groups[0]))
|
||||
if (!TEST_int_eq(SSL_get_negotiated_group(serverssl), shared_group0))
|
||||
goto end;
|
||||
if (!TEST_int_eq(SSL_get_negotiated_group(clientssl), kexch_groups[0]))
|
||||
if (!TEST_int_eq(SSL_get_negotiated_group(clientssl), shared_group0))
|
||||
goto end;
|
||||
break;
|
||||
}
|
||||
|
||||
testresult = 1;
|
||||
@ -12885,7 +12961,7 @@ int setup_tests(void)
|
||||
#endif /* OSSL_NO_USABLE_TLS1_3 */
|
||||
# ifndef OPENSSL_NO_TLS1_2
|
||||
/* Test with both TLSv1.3 and 1.2 versions */
|
||||
ADD_ALL_TESTS(test_key_exchange, 14);
|
||||
ADD_ALL_TESTS(test_key_exchange, 18);
|
||||
# if !defined(OPENSSL_NO_EC) && !defined(OPENSSL_NO_DH)
|
||||
ADD_ALL_TESTS(test_negotiated_group,
|
||||
4 * (OSSL_NELEM(ecdhe_kexch_groups)
|
||||
@ -12893,7 +12969,7 @@ int setup_tests(void)
|
||||
# endif
|
||||
# else
|
||||
/* Test with only TLSv1.3 versions */
|
||||
ADD_ALL_TESTS(test_key_exchange, 12);
|
||||
ADD_ALL_TESTS(test_key_exchange, 15);
|
||||
# endif
|
||||
ADD_ALL_TESTS(test_custom_exts, 6);
|
||||
ADD_TEST(test_stateless);
|
||||
|
@ -417,9 +417,8 @@ my %params = (
|
||||
# EC, X25519 and X448 Key generation parameters
|
||||
'PKEY_PARAM_DHKEM_IKM' => "dhkem-ikm",
|
||||
|
||||
# MLKEM parameters
|
||||
'PKEY_PARAM_MLKEM_SEED' => "seed",
|
||||
'KEM_PARAM_MLKEM_ENC_ENTROPY' => "entropy",
|
||||
# ML-KEM parameters
|
||||
'PKEY_PARAM_ML_KEM_SEED' => "seed",
|
||||
|
||||
# Key generation parameters
|
||||
'PKEY_PARAM_FFC_TYPE' => "type",
|
||||
|
Loading…
x
Reference in New Issue
Block a user