Шифры замены (подстановки)
СОДЕРЖАНИЕ
1 Методы шифрования (краткий обзор) | |
2 Шифрование методами перестановки и замены (подстановки) | |
2.1 Шифры перестановки | |
2.2 Шифры замены (подстановки) | |
3 Формулировка задания | |
Список литературы |
1 МЕТОДЫ ШИФРОВАНИЯ (КРАТКИЙ ОБЗОР)
Целью лабораторной работы является изучение методов криптографического преобразования информации, основанных на симметричных криптоалгоритмах.
Защита информации методами криптографического преобразования заключается в изменении ее составных частей (слов, букв, слогов, цифр) с помощью специальных алгоритмов либо аппаратных решений и кодов ключей, то есть в приведении ее к неявному виду (шифрование). Для ознакомления с шифрованной информацией применяется обратный процесс - дешифрование (расшифровка).
Использование криптографии - один из распространенных методов, значительно повышающих безопасность передачи данных в сетях ЭВМ, данных, хранящихся в удаленных устройствах памяти, и при обмене информацией между удаленными объектами. Для преобразования (шифрования) обычно используется некоторый алгоритм или устройство, реализующее заданный алгоритм, которые могут быть известны широкому кругу лиц. Управление процессом шифрования осуществляется с помощью периодически меняющегося кода ключа, обеспечивающего каждый раз оригинальное представление информации при использовании одного и того же алгоритма или устройства. Знание ключа позволяет просто и надежно расшифровать текст. В противном случае эта процедура может быть практически невыполнима даже при известном алгоритме шифрования.
Простое преобразование информации служит весьма эффективным средством, дающим возможность скрыть ее смысл от большинства неквалифицированных нарушителей.
В настоящее время некоторые методы шифрования хорошо проработаны и являются классическими. Множество современных методов защитных преобразований можно классифицировать на четыре большие группы: перестановки, замены (подстановки), аддитивные и комбинированныеметоды.
Методы перестановки и подстановки обычно характеризуются короткой длиной ключа, а надежность их защиты определяется сложностью алгоритмов преобразования. Аддитивным методам присущи простые алгоритмы преобразования, а их криптостойкость основана на увеличении длины ключа.
Все перечисленные методы относятся к симметричному шифрованию. В симметричных криптоалгоритмах для зашифровки и расшифровки сообщения используется один и тот же блок информации - ключ, который должен храниться в тайне и передаваться способом, исключающим его перехват.
2 ШИФРОВАНИЕ МЕТОДАМИ ПЕРЕСТАНОВКИ И ЗАМЕНЫ (ПОДСТАНОВКИ)
Шифры перестановки
Шифр, преобразования из которого изменяют только порядок следования символов исходного текста, но не изменяют их самих, называется шифром перестановки (ШП).
Суть методов перестановки состоит в том, что входной поток исходного текста делится на блоки, в каждом из которых выполняется перестановка символов.
Рассмотрим преобразование из ШП, предназначенное для зашифровки сообщения длиной 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;
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;
…………………………………………….
Широкое распространение получили шифры перестановки, использующие некоторую геометрическую фигуру. Преобразования из этого шифра состоят в том, что в фигуру исходный текст вписывается по ходу одного «маршрута», а затем по ходу другого выписывается с нее. Такой шифр называют маршрутной перестановкой. Например, можно вписывать исходное сообщение в прямоугольную таблицу, выбрав такой маршрут: по горизонтали, начиная с левого верхнего угла поочередно слева направо и справа налево. Выписывать же сообщение - по другому маршруту: по вертикали, начиная с верхнего правого угла и двигаясь поочередно сверху вниз и снизу вверх.
Разновидностью шифра маршрутной перестановки является «шифр вертикальной перестановки» (ШВП). Запись исходного текста сообщения вписывается обычным способом в некоторую матрицу (по строкам слева направо). Выписываются буквы по вертикали, а столбцы при этом берутся в порядке, определяемом ключом. Таким образом, для матрицы размерностью 8x8 возможно 1,6x109 ключей, что позволяет на современных ЭВМ путем перебора расшифровать заданный текст. Но для матрицы 16x16 уже имеется 1,4x1026 ключей и их перебор затруднителен.
Пусть, например, с помощью ключа: (5,4,1,7,2,6,3) надо зашифровать сообщение:
ВОТПРИМЕРШИФРАВЕРТИКАЛЬНОЙПЕРЕСТАНОВКИ |
Впишем сообщение в прямоугольник, столбцы которого пронумерованы в соответствии с ключом:
В | О | Т | П | Р | И | М |
Е | Р | Ш | И | Ф | Р | А |
В | Е | Р | Т | И | К | А |
Л | Ь | Н | О | Й | П | Е |
Р | Е | С | Т | А | Н | О |
В | К | И | - | - | - | - |
Теперь, выбирая столбцы в порядке, заданном ключом, и выписывая последовательно буквы каждого из них сверху вниз, получаем такую криптограмму:
ОРЕЬЕКРФИЙА-МААЕО-ТШРНСИВЕВЛРВИРКПН-ПИТОТ- |
Число ключей ШВП не более m!, где m - число столбцов таблицы. Как правило, m гораздо меньше, чем длина текста n (сообщение укладывается в несколько строк по m букв).
Интересна схема перестановки, напоминающая тасовку колоды карт. Так, если S=A+B+C представляет собой исходный блок текста, переставляемый побайтно, то результатом такой перестановки будет S¢=C+B+A, где разбиение на фрагменты A, B и C делается случайным образом. После нескольких тасовок символы исходного текста оказываются основательно перемешаны. Эта тасовка в состоянии после многократного повторения осуществить любую перестановку.
Перестановка тасовкой зачастую очень удобна, так как одиночный ее шаг практически не оставляет ни одного символа на своем месте.
Прием перестановки тасовкой демонстрирует следующий фрагмент программного кода:
…………………………………………….
const
Lmax=100;
…………………………………………….
type
TArr=array[1..Lmax] of integer;
…………………………………………….
{процедура-функция генерации ключа для шифрования тасовкой
входной параметр L - длина блока исходного текста для зашифровки}
function Passwrd(L:integer):TArr;
var
i:integer;
arr:TArr;
begin
for i:=1 to 2 do
arr:=PerestRnd(L); // function PerestRnd(l:integer):TArr; -
// функция (определяемая пользователем) формирования
// случайным образом L неповторяющихся целых чисел
// в диапазоне от 1 до L,
// результат - в виде массива;
result:=arr;
end;
{**********************************************************}
{процедура-функция шифрования исходного текста txt,
результат типа string - зашифрованный текст}
function SHTasov_TO(txt:string;passw:TArr):string;
var
i,j,w,n,m:integer;
s:string;
begin
j:=0; s:=txt;
for i:=1 to length(txt) do
begin
j:=i*2;
n:=passw[j-1];
m:=passw[j];
if n>m then
begin
w:=n; n:=m; m:=w;
end;
s:=copy(s,m+1,length(txt)-m)+copy(s,n+1,m-n)+copy(s,1,n);
end;
result:=s;
end;
{**********************************************************}
{процедура-функция расшифровки текста txt,
результат типа string - расшифрованный текст}
function SHTasov_FROM(txt:string;passw:TArr):string;
var
i,j,w:integer;
n,m:longint;
s:string;
begin
j:=0; s:=txt;
for i:=length(txt) downto 1 do
begin
j:=i*2;
n:=passw[j-1];
m:=passw[j];
if n>m then
begin
w:=n; n:=m; m:=w;
end;
s:=copy(s,length(txt)-n+1,n)+copy(s,length(txt)-m+1,m- n)+copy(s,1,length(txt)-m);
end;
result:=s;
end;
После выполнения получим:
|
Существуют и другие способы перестановки, которые можно реализовать программным и аппаратным путем. Например, реализованный аппаратным путем блок перестановки, который для преобразования информации использует электрические цепи, по которым она передается параллельным способом. Преобразование текста заключается в «перепутывании» порядка разрядов в цифровой кодограмме путем изменения электрического монтажа схемы в блоке. Для дешифрации на приемном пункте устанавливается другой блок, восстанавливающий порядок цепей.
Для методов перестановки характерны простота алгоритма, возможность программной реализации и низкий уровень защиты, так как при большой длине исходного текста в шифрованном тексте проявляются статистические закономерности ключа, что позволяет его раскрыть достаточно легко.
Шифры замены (подстановки)
Наиболее известными и часто используемыми шифрами являются шифры замены (подстановки). Они характеризуются тем, что отдельные части сообщения (буквы, слова) заменяются на какие-либо другие буквы, числа, символы и т.д. При этом замена осуществляется так, чтобы потом по шифрованному сообщению можно было однозначно восстановить передаваемое сообщение.
Пусть, например, зашифровывается сообщение на русском языке и при этом замене подлежит каждая буква сообщения. Формально в этом случае шифр замены можно описать следующим образом. Для каждой буквы a исходного алфавита строится некоторое множество символов Ma так, что множества Ma и Mb попарно не пересекаются при a¹b, то есть любые два различные множества не содержат одинаковых элементов. Множество Ma называется множеством шифробозначений для буквы a.
Таблица
а | б | в | … | я |
а | Мб | Мв | … | Мя |
является ключом шифра замены. Зная ее, можно осуществить как зашифровку, так и расшифровку.
При зашифровке каждая буква a открытого сообщения, начиная с первой, заменяется любым символом из множества Ma. Если в сообщении содержится несколько букв a, то каждая из них заменяется на любой символ из Ma. За счет этого с помощью одного ключа (1) можно получить различные варианты зашифрованного сообщения для одного и того же открытого сообщения. Например, если ключом является таблица
а | б | в | г | д | е | ж | з | и | к | л | м | н | о | п | р | с | т | у | ф | х | ц | ч | ш | щ | ъ | ы | ь | э | ю | я |
то сообщение «я знаком с шифрами замены» может быть зашифровано, например, любым из следующих трех способов:
я | з | н | а | к | о | м | с | ш | и | ф | р | а | м | и | з | а | м | е | н | ы |
Так как множества Ма, Мб,.., Мя попарно не пересекаются, то по каждому символу шифрованного сообщения можно однозначно определить, какому множеству он принадлежит, и, следовательно, какую букву открытого сообщения он заменяет. Поэтому дешифрование возможно и открытое сообщение определяется единственным образом.
Одним из простейших методов является прямая замена исходных символов их эквивалентом из вектора замен. В качестве вектора замен может быть использован некоторый смешанный алфавит, например, перестановка обычного алфавита. Для очередного символа исходного текста отыскивается его местоположение в исходном алфавите. Эквивалент из вектора замены выбирается как отстоящий на полученное смещение от начала алфавита. На рис.1 показан полный исходный алфавит, смешанный алфавит и шифрование короткого сообщения, в котором каждая буква заменяется соответствующей буквой смешанного алфавита.
При дешифровании поиск производится в векторе замен, а эквивалент выбирается из исходного алфавита. Полученный таким методом текст имеет сравнительно низкий уровень защиты, так как исходный и шифрованный тексты имеют одинаковые статистические характеристики.
Более стойкой в отношении раскрытия является схема шифрования, основанная на использовании квадрата (таблицы) Вижинера (табл.2). Таблица представляет собой квадратную матрицу с числом элементов К, где К – количество символов в алфавите. Сверху и по левому краю квадрата выписан исходный алфавит. В первой строке матрицы записываются буквы в порядке очередности их в алфавите, во второй – та же последовательность букв, но со сдвигом влево на одну позицию, в третьей – со сдвигом на две позиции и т.д. Освободившиеся места справа заполняются вытесненными влево буквами, записываемыми в естественной последовательности.
|
А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | |
А | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я |
Б | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А |
В | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б |
Г | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В |
Д | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г |
Е | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д |
Ж | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е |
З | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж |
И | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З |
Й | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И |
К | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й |
Л | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К |
М | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л |
Н | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М |
О | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н |
П | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О |
Р | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П |
С | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р |
Т | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С |
У | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т |
Ф | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У |
Х | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф |
Ц | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х |
Ч | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц |
Ш | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч |
Щ | Щ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш |
Ъ | Ъ | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ |
Ы | Ы | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ |
Ь | Ь | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы |
Э | Э | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь |
Ю | Ю | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э |
Я | Я | А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю |
Для шифрования текста устанавливается ключ, представляющий собой некоторое слово или набор букв. Далее из полной матрицы выбирается подматрица шифрования, включающая, например, первую строку и строку матрицы, начальной буквой которой являются последовательно буквы ключа.
Процесс шифрования включает следующую последовательность действий:
- под каждой буквой шифруемого текста записываются буквы ключа, повторяющие ключ требуемое число раз;
- шифруемый текст по подматрице заменяется буквами, расположенными на пересечениях линий, соединяющих буквы текста первой строки подматрицы и буквы ключа, находящийся под ней.
Расшифровка текста выполняется в следующей последовательности:
- над буквами шифрованного текста сверху последовательно записываются буквы ключа;
- в строке подматрицы таблицы Вижинера для каждой буквы ключа отыскивается буква, соответствующая знаку шифрованного текста. Находящаяся над ней буква первой строки и будет знаком расшифрованного текста;
- полученный текст группируется в слова по смыслу.
С целью повышения надежности шифрования текста предлагается усовершенствованный вариант таблицы Вижинера, который заключается в следующем:
- во всех (кроме первой) строках таблицы буквы алфавита располагаются в произвольном порядке;
- выбирается десять (не считая первой) строк, пронумерованных натуральными числами от 0 до 9;
- в качестве ключа используются величины, выраженные бесконечным рядом чисел.
Частным случаем метода замены, обеспечивающим надежное шифрование информации является использование алгебры матриц (например, умножения матрицы на вектор):
В соответствии с этим правилом матрицу A={aij} можно использовать в качестве основы для шифрования, знаками вектора B={bi} могут быть символы шифруемого текста, а знаками вектора результата C={сi} – символы зашифрованного текста.
Для шифрования буквенных сообщений необходимо прежде всего заменить знаки алфавита их цифровыми эквивалентами, которым может быть порядковый номер буквы в алфавите.
Для дешифрования используются те же правила умножения матрицы на вектор, только в качестве основы берется обратная матрица, а в качестве умножаемого вектора – соответствующее количество чисел шифрованного текста. Цифрами вектора-результата будут цифровые эквиваленты знаков исходного текста.
Нетрудно видеть, что процедуры шифрования и расшифровки строго формализованы, что позволяет сравнительно легко запрограммировать их для автоматической реализации. Недостатком данного метода является то, что для шифрования и расшифровки каждой буквы требуется выполнить несколько арифметических действий, что увеличивает время обработки информации.
ФОРМУЛИРОВКА ЗАДАНИЯ
Задание на лабораторную работу № 1.
Для выполнения лабораторной работы необходимо:
- по методическим указаниям освоить различные способы шифрования и дешифрования исходного сообщения с помощью методов перестановки;
- реализовать программно 3 различных алгоритма шифрования перестановкой исходного сообщения и его расшифровки (обязательной является реализация алгоритма шифра вертикальной перестановки или любой другой маршрутной перестановки).
Предусмотреть:
1) Возможность задания исходного текста пользователем.
2) Возможность как задания ключа пользователем, так и формирования ключа с помощью генератора ПСЧ.
3) Выдачу на экран: исходного текста, ключа, шифрованного текста и расшифрованного текста.
Вопросы для защиты:
- В чем заключается суть методов перестановки?
- Что называют подстановкой степени n?
- Какие способы перестановки вам известны?
- В чем преимущества и недостатки шифрования методами перестановки?
Задание на лабораторную работу № 2.
Для выполнения лабораторной работы необходимо:
- по методическим указаниям освоить различные способы шифрования и дешифрования исходного сообщения с помощью методов замены (подстановки);
- реализовать программно 3 алгоритма шифрования заменой исходного сообщения и его расшифровки: метод прямой замены, шифрование с помощью квадрата Вижинера, шифрование с использованием алгебры матриц.
Предусмотреть:
1) Возможность задания исходного текста пользователем.
2) Возможность как задания ключа пользователем, так и формирования ключа с помощью генератора ПСЧ.
3) Выдачу на экран: исходного текста, ключа, шифрованного текста и расшифрованного текста.
Вопросы для защиты:
- В чем заключается суть методов замены (подстановки)?
- Приведите формальное описание методов замены (подстановки).
- Какие способы шифрования заменой (подстановкой) вам известны?
- В чем преимущества и недостатки шифрования методами замены (подстановки)?
СПИСОК ЛИТЕРАТУРЫ
1. Защита программного обеспечения. - под ред. Д.Гроувера. - М.: Мир, 1992.
2. Защита информации в вычислительных системах. - Сборник. - М.: Знание, 1982.
3. Мельников В.В. Защита информации в компьютерных системах. - М.: Финансы и статистика, 1997.
4. Герасименко В.А. Защита информации в автоматизированных системах обработки данных. - М.: Энергоатомиздат, 1994.
5. Безопасность информационных технологий. - Выпуск 1, 1996.
6. Торокин А.А. Основы инженерно-технической защиты информации. - М.: Издательство "Ось-89", 1998.
7. Андрианов В.И., Бородин В.А., Соколов А.В. "Шпионские штучки" и устройства для защиты объектов информации. Справочное пособие. - Лань, 1996.
8. Шураков В.В. Обеспечение сохранности информации в системах обработки данных (по данным зарубежной печати). Учебное пособие. - М.: Финансы и статистика, 1985.
9. Жельников В.В. Криптография от папируса до компьютера. - М.: ABF, 1996.
10. Уэзерелл Ч. Этюды для программистов. - Перевод с англ. Под ред. Баяковского Ю.М. - М.: Мир, 1982.
11. Безруков Н.Н. Компьютерная вирусология. Справочное руководство. - К.: УРЕ, 1993.
12. Касперский Е.В. Компьютерные вирусы: что это такое и как с ними бороться. Справочное издание. - М.: СК Пресс, 1998.