@node ru34122015 @section Кузнечик (ГОСТ Р 34.12-2015) @table @asis @item Что за алгоритм Блочный шифр @item Размер блока 128 бит @item Размер ключа 256 бит @item Структура Подстановочно-перестановочная сеть (SPN) @item Число раундов 10 @item RFC @url{https://tools.ietf.org/html/rfc7801.html, 7801} @item Лучшая атака На 5 раундов сложность 2@sup{140.3}, 2@sup{153.3} памяти, 2@sup{113} данных @item Wikipedia @url{https://ru.wikipedia.org/wiki/Kuznechik, статья} @end table @strong{Особенности}: @itemize @item Развёртывание ключа (key schedule) использует сеть Фейстеля. @item Заданные узлы замены (S-box) не были созданы псевдослучайным образом, а использовали алгоритм который @url{https://eprint.iacr.org/2016/071.pdf, удалось узнать}. Однако нет доказательств что это негативно сказалось на криптографической стойкости алгоритма. @item Документ стандарта также задаёт шифр @ref{ru2814789, Магма}. @end itemize @anchor{34122015Impl} @strong{Реализации} Данные ссылки взяты @url{https://habrahabr.ru/post/273055/, из статьи} (сортировка по URL): @multitable @columnfractions 0.6 0.1 0.3 @headitem Ссылка @tab Язык @tab Комментарий @item @url{http://gostcrypto.com/doc/GostCipher.html} @tab JavaScript @tab @item @url{http://omegicus.org/get/gost14.zip} @tab Assembler @tab @item @url{http://sourceforge.net/projects/cppcrypto/} @tab C @tab @item @url{http://tc26.ru/standard/gost/PR_GOSTR_bch_v6.zip} @tab C @tab Официальная реализация ТК 26 @item @url{http://www.gogost.cypherpunks.ru/} @tab Go @tab @item @url{http://www.pygost.cypherpunks.ru/} @tab Python @tab @item @url{https://dxdt.ru/golang/gost/cipher/kuznec/kuznec.go} @tab Go @tab @item @url{https://github.com/aprelev/libgost15} @tab C @tab SSE2 оптимизация @item @url{https://github.com/MaXaMaR/kuznezhik} @tab C++ @tab Оптимизировано под 8/16/32/64/128-битные архитектуры @item @url{https://github.com/mjosaarinen/kuznechik} @tab C @tab @item @url{https://github.com/NeverWalkAloner/Cryptography-standards/tree/master/symmetric} @tab Python @tab @item @url{https://github.com/okazymyrov/kuznechik} @tab Sage @tab @item @url{https://github.com/Roman-Oliynykov/ciphers-speed} @tab C++ @tab @item @url{https://github.com/yaruson/GostPlugin} @tab C# @tab Плагин для KeePass @end multitable