Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Хранение и защита компьютерной информации. Лабораторный практикум

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
б) на втором листе электронной книги (рис. 7.13) запишем
название работы, ключ и название столбцов таблицы (S – исход­ные символы, Х – числа исходных символов, Y – пересчитанные по формуле значения, S1 – символы закрытого текста). Значе­ние ключа можно взять любым и обязательно его значение запи­сать в отдельную ячейку (В5). В столбец S, начиная с 8 строки, впишите фамилию и имя, каждую букву в отдельной ячейке. В столбце Х должны быть числовые значения символов из столбца S. Эти значения хранятся на листе Алфавит (см. рис. 7.12). Что­бы получить их, можно применить функцию ВПР (категория – ссылки и массивы). Переходим в ячейку В8 и вызываем функ­цию ВПР. Заполняем ее окно (рис. 7.14);
Рис. 7.13. Исходные данные
Рис. 7.14. Ввод аргументов функции ВПР (для X)
в) растянем формулу вниз до конца таблицы;
61
г) в ячейку С8 (столбец Y) запишем формулу yi = (xi + k) mod n для шифрования по методу Цезаря. Операции mod в Excel со­ответствует функция ОСТАТ(число; делитель). В нашем случае это (x
+ k), а делитель – 32. Следовательно, функция ОСТАТ бу-
i
дет иметь вид =ОСТАТ((B8+$B$5);32). Растянем формулу до конца таблицы;
д) в ячейку D8 (столбец S1) записываем функцию ВПР, ко­торая по числу Y найдет букву (рис. 7.15).
Рис. 7.15. Ввод аргументов функции ВПР (для Y)
62
Рис. 7.16. Таблица Шифр Цезаря
Окончательно таблица будет выглядеть, как показано на
рис. 7.16;
е) выполним дешифрование информации (рис. 7.17) анало-
гично расшифровыванию. Для расшифровывания (столбца Х) используем формулу x
= (yi + (32 – k)) mod 32.
i
Рис. 7.17. Шифрование и дешифрование информации
Отчет по работе
Каждый студент составляет отчет о проделанной работе объ-
емом 4-5 с., который должен содержать следующие материалы.
1. Краткое изложение теории.
2. Краткое описание методики проведения лабораторной ра-
боты.
63
3. Исходные данные, расчеты и их результаты.
4. Выводы о проделанной работе.
Контрольные вопросы
1. В чем заключается принцип шифра Цезаря?
2. Каким образом составляется квадрат Виженера?
3. Как задается сдвиг буквы?
4. Что собой представляет ASCII-код?
5. Как можно реализовать шифрование формулами по квадра-
ту Виженера в Excel?
6. Как можно реализовать шифрование формулами по кодам
символов в Excel??
7. Как можно автоматизировать процесс шифрования-дешиф-
рования в Excel?
64
Лабораторная работа 8
МАТЕМАТИЧЕСКИЕ ОСНОВЫ
КРИПТОГРАФИЧЕСКИХ МЕТОДОВ
(часть 2)
Цель работы
Рассмотреть методику выполнения шифрования данных в
MATLAB.
Теоретическая часть
Шифр подстановки (замены) – это метод шифрования, при ко­тором элементы исходного открытого текста заменяются зашифро­ванным по некоторому правилу текстом. Элементами текста могут быть отдельные символы (самый распространенный случай), пары букв, тройки букв, комбинирование этих случаев и т.д. В класси­ческой криптографии различают четыре типа шифра подстановки:
– одноалфавитный шифр подстановки (шифр простой заме­ны) – шифр, при котором каждый символ открытого текста за­меняется на фиксированный (при данном ключе) символ того же алфавита;
– однозвучный шифр подстановки похож на одноалфавит­ный за исключением того, что символ открытого текста может быть заменен одним из нескольких возможных символов;
– полиграммный шифр подстановки заменяет не один сим­вол, а целую группу;
– полиалфавитный шифр подстановки состоит из несколь­ких шифров простой замены.
Гаммирование (или Шифр XOR) – метод симметричного шиф-
рования, сущность которого заключается в «наложении» состоя­щей из случайных чисел последовательности на открытый текст.
Порядок выполнения работы
1. В командной строке MATLAB задать строковую перемен-
ную S с заданной фразой (ниже приведен пример, фразу приду­майте сами) и преобразовать строковую переменную в массив ко­дов (без символа >> выводится ответ). Например:
65
>> S=’Я помню чудное мгновение’
>> C=double(S) % Преобразование фразы в код C = Columns 1 through 12 1071 32 1087 1086 1084 1085 1102 32 1095 1091 1076 1085 Columns 13 through 24 1086 1077 32 1084 1075 1085 1086 1074 1077 1085 1080 1077
2. Выполнить шифрование полученного вектора кодов стро-
ки S. Например, реализуем шифрование по методу замены. Вы­полним сдвиг символов на 3 (задайте свое значение) позиции вправо с последующим представлением полученных кодов в виде шифрограммы (символ % обозначает комментарий):
% Формирование шифрограммы кодов строки S >> CK=mod(C+3,1104) % Замена кодов строки в другой код CK = Columns 1 through 12 1074 35 1090 1089 1087 1088 1105 35 1098 1094 1079 1088 Columns 13 through 24 1089 1080 35 1087 1078 1088 1089 1077 1080 1088 1083 1080 % Получение шифрограммы символов >> CH=char(CK) CH = в#тспр#ъцзрси#пжрсеирли % Шифрограмма заданной
фразы
3. Восстановить исходную фразу:
>> CD=double(CH) % Преобразование шифрограммы в код CD = Columns 1 through 12 1074 35 1090 1089 1087 1088 1 35 1098 1094 1079 1088 Columns 13 through 24 1089 1080 35 1087 1078 1088 1089 1077 1080 1088 1083 1080 >> SD=mod(CD-3,1104) % Восстановление кодов строки
SD = Columns 1 through 12 1071 32 1087 1086 1084 1085 1102 32 1095 1091 1076 1085 Columns 13 through 24 1086 1077 32 1084 1075 1085 1086 1074 1077 1085 1080 1077
% Восстановление текстовой фразы
>> T=char(D)
T = Я помню чудное мгновение
Вывод: результат восстановления вектора T полностью со­впал с исходной строкой S.
4. В Simulink создать модели, реализующие процессы шиф-
рования и дешифрования методом замены и методом гаммирова­ния (рис. 8.1–8.2).
66
Рис. 8.1. Модель шифрования и расшифрования строки мето-
дом замены
67
68
Рис. 8.2. Модель шифрования и расшифрования строки мето-
дом гаммирования
Блоки работают с цифровыми данными. Следовательно, сна­чала требуется преобразовать строковую фразу в соответству­ющий ей код, а затем для дальнейшего шифрования вызвать вектор данных кода из рабочей области в модель. Эти функции выполняет блок From Workspace.
Выполнение обработки цифровых данных по заданному алго­ритму реализуется в блоке MATLAB Function.
Передача кодов шифрограммы в рабочую область (для считы­вания шифрограммы в командной строке) осуществляется по­средством блока To Workspace.
Аналогично работает приемная часть модели.
Модель шифрования и расшифрования строки методом гам­мирования (см. рис. 8.2) содержит дополнительные блоки:
From Workspace1 (с параметром Дата: G1) для считывания кодов гаммы с командной строки;
Mux (подбиблиотеки Signal Routing) для объединения векто­ров кодов строки и гаммы.
5. Установить для каждого блока соответствующие свойства
(рис. 8.3–8.5).
Рис. 8.3. Окно установки параметров блока From Workspace
Во втором блоке MATLAB Fcn1 (первый блок не нумерует­ся) задается имя M-функции дешифрования DSC. В случае ис-
69
пользования метода гаммирования имя M-функции задается с двумя входными параметрами (S,G), например SCG(S,G) или DSCG(CH,G).
Рис. 8.4. Окно установки параметров блока From Workspace1
70
Рис. 8.5. Окно установки параметров блока MATLAB Fcn