Skip to main content

[opensource]: Аппаратный криптодвижок ГОСТ 28147-89

Что такое движок по ГОСТ 28147-89?

Реализация на верилоге советсткого стандарта симметричного шифрования, который был рассекречен в 1989г. В стандарте применяется шифрование с 256-битным ключом над 64-битным блоком данных за 32 раунда.

Текущая реализация являет собой некий компромисс между используемыми ресурсами и производительностью с целью демонстрации возможности размещения криптодвижка в низкобюджетных ПЛИС (оставаясь при этом относительно быстрым), как видно из отчета по использованию ресурсов — цель была достигнута.

Возможности

  • RTL и тесты написаны на верилоге
  • Реализация шифровщика/дешифровщика как единого блока
  • Поддержка режима EBC
  • Реализация алгоритма ГОСТ 28147-89 оптимизированная по использованию минимума ресурсов
  • Реализация криптования/декриптования 1 блока за 32 такта
  • Поддержка следующих типов S-box (имена даны в соответствии с RFC4357):
    • id-GostR3411-94-TestParamSet
    • id-Gost28147-89-CryptoPro-A-ParamSet
    • id-Gost28147-89-CryptoPro-B-ParamSet
    • id-Gost28147-89-CryptoPro-C-ParamSet
    • id-Gost28147-89-CryptoPro-D-ParamSet
    • id-tc26-gost-28147-param-Z
    • также поддерживается S-box из ГОСТ Р34.11-94 из CryptoPro

(далее…)

читать...

[WiP][opensource]: Аппаратный криптодвижок ГОСТ P34.12-2015 aka «Кузнечик»

Что такое аппаратный Кузнечик (ГОСТ P34.12-2015)?

Реализация на верилоге свежего российского крипто-стандарта, который (почему-то?) получил второе имя «Кузнечик». О чём стандарт: симметричное шифрование, 256-битный ключ, 128-битный блок данных, 10 раундов.

 

Текущий статус

Написана и проверена поведенческая верилог-модель стадий S и R.

Особенности

  • Verilog HDL для RTL и тестовых стимулов
  • Реализация шифровщика/дешифровщика как единого блока
  • Поддержка режима EBC

Планируемые доработки

  • Поддержка следующих режимов поточного шифрования: CBC, CFB, OFB (возможно CTR)
  • Добавление AXI4-Stream для потокового шифрования
  • Добавление параллельной шины для конфигурации/статуса (АМВА АРВ-like?) в составе СнК
  • Возможность предзагрузки рассчитанного для всех раундов ключа
  • Параллельная сверка работы с моделью на Си (механизм DPI)
  • Различные реализации: критерии «минимальная площадь» и «максимальная производительность»

(далее…)

читать...