keypair.c 380 B

1234567891011121314151617
  1. #include "ed25519.h"
  2. #include "sha512.h"
  3. #include "ge.h"
  4. void ed25519_create_keypair(unsigned char *public_key, unsigned char *private_key, const unsigned char *seed) {
  5. ge_p3 A;
  6. sha512(seed, 32, private_key);
  7. private_key[0] &= 248;
  8. private_key[31] &= 63;
  9. private_key[31] |= 64;
  10. ge_scalarmult_base(&A, private_key);
  11. ge_p3_tobytes(public_key, &A);
  12. }