From 2fb83ade4cdafdeb6819252e4aa89a976985cd8c Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Tue, 10 Feb 2015 13:35:20 +0100 Subject: [PATCH] crypto_sign_detached(): no need to store a copy of the public key on the stack --- src/libsodium/crypto_sign/ed25519/ref10/sign.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/libsodium/crypto_sign/ed25519/ref10/sign.c b/src/libsodium/crypto_sign/ed25519/ref10/sign.c index fa3080eb..25652ec1 100644 --- a/src/libsodium/crypto_sign/ed25519/ref10/sign.c +++ b/src/libsodium/crypto_sign/ed25519/ref10/sign.c @@ -13,14 +13,11 @@ crypto_sign_detached(unsigned char *sig, unsigned long long *siglen_p, const unsigned char *sk) { crypto_hash_sha512_state hs; - unsigned char pk[32]; unsigned char az[64]; unsigned char nonce[64]; unsigned char hram[64]; ge_p3 R; - memmove(pk, sk + 32, 32); - crypto_hash_sha512(az, sk, 32); az[0] &= 248; az[31] &= 63; @@ -31,7 +28,7 @@ crypto_sign_detached(unsigned char *sig, unsigned long long *siglen_p, crypto_hash_sha512_update(&hs, m, mlen); crypto_hash_sha512_final(&hs, nonce); - memmove(sig + 32, pk, 32); + memmove(sig + 32, sk + 32, 32); sc_reduce(nonce); ge_scalarmult_base(&R, nonce);