]> source.dussan.org Git - rspamd.git/commitdiff
Set curve25519 bits on keypair generation.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 6 Feb 2015 17:15:08 +0000 (17:15 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 6 Feb 2015 17:15:08 +0000 (17:15 +0000)
src/libcryptobox/curve25519/curve25519-donna-c64.c
src/libcryptobox/curve25519/curve25519-donna.c
src/libcryptobox/curve25519/ref.c

index 2d693ee44a3244f6875660b4f738058f99fcbb33..e6a5045adddd01e061e28f62394ae3976ecbbe0a 100644 (file)
@@ -482,17 +482,10 @@ int curve25519 (u8 *, const u8 *, const u8 *);
 int curve25519 (u8 *mypublic, const u8 *secret, const u8 *basepoint)
 {
        limb bp[5], x[5], z[5], zmone[5];
-       uint8_t e[32];
        int i;
 
-       for (i = 0; i < 32; ++i)
-               e[i] = secret[i];
-       e[0] &= 248;
-       e[31] &= 127;
-       e[31] |= 64;
-
        fexpand (bp, basepoint);
-       cmult (x, z, e, bp);
+       cmult (x, z, secret, bp);
        crecip (zmone, z);
        fmul (z, x, zmone);
        fcontract (mypublic, z);
index f9f19a632990aeafc79836eaff943d3064561d0a..e6a50b87fd8363f7f025007aed34bb9665959c46 100644 (file)
@@ -894,17 +894,10 @@ static void crecip (limb *out, const limb *z)
 int curve25519 (u8 *mypublic, const u8 *secret, const u8 *basepoint)
 {
        limb bp[10], x[10], z[11], zmone[10];
-       uint8_t e[32];
        int i;
 
-       for (i = 0; i < 32; ++i)
-               e[i] = secret[i];
-       e[0] &= 248;
-       e[31] &= 127;
-       e[31] |= 64;
-
        fexpand (bp, basepoint);
-       cmult (x, z, e, bp);
+       cmult (x, z, secret, bp);
        crecip (zmone, z);
        fmul (z, x, zmone);
        fcontract (mypublic, z);
index ac3827c273de0a8bd1321bdc1f2e16689d3e4e2a..7e48209062a2cb5daa432e9952f3328b4482b617 100644 (file)
@@ -303,17 +303,12 @@ int curve25519 (unsigned char *q, const unsigned char *n,
                const unsigned char *p)
 {
        unsigned int work[96];
-       unsigned char e[32];
        unsigned int i;
-       for (i = 0; i < 32; ++i)
-               e[i] = n[i];
-       e[0] &= 248;
-       e[31] &= 127;
-       e[31] |= 64;
+
        for (i = 0; i < 32; ++i)
                work[i] = p[i];
        work[31] &= 127;
-       mainloop (work, e);
+       mainloop (work, n);
        recip (work + 32, work + 32);
        mult (work + 64, work, work + 32);
        freeze (work + 64);