Ответ 1
Очень простой алгоритм шифрования, который я видел во встроенном мире, XXTEA
Ищем рекомендации и некоторый ссылочный код для шифрования байтового массива в C. Проблема заключается в том, что мне приходится вписываться в память 1KByte вместе с другими подпрограммами, а MCU - только 8 МГц. Таким образом, размер и скорость - это ключ. Я проверил Rijndael, но он имеет огромные таблицы для моего MCU. В основном я собираюсь зашифровать формат hex hex на ПК, возможно, только область данных, а затем дешифровать в MCU.
Использование динамических программ распределения памяти нежелательно.
Мой поиск google приносит мне все возможности С#, используя библиотеки.
UPDATE:
ограничения на расшифровку:
RAM: 512 byte
MAX code size: 512-1024 words
CPU: 8 bit, 8MHz
Очень простой алгоритм шифрования, который я видел во встроенном мире, XXTEA
Все таблицы в Rijndael определяются как упрощенные операции в GF2. Таким образом, у меня возникнет соблазн сказать, что можно написать, например. 128-бит AES в 1k.
Смотрите также: https://electronics.stackexchange.com/questions/13275/smallest-aes-implementation-for-microcontrollers
Но любой выбранный алгоритм является второстепенным фактором безопасности, например. если ключ распространяется вместе с двоичным кодом. В этом случае самым простым механизмом для открытия исходного двоичного файла является запуск кода через эмулятор и сохранение памяти.
Я читал, что криптографическая кривая Elliptic curve (ECC) - это новая вещь, предназначенная для придания сильного криптования крошечным процессорам.
Google:
микроконтроллеры криптографии с эллиптической кривой
дает обсуждение реализации на 8-битных микронах в верхней части списка.
Но, возможно, подумайте о переходе на Stack Exchange. Например, это может быть полезно:
Stack Exchange Crypto - Типы криптографии для 4-8-битного микроконтроллера