Использование классических криптоалгоритмов подстановки и перестановки для защиты текстовой информации

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

1. Порядок выполнения лабораторной работы

Для выполнения лабораторной работы необходимо запустить программу L_LUX.EXE. На экране дисплея появляется окно, с размещенным в его центре текстовым редактором (для отображения зашифрованных и расшифрованных текстов), в верхней строке окна расположено главное меню, позволяющее пользователю выполнить требуемое действие, чуть ниже основного меню расположена панель инструментов (для управления быстрыми командными кнопками и другими ―горячими‖ элементами управления), а в самом низу окна, под текстовым редактором, находится строка состояния, в которой указывается подсказка и выводится дополнительная информация. Клавиши панели инструментов, для удобства, снабжены всплывающими подсказками.

Для того чтобы попасть в основное меню, необходимо нажать клавишу F10. Передвижение по главному меню осуществляется клавишами перемещения курсора. Чтобы вызвать пункт меню, нужно нажать клавишу ―ENTER‖, вернуться в главное меню или вовсе выйти из него – ―ESC‖.

А теперь более подробно рассмотрим каждый из пунктов главного меню.

Редактор

Данный пункт основного меню содержит подпункты: создать документ, открыть файл, сохранить файл, выход из программы.

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

Создать документ (Ctrl+N)

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

Открыть файл (Ctrl+L) –

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

Аналогично пункту ―Создать документ‖ доступным для работы становится текстовый редактор с отображаемым текстом, а также появляется возможность использовать все недоступные до этого пункты основного меню и клавиши панели управления.

Сохранить файл (Ctrl+S) –

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

Выход из программы (Ctrl+X) –

При выборе этого пункта появляется диалоговое окно, позволяющее выйти из программы.

Гистограмма

Вывод на экран двух гистограмм, отображающих частоту встречаемости символов в тексте.

Внимание! До выполнения шифрования и дешифрования вызывать гистограмму не имеет смысла, так как еще не сформированы тексты, для которых будет просматриваться гистограмма.

Имеется возможность просмотра следующих сочетаний гистограмм:

 гистограммы исходного и зашифрованного файла,

 гистограммы зашифрованного и расшифрованного файла,

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

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

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

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

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

Шифрование

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

1. Одноалфавитный метод (с фиксированным смещением).

2. Одноалфавитный метод с задаваемым смещением (от 2 до 20).

3. Перестановка символов.

4. По дополнению до 255 (инверсный метод).

5. Многоалфавитный метод (с фиксированным ключом).

6. Многоалфавитный метод с ключом фиксированной длины.

7. Многоалфавитный метод с ключом произвольной длины.

Выбор метода шифрования производится как мышкой, так и клавишами перемещения курсора и клавишей ―ENTER.

Затем появляется окно в котором в зависимости от метода шифрования требуется указать те или иные параметры, и либо подтвердить процесс кодировки, либо отказаться от него. После этого в окне редактора будет выдан зашифрованный текст.

Расшифрование

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

Снова появляется окно, в котором в зависимости от метода расшифрования требуется указать те или иные параметры, и либо подтвердить процесс расшифрования, либо отказаться от него. После этого в окно редактора будет выдан расшифрованный текст.

При правильном расшифровании, полученный текст совпадает с исходным.

Дополнительная информация

Программа предусматривает возможность посмотреть дополнительную информацию ('Помощь Ctrl+F9'), справочную информацию об используемых методах шифрования ('О методах Ctrl+F10'), сведения о программе ('О программе Ctrl+F11').

Пример работы с программой

В качестве примера рассмотрим одноалфавитное шифрование с фиксированным ключом.

Нажав клавиши Ctrl+L, либо выбрав в меню пункт «Открыть файл», загрузите в окно редактора исходный текст.

Затем вызовите пункт меню «Шифрование», выберите одноалфавитный метод (с фиксированным смещением). В появившемся окне нажмите клавишу «Зашифровать».

После того, как шифрование выполнено, можно также просмотреть в редакторе зашифрованный текст.

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

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

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

Зная смещение и таблицу кодировки символов, текст можно легко расшифровать.

Вызвав пункт меню «Дешифрование», можно провести те же действия в автоматическом режиме.

Примечание: при шифровании и расшифровании из таблицы кодировки не используются символы с кодами: 176 – 223 и 240 – 255. То есть при ручной расшифровке эти символы следует пропускать, и считать, что, например, символ «Я» имеет код не 159, а – 223, аналогично «п» не 175, а – 239.

Иногда в гистограммах под столбцами, показывающими частоту встречаемости символов, изображены не сами символы, а их табличные коды в квадратных скобках.

