Лабораторная работа №1 по курсу "Информационная безопасность" Лабораторная работа №1 - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Лабораторная работа №6 по курсу "Информационная безопасность" Лабораторная... 1 57.72kb.
Лабораторная работа по курсу Радиотехника Москва 2003 1 183.89kb.
Лабораторная работа №1 по дисциплине «Информационная безопасность... 1 43.31kb.
Лабораторная работа Лабораторная работа Основы теории множеств 7 1675.01kb.
Лабораторная работа №1 Построение детерминированного синтаксического... 1 279.02kb.
Лабораторная работа №1 Установка и настройка сетевой карты. 1 58.04kb.
Лабораторная работа №1 Законы сохранения в механике 2 612.89kb.
Лабораторная работа №4 по курсу «Методы вычислений» Студент первого... 1 80.69kb.
Лабораторная работа №1 по дисциплине: Дискретная математика Группа 1 77.9kb.
Лабораторная работа №2 цикл карно цель работы: изучение работы идеальной... 1 40.65kb.
Лабораторная работа №3 Работа с файловым менеджером проводник 1 22.05kb.
Прикладные методы оптимизации. Часть 2 1 41.39kb.
Викторина для любознательных: «Занимательная биология» 1 9.92kb.

Лабораторная работа №1 по курсу "Информационная безопасность" Лабораторная работа - страница №1/1




Лабораторная работа №1 по курсу “Информационная безопасность”

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

Абсолютно стойкий шифр. Применение режима однократного гаммирования.



Цель работы

Освоить на практике применение режима однократного гаммирования.


Указание к работе

Простейшей и в то же время наиболее надежной из всех схем шифрования является так называемая схема однократного использования (рис. 1.1), изобретение, которое чаще всего связывают с именем Г.С. Вернама.



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

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

Допустим, в тайной деловой переписке используется метод однократного наложения гаммы на открытый текст. Напомним, что "наложение" гаммы не что иное, как выполнение операции сложения по модулю 2 (xor), которая в языке программирование С обозначается знаком ^, а в математике – знаком , её элементов с элементами открытого текста.

Стандартные операции над битами: 0 0 = 0, 0 1 = 1, 1 0 = 1, 1 1= 0

Этот алгоритм шифрования является симметричным. Поскольку двойное прибавление одной и той же величины по модулю 2 восстанавливает исходное значение, шифрование и расшифрование выполняется одной и той же программой.

Р
Ключ Key

Ключ Key
ежим шифрования однократного гаммирования реализуется следующим образом:




Рис.1.1 Схема однократного использования Вернама
Задача нахождения шифротекста при известном ключе и открытом тексте состоит в применение следующего правила к каждому символу открытого текста:

, (1)

где i-тый символ получившегося зашифрованного послания, i-тый символ открытого текста, i-тый символ ключа, где i=1,m Размерности открытого текста и ключа должны совпадать, и полученный шифртекст будет идентичной длины.

Задача нахождения ключа по известному шифротексту и открытому тексту может быть решена, исходя из (1). Обе части равенства сложим по модулю 2 с Mi.

, (2)

. (3)

Таким образом, получили формулы для решения обеих поставленных задач. Так как открытый текст представлен в символьном виде, а ключ - в своём шестнадцатеричном представлении, то в соответствие с таблицей ASCII-кодов можно представить ключ в символьном виде. Тогда уже будут возможны операции (1), (3), необходимые для решения поставленных задач.

К. Шенноном доказано, что если ключ является фрагментом истинно случайной двоичной последовательностью с равномерным законом распределением, причем его длина равна длине исходного сообщения и используется этот ключ только один раз, после чего уничтожается, такой шифр является абсолютно стойким, даже если Криптоаналитик располагает неограниченным ресурсом времени и неограниченным набором вычислительных ресурсов. Действительно, противнику известно только зашифрованное сообщение C, при этом все различные ключевые последовательности Key возможны и равновероятны, а значит, возможны и любые сообщения M, т.е. криптоалгоритм не дает никакой информации об открытом тексте.

Необходимые и достаточные условия абсолютной стойкости шифра:


  • полная случайность ключа;

  • равенство длин ключа и открытого текста;

  • однократное использование ключа.



Рассмотрим пример:

Ключ Центра:

05 0C 17 7F 0E 4E 37 D2 94 10 09 2E 22 57 FF C8 0B B2 70 54



Сообщение Центра:

Штирлиц – Вы Герой!!

D8 F2 E8 F0 EB E8 F6 20 2D 20 C2 FB 20 C3 E5 F0 EE E9 21 21

