More tests
This commit is contained in:
parent
3e588a48e3
commit
8ad6ffa9d6
@ -1,15 +1,27 @@
|
|||||||
#define TEST_NAME "scalarmult_ed25519"
|
#define TEST_NAME "scalarmult_ed25519"
|
||||||
#include "cmptest.h"
|
#include "cmptest.h"
|
||||||
|
|
||||||
|
static const unsigned char non_canonical_p[32] = {
|
||||||
|
0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f
|
||||||
|
};
|
||||||
|
static const unsigned char non_canonical_invalid_p[32] = {
|
||||||
|
0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f
|
||||||
|
};
|
||||||
|
static const unsigned char max_canonical_p[32] = {
|
||||||
|
0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f
|
||||||
|
};
|
||||||
|
|
||||||
|
static const unsigned char B[32] = {
|
||||||
|
0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
|
||||||
|
0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66
|
||||||
|
};
|
||||||
|
|
||||||
int
|
int
|
||||||
main(void)
|
main(void)
|
||||||
{
|
{
|
||||||
static const unsigned char B[32] = {
|
|
||||||
0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
|
|
||||||
0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
|
|
||||||
0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
|
|
||||||
0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
|
|
||||||
};
|
|
||||||
unsigned char *n, *p, *q, *q2;
|
unsigned char *n, *p, *q, *q2;
|
||||||
|
|
||||||
n = (unsigned char *) sodium_malloc(crypto_scalarmult_ed25519_SCALARBYTES);
|
n = (unsigned char *) sodium_malloc(crypto_scalarmult_ed25519_SCALARBYTES);
|
||||||
@ -29,11 +41,30 @@ main(void)
|
|||||||
printf("crypto_scalarmult_ed25519_base(n) != crypto_scalarmult_ed25519(n, 9)\n");
|
printf("crypto_scalarmult_ed25519_base(n) != crypto_scalarmult_ed25519(n, 9)\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(n, 0, crypto_scalarmult_ed25519_BYTES);
|
memset(n, 0, crypto_scalarmult_ed25519_SCALARBYTES);
|
||||||
if (crypto_scalarmult_ed25519_base(q, n) != 0) {
|
if (crypto_scalarmult_ed25519_base(q, n) != -1) {
|
||||||
printf("crypto_scalarmult_ed25519_base() didn't fail\n");
|
printf("crypto_scalarmult_ed25519_base() failed\n");
|
||||||
}
|
}
|
||||||
if (crypto_scalarmult_ed25519(q2, n, p) != 0) {
|
if (crypto_scalarmult_ed25519(q2, n, p) != 0) {
|
||||||
|
printf("crypto_scalarmult_ed25519() failed\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (crypto_scalarmult_ed25519(q, n, non_canonical_p) != -1) {
|
||||||
|
printf("crypto_scalarmult_ed25519() didn't fail\n");
|
||||||
|
}
|
||||||
|
if (crypto_scalarmult_ed25519(q, n, non_canonical_invalid_p) != -1) {
|
||||||
|
printf("crypto_scalarmult_ed25519() didn't fail\n");
|
||||||
|
}
|
||||||
|
if (crypto_scalarmult_ed25519(q, n, max_canonical_p) != 0) {
|
||||||
|
printf("crypto_scalarmult_ed25519() failed\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
memset(p, 0, crypto_scalarmult_ed25519_BYTES);
|
||||||
|
if (crypto_scalarmult_ed25519(q, n, p) != -1) {
|
||||||
|
printf("crypto_scalarmult_ed25519() didn't fail\n");
|
||||||
|
}
|
||||||
|
n[0] = 8;
|
||||||
|
if (crypto_scalarmult_ed25519(q, n, p) != -1) {
|
||||||
printf("crypto_scalarmult_ed25519() didn't fail\n");
|
printf("crypto_scalarmult_ed25519() didn't fail\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user