@node ru341194 @section ГОСТ Р 34.11-94 @table @asis @item Что за алгоритм Хэш-функция @item Размер хэша 256 бит @item Размер блока 256 бит @item Структура Меркла-Дамгарда @item Число раундов 32 @item RFC @url{https://tools.ietf.org/html/rfc5831.html, 5831} @item Лучшая атака @itemize @item Коллизии: сложность 2@sup{105} @item Прообраз (preimage): сложность 2@sup{192} @end itemize @item Wikipedia @url{https://ru.wikipedia.org/wiki/%D0%93%D0%9E%D0%A1%D0%A2_%D0%A0_34.11-94, статья} @end table @strong{Особенности}: @itemize @item Внутри себя использует блочный шифр @ref{ru2814789, ГОСТ 28147-89}. @item Для этой хэш-функции необходимо задавать используемые таблицы замены блочного шифра. @item Стандарт не определяет в каком виде должен быть представлен результат -- поэтому есть несовместимые между собой реализации в который хэш представлен в виде little-endian или big-endian значения. @end itemize @anchor{341194Impl} @strong{Реализации} @multitable @columnfractions 0.6 0.1 0.3 @headitem Ссылка @tab Язык @tab Комментарий @item @url{http://gostcrypto.com/doc/GostDigest.html} @tab JavaScript @tab @item @url{http://www.gogost.cypherpunks.ru/} @tab Go @tab @item @url{http://www.pygost.cypherpunks.ru/} @tab Python @tab @item @url{http://www.libressl.org/} @tab C @tab @item @url{https://github.com/mjosaarinen/gost-r34.11-94} @ tab C @tab @item @url{https://github.com/openssl/openssl/tree/master/engines} @tab C @tab @item @url{https://www.gnu.org/software/libgcrypt/} @tab C @tab @end multitable