Зашифровка файлов
Автор: Hoozy1 • Март 13, 2019 • Контрольная работа • 725 Слов (3 Страниц) • 403 Просмотры
[pic 1]
Содержание:
Задача №1…………………………………………………………………………………..3
Задача №2…………………………………………………………………………………..5
Задание 1
ЗАДАЧА 1 Зашифровать фамилию и полное имя студента методом гаммирования. Под гаммированием понимают процесс наложения по определенному закону (чаще всего с использованием операции сложения по модулю 2) гаммы шифра на открытые данные. Гамма шифра – это псевдослучайная последовательность целых чисел, для генерации которых наиболее часто применяется так называемый линейный конгруэнтный генератор.
Исходный текст: ЦАРЬКОВАДАРЬЯ
Согласно таблице десятичных кодов букв, составим таблицу для фамилии:
Ц | А | Р | Ь | К | О | В | А | Д | А | Р | Ь | Я |
23 | 1 | 17 | 29 | 11 | 15 | 3 | 1 | 5 | 1 | 17 | 29 | 32 |
00010111 | 00000001 | 00010001 | 00011101 | 00001011 | 00001111 | 00000011 | 00000001 | 00000101 | 00000001 | 00010001 | 00011101 | 00100000 |
Третья строка – те же коды букв в двоичной системе, каждая буква выражена одним байтом.
По формуле
Ti = (Ti-1*A + C) mod M
где Т0 = 7, А = 9, С – сумма двух последних цифр шифра (это цифры 4 и 3), равно 7, М = 64;
сгенерируем гамму шифра:
Т0 | Т1 | Т2 | Т3 | Т4 | Т5 | Т6 | Т7 | Т8 | Т9 | Т10 | Т11 | Т12 |
7 | 6 | 61 | 44 | 19 | 50 | 9 | 24 | 31 | 30 | 21 | 4 | 43 |
00000111 | 00000110 | 00111101 | 00101100 | 00010011 | 00110010 | 00001001 | 00011000 | 00011111 | 00011110 | 00010101 | 00000100 | 00101011 |
Третья строка – те же числа в двоичной системе, каждая буква выражена одним байтом.
Наложим гамму шифра на шифруемый текст по формуле
Шi = (Ci ⊕ Ti) mod 2
где Шi – i-й символ шифрограммы, представленный в двоичном коде;
Сi – i-й символ исходного текста, представленный в двоичном коде;
операция (х ⊕ у) mod 2 – операция сложения в алгебре логики по модулю два (при сложении двух двоичных знаков получаем 0, если исходные двоичные цифры одинаковы, и 1, если исходные двоичные цифры разные).
Сi | 23=00010111 | 1=00000001 | 17=00010001 | 29=00011101 | 11=00001011 | 15=00001111 |
Тi | 7=00000111 | 6=00000110 | 61=00111101 | 44=00101100 | 19=00010011 | 50=00110010 |
Шi | 00010000 | 00000111 | 00101100 | 00110001 | 00011000 | 00111101 |
Десятичное значение Шi | 16 | 7 | 44(12) | 49(17) | 24 | 61(29) |
Буквы, соответствующие данному коду | П | Ж | Л | Р | Ч | Ь |
Сi | 3=00000011 | 1=00000001 | 5=00000101 | 1=00000001 | 17=00010001 | 29=00011101 | 32=00100000 |
Тi | 9=00001001 | 24=00011000 | 31=00011111 | 30=00011110 | 21=00010101 | 4=00000100 | 43=00101011 |
Шi | 00001010 | 00011001 | 00011010 | 00011111 | 00000100 | 00011001 | 00001011 |
Десятичное значение Шi | 10 | 25 | 26 | 31 | 4 | 25 | 11 |
Буквы, соответствующие данному коду | Й | Ш | Щ | Ю | Г | Ш | К |
...