Методы шифрования с симметричным ключом
Методы замены
Сущность методов замены (подстановки) заключается в заме-
не символов исходной информации, записанных в одном алфави-
те, символами из другого алфавита по определенному правилу
. Самым простым является метод прямой замены. Символам
So; исходного алфавита Ао, с помощью которых записывается ис-
ходная информация, однозначно ставятся в соответствие символы
Su шифрующего алфавита Аь В простейшем случае оба алфавита
могут состоять из одного и того же набора символов. Например,
оба алфавита могут содержать буквы русского алфавита.
Задание соответствия между символами обоих алфавитов
осуществляется с помощью преобразования числовых эквивален-
тов символов исходного текста То, длиной - К символов, по опре-
деленному алгоритму.
Алгоритм моноалфавитной замены может быть представлен в
виде последовательности шагов.
Шаг 1. Формирование числового кортежа Lot, путем замены
каждого символа s^ е То (i=l,K), представленного в исходном ал-
фавите Ао размера [lxR], на число hoi(soi), соответствующее по-
рядковому номеру символа soi в алфавите Ао.
Шаг 2. Формирование числового кортежа Lih путем замены
каждого числа кортежа Loh на соответствующее число hn кортежа
Lih, вычисляемое по формуле:
hu = (k,xhoi(soi)+k2)(mod R),
где ki - десятичный коэффициент; k2 - коэффициент сдвига. Вы-
бранные коэффициенты ki, k2 должны обеспечивать однозначное
соответствие чисел ho, и hi,, а при получении hi, = 0 выполнить
замену hi, = R.
Шаг 3. Получение шифртекста Ti путем замены каждого числа
h],(si,) кортежа L]h соответствующим символом Si, e Ti (i=l,K)
алфавита шифрования А] размера [1XR].
Шаг 4. Полученный шифртекст разбивается на блоки фикси-
рованной длины Ь. Если последний блок оказывается неполным,
то в конец блока помещаются специальные символы-заполнители
Матрица Вижинера
Шифрование осуществляется с помощью ключа, состоящего
из М неповторяющихся символов. Из полной матрицы Вижинера
I
выделяется матрица шифрования Тш, размерностью [(M+1),R].
Она включает первую строку и строки, первые элементы которых
совпадают с символами ключа. Если в качестве ключа выбрано
слово <ЗОНД>, то матрица шифрования содержит пять строк
АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ_
ЗИКЛМН0ПРСТУФХЦЧШЩЪЫЬЭЮЯ_АБВГДЕЖ
ОПРСТУФХЦЧШЩЪЫЬЭЮЯ_АБВГДЕЖЗИКЛМН
Я0ПРСТУФХЦЧШЩЪЫЬЭЮЯ_АБВГДЕЖЗИКЛМ
ДЕЖЗИКЛМН0ПРСТУФХЦЧШЩЪЫЬЭЮЯ_АБВГ
Алгоритм зашифрования с помощью таблицы Вижинера пред-
ставляет собой следующую последовательность шагов.
Шаг 1. Выбор ключа К длиной М символов.
Шаг 2. Построение матрицы шифрования Тш=(Ьу) размерно-
стью [(M+1),R] для выбранного ключа К.
Шаг 3. Под каждым символом s^ исходного текста длиной I
символов размещается символ ключа km (рис. 20). Ключ повторя-
ется необходимое число раз.
Шаг 4. Символы исходного текста последовательно замеща-
ются символами, выбираемыми из Тш по следующему правилу:
1) определяется символ km ключа К, соответствующий заме-
щаемому символу sor;
2) находится строка i в Тш, для которой выполняется усло-
вие кт=Ьп;
3) определяется столбец j, для которого выполняется условие:
4) символ sor замещается символом Ь^.
Шаг 5. Полученная зашифрованная последовательность раз-
бивается на блоки определенной длины, например, по четыре
символа. Последний блок дополняется, при необходимости, слу-
жебными символами до полного объема.
Методы перестановки
Суть методов перестановки заключается в разделении исход-
ного текста на блоки фиксированной длины и последующей пере-
становке символов внутри каждого блока по определенному алго-
ритму[56].
Перестановки получаются за счет разницы путей записи ис-
ходной информации и путей считывания зашифрованной инфор-
мации в пределах геометрической фигуры. Примером простейшей
перестановки является запись блока исходной информации в мат-
рицу по строкам, а считывание - по столбцам. Последователь-
ность заполнения строк матрицы и считывания зашифрованной
информации по столбцам может задаваться ключом. Криптостой-
кость метода зависит от длины блока (размерности матрицы). Так
для блока длиной 64 символа (размерность матрицы 8x8) возмож-
ны 1,6хЮ9 комбинаций ключа. Для блока длиной 256 символов
(матрица размерностью 16x16) число возможных ключей достига-
ет 1,4х1026. Решение задачи перебора ключей в последнем случае
даже для современных ЭВМ представляет существенную слож-
ность.
Перестановки используются также в методе, основанном на
применении маршрутов Гамильтона. Этот метод реализуется пу-
тем выполнения следующих шагов.
Шаг 1. Исходная информация разбивается на блоки. Если
длина шифруемой информации не кратна длине блока, то на сво-
бодные места последнего блока помещаются специальные слу-
жебные символы-заполнители (например, *).
Шаг 2. Символами блока заполняется таблица, в которой для
каждого порядкового номера символа в блоке отводится вполне
определенное место (рис. 19).
Шаг 3. Считывание символов из таблицы осуществляется по
одному из маршрутов. Увеличение числа маршрутов повышает
криптостойкость шифра. Маршруты выбираются либо последова-
тельно, либо их очередность задается ключом К.
Шаг 4. Зашифрованная последовательность символов разбива-
ется на блоки фиксированной длины L. Величина L может отли-
чаться от длины блоков, на которые разбивается исходная инфор-
мация на шаге 1.