Перейти к основному содержанию

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

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

Шифр Цезаря является частным случаем шифра простой замены (одноалфавитной подстановки). Свое название этот шифр получил по имени римского императора Гая Юлия Цезаря, который использовал этот шифр при переписке. При шифровании исходного текста каждая буква заменяется другой буквой того же алфавита по следующему правилу. Заменяющая буква определяется путем смещения по алфавиту к концу от исходной буквы на k букв. При достижении конца алфавита выполняется циклический переход к его началу.
Например: пусть A – используемый алфавит:

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

где a1, a2,…,am,...,aN – символы алфавита; N ширина (мощность) алфавита. Пусть k – число позиций сдвига символов алфавита при шифровании, 0<k<N. При шифровании каждый символ алфавита сномером m изкодируемого текста заменяется на символ этого же алфавита с номером m+k.Если m+k>N,номер символа в алфавите А определяется как m+k-N.

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

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

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

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

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

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

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

1. Войти в среду Excel. Создать новый документ. На первом листе начиная с ячейки A1 до А40 набрать алфавит, в точности так, как показано на рис.1a. Выделить весь диапазон алфавита и назначить ему имя "ABC". Для этого щелкнуть по выделенному диапазону правой кнопкой мыши и применить команду "Имя диапазона...".

1

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

При наборе текста необходимо использовать только те символы, которые входят в набранный алфавит!

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

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

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

6. В столбце А, начиная с ячейки A6, пронумеровать ячейки числами последовательного ряда от 1 до N, где N — число символов в тексте, включая пробелы. N рассчитано в ячейке D3 (N = 42).

7. В ячейку B6, записать формулу "=ПСТР(В$З;А6;1)", которая разделяет кодируемый текст на отдельные символы. Скопировать этуформулу в ячейки B7—B47.

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

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

"=ЕСЛИ(ПОИСКПОЗ(В6;АВС;0)+$D$4>40;ПОИСКПОЗ(В6;АВС;0)+$D$4- 40;ПОИСКПОЗ(В6;АВС;0)+$D$4)" (1)

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

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

11. Для получения строки закодированного текста необходимо в ячейку F6 записать "=E6", в ячейку F7 соответственно — "=F6&E7". Далее скопировать содержимое ячейки F7, в область F8—F47.

В ячейке F47 прочитать зашифрованный текст.

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

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

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

=ЕСЛИ(ПОИСКПОЗ(Вб;АВС;0)—$D$4<0;ПОИСКПОЗ(Вб;АВС;0)—

$D$4+40;ПOИCKПO3(B6;ABC;0)-$D$4). (2)

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

2534