Здравствуйте.
У меня есть программа (для микроконтроллера), которая должна посылать пакет данных по UART'у. Эти данные я зашифровываю с помощью этой библиотеки https://github.com/kokke/tiny-AES-c
Принимающее устройство расшифровывает этот пакет.
Собственно вот функция шифрования...
void encrypt_cbc(uint8_t *in_buf, uint16_t count_byte)
{
uint8_t key[] = {0x62, 0x4d, 0xeb, 0x10, 0x15, 0xca, 0x71, 0xbe, 0x2b, 0x73, 0xae, 0xf0, 0x85, 0x7d, 0x77, 0x81,
0x1f, 0x35, 0x2c, 0x07, 0x3b, 0x61, 0x08, 0xd7, 0x2d, 0x98, 0x10, 0xa3, 0x09, 0x14, 0xdf, 0xf4};
uint8_t iv[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f};
struct AES_ctx ctx;
AES_init_ctx_iv(&ctx, key, iv);
AES_CBC_encrypt_buffer(&ctx, in_buf, count_byte);
}
Вот так я подаю свой (не зашифрованный) массив (небольшой байт 10) в эту функцию...
encrypt_cbc(crypt_buff, SIZE_PACKET);
И на выходе получаю зашифрованный массив.
Функция в свою очередь передаёт всё хозяйство в библиотечный файл aes.c https://github.com/kokke/tiny-AES-c/blob/master/aes.c#L76
Вопрос вот в чём. Скажите пожалуйста, можно ли сделать так, чтоб в зашифрованном пакете НЕ встречался символ 0x7E ?
Этот символ служит у меня маркером конца передачи. Других вариантов маркеров нет и сделать их не возможно.