Файл: Методические указания и контрольные задания по дисциплине информационная безопасность для студентов направления 09. 03. 02.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 1109

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Кафедра ИБ

Методические указания и контрольные задания по дисциплине

Методические указания и контрольные задания по дисциплине

1.2.2.Шифрование магическими квадратами

1.3.2.Система шифрования Цезаря

1.3.5. Биграммный шифр Плейфейра Шифр Плейфейра, изобретенный в 1854 г., является наиболее известным биграммным шифром замены. Он применялся Великобританией во время первой мировой войны. Основой шифра Плейфейра является шифрующая таблица со случайно расположенными буквами алфавита исходных сообщений.Для удобства запоминания шифрующей таблицы отправителем и получателем сообщений можно использовать ключевое слово (или фразу) при заполнении начальных строк таблицы. В целом структура шифрующей таблицы системы Плейфейра полностью аналогична структуре шифрующей таблицы Трисемуса. Поэтому для пояснения процедур шифрования и расшифрования в системе Плейфейра воспользуемся шифрующей таблицей Трисемуса из предыдущей задачи ( рис. 1.5).Процедура шифрования включает следующие шаги. Открытый текст исходного сообщения разбивается на пары букв (биграммы). Текст должен иметь четное количество букв и в нем не должно быть биграмм, содержащих две одинаковые буквы. Если эти требования не выполнены, то текст модифицируется даже из-за незначительных орфографических ошибок. Последовательность биграмм открытого текста преобразуется с помощью шифрующей таблицы в последовательность биграмм шифртекста по следующим правилам: 2а.Если обе буквы биграммы открытого текста не попадают на одну строку или столбец (как, например, буквы А и Й в табл. на рис.2.6), тогда находят буквы в углах прямоугольника, определяемого данной парой букв. (В нашем примере это – буквы АЙОВ. Пара букв АЙ отображается в пару ОВ. Последовательность букв в биграмме шифртекста должна быть зеркально расположенной по отношению к последовательности букв в биграмме открытого текста.)2б.Если обе буквы биграммы открытого текста принадлежат одному столбцу таблицы, то буквами шифртекста считаются буквы, которые лежат под ними. (Например, биграмма НС дает биграмму шифртекста ГЩ.) Если при этом буква открытого текста находится в нижней строке, то для шифртекста берется соответствующая буква из верхней строки того же столбца. (Например, биграмма ВШ дает биграмму шифртекста ПА.)2в.Если обе буквы биграммы открытого текста принадлежат одной строке таблицы, то буквами шифртекста считаются буквы, которые лежат справа от них. (Например, биграмма НО дает биграмму шифртекста ДЛ.) Если при этом буква открытого текста находится в крайнем правом столбце, то для шифра берут соответствующую букву из левого столбца в той же строке. (Например, биграмма ФЦ дает биграмму шифртекста ХМ.)Задача 1.10. Зашифровать биграммным шифром Плейфера текстВСЕ ТАЙНОЕ СТАНЕТ ЯВНЫМРешение.Разобьём этот текст на биграммы:ВС ЕТ АЙ НО ЕС ТА НЕ ТЯ ВН ЫМДанная последовательность биграмм открытого текста преобразуется с помощью шифрующей таблицы (рис. 1.5) в следующую последовательность биграмм шифртекстаГП ДУ ОВ ДЛ НУ ПД ДР ЦЫ ГА ЧТПри дешифровании применяется обратный порядок действий.Шифрование биграммами резко повышает стойкость шифров к вскрытию. Хотя книга И.Трисемуса "Полиграфия" была относительно доступной, описанные в ней идеи получили признание лишь спустя три столетия. По всей вероятности, это было обусловлено плохой осведомленностью криптографов о работах богослова и библиофила Трисемуса в области криптографии.Пояснение к заданию 2Методы шифрования2.1. Метод перестановок на основе маршрутовГамильтонаЭтот метод реализуется путем выполнения следующих шагов.Шаг 1. Исходный текст разбивается на блоки. Если длина шифруемого текста не кратна длине блока, то на свободные места последнего блока помещаются служебные символы-заполнители(например,*)Шаг 2. Символами блока заполняется таблица, в которой для каждого порядкового номера символа в блоке отводится вполне определенное место (рис. 2.1). Исходная таблица Маршрут 1 Маршрут 2Рисунок 2.1 - Вариант 8-элементной таблицы и маршрутов Гамильтона.Шаг 3. Считывание символов из таблицы осуществляется по одному из маршрутов. Увеличение числа маршрутов повышает криптостойкость шифра. Маршруты выбирают либо последовательно, либо их очерёдность задаётся ключом К.Шаг 4. Зашифрованная последовательность символов разбивается на блоки фиксированной длины L. Величина L может отличаться от длины блоков, на которые разбивается исходный текст на шаге 1.Расшифрование производится в обратном порядке.Задача 2.1. Требуется зашифровать текст <МЕТОДЫ ПЕРЕСТАНОВКИ>. Ключ и длины зашифрованных блоков равны: К=<2,1,1>, L=4. Для шифрования использовать таблицу и два маршрута, представленные на рис.2.1.Решение. Воспользуемся вышеизложенной методикой построения шифра по шагам.Шаг 1. Исходный текст разбивается на 3 блока:Блок =<МЕТОДЫ П>Блок =<ЕРЕС ТАНО> =<ВКИ*****> Шаг 2. Заполняется 3 матрицы с маршрутами 2,1,1 (рис.2.2.) Маршрут 2 Маршрут 1 Маршрут 1Рисунок 2.2 - Шифрование с помощью маршрутов Гамильтона.Шаг 3. Получение шифртекста путём расстановки символов в соответствии с маршрутами. =<ОП_ТМЕЫДЕСРЕТАОНИ*КВ****>Шаг4. Разбиение на блоки шифртекста =<ОП_Т МЕЫД ЕСРЕ ТАОН И*КВ ****>Возможно применение и других маршрутов.2.2. Аналитические методы шифрованияСреди аналитических методов наибольшее распространение получили методы, основанные на использовании матриц. Зашифрование К-го блока исходной информации, представленного в виде вектора осуществляется путём перемножения матрицы ключа и вектора . В результате перемножения получается блок шифртекста в виде вектора , где элементы вектора определяются по формуле: .Расшифрование информации осуществляется путём последовательного перемножения векторов и обратной матрицы .Задача 2.2. Требуется зашифровать слово =<ЗАБАВА> с помощью матрицы-ключа А.A= Решение.1.Определим числовой эквивалент исходного слова как последовательность соответствующих порядковых номеров букв слова : =<8,1,2,1,3,1>2.Разобьём на два вектора и 3. Умножим матрицу А на векторы и : = = 4. Зашифрованное слово запишем в виде последовательности чисел =<28,35,67,21,26,38>.Задача 2.3. Расшифровать текст, полученный в задаче 2.2. Решение.1.Вычисляется определитель .2.Определяется присоединённая матрица , каждый элемент которой является алгебраическим дополнением элемента матрицы А: 3.Получается транспонированная матрица = 4.Вычисляется обратная матрица по формуле: = ,В результате вычислений обратная матрица имеет вид: 5.Определяются векторы и : ; = = 6.Получаем числовой эквивалент расшифрованного слова: =<8,1,2,1,3,1>, который заменяется символами, в результате получается исходное слово <ЗАБАВА>Пояснение к заданию 3Асимметричная криптосистема RSA.Расширенный алгоритм Евклида Выбирают два больших простых числа pиq. Для большей криптостойкости pиqвыбирают равной длины. Вычисляют произведение: n=pq Вычисляют z=(p-1)(q-1) и выбирают число е взаимно простое с z, т.е. НОД (е,z)=1. Для вычисления закрытого (секретного) ключа d решается сравнение еd 1modz (1)Решение (1) имеет вид Для вычисления ключа dвоспользуемся расширенным алгоритмом Евклида. Для этого число обращается в конечную цепную дробь: Цепная дробь имеет вид: , а последовательности и числителей и знаменателей подходящих дробей к цепной дроби определяются рекуррентно: , . , , Их вычисления удобно оформить в виде таблицы:

