From 55d0b9f486a89060f28c1c7f0b6c0253ce74a93c Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Fri, 19 Apr 2013 22:06:55 +0200 Subject: [PATCH] Shave some lines in crypto_sign_keypair(), reintroduce @bascule's original code --- .../crypto_sign/ed25519/ref10/keypair.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/src/libsodium/crypto_sign/ed25519/ref10/keypair.c b/src/libsodium/crypto_sign/ed25519/ref10/keypair.c index 359faadb..d1969254 100644 --- a/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +++ b/src/libsodium/crypto_sign/ed25519/ref10/keypair.c @@ -24,19 +24,8 @@ int crypto_sign_seed_keypair(unsigned char *pk, unsigned char *sk, int crypto_sign_keypair(unsigned char *pk, unsigned char *sk) { - unsigned char h[64]; - ge_p3 A; - int i; + unsigned char seed[32]; - randombytes(sk,32); - crypto_hash_sha512(h,sk,32); - h[0] &= 248; - h[31] &= 63; - h[31] |= 64; - - ge_scalarmult_base(&A,h); - ge_p3_tobytes(pk,&A); - - for (i = 0;i < 32;++i) sk[32 + i] = pk[i]; - return 0; + randombytes(seed,32); + return crypto_sign_seed_keypair(pk,sk,seed); }