diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-10-12 16:18:22 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-10-12 16:18:22 +0100 |
commit | 395cb950190b94ea6565cbf7cfeb65d05de75209 (patch) | |
tree | 5158ac507e90cd7d697b7fd83b71373de91d6e0c /src/libcryptobox/curve25519/curve25519-donna.c | |
parent | d73986b308e2385201c02ca197260d1adc481f03 (diff) | |
download | rspamd-395cb950190b94ea6565cbf7cfeb65d05de75209.tar.gz rspamd-395cb950190b94ea6565cbf7cfeb65d05de75209.zip |
Add testing for curve25519 ECDH.
Diffstat (limited to 'src/libcryptobox/curve25519/curve25519-donna.c')
-rw-r--r-- | src/libcryptobox/curve25519/curve25519-donna.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libcryptobox/curve25519/curve25519-donna.c b/src/libcryptobox/curve25519/curve25519-donna.c index b3b59d860..55d1d1730 100644 --- a/src/libcryptobox/curve25519/curve25519-donna.c +++ b/src/libcryptobox/curve25519/curve25519-donna.c @@ -894,11 +894,18 @@ static void crecip (limb *out, const limb *z) int scalarmult_donna32 (u8 *mypublic, const u8 *secret, const u8 *basepoint) { limb bp[10], x[10], z[11], zmone[10]; + unsigned char e[32]; + + memcpy (e, secret, 32); + e[0] &= 248; + e[31] &= 127; + e[31] |= 64; fexpand (bp, basepoint); - cmult (x, z, secret, bp); + cmult (x, z, e, bp); crecip (zmone, z); fmul (z, x, zmone); fcontract (mypublic, z); + return 0; } |