Шифрование перестановкой в матрице (транслитерация).



ВАРИАНТЫ ЗАДАНИЙ К ПРАКТИЧЕСКИМ РАБОТАМ РАБОТАМ

ПО ДИСЦИПЛИНЕ «ЗАЩИТА ИНФОРМАЦИИ»

ДЛЯ РАЗРАБОТКИ ПРОГРАММЫ ШИФРОВАНИЯ ДАННЫХ

Равновесный код «2 из 5» в методе гаммирования.

Таблицы Вижинера с символьным ключом.

Таблицы Вижинера с цифровым ключом.

Двоичные коды Хоффмана.

Метод аналитического преобразования по правилу алгебры матриц.

Универсальный метод моноалфавитной подстановки.

Маршруты Гамильтона.

Шифрование гаммированием.

Шифрование перестановкой в матрице (транслитерация).

Шифрование методом аналитических преобразований в матрице по особым зависимостям.

G - контурная многоалфавитная матрица.

Генераторы псевдослучайных чисел для формирования цифровых ключей заданной длины.

Шифрование перестановкой в треугольнике.

Шифр Ривеста – Шамира – Алдемана.

Шифр ЭльГамаля.

Коды Шеннона – Фано.

Метод Гронсфельда.

Шифрование транспозициями по типу «частокола».

Частотный анализ символьных строк.

Равновесный код «2 из 5» в методе гаммирования.


Десятичные цифры Код «2 из 5» 8 4 2 1 Символ проверки на чётность
0 0 0 0 1 1 0 0 0 0 0
1 0 0 1 0 1 0 0 0 1 1
2 0 0 1 1 0 0 0 1 0 1
3 0 1 0 0 1 0 0 1 1 0
4 0 1 0 1 0 0 1 0 0 1
5 0 1 1 0 0 0 1 0 1 0
6 1 0 0 0 1 0 1 1 0 0
7 1 0 0 1 0 0 1 1 1 1
8 1 0 1 0 0 1 0 0 0 1
9 1 1 0 0 0 1 0 0 1 0

Одним из способов представления десятичных чисел в виде двоичных последовательностей является код «два из пяти», показанный в таблице.

Любая из цифр в этом коде представляется в виде двоичной последовательности длины 5, в которой два из пяти символов всегда равны 1 (заметим, что (5 2)=10).


Необходимо разработать программу шифрующую/ дешифрующую исходный текст сообщения с использованием метода гаммирования. Гамма задаётся пользователем в виде цифрового десятичного ключа, преобразуемого в двоичную последовательность равновесным кодом «2 из 5».

 

Таблицы Вижинера с символьным ключом.

Разработать программу, преобразующую вводимый текст сообщения методом замены по таблице с символьным ключом. Таблица Вижинера пред­ставляет собой квадратную матрицу с числом элементов К, где К — количе­ство символов в алфавите. В первой строке матрицы записываются буквы в порядке очередности их в алфавите. В первый столбец таблицы записываются символы ключа (неповторяющиеся). Во второй строке таблицы — та же последовательность букв, но со сдвигом влево на позицию, соответствующую позиции буквы ключа, в третьей – то же самое и т. д. до последнего символа ключа. Для дешифрования необходимо знать длину ключа и сам ключ, который может быть вве­ден пользователем.

 

Таблицы Вижинера с цифровым ключом.

Усовершенствованный метод подстановки по таблице Вижинера заключается в следующем:

• во всех (кроме первой) строках таблицы буквы алфавита распола­гаются в произвольном порядке;

• выбирается десять (не считая первой) строк, пронумерованных на­туральными числами от 0 до 9;

• в качестве ключа используются величины, выраженные бесконеч­ным рядом чисел (например, основание натуральных логарифмов е=2,7182818285..., число p = 3,14159..., но с учётом, что цифры ключа не должны повторяться).

Необходимо разработать программу, шифрующую/ дешифрующую исходное сообщение подстановкой по таблице Вижинера с цифровым ключом, формируемым пользователем.

 

Двоичные коды Хоффмана.

Строка двоичных кодов Хоффмана единственным образом разлагается на составные части, т.к. она представляется двоичным деревом знаков, обозначающих соответствующие буквы:


Буква Код Хоффмана Буква Код Хоффмана
E 100 M 00011
T 001 U 00010
A 1111 G 00001
O 1110 Y 00000
N 1100 P 110101
R 1011 W 011101
I 1010 B 011100
S 0110 V 1101001
H 0101 K 110100011
D 11011 X 110100001
L 01111 J 110100000
F 01001 Q 1101000101
C 01000 Z 1101000100

 

 

