2 #define TEST_NAME "box_easy2"
5 unsigned char m
[10000];
6 unsigned char m2
[10000];
7 unsigned char c
[crypto_box_MACBYTES
+ 10000];
8 unsigned char nonce
[crypto_box_NONCEBYTES
];
9 unsigned char alicepk
[crypto_box_PUBLICKEYBYTES
];
10 unsigned char alicesk
[crypto_box_SECRETKEYBYTES
];
11 unsigned char bobpk
[crypto_box_PUBLICKEYBYTES
];
12 unsigned char bobsk
[crypto_box_SECRETKEYBYTES
];
13 unsigned char mac
[crypto_box_MACBYTES
];
17 unsigned long long mlen
;
20 crypto_box_keypair(alicepk
, alicesk
);
21 crypto_box_keypair(bobpk
, bobsk
);
22 mlen
= (unsigned long long)randombytes_uniform((uint32_t)sizeof m
);
23 randombytes_buf(m
, mlen
);
24 randombytes_buf(nonce
, sizeof nonce
);
25 crypto_box_easy(c
, m
, mlen
, nonce
, bobpk
, alicesk
);
26 if (crypto_box_open_easy(m2
, c
, mlen
+ crypto_box_MACBYTES
, nonce
, alicepk
,
28 printf("open() failed");
31 printf("%d\n", memcmp(m
, m2
, mlen
));
33 for (i
= 0; i
< mlen
+ crypto_box_MACBYTES
- 1; i
++) {
34 if (crypto_box_open_easy(m2
, c
, i
, nonce
, alicepk
, bobsk
) == 0) {
35 printf("short open() should have failed");
39 crypto_box_detached(c
, mac
, m
, mlen
, nonce
, bobsk
, alicepk
);
40 crypto_box_open_detached(m2
, c
, mac
, mlen
, nonce
, alicepk
, bobsk
);
41 printf("%d\n", memcmp(m
, m2
, mlen
));