Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб по криптогр.doc
Скачиваний:
9
Добавлен:
26.04.2019
Размер:
392.7 Кб
Скачать

Практическая работа

Предмет: «Информационная безопасность»

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

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

 

 

1

2

3

4

5

6

1

А

Б

В

Г

Д

Е

2

Ё

Ж

З

И

Й

К

3

Л

М

Н

О

П

Р

4

С

Т

У

Ф

Х

Ц

5

Ч

Ш

Щ

Ъ

Ы

Ь

6

Э

Ю

Я

 

 

 

Зашифруем с помощью квадрата Полибия слово “Информация”:

24 33 44 34 36 32 11 46 24 63

Из этого примера видно, что первая цифра указывает номер строки, вторая – номер столбца.

Задание 1.

Зашифруйте с помощью квадрата Полибия слово “КОМПЬЮТЕР”.

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

На первый взгляд шифр кажется очень нестойким, но для его реальной оценки следует учитывать два фактора:

  1. возможность заполнить квадрат Полибия буквами произвольно, а не только строго по алфавиту;

  2. возможность периодически заменять квадраты.

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

Поворотная решетка.

Клара направила Карлу три письма. В первом письме был листочек с квадратной таблицей:

Э

А

П

Я

Т

З

Р

О

Е

Т

Ы

О

В

Ш

В

О

Ш

Е

А

Р

И

Т

Е

Ф

Р

К

О

Т

Т

С

А

Н

Я

Н

 

А

А в третьем – с таблицей:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Второе письмо, содержавшее пояснения по использованию этих таблиц, потерялось. Помогите Карлу прочитать это послание.

Ответ: Картинка соответствует трафарету, накладывая который всеми возможными способами на квадрат с текстом (таких способов четыре) выписывая буквы из “окошечек” и получаем искомый текст: “Этот шифр называется поворотная решетка”.

Одну и туже информацию можно передать разными сигналами и разными способами.

Задание 2.

В рассказе Артура Конана Дойла “Пляшущие человечки” преступник применял оригинальный код для записи своих угроз.

Сейчас вам предлагается расшифровать текст и объяснить способ его кодирования:

“АММАРГОРП – ЯАКОСЫВ ЯИЗЭОП, ЫТАТЬЛУЗЕР ЕЕ ЫТОБАР – ЯАБУРГ АЗОРП”.

Ответ: “Программа – высокая поэзия, результаты ее работы – грубая проза”. (Читать следует каждое слово слева направо).

Задание 3.

Предложение по некоторым правилам вписано в клетки таблицы. Найдите это правило и прочитайте предложение.

Ь

Д

Е

Л

Ь

Т

С

Й

О

А

Т

О

Е

Т

Б

П

Е

,

Е

Т

Е

О

Н

Ч

А

М

И

Н

О

Т

Ответ: “Бойтесь делать то, что не понимаете”. Читать следует по стрелкам:

Движение начинается от выделенной буквы.

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

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

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

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

Ниже приведен фрагмент ключа много алфавитной замены:

А

Б

В

Г

Д

Е

18

7

5

19

21

2

12

4

90

35

83

15

48

14

22

10

99

32

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

Способов кодирования информации можно привести очень много. Это и таблица Виженера, квадрат Бьюфорта, система Плейфейра, система Хилла, метод перестановок, аддитивный метод и т. д.

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

Криптография стала активно использоваться в художественных произведениях (Эдгар По, Конан Дойл и др.) Нередко в виде игры авторы скрывали свое имя. Не избежал этого увлечения в молодости наш великий поэт Пушкин А. С. В юные годы он использовал для подписи следующие “криптографические” преобразования. Одна из подписей: НКШП, что означало инвертированную фамилию с пропуском гласных букв: НиКШуП. Другая подпись: 1…14…16. Здесь буквы имени заменены на номера букв в естественном русском алфавите: 1=А, 14=Н, 16=П. Подпись АНП – Александр НикшуП. Ему нравились загадочные и ложные имена в тетрадях отцовского бюро. В них автор прятался за буквами, цифрами, анаграммами. Ему казалось, что, приобретая новое имя, он сам приобретает новый вид.

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

