- •Часть 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.
Матрица обратной перестановки p–1
|
40 |
8 |
48 |
16 |
56 |
24 |
64 |
32 |
|
39 |
7 |
47 |
15 |
55 |
23 |
63 |
31 |
|
38 |
6 |
46 |
14 |
54 |
22 |
62 |
30 |
|
37 |
5 |
45 |
13 |
53 |
21 |
61 |
29 |
|
36 |
4 |
44 |
12 |
52 |
20 |
60 |
28 |
|
35 |
3 |
43 |
11 |
51 |
19 |
59 |
27 |
|
34 |
2 |
42 |
10 |
50 |
18 |
58 |
26 |
|
33 |
1 |
41 |
9 |
49 |
17 |
57 |
25 |
Пример того, как соотносятся элементы первой строки матрицы P–1 с элементами матрицы P приведен в табл. 3.
Таблица 3
Связь элементов матриц
|
Элемент матрицы IP–1 |
Элемент матрицы IP |
|
40 8 48 16 56 ... |
01 02 03 04 05 ... |
Процесс расшифрования данных является инверсным по отношению к процессу шифрования. Все действия должны быть выполнены в обратном порядке. Это означает, что расшифровываемые данные сначала переставляются в соответствии с матрицей P–1, а затем над последовательностью битов R16L16 выполняются те же действия, что и в процессе шифрования, но в обратном порядке.
Итеративный процесс расшифрования может быть описан следующими формулами:
Ri–1
= Li,
i
{1,
2, ..., 16};
Li–1
= Ri
f (Li,
Ki),
i
{1,
2, ..., 16}.
Таким образом, для процесса расшифрования с переставленным входным блоком R16L16 на первой итерации используется ключ К16, на второй итерации – К15 и т.д. На 16-й итерации используется ключ К1. На последнем шаге итерации будут получены последовательности L0 и R0, которые конкатенируются в 64-битовую последовательность L0R0. Затем в этой последовательности 64 бита переставляются в соответствии с матрицей P. Результат такого преобразования – исходная последовательность битов (расшифрованное 64-битовое значение).
Теперь рассмотрим, что скрывается под преобразованием, обозначенным буквой f. Схема вычисления функции шифрования f (Ri–1,Ki) показана на рис. 3.

Рис. 3. Схема вычисления функции шифрования f
Для вычисления значения функции f используются:
функция Е (расширение 32 бит до 48);
функция S1, S2, ..., S8 (преобразование 6-битового числа в 4-битовое);
функция Р (перестановка битов в 32-битовой последовательности).
Приведем определения этих функций.
Аргументами функции шифрования f являются Ri–1 (32 бита) и Ki (48 бит). Результат функции Е (Ri–1) есть 48-битовое число. Функция расширения Е, выполняющая расширение 32 бит до 48 (принимает блок из 32 бит и порождает блок из 48 бит), определяется табл. 4.
В соответствии с табл. 4 первые три бита E (Ri–1) – это биты 32, 1 и 2, а последние – 31, 32, 1. Полученный результат (обозначим его E(Ri–1)) складывается по модулю 2 (операция XOR)
Таблица 4
Функция расширения e
|
32 |
1 |
2 |
3 |
4 |
5 |
|
4 |
5 |
6 |
7 |
8 |
9 |
|
8 |
9 |
10 |
11 |
12 |
13 |
|
12 |
13 |
14 |
15 |
16 |
17 |
|
16 |
17 |
18 |
19 |
20 |
21 |
|
20 |
21 |
22 |
23 |
24 |
25 |
|
24 |
25 |
26 |
27 |
28 |
29 |
|
28 |
29 |
30 |
31 |
32 |
1 |
с текущим значением ключа Кi и затем разбивается на восемь 6-битовых блоков В1, В2, ..., В8:
Е (Ri–1) Кi = В1 В2 ... В8.
Далее каждый из этих блоков используется как номер элемента в функциях-матрицах S1, S2, ..., S8, содержащих 4-битовые значения (табл. 5).
Следует отметить, что выбор элемента в матрице Sj осуществляется достаточно оригинальным образом. Пусть на вxод матрицы Sj поступает 6-битовый блок Bj = b1 b2 b3 b4 b5 b6, тогда двухбитовое число b1 b6 указывает номер строки матрицы, а четырехбитовое число b2 b3 b4 b5 – номер столбца. Например, если на вход матрицы S1 поступает 6-битовый блок В1= b1 b2 b3 b4 b5 b6 = 100110, то 2-битовое число b1 b6 = 10(2) = 2(10) указывает строку с номером 2 матрицы S1, а 4-битовое число b2 b3 b4 b5=0011(2)=3(10) указывает столбец с номером 3 матрицы S1. Это означает, что в матрице S1 блок В1 = 100110 выбирает элемент на пересечении строки с номером 2 и столбца с номером 3, т.е. элемент 8(10) =1000(2). Совокупность 6-битовых блоков В1, В2,..., В8 обеспечивает выбор четырехбитового элемента в каждой из матриц S1, S2, ..., S8.
В результате получаем S1(В1) S2(В2) S3(В3) ... S8(В8), т.е. 32-битовый блок (поскольку матрицы Sj содержат 4-битовые элементы). Этот 32-битовый блок преобразуется с помощью функции перестановки битов Р (табл.6).
Таким образом, функция шифрования
f (Ri–1, Ki) = P(S1(B1), ..., S8(B8)).
Как нетрудно заметить, на каждой итерации используется новое значение ключа Кi (длиной 48 бит). Новое значение ключа Кi вычисляется из начального ключа К (рис. 4). Ключ К представляет собой 64-битовый блок с 8 битами контроля по четности, расположенными в позициях 8, 16, 24, 32, 40, 48, 56, 64. Для удаления контрольных битов и подготовки ключа к работе используется функция G первоначальной подготовки ключа (табл. 7).
Таблица.5
