Система шифрования Вижинера

Система Вижинера впервые была опубликована в 1586 г. и является одной из старейших и наиболее известных многоалфавитных систем. Свое название она получила по имени француз­ского дипломата XVI века Блеза Вижинера, который развивал и совершенствовал криптографические сис­темы. Она подобна такой системе шифрования Цезаря, у кото­рой ключ подстановки меняется от буквы к букве. Автор шифра предложил для шифрования таблицу, которую назы­ва­ют табли­цей (или квадратом) Вижинера. Её размер равен длине алфа­вита. Верхняя (нулевая) строка заполняется символами алфавита, левый столбец – цифрами.

Сама таблица заполняется по следующему правилу. Первая строка имеет цифровой ключ «0» и заполняется всеми симво­лами по алфавиту, вторая имеет цифровой ключ «1» и заполняется теми же символами, сдви­нутыми вправо на один символ по кругу, и далее, k ‑я имеет цифровой ключ «к-1» и заполняется теми же символами, сдвину­тыми вправо на (к-1) сим­вол по кругу.

Приведем фрагмент таблицы Вижинера для русского алфавита.

  а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ь
0 а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ь
1 б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ь ы
2 в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ь ы ъ
3 г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ь ы ъ э
4 д е ж з и й к л м н о п р с т у ф х ц ч ш щ ь ы ъ э ю
5 е ж з и й к л м н о п р с т у ф х ц ч ш щ ь ы ъ э ю я
6 ж з и й к л м н о п р с т у ф х ц ч ш щ ь ы ъ э ю я а
7 з и й к л м н о п р с т у ф х ц ч ш щ ь ы ъ э ю я а б
8 и й к л м н о п р с т у ф х ц ч ш щ ь ы ъ э ю я а б в

При шифровании верхняя строка подчеркнутых символов, исполь­зуется для поиска очередной буквы открытого текста. Крайний левый столбец используется для поиска соответствующего этой букве элемента ключа. Очередная буква шифртекста находится на пересече­нии столбца, определяемого шифруемой буквой, и строки, опре­деляемой числовым значением ключа.

Лучше, если ключевая последовательность выбирается как набор случайных чисел. Иногда, чтобы ключ легче было запомнить, используют слово или фразу, а затем заменяют буквы в ней их номерами в алфавите. Если ключ оказался короче сообщения, то его циклически повторяют.

Рассмотрим пример получения шифртекста с помощью таблицы Вижинера. Пусть выбрано ключевое слово АМБРОЗИЯ. Необходимо зашифровать сообщение ПРИЛЕТАЮ СЕДЬМОГО. Выпишем исходное сообщение в строку и запишем под ним ключе­вое слово с повторением. В третью строку выпишем шифртекст.

Сообщение П Р И Л Е Т А Ю С Е Д Ь М О Г О

Ключ           А М Б Р О З И Я А М Б Р О З И Я

Шифртекст П Ъ Й Ы УЩИ Э С С Е К Ь Х Л Н

Шифры Вижинера с коротким периодическим ключом используют­ся и в наши дни в системах шифрования, от которых не требуется высокая криптостойкость.

С развитием математики необходимость в таблицах шифрования отпала. Если заменить буквы на числа, то операции шифрования и дешиф­рования легко выражаются простыми математическими формулами. Так, в шифре Вижинера используются операции циклического, или модульного сложения (см. 3.7.3).

Математический анализ шифров

Алфавит криптосистемы

Как открытый текст, так и шифртекст образуются из букв, входящих в конечное множество символов, называемых алфави­том.

Источник информации генерирует сообщения (открытый текст) из некоторого конечного алфавита X: { х12,...xm } с основанием алфавита m. Шифрованный текст или шифрограмма образуются в общем случае из алфавита Y:{ y1,y2,...,yn }, который может не совпадать с алфавитом X.

При выполнении криптографических преобразований удобно заме­нить буквы алфавита целыми числами. Замена букв традицион­ного алфа­вита числами позволяет математически четко сформулиро­вать основные концепции и приемы крип­тографических преобразова­ний и упростить вы­полнение необходимых алгебраиче­ских манипуля­ций. В то же время в ка­честве ил­люстраций будем продолжать использовать алфавит естест­вен­ного языка.

Итак, в криптографии используется алфавит, содержащий m букв естественного или технического языка в виде чисел. Он обозначается

Zm ={0,1,2.3,.... m -1}.

В качестве примеров алфавитов, используемых в современных ИС, можно привести следующие:

- алфавит Z 32 – 32 буквы русского алфавита;

- алфавит Z 26 – 26 букв английского алфавита;

- алфавит Z 256 – символы, входящие в стандартные коды ASCII и КОИ-8;

- бинарный алфавит – Z 2 = {0,1};

- восьмеричный алфавит или шестнадцатеричный алфавит;

Объединение n букв из алфавита Z называют n – граммой (слово естественного языка или блок символов после кодировки). Объединяя по n букв из алфавита Zm, получаем алфавит Zm , n , содержащий множество n – грамм из Zm. Например, английский алфавит Z 26 = {ABCDEFGH... WXYZ} объемом m =26 букв позволяет сгенерировать алфавит из 262 = 676 биграмм, алфавит из 263= 17576 триграмм.

Криптографическое преобразование Е представляет собой совокупность отображений

Е = {Е( n ): 1 <. n < ∞}, где Е( n ): Zm , nZm , n.

Преобразование Е( n ) определяет, как каждая n -грамма открытого текста х заменяется n -граммой шифртекста у, т.е.

у = Е( n ) (х), причем х,у Î Zm , n;

при этом обязательным является требование взаимной однозначности преобразования Е( n ) на множестве Zm , n.

Криптографическая система может трактоваться как множество криптографических преобразований Е={Е k: k Î К }, помеченных парамет­ром k, называемым ключом. Множество значений ключа образует ключевое пространство К.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: