Лабораторный практикум
Лабораторная работа 1.1 Изучение классических шифров замены
Задание
Изучить процедуры шифрования и расшифрования в шифрах Цезаря и Виженера.
Технология выполнения задания
Задание 1. Зашифровать слово с помощью шифра Цезаря.
- 1. В приложении MS Excel создать книгу, содержащую пронумерованные символы русского алфавита: в первом столбце ввести номера от 0 до 32, во втором — символы алфавита по порядку, в третьем — снова нумерацию от 0 до 32. В книгу отформатировать (уменьшить) ширину столбцов для удобного введения в них текста побуквенно (рис. 1.37), для облегчения данной задачи можно использовать копирование форматов.
- 2. Выбрать значение ключа равным номеру варианта (от 1 до 32).
- 3. Зашифровать слово «семена» с помощью шифра Цезаря с выбранным ключом:
- • ввести шифруемое слово побуквенно в ячейки первой строки отформатированной области; важно, чтобы символы алфавита в таблице и символы вводимого слова были набраны в одном регистре;

Рис. 1.37. Пример содержания и форматирования книги «Алфавит»
- • строкой ниже получить числовой код символов шифруемого слова с помощью функции ВПР:
- — первым параметром (Искомое _значение) функции назначить ссылку на ячейку с текущим символом шифруемого слова,
- — вторым параметром (Таблица) функции назначить ссылку на таблицу с алфавитом, начиная со второго столбца (столбцы 2 и 3), ссылку на таблицу сделать абсолютной, нажав кнопку F4,
- — значение третьего параметра (Номер столбца) задать равным 2,
- — в качестве значения четвертого параметра (Интервальный_просмотр) ввести слово «ложь», например =ВПР(П;$В$1:$С$33;2;ЛОЖЬ), скопировать функцию для всех символов шифруемого слова (рис. 1.38);

Рис. 1.38. Пример вычисления числового кода символа
- • строкой ниже получить код символа криптограммы, сложив по модулю 33 полученный код текущего символа со значением ключа:
- — ввести значение ключа,
- — во второй строке под текущим символом шифруемого слова вставить функцию ОСТАТ,
- — в качестве значения первого параметра (Число) функции указать сумму ячейки с кодом шифруемого символа и ячейки со значением ключа (ссылку на значение ключа сделать абсолютной),
- — второй параметр (Делитель) задать равным 33, например OCTAT(F2+$E$3;33), скопировать сформированную функцию ОСТАТ для всех символов шифруемого слова (рис. 1.39);

Рис. 1.39. Пример вычисления кода криптограммы, ключ равен 15
- • строкой ниже с помощью функции ВПР перевести полученный код криптограммы в символьный вид:
- — в качестве значения первого параметра функции назначить ссылку на ячейку с текущим кодом криптограммы,
- — в качестве значения второго параметра функции назначить ссылку на таблицу с алфавитом начиная с первого столбца (столбцы 1 и 2), сделать ссылку на таблицу абсолютной,
- — значение третьего параметра (Номер_столбца) задать равным 2,
- — в качестве значения четвертого параметра (Интервальный_просмотр) ввести слово «ложь», например, =ВПР(РЗ;$А$1:$В$33;2;ЛОЖЬ), скопировать функцию для всех символов шифруемого слова (рис. 1.40) — криптограмма получена.

Рис. 1.40. Пример текста, зашифрованного шифром Цезаря
- 4. Проверить результат шифрования с помощью онлайн-калькулятора http://planetcalc.ru/1434/.
- 5. Проанализировать полученный текст криптограммы, обратив внимание на повторяющиеся символы.
Задание 2. Расшифровать криптограмму, полученную с помощью шифра Цезаря.
6. Выбрать значение ключа шифрования и криптограмму из табл. 1.9 в соответствии с номером варианта (от 1 до 32).
Таблица 1.9
Варианты задания
Номер варианта |
Ключ |
Криптограмма |
Номер варианта |
Ключ |
Криптограмма |
1 |
31 |
пжйжимл |
17 |
14 |
яцабндцм |
2 |
29 |
жьибзеы |
18 |
13 |
юхъыъхщ |
3 |
28 |
ёазкдию |
19 |
2 |
йвгвдв |
4 |
27 |
еъкнляёц |
20 |
И |
тклщэк |
5 |
26 |
пюжжзклх |
21 |
10 |
фйцоъй |
6 |
25 |
йлижйкжв |
22 |
9 |
ъцехчу |
7 |
24 |
жёгёйсё |
23 |
3 |
ъзоссзн |
8 |
23 |
зящдцв |
24 |
7 |
охтхщх |
9 |
22 |
еъёъщхмх |
25 |
6 |
чкцкжцф |
К) |
21 |
егжфкэу |
26 |
30 |
пэюрнвп |
11 |
20 |
ыугьеюу |
27 |
32 |
ётиябкы |
12 |
19 |
фбгбучь |
28 |
5 |
цжйьпе |
13 |
18 |
эъгъзс |
29 |
12 |
чяцънфвл |
14 |
17 |
схухэяг |
30 |
4 |
цифирто |
15 |
16 |
яюышёшо |
31 |
8 |
трщмуд |
16 |
15 |
ачньчу |
32 |
1 |
лбвбшпл |
- 7. Расшифровать криптограмму выбранным ключом:
- • ввести побуквенно текст криптограммы в ячейки строки отформатированной области; важно, чтобы символы алфавита в таблице и символы вводимого слова были набраны в одном регистре;
- • строкой ниже получить числовой код символов шифруемого слова с помощью функции ВПР;
- • строкой ниже получить код символов расшифрованного теста, вычтя но модулю 33 значение ключа из полученного кода текущего символа криптограммы, используя функцию ОСТАТ (рис. 1.41);

