ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 15
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
1 ШИФРОВАНИЕ МЕТОДАМИ ПЕРЕСТАНОВКИ. ПОДСТАНОВКА СТЕПЕНИ N
Лабораторная работа №1
-
Цель лабораторной работы
Целью лабораторной работы является изучение метода криптографического преобразования информации подстановкой степени n.
-
Теоретические сведения
Защита информации методами криптографического преобразования заключается в изменении ее составных частей (слов, букв, слогов, цифр) с помощью специальных алгоритмов либо аппаратных решений и кодов ключей, то есть в приведении ее к неявному виду (шифрование). Для ознакомления с шифрованной информацией применяется обратный процесс - дешифрование (расшифровка).
Использование криптографии - один из распространенных методов, значительно повышающих безопасность передачи данных в сетях ЭВМ, данных, хранящихся в удаленных устройствах памяти, и при обмене информацией между удаленными объектами. Для преобразования (шифрования) обычно используется некоторый алгоритм или устройство, реализующее заданный алгоритм, которые могут быть известны широкому кругу лиц. Управление процессом шифрования осуществляется с помощью периодически меняющегося кода ключа, обеспечивающего каждый раз оригинальное представление информации при использовании одного и того же алгоритма или устройства. Знание ключа позволяет просто и надежно расшифровать текст. В противном случае эта процедура может быть практически невыполнима даже при известном алгоритме шифрования.
Простое преобразование информации служит весьма эффективным средством, дающим возможность скрыть ее смысл от большинства неквалифицированных нарушителей.
В настоящее время некоторые методы шифрования хорошо проработаны и являются классическими. Множество современных методов защитных преобразований можно классифицировать на четыре большие группы: перестановки, замены (подстановки), аддитивные и комбинированныеметоды.
Методы перестановки и подстановки обычно характеризуются короткой длиной ключа, а надежность их защиты определяется сложностью алгоритмов преобразования. Аддитивным методам присущи простые алгоритмы преобразования, а их криптостойкость основана на увеличении длины ключа.
Все перечисленные методы относятся к симметричному шифрованию. В симметричных криптоалгоритмах для зашифровки и расшифровки сообщения используется один и тот же блок информации - ключ, который должен храниться в тайне и передаваться способом, исключающим его перехват.
Шифр, преобразования из которого изменяют только порядок следования символов исходного текста, но не изменяют их самих, называется шифром перестановки (ШП).
Суть методов перестановки состоит в том, что входной поток исходного текста делится на блоки, в каждом из которых выполняется перестановка символов.
Рассмотрим преобразование из ШП, предназначенное для зашифровки сообщения длиной n символов. Его можно представить с помощью таблицы
где i1- номер шифртекста, на которое попадает первая буква исходного сообщения при выбранном преобразовании, i2 - номер места для второй буквы и т.д. В верхней строке таблицы выписаны по порядку числа от 1 до n , а в нижней - те же числа, но в произвольном порядке. Такая таблица называется подстановкой степени n.
Зная подстановку, задающую преобразование, можно осуществить как зашифрование, так и расшифрование текста. Например, если для преобразования используется подстановка
1 | 2 | 3 | 4 | 5 | 6 |
5 | 4 | 3 | 1 | 2 | 6 |
и в соответствии с ней зашифровывается слово ПРИМЕР, то получится МЕИРПР.
Следующий фрагмент программного кода (на языке 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;
begin
l:=length(txt);
for i:=1 to l do
shifr[password[i]]:=txt[i];
for i:=1 to l do
s:=s+shifr[i];
result:=s;
end;
…………………………………………….
{процедура-функция расшифровки текста
входные параметры: txt - зашифрованный текст, password - ключ
результат функции - строка расшифрованного текста}
function SH_FROM(txt:string;password:TArr):string;
var i,l:integer;
s:string;
begin
l:=length(txt);
for i:=1 to l do
s:=s+txt[Password[i]];
result:=s;
end;
-
Задание на лабораторную работу
Реализовать программно алгоритм шифрования подстановкой степени n. Среда разработки на усмотрение студента.
При выполнении лабораторной работы необходимо предусмотреть:
-
возможность задания исходного текста пользователем; -
возможность как задания ключа пользователем, так и формирования ключа с помощью генератора ПСЧ (случайным образом); -
выдачу на экран: исходного текста, ключа, шифрованного текста и расшифрованного текста.
-
Вопросы для защиты лабораторной работы
-
В чем заключается суть методов перестановки? -
Что называют подстановкой степени n? -
В чем преимущества и недостатки шифрования методами перестановки?