Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

ГОСТ блочным шифром ( Магма ), определенный в стандарте ГОСТ 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-блоки:

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

Криптоанализ ГОСТ [ править ]

Последний криптоанализ ГОСТ показывает, что он безопасен в теоретическом смысле. На практике сложность данных и памяти лучших опубликованных атак достигла уровня практического, в то время как временная сложность даже самой лучшей атаки все еще составляет 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 данных.

См. Также [ править ]

  • Стандарты ГОСТ

Ссылки [ править ]

  1. ^ a b «ГОСТ Р 34.12-2015 (только на русском языке)» (PDF) . Архивировано из оригинального (PDF) 24 сентября 2015 года . Проверено 28 августа 2015 .
  2. ^ Флейшманн, Эван; Горски, Майкл; Хюне, Ян-Хендрик; Удачи, Стефан (2009). «Атака восстановления ключа на полный блочный шифр ГОСТ с нулевым временем и памятью». Опубликовано как ISO / IEC JTC . 1 .
  3. ^ Сааринен, Маркку-Юхани (1998). «Атака с выбранным ключом на секретные S-блоки ГОСТ» . Мы показываем, что простая атака "черного ящика" с выбранным ключом на ГОСТ может восстановить секретные S-блоки примерно с 2 ^ 32 шифрованием. Цитировать журнал требует |journal=( помощь )
  4. ^ Шнайер, Брюс (1996). Прикладная криптография: протоколы, алгоритмы и исходный код на языке C (2-е изд., [Nachdr.] Ed.). Нью-Йорк [ua]: Wiley. ISBN 978-0-471-11709-4.
  5. Эли Бихам; Орр Дункельман; Натан Келлер (2007). «Улучшенные атаки на слайды» (PDF) .
  6. ^ Orhun Кара (2008). «Криптоанализ отражения некоторых шифров» .
  7. Куртуа, Николас Т. (9 мая 2011 г.). «Оценка безопасности ГОСТ 28147-89 с учетом международной стандартизации» . Cryptology ePrint Archive . МАКР . До 2011 года исследователи единодушно соглашались, что ГОСТ может или должен быть очень безопасным, что в 2010 году было резюмировано следующими словами: несмотря на значительные криптоаналитические усилия, затраченные за последние 20 лет, ГОСТ до сих пор не нарушен ». К сожалению, недавно было обнаружено, что ГОСТ может быть взломанным и представляет собой глубоко ошибочный шифр
  8. ^ Николас Т. Куртуа; Михал Миштал (2011). «Дифференциальный криптоанализ ГОСТ» . МАКР .
  9. ^ Николя Т. Куртуа (2012). «Улучшенная дифференциальная атака на полный ГОСТ» (PDF) . МАКР .
  10. Куртуа, Николас Т. (13 июня 2011 г.). «Снижение алгебраической сложности и криптоанализ ГОСТ» (PDF) . Cryptology ePrint Archive . МАКР .
  11. ^ Николас Т. Куртуа; Ежи А. Гавинецки; Гуанъян Сун (2012). «ПРОТИВОРЕЧИВАЮЩИЙ ИММУНИТЕТ И УГДАЙ-ТО-ОПРЕДЕЛЯЙ АТАКИ НА ГОСТ» (PDF) . Versita . Проверено 25 августа 2014 .
  12. ^ Исобе, Таканори (2011). Однокнопочная атака на полный блочный шифр ГОСТ . Конспект лекций по информатике . 6733 . С. 290–305. DOI : 10.1007 / 978-3-642-21702-9_17 . ISBN 978-3-642-21701-2.
  13. ^ Динур, Итаи; Дункельман, Орр; Шамир, Ади (2012). «Улучшены атаки по полному ГОСТу» . Конспект лекций по информатике . 7549 (быстрое программное шифрование): 9–28. DOI : 10.1007 / 978-3-642-34047-5_2 .
  14. ^ «Проект постоянного документа 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.