Рис. 1.41. Пример вычисления кода открытого текста шифра Цезаря
• строкой ниже с помощью функции ВПР перевести полученный код криптограммы в символьный вид. Критерием правильности расшифрования является получение осмысленного слова.
Задание 3. Зашифровать слово с помощью шифра Виженера.
8. Выбрать значение ключа шифрования из табл. 1.10 в соответствии с номером варианта (от 1 до 26).
Таблица 1.10
Варианты задания
Номер варианта |
Ключ |
Криптограмма |
Номер варианта |
Ключ |
Криптограмма |
1 |
слон |
гфьацючше |
14 |
стул |
хбеюевбъгеп |
2 |
клин |
хфйтыщнауци |
15 |
флаг |
фцтцфчьргэгя |
3 |
смех |
юмчъюмчюьм |
16 |
дрель |
хтурюфхсрйсяцюш |
4 |
звон |
зтчвфжбцтв |
17 |
цена |
буюрыпанецаь |
5 |
приз |
мюнштхырър |
18 |
парус |
биэацврщкяюсгп |
6 |
лист |
юнэчшидгфз |
19 |
скунс |
юшвращшуеяаьёй |
7 |
свет |
ьрсяеннэсшнс |
20 |
кот |
чэащюбцчс |
8 |
вой |
фухжртёучку |
21 |
право |
ухлрюаяийрюфефрю |
9 |
мир |
юкхячфхчф |
22 |
куча |
оввучшетщвшоывй |
10 |
час |
ангйаэгязая |
23 |
мост |
ыралсрацюбуб |
И |
кол |
кюрцъкбчк |
24 |
окно |
хупэбшьрэоябрщ |
12 |
слово |
ьъьцчхрьшчечкиэгюк |
25 |
глаз |
п щоксуал гг н цф ю ь |
13 |
клуб |
бряпьюбпьюп |
26 |
труд |
вхдидядцыжу |
- 9. Зашифровать слово «алфавит» с помощью шифра Виженера с выбранным ключом:
- • ввести побуквенно шифруемое слово в ячейки строки отформатированной области; важно, чтобы символы алфавита в таблице и символы вводимого слова были набраны в одном регистре;
- • строкой ниже получить числовой код символов шифруемого слова с помощью функции ВПР;
- • строкой ниже ввести побуквенно ключ шифра Виженера, циклически повторяя его, пока не будет достигнут конец шифруемого слова (рис. 1.42);

Рис. 1.42. Пример создания ключевой строки шифра Вижеиера, ключевое слово «сыр»
- • строкой ниже получить числовой код символов ключевой строки с помощью функции ВПР;
- • строкой ниже получить код символа криптограммы, сложив по модулю 33 полученный код текущего символа шифруемого слова с кодом текущего символа ключевой строки, используя функцию ОСТАТ (рис. 1.43);

Рис. 1.43. Пример вычисления кода криптограммы шифра Виженера
- • строкой ниже с помощью функции ВПР перевести полученный код криптограммы в символьный вид.
- 10. Проверить результат шифрования с помощью онлайн-калькулятора http://planetcalc.ru/2468/.
Задание 4. Расшифровать криптограмму, полученную с помощью шифра Виженера.
- 11. Выбрать значение ключа шифрования и криптограмму из табл. 1.10 в соответствии с номером варианта (от 1 до 26).
- 12. Расшифровать криптограмму выбранным ключом:
- • ввести текст криптограммы побуквенно в ячейки строки отформатированной области; важно, чтобы символы алфавита в таблице и символы вводимого слова были набраны в одном регистре;
- • строкой ниже получить числовой код символов шифруемого слова с помощью функции ВПР;
- • строкой ниже сформировать ключевую строку;
- • строкой ниже получить числовой код символов ключевой строки с помощью функции ВПР;
- • строкой ниже получить код символа открытого текста, вычтя по модулю 33 код текущего символа ключевой строки из кода текущего символа криптограммы, используя функцию ОСТАТ (рис. 1.44);
- • строкой ниже с помощью функции ВПР перевести полученный код криптограммы в символьный вид. Критерием правильности расшифрования является получение осмысленного слова.

Рис. 1.44. Пример вычисления кода открытого текста шифра Виженера