И автоматизированных систем»
Лабораторная работа №1
Шифрование данных одиночной перестановкой по ключу
в симметричных криптосистемах.
Лабораторная работа №2
Шифрование данных методом замены в симметричных криптосистемах.
Лабораторная работа №3
Шифрование данных в асимметричной криптосистеме RSA
Лабораторная работа №4
Алгоритм электронной цифровой подписи
для специальности 071900 –
«Информационные системы и технологии»
Лабораторная работа №1
Шифрование данных одиночной перестановкой по ключу
в симметричных криптосистемах
Лабораторная работа №2
Шифрование данных методом замены в симметричных криптосистемах.
Лабораторная работа №3
Шифрование данных методом гаммирования
в симметричных криптосистемах
Лабораторная работа №4
Шифрование данных в асимметричной криптосистеме RSA
Лабораторная работа №5
Шифрование данных в асимметричных криптосистемах
по схеме Эль-Гамаля
Лабораторная работа №6
Алгоритм электронной цифровой подписи
Лабораторная работа №1
Шифрование данных одиночной перестановкой по ключу
в симметричных криптосистемах
Цель работы: изучить методы шифрования данных одиночной перестановкой по ключу и освоить их практическое применение.
Теоретическое введение
Как открытый текст, так и шифртекст образуются из букв, входящих в конечное множество символов, называемых алфавитом. Примерами алфавитов являются конечное множество всех заглавных букв, конечное множество всех заглавных и строчных букв и цифр и т.п. В общем виде некоторый алфавит S можно представить так:
S = {a0, a1, a2, …, am-1}.
Объединяя по определенному правилу буквы из алфавита S можно создавать новые алфавиты:
алфавит S2, содержащий m2 биграмм a0a0, a0a1,…, am-1am-1;
алфавит S3, содержащий m3 триграмм a0a0a0, a0a0a1,…, am-1am-1am-1.
В общем случае, объединяя по n букв, получаем алфавит Sn, содержащий mn n-грамм.
Например, английский алфавит
S = {A,B,C,D,E,F, …,Y,Z}
объемом m=26 букв позволяет сгенерировать посредством операции конкатенации алфавит из 262 = 676 биграмм, алфавит из 263 = 17576 триграмм.
При выполнении криптографических преобразований полезно заменить буквы алфавита целыми числами 0,1,2,3,… . Это позволяет упростить выполнение необходимых алгебраических манипуляций. Например, можно установить взаимно однозначное соответствие между русским алфавитом
Sрус. = {А,Б,В,Г,Д,Е, …, Ю,Я}
и множеством целых чисел
между английским алфавитом
Sангл. = {A,B,C,D,E,F, …,Y,Z}
и множеством целых чисел
Z26 = {0,1,2,3, …,25}.
В дальнейшем будет использоваться алфавит
![]() |
Zm = {0,1,2,3, …,m-1},
содержащий m символов (в виде чисел).
Одним из самых примитивных табличных шифров перестановки является простая перестановка, для которой ключом служит размер таблицы.
Например, сообщение
МОСКОВСКИЙ_ИНСТИТУТ_СТАЛИ_И_СПЛАВОВ
записывается в таблицу поочередно по столбцам. Результат заполнения таблицы из 5 строк и 7 столбцов следующий:
М | В | _ | И | С | _ | Л |
О | С | И | Т | Т | И | А |
С | К | Н | У | А | _ | В |
К | И | С | Т | Л | С | О |
О | Й | Т | _ | И | П | В |
После заполнения таблицы текстом сообщения по столбцам для формирования шифртекста считывают содержимое таблицы по строкам. Получаем следующее шифрованное сообщение:
МВ_ИС_ЛОСИТТИАСКНУА_ВКИСТЛСООЙТ_ИПВ
Отправитель и получатель сообщения должны заранее условиться об общем ключе в виде размера таблицы.
Несколько большей стойкостью к раскрытию обладает метод шифрования, называемый одиночной перестановкой по ключу. Этот метод отличается от предыдущего тем, что столбцы таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы.
Применим в качестве ключа, например, слово
КАФЕДРА,
а текст сообщения возьмем из предыдущего примера. Ниже приведены две таблицы, заполненные текстом сообщения и ключевым словом, при этом левая таблица соответствует заполнению до перестановки, а правая таблица – заполнению после перестановки.
К | А | Ф | Е | Д | Р | А | А | А | Д | Е | К | Р | Ф | |
М | В | _ | И | С | _ | Л | В | Л | С | И | М | _ | _ | |
О | С | И | Т | Т | И | А | С | А | Т | Т | О | И | И | |
С | К | Н | У | А | _ | В | К | В | А | У | С | _ | Н | |
К | И | С | Т | Л | С | О | И | О | Л | Т | К | С | С | |
О | Й | Т | _ | И | П | В | Й | В | И | _ | О | П | Т |
В верхней строке левой таблицы записан ключ, а номера под буквами ключа определены в соответствии с естественным порядком соответствующих букв ключа в алфавите. Так как в ключе встретились две одинаковые буквы то они были пронумерованы слева направо. В правой таблице столбцы переставлены в соответствии с упорядоченными номерами букв ключа.
При считывании содержимого правой таблицы по строкам получаем шифрованное сообщение:
ВЛСИМ_ _САТТОИИКВАУС_НИОЛТКССЙВИ_ОПТ
При расшифровании порядок перестановок должен быть обратным.
Для обеспечения дополнительной скрытности можно повторно зашифровать сообщение, которое уже прошло шифрование. Такой метод шифрования называется двойной перестановкой.
Задание на лабораторную работу
Используя алгоритм шифрования данных одиночной перестановкой по ключу, написать программу шифрования и дешифрования произвольного набора символов на любом языке программирования.
Порядок выполнения работы
1. написать на языке программирования функцию шифрования, в которую в качестве параметров передается ключ и символ (или строка символов) исходного текста.
2. написать функцию дешифрования, в которую в качестве параметров передается ключ и символ (или строка символов) зашифрованного текста.
3. написать главную функцию, которая организует ввод/вывод исходного текста и по запросу пользователя шифрует исходный или дешифрует зашифрованный текст.
Оформление отчета
В отчете следует привести краткие теоретические сведения. Кроме того, должны быть представлены: краткая блок-схема, текст программы, шифруемый набор символов, результаты выполнения программы.
Контрольные вопросы
1. В чем заключается суть метода шифрования перестановкой?
2. Какой характерной особенностью обладают симметричные криптосистемы?
3. Что используется в качестве ключа в шифрующих таблицах?
Лабораторная работа №2
Шифрование данных методом замены в симметричных криптосистемах.
Цель работы: изучить методы шифрования данных заменой и освоить их практическое применение.
Теоретическое введение
При шифровании заменой (подстановкой) символы шифруемого текста заменяются символами того же или другого алфавита с заранее установленным правилом замены. В шифре простой замены каждый символ исходного текста заменяется символами того же алфавита одинаково на всем протяжении текста.
Система шифрования Цезаря.
Шифр Цезаря является частным случаем шифра простой замены. При шифровании исходного текста каждая буква заменяется на другую букву того же алфавита по следующему правилу. Заменяющая буква определяется смещением по алфавиту от исходной буквы на N букв. Совокупность возможных подстановок для русского алфавита (m=33), при N=5, приведена в таблице:
А®Е | И®Н | Р®Х | Ш®Э | _®Д |
Б®Ж | Й®О | С®Ц | Щ®Ю | |
В®З | К®П | Т®Ч | Ь®Я | |
Г®И | Л®Р | У®Ш | Ы®_ | |
Д®Й | М®С | Ф®Щ | Ъ®А | |
Е®К | Н®Т | Х®Ь | Э®Б | |
Ж®Л | О®У | Ц®Ы | Ю®В | |
З®М | П®Ф | Ч®Ъ | Я®Г |
В соответствии таблицей, криптографическое преобразование Цезаря, при m=33 и N=5, для следующего сообщения:
МОСКОВСКИЙ_ИНСТИТУТ_СТАЛИ_И_СПЛАВОВ,
будет выглядеть следующим образом:
СУЦПУЗЦПНОДНТЦЧНЧШЧДЦЧЕРНДНДЦФРЕЗУЗ.
![]() |
Ключ подстановки для алфавита Zm представляет собой последовательность элементов симметричной группы из Zm:
К = (p0, p1, …,pn-1, …), pn Î SYM (Zm), 0 £ n < ¥.
Подстановка, определяемая ключом К, является криптографическим преобразованием Ек, которое шифрует n-грамму (y0, y1 , …, yn-1) шифртекста, где
yi = pi (xi), 0 £ i < n,
для каждого n, n = 1, 2, 3, … .
Криптографическое преобразование Ек называется одноалфавитной подстановкой, если значение pi одинаково для каждого i, i = 0, 1, 2, …; в противном случае преобразование Ек называется многоалфавитной подстановкой.