ГОСТ (блочный шифр)

редактировать
Блочный шифр советского / российского стандарта
ГОСТ 28147-89 (Магма)
GOSTDiagram.png Схема ГОСТ
Общие
КонструкторыСССР, КГБ, 8-е управление
Впервые опубликовано1994-05-23 (рассекречено)
ПреемникиХеш-функция ГОСТ, Кузнечик
СертификацияСтандарт ГОСТ
Детали шифра
Размеры ключей 256 бит
Размеры блоков 64 бита
СтруктураСеть Фейстеля
Раунды32

Блок-шифр ГОСТ (Magma ), определенный в стандарте ГОСТ 28147-89 (RFC 5830 ), представляет собой стандартный симметричный ключ государственного стандарта СССР и России с размером блока 64 бита. В исходном стандарте, опубликованном в 1989 г., шифр не назывался, но в последней редакции стандарта ГОСТ Р 34.12-2015 указано, что он может называться Magma. Хэш-функция ГОСТ основана на этом шифре. Новый стандарт также определяет новый 128-битный блочный шифр под названием Kuznyechik.

Разработанный в 1970-х, стандарт был помечен как «Совершенно секретно», а затем понижен до «Секретного» в 1990 году. Вскоре после роспуска СССР, он был рассекречен и опубликован в 1994 году. ГОСТ 28147 был советской альтернативой стандартному алгоритму США, DES. Таким образом, они очень похожи по структуре.

Содержание
  • 1 Алгоритм
  • 2 Криптоанализ ГОСТ
  • 3 См. Также
  • 4 Ссылки
  • 5 Дополнительная литература
  • 6 Внешние ссылки
Алгоритм

ГОСТ имеет 64-битный размер блока и длину ключа в 256 бит. Его S-блоки могут быть секретными, и они содержат около 354 (log 2 (16!)) Бит секретной информации, поэтому эффективный размер ключа может быть увеличен до 610 бит; однако атака с выбранным ключом может восстановить содержимое S-блоков примерно за 2 шифровки.

ГОСТ - это сеть Фейстеля из 32 раундов. Его функция раунда очень проста: добавить 32-битный подключ по модулю 2, пропустить результат через слой S-блоков и повернуть этот результат влево на 11 бит. Результатом этого является результат функции round. На соседней диаграмме одна линия представляет 32 бита.

Подключи выбираются в заранее заданном порядке. Расписание ключей очень простое: разбейте 256-битный ключ на восемь 32-битных подключей, и каждый подключ используется в алгоритме четыре раза; в первых 24 раундах ключевые слова используются по порядку, в последних 8 раундах - в обратном порядке.

S-блоки принимают четырехбитный ввод и производят четырехбитный вывод. Подстановка S-блока в функции раунда состоит из восьми S-блоков 4 × 4. S-блоки зависят от реализации, поэтому стороны, которые хотят защитить свои коммуникации с помощью ГОСТ, должны использовать одни и те же S-блоки. Для дополнительной безопасности S-боксы можно хранить в секрете. В исходном стандарте, где был указан ГОСТ, S-боксы не давались, но они должны были каким-то образом поставляться. Это привело к предположениям, что организации, за которыми правительство хотело шпионить, получили слабые S-блоки. Один производитель микросхем по ГОСТ сообщил, что он сам сгенерировал S-блоки, используя генератор псевдослучайных чисел.

Например, Центральный банк Российской Федерации использовал следующие S-блоки:

#S- коробка
14 A 9 2 D 8 0 E 6 B 1 C 7 F 5 3
2EB 4 C 6 DFA 2 3 8 1 0 7 5 9
35 8 1 DA 3 4 2 EFC 7 6 0 9 B
47 DA 1 0 8 9 FE 4 6 CB 2 5 3
56 C 7 1 5 FD 8 4 A 9 E 0 3 B 2
64 BA 0 7 2 1 D 3 6 8 5 9 CFE
7DB 4 1 3 F 5 9 0 AE 7 6 8 2 C
81 FD 0 5 7 A 4 9 2 3 E 6 B 8 C

Однако самая последняя редакция стандарта, ГОСТ Р 34.12-2015, добавляет недостающую спецификацию S-box и определяет ее следующим образом.

#GOST R 34.12-2015 S-box
1C 4 6 2 A 5 B 9 E 8 D 7 0 3 F 1
26 8 2 3 9 A 5 C 1 E 4 7 BD 0 F
3B 3 5 8 2 FADE 1 7 4 C 9 6 0
4C 8 2 1 D 4 F 6 7 0 A 5 3 E 9 B
57 F 5 A 8 1 6 D 0 9 3 EB 4 2 C
65 DF 6 9 2 CAB 7 8 1 4 3 E 0
78 E 2 5 6 9 1 CF 4 B 0 DA 3 7
81 7 ED 0 5 8 3 4 FA 6 9 CB 2
Криптоанализ ГОСТ

Последний криптоанализ ГОСТ показывает, что он безопасен в теоретическом смысле. На практике сложность данных и памяти лучших опубликованных атак достигла уровня практического, в то время как временная сложность даже самой лучшей атаки все еще равна 2, когда доступны 2 данных.

С 2007 года было разработано несколько атак против реализаций ГОСТов с сокращенным циклом и / или слабых ключей.

В 2011 году несколько авторов обнаружили более существенные недостатки в ГОСТ, имея возможность атаковать все 32- по ГОСТу произвольными клавишами впервые. Николя Куртуа даже назвал его "шифром с глубокими изъянами". Первоначальные атаки смогли снизить временную сложность с 2 до 2 за счет огромных требований к памяти, и вскоре они были улучшены до 2 временной сложности (за счет 2 памяти и 2 данных).

В декабре 2012, Куртуа, Гавинецки и Сонг улучшили атаки на ГОСТ, вычислив всего 2 раунда ГОСТ. Исобе уже опубликовал атаку с одним ключом на полный шифр ГОСТ, который Динур, Дункельман и Шамир улучшили, достигнув 2-х временной сложности для 2-х данных и 2-х памяти и 2-х временной сложности для двух данных.

Поскольку атаки снижают ожидаемую стойкость с 2 (длина ключа) примерно до 2, шифр можно считать взломанным. Однако для любого блочного шифра с размером блока n бит максимальный объем открытого текста, который может быть зашифрован перед заменой ключей, составляет 2 блока из-за парадокса дня рождения, и ни одна из вышеупомянутых атак не требует менее 2 данных.

См. Также
Ссылки
Дополнительная литература
Внешние ссылки
Последняя правка сделана 2021-05-21 09:14:19
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте