СафаргалеевИА_ПРО325_ЛР3_Защита_информации. Отчет по лабораторной работе по дисциплине Защита информации
Скачать 319.12 Kb.
|
Федеральное государственное бюджетное образовательное учреждение высшего образования «Уфимский государственный авиационный технический университет» Кафедра вычислительной математики и кибернетики Факультет информатики и робототехники ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ по дисциплине «Защита информации» Выполнили: студенты группы ПРО-325 Сафаргалеев И.А. Проверила: Узбекова Л.Я. УФА 2021 Лабораторная работа №3 Цель: Целью лабораторной работы является изучение принципа работы алгоритма RSA и приобретение практических навыков шифрования данных при помощи данного алгоритма в программном пакете CrypTool 1.4.30. Задания: В ходе выполнения работы студенты должны выполнить следующие задания: Познакомиться с основными параметрами алгоритма и их вычислением, зашифровать с помощью данных параметров информацию в текстовом и числовом виде и расшифровать (Indiv.Procedures -RSA Cryptosystem - RSA Demonstration). Создать документ (File - New) с произвольной информацией и зашифровать его с помощью имеющегося ключа (Encrypt/Decrypt - Asymmetric (modem) - RSA Encryption), посмотреть, как выглядит зашифрованная информация в шестнадцатеричной системе счисления и в виде текста. Сохранить документ в зашифрованном виде, удалив при этом исходный. Провести анализ зашифрованного документа различными методами, посмотреть параметры анализа алгоритма, попробовать изменить параметры вводимые при анализе, сравнить результаты (Analysis - Asymmetric Encryption). Расшифровать сохраненный документ с помощью имеющегося ключа, попробовать ввести правильный и неправильный pin ((Encrypt/Decrypt - Asymmetric (modern) - RSA Decryption)). Сделать выводы о проделанной работе. Ход работы 1 пункт: Зашифровывание информации: Текст: New high secret info p = 211 q = 233 Расшифровывание при помощи чисел: 2 пункт: RSA Encryption: Зашифрованное сообщение: Hello world! 3 пункт: Атака со знанием р (ввод открытого ключа и р): Атака на стереотипные сообщения: Атака на секретные ключи небольших размеров: Анализ параметров: 4 пункт: RSA Decryption: Расшифрованное сообщение: Hello world! При вводе неправильного pin’а выдает сообщение об ошибке Ответы на контрольные вопросы 1. На чем основана безопасность RSА? Безопасность RSA основана на трудности разложения на множители больших чисел. Открытый и закрытый ключи являются функциями двух больших (10-200 разрядов или даже больше) простых чисел. Предполагается, что восстановление открытого текста по шифротексту и открытому ключу эквивалентно разложению на множители двух больших чисел. 2. Назовите основные параметры алгоритма, как вычисляются ключи? Для генерации двух ключей используются два больших случайных простых числа, р и q. Для максимальной безопасности выбирайте р и q равной длины. Рассчитывается произведение: п = pq. Затем случайным образом выбирается ключ шифрования е, такой что е и (p-l)(q-l) являются взаимно простыми числами. Наконец расширенный алгоритм Эвклида используется для вычисления ключа дешифрования d, такого что ed = 1 (mod(p — 1 )(q — 1)). (8) Другими словами, d = e-1mc>d((p - l)(q - 1)) (9) Заметим, что d и n также взаимно простые числа. Числа е и п - это открытый ключ, а число d - закрытый. Два простых числа р и q больше не нужны. Они должны быть отброшены, но не должны быть раскрыты. 3. Как происходит шифрование и дешифрование в данном алгоритме? На основе каких формул? Для шифрования сообщения m оно сначала разбивается на цифровые блоки, меньшие п (для двоичных данных выбирается самая большая степень числа 2, меньшая п). То есть, если р и q - 100 разрядные простые числа, то п будет содержать около 200 разрядов, и каждый блок сообщения mi должен быть около 200 разрядов в длину. Если нужно зашифровать фиксированное число блоков, их можно дополнить несколькими нулями слева, чтобы гарантировать, что блоки всегда будут меньше п. Зашифрованное сообщение с будет состоять из блоков ci- той же самой длины. Формула шифрования выглядит так: Для расшифровки сообщения возьмите каждый зашифрованный блок сi, и вычислите: Так как все (mod п), то формула восстанавливает сообщение.
Точно также сообщение может быть зашифровано с помощью d, а расшифровано с помощью е, возможен любой выбор. 4. Опишите основные методы вскрытия RSA? Вскрытие с выбранным шифротекстом против RSA Некоторые вскрытия работают против реализаций RSA. Они вскрывают не сам базовый алгоритм, а надстроенный над ним протокол. Важно понимать, что само по себе использование RSA не обеспечивает безопасности. Дело в реализации. Чтобы избежать угрозы такого вскрытия, необходимо никогда не пользоваться алгоритмом RSA для подписи случайных документов, подсунутых посторонними. Всегда надо сначала воспользоваться однонаправленной хэш-функцией. Вскрытие общего модуля RSA При реализации RSA можно попробовать раздать всем пользователям одинаковый модуль п, но каждому свои значения показателей степени е и d. Наиболее очевидная проблема в этом случае: если одно и то же сообщение когда-нибудь шифровалось разными показателями степени (с одним и тем же модулем), и эти два показателя - взаимно простые числа (как обычно и бывает), то открытый текст может быть раскрыт, даже без знания ключей дешифрования. Можно воспользоваться расширенным алгоритмом для вычисления, вероятностным методом для разложения п на множители и детерминированным алгоритмом вычисления какого-нибудь секретного ключа без разложения модуля на множители. Вскрытие малого показателя шифрования RSA Шифрование и проверка подписи RSA выполняется быстрее, если для е используется небольшое значение, но это также может быть небезопасным. Если е(е+1)/2 линейно зависящих сообщений с различными открытыми ключами шифруются одним и тем же значением е, существует способ вскрыть такую систему. Если сообщений не так много, или если сообщения не связаны, то проблем нет. Если сообщения одинаковы, то достаточно е сообщений. Проще всего дополнять сообщения независимыми случайными числами. Это также гарантирует, что Так делается в большинстве практических реализаций RSA. Вскрытие малого показателя дешифрования RSA Другое вскрытие, предложенное Майклом Винером, раскрывает d, где d не превышает четверти размера п, а е меньше п. При случайном выборе е и d это встречается редко, и никогда не произойдет, если значение е мало. Вскрытие шифрования и подписи с использованием RSA Имеет смысл подписывать сообщение перед шифрованием, но на практике это мало кто делает. Для RSA можно вскрыть протоколы, шифрующие сообщение до его подписания. Хэш-функции не решают проблему. Однако она решается при использовании для каждого пользователя фиксированного показателя шифрования. 5. Какие необходимо принять меры, чтобы избежать раскрытия алгоритма? Джудит Мур на основании перечисленных вскрытий приводит следующие ограничения RSA: • знание одной пары показателей шифрования /дешифрования для данного модуля позволяет взломщику разложить модуль на множители; • знание одной пары показателей шифрования /дешифрования для данного модуля позволяет взломщику вычислить другие пары показателей, не раскладывая модуль на множители; • в протоколах сетей связи, применяющих RSA,не должен использоваться общий модуль; • для предотвращения вскрытия малого показателя шифрования сообщения должны быть дополнены случайными значениями; • показатель дешифрования должен быть большим. Недостаточно использовать безопасный криптографический алгоритм, должны быть безопасными вся криптосистема и криптографический протокол. Слабое место любого из этих трех компонентов сделает небезопасной всю систему. Вывод В ходе лабораторной работы был изучен принцип работы алгоритма RSA, а также были приобретены навыки шифрования данных при помощи этого алгоритма в программном пакете CrypTool 1.4.30. |