Index: tweetnacl/patches/tweetnacl-derivepubkey.diff ================================================================== --- tweetnacl/patches/tweetnacl-derivepubkey.diff +++ tweetnacl/patches/tweetnacl-derivepubkey.diff @@ -1,7 +1,8 @@ ---- a/tweetnacl.c.new -+++ b/tweetnacl.c.new +diff -uNr a/tweetnacl.c.new b/tweetnacl.c.new +--- a/tweetnacl.c.new 2018-07-01 15:49:55.377820017 -0500 ++++ b/tweetnacl.c.new 2018-07-02 00:47:35.564231900 -0500 @@ -653,13 +653,15 @@ scalarmult(p,q,s); } -int crypto_sign_keypair(u8 *pk, u8 *sk) @@ -16,16 +17,28 @@ + randombytes(sk, 32); + } crypto_hash(d, sk, 32); d[0] &= 248; d[31] &= 127; ---- a/tweetnacl.h.new -+++ b/tweetnacl.h.new +@@ -668,7 +670,9 @@ + scalarbase(p,d); + pack(pk,p); + +- FOR(i,32) sk[32 + i] = pk[i]; ++ if (generate_sk) { ++ FOR(i,32) sk[32 + i] = pk[i]; ++ } + return 0; + } + +diff -uNr a/tweetnacl.h.new b/tweetnacl.h.new +--- a/tweetnacl.h.new 2018-07-01 15:49:55.377820017 -0500 ++++ b/tweetnacl.h.new 2018-07-02 00:47:06.814232424 -0500 @@ -211,7 +211,7 @@ #define crypto_sign_ed25519_tweet_SECRETKEYBYTES 64 extern int crypto_sign_ed25519_tweet(unsigned char *,unsigned long long *,const unsigned char *,unsigned long long,const unsigned char *); extern int crypto_sign_ed25519_tweet_open(unsigned char *,unsigned long long *,const unsigned char *,unsigned long long,const unsigned char *); -extern int crypto_sign_ed25519_tweet_keypair(unsigned char *,unsigned char *); +extern int crypto_sign_ed25519_tweet_keypair(unsigned char *,unsigned char *, unsigned char); #define crypto_sign_ed25519_tweet_VERSION "-" #define crypto_sign_ed25519 crypto_sign_ed25519_tweet #define crypto_sign_ed25519_open crypto_sign_ed25519_tweet_open