ЛР5. Исследование и сравнение стойкости шифров перестановки, подстановки, гаммирования, Виженера на основе атак путем перебора всех возможных ключей
Скачать 257.41 Kb.
|
Лабораторная работа 5. Исследование различных методов защиты информации и их стойкости на основе подбора ключей Цель работы: исследование и сравнение стойкости шифров перестановки, подстановки, гаммирования, Виженера на основе атак путем перебора всех возможных ключей. Содержание работы: 1. Исследование способа вскрытия шифра, основанного на переборе всех вариантов ключа. 2. Дешифрование текста на найденных ключах. 1. Теоретическая часть Для выполнения лабораторной работы необходимо запустить программу LAB_RAB.exe (выдает преподаватель), используемую для шифрования/расшифрования, а также дешифрования (методом протяжки вероятного слова)файлов. Система реализует следующие функции: ввод, удаление и селекция ключей пользователя; поддержка списка ключей; шифрование и расшифрование текста; дешифрование текста путем подбора ключей, методом протяжки вероятного слова. Система поддерживает следующие методы криптографического преобразования информации: шифр замены; шифр перестановки; шифр гаммирования; шифр Виженера. При запуске утилит шифрования и расшифрования у пользователя запрашивается подтверждение на правильность выбранного метода для работы и соответствия заданного ключа целям пользователя (также всегда при изменении файла в текстовом редакторе выдается запрос на сохранение изменений при каждом шаге, дальнейшее развитие которого приведет к необратимым изменениям в файле и потере изначальной информации). Описание интерфейса. Окно текстового редактора с широким набором дополнительных функций. Таблица всех ключей, введенных в систему с быстрым доступом для ввода, удаления или выбора текущего ключа. Список всех методов шифрования для быстрого и удобного переключения между ними. Основное меню (вверху экрана). Дополнительное меню (вызывается нажатием правой кнопки мыши). Набор вспомогательных кнопок для быстрого и удобного интерфейса. Поля вывода текущего состояния системы: Текущий ключ; Вероятное слово; сила ключа для протяжки. Пример работы с программой 1. Вводится список ключей. 2. Вводится вероятное слово (необязательно вначале, до его ввода все меню запуска протяжки все равно недоступны). 3. Выбирается необходимый метод шифрования. Внимание! Будьте внимательны при установке параметров работы, так как в процессе вычисления по ходу работы эти параметры изменить уже не удастся. После запуска программы абсолютно все рабочие поля пустые и необходимо провести первоначальные настройки для работоспособности системы. 4. Загружается исходный или зашифрованный файл (открываются соответствующие меню для шифрования и расшифрования). 5. Запускается необходимый процесс: – шифрование; – расшифрование; – протяжка вероятного слова; – конвертация текста. 6. Продолжение работы в любом порядке в соответствии с описанными пунктами. 7. При завершении работы не забудьте сохранить необходимые результаты (при закрытии и загрузке новых файлов система автоматически запрашивает подтверждение на запись). Шифрование 1. Открыть файл. 2. Внести необходимые изменения. 3. Настроить соответствующие параметры: – тип шифрования; – ключ; – прочие. 4. Запустить процесс шифрования через пункт меню УТИЛИТЫ \ ЗАШИФРОВАТЬ F5. Внимание! При шифровании файла все внесенные пользователем изменения до текущего момента времени будут сохранены на жестком диске. Дешифрование 1. Открыть файл. 2. Произвести необходимые изменения. 3. Настроить соответствующие параметры: – тип шифрования; – прочие. 4. Запустить процесс расшифрования через пункт меню УТИЛИТЫ \ РАСШИФРОВАТЬF6. Внимание! При дешифровании файла все проведенные пользователем изменения до текущего момента времени будут сохранены на жестком диске. Протяжка вероятного слова (дешифрование) Внимание! Мощность ключа задастся заранее в опции "сила ключа". Длина ключа значительно влияет на время протяжки вероятного слова (в худшем случае имеем дело с логарифмическим алгоритмом). 1. Вводится вероятное слово (длинной от 1(3) до9) 2. Для отделения вновь найденных ключей от предыдущих между ними добавляется надпись "подбор". 3. Перебор ключей. 4. Расшифровывается первая вся строка текста по текущему ключу. 5. Порциями, равными длине вероятного слова, сравнивается содержимое этой строки со значением вероятного слова. 6. Если найдено хоть одно совпадение, запоминаем ключ. 7. Переходим к новому ключу. 8. Переходим к следующей строке. 9. Результаты должны содержаться в списке ключей. Если совпадений не найдено, в список ключей ничего не добавляется. Операции с ключами С базой ключей могут осуществляться следующие действия: добавить новый ключ; удалить одну запись; изменить активную запись; очистить всю таблицу введенных ключей. Примечание. Под словами "работа с таблицей ключей" имеются в виду ключи, введенные для использования в двух методах (гаммирования и Виженера). Ключи для перестановки В каждый момент времени в системе может быть только один текущий ключ для перестановки. Правила ввода ключа для перестановки: 1. При переключении в списке поддерживаемых системой методов шифрования на пункт "Перестановка" вызывается окно ввода ключа перестановки. Окно состоит из двух кнопок (Отмены и Выхода без изменений и кнопки Enter – подтверждение установленной длины ключа) и окна задания длины ключа для перестановки. 2. В окне задания длины ключа необходимо выбрать необходимую длину (параметры заменяются в пределах 1 … 9), и подтвердить желание использовать ключ именно такой длины. 3. После подтверждения в окне высветятся кнопки с цифрами на лицевой стороне (в количестве, равном длине ключа), при нажатии на кнопку происходит фиксация кнопки (ее обесцвечивание) для невозможности ее дальнейшего использования (так как все цифры в ключе перестановки должны быть неповторяющимися). 4. После перебора всех кнопок система запоминает введенный ключ, выводит его в поле ввода ключей и выходит из окна ввода ключа перестановки в окно основной программы. 2. Задания к лабораторной работе Задание 1. Ознакомиться с описанием лабораторной работы и заданием. Задание 2. Выполнить настройку программы: выбрать метод шифрования; ввести ключи для всех методов; ввести вероятное слово; осуществить все остальные системные настройки. Задание 3. Для метода замены (одноалфавитного метода): выбрать данный алгоритм в списке доступных методов шифрования; установить необходимое смещение; открыть произвольный файл; просмотреть содержимое исходного файла; выполнить для этого файла шифрование (при необходимости можно задать имя зашифрованного файла); просмотреть в редакторе зашифрованный файл; ввести вероятное слово; ввести вероятную длину ключа (кроме метода замены); подобрать ключ; выполнить расшифрование со всеми найденными ключами; найти в каком-либо из расшифрованных файлов правильно расшифрованное ключевое слово; расшифровать файл исходным ключом; проверить результат. Задание 4. Для метода перестановки: выбрать метод перестановки; в открывшемся окне ввода ключа перестановки символов указать сначала длину этого ключа, а затем из появившихся кнопок составить необходимую комбинацию для ключа, нажимая на кнопки в заданном порядке; при этом уже использованные кнопки становятся недоступными для предотвращения их повторного ввода; далее действия полностью соответствуют изложенным в предыдущем пункте задания. Задание 5. Для метода гаммирования: выбрать метод гаммирования; ввести ключ гаммирования; полностью повторить п. 3. Задание 6. Для таблицы Виженера все действия повторяются из п. 5 (метод гаммирования). В отчете для каждого метода шифрования описывается последовательность выполняемых действий, указываются имена всех использованных файлов, исходные и найденные ключи, описывается процесс дешифрования. Преподавателю предоставляется отчет о проделанной работе и все использованные файлы. Задания для самостоятельной работы 1. Укажите в письменной форме, в чем недостатки метода дешифрования с использованием протяжки вероятного слова. 2. Дайте письменно все определения: шифра гаммирования, шифра подстановки, шифра Виженера, шифра перестановки, шифра многоалфавитной подстановки. Вопросы к лабораторной работе 1. Чем отличается “псевдооткрытый” текст (текст, полученный при расшифровке по ложному ключу) от настоящего открытого текста? 2. Как зависит время вскрытия шифра описанным выше способом подбора ключей от длины “вероятного” слова? 3. Зависит ли время вскрытия шифра гаммирования (или таблицы Виженера) от мощности алфавита гаммы? |