10
#include <lib/crypt/des.h>
12
#include <embox/test.h>
14
EMBOX_TEST_SUITE("lib/crypt/des test");
21
static const uint8_t key_1[] = {0x01,0x23, 0x45, 0x67, 0x89, 0xAB,0xCD,0xEF};
22
static const uint8_t data_1[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
23
static const uint8_t decrypt_1[] = {0x14,0xAA,0xD7,0xF4,0xDB,0xB4,0xE0,0x94};
24
static const uint8_t encrypt_1[] = {0xD5,0xD4,0x4F,0xF7,0x20,0x68,0x3D,0x0D};
26
#define KEY_1 (void*)key_1
27
#define DATA_1 (void*)data_1
28
#define DECRYPT_1 (void*)decrypt_1
29
#define ENCRYPT_1 (void*)encrypt_1
31
TEST_CASE("des encrypt 1") {
32
uint8_t result[sizeof(encrypt_1)];
34
des_encrypt(DATA_1, KEY_1, result);
36
test_assert_mem_equal(result, ENCRYPT_1, sizeof(result));
39
TEST_CASE("des decrypt 1") {
40
uint8_t result[sizeof(decrypt_1)];
42
des_decrypt(DATA_1, KEY_1, result);
44
test_assert_mem_equal(result, DECRYPT_1, sizeof(result));
52
static const uint8_t key_2[] = {0xFE,0xDC, 0xBA, 0x98, 0x76, 0x54,0x32,0x10};
53
static const uint8_t data_2[] = {0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01};
54
static const uint8_t decrypt_2[] = {0x4A,0x40,0xD9,0xA8,0x42,0xFD,0xE6,0x68};
55
static const uint8_t encrypt_2[] = {0xAA,0x13,0x2F,0x32,0x25,0x8A,0x3C,0x61};
57
#define KEY_2 (void*)key_2
58
#define DATA_2 (void*)data_2
59
#define DECRYPT_2 (void*)decrypt_2
60
#define ENCRYPT_2 (void*)encrypt_2
62
TEST_CASE("des encrypt 2") {
63
uint8_t result[sizeof(encrypt_2)];
65
des_encrypt(DATA_2, KEY_2, result);
67
test_assert_mem_equal(result, ENCRYPT_2, sizeof(result));
70
TEST_CASE("des decrypt 2") {
71
uint8_t result[sizeof(decrypt_2)];
73
des_decrypt(DATA_2, KEY_2, result);
75
test_assert_mem_equal(result, DECRYPT_2, sizeof(result));