diff --git a/readme.md b/readme.md index b202892..676a631 100644 --- a/readme.md +++ b/readme.md @@ -64,7 +64,8 @@ Creates a 32 byte random seed in `seed` for key generation. `seed` must be a writable 32 byte buffer. Returns 0 on success, and nonzero on failure. ```c -void ed25519_create_keypair(unsigned char *public_key, unsigned char *private_key, const unsigned char *seed); +void ed25519_create_keypair(unsigned char *public_key, unsigned char *private_key, + const unsigned char *seed); ``` Creates a new key pair from the given seed. `public_key` must be a writable 32 diff --git a/src/add_scalar.c b/src/add_scalar.c index 262ec72..a4f2a55 100644 --- a/src/add_scalar.c +++ b/src/add_scalar.c @@ -38,8 +38,8 @@ void ed25519_add_scalar(unsigned char *public_key, unsigned char *private_key, c } else { /* unpack public key into T */ ge_frombytes_negate_vartime(&public_key_unpacked, public_key); - fe_neg(public_key_unpacked.X, public_key_unpacked.X); // undo negate - fe_neg(public_key_unpacked.T, public_key_unpacked.T); // undo negate + fe_neg(public_key_unpacked.X, public_key_unpacked.X); /* undo negate */ + fe_neg(public_key_unpacked.T, public_key_unpacked.T); /* undo negate */ ge_p3_to_cached(&T, &public_key_unpacked); /* calculate n*B */ diff --git a/src/sha512.c b/src/sha512.c index 635d8ae..cb8ae71 100644 --- a/src/sha512.c +++ b/src/sha512.c @@ -268,8 +268,8 @@ int sha512(const unsigned char *message, size_t message_len, unsigned char *out) { sha512_context ctx; int ret; - if (ret = sha512_init(&ctx)) return ret; - if (ret = sha512_update(&ctx, message, message_len)) return ret; - if (ret = sha512_final(&ctx, out)) return ret; + if ((ret = sha512_init(&ctx))) return ret; + if ((ret = sha512_update(&ctx, message, message_len))) return ret; + if ((ret = sha512_final(&ctx, out))) return ret; return 0; -} \ No newline at end of file +} diff --git a/test.c b/test.c index a56d202..e2159a9 100644 --- a/test.c +++ b/test.c @@ -3,16 +3,14 @@ #include #include -//#define ED25519_DLL +/* #define ED25519_DLL */ #include "src/ed25519.h" #include "src/ge.h" #include "src/sc.h" -const char message[] = "Hello, world!"; - -int main(int argc, char *argv[]) { +int main() { unsigned char public_key[32], private_key[64], seed[32], scalar[32]; unsigned char other_public_key[32], other_private_key[64]; unsigned char shared_secret[32], other_shared_secret[32]; @@ -22,15 +20,18 @@ int main(int argc, char *argv[]) { clock_t end; int i; + const unsigned char message[] = "Hello, world!"; + const int message_len = strlen((char*) message); + /* create a random seed, and a keypair out of that seed */ ed25519_create_seed(seed); ed25519_create_keypair(public_key, private_key, seed); /* create signature on the message with the keypair */ - ed25519_sign(signature, message, strlen(message), public_key, private_key); + ed25519_sign(signature, message, message_len, public_key, private_key); /* verify the signature */ - if (ed25519_verify(signature, message, strlen(message), public_key)) { + if (ed25519_verify(signature, message, message_len, public_key)) { printf("valid signature\n"); } else { printf("invalid signature\n"); @@ -41,10 +42,10 @@ int main(int argc, char *argv[]) { ed25519_add_scalar(public_key, private_key, scalar); /* create signature with the new keypair */ - ed25519_sign(signature, message, strlen(message), public_key, private_key); + ed25519_sign(signature, message, message_len, public_key, private_key); /* verify the signature with the new keypair */ - if (ed25519_verify(signature, message, strlen(message), public_key)) { + if (ed25519_verify(signature, message, message_len, public_key)) { printf("valid signature\n"); } else { printf("invalid signature\n"); @@ -52,7 +53,7 @@ int main(int argc, char *argv[]) { /* make a slight adjustment and verify again */ signature[44] ^= 0x10; - if (ed25519_verify(signature, message, strlen(message), public_key)) { + if (ed25519_verify(signature, message, message_len, public_key)) { printf("did not detect signature change\n"); } else { printf("correctly detected signature change\n"); @@ -102,7 +103,7 @@ int main(int argc, char *argv[]) { printf("testing sign performance: "); start = clock(); for (i = 0; i < 10000; ++i) { - ed25519_sign(signature, message, strlen(message), public_key, private_key); + ed25519_sign(signature, message, message_len, public_key, private_key); } end = clock(); @@ -111,7 +112,7 @@ int main(int argc, char *argv[]) { printf("testing verify performance: "); start = clock(); for (i = 0; i < 10000; ++i) { - ed25519_verify(signature, message, strlen(message), public_key); + ed25519_verify(signature, message, message_len, public_key); } end = clock();