ЛАБОРАТОРНАЯ РАБОТА Методы криптографической защиты информации Простейшие алгоритмы шифрования Цель работы – изучение простейших традиционных алгоритмов криптографической защиты информации и особенностей их практической реализации. Криптография Теоретический материал Криптография представляет собой совокупность методов преобразования данных, направленных на то, чтобы сделать эти данные бесполезными для противника. Такие преобразования позволяют решить две главные проблемы защиты данных: проблему обеспечения конфиденциальности (путем лишения противника возможности извлечь информацию из канала связи) и проблему целостности (путем лишения противника возможности изменить сообщение так, чтобы изменился его смысл, или ввести ложную информацию в канал связи). Обобщенная схема криптографической системы, обеспечивающей шифрование передаваемой информации, изображена на следующем рисунке: Ключ К Отправитель генерирует открытый текст исходного сообщения М, которое должно быть передано законному получателю по незащищенному каналу. За каналом следит перехватчик с целью перехватить и раскрыть передаваемое сообщение. Для того, чтобы перехватчик не смог узнать содержание сообщения М, отправитель шифрует его с помощью обратимого преобразования Ek и получает шифротекст С=Ek(M), который отправляет получателю. Законный получатель приняв шифротекст С, расшифровывает его с помощью обратного преобразования Dk= E k (C ) и получает исходное 1 сообщение в виде открытого текста М. Преобразование Ek называется криптоалгоритмом. Под криптографическим ключом K понимается конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования данных, обеспечивающее выбор только одного варианта из всех возможных для данного алгоритма. Данный ключ, либо его часть, является закрытой информацией, которая должна быть известна только законным участникам криптографического обмена. Утеря секретной части ключа ведет к раскрытию всего защищенного обмена. Криптоанализ Любая попытка со стороны перехватчика расшифровать шифротекст C для получения открытого текста M или зашифровать свой собственный текст M` для получения правдоподобного шифротекста C`, не имея подлинного ключа, называется криптоаналитической атакой. Если предпринятые криптоаналитические атаки не достигают поставленной цели и криптоаналитик не может, не имея подлинного ключа, вывести M из C или C` из M`, то систему называют криптостойкой. Криптоанализ – это наука о раскрытии исходного текста зашифрованного сообщения без доступа к ключу. Успешный криптоанализ может раскрыть исходный текст или ключ. Традиционные симметричные алгоритмы шифрования Среди наиболее распространенных простейших алгоритмов шифрования информации можно выделить шифры перестановок и шифры замены (подстановки). Шифрование перестановкой заключается в том, что символы шифруемого текста переставляются по определенному правилу в пределах некоторого блока этого текста. Примерами шифров перестановки являются шифр «скитала», шифрующие таблицы. Шифрование заменой (подстановкой) заключается в том, что символы шифруемого текста заменяются символами того же или другого алфавита в соответствие с заранее обусловленной схемой замены. Примерами шифров замены являются моноалфавитная замена, многоалфавитная замена, шифр Цезаря, шифр Гросфельда, шифр Вижинера. Система шифрования Цезаря Шифр Цезаря является частным случаем шифра простой замены. Свое название этот шифр получил по имени римского императора Гая Юлия Цезаря, который использовал этот шифр при переписке с Цицероном (около 50 г. до н.э.). При шифровании исходного текста методом Цезаря, каждая буква открытого текста заменяется на букву того же алфавита по следующему правилу. Заменяющая буква определяется путем смещения по алфавиту от исходной буквы на K букв (позиций). При достижении конца алфавита выполняется циклический переход к его началу. Смещение K в данном случае определяет ключ шифрования. Совокупность возможных подстановок для больших букв английского алфавита и K=3 представлена в таблице 1. Таблица 1. Таблица подстановок A D H K O R V Y B E I L P S W Z C F J M Q T X A D G K N R U Y B E H L O S V Z C F I M P T W G J N Q U X Математическая модель шифра Цезаря записывается в виде (1) С=(P+K) mod M (1) где C – код символа шифротекста, P – код символа открытого текста, К – коэффициент сдвига, M – размер алфавита, mod – операция нахождения остатка от деления на М. Например, результатом шифрования открытого текста RED APPLE по методу Цезаря с ключом К=3 будет являться последовательность UHG ASSOH. Шифр «атбаш» «Атба́ш» – один из самых древних методов шифрования. Шифрование заключается в замене каждой буквы исходного текста на «симметричную» ей букву алфавита, то есть первая алфавита заменялась на последнюю и наоборот, вторая буква – на предпоследнюю и наоборот и т.д. Ниже даны примеры для латинского и русского алфавитов. Буква ABCDEFGHIJKLMNOPQRSTUVWXYZ Шифрующая буква Z Y X W V U T S R Q P O N M L K J I H G F E D C B A Буква АБВГДЕ…ЦЧШЩЪЫЬЭЮЯ Шифрующая буква Я Ю Э Ь Ы Ъ … И З Ж Ё Е Д Г В Б А Задание 1. Зашифруйте методом «атбаш» свою Фамилию Имя Отчество. Пробелы, запятые и другие знаки препинания учитываться не должны. 2. Расшифруйте следующий текст, зашифрованный методом «атбаш»: «ФОМЦПМРЬОЯКЦА». Шифр Вернама (XOR-шифр) Простейший шифр на основе бинарной логики, который обладает абсолютной криптографической стойкостью. Без знания ключа, расшифровать его невозможно (доказано Клодом Шенноном). Исходный алфавит —латиница. Сообщение разбиваем на отдельные символы и каждый символ представляем в бинарном виде. Классики криптографии предлагают пятизначный код бодо для каждой буквы. Мы же попробуем изменить этот шифр для кодирования в 8 бит/символ на примере ASCII-таблицы. Каждую букву представим в виде бинарного кода. XOR («Исключающее ИЛИ») принимает сигналы (0 или 1 каждый), проводит над ними логическую операцию и выдает один сигнал, исходя из входных значений. Если все сигналы равны между собой (0-0 или 1-1 или 0-0-0 и т.д.), то на выходе получаем 0. Если сигналы не равны (0-1 или 1-0 или 1-0-0 и т.д.), то на выходе получаем 1. Теперь для шифровки сообщения, введем сам текст для шифровки и ключ такой же длины. Переведем каждую букву в ее бинарный код и выполним формулу сообщение XOR ключ Например: сообщение: LONDON ключ: SYSTEM Переведем их в бинарный код и выполним XOR: 01001100 01001111 01001110 01000100 01001111 01001110 01010011 01011001 01010011 01010100 01000101 01001101 _______________________________________________________ 00011111 00010110 00011101 00010000 00001010 00000011 В данном конкретном примере на месте результирующих символов мы увидим только пустое место, ведь все символы попали в первые 32 служебных символа. Однако, если перевести полученный результат в числа, то получим следующую картину: 31 22 29 16 10 3. Рассмотрите предложенные классы шифров классической криптографии, дополните: Шифры замены: шифр Цезаря; квадрат Полибия; аффинная криптосистема. Многоалфавитные криптосистемы: таблица Тритемия; квадрат Виженера; квадрат Бьюфорта; шифр Гронсфельда. Блочные шифры замены: шифр Плейфера; двойной квадрат. Поточные шифры: Шифры перестановки: Шифры гаммирования: Шифр Вернама. Порядок выполнения лабораторной работы 1. Изучить все предложенные алгоритмы шифрования. Классифицировать алгоритмы. Дополнить. Зашифровать предложенными алгоритмами свою Фамилию Имя, в качестве ключа допустимо использовать Отчество, дату рождения. 2. Из таблицы 2 взять алгоритм шифрования и его ключ, соответствующие Вашему варианту. Реализовать программный модуль шифрования и дешифрования файлов на жестком диске ПК в соответствии с данным алгоритмом шифрования и ключом. 3. Оформить отчет по лабораторной работе. Контрольные вопросы 1. Охарактеризуйте направление «криптография». Что называют криптографическим ключом? 2. Проклассифицируйте традиционные алгоритмы шифрования. Кратко охарактеризуйте эти классы. 3. Охарактеризуйте методы шифрования Цезаря, простую моноалфавитную замену, G-контурную многоалфавитную замену, простую перестановку, перестановки Гамильтона. 4. Что понимается под криптоанализом? Таблица 2. Варианты Вариант Алгоритм шифрования Ключ 1 Шифр Цезаря К=4 2 Простая моноалфавитная замена a=3, K=2 3 G-контурная многоалфавитная замена K=33922 4 Простая перестановка K=632514 5 Перестановки Гамильтона K=13 6 Шифр Цезаря К=2 7 Простая моноалфавитная замена a=7, K=3 8 G-контурная многоалфавитная замена K=12578 9 Простая перестановка K=4172536 10 Перестановки Гамильтона K=32 11 Шифр Цезаря К=7 12 Простая моноалфавитная замена a=11, K=2 13 G-контурная многоалфавитная замена K=13243 14 Простая перестановка K=32541 15 Перестановки Гамильтона K=45 16 Шифр Цезаря К=9 17 Простая моноалфавитная замена a=13, K=5 18 G-контурная многоалфавитная замена K=94827 19 Простая перестановка K=813926457 20 Перестановки Гамильтона K=14 21 Шифр Цезаря К=8 22 Простая моноалфавитная замена a=17, K=4 23 G-контурная многоалфавитная замена K=37984 24 Простая перестановка K=3124 25 Перестановки Гамильтона K=35 26 Шифр Цезаря К=11 27 Простая моноалфавитная замена a=19, K=3 28 G-контурная многоалфавитная замена K=2893475 29 Простая перестановка K=35124 30 Перестановки Гамильтона K=53 ЛАБОРАТОРНАЯ РАБОТА № 2 Методы криптографической защиты информации Простейшие алгоритмы шифрования ВЫПОЛНИЛ: ст. гр. 3002 Лобанов А.И. ВАРИАНТ № 8 ЦЕЛЬ ЛАБОРАТОРНОЙ РАБОТЫ Цель работы – изучение простейших традиционных алгоритмов криптографической защиты информации и особенностей их практической реализации. ХОД РАБОТЫ Шифр Цезаря Фамилия: Загрутдинов K=Фидаиль (7) З О д к а ж и п г й н ф р ч о х у ъ в и т щ Шифр «атабаш» Фамилия: Загрутдинов Шифр: Чяьолмыцсрэ Шифр: ФОМЦПМРЬОЯКЦА Расшифровка: КРТИПТОГРАФИЯ Квадрат Полибия 1 2 3 4 5 6 1 А Б В Г Д Е 2 Ё Ж З И Й К 3 Л М Н О П Р 4 С Т У Ф Х Ц 5 Ч Ш Щ Ъ Ы Ь 6 Э Ю Я Загрутдинов: 23 11 14 36 43 42 15 24 33 34 13 Аффинная криптосистема А 0 Р 17 Б 1 С 18 В 2 Т 19 Г 3 У 20 Д 4 Ф 21 Е 5 Х 22 Ё 6 Ц 23 Ж 7 Ч 24 З 8 Ш 25 И 9 Щ 26 Й 10 Ъ 27 К 11 Ы 28 Л 12 Ь 29 М 13 Э 30 Н 14 Ю 31 О 15 Я 32 П 16 a=5, b=3 Исходный алфавит З а г р у т д и н о в x 8 0 3 17 20 19 4 9 14 15 2 (5x+3) 43 3 18 88 103 98 23 73 78 13 (5x+3) mod 33 10 3 18 22 4 32 23 7 12 13 Шифр й г с х д я ц ж л м ШИФРЫ ПЕРЕСТАНОВКИ Шифр перестановки «скитала» Л О Б А Н О В А Р С Е Н И Й И Г О Р Е В И Ч Шифрующие таблицы И Г О Р Е В И Ч 1 2 3 4 5 6 7 8 А Е Й Б О Г Е Ч Р Н Л А В О В С И О Н И Р И ТЕКСТ ПРОГРАММЫ ……………………………….. ПРОГОНКА ПРОГРАМЫ Открытые данные ………. Результат шифрования ….. Результат дешифрования ….. Шифр кодового слова Возьмем кириллический алфавит: абвгдеёжзийклмнопрстуфхцчшщъыьэюя Кодовое слово: Фидаиль Уберем повторяющиеся символы: Фидаль абвгдеёжзийклмнопрстуфхцчшщъыьэюя фидальбвгеёжзйкмнопрстухцчшщъыэюя Загрутдинов Гфаосрлекмд