Path: blob/main/sys/contrib/libsodium/test/default/auth7.c
48375 views
1#define TEST_NAME "auth7"2#include "cmptest.h"34static unsigned char key[32];5static unsigned char c[600];6static unsigned char a[64];78int9main(void)10{11size_t clen;1213for (clen = 0; clen < sizeof c; ++clen) {14crypto_auth_keygen(key);15randombytes_buf(c, clen);16crypto_auth_hmacsha512(a, c, clen, key);17if (crypto_auth_hmacsha512_verify(a, c, clen, key) != 0) {18printf("fail %u\n", (unsigned int) clen);19return 100;20}21if (clen > 0) {22c[(size_t) rand() % clen] += 1 + (rand() % 255);23if (crypto_auth_hmacsha512_verify(a, c, clen, key) == 0) {24printf("forgery %u\n", (unsigned int) clen);25return 100;26}27a[rand() % sizeof a] += 1 + (rand() % 255);28if (crypto_auth_hmacsha512_verify(a, c, clen, key) == 0) {29printf("forgery %u\n", (unsigned int) clen);30return 100;31}32}33}34return 0;35}363738