Научная статья на тему 'Программная реализация генетического алгоритма для дешифрования гомофонического шифра'

Программная реализация генетического алгоритма для дешифрования гомофонического шифра Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
313
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / ГОМОФОНИЧЕСКИЙ ШИФР / ДЕШИФРОВАНИЕ ГОМОФОНИЧЕСКОГО ШИФРА / GENETIC ALGORITHM / HOMOPHONIC CIPHER / HOMOPHONIC CIPHER DECRYPTING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Морозенко Владимир Викторович, Кошеварова Татьяна Сергеевна

Разработан и программно реализован генетический алгоритм для дешифрования гомофонического шифра. Задачами алгоритма является выявление ключа для зашифрованного текста и дешифрование текста. Процесс дешифрования автоматизирован с помощью реализованной программы.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Морозенко Владимир Викторович, Кошеварова Татьяна Сергеевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

GENETIC ALGORITHM FOR THE HOMOPHONIC CIPHER DECRYPTING IMPLEMENTATION

Genetic algorithm for decrypting the homophonic cipher is developed and implemented. Objectives of the algorithm are to find an identification key for ciphered text and recover decrypting the text. Process of decrypting is automated with implemented program.

Текст научной работы на тему «Программная реализация генетического алгоритма для дешифрования гомофонического шифра»

№ 7 (40)

июль, 2017 г.

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ДЛЯ ДЕШИФРОВАНИЯ ГОМОФОНИЧЕСКОГО ШИФРА

Морозенко Владимир Викторович

канд. физ.-мат. наук, доцент Национального Исследовательского Университета «Высшая школа экономики»,

614070, РФ, Пермский край, г. Пермь, улица Студенческая, д. 38

E-mail: [email protected]

Кошеварова Татьяна Сергеевна

студент Национального Исследовательского Университета «Высшая школа экономики»,

614070, РФ, Пермский край, г. Пермь, улица Студенческая, д. 38

E-mail: koshevarova_ts@,yandex. ru

GENETIC ALGORITHM FOR THE HOMOPHONIC CIPHER DECRYPTING

IMPLEMENTATION

Vladimir Morozenko

candidate of physical and mathematical sciences, assistant professor of National Research University Higher School of Economics, 614070, Russia, Perm, Studencheskaya str., 38

Tatyana Koshevarova

student of National Research University Higher School of Economics, 614070, Russia, Perm, Studencheskaya str., 38

АННОТАЦИЯ

Разработан и программно реализован генетический алгоритм для дешифрования гомофонического шифра. Задачами алгоритма является выявление ключа для зашифрованного текста и дешифрование текста. Процесс дешифрования автоматизирован с помощью реализованной программы.

ABSTRACT

Genetic algorithm for decrypting the homophonic cipher is developed and implemented. Objectives of the algorithm are to find an identification key for ciphered text and recover decrypting the text. Process of decrypting is automated with implemented program.

Ключевые слова: генетический алгоритм, гомофонический шифр, дешифрование гомофонического шифра.

Keywords: genetic algorithm, homophonic cipher, homophonic cipher decrypting.

Введение

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

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

Однако частотный анализ затруднен, если шифрование было осуществлено с помощью гомофонического шифра, которые «сглаживает» частотный профиль зашифрованного текста. Тем не менее можно попытаться провести криптоанализ данного шифра с

помощью генетического алгоритма. Аналогичные попытки для других методов шифрования уже предпринимались и показали свою эффективность.

Постановка задачи Гомофонический шифр относится к шифрам простой замены. Алгоритм шифрования заключается в замене символа исходного алфавита одним из предложенных в ключе символов шифрующего алфавита. Пусть шифруемым текстом будет некоторая последовательность символов (я^я^... ,5„). Текст состоит из символов исходного алфавита А = {а1, а2,..., ат}. Также задан некоторый шифрующий алфавит В = {Ъ1,Ъ2,...,Ьк}, состоящий из заменяющих символов. Для каждого символа алфавита A предусмотрено несколько заменяющих символов алфавита B. Количество заменяющих символов зависит от частоты употребления символов исходного алфавита в шифруе-

Библиографическое описание: Морозенко В.В., Кошеварова Т.С. Программная реализация генетического алгоритма для дешифрования гомофонического шифра // Universum: Технические науки: электрон. научн. журн. 2017. № 7(40) . URL: http://7universum.com/ru/tech/archive/item/5020

№ 7 (40)

мом тексте. Набор символов алфавита А и заменяющих символов для каждого символа алфавита образуют ключ К шифруемого текста

