aboutsummaryrefslogtreecommitdiff
path: root/com/BLAKE2/test/blake2s_kat.c
blob: 0581c18512cd8a1be425f52762073ea29d653459 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <assert.h>
#include <blake2s.h>
#include <stdio.h>
#include <string.h>

#include "blake2s_kat.h"

int
main(void)
{
  uint8_t in[256];
  for (int i = 0; i < 256; ++i) in[i] = i;
  uint8_t out[32];

  for (unsigned i = 0; i < KATs_len; ++i) {
    assert(BLAKE2s(out, 32, NULL, 0, in, i) == 0);
    assert(memcmp(out, KATs[i], 32) == 0);
  }

  for (unsigned i = 0; i < 1; ++i) {
    _Static_assert(sizeof(KAT_secret) == 32, "sizeof KAT_secret");
    assert(BLAKE2s(out, 32, KAT_secret, 32, in, i) == 0);

    for (unsigned j = 0; j < 32; ++j) printf("%02x ", out[j]);
    printf("\n");
    for (unsigned j = 0; j < 32; ++j) printf("%02x ", secret_KATs[i][j]);
    printf("\n");

    assert(memcmp(out, secret_KATs[i], 32) == 0);
  }
}