Разработка табличного тренажера по алгоритму Вижинера - Студенческий научный форум

XI Международная студенческая научная конференция Студенческий научный форум - 2019

Разработка табличного тренажера по алгоритму Вижинера

Гаврилов А.А. 1, Басангова Е.О. 1
1Калмыцкий Государственный Университет им. Б.Б.Городовикова
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

Криптоанализ включает два этапа: нахождение длины ключа, а затем непосредственно последовательности символов алфавита.

Преимущество многоалфавитных шифров в том, чтоони не только скрывают характеристики языка, но и имеют большие множества ключей. Например, если в качестве ключа используется слово из пяти символов logic, то начальный поток ключей – (11, 14, 06, 08, 02).

Рассмотрим пример реализации алгоритма шифрования Вижинера с помощью таблиц Excel.

На лист в блок С12-AB33 помещаем таблицу Вижинера для латинского алфавита (рис.1). В первой строке размещаются все буквы алфавита от A до Z. Каждая следующая строка получается из предыдущей циклическим сдвигом на символ влево.

Рис.1. Лист Excel-таблицы с данными

В строку 4 с позиции F вводится текст, предназначенный для шифрования. С позиции F5 (под строкой исходного текста) вводятся символы ключа, причем, если ключ оказывается короче сообщения, его используют несколько раз.

Зашифрованный текст отображается в строке 8 с позиции F (под соответствующими буквами исходного сообщения).

Для зашифрования/расшифрования по таблице Вижинера используюся следующие функции Excel категории "Ссылки и массивы":

Функция ИНДЕКС возвращает значение или ссылку на значение из таблицы или диапазона, функция ИНДЕКС имеет две синтаксические формы: ссылка (возвратить ссылку на указанную ячейку) и массив (возвратить значение указанной ячейки или массива ячеек); используем вариант ссылки на ячейку;

Функция ПОИСКПОЗ - возвращает относительную позицию в массиве элемента, соответствующего указанному значению с учетом указанного порядка, функцией ПОИСКПОЗ удобно пользоваться вместо одной из функций ПРОСМОТР, когда требуется найти позицию элемента в диапазоне, а не сам элемент.

Пример работы алгоритма представлен рисунком 2, в качестве ключа использовано слово IMPERATOR.

Рис.2. Пример шифрования текста

Каждый символ зашифрованного текста вычисляется по следующей формуле: =ИНДЕКС($C$12:$AB$33;ПОИСКПОЗ(F5;$B$12:$B$37;0);ПОИСКПОЗ(F4;$C$11:$AB$11;0))

Таким образом, функционал электронных таблиц позволяют построить простейший калькулятор, иллюстрирующий работу алгоритма шифрования Вижинера.

Просмотров работы: 5