Разработать программу, которая преобразуют исходное сообщение, вводимое пользователем, в последовательность двоичных символов при помощи кодов Хоффмана. Результирующую последовательность представить в виде строки блоками по 8 бит. При дешифровании передать ключ - последовательность цифр, значениями которых является длина двоичной последовательности каждого исходного символа. Например, при исходном тексте SNOW, значение ключа = 4446.


Метод аналитического преобразования по правилу алгебры матриц.

Это правило, как известно, за­ключается в следующем:

В соответствии с этим правилом матрицу можно использовать в каче­стве основы для шифрования, знаками вектора bi могут быть символы шифруемого текста, а знаками вектора результата ci — символы зашифро­ванного текста.

Для шифрования буквенных сообщений необходимо, прежде всего, за­менить знаки алфавита их цифровыми эквивалентами, которым может быть порядковый номер буквы в алфавите.

Для дешифрования используются те же правила умножения матрицы на вектор, только в качестве основы берется обратная матрица, а в качест­ве умножаемого вектора — соответствующее количество чисел шифрован­ного текста. Цифрами вектора-результата будут цифровые эквиваленты знаков исходного текста.

 

6. Универсальный метод моноалфавитной подстановки.

 Работу данного метода можно представить как числовые преобразования букв исходного текста, рассматриваемых как числа. Каждая буква в тексте умножается на неко­торое число (называемое десятичным коэффициентом) и прибавляется к некоторому другому числу (коэффициенту сдвига):

        

Получающееся число уменьшается по правилу вычитания модуля А, где А — размер алфавита, и зашифрованный текст формируется из соот­ветствующих ему алфавитных эквивалентов.

 

 

Маршруты Гамильтона.

Написать программу, реализующую алгоритм метода перестановки по маршрутам для преобразования исходного сообщения. Маршруты Гамильтона – это вось­миэлементная таблица, обладающая совокупностью маршру­тов. Последовательность за­полнения таблицы каждый раз соответствует нумерации ее элементов. Если длина шифруемого текста не кратна числу элементов, то при по­следнем заполнении в свободные элементы заносится произвольный сим­вол (в данном случае, выбранный символ для кодирования пробела). Выборка из таблицы для каждого заполнения может выполняться по своему маршруту, при этом маршруты могут использоваться как последо­вательно, так и в порядке, задаваемом ключом.

Шифрование гаммированием.

Гаммирование — наложение на исходный текст некоторой последовательности кодов, называемой гам­мой. Процесс наложения осуществляется следующим образом:

• символы исходного текста и гамма представляются в двоичном ко­де и располагаются один под другим;

• каждая пара двоичных знаков заменяется одним двоичным знаком шифрованного текста в соответствии с принятым алгоритмом;

• полученная последовательность двоичных знаков шифрованного тек­ста заменяется символами алфавита в соответствии с выбранным кодом.

Поясним это на простом примере цифрового текста, закрытого цифровым кодом ключа методом гаммирования:

1. Закрытое многозначное число 1001 1000 1011 1010 1101 1100 полу­чено путем поразрядного сложения по модулю 2 числа Х1Х2ХзХ4Х5Хб с однозначным числом К, т. е. шифрование числа Х1Х2Х3Х4Х5Х6 ключом К можно представить в виде системы уравнений:

2. Исходя из условия, что Х принимает десятичные значения от 0 до 9, для поиска неизвестного К определим все возможные значения Xi и К, сумма которых по модулю 2 приводит к результату 1001:

3. Аналогично определим К для чисел 1000, 1011, 1101 и 1100.

4. Анализируя полученные значения К для каждого из чисел и исклю­чая значения более 9, определим значение, которое присутствует в каж­дом из десятков результатов.

Это значение будет равно 1001, т. е. в десятичном счислении 9. Сле­довательно, код ключа К = 9, а искомое число: 012345.

 

 

Шифрование перестановкой в матрице (транслитерация).

При транслитерации для перемешивания символов сообщения используются прямоугольные матрицы. Например, можно вписать алфавит в прямоугольник, расположив буквы следующим образом:

              1 А Д З Л П У Ч Ы Я

           2 Б Е И М Р Ф Ш Ь

           3 В Ё Й Н С Х Щ Э

           4 Г Ж К О Т Ц Ъ Ю

Шифрование осуществляется путём последовательной выборки элементов из строк матрицы в определённом порядке. Например, если выбираются элементы строк 2, 4, 3, 1 , получается следующее зашифрованное сообщение:

БЕИМР ФШЬГЖ КОТЦЪ ЮВЁЙН СХЩЭА ДЗЛПУ ЧЫЯ

Ключом в данном случае являются размеры прямоугольника и порядок перестановки строк. Напишите программу для кодирование и декодирования сообщений этим методом.                                           

 


Дата добавления: 2019-01-14; просмотров: 1301; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!