Симметричный алгоритм шифрования для встроенной системы

Ищем рекомендации и некоторый ссылочный код для шифрования байтового массива в C. Проблема заключается в том, что мне приходится вписываться в память 1KByte вместе с другими подпрограммами, а MCU - только 8 МГц. Таким образом, размер и скорость - это ключ. Я проверил Rijndael, но он имеет огромные таблицы для моего MCU. В основном я собираюсь зашифровать формат hex hex на ПК, возможно, только область данных, а затем дешифровать в MCU.

Использование динамических программ распределения памяти нежелательно.

Мой поиск google приносит мне все возможности С#, используя библиотеки.

UPDATE:

ограничения на расшифровку:

RAM: 512 byte
MAX code size: 512-1024 words
CPU: 8 bit, 8MHz

Ответ 1

Очень простой алгоритм шифрования, который я видел во встроенном мире, XXTEA

Ответ 2

Все таблицы в Rijndael определяются как упрощенные операции в GF2. Таким образом, у меня возникнет соблазн сказать, что можно написать, например. 128-бит AES в 1k.

Смотрите также: https://electronics.stackexchange.com/questions/13275/smallest-aes-implementation-for-microcontrollers

Но любой выбранный алгоритм является второстепенным фактором безопасности, например. если ключ распространяется вместе с двоичным кодом. В этом случае самым простым механизмом для открытия исходного двоичного файла является запуск кода через эмулятор и сохранение памяти.

Ответ 3

Я читал, что криптографическая кривая Elliptic curve (ECC) - это новая вещь, предназначенная для придания сильного криптования крошечным процессорам.

Google:
микроконтроллеры криптографии с эллиптической кривой
дает обсуждение реализации на 8-битных микронах в верхней части списка.

Но, возможно, подумайте о переходе на Stack Exchange. Например, это может быть полезно:

Stack Exchange Crypto - Типы криптографии для 4-8-битного микроконтроллера