К = {а (Ь1,...,Ьс),а2^ (ЬС+1,...,ЬЙ), -,а„ ^ (Ьь+1,.,Ьк)}.

При этом алфавиты А и В могут пересекаться как множества, но наборы заменяющих символов для двух различных букв исходного алфавита пересекаться не должны.

Далее каждый символ исходного текста а] заменяется случайным символом из соответствующего набора заменяющих символов (Ьр, ..,ЬЧ) .

Взлом такого шифра при помощи классического частотного анализа по сути сводится к перебору всех возможных ключей [1, с. 17, 3, с. 176].

Генетический алгоритм

Рассмотрим основные шаги генетического алгоритма для дешифрования гомофонического шифра [4, с. 53-55].

Первым шагом является формирование начальной популяции. Особью популяции является ключ шифрования. Каждый потенциальный ключ представлен в виде двух строк: в первой строке - символы исходного алфавита, а во второй строке - соответствующие символы заменяющего алфавита. Для каждого ключа последовательность символов в первой сроке будет меняться, а порядок символов во второй строке будет оставаться неизменным. Ниже приведен пример двух ключей (рис. 1).

Э 6 6 в г

2 л ) ! t

6 6 а г в

2 л ) 1 t

Рисунок 1. Пример ключей для шифрования

июль, 2017 г.

На этапе скрещивания все особи будут скрещены между собой. Для этого из первой особи выбираются исходные символы с нечетными номерами, а из второй - исходные символы с четными номерами. Строка с заменяющими символами остается неизменной.

На этапе селекции отсеиваются особи, которые имеют не полный набор символов исходного алфавита в первой строке. Далее на этапе формирования нового поколения необходимо расшифровать зашифрованный текст каждым ключом и подсчитать частоту двухсимвольных сочетаний в расшифрованном тексте. Эти частоты необходимо сравнить с «эталонными» значениями частоты двухсимвольных сочетаний в тексте. Эти данные могут быть получены из таблиц [2, с. 8-59]. Более приспособленными особями будут считаться те, у которых меньше сумма отклонений частот от идеальных значений. Работа алгоритма будет закончена через определенное количество поколений, указанных пользователем. Фитнес-функция данного алгоритма будет выглядеть следующим образом:

F(x) = £ IPi-рЦ

где р^ - «эталонная» частота двухсимвольного сочетания, р[ - частота аналогичного сочетания символов в тексте, расшифрованном с помощью ключа х.

Реализация алгоритма

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

Разрабатываемая программа представляет собой desktop-приложение и имеет достаточно простой интерфейс, который будет рассмотрен далее в статье.

Основная форма приложения разделена на две части (рис. 2). В левой части формы расположено окно для ввода зашифрованного текста. Зашифрованный текст может быть введен как вручную пользователем, так и загружен из файла. Под окном ввода расположено поле для выбора пользователем числа итераций генетического алгоритма.

Файл Помощь

Текст для расшифровки Расшифрованный текст

Рисунок 2. Внешний вид основной формы приложения

июль, 2017 г.

№ 7 (40)

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

На графике видно, что высокая точность работы алгоритма достигается при количестве итераций (поколений) более 500. Однако в словах расшифрованного текста могут присутствовать небольшие ошибки, которые не мешают пониманию текста в целом.

Заключение

В ходе исследования был разработан алгоритм дешифрования гомофонического шифра. Алгоритм был протестирован с использованием специально разработанных программ шифрования и дешифрования гомофонического шифра.

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

Результаты работы алгоритма

Разработанные программы позволяют оценить точность работы алгоритма дешифрования опытным путем. Для проверки качества работы алгоритма было подготовлено несколько тестов, в которых различались количество итераций алгоритма и количество символов в дешифруемом тексте. Результаты тестирования можно отобразить в виде графика (рис. 3).

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

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

го

| 0,8

|о,б g °'4

0

1 0,2 о

I-

0

s ** / /

J J* J ^ _ / у

■■■■ 800 символов

i'' — 1000 символов - 1400 символов

1600 символов

500 1000 1500 2000 Количество итераций

2500

3000

Рисунок 2. Результаты тестирования

Список литературы:

1. Адигеев М.Г. Введение в криптографию. Ростов-на-Дону: Издательство РГУ, 2002.

2. Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии. М: «Гелиос АРВ», 2002.

3. Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. СПб: Издательство «Лань», 2001.

4. Delman B. Genetic Algorithms in Cryptography. New York: Rochester Institute of Technology, 2004.

i Надоели баннеры? Вы всегда можете отключить рекламу.