Добавил:
донатики - https://qiwi.com/n/1ZOMBIE1 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛБ / ЛБ_4

.docx
Скачиваний:
7
Добавлен:
01.10.2023
Размер:
129.3 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное образовательное

учреждение высшего образования

«Юго-Западный государственный университет»

Лабораторная работа №4

По дисциплине: «Криптографические методы защиты информации»

Тема: «Криптоанализ аддитивного шифра. Метод гаммирования с помощью LSR»

Выполнил: Бунина А.В.

студент группы ИБ-01б

Проверил: Ефремов М.А.

доцент

Курск, 2023

Цель: получение практических навыков криптоанализа аддитивных двоичных шифров методом вероятных слов.

Теория

Сдвиговый регистр представляет собой набор ячеек, которые последовательно связаны между собой в одном направлении (положим, что это связь от младших номеров к старшим). Ячейки могут находиться в двух состояниях: нуль или единица. Регистр может быть представлен в виде схемы или задан формулой (например формулой положения отводов или формулой ячеек).

Длина регистра - количество ячеек в наборе, а состояние регистра это состояние его ячеек в данный момент.

Линейная обратная связь говорит о том, что после одного такта работы регистра (сдвига содержимого на одну ячейку вправо) старшая ячейка будет заполнена особым образом, а именно: заполнение старшей ячейки на к-ом шаге представляет собой сумму по модулю 2 содержимого остальных ячеек у которых имеются отводы на шаге к-1.

Такт работы регистра представляет собой последовательную запись содержимого предыдущей ячейки в последующую (т.е. содержимое ячейки i записывается в i+1 ячейку). При этом содержимое L-той ячейки будет представлять собой часть выходной последовательности (гаммы, ключевой последовательности), а старшая ячейка заполняется способом описанным выше.

Первоначальное заполнение ячеек регистра называется начальное заполнение и представляет собой состояние ячеек перед началом работы регистра (порождения гаммы). Начальное заполнение является, наряду с положением отводов в регистре, элементом, определяющим выходную последовательность. Зная начальное заполнение и конфигурацию (положение отводов и длину) регистра, можно породить выходную последовательность. Существует одно особое начальное заполнение регистра - нулевое заполнение, при данном начальном заполнении выходная последовательность будет представлять собой исключительно нули при любой конфигурации регистра.

Выходная последовательность (ключевая последовательность, гамма) - результат работы сдвигового регистра, представляющая собой последовательность битов (нулей и единиц), каждый из которых является состояниями L-той ячейки регистра на определенном такте работы. Т.е. после i тактов работы регистра будет получена гамма длины i, однако из-за конечности числа состояний регистра максимальная длина гаммы равна 2L-1.

Формульное задание регистра. Для удобства записи сдвиговый регистр с линейной обратной связью может быть задан формулой. При этом он может быть задан либо формулой своих отводов h(х), либо формулой ячеек С(D).

Гамма, порождаемая сдвиговыми регистрами, является очень удобным ключом для шифрования информации, представленной в двоичной форме. Метод, в основе которого лежит шифрование сообщений при помощи гаммы, называется метод гаммирования. Его суть заключается в том, что сообщение, представленное в двоичной форме длины R, складывается побитно по модулю 2 с гаммой такой же длины R. В результате получается бинарная последовательность - шифрограмма.

Для того, чтобы расшифровать шифрограмму, необходимо знать гамму, при помощи которой сообщение было зашифровано. Расшифровка производится также как и шифрование, а именно: шифрограмма длины R складывается побитно по модулю 2 с гаммой, при помощи которой было произведено шифрование, такой же длины R. В результате получается бинарная последовательность - двоичное представление открытого текста

Сдвиговые регистры с линейной обратной связью порождают ключевые последовательности распределение отдельных элементов (единиц, нулей, пар единиц единица-нуль и т.д.) которых близко к равномерному (т.е. сдвиговый регистр имитирует работу криптостойкой системы одноразового шифрования). Нападения на такие ключи требуют больших затрат, однако нападения на сам сдвиговый регистр не сложны. Для таких нападений применяется атака с частью известного открытого текста.

В общем случае криптоаналитику не известны ни длина регистра L, ни положение отводов. Этот случай является самым общим и приходится выдвигать гипотезы относительно длины регистра и проверять каждую из них. Существует алгоритм, который позволяет по заданной длине бинарной последовательности определить наименьший регистр, который мог бы породить данную последовательность. Это алгоритм Берлекэмпа-Месси.

Выполнение работы

Открываем диалоговое окно лабораторной работы и выбираем свой вариант. Загружаем выбранный вариант.

Выбираем вероятную биграмму «ЕН». Позиция в тексте «0-1». В блоке сложение по модулю 2 видим результат «11011101110000»

Далее нажмем на кнопку «Матрица А». Заполняем матрицу А в поле S(1) вводим значения поля «сложение по модулю 2» с седьмого элемента по первый. Поля S(2)-S(8) заполняем со сдвигом вправо. После заполнения нажимаем кнопку вычислить.

Видим, что обратная матрица состоит из пустых строк, когда она будет полностью заполнена смотрим на матрицу А и проверяем чтобы со второй строки число «1» шло вниз со сдвигом вправо, в таком случае можно попробовать внести первую строку матрицы А для дешифровки текста в блок «Положение отводов». Пробуем следующую позицию в тексте по аналогии проверяем результаты матрицы.

Промоделируем полученный результат на позиции в тексте 1 и 2.

Данная комбинация не подходит для дешифровки текста. Меняем позицию в тексте и проводим аналогичные действия.

При выполнении данной работы в варианте №3 вероятная биграмма является «СТ», а позиция в тексте «13-14».

Открытый текст: ДЕЛОПРОИЗВОДСТВО.

Вывод: получила осмысленный текст из зашифрованного сообщения при помощи учебной программы. Подобрала вероятную биграмму для варианта №3, изменяя позицию в тексте, и заполняя матрицу, чтобы найти положение отводов для моделирования по количеству блоков назад.

Соседние файлы в папке ЛБ