Шифрование комбинированными методами основывается на результатах, полученных К.Шенноном. Наиболее часто применяются такие комбинации, как подстановка и гамма, перестановка и гамма , подстановка и перестановка, гамма и гамма.
В качестве примера рассмотрим шифр, предложенный Д.Френдбергом, который комбинирует многоалфавитную подстановку с генератором псевдослучайных чисел, суть алгоритма поясняется схемой, подставленной на рис.5.
Особенность данного алгоритма состоит в том, что при большом объеме шифртекста частотные характеристики символов шифртекста близки к равномерному распределению независимо от содержания открытого текста.
Пример 1. Открытый текст: "АБРАКАДАБРА".
Используем одноалфавитную замену согласно таблице 8.
Таблица 8
А Б Д К Р
X V N R S
Последовательность чисел, вырабатываемая датчиком:
31412543125.
1. у1=Х. После перестановки символов исходного алфавита получаем таблицу 9 (h1=3).
Таблица 9
Д Б А К Р
X V N R S
2. у2=V. Таблица 9 после перестановки (h2=1) принимает вид, представленный в таблице 10.
Таблица 10
Б Д А К Р
X V N R S
Осуществляя дальнейшие преобразования в соответствии с алгоритмом Френдберга, получаем шифртекст: "XVSNSXXSSSN".
Одной из разновидностей метода гаммирования является наиболее
часто применяемый метод многократного наложения гамм. Необходимо
отметить, что если уi=Гk(Гl(xi)), то
Пример 2. Открытый текст: "ШИФРЫ"(25 09 21 17 28");
Г1="ГАММА" ("04 01 13 13 01");
Г2="ТЕКСТ" ("19 06 11 18 19"), согласно таблице 1.
Используемая операция: сложение по mod 2.
1. Y1i=xi ++ h1i
11001 01001 10101 10001 11100
++
00100 00001 01101 01101 00001
=
11101 01000 11000 11100 11101.
2. У2i=y1i++ h2i
11101 01000 11000 11100 11101
++
10011 00110 01011 10010 10011
=
01110 01110 10011 01110 01110.
Проведем операцию шифрования, поменяв порядок применения
гамм.
1. У1i =xi++h2i
11001 01001 10101 10001 11100
--
10011 00110 01011 10010 10011
=
01010 01111 11110 00011 01111.
2. У2i'=y1i'++h1i
01010 01111 11110 00011 01111
++
00100 00001 01101 01101 00001
=
01110 01110 10011 01110 01110.
Таким образом, y2i=y2i', что является подтверждением
основного свойства гаммы.
При составлении комбинированных шифров необходимо проявлять осторожность, так как неправильный выбор составлявших шифров может привести к исходному открытому тексту. Простейшим примером служит наложение одной гаммы дважды.
Пример 3. Открытый текст: "ШИФРЫ"("25 09 21 17 28");
Г1=Г2="ГАММА" ("04 01 13 13 01"), согласно таблице 1.
Используемая операция: сложение по mod 2:
11001 01001 10101 10001 11100
++
00100 00001 01101 01101 00001
++
00100 00001 01101 01101 00001
=
11001 01001 10101 10001 11100.
Таким образом, результат шифрования представляет собой
открытый текст.
Комбинация методов подстановки и перестановки была применена
в 1974 году фирмой IBM при разработке системы ЛЮЦИФЕР.
Система ЛЮЦИФЕР строится на базе блоков подстановки
(S-блоков) и блоков перестановки (Р-блоков). Блок подстановки
включает линейные и нелинейные преобразования.
Первый преобразователь S-блока осуществляет развертку
двоичного числа из n разрядов в число по основанию 2**n. Второй
преобразователь осуществляет свертку этого числа.
Блок перестановки осуществляет преобразование n разрядного
входного числа в n разрядное число.
Входные данные (открытый текст) последовательно проходят
через чередующиеся слои 32-разрядных Р-блоков и 8-разрядных
S-блоков.
Реализация шифрования данных в системе ЛЮЦИФЕР программными
средствами показала низкую производительность, поэтому P и S -
блоки были реализованы аппаратно, это позволило достичь скорости
шифрования до 100 Кбайт/с. Опыт, полученный при разработке и
эксплуатации системы ЛЮЦИФЕР, позволил создать стандарт
шифрования данных DES (Data Encryption Standard).
УПРАЖНЕНИЯ.