Легкий интерфейсный модуль Crypto - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь реализовать переносимый легкий хеш-модуль с помощью zephyr-rtos. это конкретное семейство функций (https://131002.net/quark/quark_full.pdf) возвращает дайджест / хэш фиксированного размера из произвольного количества пакетов информации, и я не знаю, как реализовать такой интерфейс на практике.

Образцы кодов, которыми исследователи и другие криптографы поделились в Интернете, используют функцию, которая получает указатель на область памяти, а также размер и количество информационных блоков для обработки. Я не думаю, что такой подход возможен во встроенной среде, где память является критически важным ресурсом.

Поэтому я решил реализовать синхронный интерфейс, который читает флаг, чтобы увидеть, доступен ли чанк для обработки:

void absorb_chunk()
{
    unsigned char flag=0x1;
    unsigned char chunk;
    while(flag)
    {
       chunk=read_chunk();
       flag=read_flag();
    }
}

Как уже говорилось, я хочу, чтобы этот модуль был переносимым, но функции "read_x" должны получать информацию от некоторого порта ввода / вывода, например, порта GPIO в Arduino 101 или кварка 2000-ds. Есть ли способ сделать это в зефире? или любой другой rtos ?, или должен быть код для поддержки конкретной платформы ?. Будем весьма благодарны за любые комментарии, замечания или идеи.

Привет

...