- •Министерство образования и науки Российской Федерации
- •В.И. Аверченков, м.Ю. Рытов, с.А. Шпичак
- •Брянск Издательство бгту
- •Isbn 978-5-89838-596-5
- •Редактор издательства т.И. Королева
- •Темплан 2011г., п. 57
- •1. Введение в криптографию 10
- •2. Стойкость криптографических систем 34
- •3. Принципы построения симметричных криптографических алгоритмов 61
- •4. Принципы построения асимметричных криптографических алгоритмов 98
- •5. Криптографические хэш-функции и электронно-цифровая подпись 133
- •6. Организация сетей засекреченной связи 160
- •7.Криптоанализ и перспективные направления в криптографии 183
- •Предисловие
- •1. Введение в криптографию
- •1.1. Краткая история развития криптографических методов.
- •1.2. Основные понятия криптографии
- •1.2.1. Термины и определения
- •1.2.2. Классификация шифров
- •1.2.3. Характер криптографической деятельности
- •Контрольные вопросы
- •2. Стойкость криптографических систем
- •2.1. Модели шифров и открытых текстов
- •2.1.1. Алгебраические модели шифров.
- •2.1.2. Вероятностные модели шифров.
- •2.1.3. Математические модели открытых сообщений.
- •2.2. Криптографическая стойкость шифров
- •2.2.1. Теоретико-информационный подход к оценке криптостойкости шифров
- •2.2.2. Практическая стойкость шифров.
- •2.3. Имитостойкость и помехоустойчивость шифров
- •2.3.1. Имитостойкость шифров. Имитация и подмена сообщения
- •2.3.2. Способы обеспечения имитостойкости
- •2.3.3. Помехостойкость шифров
- •2.3.4. Практические вопросы повышения надежности.
- •Контрольные вопросы
- •3. Принципы построения симметричных криптографических алгоритмов
- •3.1. Виды симметричных шифров. Особенности программной и аппаратной реализации.
- •3.2. Принципы построения блочных шифров
- •3.2.1. Базовые шифрующие преобразования
- •3.2.2. Сеть Файстеля
- •3.3. Современные блочные криптоалгоритмы
- •3.3.1. Основные параметры блочных криптоалгоритмов.
- •3.3.2. Алгоритм des
- •3.3.3. Блочный шифр tea
- •Var key:tLong2x2;
- •Var y,z,sum:longint; a:byte;
- •Inc(sum,Delta);
- •3.3.4. Международный алгоритм idea
- •3.3.5. Алгоритм aes (Rijndael)
- •InverseSubBytes(s);
- •InverseShiftRows(s);
- •InverseSubBytes(s) End;
- •3.4. Принципы построения поточных шифров
- •3.4.1. Синхронизация поточных шифрсистем
- •3.4.2. Структура поточных шифрсистем
- •3.4.3.Регистры сдвига с обратной связью
- •3.4.4. Алгоритм Берленкемпа-Месси
- •3.4.5. Усложнение линейных рекуррентных последовательностей
- •3.5. Современные поточные криптоалгоритмы
- •3.5.1. Алгоритм Гиффорда
- •3.5.2. Алгоритм a5
- •3.6. Режимы использования шифров
- •Контрольные вопросы
- •4. Принципы построения асимметричных криптографических алгоритмов
- •4.1. Математические основы асимметричной криптографии
- •4.1.1. Свойства операций
- •4.1.2. Функция Эйлера. Поле. Теоремы Эйлера - Лагранжа и Ферма
- •4.1.3. Конечные поля
- •4.1.4. Основные алгоритмы
- •Алгоритм разложения чисел на простые множители.
- •4.1.5. Алгоритмы нахождения нод и мультипликативного обратного по модулю
- •4.1.6. Китайская теорема об остатках
- •4.1.7. Символы Лежандра и Якоби. Извлечение корней
- •4.2. Примеры современных асимметричных шифров
- •4.2.1. Криптосистема rsa
- •4.2.2. Взаимосвязь компонентов rsa
- •Слабые моменты реализации rsa
- •4.2.3. Криптосистема Эль-Гамаля
- •4.2.4. Криптосистема Рабина
- •4.2.5. Рюкзачные криптосистемы
- •4.2.6. Шифрсистема Мак-Элиса
- •Контрольные вопросы
- •5. Криптографические хэш-функции и электронно-цифровая подпись
- •5.1. Криптографические хэш-функции
- •5.1.1. Блочно-итерационные и шаговые функции
- •5.1.2. Ключевые функции хэширования
- •5.1.3 Бесключевые функции хэширования
- •5.1.4. Схемы использования ключевых и бесключевых функций
- •5.2. Электронно-цифровая подпись
- •5.2.1. Задачи и особенности электронно-цифровой подписи
- •5.2.2. Асимметричные алгоритмы цифровой подписи на основе rsa
- •5.2.3. Алгоритм цифровой подписи Фиата – Фейге – Шамира
- •5.2.4. Алгоритм цифровой подписи Эль-Гамаля
- •5.2.5. Алгоритм цифровой подписи Шнорра
- •5.2.6. Алгоритм цифровой подписи Ниберга-Руппеля
- •5.2.7. Алгоритм цифровой подписи dsa
- •5.2.8. Симметричные (одноразовые) цифровые подписи
- •Контрольные вопросы
- •6. Организация сетей засекреченной связи
- •6.1. Протоколы распределения ключей
- •6.1.1. Передача ключей с использованием симметричного шифрования
- •6.1.2. Передача ключей с использованием асимметричного шифрования
- •6.1.3. Открытое распределение ключей
- •6.1.4. Предварительное распределение ключей
- •6.1.5. Схемы разделения секрета
- •6.1.6. Способы установления ключей для конференц-связи
- •6.2. Особенности использования вычислительной техники в криптографии
- •6.2.1. Методы применения шифрования данных в локальных вычислительных сетях
- •6.2.2. Обеспечение секретности данных при долгосрочном хранении.
- •6.2.4. Обеспечение секретности ключей при долгосрочном хранении
- •6.2.5. Защита от атак с использованием побочных каналов
- •7.1.2. Атаки на хэш-функции и коды аутентичности
- •7.1.3. Атаки на асимметричные криптосистемы
- •7.2. Перспективные направления в криптографии
- •7.2.1. Эллиптические кривые
- •7.2.2. Эллиптические кривые над конечными полями
- •7.2.3. Алгоритм цифровой подписи ec-dsa
- •7.2.4. Квантовая криптография
- •Контрольные вопросы
- •Приложение
- •Заключение
- •Список использованной и рекомендуемой литературы
- •Учебное издание
- •Аверченков Владимир Иванович Рытов Михаил Юрьевич Шпичак Сергей Александрович
2.2.2. Практическая стойкость шифров.
Раздел практической стойкости рассматривает атаки на шифры, не являющиеся совершенными.
Центровым понятием в практической стойкости по Шеннону является рабочая характеристика шифра, представляющая собой средний объем работы W(N), необходимый для определения ключа по криптограмме, состоящей из N букв, причем N>L0 (объем перехвата перевалил за расстояние единственности), измеренный в удобных элементарных операциях.
Ценность большинства данных со временем снижается, поэтому важно, чтобы рабочая характеристика шифра превышала по стоимости защищаемую информацию.
Сложность взлома алгоритмов классифицируется по категориям:
Полное вскрытие. Криптоаналитик находит ключ k, такой, что Dk(x)=y.
Глобальная дедукция. Криптоаналитик находит альтернативный алгоритм A, эквивалентный Dk(x) без знания k.
Случайная (или частичная) дедукция. Криптоаналитик находит (крадет) открытый текст для перехваченного шифрованного сообщения.
Информационная дедукция. Криптоаналитик добывает некоторую информацию о ключе или открытом тексте. Такой информацией могут быть несколько битов ключа, сведения о форме открытого текста и пр.
Алгоритм безусловно стоек, если восстановление невозможно при любом объеме шифртекста, полученного криптотаналитиком. На поверку безусловно стойки только одноразовые блокноты. Все остальные криптосистемы теоретически можно вскрыть методом грубой силы (прямой подбор ключа, лобовая атака).
Вычислительная стойкость по отношению к лобовой атаке зависит от длины ключа. Некоторые оценки стойкости см. в приложении.
Вопросами вычислительной стойкости по отношению к другим методам криптоанализа (вероятностный, линейный, дифференциальный и пр.) занимается теория сложности вычислений. Подробное ее рассмотрение выходит за рамки данного пособия.
Таблица 1. Оценки времени лобового вскрытия для симметричных шифров
Стоимость |
Длина ключа, бит. |
|||||
40 |
56 |
64 |
80 |
112 |
128 |
|
$100000 |
2 с |
35 ч |
1 год |
70000 лет |
1014 лет |
1019 лет |
$1 млн |
0.2 с |
3.5 ч |
37 дн |
7000 лет |
1013 лет |
1018 лет |
$10 млн |
0.02 с |
21 мин |
4 дн |
700 лет |
1012 лет |
1017 лет |
$100 млн |
2 мс |
2 мин |
9 ч |
70 лет |
1011 лет |
1016 лет |
$1 млрд |
0.2 мс |
13 с |
31 мин |
7 лет |
1010 лет |
1015 лет |
$10 млрд |
0.02 мс |
1 с |
5.4 мин |
245 дн |
109 лет |
1014 лет |
$100 млрд |
2 мкс |
0.1 с |
32 с |
24 дн |
108 лет |
1013 лет |
$1 трлн |
0.2 мкс |
0.01 с |
3 с |
2.4 дн |
107 лет |
1012 лет |
$10 трлн |
0.02 мкс |
1 мс |
0.3 с |
6 час |
106 лет |
1011 лет |
Таблица 2. Оценки среднего времени лобового вскрытия в "Китайской лотерее"
Страна |
Население |
Число телевизоров радиоприемников |
Время взлома |
|
56 бит |
64 бита |
|||
Китай |
1190431000 |
257000000 |
280 с |
20 ч |
США |
260714000 |
739000000 |
97 с |
6.9 ч |
Ирак |
19890000 |
4730000 |
4.2 ч |
44 дн |
Израиль |
5051000 |
3640000 |
5.5 ч |
58 дн |
Вайоминг |
470000 |
1330000 |
15 ч |
160 дн |
Невада |
6100 |
17300 |
48 дн |
34 г |
Термодинамические ограничения. Идеальный компьютер затрачивает на каждую установку и сброс бита 4.4·10-16 эрг энергии. Энергия излучаемая солнцем за год равна 1.21·1041 эрг. Этого достаточно, чтобы совершить 2.7·1056 премен бита, чего хватает для пробега 187-разрядным счетчиком всех значений.
Лобовое вскрытие 256 битового ключа невозможно пока компьютеры построены из обычной материи и работают в обычном пространстве.
Таблица 3. Длины симметричных и открытых ключей, равных по устойчивости к лобовому вскрытию
-
Длина симметричного ключа (бит)
Длина открытого ключа (бит)
56
384
64
512
80
768
112
1792
128
2304
Таблица 4. Расстояние единственности по симметричному ключу
Длина ключа (бит) |
Расстояние единственности (символов) |
40 |
5,9 |
56 |
8,2 |
64 |
9,4 |
80 |
11,8 |
128 |
18,8 |
256 |
37,6 |