- •Часть 1. Основы криптографии
- •Глава 1.
- •1.2. Примеры моделей шифров
- •Ту же подстановку относительно своих контактов
- •1.3. Свойства шифров
- •1.4. Вероятностная модель шифра
- •1.5. Совершенные шифры
- •1.6. Способы представления реализаций шифров
- •1.7. Основные понятия теории автоматов
- •Глава 2.
- •2.1. Блочный шифр des
- •Матрица начальной перестановки p
- •Матрица обратной перестановки p–1
- •Связь элементов матриц
- •Функция расширения e
- •Функции преобразования s1, s2, ..., s8
- •Функция h завершающей обработки ключа.
- •2.2. Основные режимы работы алгоритма des
- •2.3. Области применения алгоритма des
- •2.4. Алгоритм шифрования данных idea
- •Подключи шифрования и расшифрования алгоритма idea
- •2.5. Отечественный стандарт шифрования данных
- •Режим простой замены. Для реализации алгоритма шифрования данных в режиме простой замены используется только часть блоков общей криптосистемы (рис.3.11). Обозначения на схеме:
- •32, 31, ... 2, 1 Номер разряда n1
- •32, 31, ... 2, 1 Номер разряда n2
- •32, 31, ..., 2, 1 Номер разряда n1
- •32, 31, ..., 2, 1 Номер разряда n2
- •32, 31, ..., 2, 1 Номер разряда n1
- •32, 31, ..., 2, 1 Номер разряда n2
- •32, 31, ..., 2, 1 Номер разряда n1
- •64, 63, ..., 34, 33 Номер разряда n2
- •32, 31, ..., 2, 1 Номер разряда n1
- •32, 31, ..., 2, 1 Номер разряда n2
- •Глава 3.
- •Узел выработки Канал
- •3.1. Шифры гаммирования
- •3.2. Поточный шифр гаммирования rc4
- •Глава 4.
- •Классическая модель криптографической системы (модель Шеннона)
- •4.1. Модель системы связи с открытым ключом
- •Модель системы с открытым ключом
- •4.2. Принципы построения криптосистем с открытым ключом
- •4.3. Схема цифровой подписи с использованием однонаправленной функции
- •4.4. Открытое распределение ключей Диффи-Хеллмана
- •Глава 5.
- •Классическая модель криптографической системы.
- •Глава 6.
- •6.1. Дешифрование шифра перестановки
- •6.2. Дешифрование шифра гаммирования при некачественной гамме
- •6.3. О дешифровании фототелеграфных изображений
- •6.4. Дешифрование шифра гаммирования при перекрытиях
- •Глава 7.
- •7.1. Задача определения периода гаммы в шифре гаммирования по заданному шифртексту
- •7.2. Возможности переноса изложенных результатов на шифры поточной замены (пз)
- •Где принадлежит множеству к подстановок на I (p-1(j) – вероятность j-той буквы, для ее расчета исходя из набора (p1,p2,…,p|I|) необходимо найти --1(j) – образ буквы j при подстановке --1).
- •Глава 8.
- •Глава 9.
- •9.1. Вероятностные источники сообщений.
- •9.2. О числе осмысленных текстов получаемых в стационарном источнике независимых символов алфавита
- •9.3. Критерии на осмысленные сообщения Важнейшей задачей криптографии является задача распознавания открытых текстов. Имеется некоторая последовательность знаков, записанная в алфавите I:
- •9.4. Частотные характеристики осмысленных сообщений Ниже используется следующий алфавит русского текста
- •Глава 10.
- •1) Для любой al(al)
- •Глава 11.
- •Глава 12.
- •Глава 13.
- •13.1. Расстояния единственности для открытого текста и ключа
- •13.2. Расстояние единственности шифра гаммирования с неравновероятной гаммой
- •Глава 14.
- •Глава 15.
4.1. Модель системы связи с открытым ключом
Считается, что криптография с открытым ключом родилась в 1976 году, когда была опубликована статья американских математиков У. Диффи и М.Э. Хеллмана «Новые направления в криптографии». Эта публикация не только положила начало новому направлению науки о шифрах, но и послужила импульсом к развитию новых направлений математики. Авторами данной работы и независимо от них Р. Мерклем было показано, что из классической модели шифра можно исключить секретный канал распространения ключей, и при этом все-таки обеспечить защиту при передаче сообщений без каких-либо предварительных мероприятий.