Талантливый голландский криптограф О. Керггоффе сформулировал следующее правило: “Шифр должен надежно защищать информацию даже в том случае, когда он становится известным противнику. Стойкость засекречивания должна обеспечиваться только секретным ключом”.

Задание на дом:

1. Придумать свою версию шифрования русского алфавита и закодировать фразу: “Чем человек просвещеннее, тем он полезнее своему Отечеству” (Грибоедов).

Лабораторная работа № 5*

Методы защиты информации. Шифр Цезаря.

Цель работы: Освоить технологию шифрования и дешифрования

информации в среде Excel с использованием шифра Цезаря.

5.1. Теоретическая часть

Шифр Цезаря является частным случаем шифра простой замены (одноалфавитной подстановки). Свое название этот шифр получил по имени римского императора Гая Юлия Цезаря, который использовал этот шифр при переписке.

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

Например: пусть A – используемый алфавит:

A={a1, a2,…,am,...,aN},

где a1, a2,…,am,...,aN – символы алфавита; N ширина алфавита.

Пусть k – число позиций сдвига символов алфавита при шифровании, 0<k<N. При шифровании каждый символ алфавита с номером m из кодируемого текста заменяется на символ этого же алфавита с номером m+k. Если m+k >N, номер символа в алфавите A определяется как m+k-N.

Для дешифрования текстовой информации номер позиции символа восстанавливаемого текста определяется как m-k. Если m-k<0, то вычисление этого номера производится как m-k+N.

Достоинством этой системы является простота шифрования и дешифрования. К недостаткам системы Цезаря следует отнести:

- подстановки, выполняемые в соответствии с системой Цезаря, не маскируют частот появления различных букв исходного и отрытого текста;

- сохраняется алфавитный порядок в последовательности заменяющих букв;

при изменении значения k изменяются только начальные позиции такой последовательности;

- число возможных ключей k мало;

- шифр Цезаря легко вскрывается на основе анализа частот появления букв в шифре.

5.2. Порядок выполнения лабораторной работы 1. Войти в среду Excel. Создать новый документ, перейти на второй лист этого документа. Начиная с ячейки A1 до A40 набрать алфавит, как показано на рисунке 5.1”а”. Выделить весь диапазон алфавита и назначить ему имя “ABC”.

2. На первом листе документа в ячейке B1 набрать текст, который необходимо зашифровать, например: Гай Юлий Цезарь:”Пришел, увидел, победил!” При наборе текста необходимо использовать только те символы, которые входят в алфавит.

3. В ячейке B3 записать формулу «=ПРОПИСН(B1)», функция ПРОПИСН переводит буквенные символы в строке в прописные буквы.

4. В ячейке D3 записать формулу «=ДЛСТР(B3)», функция ДЛСТР позволяет определить длину строки, что необходимо пользователю, для кодировки исходной строки.

5. В ячейку D4 записать значение k, например, 5.

6. В столбце А, начиная с ячейки А6, пронумеровать ячейки числами последовательного ряда от 1 до N, где N – число символов в тексте, включая пробелы.

N рассчитано в ячейке D3.

7. В ячейку B6, записать формулу “=ПСТР(B$3;A6;1)”, которая разделяет кодируемый текст на отдельные символы. Скопировать эту формулу в ячейки В7-В47.

8. В ячейку C6 записать формулу “=ПОИСКПОЗ(B6;ABC;0)”. Функция ПОИС-КПОЗ производит поиск индекса (номера позиции) символа в массиве ABC, который был определен на листе 2. Скопировать содержимое ячейки C6 в ячейки C7-C47.

9. Получив номер символа в алфавите ABC, произвести сдвиг нумерации алфавита для кодируемой последовательности символов. В ячейку D6 записать формулу:

“=ЕСЛИ(ПОИСКПОЗ(B6;ABC;0)+$D$4>36;ПОИСКПОЗ(B6;ABC;0)+$D$4- 36;ПОИСКПОЗ(B6;ABC;0)+$D$4)”. (5.1)

