]> Cypherpunks.ru repositories - gost-www.git/blob - ru/28147-89.texi
616699457a100587b47b25bf2eafce1d2515cbce
[gost-www.git] / ru / 28147-89.texi
1 @node ru2814789
2 @section ГОСТ 28147-89 (Магма)
3
4 @table @asis
5 @item Что за алгоритм
6     Блочный шифр
7 @item Размер блока
8     64 бит
9 @item Размер ключа
10     256 бит
11 @item Структура
12     Сеть Фейстеля
13 @item Число раундов
14     32
15 @item RFC
16     @url{https://tools.ietf.org/html/rfc5830.html, 5830}
17 @item Лучшая атака
18     2@sup{224} имея 2@sup{32} пар открытый-зашифрованный текст.
19     Всё очень сильно зависит от используемых таблиц замен
20 @item Wikipedia
21     @url{https://ru.wikipedia.org/wiki/%D0%93%D0%9E%D0%A1%D0%A2_28147-89, статья}
22 @end table
23
24 @strong{Особенности}:
25 @itemize
26 @item Разработан ещё в СССР, 8-ым управлением КГБ.
27 @item Стандарт не фиксирует значения таблиц замен (S-box).
28     @itemize
29     @item Если бы S-box был фиксирован в стандарте, то в нём могли бы
30     быть "лазейки".
31     @item Секретный S-box можно использовать как дополнительную ключевую
32     информацию.
33     @item Это не позволяет определить стойкость алгоритма не зная
34     таблиц замены. Самостоятельный выбор может существенно повлиять на
35     криптостойкость алгоритма.
36     @item Реализации алгоритма, использующие разные таблицы, не
37     совместимы между собой.
38     @end itemize
39 @item Из-за маленького размера блока необходимо быть аккуратным при его
40 использовании и часто менять ключи.
41 @item Название "Магма" введено в стандарте @ref{ru34122015, Кузнечика}.
42 Магма идентичен ГОСТ 28147-89, за исключением фиксированной таблицы
43 замены и немного отличающегося преобразования ключей и блоков.
44 @end itemize
45
46 @anchor{2814789Impl}
47 @strong{Реализации}
48
49 @multitable @columnfractions 0.6 0.1 0.3
50 @headitem Ссылка @tab Язык @tab Комментарий
51
52 @item @url{http://gostcrypto.com/doc/GostCipher.html} @tab JavaScript @tab
53 @item @url{http://www.gogost.cypherpunks.ru/} @tab Go @tab
54 @item @url{http://www.pygost.cypherpunks.ru/} @tab Python @tab
55 @item @url{http://www.libressl.org/} @tab C @tab
56 @item @url{https://github.com/openssl/openssl/tree/master/engines} @tab C @tab
57 @item @url{https://github.com/Roman-Oliynykov/ciphers-speed} @tab C++ @tab
58 @item @url{https://www.gnu.org/software/libgcrypt/} @tab C @tab
59
60 @end multitable