Просмотр содержимого документа
«Практическая работа "Кодирование информации в электронной таблице"»
Практическая работа «Шифрование данных. Шифр Виженера»
Цель работы: используя возможности табличного процессора OpenOficce.org Calc, автоматизировать процесс кодирования слов шифром Виженера.
Задание.
С помощью табличного процессора Calc автоматизировать процесс кодирования слов с использованием ключевого слова bank (предполагается, что слова будут состоять только из строчных латинских букв и длина их не будет превышать 10 символов).
Для решения задачи необходимо использовать текстовые функции CHAR и CODE.
Каждая буква текста должна храниться в отдельной ячейке. Величина сдвига должна определяться автоматически (код буквы ключевого слова минус код буквы“a” плюс единица).
Решение для слова geometry
В строке 2 размещается повторяющееся ключевое слово, каждая буква которого задает сдвиг буквы исходного слова.
В строке 3 – значения сдвигов, соответствующие буквам ключевого слова. Эти значения рассчитываются по формуле:
=CODE(B2)-CODE(“a”) + 1.
Функция CODE(символ) в качестве результата дает код из таблицы ASCII для указанного аргумента. Аргументом может быть либо символ, либо адрес ячейки, в которой хранится символ. Т.к. буквы английского алфавита в таблице ASCII расположены по алфавиту и имеют подряд идущие номера, то порядковый номер буквы в алфавите равен коду данной буквы минус код буквы “a” плюс единица. Так вычисляется сдвиг, соответствующий букве ключевого слова.
В строке 4 располагается исходное слово, которое нужно зашифровать.
В ячейках строки 5 размещаются формул шифрования. Формула в ячейке B5 такая:
=CHAR(CODE(“a”) + MOD(CODE(B4) - CODE(“a”) + B3;26))
Функция CHAR(код символа) возвращает символ по значению его ASCII-кода. Функция MOD(делимое; делитель) возвращает остаток от целочисленного деления. Английский алфавит содержит 26 букв. Остатки от деления на 26 – числа в диапазоне от 0 до 25. Это позволяет оставаться в пределах кодов строчных букв английского алфавита: от кода буквы “a” до кода буквы “z”.
Задание 1.
Переименуйте Лист 1 электронной таблицы в Задание 1.
а) Составьте таблицу и автоматизируйте процесс шифрования слова geometry.
б) автоматизируйте процесс шифрования слов algebra и English.
Задание 2.
Перейдите на Лист 2 и переименуйте его в Задание 2.
а) автоматизируйте процесс кодирования слов с использованием ключевого слова файл (предполагается, что слова будут состоять только из строчных русских букв и их длина не будет превышать 10 символов).
б) зашифруйте слова: алгоритм, компьютер, модель.
Задание 3.
Перейдите на Лист 3 и переименуйте его в Задание 3.
а) автоматизируйте процесс дешифрования слова из строчных английских букв;
б) дешифруйте шифры слов из первого задания.