From 132e09b6e76920007e37eedb8dd05ab2f51e239d Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 26 Apr 2022 17:14:00 +0200 Subject: gnunet-crypto-tvg: edx25519 test vectors --- src/util/gnunet-crypto-tvg.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'src') diff --git a/src/util/gnunet-crypto-tvg.c b/src/util/gnunet-crypto-tvg.c index 0071f3e90..76c379784 100644 --- a/src/util/gnunet-crypto-tvg.c +++ b/src/util/gnunet-crypto-tvg.c @@ -1200,6 +1200,45 @@ output_vectors () sizeof (struct GNUNET_HashCode)); } + { + json_t *vec = vec_for (vecs, "edx25519_derive"); + struct GNUNET_CRYPTO_Edx25519PrivateKey priv1_edx; + struct GNUNET_CRYPTO_Edx25519PublicKey pub1_edx; + struct GNUNET_CRYPTO_Edx25519PrivateKey priv2_edx; + struct GNUNET_CRYPTO_Edx25519PublicKey pub2_edx; + struct GNUNET_HashCode seed; + + GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, + &seed, + sizeof (struct GNUNET_HashCode)); + GNUNET_CRYPTO_edx25519_key_create (&priv1_edx); + GNUNET_CRYPTO_edx25519_key_get_public (&priv1_edx, &pub1_edx); + GNUNET_CRYPTO_edx25519_private_key_derive (&priv1_edx, + &seed, + sizeof (seed), + &priv2_edx); + GNUNET_CRYPTO_edx25519_public_key_derive (&pub1_edx, + &seed, + sizeof (seed), + &pub2_edx); + + d2j (vec, "priv1_edx", + &priv1_edx, + sizeof (struct GNUNET_CRYPTO_Edx25519PrivateKey)); + d2j (vec, "pub1_edx", + &pub1_edx, + sizeof (struct GNUNET_CRYPTO_Edx25519PublicKey)); + d2j (vec, "seed", + &seed, + sizeof (struct GNUNET_HashCode)); + d2j (vec, "priv2_edx", + &priv2_edx, + sizeof (struct GNUNET_CRYPTO_Edx25519PrivateKey)); + d2j (vec, "pub2_edx", + &pub2_edx, + sizeof (struct GNUNET_CRYPTO_Edx25519PublicKey)); + } + { json_t *vec = vec_for (vecs, "rsa_blind_signing"); -- cgit v1.2.3