From: Hongbo Li <herberthbli@xxxxxxxxxxx> This patch adds the test vector for ed25519. The test vector is from RFC8032 section 7.1 [1] [1]https://datatracker.ietf.org/doc/html/rfc8032#section-7.1 Signed-off-by: Hongbo Li <herberthbli@xxxxxxxxxxx> --- crypto/testmgr.c | 6 ++++++ crypto/testmgr.h | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/crypto/testmgr.c b/crypto/testmgr.c index 58eee8e..e795b6a 100644 --- a/crypto/testmgr.c +++ b/crypto/testmgr.c @@ -4968,6 +4968,12 @@ static int alg_test_null(const struct alg_test_desc *desc, .akcipher = __VECS(ecrdsa_tv_template) } }, { + .alg = "eddsa-25519", + .test = alg_test_akcipher, + .suite = { + .akcipher = __VECS(eddsa_25519_tv_template) + } + }, { .alg = "essiv(authenc(hmac(sha256),cbc(aes)),sha256)", .test = alg_test_aead, .fips_allowed = 1, diff --git a/crypto/testmgr.h b/crypto/testmgr.h index e6fca34..b5f291c 100644 --- a/crypto/testmgr.h +++ b/crypto/testmgr.h @@ -1145,6 +1145,38 @@ struct kpp_testvec { }; /* + * EDDSA test vectors. + * From RFC8032 section 7.1 + */ +static const struct akcipher_testvec eddsa_25519_tv_template[] = { + { + .key = + "\x3d\x40\x17\xc3\xe8\x43\x89\x5a\x92\xb7\x0a\xa7\x4d\x1b\x7e\xbc" + "\x9c\x98\x2c\xcf\x2e\xc4\x96\x8c\xc0\xcd\x55\xf1\x2a\xf4\x66\x0c", + .key_len = 32, + /* + * RFC8032 section 5.1.7. m is SHA512(dom2(F, C) || R || A || PH(M)) + * M is 0x72 + */ + .m = + "\xa2\x71\xdf\x0d\x2b\x0d\x03\xbd\x17\xb4\xed\x9a\x4b\x6a\xfd\xdf" + "\x2e\x73\x28\x7f\xd6\x30\xf1\xa1\x37\xd8\x7c\xe8\x73\xa5\x91\xcc" + "\x31\xb6\xdd\x85\x2a\x98\xb5\xdd\x12\x26\xfe\x99\x3d\x82\x28\x27" + "\x8c\xeb\xa2\x1f\x80\xb8\xfc\x95\x98\x6a\x70\xd7\x1e\xdf\x3f\xaf", + .m_size = 64, + .c = + "\x92\xa0\x09\xa9\xf0\xd4\xca\xb8\x72\x0e\x82\x0b\x5f\x64\x25\x40" + "\xa2\xb2\x7b\x54\x16\x50\x3f\x8f\xb3\x76\x22\x23\xeb\xdb\x69\xda" + "\x08\x5a\xc1\xe4\x3e\x15\x99\x6e\x45\x8f\x36\x13\xd0\xf1\x1d\x8c" + "\x38\x7b\x2e\xae\xb4\x30\x2a\xee\xb0\x0d\x29\x16\x12\xbb\x0c\x00", + .c_size = 64, + .algo = OID_ed25519, + .public_key_vec = true, + .siggen_sigver_test = true, + } +}; + +/* * PKCS#1 RSA test vectors. Obtained from CAVS testing. */ static const struct akcipher_testvec pkcs1pad_rsa_tv_template[] = { -- 1.8.3.1