Институт комплексной безопасности и специального приборостроения
Кафедра КБ-1 «Защита информации»
Отчет по лабораторной работе № 1
Дисциплина: «Криптографические методы защиты данных»
Тема занятия: « Использование классических криптоалгоритмов подстановки и перестановки для защиты текстовой информации»
Выполнил:
Студент группы БАСО-01-18
Герман Алексей Владимирович
Проверил:
Ермакова А. Ю.
Москва 2020
Цель занятия: изучение классических криптографических алгоритмов моноалфавитной перестановки, многоалфавитной подстановки и перестановки для защиты текстовой информации. Использование гистограмм, отображающих частоту встречаемости символов в тексте для киптоанализа классических шифров.
Задание:
1. Ознакомиться с описанием лабораторной работы и заданием.
2. Для одноалфавитного метода с фиксированным смещением определить установленное в программе смещение. Для этого следует:
Просмотреть предварительно созданный с помощью редактора свой текстовый файл;
Выполнить для этого файла шифрование;
Просмотреть в редакторе зашифрованный файл;
Просмотреть гистограммы исходного и зашифрованного текстов;
Описать гистограммы;
Верхняя гистограмма состоит из данных об исходном тексте. В ней указаны встречающиеся символы, и частота встречаемости каждого. Аналогичные данные показаны в нижней гистограмме, но для зашифрованного текста.
Расшифровать зашифрованный текст:
- с помощью программы, после чего проверить в редакторе правильность расшифровывания;
- вручную с помощью гистограмм; описать и объяснить процесс дешифрования.
Из гистограмм можно выяснить, что смещение равно 3 (а-г, б-д и так далее), поэтому заменяя текст на текст со смещением на 3, получаем исходный текст.
3. Для одноалфавитного метода с задаваемым смещением(Шифр Цезаря) следует:
- выполнить шифрование с произвольным смещением для своего исходного текста;
Полученный текст:
- просмотреть и описать гистограммы исходного зашифрованного текстов, определить смещение для нескольких символов;
На гистограммах описаны данные о исходном и зашифрованном тексте, частота встречаемых символов и сами символы.
- расшифровать текст с помощью программы;
- дешифровать зашифрованный шифром Цезаря текст с помощью программы методом подбора смещения; указать с каким смещением был зашифрован файл.
Пробуем расшифровать подбором на 4 смещения:
Неудачно:
С расшифровкой на смещение 3 дешифрование тоже не дало результатов:
Дешифрование с перестановкой на 2 дало исходный текст:
4. Для метода перестановки символов дешифровать зашифрованный файл. Для этого необходимо определить закон перестановки символов открытого текста. Создайте небольшой файл длиной в несколько слов с известным вам текстом, зашифруйте его, просмотрите гистограммы. Сравните ваш исходный и зашифрованный тексты и определите закон перестановки символов.
Дешифруйте файл:
- вручную;
- с помощью программы;
Создание небольшого файла:
Его шифрование: (321)
Полученный текст:
Гистограммы: на которых мы видим информацию о зашифрованном и исходном тексте, частоте встречающихся символов в них.
Сравнивая исходный и полученный текст, можно прийти к выводу, что перестановка происходит по принципу 3 2 1 среди всего текста:
Для дешифрования текста вручную нам необходимо выписать алфавит и рядом с ним выписать его же, но подставляя по три символа, заменяя согласно шифру: 3-2-1. Из чего получаем:
и р К о т п а р г ч и ф к с е й и а н а з и л е т т с к а
К р и п т о г р а ф и ч е с к и й а н а л и з т е к с т а
5. Для реверсного кодирования (по дополнению до 255);
- выполните шифрование для своего произвольного файла;
- просмотрите гистограммы исходного и зашифрованного текстов, опишите гистограммы и определите смещение для нескольких символов;
Расшифруем несколько символом вручную:
Так как шифрование инверсным методом проводится по форамуле:
«символ зашифрованного текста = 255 – символ исходного текста»
Поэтому Согласно таблице ASCII:
Символ «И»:
«И» + «7» = 255
200+55=255
Символ «Е»:
«Е» + «:» = 255
197+58=255
И так далее.
- дешифруйте зашифрованный текст, проверьте в редакторе правильность дешифрования.
6. Для многоалфавитного шифрования с фиксированным ключом определите, сколько одноалфавитных методов и с каким смещением используется в программе.
Для этого нужно создать свой файл, состоящий из строки одинаковых символов:
Выполнить для него шифрование:
По гистограмме определить способ шифрования и набор смещений:
По данной гистограмме можно сказать, что программа имеет 6 смещений шифрования, определим их смещения по формуле:
0(48) -224=-176
J(74)-224=-150
K(75)-224=-149
N(78)-224=-146
P(80)-224=-144
[(91)-224=-133
7. Для многоалфавитного шифрования с ключом фиксированной длины:
- выполните шифрование и определите по гистограмме, какое смещение получает каждый символ файла, состоящего из строки одинаковых символов;
Ключ: зея
Э(221+ 246)mod 255=з(231)
Ы(219+246)mod 255=е(229)
х(245+ 246)mod 255=я(255)
- выполните шифрование и расшифрование для файла произвольного текста;
- просмотрите и опишите гистограммы исходного и зашфированного текстов; ответьте, какую информацию можно получить из гистограмм.
По данным гистограммам можно получить информацию об использованных символах в исходном и зашифрованном тексте, а так же частоте использования символов в каждой из них.
8. Для многоалфавитного шифрования с произвольным паролем задание полностью аналогично п.7.
- выполните шифрование и определите по гистограмме, какое смещение получает каждый символ файла, состоящего из строки одинаковых символов;
Ключ: зея
Э(221+ 246) mod 255=з (231)
Ы(219+246) mod 255=е (229)
х (245+ 246) mod 255=я (255)
в(226+246) mod 255=м(236)
Ю(222+246) mod 255=и(232)
Б(193+246) mod 255=л(235)
- выполните шифрование и расшифрование для файла произвольного текста;