Модель системы с открытым ключом
В своей основополагающей работе Диффи и Хеллман ввели в рассмотрение понятие однонаправленной функции с лазейкой (или с секретом), ставшее центральным в криптографии с открытым ключом. Оно является обобщением известного до 1976 года понятия однонаправленной функции.
ОПРЕДЕЛЕНИЕ 1. Функция F: X Y называется однонаправленной функцией (ОФ), если она обладает двумя свойствами:
для каждого xX легко посчитать значение F(x) = y (легко вычислима);
почти для всех yY сложно найти решение xX уравнения F(x) = y.
Второй пункт определения 1 означает, что почти для всех yY функцию трудно инвертировать. Мы говорим «почти для всех» имея в виду, что существует небольшое по мощности множество у-ов, для которых несложно найти их прообразы при отображении F.
В качестве первого примера однонаправленной функции рассмотрим целочисленное умножение. Прямая задача – вычисление произведения двух очень больших целых чисел P и Q, т.е. нахождение значения
N = P∙Q,
является относительно несложной задачей.
Обратная задача – разложение на множители большого целого числа, т.е. нахождение делителей P и Q большого целого числа N = P∙Q, является практически неразрешимой задачей при достаточно больших значениях N. По современным оценкам теории чисел при целом N2664 и PQ для разложения числа N потребуется около 1023 операций, т.е. задача практически неразрешима на современных компьютеров.
Следующий характерный пример однонаправленной функции – это модульная экспонента с фиксированными основанием и модулем. Пусть а и N – целые числа, такие, что 1 а < N. Определим множество Z/N:
Z/N = {0, 1, 2,...,N –1}.
Тогда модульная экспонента с основанием а по модулю N представляет собой функцию
fA,N : Z/N Z/N,
fA,N (x) = аx (mod N),
где х – целое число, 1 x N –1.
Существуют эффективные алгоритмы, позволяющие достаточно быстро вычислить значения функции fа,N (x).
Если y = аx, то естественно записать x = logа (у).
Поэтому задачу обращения функции fA,N(x),то есть определения x из уравнения y = аx mod N, называют задачей дискретного логарифмирования.
Алгоритм вычисления дискретного логарифма за приемлемое время пока не найден. Поэтому модульная экспонента считается однонаправленной функцией.
По современным оценкам теории чисел при целых числах а 2664 и N 2664 решение задачи дискретного логарифмирования (нахождение показателя степени x для известного y) потребует около 1026 операций, т.е. эта задача имеет в 103 раз большую вычислительную сложность, чем задача разложения на множители. При увеличении длины чисел разница в оценках сложности задач возрастает.
Следует отметить, что пока не удалось доказать, что не существует эффективного алгоритма вычисления дискретного логарифма за приемлемое время. Исходя из этого, модульная экспонента отнесена к однонаправленным функциям условно, что, однако, не мешает с успехом применять ее на практике.
ОПРЕДЕЛЕНИЕ 2. Функция F: X Y, зависящая от параметра К, называется однонаправленной функцией с лазейкой, если она обладает тремя свойствами:
при любом функция F легко вычислима;
почти для всех yY сложно найти такие xX и К что F(x) = y;
при известных и y легко решить уравнение F(x) = y относительно неизвестного x (функцию F легко инвертировать)
Определения 1 и 2 являются математически нестрогими. Математические формализации понятий сложности и простоты алгоритмов можно найти в книгах по сложности алгоритмов.
В настоящее время не построено ни одной функции, для которой было бы доказано, что она является однонаправленной или однонаправленной функцией с лазейкой. Более того, не доказано даже их существование. Для практических целей криптографии построено несколько функций, которые могут оказаться ОФЛ. Для них пока строго не доказано второе свойство – отсутствие полиномиального алгоритма их инвертирования, но считается, что эта задача эквивалентна некоторой давно изучаемой трудной математической проблеме. Одним из самых известных и широко используемых «кандидатов» в однонаправленные функции с лазейкой является функция шифрования RSA. Наиболее распространенным «кандидатом» в однонаправленные можно считать функцию возведения в степень в мультипликативной группе простого поля, предложенную Диффи и Хеллманом для организации открытого распределения ключей.
Кроме возможности передачи секретной информации с использованием только открытых каналов связи, решающей проблему распределения ключей, применение однонаправленных функций с лазейкой позволяет решить проблему цифровой подписи, а также позволяет включить в задачу вскрытия шифра трудную математическую задачу и тем самым повысить обоснованность стойкости шифра.
Для решения проблемы распространения ключей было предложено два основных подхода.
Первый – это открытое распределение ключей, с помощью которого отправитель и получатель могут договориться о ключе, используемом в обычной криптографической системе. При этом пассивный перехватчик, прослушивающий все переговоры, не будет в состоянии этот ключ определить.
Второй подход реализует криптографические системы с открытыми ключами, в которых для зашифрования и расшифрования используются разные ключи.
Рассмотрим сначала второй подход. Причина, по которой ключи в обычных криптографических системах должны тщательно защищаться, состоит в том, что функции зашифрования и расшифрования в них неразделимы. Любое лицо, имеющее ключ, использованный для зашифрования какого-либо сообщения, может это сообщение расшифровать. В криптосистемах с открытым ключом процессы зашифрования и расшифрования разделены и зависят от различных ключей, причем по алгоритму зашифрования (определяемому ключом зашифрования), практически невозможно восстановить алгоритм расшифрования. Это означает, что для восстановления алгоритма необходимо провести такой объем вычислений, который можно считать практически неосуществимым. Поэтому стойкость таких систем не зависит от того, знает противник ключ зашифрования или нет. Этот ключ не нужно держать в секрете, его можно публиковать и передавать по незащищенному каналу связи. Отсюда название криптографических систем такого вида – «криптосистемы с открытым ключом».
