ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 97
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
1 ШИФРОВАНИЕ МЕТОДАМИ ПЕРЕСТАНОВКИ. ПОДСТАНОВКА СТЕПЕНИ NЛабораторная работа №1
Все перечисленные методы относятся к симметричному шифрованию. В симметричных криптоалгоритмах для зашифровки и расшифровки сообщения используется один и тот же блок информации - ключ, который должен храниться в тайне и передаваться способом, исключающим его перехват.Шифр, преобразования из которого изменяют только порядок следования символов исходного текста, но не изменяют их самих, называется шифром перестановки (ШП). Суть методов перестановки состоит в том, что входной поток исходного текста делится на блоки, в каждом из которых выполняется перестановка символов.Рассмотрим преобразование из ШП, предназначенное для зашифровки сообщения длиной n символов. Его можно представить с помощью таблицы где i1- номер шифртекста, на которое попадает первая буква исходного сообщения при выбранном преобразовании, i2 - номер места для второй буквы и т.д. В верхней строке таблицы выписаны по порядку числа от 1 до n , а в нижней - те же числа, но в произвольном порядке. Такая таблица называется подстановкой степени n.Зная подстановку, задающую преобразование, можно осуществить как зашифрование, так и расшифрование текста. Например, если для преобразования используется подстановка
и в соответствии с ней зашифровывается слово ПРИМЕР, то получится МЕИРПР. Следующий фрагмент программного кода (на языке Object Pascal) демонстрирует использование шифра перестановки для шифрования исходного сообщения и его расшифровки:…………………………………………….const Lmax=100;…………………………………………….type TArr=array[1..Lmax] of integer;…………………………………………….{процедура-функция шифрования текста входные параметры: txt - исходный текст, password - ключрезультат функции - строка зашифрованного текста}function SH_TO(txt:string;password:TArr):string;
var i,l:integer;shifr:array[1..Lmax] of char;s:string;beginl:=length(txt);for i:=1 to l doshifr[password[i]]:=txt[i];for i:=1 to l dos:=s+shifr[i];result:=s;end;…………………………………………….{процедура-функция расшифровки текста входные параметры: txt - зашифрованный текст, password - ключрезультат функции - строка расшифрованного текста}function SH_FROM(txt:string;password:TArr):string;var i,l:integer;s:string;beginl:=length(txt);for i:=1 to l dos:=s+txt[Password[i]];result:=s; end;
-
Цель лабораторной работы
-
Теоретические сведения
Все перечисленные методы относятся к симметричному шифрованию. В симметричных криптоалгоритмах для зашифровки и расшифровки сообщения используется один и тот же блок информации - ключ, который должен храниться в тайне и передаваться способом, исключающим его перехват.Шифр, преобразования из которого изменяют только порядок следования символов исходного текста, но не изменяют их самих, называется шифром перестановки (ШП). Суть методов перестановки состоит в том, что входной поток исходного текста делится на блоки, в каждом из которых выполняется перестановка символов.Рассмотрим преобразование из ШП, предназначенное для зашифровки сообщения длиной n символов. Его можно представить с помощью таблицы где i1- номер шифртекста, на которое попадает первая буква исходного сообщения при выбранном преобразовании, i2 - номер места для второй буквы и т.д. В верхней строке таблицы выписаны по порядку числа от 1 до n , а в нижней - те же числа, но в произвольном порядке. Такая таблица называется подстановкой степени n.Зная подстановку, задающую преобразование, можно осуществить как зашифрование, так и расшифрование текста. Например, если для преобразования используется подстановка
| 1 | 2 | 3 | 4 | 5 | 6 |
| 5 | 4 | 3 | 1 | 2 | 6 |
var i,l:integer;shifr:array[1..Lmax] of char;s:string;beginl:=length(txt);for i:=1 to l doshifr[password[i]]:=txt[i];for i:=1 to l dos:=s+shifr[i];result:=s;end;…………………………………………….{процедура-функция расшифровки текста входные параметры: txt - зашифрованный текст, password - ключрезультат функции - строка расшифрованного текста}function SH_FROM(txt:string;password:TArr):string;var i,l:integer;s:string;beginl:=length(txt);for i:=1 to l dos:=s+txt[Password[i]];result:=s; end;
-
Задание на лабораторную работу
-
возможность задания исходного текста пользователем; -
возможность как задания ключа пользователем, так и формирования ключа с помощью генератора ПСЧ (случайным образом); -
выдачу на экран: исходного текста, ключа, шифрованного текста и расшифрованного текста.
-
Вопросы для защиты лабораторной работы
-
В чем заключается суть методов перестановки? -
Что называют подстановкой степени n? -
В чем преимущества и недостатки шифрования методами перестановки?