more docs
This commit is contained in:
parent
50dcc217ea
commit
4ee64c0560
42
readme.md
42
readme.md
@ -33,13 +33,47 @@ API
|
||||
int ed25519_create_seed(unsigned char *seed);
|
||||
|
||||
Creates a 32 byte random seed in `seed` for key generation. `seed` must be a
|
||||
writable 32 byte buffer.
|
||||
writable 32 byte buffer. Returns 0 on success, and nonzero on failure.
|
||||
|
||||
int ed25519_create_keypair(unsigned char *verify_key, unsigned char *sign_key, const unsigned char *seed);
|
||||
|
||||
Creates a new key pair from the given seed. `verify_key` must be a writable 32
|
||||
byte buffer, `sign_key` must be a writable 64 byte buffer and `seed` must be a
|
||||
32 byte buffer.
|
||||
32 byte buffer. Returns 0 on success, and nonzero on failure.
|
||||
|
||||
int ed25519_sign(unsigned char *signature, const unsigned char *message, size_t message_len, const unsigned char *sign_key);
|
||||
int ed25519_verify(const unsigned char *signature, const unsigned char *message, size_t message_len, const unsigned char *verify_key);
|
||||
int ed25519_sign(unsigned char *signature,
|
||||
const unsigned char *message, size_t message_len,
|
||||
const unsigned char *sign_key);
|
||||
|
||||
Creates a signature of the given message with `sign_key`. `signature` must be
|
||||
a writable 64 byte buffer. `message` must have at least `message_len` bytes to
|
||||
be read. `sign_key` must be a 64 byte signing key generated by
|
||||
`ed25519_create_keypair`. Returns 0 on success, and nonzero on failure.
|
||||
|
||||
int ed25519_verify(const unsigned char *signature,
|
||||
const unsigned char *message, size_t message_len,
|
||||
const unsigned char *verify_key);
|
||||
|
||||
Verifies the signature on the given message using verify_key. `signature` must be
|
||||
a readable 64 byte buffer. `message` must have at least `message_len` bytes to
|
||||
be read. `sign_key` must be a 32 byte verifying key generated by
|
||||
`ed25519_create_keypair`. Returns 0 if the signature matches, 1 otherwise.
|
||||
|
||||
Example
|
||||
-------
|
||||
unsigned char seed[32], sign_key[64], verify_key[32], signature[64];
|
||||
const unsigned char message[] = "TEST MESSAGE";
|
||||
|
||||
/* create a random seed, and a keypair out of that seed */
|
||||
ed25519_create_seed(seed);
|
||||
ed25519_create_keypair(verify_key, sign_key, seed);
|
||||
|
||||
/* create signature on the message with the sign key */
|
||||
ed25519_sign(signature, message, strlen(message), sign_key);
|
||||
|
||||
/* verify the signature */
|
||||
if (ed25519_verify(signature, message, strlen(message), verify_key)) {
|
||||
printf("invalid signature\n");
|
||||
} else {
|
||||
printf("valid signature\n");
|
||||
}
|
Loading…
Reference in New Issue
Block a user