Высокая стойкость шифров может быть реализована при строгом соблюдении основных правил криптозащиты:
1. Сохранение в тайне ключей.
2. Исключение дублирования.
Повторное шифрование одного и того же отрывка текста с использованием тех же ключей (например, если произошел сбой при первом шифровании). Нарушение этого правила резко снижает надежность шифрования, так как исходный вариант может быть восстановлен с помощью статистического анализа двух вариантов зашифрованного текста.
3. Достаточно частая смена ключей
Важнейшим правилом криптозащиты является достаточно частая смена ключей. Причем частота может определятся исходя из длительности используемого ключа, или из объема зашифрованного текста. При этом смена ключей по временному графику является защитной мерой против их хищения. Смена после шифрования определенного объема текста от раскрытия шифра статистическими методами.
Нельзя допускать злоумышленнику возможности направить в систему ряд специально подобранных сообщений и получить их в зашифрованном виде. Такого взлома не выдержит ни одна криптосистема. Важными аспектами организации криптозащиты является выбор способа закрытия, распределения и хранения ключей, а также доставка к месту использования (механизм распределения ключей).
Выбор способа защиты тесно связан с трудоемкостью метода шифрования, степенью секретности закрываемых данных, стойкостью метода и объемом шифруемой информации.
Основными правилами механизма распределений ключей являются:
1. Ключи должны выбираться случайно.
2. Выбранные ключи должны распределяться таким образом, чтобы не было закономерности в изменении ключей от пользователя к пользователю.
3. Должна быть обеспечена тайна ключей на всех этапах функционирования системы. Ключи должны передаваться по линиям связи, почте или курьерами в зашифрованном виде с помощью другого ключа. На практике часто образуется иерархия ключей шифрования. Ключи нижнего уровня при пересылке шифруются ключами верхнего уровня. Ключ в вершине иерархии не шифруется, а задается и хранится у доверенного лица. Рассылается пользователям курьерами. Чем ниже уровень ключа, тем чаще он меняется и рассылается по линиям связи.
Лекция 5
К настоящему времени DES является наиболее распространенным алгоритмом в системе защиты коммерческой информации. Реализация алгоритма DES в таких системах считается признаком хорошего тона.
Основные преимущества DES:
1. Используется один ключ длиной 56 бит
2. Зашифровав сообщение с помощью одного пакета, для расшифровки можно использовать другой
3. Относительная простота алгоритма обеспечивает высокую скорость обработки информации.
4. Достаточно высокая стойкость алгоритма
DES осуществляет шифрование 64-битных блоков данных с помощью 56-битного ключа. Расшифровка DES является операцией, обратной шифрованию. И выполняется путем повторения операций шифрования в обратной последовательности.
DES – симметричная криптосистема.
Процесс шифрования заключается в начальной перестановке битов 64-битового блока, 16-и цифр шифрования и обратной перестановке битов.
R1 = L(0) XOR f(R(0), K(1))
КП IP-1
Результат
К(15)
L(1)
R(1)
L(0)
R(0)
XOR
f
Т
НП IP
K(1)_
L(15)
R(15)
XOR
f
L(16)
R(16)
Шифруемый текст
Начальная перестановка
T(0)=IP(T)
R(16)L(16)
Из файла считывается очередной 8-байтный блок Т, который преобразуется с помощью матрицы начальной перестановки IP.
58 50 42 34 26 18 10 02 IP
60 52 44 36 28 20 12 04
62 54 46 38 30 22 14 04
64 56 48 40 32 24 16 08
57 49 41 33 25 17 09 05
59 51 43 35 27 19 11 03
61 53 45 37 29 21 13 05
63 55 47 30 31 23 15 07
40 08 48 16 56 24 64 32 IP-1
39 07 47 15 55 23 63 31
38 06 46 14 54 22 62 30
37 05 45 13 53 21 61 29
36 04 44 12 52 20 60 28
35 03 43 11 51 19 59 27
34 02 42 10 50 18 58 26
33 01 41 09 49 17 57 25
Бит 58 блока Т становится первым, бит 50 – вторым и т д. Полученная последовательность битов Т(0) разделяется на две последовательности по 32 бита каждая. L(0) – левые (старшие) биты
R(0) – правые (старшие) биты
Далее осуществляется шифрование, состоящее из 16 итераций. Результат i той итерации описывается выражением:
L(i) = R(i-1)
R(i) = L(i-1) XOR f (R(i-1), K(i))
Функция f – называется функцией шифрования. Ее аргументы – 32-битовая последовательность R(i-1), полученная на i-1 итерации и 48 –битовый ключ К(i), который является преобразованием 64-битового ключа К.
На 16-ой итерации R(16) и L(16) без перестановки конкатенируют в 64-битовую последовательность R(16)L(16). Затем позиции битов этой последовательности переставляют в соответствии с матрицей IP-1 (матрица конечной перестановки).
Матрицы IP, IP-1 соотносятся следующим образом:
Значение первого элемента матрицы IP-1 = 40, а значение 40го элемента матрицы IP = 1. 2ой элемент равен 8, 8ой элемент = 2.
Процесс расшифровывания данных является инверсным к процессу шифрования. Все действия должны быть выполнены в обратном порядке. То есть расшифровываемые данные сначала переставляются в соответствии с матрицей IP-1, а затем над последовательностью бит R(16)L(16) выполняются те же действия, что и в процессе шифрования, но в обратном порядке. Интерактивный процесс дешифрования описывается следующими формулами:
R(i-1) = L(1)
L(i-1) = R(i) XOR f(L(i), K(i))
На 16-ой итерации получаем L(0) и R(0), которые конкатенируют в 64-битовую последовательность R(0)L(0) и затем данную последовательность переставляют с помощью матрицы IP и получают исходный результат.
Рассмотрим блок f :
S1
S2
S3
S4
S5
S6
S7
S8
Расш. Е
XOR
R(i-1)
E(R(i-1))
K(i) 48
Перестановка P
f(R(i-1)K(i))
Для вычисления функции f используются следующие функции матрицы:
E – расширение 32 битовой последовательности до 48 битовой
S1..S8 – преобразование 6-битового блока в 4битовый
Р – перестановка бит в 32 битовой последовательности
Матрица расширения Е
32 01 02 03 04 05
04 05 06 07 08 09
08 09 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 01
Результирующую 48-битовую последовательность складываем по модулю 2 с 48 битовым ключом К(i) и получается 48 битовая последовательность, которую разбиваем на 8 6-битных блоков S(1)..S(8).
E(R(i-1) XOR K(i)) = S(1) S(2)… S(8)
Лекция 6
На вход S i-го блока поступает 6-битный блок B(i)=b1b2b3b4b5b6
Результатом Si(Bi)будет 4-хбитовый элемент, расположенный на пересечении строки и столбца.