libsodium 1.0.8
[tomato.git] / release / src / router / libsodium / test / default / onetimeauth7.c
bloba999482cc29bcc60ef19db740d82efe85ac5c5cd
2 #define TEST_NAME "onetimeauth7"
3 #include "cmptest.h"
5 static unsigned char key[32];
6 static unsigned char c[1000];
7 static unsigned char a[16];
9 int main(void)
11 int clen;
13 for (clen = 0; clen < 1000; ++clen) {
14 randombytes_buf(key, sizeof key);
15 randombytes_buf(c, clen);
16 crypto_onetimeauth(a, c, clen, key);
17 if (crypto_onetimeauth_verify(a, c, clen, key) != 0) {
18 printf("fail %d\n", clen);
19 return 100;
21 if (clen > 0) {
22 c[rand() % clen] += 1 + (rand() % 255);
23 if (crypto_onetimeauth_verify(a, c, clen, key) == 0) {
24 printf("forgery %d\n", clen);
25 return 100;
27 a[rand() % sizeof a] += 1 + (rand() % 255);
28 if (crypto_onetimeauth_verify(a, c, clen, key) == 0) {
29 printf("forgery %d\n", clen);
30 return 100;
34 return 0;