diff options
author | Richard van der Hoff <richard@matrix.org> | 2016-09-01 14:06:57 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2016-09-01 14:06:57 +0100 |
commit | 214e9328069b2c1db59d0ec63b7ff2753a5abfc9 (patch) | |
tree | 62fb26fc8ee3ca6ba30ce28f49ce455844b3fb88 /lib/ed25519_additions.c | |
parent | f2906ac0e7a3168a1206beaa1fdd6ba1dd44b62d (diff) | |
parent | 0c462cff112589fc52d13da6c919f881cb6d3f8c (diff) |
Merge branch 'rav/ed25519_fix'
Diffstat (limited to 'lib/ed25519_additions.c')
-rw-r--r-- | lib/ed25519_additions.c | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/lib/ed25519_additions.c b/lib/ed25519_additions.c deleted file mode 100644 index 5fa0c68..0000000 --- a/lib/ed25519_additions.c +++ /dev/null @@ -1,43 +0,0 @@ -void convert_curve25519_to_ed25519( - unsigned char * public_key, - unsigned char * signature -) { - fe mont_x, mont_x_minus_one, mont_x_plus_one, inv_mont_x_plus_one; - fe one; - fe ed_y; - - fe_frombytes(mont_x, public_key); - fe_1(one); - fe_sub(mont_x_minus_one, mont_x, one); - fe_add(mont_x_plus_one, mont_x, one); - fe_invert(inv_mont_x_plus_one, mont_x_plus_one); - fe_mul(ed_y, mont_x_minus_one, inv_mont_x_plus_one); - fe_tobytes(public_key, ed_y); - - public_key[31] &= 0x7F; - public_key[31] |= (signature[63] & 0x80); - signature[63] &= 0x7F; -} - - -void convert_ed25519_to_curve25519( - unsigned char const * public_key, - unsigned char * signature -) { - unsigned char sign_bit = public_key[31] & 0x80; - signature[63] &= 0x7F; - signature[63] |= sign_bit; -} - - -void ed25519_keypair( - unsigned char * private_key, - unsigned char * public_key -) { - ge_p3 A; - private_key[0] &= 248; - private_key[31] &= 63; - private_key[31] |= 64; - ge_scalarmult_base(&A, private_key); - ge_p3_tobytes(public_key, &A); -} |