Криптоанализ алгоритма шифрования
Итерационные блочные шифры. Алгоритм шифрования имитовставки, режимы его применения. Достоинства AES-128. Структура раунда. Таблицы замен. Атаки на полнораундовый алгоритм. Дифференциальный криптоанализ на связанных ключах. Advanced Encryption Standard.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 19.04.2015 |
Размер файла | 114,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Итерационные блочные шифры
2. Достоинства AES-128
3. Структура раунда ГОСТ 28147-89
4. Раудовая функция ГОСТ 28147-89
5. Advanced Encryption Standard
Заключение
Список литературы
Введение
ГОСТ 28147-89-- советский и российский стандарт симметричного шифрования, введённый в1990 году, также является стандартом СНГ. Полное название -- «ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования». Блочный шифро алгоритм. При использовании метода шифрования с гаммированием может выполнять функции поточного шифро алгоритма.
По некоторым сведениям, история этого шифра гораздо более давняя. Алгоритм, положенный впоследствии в основу стандарта, родился, предположительно, в недрах Восьмого Главного управления КГБ СССР (ныне в структуре ФСБ), в Воронежском НИИ Связи, вероятно, ещё в1980-хгодах в рамках проектов создания программных и аппаратных реализаций шифра для различных вычислительных платформ.
С момента опубликования ГОСТа на нём стоял ограничительный гриф «Для служебного пользования», и формально шифр был объявлен «полностью открытым» только в мае1994 года. История создания шифра и критерии разработчиков по состоянию на 2015 год не обнародованы.
Данный документ является моей попыткой описать метод простой замены алгоритма шифрования ГОСТ 28147-89 наиболее простым, но, тем не менее, технически-грамотным языком. О том, насколько получилось ли это у меня, читатель скажет свое мнение, после того как прочтет первые шесть пунктов.
Для того, что бы мой труд дал больше пользы рекомендую вооружиться трудами авторов указанных в списке используемой литературы. Рекомендуется также калькулятор, чтобы в нем были функция по расчету операции XOR, т.к. прочтение статьи предполагает, что читающий вознамерился изучить данный алгоритм шифрования. Хотя в качестве справочного пособия она тоже подойдет, но я писал эту статью именно, как обучающую.
Прежде чем мы начнем рассматривать алгоритм, нам необходимо ознакомиться с историей создания такого рода шифров. Алгоритм относится к разряду блочных шифров, в архитектуре которых информация разбивается на конечное количество блоков, конечный естественно может быть не полным. Процесс шифрования происходит именно над полными блоками, которые и образуют шифрограмму. Конечный блок, если он неполный дополняется чем либо (о нюансах по его дополнению я скажу ниже) и шифруется так же как и полные блоки. Под шифрограммой я понимаю - результат действия функции шифрования над некоторым количеством данных, которые пользователь подал для шифрования. Другими словами шифрограмма - это конечный результат шифрования.
История развития блочных шифров ассоциируется с началом 70х годов, когда компания IBM осознав необходимость защиты информации при передаче данных по каналам связи ЭВМ, приступила к выполнению собственной программы научных исследований, посвященных защите информации в электронных сетях, в том числе и криптографии.
Группу исследователей - разработчиков фирмы IBM, приступившей к исследованию систем шифрования с симметричной схемой использования ключей, возглавил доктор Хорст Файстель.
Основные проблемы ГОСТа связаны с неполнотой стандарта в части генерации ключей и таблиц замен. Считается, что у ГОСТа существуют «слабые» ключи и таблицы замен, но в стандарте не описываются критерии выбора и отсева «слабых».
В октябре 2010 года на заседании 1-го объединенного технического комитета Международной организации по стандартизации (ISO/IEC JTC 1/SC 27) ГОСТ был выдвинут на включение в международный стандарт блочного шифрования ISO/IEC 18033-3. В связи с этим в январе 2011 года были сформированы фиксированные наборы узлов замены и проанализированы их криптографические свойства. Однако ГОСТ не был принят в качестве стандарта, и соответствующие таблицы замен не были опубликованы[12]
1. Итерационные блочные шифры
« Принцип построения - SP-сеть
« Архитектура - Сеть Фейстеля, Квадрат
« Самые известные блочные шифры -DES, ГОСТ 28147-89, RIJNDAEL (AES), TEA, MARS, RC6, SERPENT, TWOFISH
Алгоритм шифрования ГОСТ 28147-89
Обзор криптоаналитических исследований отечественного стандарта шифрования ГОСТ 28147-89
Отечественный алгоритм шифрования ГОСТ 28147-89 определен в стандарте [14]. Алгоритм шифрует данные 64-битными блоками с использованием 256-битного ключа шифрования. Выполняется 32 раунда преобразований, в каждом из которых предусмотрены следующие операции (см. рис. 1):
Рис 1. Раунд алгоритма ГОСТ 28147-89.
1. Один из 32-битных субблоков данных складывается с 32-битным значением ключа раундаKiпо модулю 232.
2. Результат предыдущей операции разбивается на 8 фрагментов по 4 бита, которые параллельно «прогоняются» через 8 таблиц заменS1…S8. Таблицы замен в стандарте [14] не определены. Примеры возможных таблиц замен можно найти, например, в [17] или [18].
3. 4-битные фрагменты (после замен) объединяются обратно в 32-битный субблок, значение которого циклически сдвигается влево на 11 бит.
4. Обработанный предыдущими операциями субблок накладывается на необработанный с помощью побитовой логической операции «исключающее или» (XOR).
5. Субблоки меняются местами.
Процедура расширения ключа в алгоритме ГОСТ 28147-89, фактически, отсутствует: в раундах шифрования последовательно используются 32-битные фрагменты K1…K8 исходного 256-битного ключа шифрования в следующем порядке:K1, K2, K3, K4, K5, K6, K7, K8, - за исключением последних 8 раундов - в раундах с 25-го по 31-й фрагменты используются в обратном порядке.
Этот режим не является в общепринятом смысле режимом шифрования. При работе в режиме выработки имитовставки создаётся некоторый дополнительный блок, зависящий от всего текста и ключевых данных. Данный блок используется для проверки того, что в шифротекст случайно или преднамеренно не были внесены искажения. Это особенно важно для шифрования в режиме гаммирования, где злоумышленник может изменить конкретные биты, даже не зная ключа; однако и при работе в других режимах вероятные искажения нельзя обнаружить, если в передаваемых данных нет избыточной информации.
Имитовставка вырабатывается для M ? 2 блоков открытого текста по 64 бит. Алгоритм следующий:
1. Блок открытых данных записывается в регистры N1и N2, после чего подвергается преобразованию, соответствующему первым 16 циклам шифрования в режиме простой замены
2. К полученному результату побитно по модулю 2 прибавляется следующий блок открытых данных. Последний блок при необходимости дополняется нулями. Сумма также шифруется в соответствии с пунктом 1.
3. После добавления и шифрования последнего блока из результата выбирается имитовставка длиной L бит: с бита номер 32-L до 32(отсчет начинается с 1). Стандарт рекомендует выбирать L исходя из того, что вероятность навязывания ложных данных равна 2-L. Имитовставка передается по каналу связи после зашифрованных блоков.
Для проверки принимающая сторона после расшифровывания текста проводит аналогичную описанной процедуру. В случае несовпадения результата с переданной имитовставкой все соответствующие M блоков считаются ложными.
Следует отметить, что выработка имитовставки может проводиться параллельно шифрованию с использованием одного из описанных выше режимов работы.
2. Достоинства AES-128
« Простота
« 2 раунда шифрования обеспечивают полное рассеивание и перемешивание информации
« Оригинальное обоснование числа раундов шифрования
« Эффективная реализация на 8-, 32- и 64-разрядных платформах
Расшифрование полностью аналогично зашифрованию, но с другим порядком использования фрагментов ключа:
в прямом порядке - в первых 8 раундах;
в остальных раундах - в обратном порядке.
Стандарт [14] также предусматривает и описывает различные режимы применения алгоритма:
описанный выше режим простой замены;
режимы гаммирования и гаммирования с обратной связью, предусматривающие вычисление с помощью описанных выше преобразований псевдослучайной последовательности - гаммы шифра - и ее наложение на шифруемый текст;
режим вычисления имитовставки - криптографической контрольной суммы, используемой для подтверждения целостности данных; в данном режиме выполняется 16 раундов преобразований вместо 32-х.
Алгоритм ГОСТ 28147-89 можно использовать и в различных общеупотребительных режимах шифрования (предусмотренных стандартом [4]). Кроме того, на основе данного алгоритма построен отечественный стандарт хэширования ГОСТ Р 34.11-94 [15].
Как видно из описания, алгоритм ГОСТ 28147-89 является весьма простым в реализации, что является его несомненным достоинством.
Все восемь S-блоков могут быть различными. Некоторые считают, что они могут являться дополнительным ключевым материалом, увеличивающим эффективную длину ключа; однако существуют применимые на практике атаки, позволяющие их определить.[4]Впрочем, и необходимости в увеличении длины ключа нет, 256 бит вполне достаточно в настоящее время.[5]Как правило, таблицы замен являются долговременным параметром схемы, общим для определенной группы пользователей.
Узлы замены определенные документомRFC 4357
Идентификатор: id-GostR3411-94-TestParamSet
Таблица 1
Номер S-блока |
Значение |
||||||||||||||||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
||
1 |
4 |
A |
9 |
2 |
D |
8 |
0 |
E |
6 |
B |
1 |
C |
7 |
F |
5 |
3 |
|
2 |
E |
B |
4 |
C |
6 |
D |
F |
A |
2 |
3 |
8 |
1 |
0 |
7 |
5 |
9 |
|
3 |
5 |
8 |
1 |
D |
A |
3 |
4 |
2 |
E |
F |
C |
7 |
6 |
0 |
9 |
B |
|
4 |
7 |
D |
A |
1 |
0 |
8 |
9 |
F |
E |
4 |
6 |
C |
B |
2 |
5 |
3 |
|
5 |
6 |
C |
7 |
1 |
5 |
F |
D |
8 |
4 |
A |
9 |
E |
0 |
3 |
B |
2 |
|
6 |
4 |
B |
A |
0 |
7 |
2 |
1 |
D |
3 |
6 |
8 |
5 |
9 |
C |
F |
E |
|
7 |
D |
B |
4 |
1 |
3 |
F |
5 |
9 |
0 |
A |
E |
7 |
6 |
8 |
2 |
C |
|
8 |
1 |
F |
D |
0 |
5 |
7 |
A |
4 |
9 |
2 |
3 |
E |
6 |
B |
8 |
C |
Этот узел замены определен ГОСТ Р 34.11-94для целей тестирования. Данный узел замен используется в криптографических приложениях ЦБ РФ.[5]
OID: 1.2.643.2.2.31.1
Идентификатор: id-Gost28147-89-CryptoPro-A-ParamSet
Таблица 2
Номер S-блока |
Значение |
||||||||||||||||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
||
1 |
9 |
6 |
3 |
2 |
8 |
B |
1 |
7 |
A |
4 |
E |
F |
C |
0 |
D |
5 |
|
2 |
3 |
7 |
E |
9 |
8 |
A |
F |
0 |
5 |
2 |
6 |
C |
B |
4 |
D |
1 |
|
3 |
E |
4 |
6 |
2 |
B |
3 |
D |
8 |
C |
F |
5 |
A |
0 |
7 |
1 |
9 |
|
4 |
E |
7 |
A |
C |
D |
1 |
3 |
9 |
0 |
2 |
B |
4 |
F |
8 |
5 |
6 |
|
5 |
B |
5 |
1 |
9 |
8 |
D |
F |
0 |
E |
4 |
2 |
3 |
C |
7 |
A |
6 |
|
6 |
3 |
A |
D |
C |
1 |
2 |
0 |
B |
7 |
5 |
9 |
4 |
8 |
F |
E |
6 |
|
7 |
1 |
D |
2 |
9 |
7 |
A |
6 |
0 |
8 |
C |
4 |
5 |
F |
3 |
B |
E |
|
8 |
B |
A |
F |
5 |
0 |
C |
E |
8 |
6 |
2 |
3 |
9 |
1 |
7 |
D |
4 |
Данный узел замен используется криптопровайдером CryptoPRO CSP по умолчанию. Так же данный узел замен используется в ПО "Верба-О"[6]
OID: 1.2.643.2.2.31.2
Идентификатор: id-Gost28147-89-CryptoPro-B-ParamSet
Таблица 3
Номер S-блока |
Значение |
||||||||||||||||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
||
1 |
8 |
4 |
B |
1 |
3 |
5 |
0 |
9 |
2 |
E |
A |
C |
D |
6 |
7 |
F |
|
2 |
0 |
1 |
2 |
A |
4 |
D |
5 |
C |
9 |
7 |
3 |
F |
B |
8 |
6 |
E |
|
3 |
E |
C |
0 |
A |
9 |
2 |
D |
B |
7 |
5 |
8 |
F |
3 |
6 |
1 |
4 |
|
4 |
7 |
5 |
0 |
D |
B |
6 |
1 |
2 |
3 |
A |
C |
F |
4 |
E |
9 |
8 |
|
5 |
2 |
7 |
C |
F |
9 |
5 |
A |
B |
1 |
4 |
0 |
D |
6 |
8 |
E |
3 |
|
6 |
8 |
3 |
2 |
6 |
4 |
D |
E |
B |
C |
1 |
7 |
F |
A |
0 |
9 |
5 |
|
7 |
5 |
2 |
A |
B |
9 |
1 |
C |
3 |
7 |
4 |
D |
0 |
6 |
F |
8 |
E |
|
8 |
0 |
4 |
B |
E |
8 |
3 |
7 |
1 |
A |
2 |
9 |
6 |
F |
D |
5 |
C |
Данный узел замен используется криптопровайдером CryptoPRO CSP
OID: 1.2.643.2.2.31.3
Идентификатор: id-Gost28147-89-CryptoPro-C-ParamSet
Таблица 4
Номер S-блока |
Значение |
||||||||||||||||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
||
1 |
1 |
B |
C |
2 |
9 |
D |
0 |
F |
4 |
5 |
8 |
E |
A |
7 |
6 |
3 |
|
2 |
0 |
1 |
7 |
D |
B |
4 |
5 |
2 |
8 |
E |
F |
C |
9 |
A |
6 |
3 |
|
3 |
8 |
2 |
5 |
0 |
4 |
9 |
F |
A |
3 |
7 |
C |
D |
6 |
E |
1 |
B |
|
4 |
3 |
6 |
0 |
1 |
5 |
D |
A |
8 |
B |
2 |
9 |
7 |
E |
F |
C |
4 |
|
5 |
8 |
D |
B |
0 |
4 |
5 |
1 |
2 |
9 |
3 |
C |
E |
6 |
F |
A |
7 |
|
6 |
C |
9 |
B |
1 |
8 |
E |
2 |
4 |
7 |
3 |
6 |
5 |
A |
0 |
F |
D |
|
7 |
A |
9 |
6 |
8 |
D |
E |
2 |
0 |
F |
3 |
5 |
B |
4 |
1 |
C |
7 |
|
8 |
7 |
4 |
0 |
5 |
A |
2 |
F |
E |
C |
6 |
1 |
B |
D |
9 |
3 |
8 |
Данный узел замен используется криптопровайдером CryptoPRO CSP
OID: 1.2.643.2.2.31.4
Идентификатор: id-Gost28147-89-CryptoPro-D-ParamSet
Таблица 5
Номер S-блока |
Значение |
||||||||||||||||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
||
1 |
F |
C |
2 |
A |
6 |
4 |
5 |
0 |
7 |
9 |
E |
D |
1 |
B |
8 |
3 |
|
2 |
B |
6 |
3 |
4 |
C |
F |
E |
2 |
7 |
D |
8 |
0 |
5 |
A |
9 |
1 |
|
3 |
1 |
C |
B |
0 |
F |
E |
6 |
5 |
A |
D |
4 |
8 |
9 |
3 |
7 |
2 |
|
4 |
1 |
5 |
E |
C |
A |
7 |
0 |
D |
6 |
2 |
B |
4 |
9 |
3 |
F |
8 |
|
5 |
0 |
C |
8 |
9 |
D |
2 |
A |
B |
7 |
3 |
6 |
5 |
4 |
E |
F |
1 |
|
6 |
8 |
0 |
F |
3 |
2 |
5 |
E |
B |
1 |
A |
4 |
7 |
C |
9 |
D |
6 |
|
7 |
3 |
0 |
6 |
F |
1 |
E |
9 |
2 |
D |
8 |
C |
4 |
B |
A |
5 |
7 |
|
8 |
1 |
A |
6 |
8 |
F |
B |
0 |
4 |
C |
3 |
5 |
9 |
7 |
D |
2 |
E |
Данный узел замен используется криптопровайдером CryptoPRO CSP
Узел замены, определенный Техническим комитетом по стандартизации "Криптографическая защита информации" (сокращенно - ТК 26) Росстандарта[7]
OID: 1.2.643.7.1.2.5.1.1
Идентификатор: id-tc26-gost-28147-param-Z
Таблица 6
Номер S-блока |
Значение |
||||||||||||||||
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
||
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 |
B |
D |
0 |
F |
|
3 |
B |
3 |
5 |
8 |
2 |
F |
A |
D |
E |
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 |
E |
B |
4 |
2 |
C |
|
6 |
5 |
D |
F |
6 |
9 |
2 |
C |
A |
B |
7 |
8 |
1 |
4 |
3 |
E |
0 |
|
7 |
8 |
E |
2 |
5 |
6 |
9 |
1 |
C |
F |
4 |
B |
0 |
D |
A |
3 |
7 |
|
8 |
1 |
7 |
E |
D |
0 |
5 |
8 |
3 |
4 |
F |
A |
6 |
9 |
C |
B |
2 |
Данный узел замен предлагался ТК 26 при международной стандартизации ГОСТ 28147-89 в составе стандарта шифрования ISO/IEC 18033-3 и рекомендуется отечественным разработчикам.
В тексте стандарта указывается, что поставка заполнения узлов замены (S-блоков) производится в установленном порядке, то есть разработчиком алгоритма.
3. Структура раунда ГОСТ 28147-89
Рис. 2 Криптоанализ алгоритма
В 1994 г. описание алгоритма ГОСТ 28147-89 было переведено на английский язык и опубликовано [11], именно после этого стали появляться результаты его анализа, выполненного зарубежными специалистами; однако, в течение значительного времени не было найдено каких-либо атак, приближающихся к практически осуществимым [1].
Анализ таблиц замен
Поскольку таблицы замен в стандарте [14] не приведены, в ряде работ (например, в [2]) высказывается предположение, что «компетентная организация» может выдать как «хорошие», так и «плохие» таблицы замен. Однако, в [21] известнейший эксперт Брюс Шнайер (Bruce Schneier) называет такие предположения «слухами». Ясно, что криптостойкость алгоритма во многом зависит от свойств используемых таблиц замен, соответственно, существуют слабые таблицы замен (пример таковой приведен в [18]), применение которых может упростить вскрытие алгоритма. Тем не менее, возможность использования различных таблиц замен кажется весьма достойной идеей, в пользу которой можно привести два следующих факта из истории стандарта шифрования США DES (подробно см. [16]):
? Атаки с помощью как линейного, так и дифференциального криптоанализа алгоритма DES используют конкретные особенности таблиц замен. При использовании других таблиц криптоанализ придется начинать сначала (различные методы криптоанализа описаны в статьях «Современные методы вскрытия алгоритмов шифрования» и «Криптоаналитические атаки на связанных ключах»).
? Были попытки усилить DES против линейного и дифференциального криптоанализа путем использования более стойких таблиц замен. Такие таблицы, действительно более стойкие, были предложены, например, в алгоритме s5DES [7]. Но, увы, заменить DES на s5DES было невозможно, поскольку таблицы замен жестко определены в стандарте [3], соответственно, реализации алгоритма наверняка не поддерживают возможность смены таблиц на другие.
В ряде работ (например, [2], [17] и [18]) ошибочно делается вывод о том, что секретные таблицы замен алгоритма ГОСТ 28147-89 могут являться частью ключа и увеличивать его эффективную длину (что несущественно, поскольку алгоритм обладает весьма большим 256-битным ключом). Однако, в работе [12] доказано, что секретные таблицы замен могут быть вычислены с помощью следующей атаки, которая может быть применена практически:
1. Устанавливается нулевой ключ и выполняется поиск «нулевого вектора», т.е. значенияz = f(0), гдеf()- функция раунда алгоритма. Этот этап занимает порядка 232 операций шифрования.
2. С помощью нулевого вектора вычисляются значения таблиц замен, что занимает не более 211 операций.
Модификации алгоритма и их анализ
В работе [10] проведен криптоанализ модификаций алгоритма ГОСТ 28147-89:
алгоритма GOST-H, в котором, относительно оригинального алгоритма, изменен порядок использования подключей, а именно, в раундах с 25-го по 32-й подключи используются в прямом порядке, т.е. точно так же, как и в предыдущих раундах алгоритма;
20-раундового алгоритма GOSTA, в раунде которого для наложения ключа используется операция XOR вместо сложения по модулю 232.
По результатам анализа сделан вывод о том, что GOST-H и GOSTA слабее исходного алгоритма ГОСТ 28147-89, поскольку оба имеют классы слабых ключей. Стоит отметить, что в части криптоанализа GOSTA работа [10] слово в слово повторяет раздел, посвященный криптоанализу данного алгоритма, вышедшей в 2000 г. известной работы [1] (без каких-либо ссылок на оригинал). Это ставит под сомнение профессионализм авторов работы [10] и остальные ее результаты.
4. Раундовая функция ГОСТ 28147-89
« Сложение по модулю 232 с раундовым ключом
« Замена с использованием 8 четырехразрядных таблиц замены
« Циклический сдвиг на 11 разрядов влево
Весьма интересная модификация алгоритма предложена в работе [13]: таблицыS1…S8 обязательно должны быть различными; в каждом раунде алгоритма должна выполняться их перестановка по определенному закону. Данная перестановка может быть зависимой от ключа шифрования, а может быть и секретной (т.е. являться частью ключа шифрования большего размера по сравнению с исходным 256-битным ключом). Оба этих варианта, по мнению их авторов, существенно усиливают стойкость алгоритма против линейного и дифференциального криптоанализа.
И еще одна модификация, связанная с таблицами замен, приведена в работе [5], в которой анализируется один из возможных методов вычисления таблиц замен на основе ключа шифрования. Авторы работы сделали вывод, что подобная зависимость ослабляет алгоритм, поскольку приводит к наличию слабых ключей и к некоторым потенциальным уязвимостям алгоритма.
Анализ полнораундового алгоритма
Существуют атаки и на полнораундовый ГОСТ 28147-89 без каких-либо модификаций. Одна из первых открытых работ, в которых был проведен анализ алгоритма, - широко известная работа [6] - посвящена атакам, использующим слабости процедуры расширения ключа ряда известных алгоритмов шифрования. В частности, полнораундовый алгоритм ГОСТ 28147-89 может быть вскрыт с помощью дифференциального криптоанализа на связанных ключах, но только в случае использования слабых таблиц замен. 24-раундовый вариант алгоритма (в котором отсутствуют первые 8 раундов) вскрывается аналогичным образом при любых таблицах замен, однако, сильные таблицы замен (например, приведенная в [21]) делают такую атаку абсолютно непрактичной.
Отечественные ученые А.Г. Ростовцев и Е.Б. Маховенко в 2001 г. в работе [19] предложили принципиально новый метод криптоанализа (по мнению авторов, существенно более эффективный, чем линейный и дифференциальный криптоанализ [20]) путем формирования целевой функции от известного открытого текста, соответствующего ему шифр текста и искомого значения ключа и нахождения ее экстремума, соответствующего истинному значению ключа. Они же нашли большой класс слабых ключей алгоритма ГОСТ 28147-89, которые позволяют вскрыть алгоритм с помощью всего 4-х выбранных открытых текстов и соответствующих им шифр текстов с достаточно низкой сложностью. Криптоанализ алгоритма продолжен в работе [20].
В 2004 г. группа специалистов из Кореи предложила атаку, с помощью которой, используя дифференциальный криптоанализ на связанных ключах, можно получить с вероятностью 91,7 % 12 бит секретного ключа [8]. Для атаки требуется 235 выбранных открытых текстов и 236 операций шифрования. Как видно, данная атака, практически, бесполезна для реального вскрытия алгоритма.
Считается,[8]что ГОСТ устойчив к таким широко применяемым методам, как линейный и дифференциальный крипто анализ. Обратный порядок использования ключей в последних восьми раундах обеспечивает защиту от атак скольжения (slide attack) и отражения (reflection attack). Ростовцев А.Г., Маховенко Е.Б., Филиппов А.С., Чечулин А.А. в своей работе[9]описали вид криптоанализа, который сводится к построению алгебраической целевой функции и нахождению ее экстремума. Были выделены классы слабых ключей, в частности, показано, что разреженные ключи (со значительным преобладанием 0 или 1) являются слабыми. По мнению авторов, их метод в любом случае лучше, чем полный перебор, однако без численных оценок.
В мае 2011 года известный криптоаналитик Николя Куртуадоказал существование атаки на данный шифр, имеющей сложность в 28(256) раз меньше сложности прямого перебора ключей при условии наличия 264пар открытый текст/закрытый текст.[10][11]Данная атака не может быть осуществлена на практике ввиду слишком высокой вычислительной сложности. Более того, знание 264пар открытый текст/закрытый текст, очевидно, позволяет читать зашифрованные тексты, даже не вычисляя ключа. В большинстве других работ также описываются атаки, применимые только при некоторых предположениях, таких как определенный вид ключей или таблиц замен, некоторая модификация исходного алгоритма, или же требующие все еще недостижимых объемов памяти или вычислений. Вопрос о наличии применимых на практике атак без использования слабости отдельных ключей или таблиц замены остается открытым.
5. Advanced Encryption Standard
« Замена байтов SubBytes
« Циклический сдвиг строк ShiftRows
« Перемешивание столбцов MixColumns
« Сложение (XOR) с раундовым ключом AddRoundKey
Для зашифровывания в этом режиме 64-битный блок открытого текстасначала разбивается на две половины (младшие биты -- A, старшие биты -- B[3]). На i-ом цикле используется подключ Ki:
(= двоичное «исключающее или»)
Для генерации подключей исходный 256-битный ключ разбивается на восемь 32-битных блоков: K1…K8.
Ключи K9…K24являются циклическим повторением ключей K1…K8(нумеруются от младших битов к старшим). Ключи K25…K32являются ключами K8…K1.
После выполнения всех 32 раундов алгоритма, блоки A33и B33склеиваются (обратите внимание, что старшим блоком становится A33, а младшим -- B33) -- результат есть результат работы алгоритма.
Расшифровывание выполняется так же[уточнить], как и зашифровывание, но инвертируется порядок подключей Ki.
Функциявычисляется следующим образом:
Ai и Ki складываются по модулю 232.
Результат разбивается на восемь 4-битовых под последовательностей, каждая из которых поступает на вход своего узла таблицы замен (в порядке возрастания старшинства битов), называемого ниже S-блоком. Общее количество S-блоков ГОСТа -- восемь, то есть столько же, сколько и под последовательностей. Каждый S-блок представляет собой перестановку чисел от 0 до 15 (конкретный вид S-блоков в стандарте не определен). Первая 4-битная под последовательность попадает на вход первого S-блока, вторая -- на вход второго и т. д.
Если узел S-блока выглядит так:
1, 15, 13, 0, 5, 7, 10, 4, 9, 2, 3, 14, 6, 11, 8, 12
и на входе S-блока 0, то на выходе будет 1, если 4, то на выходе будет 5, если на входе 12, то на выходе 6 и т. д.
Выходы всех восьми S-блоков объединяются в 32-битное слово, затем всё слово циклически сдвигается влево (к старшим разрядам) на 11 битов.
Режим простой замены имеет следующие недостатки:
· Может применяться только для шифрования открытых текстов с длиной, кратной 64 бит[2]
· При шифровании одинаковых блоков открытого текста получаются одинаковые блоки шифротекста, что может дать определенную информацию криптоаналитику.
Таким образом, применение ГОСТ 28147-89 в режиме простой замены желательно лишь для шифрования ключевых данных.
При работе ГОСТ 28147-89 в режиме гаммирования описанным ниже образом формируется криптографическая гамма, которая затем побитно складывается по модулю 2 с исходным открытым текстом для получения шифротекста. Шифрование в режиме гаммирования лишено недостатков, присущих режиму простой замены.[2]Так, даже идентичные блоки исходного текста дают разный шифротекст, а для текстов с длиной, не кратной 64 бит, "лишние" биты гаммы отбрасываются. Кроме того, гамма может быть выработана заранее, что соответствует работе шифра в поточном режиме.
Выработка гаммы происходит на основе ключа и так называемой синхропосылки, которая задает начальное состояние генератора. Алгоритм выработки следующий:
1. Синхропосылка шифруется с использованием описанного алгоритма простой замены, полученные значения записываются во вспомогательные 32-разрядные регистры N3и N4- младшие и старшие биты соответственно.
2. N3суммируется по модулю 232с константой C2= 101010116
3. N4суммируется по модулю 232-1 с константой C1= 101010416
4. N3и N4переписываются соответственно в N1и N2, которые затем шифруются с использованием алгоритма простой замены. Полученный результат является 64 битами гаммы.
5. Шаги 2-4 повторяются в соответствии с длиной шифруемого текста.
Для расшифровывания необходимо выработать такую же гамму, после чего побитно сложить ее по модулю 2 с зашифрованным текстом. Очевидно, для этого нужно использовать ту же синхропосылку, что и при шифровании. При этом, исходя из требований уникальности гаммы, нельзя использовать одну синхропосылку для шифрования нескольких массивов данных. Как правило, синхропосылка тем или иным образом передается вместе с шифротекстом.
Особенность работы ГОСТ 28147-89 в режиме гаммирования заключается в том, что при изменении одного бита шифротекста изменяется только один бит расшифрованного текста. С одной стороны, это может оказывать положительное влияние на помехозащищенность; с другой - злоумышленник может внести некоторые изменения в текст, даже не расшифровывая его.
Рис. 3
Заключение
Как видно, в открытой литературе можно найти достаточно мало работ, посвященных криптоанализу алгоритма ГОСТ 28147-89. Это особенно заметно по сравнению с огромным числом работ, посвященных криптоанализу стандартов шифрования США DES (обзор таких работ можно найти в [16]) и AES (см. статью «Алгоритм шифрования AES и его криптоанализ») или криптоанализу некоторых из широко используемых алгоритмов шифрования, например, IDEA [9] или SAFER (см. статью «Эволюция алгоритмов шифрования на примере семейства алгоритмов SAFER»). По результатам открытых работ можно сделать вывод о достаточно высокой криптостойкости отечественного стандарта шифрования.
Основные проблемы ГОСТа связаны с неполнотой стандарта в части генерации ключей и таблиц замен. Считается, что у ГОСТа существуют «слабые» ключи и таблицы замен, но в стандарте не описываются критерии выбора и отсева «слабых».
В октябре 2010 года на заседании 1-го объединенного технического комитета Международной организации по стандартизации (ISO/IEC JTC 1/SC 27) ГОСТ был выдвинут на включение в международный стандарт блочного шифрования ISO/IEC 18033-3. В связи с этим в январе 2011 года были сформированы фиксированные наборы узлов замены и проанализированы их криптографические свойства. Однако ГОСТ не был принят в качестве стандарта, и соответствующие таблицы замен не были опубликованы
Таким образом, существующий стандарт не специфицирует алгоритм генерации таблицы замен (S-блоков). С одной стороны, это может являться дополнительной секретной информацией (помимо ключа), а с другой, поднимает ряд проблем:
· нельзя определить криптостойкость алгоритма, не зная заранее таблицы замен;
· реализации алгоритма от различных производителей могут использовать разные таблицы замен и могут быть несовместимы между собой;
· возможность преднамеренного предоставления слабых таблиц замен лицензирующими органами РФ;
· потенциальная возможность (отсутствие запрета в стандарте) использования таблиц замены, в которых узлы не являются перестановками, что может привести к чрезвычайному снижению стойкости шифра.
шифр раунд алгоритм криптоанализ
Список использованной литературы
1. Мельников В.В. Защита информации в компьютерных системах. -- М.: Финансы и статистика, 1997.
2. Романец Ю.В.. Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. -- М.: Радио и связь, 1999.
3. Харин Ю.С., Берник В.И., Матвеев Г.В. Математические основы криптологии. -- Мн.: БГУ, 1999.
4. Герасименко В.А., Малюк А.А. Основы защиты информации.--М.: МГИФИ, 1997.
5. Леонов А.П., Леонов К.П., Фролов Г.В. Безопасность автоматизированных банковских и офисных технологий. -- Мн.: Нац. кн. палата Беларуси, 1996.
6. Зима В.М. Молдовян А.А., Молдовян Н.А. Компьютерные сети и защита передаваемой информации. -- СПб.: СПбГУ, 1998.
7. Шнайер Б.14.1 Алгоритм ГОСТ 28147-89 // Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C.--М.: Триумф, 2002.-- С.373-377.-- 816с.--3000 экз.--ISBN 5-89392-055-4.
8. Popov V., Kurepkin I., and S. Leontiev Additional Cryptographic Algorithms for Use with GOST28147-89, GOSTR34.10-94, GOSTR34.10-2001, and GOSTR34.11-94 Algorithms(англ.)//RFC 4357.-- IETF, January 2006.
Размещено на Allbest.ru
...Подобные документы
Стандарт шифрования Advanced Encryption Standard как официальный стандарт правительства США для симметричного шифрования. Таблицы подстановки для S-Box и InvS-Box. Преобразование MixColumns, SubWord, RotWord. Процедура расширения ключа 128, 192, 256 бит.
презентация [2,2 M], добавлен 12.12.2013Сравнение производительности программных реализаций алгоритмов шифрования с оптимизациями под языки С и Java. История разработки, сущность, принципы шифрования и успехи в криптоанализе таких алгоритмов шифрования как AES, RC4, RC5, RC6, Twofish и Mars.
реферат [1,3 M], добавлен 13.11.2009Симметричные криптосистемы как способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. Разбор и реализация шифрования алгоритма: простая и двойная перестановка, перестановка "магический квадрат".
курсовая работа [3,3 M], добавлен 11.03.2013Принятые на конкурс алгоритмы: CAST-256 (Канада), CRYPTON (Южная Корея), DEAL (Норвегия, Канада), DFC или Decorrelated Fast Cipher (Франция). Основные этапы конкурса на Advanced Encryption Standard. Финалист и победитель конкурса, сравнение шифров.
курсовая работа [439,9 K], добавлен 07.07.2012Алгоритм ГОСТ 28147-89 симметричного шифрования на основе сети Фейстеля, основные режимы его работы. Атаки на системы защиты информации. Метод грубой силы. Атаки класса "встреча посередине". Характеристики ГОСТ 28147-89 и американского шифра Rijndael.
курсовая работа [510,7 K], добавлен 17.01.2012Разработка программы, реализующей процедуры шифрования и расшифрования текста по стандарту DES (Data Encryption Standard). Структура алгоритма шифрования, схема выработки ключевых элементов. Использование криптографического программного средства.
курсовая работа [1,7 M], добавлен 15.06.2013Симметричные криптосистемы; алгоритмы шифрования и дешифрования данных, их применение в компьютерной технике в системах защиты конфиденциальной и коммерческой информации. Основные режимы работы алгоритма DES, разработка программной реализации ключа.
курсовая работа [129,6 K], добавлен 17.02.2011История возникновения алгоритма симметричного шифрования, условия и особенности его применения на современном этапе. Принципы и функции исследуемой технологии. Анализ главных преимуществ и недостатков использования алгоритма, оценка его уязвимости.
курсовая работа [301,9 K], добавлен 29.10.2017Выбор шифров перестановки для проведения анализа. Анализ алгоритма двух различных шифров, построение блок-схемы алгоритма и программы, разработка общего интерфейса. Сравнение шифров перестановки по результатам шифрования и криптоанализа текстов.
курсовая работа [2,8 M], добавлен 14.01.2014Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.
курсовая работа [101,1 K], добавлен 09.03.2009Криптографическая защита как элемент систем обеспечения безопасности информации. Исторические шифры и их взлом. Особенности современной криптологии и криптографии. Основные методы современного криптоанализа, их сущность, особенности и характеристика.
курсовая работа [57,1 K], добавлен 14.06.2012Принцип программной реализации классических криптографических методов. Метод шифрования с использованием таблицы Виженера. Создание текстового редактора "Блокнот", содержащего методы шифрования. Вербальный алгоритм и программа для методов шифрования.
курсовая работа [2,0 M], добавлен 20.01.2010История появления симметричных алгоритмов шифрования. Роль симметричного ключа в обеспечении степени секретности сообщения. Диффузия и конфузия как способы преобразования бит данных. Алгоритмы шифрования DES и IDEA, их основные достоинства и недостатки.
лабораторная работа [335,9 K], добавлен 18.03.2013Основные способы криптографии, история ее развития. Принцип шифрования заменой символов, полиалфавитной подстановкой и методом перестановки. Симметричный алгоритм шифрования (DES). Открытое распределение ключей. Шифры Ривеста-Шамира-Алдемана и Эль Гамаля.
реферат [39,3 K], добавлен 22.11.2013Реализация алгоритма DES и режимов шифрования для любой длины сообщения и любой длины ключа. Шифрование сообщений различной длины и ключа с замериванием времени и скорости шифрования. Реализация алгоритма RSA. Сохранение зашифрованного файла на диск.
курсовая работа [398,4 K], добавлен 26.01.2010Изучение классических криптографических алгоритмов моноалфавитной подстановки и перестановки для защиты текстовой информации. Анализ частоты встречаемости символов в тексте для криптоанализа классических шифров. Сущность одноалфавитного метода шифрования.
лабораторная работа [2,8 M], добавлен 25.03.2015Разработка программы шифрования данных с использованием алгоритма DES. Структура алгоритма, режимы его работы. Электронный шифровальный блокнот. Цепочка цифровых блокнотов. Цифровая и внешняя обратная связь. Структура окна: функции основных кнопок.
лабораторная работа [830,3 K], добавлен 28.04.2014Комбинированное использование симметричного и асимметричного шифрования. Зависимость между открытым и закрытым ключами. Основные недостатки симметричного шифрования. Схема двухстороннего конфиденциального обмена. Концепция шифрования по алгоритму DES.
презентация [1,4 M], добавлен 20.12.2012Создание приложения для шифрования–дешифрования текста тремя алгоритмами (алгоритм "Цезаря","Модифицированного Цезаря", "Скитала"). Исходный текст компонента. Инструкция пользователя, возможность просмотра примерного алгоритма. Исходный текст программы.
курсовая работа [2,8 M], добавлен 27.02.2015Формирование ключей для шифрования сообщения. Описание алгоритма RSA: шифрование и дешифрование. Понятие и история изобретения криптосистемы с открытым ключом. Свойства односторонней функции и сложность раскрытия шифра. Сущность цифровой подписи.
лабораторная работа [326,0 K], добавлен 04.11.2013