Схема ГОСТ | |
Общий | |
---|---|
Дизайнеров | СССР , КГБ , 8 отдел |
Впервые опубликовано | 1994-05-23 (рассекречено) |
Преемники | ГОСТ хеш-функция , Кузнечик |
Сертификация | Стандарт ГОСТ |
Деталь шифра | |
Ключевые размеры | 256 бит |
Размеры блоков | 64 бит |
Структура | Сеть Фейстеля |
Раундов | 32 |
ГОСТ блочным шифром ( Магма ), определенный в стандарте ГОСТ 28147-89 ( RFC 5830 ), советский и правительство России стандарт симметричного ключа блочного шифра с размером блока 64 бита. В исходном стандарте, опубликованном в 1989 г., шифр не назывался, но в самой последней редакции стандарта, ГОСТ Р 34.12-2015 ( RFC 7801 , RFC 8891 ), указано, что он может называться Magma. [1] ГОСТ хэш - функция основана на этом шифре. Новый стандарт также определяет новый 128-битный блочный шифр под названием Kuznyechik .
Разработанный в 1970-х годах стандарт был отмечен как «Совершенно секретно», а затем понижен до «Секретного» в 1990 году. Вскоре после распада СССР он был рассекречен и опубликован в 1994 году. ГОСТ 28147 был советским альтернатива стандартному алгоритму США DES . [2] Таким образом, они очень похожи по структуре.
Алгоритм [ править ]
ГОСТ имеет размер блока 64 бита и длину ключа 256 бит. Его S-блоки могут быть секретными, и они содержат около 354 (log 2 (16! 8 )) бит секретной информации, поэтому эффективный размер ключа может быть увеличен до 610 бит; однако атака с выбранным ключом может восстановить содержимое S-блоков примерно за 2 32 шифрования. [3]
ГОСТ - это сеть Фейстеля из 32 туров. Его функция раунда очень проста: добавить 32-битный подключ по модулю 2 32 , пропустить результат через слой S-блоков и повернуть этот результат влево на 11 бит. Результатом этого является результат функции round. На соседней диаграмме одна линия представляет 32 бита.
Подключи выбираются в заранее заданном порядке. Расписание ключей очень простое: разбейте 256-битный ключ на восемь 32-битных подключей, и каждый подключ используется в алгоритме четыре раза; в первых 24 раундах ключевые слова используются по порядку, в последних 8 раундах - в обратном порядке.
S-блоки принимают четырехбитный ввод и производят четырехбитный вывод. Подстановка S-блока в функции раунда состоит из восьми S-блоков 4 × 4. S-блоки зависят от реализации, поэтому стороны, которые хотят защитить свою связь с помощью ГОСТ, должны использовать одни и те же S-блоки. Для дополнительной безопасности S-боксы можно хранить в секрете. В исходном стандарте, где был указан ГОСТ, S-боксы не давались, но они должны были каким-то образом поставляться. Это привело к предположениям, что организации, за которыми правительство хотело шпионить, получили слабые S-блоки. Один производитель микросхем по ГОСТ сообщил, что он сам сгенерировал S-блоки, используя генератор псевдослучайных чисел . [4]
Например, ЦБ РФ использовал следующие S-блоки:
# | S-образная коробка |
---|---|
1 | 4 A 9 2 D 8 0 E 6 B 1 C 7 F 5 3 |
2 | EB 4 C 6 DFA 2 3 8 1 0 7 5 9 |
3 | 5 8 1 DA 3 4 2 EFC 7 6 0 9 B |
4 | 7 DA 1 0 8 9 FE 4 6 CB 2 5 3 |
5 | 6 C 7 1 5 FD 8 4 A 9 E 0 3 B 2 |
6 | 4 БА 0 7 2 1 Д 3 6 8 5 9 ДОВСЕ |
7 | DB 4 1 3 F 5 9 0 AE 7 6 8 2 C |
8 | 1 ФД 0 5 7 A 4 9 2 3 E 6 B 8 C |
Однако самая последняя редакция стандарта, ГОСТ Р 34.12-2015 , добавляет отсутствующую спецификацию S-box и определяет ее следующим образом. [1]
# | ГОСТ Р 34.12-2015 S-box |
---|---|
1 | C 4 6 2 A 5 B 9 E 8 D 7 0 3 F 1 |
2 | 6 8 2 3 9 A 5 C 1 E 4 7 BD 0 F |
3 | B 3 5 8 2 FADE 1 7 4 C 9 6 0 |
4 | C 8 2 1 D 4 F 6 7 0 A 5 3 E 9 B |
5 | 7 F 5 A 8 1 6 D 0 9 3 EB 4 2 C |
6 | 5 DF 6 9 2 КАБИНА 7 8 1 4 3 E 0 |
7 | 8 E 2 5 6 9 1 CF 4 B 0 DA 3 7 |
8 | 1 7 ED 0 5 8 3 4 FA 6 9 CB 2 |
Криптоанализ ГОСТ [ править ]
Последний криптоанализ ГОСТ показывает, что он безопасен в теоретическом смысле. На практике сложность данных и памяти лучших опубликованных атак достигла уровня практического, в то время как временная сложность даже самой лучшей атаки все еще составляет 2 192, когда доступны 2 64 данных.
С 2007 года было разработано несколько атак на реализации ГОСТов с сокращенным циклом и / или слабые ключи . [5] [6]
В 2011 году несколько авторов обнаружили более существенные недостатки в ГОСТе, впервые получив возможность атаковать полный 32-этапный ГОСТ с произвольными ключами. Николя Куртуа даже назвал его «шифром с глубокими изъянами» . [7] Первоначальные атаки смогли снизить временную сложность с 2 256 до 2 228 за счет огромных требований к памяти, [8] и вскоре они были улучшены до 2 178 временной сложности (за счет 2 70 единиц памяти и 2 64 данные). [9] [10]
В декабре 2012 года Куртуа, Гавинецки и Сонг улучшили атаки на ГОСТ, вычислив всего 2 101 раундов ГОСТ. [11] Изобе уже опубликовал атаку с одним ключом на полный шифр ГОСТ, [12] который Динур, Дункельман и Шамир улучшили, достигнув 2224 временной сложности для 2 32 данных и 236 памяти и 2192 временной сложности для 2 64 данных. [13]
Поскольку атаки снижают ожидаемую стойкость с 2 256 (длина ключа) примерно до 2 178 , шифр можно считать взломанным. Тем не менее, для любого блочного шифра с размером блока п битами, максимальным количеством открытого текста , которые могут быть зашифрованы , прежде чем перепечатывания должен иметь место в 2 л / 2 блоков, в связи с парадоксом дня рождения , [14] , и ни один из вышеупомянутых нападений требуют менее 2 32 данных.
См. Также [ править ]
- Стандарты ГОСТ
Ссылки [ править ]
- ^ a b «ГОСТ Р 34.12-2015 (только на русском языке)» (PDF) . Архивировано из оригинального (PDF) 24 сентября 2015 года . Проверено 28 августа 2015 .
- ^ Флейшманн, Эван; Горски, Майкл; Хюне, Ян-Хендрик; Удачи, Стефан (2009). «Атака восстановления ключа на полный блочный шифр ГОСТ с нулевым временем и памятью». Опубликовано как ISO / IEC JTC . 1 .
- ^ Сааринен, Маркку-Юхани (1998). «Атака с выбранным ключом на секретные S-блоки ГОСТ» .
Мы показываем, что простая атака "черного ящика" с выбранным ключом на ГОСТ может восстановить секретные S-блоки примерно с 2 ^ 32 шифрованием.
Цитировать журнал требует|journal=
( помощь ) - ^ Шнайер, Брюс (1996). Прикладная криптография: протоколы, алгоритмы и исходный код на языке C (2-е изд., [Nachdr.] Ed.). Нью-Йорк [ua]: Wiley. ISBN 978-0-471-11709-4.
- ↑ Эли Бихам; Орр Дункельман; Натан Келлер (2007). «Улучшенные атаки на слайды» (PDF) .
- ^ Orhun Кара (2008). «Криптоанализ отражения некоторых шифров» .
- ↑ Куртуа, Николас Т. (9 мая 2011 г.). «Оценка безопасности ГОСТ 28147-89 с учетом международной стандартизации» . Cryptology ePrint Archive . МАКР .
До 2011 года исследователи единодушно соглашались, что ГОСТ может или должен быть очень безопасным, что в 2010 году было резюмировано следующими словами: несмотря на значительные криптоаналитические усилия, затраченные за последние 20 лет, ГОСТ до сих пор не нарушен ». К сожалению, недавно было обнаружено, что ГОСТ может быть взломанным и представляет собой глубоко ошибочный шифр
- ^ Николас Т. Куртуа; Михал Миштал (2011). «Дифференциальный криптоанализ ГОСТ» . МАКР .
- ^ Николя Т. Куртуа (2012). «Улучшенная дифференциальная атака на полный ГОСТ» (PDF) . МАКР .
- ↑ Куртуа, Николас Т. (13 июня 2011 г.). «Снижение алгебраической сложности и криптоанализ ГОСТ» (PDF) . Cryptology ePrint Archive . МАКР .
- ^ Николас Т. Куртуа; Ежи А. Гавинецки; Гуанъян Сун (2012). «ПРОТИВОРЕЧИВАЮЩИЙ ИММУНИТЕТ И УГДАЙ-ТО-ОПРЕДЕЛЯЙ АТАКИ НА ГОСТ» (PDF) . Versita . Проверено 25 августа 2014 .
- ^ Исобе, Таканори (2011). Однокнопочная атака на полный блочный шифр ГОСТ . Конспект лекций по информатике . 6733 . С. 290–305. DOI : 10.1007 / 978-3-642-21702-9_17 . ISBN 978-3-642-21701-2.
- ^ Динур, Итаи; Дункельман, Орр; Шамир, Ади (2012). «Улучшены атаки по полному ГОСТу» . Конспект лекций по информатике . 7549 (быстрое программное шифрование): 9–28. DOI : 10.1007 / 978-3-642-34047-5_2 .
- ^ «Проект постоянного документа ISO / IEC JTC 1 / SC 27 № 12 (SD12) по оценке криптографических методов и длин ключей, 4-е издание» (PDF) . 2016 г.
Дальнейшее чтение [ править ]
- «Библиотека WebCrypto GOST» . Рудольф Николаев, команда WebCrypto GOST.
- «RFC 5830: ГОСТ 28147-89 алгоритмы шифрования, дешифрования и MAC» . IETF. Март 2010 г.
- «RFC 4357: Дополнительные криптографические алгоритмы для использования с ГОСТ» . IETF. Январь 2006 г.
- Алекс Бирюков и Давид Вагнер (май 2000 г.). Расширенные атаки на слайды (PDF) . Достижения в криптологии, Труды EUROCRYPT 2000. Брюгге : Springer-Verlag. С. 589–606. DOI : 10.1007 / 3-540-45539-6_41 . Проверено 3 сентября 2007 .
Внешние ссылки [ править ]
- Описание, тексты стандартных, онлайновых средств шифрования и дешифрования ГОСТ
- Запись СКАНИРОВАНИЯ на ГОСТ
- Реализация программного устройства PKCS # 11 с открытым исходным кодом с возможностями российских стандартов криптографии ГОСТ.
- https://github.com/gost-engine/engine - реализация с открытым исходным кодом российской ГОСТ-криптографии для OpenSSL.