embox

Форк
0
/
des_test.c 
76 строк · 2.0 Кб
1
/**
2
 * @file
3
 *
4
 * @date Sep 19, 2022
5
 * @author Anton Bondarev
6
 */
7

8
#include <stdint.h>
9

10
#include <lib/crypt/des.h>
11

12
#include <embox/test.h>
13

14
EMBOX_TEST_SUITE("lib/crypt/des test");
15

16
//#define KEY_1     "0123456789ABCDEF"
17
//#define DATA_1    "0000000000000000"
18
//#define DECRYPT_1 "14AAD7F4DBB4E094"
19
//#define ENCRYPT_1 "D5D44FF720683D0D"
20

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};
25

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
30

31
TEST_CASE("des encrypt 1") {
32
	uint8_t result[sizeof(encrypt_1)];
33

34
	des_encrypt(DATA_1, KEY_1, result);
35

36
	test_assert_mem_equal(result, ENCRYPT_1, sizeof(result));
37
}
38

39
TEST_CASE("des decrypt 1") {
40
	uint8_t result[sizeof(decrypt_1)];
41

42
	des_decrypt(DATA_1, KEY_1, result);
43

44
	test_assert_mem_equal(result, DECRYPT_1, sizeof(result));
45
}
46

47
//KEY_2     "FEDCBA9876543210"
48
//DATA_2    "0101010101010101"
49
//DECRYPT_2 "4A40D9A842FDE668"
50
//ENCRYPT_2 "AA132F32258A3C61"
51

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};
56

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
61

62
TEST_CASE("des encrypt 2") {
63
	uint8_t result[sizeof(encrypt_2)];
64

65
	des_encrypt(DATA_2, KEY_2, result);
66

67
	test_assert_mem_equal(result, ENCRYPT_2, sizeof(result));
68
}
69

70
TEST_CASE("des decrypt 2") {
71
	uint8_t result[sizeof(decrypt_2)];
72

73
	des_decrypt(DATA_2, KEY_2, result);
74

75
	test_assert_mem_equal(result, DECRYPT_2, sizeof(result));
76
}
77

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.