1 #ifndef NX_CRYPTO_STANDALONE_ENABLE
2 #include "nx_api.h"
3 #else
4 #include "nx_crypto_port.h"
5 #endif
6 
7 typedef struct
8 {
9     UINT algorithm;
10     UCHAR *key;
11     UINT key_len;
12     UCHAR *iv;
13     UINT iv_len;
14     UCHAR *plain;
15     UINT plain_len;
16     UCHAR *secret;
17     UINT secret_len;
18 } AES_DATA;
19 
20 /* 3F1EDC0698B1D258DE68EE79340A752149B609286057E16E73C39F36D2D61D0B */
21 static UCHAR key_ctr_256_99[] = {
22 0x3F, 0x1E, 0xDC, 0x06, 0x98, 0xB1, 0xD2, 0x58, 0xDE, 0x68, 0xEE, 0x79, 0x34, 0x0A, 0x75, 0x21,
23 0x49, 0xB6, 0x09, 0x28, 0x60, 0x57, 0xE1, 0x6E, 0x73, 0xC3, 0x9F, 0x36, 0xD2, 0xD6, 0x1D, 0x0B,
24 };
25 
26 /* F9999E1CCC7798453C31FD0200000001 */
27 static UCHAR iv_ctr_256_99[] = {
28 0xF9, 0x99, 0x9E, 0x1C, 0xCC, 0x77, 0x98, 0x45, 0x3C, 0x31, 0xFD, 0x02, 0x00, 0x00, 0x00, 0x01,
29 };
30 
31 /* Input the plain text which is not multiples of 16. */
32 static UCHAR plain_ctr_256_99[] = { 0x0, 0x0, 0x0, 0x0};
33 
34 /* A42E843B22E6CC7C09AD783FACE7F251 */
35 static UCHAR key_cbc_128_0[] = {
36 0xA4, 0x2E, 0x84, 0x3B, 0x22, 0xE6, 0xCC, 0x7C, 0x09, 0xAD, 0x78, 0x3F, 0xAC, 0xE7, 0xF2, 0x51,
37 };
38 
39 /* 87BFAE15B37B90751B426240F5BC0C16 */
40 static UCHAR iv_cbc_128_0[] = {
41 0x87, 0xBF, 0xAE, 0x15, 0xB3, 0x7B, 0x90, 0x75, 0x1B, 0x42, 0x62, 0x40, 0xF5, 0xBC, 0x0C, 0x16,
42 };
43 
44 /* 997F8E2A478FF2479A83B90BD44EDE5C */
45 static UCHAR plain_cbc_128_0[] = { 0x0, 0x0, 0x0, 0x0};
46 
47 /* A42E843B22E6CC7C09AD783FACE7F251 */
48 static UCHAR key_cbc_128_1[] = {
49 0xA4, 0x2E, 0x84, 0x3B, 0x22, 0xE6, 0xCC, 0x7C, 0x09, 0xAD, 0x78, 0x3F, 0xAC, 0xE7, 0xF2, 0x51,
50 };
51 
52 /* 87BFAE15B37B90751B426240F5BC0C16 */
53 static UCHAR iv_cbc_128_1[] = {
54 0x87, 0xBF, 0xAE, 0x15, 0xB3, 0x7B, 0x90, 0x75, 0x1B, 0x42, 0x62, 0x40, 0xF5, 0xBC, 0x0C, 0x16,
55 };
56 
57 /* 997F8E2A478FF2479A83B90BD44EDE5C */
58 static UCHAR plain_cbc_128_1[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10};
59 
60 static AES_DATA aes_data[] =
61 {
62 {NX_CRYPTO_ENCRYPTION_AES_CTR, key_ctr_256_99, sizeof(key_ctr_256_99), iv_ctr_256_99, sizeof(iv_ctr_256_99), plain_ctr_256_99, sizeof(plain_ctr_256_99), NULL, 0},
63 {NX_CRYPTO_ENCRYPTION_AES_CBC, key_cbc_128_0, sizeof(key_cbc_128_0), iv_cbc_128_0, sizeof(iv_cbc_128_0), plain_cbc_128_0, sizeof(plain_cbc_128_0), NULL, 0},
64 {NX_CRYPTO_ENCRYPTION_AES_CBC, key_cbc_128_1, sizeof(key_cbc_128_1), iv_cbc_128_1, sizeof(iv_cbc_128_1), plain_cbc_128_1, sizeof(plain_cbc_128_1), NULL, 0},
65 };
66