- •Часть 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.3. Схема цифровой подписи с использованием однонаправленной функции
Диффи и Хеллман предложили следующий принцип построения схемы цифровой подписи. Пользователь A выбирает однонаправленную функцию с секретом F: YX, алгоритм вычисления значений F публикует, оставляет в секрете. Для того чтобы подписать сообщение xX, он находит такое yY, что F(y) = x, и посылает его вместе с x. Получив пару (x,y), пользователь B проверяет равенство F(y)=x. Выполнение этого равенства означает, что источником сообщения x является пользователь A, владеющий секретом .
Криптографические системы с открытым ключом обеспечивают решение проблемы цифровой подписи, если они удовлетворяют следующему условию: X=Y и для каждого K отображение E обратно к D, то есть для любых K, xX E(D(x)) = x.
Пусть пользователь A хочет послать подписанное несекретное сообщение пользователю B. Для этого A строит ключ =(1,2) и посылает 1 пользователю B. Сообщение x пользователь A шифрует с помощью своего личного ключа 2, получая, таким образом, подпись y=D2(x), и посылает ее B. Раньше, когда при передаче информации требовалась только секретность, с помощью алгоритма D2 владелец ключа расшифровывал получаемые им сообщения, теперь же он использует этот алгоритм для зашифрования или подписи. Используя алгоритм E1, пользователь B может вычислить x из полученного y и убедиться таким образом, что отправителем сообщения x является A. Подпись y он сохраняет как доказательство того, что пользователь A прислал ему сообщение x. Если позднее A откажется от факта посылки этого сообщения, то B может предъявить суду подпись y. Суд возьмет открытый ключ 1 пользователя A и установит, что E1(y) является осмысленным сообщением. Так как только A знает секретный ключ 2, то только он может быть источником этого сообщения, поэтому A неизбежно придется отвечать за посылку сообщения x.
4.4. Открытое распределение ключей Диффи-Хеллмана
Под открытым распределением ключей понимают последовательность действий двух или более пользователей, в результате выполнения которой им становится доступна некоторая общая секретная информация (ключ). При этом любой другой пользователь, следящий за передаваемыми по каналу связи сообщениями, эту секретную информацию определить не в состоянии. В работе [DH. W.Diffie, M.E. Hellman. New directions in cryptography, IEEE Transactions on Information Theory, v.IT-22, N.6, November,1976, pp.644-654] был предложен так называемый экспоненциальный ключевой обмен, который в настоящее время называется схемой открытого распределения ключей Диффи-Хеллмана. Данная схема основана на использовании функции возведения в степень в мультипликативной группе простого поля: , гдеp – простое число, – примитивный элемент поля GF(p), 1xp-1. Эта функция является кандидатом в однонаправленные. Действительно, она легко вычислима, так как, используя метод квадратов, значения этой функции можно вычислять с полиномиальной сложностью, оцениваемой величиной O((log p)3), в то время как обратная задача – задача инвертирования функции – является сложной. Для инвертирования функции f(x) необходимо уметь решать уравнение , то есть уметь решать задачу дискретного логарифмирования в мультипликативной группе простого поля. В настоящее время не известно достаточно эффективных (полиномиальных относительноlogp) алгоритмов дискретного логарифмирования в мультипликативной группе GF(p)* поля. Этот факт и лежит в основе стойкости данной схемы открытого распределения ключей. Опишем ее.
Пусть два пользователя A и B хотят выработать общий ключ. Для этого они заранее определяют элементы p и , которые считаются общедоступными. Оба пользователя случайно выбирают по одному натуральному числу xA и xB: 1xA, xBp-1 и оставляют их в секрете. После этого выполняется следующая последовательность шагов.
1) A вычисляет элемент yA =и посылает егоB;
2) B вычисляет элемент yB =и посылает егоA;
3) A вычисляет элемент ;
4) B вычисляет элемент .
Таким образом, A и B получают общий элемент поля GF(p), равный , который и объявляется их общим ключом. Пассивный криптоаналитик получает в свое распоряжение величиныp, , ,и хочет определить. Эта задача называется проблемой Диффи-Хеллмана. В настоящее время не найдено более эффективного решения этой проблемы, чем дискретное логарифмирование.