переставляются столбцы, а затем строки. При расшифровке порядок перестановок был обратный. Пример данного метода шифрования показан в следующих таблицах:
|
2 |
4 |
1 |
3 |
|
|
|
1 |
2 |
3 |
4 |
|
|
1 |
2 |
3 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
4 |
П |
Р |
И |
Е |
|
|
4 |
И |
П |
Е |
Р |
|
1 |
А |
З |
Ю |
Ж |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
1 |
З |
Ж |
А |
Ю |
|
|
1 |
А |
3 |
Ю |
Ж |
|
2 |
Е |
_ |
С |
Ш |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
2 |
_ |
Ш |
Е |
С |
|
|
2 |
Е. |
_ |
С |
Ш |
|
3 |
Г |
Т |
О |
О |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
3 |
Т |
О |
Г |
О |
|
|
3 |
Г |
Т |
О |
О |
|
4 |
И |
П |
Е |
Р |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Двойная перестановка столбцов и строк |
|
|
|
|||||||||
Врезультате перестановки получена шифровка АЗЮЖЕ_СШГТООИПЕР. Ключом
кшифру служат номера столбцов 2413 и номера строк 4123 исходной таблицы.
Число вариантов двойной перестановки достаточно быстро возрастает с увеличением размера таблицы: для таблицы 3 х 3 их 36, для 4 х 4 их 576, а для 5*5 их
14400.
В средние века для шифрования применялись и магические квадраты. Магическими квадратами называются квадратные таблицы с вписанными в их клетки последовательными натуральными числами, начиная с единицы, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число. Для шифрования необходимо вписать исходный текст по приведенной в квадрате нумерации и затем переписать содержимое таблицы по строкам. В результате получается шифротекст, сформированный благодаря перестановке букв исходного сообщения.
|
|
|
16 |
3 |
2 |
|
13 |
|
|
|
|
О |
|
И |
|
Р |
|
Т |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
5 |
10 |
11 |
|
8 |
|
|
|
|
З |
|
Ш |
|
Е |
|
Ю |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
9 |
6 |
7 |
|
12 |
|
|
|
|
_ |
|
Ж |
|
А |
|
С |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
4 |
15 |
14 |
|
1 |
|
|
|
|
Е |
|
Г |
|
О |
|
П |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
П |
Р И |
Е |
З Ж |
А |
Ю |
_ Ш Е |
С |
Т |
О |
|
Г |
О |
|||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
|||||
Число магических квадратов очень резко возрастает с увеличением размера его сторон: для таблицы 3*3 таких квадратов -1; для таблицы 4*4 - 880; а для таблицы 5*5- 250000.
Шифры простой замены Система шифрования Цезаря - частный случай шифра простой замены. Метод
основан на замене каждой буквы сообщения на другую букву того же алфавита, путем смещения от исходной буквы на K букв.
Известная фраза Юлия Цезаря VENI VINI VICI – пришел, увидел, победил, зашифрованная с помощью данного метода, преобразуется в SBKF SFAF SFZF (при смещении на 4 символа).
Греческим писателем Полибием за 100 лет до н.э. был изобретен так называемый полибианский квадрат размером 5*5, заполненный алфавитом в случайном порядке. Греческий алфавит имеет 24 буквы, а 25-м символом является пробел. Для шифрования на квадрате находили букву текста и записывали в шифротекст букву, расположенную ниже
16
ее в том же столбце. Если буква оказывалась в нижней строке таблицы, то брали верхнюю букву из того же столбца.
Шифры сложной замены Шифр Гронсфельда состоит в модификации шифра Цезаря числовым ключом.
Для этого под буквами сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифротекст получают примерно также, как в шифре Цезаря, но отсчитывают не третью букву по алфавиту (как в шифре Цезаря), а ту, которая смещена по алфавиту на соответствующую цифру ключа.
Пусть в качестве ключа используется группа из трех цифр – 314, тогда Сообщение СОВЕРШЕННО СЕКРЕТНО Ключ 3143143143143143143
Шифровка ФПИСЬИОССАХИЛФИУСС В шифрах многоалфавитной замены для шифрования каждого символа
исходного сообщения применяется свой шифр простой замены (свой алфавит).
АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_
А 
АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_
Б 
_АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ В 
Я_АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮ Г 
ЮЯ_АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭ
. 
…………
Я 
ВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_АБ
_ 
БВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_А
Каждая строка в этой таблице соответствует одному шифру замены аналогично шифру Цезаря для алфавита, дополненного пробелом. При шифровании сообщения его выписывают в строку, а под ним ключ. Если ключ оказался короче сообщения, то его циклически повторяют. Шифротекст получают, находя символ в колонке таблицы по букве текста и строке, соответствующей букве ключа. Например, используя ключ АГАВА, из сообщения ПРИЕЗЖАЮ ШЕСТОГО получаем следующую шифровку:
Сообщение ПРИЕЗЖАЮ_ШЕСТОГО
Ключ |
АГАВААГАВААГАВАА |
|
|
Шифровка ПНИГЗЖЮЮЮАЕОТМГО
В компьютере такая операция соответствует сложению кодов ASCII символов сообщения и ключа по модулю 256.
3. Задание к работе
На языке VBA или С++ написать программу шифрования и дешифрования текстового файла методом, указанным преподавателем. В качестве примера в п. 4 приводится пример реализации алгоритма шифрация методом замены.
4. Порядок выполнения работы
17
На окне программы расположены три текстовых поля: для ввода исходного текста (textBox1), для вывода зашифрованного текста (textBox2), для вывода расшифрованного текста (textBox3). Для выполнения основных действий на окне расположены кнопка для выполнения операции шифрования (button1) и кнопка для выполнения операции дешифрации (button2). Программа реализована на языке C#.
Шифрование
private void button1_Click(object sender, EventArgs e)
{
string s="";
string T=textBox1.Text;
for (int i = 0; i < T.Length; i++)
{
s+=Convert.ToChar(Convert.ToInt32(T[i])+1);
}
textBox2.Text = s;
}
Дешифрование
private void button2_Click(object sender, EventArgs e)
{
string s = "";
string T = textBox2.Text;
for (int i = 0; i < T.Length; i++)
{
s += Convert.ToChar(Convert.ToInt32(T[i]) - 1);
}
textBox3.Text = s;
}
Содержание отчета
1.Название работы.
2.Цель работы.
3.Блок-схему алгоритма шифрования.
4.Тексты программ.
5.Вопросы для самопроверки
1.Цель и задачи криптографии.
2.Шифры одиночной перестановки и перестановки по ключевому слову. Шифр Гронфельда.
18
3.Шифры двойной перестановки. Шифрование с помощью магического
квадрата.
4.Шифр многоалфавитной замены и алгоритм его реализации.
5.Алгоритм шифрации двойным квадратом. Шифр Enigma.
6.Алгоритм шифрования DES.
7.Алгоритм шифрования ГОСТ 28147-89.
8.Алгоритм шифрования RSA.
9.Алгоритм шифрования Эль Гамаля.
10.Задачи и алгоритмы электронной подписи.
11.Задачи распределения ключей.
19
Лабораторная работа №4
«Шифрация методами битовых манипуляций»
Введение
По мере развития и усложнения средств, методов и форм автоматизации процессов обработки информации повышается зависимость общества от степени безопасности используемых им информационных технологий, которая определяется степенью защищенности и устойчивости как компьютерных систем в целом, так и отдельных программ.
Для обеспечения защиты информации в настоящее время не существует какого-то одного технического приема или средства, однако общим в решении многих проблем безопасности является использование криптографии и криптоподобных преобразований информации.
1. Цель работы
Исследование основных методов криптографической зашиты информации.
2. Краткие сведения из теории
Шифры битовых манипуляций.
Методы кодирования сообщений путем манипуляций с битами возникли с появлением вычислительной техники. Как правило, современные компьютеризированные шифры попадают в класс, называемый шифрами бытовых манипуляций (bit manipulating ciphers). Хотя ревнители чистоты теории могут спорить о том, что такие шифры представляют собой просто вариацию шифров методом замены, большинство специалистов соглашается с тем, что концепции и методы, лежащие в основе шифров битовых манипуляций отличаются от всего, что было известно ранее, настолько значительно, что заслуживают выделения в особый класс.
Шифры битовых манипуляций популярны по двум причинам. Во-первых, они идеально подходят для использования в компьютерной криптографии, так как используют операции, которые легко выполняются системой. Вторая причина заключается в том, что полученный на выходе зашифрованный текст выглядит абсолютно нечитаемым - фактически полной бессмыслицей. Это положительно сказывается на безопасности и защищенности, так как важные данные маскируются под поврежденные файлы, доступ к которым просто никому не нужен.
Как правило шифры битовых манипуляций применимы только к компьютерным файлам и не могут использоваться для бумажных копий зашифрованных сообщений. Причина этого заключается в том, что манипуляции с битами имеют тенденцию генерировать непечатаемые символы. Поэтому мы всегда будем полагать, что текст, зашифрованный с помощью битовых манипуляций, всегда будет оставаться в виде электронного документа.
Шифры битовых манипуляций переводят открытый текст в шифрованный с помощью преобразования набора бит каждого символа по определенному алгоритму, используя одну из следующих логических операций или их комбинацию:
AND OR NOT XOR
Простейший (и наименее защищенный) шифр, манипулирующий с битами, использует только оператор первого дополнения. Этот оператор инвертирует все биты, входящие в состав байта. Таким образом, все нули становятся единицами и наоборот. Поэтому байт, над которым дважды проведена такая операция, принимает исходное значение.
20