Что такое аппаратный Кузнечик (ГОСТ P34.12-2015)?
Реализация на верилоге свежего российского крипто-стандарта, который (почему-то?) получил второе имя «Кузнечик». О чём стандарт: симметричное шифрование, 256-битный ключ, 128-битный блок данных, 10 раундов.
Текущий статус
Написана и проверена поведенческая верилог-модель стадий S и R.
Особенности
- Verilog HDL для RTL и тестовых стимулов
- Реализация шифровщика/дешифровщика как единого блока
- Поддержка режима EBC
Планируемые доработки
- Поддержка следующих режимов поточного шифрования: CBC, CFB, OFB (возможно CTR)
- Добавление AXI4-Stream для потокового шифрования
- Добавление параллельной шины для конфигурации/статуса (АМВА АРВ-like?) в составе СнК
- Возможность предзагрузки рассчитанного для всех раундов ключа
- Параллельная сверка работы с моделью на Си (механизм DPI)
- Различные реализации: критерии «минимальная площадь» и «максимальная производительность»
GitHub