X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fed25519%2Fkeypair.c;fp=src%2Fed25519%2Fkeypair.c;h=dc1b8eccc28db4254c59774eefbc8d164e22bbf2;hp=0000000000000000000000000000000000000000;hb=2f01744f82be542894fe2ceecbfb9ead93c9ffa5;hpb=d6734a2da483675f5bcc9cf7b15723a409b1019f diff --git a/src/ed25519/keypair.c b/src/ed25519/keypair.c new file mode 100644 index 00000000..dc1b8ecc --- /dev/null +++ b/src/ed25519/keypair.c @@ -0,0 +1,16 @@ +#include "ed25519.h" +#include "sha512.h" +#include "ge.h" + + +void ed25519_create_keypair(unsigned char *public_key, unsigned char *private_key, const unsigned char *seed) { + ge_p3 A; + + sha512(seed, 32, private_key); + private_key[0] &= 248; + private_key[31] &= 63; + private_key[31] |= 64; + + ge_scalarmult_base(&A, private_key); + ge_p3_tobytes(public_key, &A); +}