Криптография: искусство тайны

XXVII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Криптография: искусство тайны

Сербин А.С. 1
1МОАУ "Гимназия № 4"
Паршина И.А. 1
1МОАУ "Гимназия № 4" г. Оренбург
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

«Хорошая работа шифровальщиков помогла выиграть не одно сражение».

Маршал СССР, советский полководец Г.К. Жуков

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

Наукой не установлен точный исторический период, когда появилась криптография. Американский криптограф Л. Д. Смит подчеркивает, что криптография по возрасту старше египетских пирамид [5, С. 23].

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

Объект исследования – криптография.

Предмет исследования – криптографические методы шифрования.

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

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

Постановка цели обусловила решение следующих задач исследовательской работы:

  1. Выявить исторические этапы развития криптографии, представить их известными методами шифрования.

  2. Определить роль шифрования в военное время.

  3. Определить основные направления развития современной криптографии.

  4. Разработать программу шифрования текста на основе шифра Цезаря и реализовать ее на языке VBA.

  5. Провести эксперимент по использованию шифра при передаче сообщений. Сформулировать выводы.

В данной работе использовались следующие методы исследования:

  • изучение учебной и научно- познавательной литературы;

  • наблюдение, практическое решение задач шифрования/дешифрования;

  • использование элементов программирования на языке VBA;

  • анализ и обобщение полученных данных.

1 Загадки криптографии

1.1 Этапы становления криптографии

Как только люди научились писать, у них сразу же появилось желание сделать написанное понятным не всем, а только узкому кругу. Даже в самых древних памятниках письменности учёные находят признаки намеренного искажения текстов: изменение знаков, нарушение порядка записи и т. д.

Изменение текста с целью сделать его понятным только избранным дало начало науке криптографии (от древнегреческих «криптос» – скрытый, тайна и «графо» – пишу) [1, С. 11]. Процесс преобразования текста, написанного общедоступным языком, в текст, понятный только адресату, называют шифрованием, а сам способ такого преобразования называют шифром. Криптография - наука о способах преобразования (шифрования) информации с целью ее защиты от незаконных пользователей [2, С. 9].

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

История криптографии насчитывает около 4 тысяч лет. Разумеется, за четыре тысячи лет криптография повидала не один шифр. Рассмотрим этапы развития криптографии с точки зрения технологических характеристик используемых методов шифрования.

Первый этап развития криптографии - «Наивная криптография» (приблизительно с 3-го тысячелетия до н.э.) характеризуется использованием моноалфавитных шифров. Главная идея таких шифров заключается в простой замене символов алфавита исходного текста буквами этого же алфавита со смещением влево или вправо по алфавиту. Здесь известны такие шифры, как шифр Цезаря [5], квадрат Полибия [3], Тарабарская грамота Древней Руси [5] и другие. Подробно идеи данных шифров приведены в приложении А.

Второй период «Формальная криптография» (с IX века на Ближнем Востоке (Ал-Кинди) и с XV века в Европе (Леон Баттиста Альберти) – до начала XX века) ознаменовался введением в обиход полиалфавитных шифров. На данном этапе для шифрования использовались буквы разных алфавитов. Такое шифрование было относительно стойким к ручному криптоанализу.

Первая многоалфавитная подстановка - шифр Вижинера (приложение А) состоял в последовательном «сложении» букв исходного текста с ключом [5, 8] и был изложен в первой научной работе по криптологии Леону Батисте Альберти «Трактат о шифре».

Еще более высокую криптостойкосить и автоматизацию (механическую) процесса шифрования дали роторные криптосистемы. Одной из первых стала изобретенная в 1790 году Томасом Джефферсоном механическая машина. Многоалфавитная подстановка с помощью роторной машины реализуется вариацией взаимного положения вращающихся роторов, каждый из которых осуществляет «прошитую» в нем подстановку. Однако широкое практическое распространение роторные машины получили только в начале XX века.

Третий период (с начала и до середины XX века) характеризуется активным внедрением электромеханических устройств в работу шифровальщиков [4, 7]. В этот период появляется работа Клода Шеннона «Теория связи в секретных системах», где были сформулированы теоретические принципы криптографической защиты информации.

К началу 30-х годов XX века появляются электромеханические шифровальные машины и это было определённым прорывом в развитии науки. Здесь следует отметить советские шифровальные машины М-100 "Спектр", К-37 "Кристалл", С-1 "Соболь" и "Соболь-П", немецкую роторную шифровальную машину «Энигма», американскую шифровальные машины М-209 и Sigaba, машину Турех (Великобритания), Red, Orange и Purple2 (Япония) и другие, которые активно использовались во время Второй мировой войны [7, С. 62]. Роторные системы - вершина формальной криптографии, так как они относительно просто реализовывали очень стойкие шифры. Успешные криптоатаки на роторные системы стали возможны только с появлением ЭВМ в начале 40-х годов.

Четвёртый период – с середины до 70-х годов XX века – период перехода к математической криптографии [4, 3]. В работе Клода Шеннона появляются строгие математические определения количества информации, передачи данных, энтропии, функций шифрования. Однако до 1975 года криптография оставалась «классической» - криптографией с секретным ключом и оставалась прерогативой государства.

1.2 Развитие криптографии в период Второй мировой войны

Колоссальный прорыв в развитии электромеханических устройств для шифрования произошел во время Второй мировой, Великой Отечественной войн.

