Blame SOURCES/libsodium-1.0.18/test/default/secretbox2.c

rdobuilder 775784
rdobuilder 775784
#define TEST_NAME "secretbox2"
rdobuilder 775784
#include "cmptest.h"
rdobuilder 775784
rdobuilder 775784
static unsigned char firstkey[32] = { 0x1b, 0x27, 0x55, 0x64, 0x73, 0xe9, 0x85,
rdobuilder 775784
                                      0xd4, 0x62, 0xcd, 0x51, 0x19, 0x7a, 0x9a,
rdobuilder 775784
                                      0x46, 0xc7, 0x60, 0x09, 0x54, 0x9e, 0xac,
rdobuilder 775784
                                      0x64, 0x74, 0xf2, 0x06, 0xc4, 0xee, 0x08,
rdobuilder 775784
                                      0x44, 0xf6, 0x83, 0x89 };
rdobuilder 775784
rdobuilder 775784
static unsigned char nonce[24] = { 0x69, 0x69, 0x6e, 0xe9, 0x55, 0xb6,
rdobuilder 775784
                                   0x2b, 0x73, 0xcd, 0x62, 0xbd, 0xa8,
rdobuilder 775784
                                   0x75, 0xfc, 0x73, 0xd6, 0x82, 0x19,
rdobuilder 775784
                                   0xe0, 0x03, 0x6b, 0x7a, 0x0b, 0x37 };
rdobuilder 775784
rdobuilder 775784
/* API requires first 16 bytes to be 0 */
rdobuilder 775784
static unsigned char c[163] = {
rdobuilder 775784
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
rdobuilder 775784
    0,    0,    0,    0,    0xf3, 0xff, 0xc7, 0x70, 0x3f, 0x94, 0x00, 0xe5,
rdobuilder 775784
    0x2a, 0x7d, 0xfb, 0x4b, 0x3d, 0x33, 0x05, 0xd9, 0x8e, 0x99, 0x3b, 0x9f,
rdobuilder 775784
    0x48, 0x68, 0x12, 0x73, 0xc2, 0x96, 0x50, 0xba, 0x32, 0xfc, 0x76, 0xce,
rdobuilder 775784
    0x48, 0x33, 0x2e, 0xa7, 0x16, 0x4d, 0x96, 0xa4, 0x47, 0x6f, 0xb8, 0xc5,
rdobuilder 775784
    0x31, 0xa1, 0x18, 0x6a, 0xc0, 0xdf, 0xc1, 0x7c, 0x98, 0xdc, 0xe8, 0x7b,
rdobuilder 775784
    0x4d, 0xa7, 0xf0, 0x11, 0xec, 0x48, 0xc9, 0x72, 0x71, 0xd2, 0xc2, 0x0f,
rdobuilder 775784
    0x9b, 0x92, 0x8f, 0xe2, 0x27, 0x0d, 0x6f, 0xb8, 0x63, 0xd5, 0x17, 0x38,
rdobuilder 775784
    0xb4, 0x8e, 0xee, 0xe3, 0x14, 0xa7, 0xcc, 0x8a, 0xb9, 0x32, 0x16, 0x45,
rdobuilder 775784
    0x48, 0xe5, 0x26, 0xae, 0x90, 0x22, 0x43, 0x68, 0x51, 0x7a, 0xcf, 0xea,
rdobuilder 775784
    0xbd, 0x6b, 0xb3, 0x73, 0x2b, 0xc0, 0xe9, 0xda, 0x99, 0x83, 0x2b, 0x61,
rdobuilder 775784
    0xca, 0x01, 0xb6, 0xde, 0x56, 0x24, 0x4a, 0x9e, 0x88, 0xd5, 0xf9, 0xb3,
rdobuilder 775784
    0x79, 0x73, 0xf6, 0x22, 0xa4, 0x3d, 0x14, 0xa6, 0x59, 0x9b, 0x1f, 0x65,
rdobuilder 775784
    0x4c, 0xb4, 0x5a, 0x74, 0xe3, 0x55, 0xa5
rdobuilder 775784
};
rdobuilder 775784
rdobuilder 775784
static unsigned char m[163];
rdobuilder 775784
rdobuilder 775784
int
rdobuilder 775784
main(void)
rdobuilder 775784
{
rdobuilder 775784
    int i;
rdobuilder 775784
rdobuilder 775784
    if (crypto_secretbox_open(m, c, 163, nonce, firstkey) == 0) {
rdobuilder 775784
        for (i = 32; i < 163; ++i) {
rdobuilder 775784
            printf(",0x%02x", (unsigned int) m[i]);
rdobuilder 775784
            if (i % 8 == 7)
rdobuilder 775784
                printf("\n");
rdobuilder 775784
        }
rdobuilder 775784
        printf("\n");
rdobuilder 775784
    }
rdobuilder 775784
    assert(crypto_secretbox_open(m, c, 31, nonce, firstkey) == -1);
rdobuilder 775784
    assert(crypto_secretbox_open(m, c, 16, nonce, firstkey) == -1);
rdobuilder 775784
    assert(crypto_secretbox_open(m, c, 1, nonce, firstkey) == -1);
rdobuilder 775784
    assert(crypto_secretbox_open(m, c, 0, nonce, firstkey) == -1);
rdobuilder 775784
rdobuilder 775784
    return 0;
rdobuilder 775784
}