- •Основы информационной безопасности и введение в современную криптологию
- •8 Глава 129
- •Предисловие
- •Введение
- •Формальная криптография;
- •Математическая криптография;
- •1. Криптографические системы «докомпьютерной эры» и проблемы современной криптографии
- •1.1 Криптография древнего мира. Шифр Цезаря и его криптостойкость
- •1.3 Тарабарская грамота как аналог шифра Атбаш
- •1.2 Шифр Атбаш и его модификации
- •1.4 Шифр Плейфера
- •1.5 Шифр adfgvx
- •1.6 Шифр Виженера
- •1.7 Формальная криптография
- •1.8 Математическая криптография
- •1.9 Современная компьютерная криптография и ее основные проблемы
- •2 Режимы шифрования для симметричных алгоритмов.
- •2.1 Режимы простой замены (электронная кодовая книга ecb)
- •2.2 Режим сцепления блоков (Cipher Block Chaining (cbc))
- •2.2 Режимы гаммирования
- •2.3 Режим гаммирования с обратной связью
- •Функции шифрования симметричных криптосистем
- •3.1 Стандарт шифрования данных des. Data Encryption Standard
- •3.2 Преобразования Сетью Фейстеля
- •3.3 Режимы работы алгоритма des
- •3.4.1Алгоритм гост – 28147-89
- •3.4.2Ключи в кзу
- •3.4.3В блоке подстановки k
- •3.5.1Описание алгоритма
- •4.Глава
- •4.1Хэш - функция
- •4.2Коллизия
- •4.4Пример простого хеширования
- •4.3Современные виды хеширования
- •5.Глава Элементы алгебры и теории чисел
- •5.1Быстрое возведение в степень.
- •5.2Нахождение простого числа
- •5.3Метод Шермана — Лемана
- •5.3Метод Раббина-Миллера
- •5.4Нахождение обратного элемента по модулю
- •5.5Теорема ферма, Эйлера
- •5.6Алгоритм Эвклида
- •5.7Расширенный алгоритм Эвклида
- •5.8 Китайская теорема об остатках
- •5.11 Нахождение с помощью расширенного алгоритма Евклида
- •5.11Квадратичные вычеты
- •5.11Нахождение генераторов
- •6. Глава
- •6.1 Алгоритм Диффи – Хеллмана
- •6.2Описание алгоритма
- •6.3Алгоритм Диффи — Хеллмана с тремя и более участниками
- •6.7Криптографическая стойкость
- •6.8Rsa алгоритм
- •6.10Алгоритм шифрования rsa
- •6.11Алгоритм подписи rsa
- •7.16Эль-Гамаля
- •6.13История dsa
- •6.14Алгоритм цифровой подписи dsa
- •6.15 Алгоритм цифровой подписи гост р 3410-94
- •7.1Эллиптическая кривая
- •7.2 Эллиптические кривые в криптографии
- •7.3 Метрика операций на эк
- •7.3.1Сложение различных точек
- •7.3.2Удвоение
- •7.7Порядок эллиптической кривой
- •7.6Теорема Хассе
- •7.5 Порядок точки на эллиптической кривой
- •7.8Порядок точки на эллиптической кривой (Теория, можешь не читат)
- •7.9Криптография на эллиптических кривых
- •7.10Пример эллиптической кривой над конечным полем.
- •7.11Кратные точки.
- •7.12Безопасность криптографии с использованием эллиптических кривых.
- •7.13Алгоритм Диффи-Хелмана на эллиптической кривой
- •7.14Алгоритм dsa на эллиптической кривой
- •7.14.1Алгоритм эцп на основе эллиптических кривых (ecdsa)
- •7.15Алгоритм Эль-Гамала на эллиптической кривой
- •Литература
- •8 Глава
- •8.1Криптоанализ
- •8.2Классический криптоанализ.
- •8.3 Современный криптоанализ
- •8.4Универсальные методы криптоанализа.
- •8.4.1Метод полного перебора
- •8.4.2Атака по ключам
- •8.4.3Частотный анализ
- •8.4.4Метод "встречи посередине"
- •8.4.5Криптоанализ симметричных шифров
- •8.4.6Дифференциальный криптоанализ
- •8.4.7Дифференциальный анализ на основе сбоев.
- •8.4.8Дифференциальный метод криптоанализа des.
- •8.4.9Линейный криптоанализ .
- •8.4.10Криптоанализ асимметричных шифров
- •8.4.11Метод безключевого чтения rsa.
- •8.4.12Криптоанализ хеш-функций
- •8.4.13Криптоанализ по побочным каналам
- •8.5Нанотехнологии в криптоанализе
8.4.8Дифференциальный метод криптоанализа des.
Дифференциальный
метод криптоанализа (ДКА) был предложен
Э.Бихамом и A.Шамиром
в 1990 г. Дифференциальный криптоанализ
- это попытка вскрытия секретного ключа
блочных шифров. При анализе предполагается,
что на каждом цикле используется свой
подключ шифрования. Данный метод основан
на анализе пар открытых текстов, между
которыми существует определенная
разность (difference). При анализе различных
алгоритмов разность текстов может быть
определена различным образом. Для DES
разность открытых текстов
и
определена как операция XOR между данными
текстами:
.
Дифференциальный криптоанализ использует множество пар текстов с oпределенной разностью, анализ которых позволяет выделить некий ключ (или его фрагмент), который является искомым ключом либо однозначно, либо с наибольшей (по сравнению с другими возможными ключами) вероятностью.
Выполняется
такой анализ следующим образом.
Предположим, имеется два открытых
текста, которые на входе в функцию
какого-либо раунда алгоритма имеют
разность
:
=
.
Разность
Å
,
т.е. разность после обработки
и
расширяющей
перестановкой
EP, весьма легко определить, поскольку:
.
Наложение фрагмента ключа операцией XOR вообще не меняет разность, т.е.:
Å
.
Аналогично преобразованию EP, легко вычислить разность Dbp после перестановки P:
Å
Å
.
Таким
образом, единственной операцией из
выполняемых функцией f(),
существенно влияющей на значение
разности, остается табличная замена.
Значение
зависит
не только от разности
,
но и от конкретных входных значений
и
.
Здесь-то и проявляется влияние наложенного
предыдущей операцией ключа шифрования.
Как было сказано выше, таблицы замен
меняют 6-битное входное значение на 4-
битное. Это означает, что любой входной
разности
(где
n
–
номер таблицы) соответствует
=
64 возможных пар входных значений
(обозначим их
и
).
Соответственно,
любой выходной разности
соответствует
4
= 16 возможных пар
и
.
Дифференциальный криптоанализ алгоритма
DES эксплуатирует тот факт, что, во- первых,
каждое конкретное значение
приводит
не ко всем возможным 16 значениям
,
а во-вторых, данные значения
имеют
весьма различную вероятность. Бихам и
Шамир в качестве примера рассматривают
таблицу S1 и ее входную разность
= 34.
Возможные
значения
и
их вероятности (в количестве значений
пар
и
из 64 возможных, которые приводят к
данному значению
)
приведены в следующей таблице
Значение |
Вероятность |
1 |
8 |
2 |
16 |
3 |
6 |
4 |
2 |
7 |
12 |
8 |
6 |
D |
8 |
F |
6 |
Остальные |
0 |
Всего |
64 |
Как
с помощью всего этого можно определить
ключ, рассмотрим на простейшем примере.
Предположим, что в распоряжении
криптоаналитика имеется пара текстов
с
= 34. Кроме того, у криптоаналитика есть
соответствующие им шифротексты (опять
же, предположим, что для их зашифрования
использовался однораундовый DES) с
= 4.
Входные значения S1 при таких условиях
известны – это значения 13 и 27 (
= 13, а
=
27, или наоборот). Получается, что
криптоаналитик знает значения
и
(поскольку
ему известны открытые тексты), а также
два варианта значений
и
.
В результате криптоаналитик может
простейшей операцией XOR вычислить 2
возможных варианта первых шести бит
.
Выбрать из двух вариантов правильный
криптоаналитику поможет вторая пара
открытых текстов, если таковая у него
есть. Даже если такой пары нет,
криптоаналитик
существенно сузил область возможных
значений ключа: в
раз.
