- •Министерство образования и науки Российской Федерации
- •В.И. Аверченков, м.Ю. Рытов, с.А. Шпичак
- •Брянск Издательство бгту
- •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.1.2. Вероятностные модели шифров.
Введем теперь вероятностную модель шифра. Определим априорные распределения вероятностей P(X), P(K) на множествах X и K соответственно. Тем самым для любого x X определена вероятность pX(x)P(X) и для любого k K – вероятность pK(k) P(K), причем выполняются равенства
и .
В тех случаях, когда требуется знание распределений P(X) и P(K), мы будем пользоваться вероятностной моделью В, состоящей из пяти множеств, связанных условиями 1) и 2) предыдущего определения алгебраической модели шифра, и двух вероятностных распределений:
В=(X, K, Y, E, D, P(X), P(K)).
Распределение P(Y) индуцируется распределениями P(X) и P(K) согласно формуле полной вероятности:
В большинстве случаев множества X и Y представляют собой объединения декартовых степеней A и B соответственно, так что для некоторых натуральных L и L1
Множества A и B называют соответственно алфавитом открытого текста и алфавитом шифрованного текста. Другими словами, открытые и шифрованные тексты записываются привычным образом в виде последовательности букв.
Принята также формулировка вероятностной модели шифра в которой вместо включения в совокупность распределений случайных величин множества X, K Y, рассматриваются как случайные величины , полагая при этом случайные величины независимыми.
Определение: вероятностной моделью шифра назовем совокупность
,
введенных случайных величин, множество правил зашифрования и расшифрования. При этом выполняются требования, предъявляемые к алгебраической модели шифра. Для вероятностной модели шифра используется также обозначение .
Пусть - вероятностная модель опорного шифра. Введя априорные распределения вероятностей P(Ul) и P(Kl) на декартовых степенях множеств U и K, рассмотрим вероятностную модель l-го опорного шифра, рассматривая вместо Ul – множества всех l-грамм, множество U(l), состоящее из тех l-грамм, для которых выполняется условие , то есть всех незапрещенных l-грамм. Также вместо Vl будем рассматривать V(l), полагая, что выполняется равенство .
Введем вероятностную модель шифра с неограниченным ключом.
Определение: Пусть для l N
- совокупность, состоящая из случайных величин , множеств правил зашифрования и расшифрования , для которой выполняются условия
при любых . Тогда вероятностной моделью шифра с неограниченным ключом назовем семейство
,
где - случайный генератор ключевого потока.
Аналогично вводится вероятностная модель шифра с ограниченным ключом, только вместо множества Kl всех ключевых потоков длины l, рассмотрим множество K(l) возможных ключевых потоков длины l.
Определение: Пусть для l N
- совокупность, состоящая из случайных величин , множеств правил зашифрования и расшифрования , где распределение P(K(l)) определяется формулой и при любых
. Тогда вероятностной моделью шифра с ограниченным ключом назовем семейство
,
где - детерминированный генератор ключевого потока.
2.1.3. Математические модели открытых сообщений.
Применяются для математических исследований свойств шифров и для автоматизации криптоанализа. Учет частот m-грамм приводит к следующей модели открытого текста.
Открытое сообщение – последовательность знаков (слов) некоторого алфавита.
Различают естественные алфавиты (языки), и специальные алфавиты (цифровые, буквенно-цифровые).
Естественные алфавиты могут быть нормальными и смешанными (систематически перемешанные на основе правила и случайные). Смешанные используются в качестве нижней строки подстановки.
Примеры специальных алфавитов:
Код Бодо – 32-х значный 5-битовый алфавит для телетайпов и телексов. 26 английских букв, пробел, скобки, вопрос и плюс.
Двухбуквенный алфавит Ф. Бэкона – двоичный код из букв A и B.
Код ASCII – 256 символьный 8-битовый алфавит. Может быть в различных формах записи (десятичная, двоичная и пр.).
Частотные характеристики.
Наиболее важная характеристика – избыточность открытого текста (подробно рассматривается в разделе надежности шифров).
Более простые:
повторяемость букв, пар букв (биграмм), m-грамм;
сочетаемость букв друг с другом (гласные-согласные и пр).
Такие характеристики устанавливаются на основе эмпирического анализа текстов достаточно большой длины.
Эксперимент по оценке вероятности появления в тексте фиксированных m-грамм (для небольших m).
Подсчет чисел вхождений каждой из nm возможных биграмм в достаточно длинных открытых текстах T = t1t2…tl, составленных из букв алфавита {a1, a2,…,an}. При этом просматриваются подряд идущие m-граммы текста:
t1t2…tm, t2t3…tm+1, … , t1- m+1tl-m+2…tl.
Если - число появлений m-граммы в тексте T, а L – общее число подсчитанных m-грамм, то при достаточно больших L:
При анализе сочетаемости букв друг с другом используют понятие условной вероятности (зависимость появления буквы в тексте от предыдущих букв).
Для условных вероятностей выполняются неравенства:
А. А. Марковым отмечена устойчивая закономерность чередования гласных и согласных. Зависимость появления букв текста вслед за несколькими предыдущими ощутима на глубину в 30 знаков, после чего практически отсутствует.
Вероятностная модель m-го приближения.
Пусть P(m)(A) – массив, состоящий из приближений для вероятностей p(b1b2…bm) появления m-грамм b1b2…bm в открытом тексте, m N, A = {a1,…,an}- алфавит открытого текста, bi A, . Тогда источник "открытого текста" генерирует последовательность c1,c2,…,ck,ck+1,… знаков алфавита A, в которой m-грамма c1c2…ck появляется с вероятностью
p(c1c2…cm)P(m)(A).
Вероятностная модель первого приближения.
Последовательность знаков c1,c2,… в которой каждый знак ci, i = 1,2,…, появляется с вероятностью p(ci)P(1)(A), независимо от других знаков.
В такой модели открытый текст имеет вероятность
.
Вероятностная модель второго приближения.
Первый знак c1 имеет вероятность p(ci) P(1)(A), а каждый следующий знак ci , зависит от предыдущего и появляется с вероятностью
где p(ci-1сi) P(2)(A), p(ci-1) P(1)(A), i = 2,3,… Другими словами модель открытого текста второго приближения представляет собой простую однородную цепь Маркова. В такой модели открытый текст c1c2…cl имеет вероятность
С общих позиций открытый текст рассматривается как стационарный эргодический случайный процесс с дискретным временем и конечным числом состояний.
Критерии распознавания открытого текста.
Строятся на основе моделей открытого текста двумя методами:
на основе различения статистических гипотез;
на основе ограничений по запретным или ожидаемым сочетаниям букв (ЪЪ и прочие).
Первый подход:
Открытый текст – реализация независимых испытаний случайной величины, значениями которой являются буквы алфавита A = {a1,…,an}, появляющиеся в соответствии с распределением вероятностей P(A) = (p(a1),…, p(an)). Требуется определить, является ли случайная последовательность c1c2…cl букв алфавита A открытым текстом или нет.
Пусть H0 – гипотеза, состоящая в том, что данная последовательность – открытый текст, H1 – альтернативная гипотеза. В простейшем случае последовательность c1c2…cl можно рассматривать при гипотезе H1 как случайную и равновероятную либо реализация независимых испытаний некоторой случайной величины, значениями которой являются буквы алфавита A = {a1,…,an}, появляющиеся в соответствии с распределением вероятностей Q(A) = (q(a1),…, q(an)).
Наиболее мощный критерий различения двух простых гипотез – лемма Неймана-Пирсона. Также может использоваться и теорема Фробениуса.
Возможны ошибки двух родов:
ошибка первого рода (открытый текст принят за случайный набор знаков) ее вероятность ;
ошибка второго рода (случайный набор знаков принимается за открытый текст) ее вероятность .
Второй подход:
Критерий запретных m-грамм. Устроен просто. Отбирается некоторое число s редких m-грамм, которые объявляются запретными. Теперь последовательно просматривая все m-граммы анализируемой последовательности c1c2…cl , мы объявляем ее случайной как только в ней встретится одна из запретных k-грамм. Весьма эффективны несмотря на простоту.
Распознавание открытого текста производится также на основе особенностей нетекстовых сообщений (файловые метки и пр.).