Описание "горячих клавиш":

Shift+F10 - ‗О программе‘

Ctrl+X - ‗Выход из программы‘

Ctrl+N - New - ‗Файл\Создать‘

Ctrl+L - Load - ‗Файл\Открыть‘

Ctrl+S - Save - ‗Файл\Сохранить‘

Шифрование:

Ctrl+F1 - ‗Одноалфавитный метод (с фиксированным смещением)‘

Ctrl+F2 - ‗Одноалфавитный с задаваемым смещением (от 2 до 20)‘

Ctrl+F3 - ‗Перестановка символов‘

Ctrl+F4 - ‗По дополнению до 255 (инверсный метод)‘

Ctrl+F5 - ‗Многоалфавитный метод с фиксированным ключом‘

Ctrl+F6 - ‗Многоалфавитный метод с ключом фиксированной длины‗

Ctrl+F7 - ‗Многоалфавитный метод с ключом произвольной длины ‗

Расшифрование:

Shift+F1 - ‗Одноалфавитный метод (с фиксированным смещением)‘

Shift+F2 - ‗Одноалфавитный с задаваемым смещением (от 2 до 20)‘

Shift+F3 - ‗Перестановка символов‘

Shift+F4 - ‗По дополнению до 255 (инверсный метод)‘

Shift+F5 - ‗Многоалфавитный метод с фиксированным ключом‘

Shift+F6 - ‗Многоалфавитный метод с ключом фиксированной длины‗

Shift+F7 - ‗Многоалфавитный метод с ключом произвольной длины‗

Гистограммы:

Shift+Ctrl+F1 - ‗Исходного и шифрованного файла‗

Shift+Ctrl+F2 - ‗Шифрованного и расшифрованного файла‗

Shift+Ctrl+F3 - ‗Стандартного распределения и шифрованного текста‗

Shift+Ctrl+F4 - ‗Стандартного распределения и расшифрованного текста‗

Помощь:

Ctrl+F9 - 'Помощь'

Ctrl+F10 - 'О методах'

Ctrl+F11 - 'О программе'

Задание

1. Ознакомиться с описанием лабораторной работы и заданием.

2. Для одноалфавитного метода с фиксированным смещением определить установленное в программе смещение.

Для этого:

 просмотреть предварительно созданный с помощью редактора свой

текстовый файл;

 выполнить для этого файла шифрование;

 просмотреть в редакторе зашифрованный файл;

 просмотреть гистограммы исходного и зашифрованного текстов,

 описать гистограммы (в чем похожи, чем отличаются) и определить, с каким смещением было выполнено шифрование;

 расшифровать зашифрованный текст:

- с помощью программы, после чего проверить в редакторе правильность расшифрования;

- вручную с помощью гистограмм; описать и объяснить процесс дешифрования.

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

Преподавателю предоставляется отчет о проделанной работе и все использованные и созданные файлы.

3. Для одноалфавитного метода с задаваемым смещением (шифр Цезаря):

 для своего исходного текста выполнить шифрование с произвольным смещением;

 просмотреть и описать гистограммы исходного и зашифрованного текстов, определить смещение для нескольких символов;

 расшифровать текст с помощью программы;

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

4. Для метода перестановки символов дешифровать зашифрованный файл.

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

Дешифруйте файл:

1) вручную (объясните ваши действия);

2) с помощью программы.

5. Для инверсного кодирования (по дополнению до 255):

 для своего произвольного файла выполните шифрование;

 просмотрите гистограммы исходного и зашифрованного текстов, опишите гистограммы и определите смещение для нескольких символов;

 дешифруйте зашифрованный текст, проверьте в редакторе правильность дешифрования.

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

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

7. Для многоалфавитного шифрования с ключом фиксированной длины:

 для файла, состоящего из строки одинаковых символов выполнить шифрование и определить по гистограмме, какое смещение получает каждый символ;

 для файла произвольного текста произвести шифрование и рас-шифрование;

 просмотреть и описать гистограммы исходного и зашифрованного текстов; ответить, какую информацию можно получить из гистограмм.

8. Для многоалфавитного шифрования с произвольным паролем задание полностью аналогично п.7.

Контрольные вопросы

1. Какие вы знаете методы криптографической защиты файлов?

2. В чем преимущества и недостатки одноалфавитных методов?

3. Если вам необходимо зашифровать текст, содержащий важную информацию, какой метод, из рассмотренных, вы выберете? Обоснуйте свой выбор.

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

a. метод многоалфавитного шифрования?

b. метод Цезаря?



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



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