П Р И Л О Ж Е Н И Е

ЭЛЕМЕНТЫ ТЕОРИИ ЧИСЕЛ

Модулярная арифметика

Основные способы нахождения обратных величин

a–1 º 1 (mod n).


Вообще приведенный набор вычетов по модулю простого числа n имеет n –1 элементов.

Пример. Пусть модуль n =10. Полный набор вычетов по модулю n =10

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.

Из них только 1, 3, 7, 9 не имеют общего сомножителя с числом 10. Поэтому приведенный набор вычетов по модулю 10 равен {1, 3, 7, 9}. При формировании этого приведенного набора были исключены элементы:

0 (1 элемент),

кратные 2 (4 элемента),

кратные 5 (1 элемент),

т.е. всего шесть элементов. Вычитая их из 10, получаем 10 – 1 – 4 – 1 = 4, т.е. четыре элемента в приведенном наборе.

Для произведения простых чисел p * q = n приведенный набор вычетов имеет (p –1)(q –1) элементов. При n=p * q=2 * 5=10 число элементов в приведенном наборе

(p – 1)(q – 1) = (2 – 1) (5 –1) = 4.

Пример. Приведенный набор вычетов по модулю 27=33 имеет 18 элементов:

{1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26}.

Из полного набора вычетов исключены элементы, кратные 3 (всего девять элементов).

Для модуля в виде простой степени nr приведенный набор вычетов имеет nr–1 (n –1) элементов.

При n = 3, r = 3 получаем 33–1 (3 –1) = 32 * 2 =18.

Функция Эйлера j(n) характеризует число элементов в приведенном наборе вычетов (табл. П.1).

Таблица П.1

Модуль n

Функция j(n)

n – простое

n2



nr

n –1

n (n –1)



nr–1 (n – 1)

p * q (p, q – простые)



(pi – простые)

(p – 1) (q – 1)





Иначе говоря, функция j(n) – это количество положительных целых, меньших n, которые взаимно просты с n.