Зашифрованный текст, находящийся у Мюллера:

DD FE FF 8F E5 A6 C1 F2 B9 30 CB D5 02 94 1A 38 E5 5B 51 75



Дешифровальщики попробовали ключ:

05 0C 17 7F 0E 4E 37 D2 94 10 09 2E 22 55 F4 D3 07 BB BC 54



и получили текст:

D8 F2 E8 F0 EB E8 F6 20 2D 20 C2 FB 20 C1 EE EB E2 E0 ED 21

Штирлиц - Вы Болван!

Пробуя новые ключи, они будут видеть все новые и новые фразы, пословицы, стихотворные строфы, словом, всевозможные тексты заданной длины.


Задание

Вопрос: Какой нужно подобрать ключ Мюллеру, чтобы получить сообщение: «СНовымГодом, друзья!».

Реализовать приложение, позволяющее шифровать и дешифровать данные в режиме однократного гаммирования. Его задачи состоят в следующем:



  1. Определить вид шифротекста при известном ключе и известном открытом тексте.

  2. Определить ключ, с помощью которого шифртекст может быть преобразован в некоторый фрагмент текста, представляющий собой один из возможных вариантов прочтения открытого текста.



Контрольные вопросы

  1. В чём заключается смысл однократного гаммирования?

  2. Назовите недостатки однократного гаммирования.

  3. Назовите преимущества однократного гаммирования.

  4. Как вы думаете, почему размерность открытого текста должна совпадать с ключом?

  5. Какая операция используется в режиме однократного гаммирования, назовите её особенности?

  6. Как по открытому тексту и ключу получить шифртекст?

  7. Как по открытому тексту и шифротексту получить ключ?

  8. В чем заключаются необходимые и достаточные условия абсолютной стойкости шифра?


Использование однократного гаммирования.

Шифрование (кодирование) различных исходных текстов одним ключом.



Цель работы

Освоить на практике применение режима однократного гаммирования на примере кодирования различных исходных текстов одним ключом.


Указание к работе

Исходные данные:

Две телеграммы Центра:



T1 = "НаВашисходящийот1204"

T2 = "ВСеверныйфилиалБанка"

Ключ Центра длиной 20 байт:



K = 05 0C 17 7F 0E 4E 37 D2 94 10 09 2E 22 57 FF C8 OB B2 70 54

Режим шифрования однократного гаммирования одним ключом двух видов открытого текста реализуется следующим образом:





Рис.2.1 Общая схема шифрования двух различных текстов одним ключом

С помощью формул режима однократного гаммирования получим шифротексты обеих телеграмм:



, (1)

.

Задача нахождения открытого текста по известному шифротексту двух телеграмм, зашифрованных одним ключом, может быть решена, исходя из (1). Сложим по модулю 2 оба равенства (1). Учитывая такое свойство операции xor (), что

1  1= 0, 1  0 = 1 (2)

получаем:



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

. (4)

Таким образом, злоумышленник получает возможность определить те символы сообщения , которые находятся на позициях известной "рыбы" сообщения . Догадываясь по логике сообщения , злоумышленник имеет реальный шанс узнать ещё некоторое количество символов сообщения . Затем используем (4), вместо подставляя новоузнанные символы сообщения . И так далее. Действуя подобным образом, злоумышленник если даже не прочитает оба сообщения, то значительно уменьшит пространство их поиска.


Задание

Обе телеграммы кодируются одним ключом (однократное гаммирование). Мюллер перехватывает обе шифрованные телеграммы.



Вопрос: Каким образом, не зная ключа и не стремясь его определить, Мюллер прочитает обе телеграммы?

Реализовать приложение, позволяющее шифровать и дешифровать телеграммы и в режиме однократного гаммирования. Его задача состоит в следующем:



  1. Определить вид шифротекста и обеих телеграмм и при известном ключе К.

  2. Определить и выразить аналитически, каким образом злоумышленник в лице Мюллера может прочитать обе телеграммы, не зная ключа и не стремясь его определить.


Контрольные вопросы

  1. Как, зная текст одной из телеграмм (T1 или T2), определить другую, при этом ключ неизвестен?

  2. Что будет, если повторно использовать ключ при шифровании текста?

  3. Как реализуется режим шифрования однократного гаммирования одним ключом двух видов открытого текста?

  4. Назовите недостатки шифрования одним ключом двух видов открытого текста?

  5. Назовите преимущества шифрования одним ключом двух видов открытого текста?


Моделирование работы разрядного скремблера



Цель работы

Исследовать побитное непрерывное шифрование данных. Ознакомиться с кодированием информации при помощи скремблера.