В ходе войны наши криптографы предоставили политическому и военному руководству СССР большое количество важнейшей секретной информации противника [7, С. 13].

Высоко оценили работу наших шифровальщиков не только полководцы Великой Отечественной Г.К. Жуков и А.М. Василевский, но и противник: «... нам никогда не удавалось перехватить и расшифровать радиограммы вашей Ставки, штабов фронтов и армий» (из допроса начальника штаба при Ставке верховного главнокомандования немецких вооружённых сил генерал-полковника А. Йодля от 17 июня 1945 года).

Нельзя не упомянуть Рихарда Зорге [7, С. 14], выдающегося разведчика XX века, руководителя японской резидентуры ГРУ "Рамзай", его шифр является типичным образцом действующих шифросистем всех советских спецслужб того времени. Дешифрование японских правительственных телеграмм от Зорге позволило руководству СССР принять решение о переброске под Москву 16 дивизий в октябре-ноябре 1941 года. Пример шифра Зорге приведен в приложении А.

Теоретическую основу шифровальной техники в СССР заложил инженер И.П. Волосок в 1930 году. Впоследствии он стал ведущим конструктором отечественной шифротехники довоенного и послевоенного периодов (приложение А). 

На основе данного алгоритма была сконструированы ШМВ-1 в 1932 году, В-4, а затем после модернизации произведена машина М-100 "Спектр", весом 141 кг., которая позволяла шифровать буквенные телеграммы со скоростью до 300 знаков в минуту, что в 5–6 раз быстрее, чем при ручном способе.

Вслед за М-100 "Спектр" была запущена в работу в 1939 году машина К-37 «Кристалл», которая по характеристикам не уступала предыдущей, но весила всего 19 кг. В 1942 году стала использоваться М-101 «Изумруд» [7]. Для связи Ставки Верховного Главнокомандующего с фронтом по коротковолновым радиоканалам применялась засекречивающая аппаратура связи С-1 «Соболь-П».

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

1.3 Направления развития современной криптографии

Современный период развития криптографии (с конца 1970-х годов по настоящее время) отличается зарождением и развитием нового направления – криптографии с открытым ключом [1]. Её появление знаменуется широким распространением криптографии для использования частными лицами.

Под ключом понимают сменный элемент шифра, который применяется для шифрования конкретного сообщения [2].

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

Асимметричные криптосистемы не требуют передачи секретного ключа между сторонами и предполагают использование пары ключей: открытого ключа для шифрования и закрытого ключа для дешифрования (приложение В). Отправной точкой здесь принято считать работу Уитфилда Диффи и Мартина Хеллмана (1976 год) под названием «Новые направления в современной криптографии». В ней впервые сформулированы принципы обмена шифрованной информацией без обмена секретным ключом.

Оба метода незаменимы в современных цифровых системах. Защита банковских платежей, переводов и онлайн-оплаты осуществляется с помощью симметричного метода. Асимметричная криптография используется в системах электронной цифровой подписи (ЭЦП) и электронных денег. В мессенджерах (WhatsApp, Telegram) для защиты переписки используются оба метода шифрования.

2 Разработка программы для шифрования текста

2.1 Интерфейс программы

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

Для решения задачи была выбрана программа MS PowerPoint со встроенными средствами программирования на языке VBA.

Разработанная программа имеет следующую структуру (рисунок 1):

Рисунок 1 – Интерфейс программы

Страница для шифрования текста имеет вид, представленный на рисунке 2: поля для ввода текста и значения сдвига. кнопки Зашифровать. Расшифровать, Очистить.

Рисунок 2 – Основная страница для шифрования

2.2 Разработка алгоритмической части программы

Для реализации алгоритма шифрования Цезаря были использованы процедуры, написанные на языке VBA (Visual Basic Application) [6]. В качестве элементов управления были использованы кнопка и текстовое поле.

Для программирования функций шифрования было использовано свойство Text элемента типа TextBox (рисунок 3).

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

Рисунок 3 – Используемые элементы управления

Описание алгоритмов процедур приведено в приложении Г.

Алфавит русского языка в кодировке Unicode представлен упорядоченно от А до Я (буква Ё находится отдельно). Буква Ё не используется в данной программе, т.к. частота ее встречаемости самая маленькая, а ее применение значительно усложнит алгоритм.

В работе использована нумерация букв от 0 до 31 (приложение Г). Для решения задачи методом Цезаря нужно циклично ходить по алфавиту с помощью сдвига, для этого использована операция нахождения остатка при делении Номер буквы + сдвиг на длину алфавита (Mod). Для обращения к букве использованы функции языка VBA, представленные в таблице 2 приложения Г.

Программа разработана для русского алфавита, если необходимо использовать другой алфавит, то нужно использовать другую длину алфавита. Программа занимает небольшое количество памяти - 100 Кб. Скачать программу-шифровальщик и позаниматься с ним можно по ссылке https://disk.yandex.ru/i/IdIgJZfK1Dn51g. Перед работой следует изучить инструкцию, представленную в приложении В.

2.3 Результаты эксперимента по использованию программы

Для проверки работоспособности программы была проведена серия экспериментов. Некоторые результаты приведены на рисунке 4.

Рисунок 4 – Вид окна программы в процессе шифрования

Аналогично можно расшифровать текст, например так, как показано на рисунке 5.

Рисунок 5 – Вид окна программы в процессе дешифрования

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

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