- •Основы информационной безопасности и введение в современную криптологию
- •8 Глава 129
- •Предисловие
- •Введение
- •Формальная криптография;
- •Математическая криптография;
- •1. Криптографические системы «докомпьютерной эры» и проблемы современной криптографии
- •1.1 Криптография древнего мира. Шифр Цезаря и его криптостойкость
- •1.2 Шифр Атбаш и его модификации
- •1.3 Тарабарская грамота как аналог шифра Атбаш
- •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.3Частотный анализ
На протяжении веков дешифрованию криптограмм помогает частотный анализ появления отдельных символов и их сочетаний. Вероятности появления отдельных букв в тексте сильно различаются. Для русского языка, например, буква "о" появляется в 45 раз чаще буквы "ф" и в 30 раз чаще буквы "э". Анализируя достаточно длинный текст, зашифрованный методом замены, можно по частотам появления символов произвести обратную замену и восстановить исходный текст.
В таблице 1. приведены относительные частоты появления русских букв.
Таблица 1.
Относительная частота появления пробела или знака препинания в русском языке составляет 0,174. Кроме того, порядок букв в словах и фразах естественного языка подчиняется определенным статистическим закономерностям. Частотный анализ также учитывает частоту появления различных буквосочетаний: например, пара стоящих рядом букв «ся» в русском языке более вероятна, чем «цы», а «оь» не встречается никогда. Для большинства естественных языков такая статистика документирована.
8.4.4Метод "встречи посередине"
Данный
метод
криптоанализа
основан на
"парадоксе дней рождения". Известно,
что если считать, что дни рождения
распределены равномерно, то в группе
из 23 человек с вероятностью 0,5 у двух
человек дни рождения совпадут. В общем
виде парадокс
дней рождения
формулируется
так: если
предметов
выбираются с возвращением из некоторой
совокупности размером
b,
то вероятность
того, что два
из них совпадут, равна
.
(в описанном частном случае
- количество
дней в году,
,
т.е.
).
Пусть
нам нужно найти
ключ
по известному
открытому тексту
и криптограмме
.
Если множество
ключей
криптоалгоритма
замкнуто относительно
композиции,
т.е. для любых
ключей
и
найдется
ключ
такой, что
результат
шифрования
любого текста
последовательно на
k’
и
k’’
равен результату
шифрования
этого же текста
на
,
т.е.
,
то можно воспользоваться этим свойством.
Поиск
ключа
сведем к поиску
эквивалентной ему пару
ключей
,
.
Для текста x
построим базу
данных, содержащую случайное множество
ключей
и соответствующих
криптограмм
,
и упорядочим ее по криптограммам
.
Объем базы
данных выбираем
,
где
-
мощность
множества
ключей
.
Затем подбираем случайным образом
ключи
для расшифровки
текстов y
и результат
расшифрования
сравниваем
с базой данных. Если текст
v
окажется равным
одной из криптограмм
w,
то ключ
эквивалентен
искомому ключу
.
Алгоритм является вероятностным. Существуют детерминированный аналог этого алгоритма "giant step - baby step" с такой же сложностью, предложенный американским математиком Д. Шенксом.
8.4.5Криптоанализ симметричных шифров
Наибольший прогресс в разработке методов раскрытия блочных шифров был достигнут в самом конце ХХ века и связан с появлением двух методов -разностного (дифференциального) криптоанализа и линейного криптоанализа.
Метод разностного анализа сочетает в себе обобщение идеи общей линейной структуры с применением вероятностно-статистических методов исследования. Этот метод относится к атакам по выбранному открытому тексту. Хотя Д. Копперсмит утверждает, что разностный криптоанализ был известен команде разработчиков DES алгоритма еще в начале 70-х годов, официальной датой появления этого метода считается 1990 г., а первенство в разработке признано за израильскими математиками Э. Бихамом и А. Шамиром. Разностный анализ основан на использовании неравновероятности в распределении значений разности двух шифртекстов, полученных из пары открытых текстов, имеющих некоторую фиксированную разность. Отметим, что разностный анализ применим и для взлома хеш-функций.
Подобно разностному анализу, линейный криптоанализ является комбинированным методом, сочетающим в себе поиск линейных статаналогов для уравнений шифрования, статистический анализ имеющихся открытых и шифрованных текстов, использующий также методы согласования и перебора. Этот метод исследует статистические линейные соотношения между отдельными координатами векторов открытого текста, соответствующего шифртекста и ключа, и использует эти соотношения для определения статистическими методами отдельных координат ключевого вектора.
На сегодняшний день метод линейного криптоанализа позволил получить наиболее сильные результаты по раскрытию ряда итерационных систем блочного шифрования, в том числе и системы DES. Метод линейного криптоанализа в неявном виде появился еще в работе С. Мёрфи в 1990 г., где он успешно применялся при анализе системы блочного шифрования FEAL. В 1992 г. М. Мацуи формализовал этот подход, а позже успешно применил его к анализу криптоалгоритма DES. В 2001 г. в США на смену DES и Triple DES пришел новые стандарт AES, действующий и по сей день.