Эта формула производит сдвиг номеров символов алфавита на величину k и определяет номер заменяющего символа из алфавита ABC. Содержимое D6 скопировать в область D7-D47.

10. Выбрать символы из алфавита ABC в соответствии с новыми номерами. В ячейку E6 записать формулу “=ИНДЕКС(ABC;D6)”. Скопировать содержимое ячейки E6 в область E7-E47.

11. Для получения строки закодированного текста необходимо в ячейку F6 записать “=E6”, в ячейку F7 соответственно – “=F6&E7”. Далее скопировать содержимое ячейки F7, в область F8-F47. В ячейке F47 прочитать зашифрованный текст.

12. Для проверки шифрования произвести дешифрование полученного текста и сравнить его с исходным. На третьем листе выполнить дешифрование аналогично пунктам 2-11 лабораторной работы. При этом необходимо учесть следующие особенности:

в п. 2 набрать зашифрованный текст;

в п. 9 в ячейку D6 записать формулу:

=ЕСЛИ(ПОИСКПОЗ(B6;ABC;0)-$D$4<0;ПОИСКПОЗ(B6;ABC;0)-$D$4+40;ПОИСКПОЗ(B6;ABC;0)-$D$4). (5.2)

Получение исходного текста в ячейке F47 третьей страницы свидетельствует о корректном выполнении лабораторной работы.

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

1. В чем заключается принцип защиты информации с использованием шифра Цезаря?

2. Объяснить формулы (5.1) и (5.2).

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

4. В чем достоинства и недостатки шифра Цезаря?

5. Какие еще методы защиты информации Вам известны?

а) б)

в) г)

Рис. 5.1. - Фрагменты документов Excel по лабораторной работе № 5:

а) алфавит символов шифра Цезаря; б) начальная часть документа

шифрования; в) и г) начальная и конечная часть документа дешифрования

Описание Принцип

Шифрование сделано двумя этапами – транспонированием и транслитерацией.

1) Транспонированием – текст записывается в несколько строк, образуя некую матрицу из строк и колонок, с заданным количеством символов в строке. Строки и колонки меняются местами, а количество и порядок этих перестановок напрямую зависят от пароля (количество символов в строке, также зависит от пароля).

2) Транслитерация – замещение одних символов другими в определённом порядке, а этот порядок опять же, зависит от пароля.

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

Для создания уникального пароля рекомендую пользоваться "Генератором паролей".

Процесс

Вот пример шифрования:

Не зашифрованный текст = "Жил, был у бабушки серенький козлик"

Пароль = "12345"

Результат = ",рлбнсиыллаоыйбарббьбблзшсб ссуе,ыбЖ,кб"

Вот обратный процесс, расшифровки:

Зашифрованный текст = ",рлбнсиыллаоыйбарббьбблзшсб ссуе,ыбЖ,кб"

Пароль = "12345"

Результат = "Жил, был у бабушки серенький козлик    "

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

Также Вы можете видеть, что частота символов изменилась в зашифрованном тексте. Например, есть пять символов "и" в простом тексте, и только один в зашифрованном. Есть только одно "с" в простом тексте и четыре в зашифрованном тексте. Нет ни одного символа, повторяющего четыре раза в простом тексте (даже пробелов девять в расшифрованном тексте из-за вышеупомянутого требования).

Особенности

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

Текст невозможно восстановить простым подбором (заменой) символов.

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

Любой текст может быть зашифрован и расшифрован только одним и тем же паролем.

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

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

Рекомендации

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

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

Не рекомендуется шифровать текст менее 130 символов (этим вы упрощаете расшифровку без пароля). Если Вы хотите зашифровать одно слово, то лучше дописать к нему что-нибудь ещё.

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

P.S. Если хотите ещё больше узнать о данном методе шифрования, можете ознакомиться с более подробным техническим описанием, написанным автором данного метода (Tomislav Sereg, англ.).