- •Часть 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.
1.6. Способы представления реализаций шифров
В современном мире, говоря о реализациях шифров, обычно употребляют термины: шифратор, шифрсистема, алгоритм шифрования, программа шифрования. Последние два понятия общеизвестны и не требуют объяснений. Первый термин употребляется для указания собственно устройства, реализующего процесс шифрования и расшифрования заданного шифра. Термин же шифрсистема используется в более широком смысле, как обозначение всего устройства, включающего в себя и устройства, предназначенные для предварительной обработки шифруемых «текстов», так и ряд других вспомогательных устройств ввода и вывода информации. Термины же криптосхема, шифрующий автомат являются специфическими и малоизвестными.
Криптосхема. Для записи законов функционирования шифратора используют схемное описание, состоящее из прямоугольников с надписями узлов и блоков шифратора. При заданном их математическом описании функционирования, описание функционирования шифратора задается указанием связей между отдельными блоками и узлами. Совокупность блоков с заданными связями и описанием функционирования каждого блока обычно и называют криптосхемой шифратора. В таких описаниях преследуют цель указать принцип функционирования шифратора и обычно не указывают конкретные, численные значения всех параметров узлов и блоков.

В таком виде может быть представлена принципиальная криптосхема поточного шифратора.
Управляющий блок предназначен для выработки управляющей последовательности шифрующим блоком. Шифрующий блок предназначен для зашифрования открытого текста с помощью управляющей последовательности.
Ключом такой криптосхемы, например, может являться заполнение памятей узлов и блоков, составляющих управляющий блок, а в ряде случаев, и закон их функционирования.
Для описания функционирования дискретных устройств, реализующих процесс шифрования или реализующих отдельные блоки шифратора, зачастую применяют язык теории автоматов.
1.7. Основные понятия теории автоматов
ОПРЕДЕЛЕНИЕ. Три конечных множества X,S,Y и два семейства отображений (hx)xX, (fx)xX, hx:SS, fx: SY, xX называют конечным автоматом (конечным автоматом Мили) и обозначают через А=(X,S,Y,(hx)xX,(fx)xX).
Полагают, что автомат моделирует работу многих дискретных устройств, при этом множество X называют входным алфавитом автомата, S – множеством состояний, Y – выходным алфавитом автомата функции (hx)xX, (fx)xX называют, соответственно, частичными функциями переходов и выходов автомата. Автомат А функционирует в дискретном времени t{1,2,…}. При входной последовательности P=x1,x2,…, xjX и начальном состоянии s=s1S автомат вырабатывает последовательность состояний АМ(s,P)=s1,s2,… (последовательно находится в состояниях s1,s2,…) и выходную последовательность А(s,P)=у1,у2,…. Правила получения этих последовательностей таковы:
s2=hx1s1 – образ s1 при отображении hx1, sj+1=hxjsj, j{1,2,…},
у1=fx1s1 – образ s1 при отображении fx1, уj=fxjsj, j{1,2,…}.
В случае fx=fx` для любых x,x`X автомат А называют автоматом Мура.
Автономным конечным автоматом называют двойку конечных множеств S, Y и два отображения: h:SS и :SY и обозначают через А=(S,Y,h,). В ряде случаев используют и другое определение: Автомат А=(X,S,Y, (hx)xX, (fx)xX) называют автономным в случае, когда |X|=1.
Для автомата определяют его граф переходов: совокупность точек на плоскости, обозначенные состояниями автомата, некоторые из которых соединены ориентированными ребрами (стрелками ). На ребре, соединяющим состояние s с состоянием s`, ставятся две пометки: x/у, где x и у определены из соотношений hxs=s`, fxs=у. Переход из состояния в состояние по стрелкам называется путем в графе переходов автомата. Путь определяет последовательность состояний АМ(s,P) и выходную последовательность А(s,P), отвечающую входной последовательности P автомата A и его начальному состоянию s1=sS.
Отметим, что задание семейства отображений (hx)xX, ((fx)xX)) равносильно заданию отображения h: XSS, h(x,s)=hx(s) (аналогично, f: XSY, f(x,s)=fx(s)). В связи с чем, чаще автомат А определяют тремя множествами X,S,Y и двумя отображениями h, f: А=(X,S,Y, h, f).
Обозначим через X* множество всех слов конечной длины в алфавите X. Автомат А с начальным состоянием s задает отображение А,s X*Y*, именно, для PX*
А,s(P)=A(s,P).
Такие отображения называются конечно-автоматными или просто автоматными.
При фиксированных множествах X, S, Y автомат задается отображениями h, f. При моделировании функционирования шифратора, или его криптосхемы конечным автоматом начальные состояния автомата моделируют так называемые части ключа, иногда и весь ключ, заключенный в памяти криптосхемы, часть же ключа «логики криптосхемы», иногда и весь ключ, моделируется выбором функций переходов h, f автомата. При этом полагают, что входными последовательностями автомата являются открытые тексты, подлежащие шифрованию, а выходные последовательности автомата трактуются как шифрованные тексты, соответствующие открытым текстам и ключам. При моделировании блочных шифров открытыми текстами являются начальные состояния автомата, ключами (раундовыми ключами) являются элементы алфавита X. Шифрованным текстом, который соответствует открытому тексту и последовательности P раундовых ключей, является заключительное состояние автомата, соответствующее начальному состоянию и входной последовательности P. Более полное представление об автоматах читатель может составить ознакомившись с материалами 2 тома пособия.
Шифрующий автомат. Понятие шифрующего автомата трактуется неоднозначно.
Первое определение состоит в том, что шифрующий автомат есть множество автоматов А(r), rR c начальными состояниями s(r)S(r). Такое определение равносильно тому, что под шифрующим автоматом понимают некоторое множество автоматных отображений множества открытых текстов в шифрованные.
Второе определение шифрующего автомата состоит в том, что автомат А=(X,S,Y,(hx)xX,(fx)xX) является шифрующим автоматом, если его автоматные отображения А,s X*Y* , sS являются инъективными отображениями. Такое определение согласуется с определением шифра (Х,К,У,f) в том смысле, что в качестве отображений f берутся автоматные инъективные отображения.
Для большей общности, иногда второе определение обобщают. Именно, рассматривают автоматы, у которых X=Г@, где Г – алфавит внешней части ключа, часть ключа: =1,2,…L, jГ; @ – алфавит открытого текста. При фиксированых частях ключа ГL и sS требуют инъективность отображения @L в YL, то есть при входных различных последовательностях вида P=(a1,1),(a2,2),…(aL,L) и P`= (a`1,1), (a`2,2),…(a`L,L) требуют, чтобы А(s,P)А(s,P`) при любом натуральном L.
Выясним условия, при которых автомат А=(X,S,Y,h,f) является шифрующим автоматом, то есть автоматные отображения А,s X*Y* , sS являются инъективными отображениями. Для отображения f: XSY обозначим через fs отображение X в Y: fs(x)=f(x,s). Через Ss обозначим множество состояний автомата А, содержащее s и все состояния s`S, достижимые из s в графе переходов автомата А, то есть для которых есть пути из s в s`. На множестве Ss определен подавтомат Аs=(X,Ss,Y,h,f) автомата А (здесь ограничения отображений h, f обозначены теми же буквами). С использованием введенных определений несложно доказывается.
УТВЕРЖДЕНИЕ. Автоматное отображение А,s X*Y*, sS является инъективным тогда и только тогда, если при каждом состоянии s` из Ss отображение fs` инъективно.
В третьем определении под шифрующим автоматом понимают автомат, моделирующий устройство шифрования, либо некоторого его блока. В таком понимании устройство шифрования моделируют автоматом А=(X,S,Y,(hx)xX,(fx)xX), у которого отображения (hx)xX S в S являются биекциями S в S. Такие автоматы обычно называют перестановочными. Часто гаммообразующее устройство шифратора называют шифрующим автоматом.
Эквивалентность ключей шифрующего автомата.
ОПРЕДЕЛЕНИЕ. Состояния s,s` автомата А называются неотличимыми, если
А(s,P)=A(s`,P)
при любом входном слове PI*.
Автомат А называется приведенным, если он не имеет различных неотличимых состояний.
Ключи s,s` шифрующего автомата А называются эквивалентными, если s,s` – неотличимые состояния автомата А.
