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

Технологии защиты информации

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

ИЛИ

2. Написать программу в любой программной среде, позволяющую осуществлять шифрование и дешифрование методом Виженера (max 4 балла)

ИЛИ

3. Выполнить лабораторную работу в MS Excel, реализующую шифрование/дешифрование методом Цезаря по следующему опиcанию (max 2 балла):

Цель работы: Освоить технологию шифрования и дешифрования информации в среде Excel с использованием шифра Цезаря.

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

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

При шифровании исходного текста каждая буква заменяется другой буквой того же алфавита по следующему правилу. Заменяющая буква определяется путем смещения по алфавиту к концу от исходной буквы на 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 мало;

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

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

1. Войти в среду Excel. Создать новый документ, перейти на второй лист этого документа. Начиная с ячейки A1 до A40 набрать алфавит, как показано на рисунке 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)”. (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 лабораторной работы, исправив формулы согласно алгоритму расшифровки (см. рис. 1 – в), г))

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

а) б)

в) г).

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

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

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