libsodium: Needed for Dnscrypto-proxy Release 1.3.0
[tomato.git] / release / src / router / libsodium / test / default / core3.c
blob5d24fdda5ea064aa6a721c3d056335bf508f00cf
1 #include <stdio.h>
3 #define TEST_NAME "core3"
4 #include "cmptest.h"
6 unsigned char secondkey[32] = {
7 0xdc,0x90,0x8d,0xda,0x0b,0x93,0x44,0xa9
8 ,0x53,0x62,0x9b,0x73,0x38,0x20,0x77,0x88
9 ,0x80,0xf3,0xce,0xb4,0x21,0xbb,0x61,0xb9
10 ,0x1c,0xbd,0x4c,0x3e,0x66,0x25,0x6c,0xe4
11 } ;
13 unsigned char noncesuffix[8] = {
14 0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37
15 } ;
17 unsigned char c[16] = {
18 0x65,0x78,0x70,0x61,0x6e,0x64,0x20,0x33
19 ,0x32,0x2d,0x62,0x79,0x74,0x65,0x20,0x6b
20 } ;
22 unsigned char in[16] = { 0 } ;
24 unsigned char output[64 * 256 * 256];
26 unsigned char h[32];
28 int main(void)
30 int i;
31 long long pos = 0;
32 for (i = 0;i < 8;++i) in[i] = noncesuffix[i];
33 do {
34 do {
35 crypto_core_salsa20(output + pos,in,secondkey,c);
36 pos += 64;
37 } while (++in[8]);
38 } while (++in[9]);
39 crypto_hash_sha256(h,output,sizeof output);
40 for (i = 0;i < 32;++i) printf("%02x",h[i]); printf("\n");
41 return 0;