Малая теорема Ферма: если n– простое и НОД (a,n)=1, то

an–1 º1 (mod n).

Согласно обобщению Эйлером малой теоремы Ферма имеем: если НОД (a,n) =1, то

aj(n) º1 (mod n).

Если n – простое число, то предыдущий результат, учитывая, что j(n) = n –1, приводится к виду (малой теоремы Ферма)

an–1 º1 (mod n).

Основные способы нахождения обратных величин

a–1 º 1 (mod n).


1. Проверить поочередно значения 1, 2, ..., n – 1, пока не будет найден a–1 º1 (mod n), такой, что a*a–1 (mod n) º 1.

2. Если известна функция Эйлера j(n), то можно вы-числить


a–1 (mod n) º aj(n)–1 (mod n),

используя алгоритм быстрого возведения в степень.

3. Если функция Эйлера j(n) не известна, можно использовать расширенный алгоритм Евклида.

Проиллюстрируем эти способы на числовых примерах.

1. Поочередная проверка значений 1, 2, ..., n – 1, пока не будет найден x = a–1 (mod n), такой что a * x º 1 (mod n).

Пусть n = 7, a = 5. Требуется найти x = a–1 (mod n).

a * x º 1 (mod n) или 5 * x º 1 (mod 7).

n – 1 = 7 – 1 = 6.

Получаем x = 5–1 (mod 7) = 3.

Результаты проверки сведены в табл. П.2.

Таблица П.2

x

5 * x

5 * x (mod 7)

1

2

3

4

5

6

5

10

15

20

25

30

5

3

1

6

4

2


2. Нахождение a–1 (mod n), если известна функция Эйлера j(n).

Пусть n = 7, a = 5. Найти x = a–1 (mod n) = 5–1 (mod 7). Модуль n = 7 – простое число. Поэтому функция Эйлера j(n) = j(7) = = n –1 = 6. Обратная величина от 5 по mod 7

a–1 (mod n) = aj(n)–1 (mod n) =

= 56–1 mod 7 = 55 mod 7 = (52 mod 7)(53 mod 7) mod 7 =

= (25 mod 7)(125 mod 7) mod 7 = (4 * 6) mod 7 = 24 mod 7 = 3.

Итак, x = 5–1 (mod 7) = 3.

3. Нахождение обратной величины a–1 (mod n) с помощью расширенного алгоритма Евклида.

Алгоритм Евклида можно обобщить способом, который имеет большое практическое значение. При этом способе во время вычисления НОД (a,b) можно попутно вычислить такие целые числа u1 и u2, что

a * u1 + b * u2 = НОД (a,b).

Это обобщение (расширение) алгоритма Евклида удобно описать, используя векторные обозначения.


Квадратичные вычеты

Рассмотрим некоторое простое p > 2 и число a < p. Если число a сравнимо с квадратом некоторого числа x по модулю p, т.е. выполняется сравнение x2 º a (mod p), тогда a называют квадратичным вычетом по модулю p. В противном случае a называют квадратичным невычетом по модулю p.

Если a – квадратичный вычет, сравнение x2 º a (mod p) имеет два решения: +x и –x, т.е. a имеет два квадратных корня по модулю p.

Все квадратичные вычеты находят возведением в квадрат элементов 1, 2, 3, ..., (p –1)/2.

Не все значения a < p являются квадратичными вычетами. Например, при p = 7 квадратичные вычеты это 1, 2, 4:

12 = 1 º (mod 7),

22 = 4 º 4 (mod 7),

32 = 9 º 2 (mod 7),

42 =16 º 2 (mod 7),

52 = 25 º 4 (mod 7),

62 = 36 º1 (mod 7).

Заметим, что каждый квадратичный вычет появляется в этом списке дважды. Не существует никаких значений x, которые удовлетворяли бы любому из следующих уравнений:



x2 º 3 (mod 7),

x2 º 5 (mod 7),

x2 º 6 (mod 7).

Числа 3, 5 и 6 – квадратичные невычеты по модулю 7. Можно доказать, что существует точно (p –1)/2 квадратичных вычетов по модулю p и (p –1)/2 квадратичных невычетов по модулю p.

Если a – квадратичный вычет по модулю p, то a имеет точно два квадратных корня: один корень между 0 и (p –1)/2, другой корень между (p –1)/2 и (p –1).

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

Вычиcление квадратных корней при p=7 представлено в табл. П.4.

Таблица П.4

x2 º a (mod 7)

Корни

x1

x2

12 º 1(mod 7)

22 º 4(mod 7)

32 º 2(mod 7)

+1

+2

+3

–1 = –1 + 7 = 6

–2 = –2 + 7 = 5

–3 = –3 + 7 = 4


Если n – произведение двух простых p и q, т.е. n = p * q, то существуют точно

(p –1)(q –1)/4

квадратичных вычетов по модулю n, взаимно простых с n. Например, по модулю 35 (p = 5, q = 7, n = 5 * 7 = 35) существуют

= 6

квадратичных вычетов: 1, 4, 9, 11, 16, 29, взаимно простых с 35.