diff options
Diffstat (limited to 'nacl/tests/core3.c')
-rw-r--r-- | nacl/tests/core3.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/nacl/tests/core3.c b/nacl/tests/core3.c new file mode 100644 index 00000000..4c759a5b --- /dev/null +++ b/nacl/tests/core3.c | |||
@@ -0,0 +1,41 @@ | |||
1 | #include <stdio.h> | ||
2 | #include "crypto_core_salsa20.h" | ||
3 | #include "crypto_hash_sha256.h" | ||
4 | |||
5 | unsigned char secondkey[32] = { | ||
6 | 0xdc,0x90,0x8d,0xda,0x0b,0x93,0x44,0xa9 | ||
7 | ,0x53,0x62,0x9b,0x73,0x38,0x20,0x77,0x88 | ||
8 | ,0x80,0xf3,0xce,0xb4,0x21,0xbb,0x61,0xb9 | ||
9 | ,0x1c,0xbd,0x4c,0x3e,0x66,0x25,0x6c,0xe4 | ||
10 | } ; | ||
11 | |||
12 | unsigned char noncesuffix[8] = { | ||
13 | 0x82,0x19,0xe0,0x03,0x6b,0x7a,0x0b,0x37 | ||
14 | } ; | ||
15 | |||
16 | unsigned char c[16] = { | ||
17 | 0x65,0x78,0x70,0x61,0x6e,0x64,0x20,0x33 | ||
18 | ,0x32,0x2d,0x62,0x79,0x74,0x65,0x20,0x6b | ||
19 | } ; | ||
20 | |||
21 | unsigned char in[16] = { 0 } ; | ||
22 | |||
23 | unsigned char output[64 * 256 * 256]; | ||
24 | |||
25 | unsigned char h[32]; | ||
26 | |||
27 | main() | ||
28 | { | ||
29 | int i; | ||
30 | long long pos = 0; | ||
31 | for (i = 0;i < 8;++i) in[i] = noncesuffix[i]; | ||
32 | do { | ||
33 | do { | ||
34 | crypto_core_salsa20(output + pos,in,secondkey,c); | ||
35 | pos += 64; | ||
36 | } while (++in[8]); | ||
37 | } while (++in[9]); | ||
38 | crypto_hash_sha256(h,output,sizeof output); | ||
39 | for (i = 0;i < 32;++i) printf("%02x",h[i]); printf("\n"); | ||
40 | return 0; | ||
41 | } | ||