
2.2. Метод Гронсфельда
Метод Гронсфельда (модификация метода Цезаря) относится к многоалфавитным подстановкам.
Алгоритм Гронсфельда можно получить, если в преобразовании Цезаря применять для шифрования не постоянный коэффициент сдвига, а ключ состоящий из последовательности цифр. Знак в отрытом тексте сдвигается на заданное цифрой в ключе значение, а для смещения следующего знака берется очередная цифра ключа.
Для шифрования под сообщением пишут ключ. Если ключ короче сообщения, то его повторяют циклически. Криптограмму получают аналогично шифру Цезаря, но сдвигая каждую букву на соответствующую цифру ключа. Так, применяя в качестве ключа группу из четырех цифр 3712 и алфавит, получаем шифровку:
Пример.
сообщение |
||||||||||||||||||
С |
О |
В |
Е |
Р |
Ш |
Е |
Н |
Н |
О |
|
С |
Е |
К |
Р |
Е |
Т |
Н |
О |
ключ |
||||||||||||||||||
3 |
7 |
1 |
2 |
3 |
7 |
1 |
2 |
3 |
7 |
|
1 |
2 |
3 |
7 |
1 |
2 |
3 |
7 |
шифротекст |
||||||||||||||||||
Ф |
Х |
Г |
З |
У |
Я |
Ж |
П |
Р |
Х |
|
Т |
З |
Н |
Ч |
Ж |
Ф |
Р |
Х |
2.3. Метод Вижинера
Метод Вижинера относится к многоалфавитным подстановкам.
Основу метода составляет таблица, представляющая собой квадратную матрицу с числом элементов S, где S – количество символов в алфавите. В первой строке матрицы записываются буквы в порядке очередности их в алфавите, во второй - та же последовательность букв, но со сдвигом влево на одну позицию, в третьей – со сдвигом на две позиции и т.д. Освободившиеся места справа заполняются вытесненными влево буквами, записываемыми в естественной последовательности.
Рис.2. Таблица Вижинера
Для шифрования текста устанавливается ключ, представляющий собой некоторое слово или набор букв. Далее из полной таблицы (рис.2) выбирается подматрица шифрования, включающая, первую строку и строки таблицы,. первым символом (буквой) которых являются последовательно буквы ключа.
Пример. Пусть ключом будет слово МОРЕ, тогда для шифрования используется подматрица. приведенная на рис. 3.
Рис.3. Подматрица шифрования
Шифрование включает следующую последовательность действий:
-
Под каждой буквой шифруемого текста записываются буквы ключа, повторяя его требуемое количество раз (рис. 4).
-
Шифруемый текст по подматрице последовательно заменяется буквами из соответствующих символам ключа строк на пересечении с буквами текста из первой строки подматрицы.
Пример.
Рис.4. Пример шифрования
Расшифровка текста выполняется следующим образом (рис. 5):
-
Над буквами шифротекста сверху последовательно записываются буквы ключа, при необходимости повторяя их циклическим образом.
-
В строке подматрицы для каждой буквы ключа отыскивается буква, соответствующая знаку шифротекста. Находящаяся над ней буква первой строки и является знаком расшифрованного текста.
Пример.
Рис.5. Пример расшифрования