Указание к работе

Ознакомиться с лекционным материалом, литературой [8], [10], [13], [14] (список литературы к лекциям по курсу “Информационная безопасность”), а так же приведенные ниже методические указания.



Скремблером называется программная или аппаратная реализация алгоритма, позволяющего шифровать побитно непрерывные потоки информации.

Рассмотрим сдвиговый регистр с обратной связью (Linear Feedback Shift Register, сокращенно LFSR) – логическое устройство, схема которого изобра­жена на рис. 3.1.

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



Рис. 3.1. Схема LFSR.
LFSR состоит из ячеек памяти, двоичные состояния которых в момент времени характеризуются значениями . Выходы ячеек памяти связаны не только последовательно друг с другом, но и с сумматорами в соответствии с коэффициентами передачи : если , то значение -ой ячейки передается на один из входов -го сумма­тора; если же , то такая передача отсутствует. Полагается . Состояние LFSR в текущий момент времени задается двоичным -вектор-столбцом .

Содержание ячеек LFSR с течением времени изменяется следующим обра­зом, определяя тем самым динамику состояний LFSR:





Текущие значения нулевой ячейки регистра используются в качестве эле­ментов порождаемой LFSR двоичной псевдослучайной последовательности (см. рис. 5.1).

Данная последовательность извлеченных бит должна обладать тремя свойствами:



  1. Сбалансированность: для каждого интервала последовательности количество двоичных единиц должно отличаться от числа двоичных нулей не больше чем на один элемент.

  2. Цикличность: циклом называют непрерывную последовательность одинаковых двоичных чисел. Появление иной двоичной цифры автоматически начинает новый цикл. Длина цикла равна количеству в нем. Необходимо, чтобы половина всех “полосок» (подряд идущих идентичных компонентов последовательности) имела длину 1, одна четвертая – длину 2, одна восьмая – длину 3 и т.д.

  3. Корреляция: если часть последовательности и её циклично сдвинутая копия поэлементно сравниваются, желательно, чтобы число совпадений отличалось от числа несовпадений не более чем на 1.

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

Чтобы построить N-разрядный скремблер, создающий ПНД, пользуются примитивными многочленами. Примитивный (базовый) многочлен степени по модулю 2 – это неприводимый многочлен, который является делителем , но не является делителем для всех , являющихся делителями . Неприводимый многочлен степени нельзя представить в виде умножения многочленов кроме него самого и единичного.

Найденный примитивный многочлен степени записывается в двоичном виде, затем отбрасывается единица, соответствующая самому младшему разряду.

Код для этого LFSR для многочлена , на языке C выглядит следующим образом:



int LFSR ()

{

static unsigned long ShiftRegister = 1; /* Все кроме 0, начальное значение *./

ShiftRegister =

((((ShiftRegister >> 7)^ ( ShiftRegister >> 3)^ShiftRegister)& 0x00000001 )<< 31)| (ShiftRegister >> 1) ;

return ShiftRegister & 0x00000001 ;

}

Заметим, что функция int LFSR () возвращает одно значение, которое помещается в моделируемую последовательность. Для получения последовательности длины необходимо модифицировать функцию.



Задание

Исходные данные:

1.Открытый текст





Скремблер

1





2





3





4





5





6





7





8





9





10




2.Скремблер

Варианты
3.Начальная комбинация бит для скремблера (ключ).
Реализовать приложение, позволяющее смоделировать работу скремблера. Его задачи состоят в следующем:

  1. Получить зашифрованный текст при известных начальном ключе и скремблере.

  2. По зашифрованному тексту получить его открытый вариант при известных начальном ключе и скремблере.

  3. По начальному ключу и скремблеру получить период скремблера.

  4. Показать, что псевдослучайная последовательность, генерируемая скремблером распределена/не распределена по равномерному закону RAV(0,1) (использовать критерий согласия, например ).

  5. Исследовать псевдослучайную последовательность на свойства сбалансированности, цикличности, корреляции.


Контрольные вопросы

  1. На какие два класса можно разделить поточные шифры?

  2. Дайте определение скремблера.

  3. Объясните основной принцип работы скремблера.

  4. Как определить максимальную длину скремблера?

  5. Какая последовательность нулей и единиц называется псевдослучайной?

  6. Назовите свойства, которыми обладает псевдослучайная последовательность.

  7. В чем заключаются недостатки использования скремблера?

  8. В чем заключаются преимущества использования скремблера?

  9. Приведите примеры приводимых и неприводимых полиномов.

  10. Что такое неприводимый многочлен?

  11. Что такое примитивный многочлен?