В настоящее время я пытаюсь добавить шифрование AES в существующую демонстрацию маяка, в которой используется сенсорный тег TI cc2650. Я использую AES API, предоставленный contiki под ядром/библиотекой. Мой основной выглядит так:
static const uint8_t AES_key[16] = { 0xC0 , 0xC1 , 0xC2 , 0xC3 ,
0xC4 , 0xC5 , 0xC6 , 0xC7 ,
0xC8 , 0xC9 , 0xCA , 0xCB ,
0xCC , 0xCD , 0xCE , 0xCF };// AES Key
static uint8_t plain_text[16] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16}; // Plain-text to be encrypted.
const struct aes_128_driver AES_128;
.
.
.
printf("Plain_Text: %d \r\n", plain_text);
AES_128.set_key(AES_key);
AES_128.encrypt(plain_text);
printf("Encrypted_Text: %p\r\n", plain_text);
К сожалению, когда я запускаю код, обычный текст остается неизменным. Используя некоторые дополнительные отпечатки, я понимаю, что функция шифрования работает, но вывод по-прежнему неизменен. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно здесь?
Обратите внимание, что я уже добавил следующую строку в свой файл конфигурации:
#define AES_128_CONF aes_128_driver
const struct aes_128_driver AES_128
быть локальной переменной, которая затеняет глобальную. Вам это ни в коем случае не нужно. Я без проблем запускал AES на CC2650, но не вижу проблемы с вашим кодом. - person kfx   schedule 12.09.2017