- •Основные понятия информационной безопасности. Классификация угроз
- •По природе возникновения:
- •По степени воздействия на ас:
- •2.Целостность и конфиденциальность . Классификация средств защиты информации.
- •3. Программные и программно-аппаратные методы и средства
- •Базовые понятия теории информации
- •5. Измерение дискретной информации. Энтропия Шеннона
- •6. Методы и средства организационно-правовой защиты информации.
- •Вопрос 7. Методы и средства инженерно-технической защиты
- •Вопрос 8. Формулы мультипликативных шифров. Аффинные шифры. Криптоанализ аффинного шифра
- •Вопрос 9. Модель сетевой безопасности. Классификация сетевых атак
- •Вопрос 10. Сервисы и механизмы безопасности.
- •11. Модель сетевого взаимодействия, Модель безопасности информационной системы.
- •Вопрос 12. Простые криптосистемы. Шифрование методом замены (подстановки). Одноалфавитная подстановка.
- •13. Простые криптосистемы. Шифрование методом замены (подстановки):Многоалфавитная одноконтурная обыкновенная.
- •14. Простые криптосистемы. Шифрование методом замены (подстановки): Многоалфавитная многоконтурная подстановка.
- •15. Простые криптосистемы. Шифрование методом замены (подстановки): Многоалфавитная многоконтурная подстановка.
- •16. Арифметика целых чисел. Нод и алгоритм Евклида Бинарные операции.
- •2.1. Арифметика целых чисел
- •17. Расширенный алгоритм Евклида . Линейные диофантовы уравнения.
- •18. Модульная арифметика. Операции по модулю. Система вычетов. Сравнения. Инверсии.
- •2.2. Модульная арифметика
- •25. Основные приема криптоанализа при симметричных ключах. Виды атак. Принцип Кергоффса.
- •26. Формулы аддитивных шифров. Криптоанализ.
- •27. Защита информации в локальных сетях. Основы построения локальной компьютерной сети. Уровни антивирусной защиты сети.
- •28. Принципы организации централизованного управления антивирусной защиты. Компоненты системы удаленного управления.
- •29. Брандмауэры. Определение типов Брандмауэров.
- •30.Конфигурация межсетевого экрана. Построения набора правил межсетевого экрана для различных типов архитектуры.
- •31. Одноразовый блокнот и роторные шрифты. Устройство и принцип работы шифровальной машины «Энигма».
- •32. Основные приемы криптоанализа при асимметричных ключах
- •33. Базовые методы и алгоритмы стеганографии
- •34. Правовое регулирование информационных отношений в информационном обществе
- •35. Право на информацию
- •36. Правовые основы информационной безопасности
- •40 Правовая охрана информации в режиме интеллектуальной собственности
- •49.Правовая охрана информации в режиме интеллектуальной собственности.
- •50.Особенности правового регулирования информационных отношений в сети Интернет.
- •51.Информационные правонарушения (правонарушения в информационной сфере) и ответственность за их совершение.
- •52.Задачи органов Государственной системы защиты информации.
- •53.Персональные данные, их классификация.
- •54.Система защиты сведений, составляющих государственную тайну.
- •55) Законодательство об электронной цифровой подписи.
- •56) Защита прав и законных интересов субъектов информационной сферы.
- •57) Повторяет вопрос 56!
- •58) Нормативно-методические документы по обеспечению безопасности информации.
- •59) Организация подготовки кадров и повышения квалификации в области обеспечения информационной безопасности.
18. Модульная арифметика. Операции по модулю. Система вычетов. Сравнения. Инверсии.
2.2. Модульная арифметика
Уравнение деления ( ), рассмотренное в предыдущей секции, имеет два входа ( a и n ) и два выхода ( q и r ). В модульной арифметике мы интересуемся только одним из выходов — остатком r. Мы не заботимся о частном q. Другими словами, когда мы делим a на n, мы интересуемся только тем, что значение остатка равно r. Это подразумевает, что мы можем представить изображение вышеупомянутого уравнения как бинарный оператор с двумя входами a и n и одним выходом r.
Операции по модулю
Вышеупомянутый бинарный оператор назван оператором по модулю и обозначается как mod. Второй вход ( n ) назван модулем. Вывод r назван вычетом. Рисунок 2.9 показывает отношение деления по сравнению с оператором по модулю.
Рис. 2.9. Соотношение уравнения деления и оператора по модулю
Как показано на рис. 2.9, оператор по модулю ( mod ) выбирает целое число ( a ) из множества Z и положительный модуль ( n ). Оператор определяет неотрицательный остаток ( r ).
Мы можем сказать, что
a mod n = r
Пример 2.14
Найти результат следующих операций:
a. 27 mod 5
b. 36 mod 12
c. –18 mod 14
d. –7 mod 10
Решение
Мы ищем вычет r. Мы можем разделить a на n и найти q и r. Далее можно игнорировать q и сохранить r.
а. Разделим 27 на 5 - результат: r = 2. Это означает, что 27 mod 5 = 2.
б. Разделим 36 на 12 — результат: r = 0. Это означает, что 36 mod 12 = 0.
в. Разделим (–18) на 14 — результат: r = –4. Однако мы должны прибавить модуль (14), чтобы сделать остаток неотрицательным. Мы имеем r = –4 + 14 = 10. Это означает, что –18 mod 14 = 10.
г. Разделим (–7) на 10 — результат: r = –7. После добавления модуля –7 мы имеем r = 3. Это означает, что –7 mod 10 = 3.
Система вычетов
Система вычетов [a], или [a]n, — множество целых чисел, сравнимых по модулю n. Другими словами, это набор всех целых чисел, таких, что x = a (mod n). Например, если n = 5, мы имеем множество из пяти элементов [0], [1], [2], [3] и [4], таких как это показано ниже:
[0] = {…., –15, -10, –5, 0, 5, 10, 15, …}[1] = {…., –14, –9, –4, 1, 6 , 11, 16,…}[2] = {…., –13, –8, –3, 2, 7, 12, 17,…}[3] = {...., –12, –7, –2, 3, 8, 13, 18,…}[4] = {…., –11, –6, –1, 4, 9, 14, 19,…}
Целые числа в наборе [0] все дают остаток 0 при делении на 5 (сравнимы по модулю 5 ). Целые числа в наборе [1] все дают остаток 1 при делении на 5 (сравнимы по модулю 5 ), и так далее. В каждом наборе есть один элемент, называемый наименьшим (неотрицательным) вычетом. В наборе [0] это элемент 0 ; в наборе [1] — 1, и так далее. Набор, который показывает все наименьшие вычеты: Z5 = {0, 1, 2, 3, 4}. Другими словами, набор Zn — набор всех наименьших вычетов по модулю n.
Сравнения
В
криптографии мы часто используем понятие
сравнения
вместо равенства. Отображение Z в Zn
не отображаются "один в один".
Бесконечные элементы множества Z могут
быть отображены одним элементом Zn.
Например, результат 2 mod 10 = 2, 12 mod 10 = 2, 22
mod 10 = 2, и так далее. В модульной арифметике
целые числа, подобные 2, 12, и 22, называются
сравнимыми по модулю 10 (mod 10). Для того
чтобы указать, что два целых числа
сравнимы, мы используем оператор
сравнения
(
). Мы добавляем mod n к правой стороне
сравнения, чтобы определить значение
модуля и сделать равенство правильным.
Например, мы пишем:
Рисунок 2.11 показывает принцип сравнения. Мы должны объяснить несколько положений.
a. Оператор сравнения напоминает оператор равенства, но между ними есть различия. Первое: оператор равенства отображает элемент Z самого на себя; оператор сравнения отображает элемент Z на элемент Zn. Второе: оператор равенства показывает, что наборы слева и справа соответствуют друг другу "один в один", оператор сравнения — "многие — одному".
Рис. 2.11. Принцип сравнения
б.
Обозначение ( mod n ), которое мы вставляем
с правой стороны оператора сравнения,
обозначает признак множества ( Zn
). Мы должны добавить это обозначение,
чтобы показать, какой модуль используется
в отображении. Символ, используемый
здесь, не имеет того же самого значения,
как бинарный оператор в уравнении
деления. Другими словами, символ mod в
выражении 12 mod 10 — оператор; а сочетание
( mod 10 ) в сравнении
означает, что набор — Z10.
Инверсии
Когда мы работаем в модульной арифметике, нам часто нужно найти операцию, которая позволяет вычислить величину, обратную заданному числу. Мы обычно ищем аддитивную инверсию (оператор, обратный сложению) или мультипликативную инверсию (оператор, обратный умножению).
Аддитивная инверсия
В Zn два числа a и b аддитивно инверсны друг другу, если b = n – a. Например,
В Zn аддитивная инверсия числу a может быть вычислена как b = n – a. Например, аддитивная инверсия 4 в Z10 равна 10 – 4 = 6.
В модульной арифметике каждое целое число имеет аддитивную инверсию. Сумма целого числа и его аддитивной инверсии сравнима с 0 по модулю n .
Обратите внимание, что в модульной арифметике каждое число имеет аддитивную инверсию, и эта инверсия уникальна; каждое число имеет одну и только одну аддитивную инверсию. Однако инверсия числа может быть непосредственно тем же самым числом.
Пример 2.21
Найдите все взаимно обратные пары по сложению в Z10.
Решение
Даны шесть пар аддитивных инверсий — (0, 0), (1, 9), (2, 8), (3, 7), (4, 6) и (5, 5). В этом списке 0 — инверсия самому себе; так же и 5. Обратите внимание: аддитивные инверсии обратны друг другу; если 4 — аддитивная инверсия 6, тогда 6 — также аддитивная инверсия числу 4.
Мультипликативная инверсия
В Zn два числа a и b мультипликативно инверсны друг другу, если
Например,
если модуль равен 10, то мультипликативная
инверсия 3 есть 7. Другими словами, мы
имеем
.
В модульной арифметике целое число может или не может иметь мультипликативную инверсию. Целое число и его мультипликативная инверсия сравнимы с 1 по модулю n .
Может быть доказано, что a имеет мультипликативную инверсию в Zn, если только НОД(n, a) = 1. В этом случае говорят, что a и n взаимно простые.
Пример 2.22
Найти мультипликативную инверсию 8 в Z10.
Решение
Мультипликативная
инверсия не существует, потому что
.
Другими словами, мы не можем найти число
между 0 и 9, такое, что при умножении на
8 результат сравним с 1 по mod 10.
Пример 2.23
Найти все мультипликативные инверсии в Z10.
Решение
Есть только три пары, удовлетворяющие условиям существования мультипликативной инверсии: (1, 1), (3, 7) и (9, 9). Числа 0, 2, 4, 5, 6 и 8 не имеют мультипликативной инверсии.
Мы можем проверить, что
(1 x 1) mod 10 = 1 (3 x 7) mod 10 = 1 (9 x 9) mod 10 = 1
Пример 2.24
Найти все мультипликативные обратные пары в Z11.
Решение
Мы имеем следующие пары: (1, 1), (2, 6), (3, 4), (5, 9), (7, 8) и (10, 10). При переходе от Z10 к Z11 число пар увеличивается. При Z11 НОД (11, a) = 1 (взаимно простые) для всех значений a, кроме 0. Это означает, что все целые числа от 1 до 10 имеют мультипликативные инверсии.
Целое число a в Zn имеет мультипликативную инверсию тогда и только тогда, если НОД (n, a) = 1(mod n)
Расширенный
алгоритм
Евклида,
который мы обсуждали ранее в этой лекции,
может найти мультипликативную инверсию
b в Zn,
когда даны n и b и инверсия существует.
Для этого нам надо заменить первое целое
число a на n (модуль). Далее мы можем
утверждать, что алгоритм может найти s
и t, такие, что
.
Однако если мультипликативная инверсия
b существует, НОД (n, b) должен быть 1. Так
что уравнение будет иметь вид
(s x n) + (b x t) = 1
Теперь мы применяем операции по модулю к обеим сторонам уравнения. Другими словами, мы отображаем каждую сторону к Zn. Тогда мы будем иметь
(s x n + b x t) mod n =1 mod n[(s x n) mod n] + [(b x t) mod n] = 1 mod n0 + [(b x t) mod n ] = 1(b x t) mod n =1 -> Это означает, что t – это мультипликативная инверсия b в Zn
Обратите
внимание, что
на третьей строке — 0, потому что, если
мы делим
,
частное — s, а остаток — 0.
Расширенный алгоритм Евклида находит мультипликативные инверсии b в Zn , когда даны n и b и НОД (n, b) = 1 . Мультипликативная инверсия b — это значение t , отображенное в Zn .
Рисунок 2.15 показывает, как мы находим мультипликативную инверсию числа, используя расширенный алгоритм Евклида.
Рис. 2.15. Применение расширенного алгоритма Евклида для поиска мультипликативной инверсии
Пример 2.25
Найти мультипликативную инверсию 11 в Z26.
Решение
Мы используем таблицу, аналогичную одной из тех, которые мы уже применяли прежде при данных r1 = 26 и r2 = 11. Нас интересует только значение t.
q |
r1 |
r2 |
r |
t1 |
t2 |
t |
2 |
26 |
11 |
4 |
0 |
1 |
-2 |
2 |
11 |
4 |
3 |
1 |
-2 |
5 |
1 |
4 |
3 |
1 |
-2 |
5 |
-7 |
3 |
3 |
1 |
0 |
5 |
-7 |
26 |
|
1 |
0 |
|
-7 |
26 |
|
НОД (26, 11) = 1, что означает, что мультипликативная инверсия 11 существует. Расширенный алгоритм Евклида дает t1 = (–7).
Мультипликативная
инверсия равна (–7) mod 26 = 19. Другими
словами, 11 и 19 — мультипликативная
инверсия в Z26.
Мы можем видеть, что
.
Пример 2.26
Найти мультипликативную инверсию 23 в Z100.
Решение
Мы используем таблицу, подобную той, которую применяли до этого при r1 = 100 и r2 = 23. Нас интересует только значение t.
q |
r1 |
r2 |
r |
t1 |
t2 |
t |
4 |
100 |
23 |
8 |
0 |
1 |
-4 |
2 |
23 |
8 |
7 |
1 |
-4 |
19 |
1 |
8 |
7 |
1 |
-4 |
9 |
-13 |
7 |
7 |
1 |
0 |
9 |
-13 |
100 |
|
1 |
0 |
|
-13 |
100 |
|
НОД
(100, 23) = 1, что означает, что инверсия 23
существует. Расширенный Евклидов
алгоритм дает t1
=-13. Инверсия — (–13) mod 100 = 87. Другими
словами, 13 и 87 — мультипликативные
инверсии в Z100.
Мы можем видеть, что
.
Пример 2.27
Найти мультипликативную инверсию 12 в Z26.
Решение
Мы используем таблицу, подобную той, которую мы применяли раньше при r1 = 26 и r2 = 12.
q |
r1 |
r2 |
r |
t1 |
t2 |
t |
2 |
26 |
12 |
2 |
0 |
1 |
|
6 |
12 |
2 |
0 |
1 |
-2 |
|
|
2 |
0 |
|
-2 |
13 |
|
, что означает отсутвствие для числа 12 мультипликативной инверсии в Z26
19. Шифрование методом перестановки: Простая перестановка. Метод заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Пример. Можно, например, записать исходную фразу по строкам шифровальной таблицы, а прочитать по столбцам.
Б |
Е |
Д |
Н |
Ы |
Й |
С |
Л |
А |
Б |
Ы |
Й |
В |
О |
И |
Н |
Б |
О |
Г |
А |
В |
Е |
С |
Ь |
И |
С |
Т |
А |
Я |
В |
Ш |
И |
Й |
К |
А |
К |
Д |
Ы |
М |
П |
О |
Д |
Ы |
Ш |
И |
Е |
Щ |
Е |
Н |
Е |
М |
Н |
О |
Г |
О |
Т |
Я |
Ж |
К |
И |
М |
В |
О |
З |
Д |
У |
Х |
О |
М |
З |
Е |
М |
Н |
Ы |
М |
А |
Б |
В |
Г |
Д |
(поясним,
что остаток последней строки заполнен
незначащими буквами – балластами.
Добавление балласта, в действительности,
нежелательно, так как дает криптоаналитику
в случае перехвата шифротекста информацию
о размере шифровальной таблицы.)
Тогда окончание последнего предсмертного
стихотворения Ф.К. Сологуба
Бедный, слабый
воин Бога,
Весь истаявший, как дым,
Подыши
еще немного
Тяжким воздухом земным.
будет
зашифровано как
ББЙНД ЕОКЕУ ДГАМХ НАКНО ЫВДОМ ЙЕЫГЗ
ССМОЕ
ЛЬПТМ АИОЯН
БСДЖЫ ЫТЫКМ ЙАШИА ВЯИМБ ОВЕВВ
ИШЩОГ
НИЕЗД
Условливаясь с адресатом
послания о способе считывания символов
изтаблицы, можно получить другие варианты
шифротекста. Например, при считывании
по диагоналям с «северо-востока» на
«юго-запад»:
₋
получим:
БЕБДО ЙНГКН
ЫААЕД ЙВКМУ СЕДНХ ЛСЫОО АЬМГМ БИПОЗ
ЫСОТЕ ЙТДЯМ ВАЫЖН ОЯШКЫ
ИВИИМ НШЕМА ИЩВБЕ ОВЗГД
Возможна
перестановка с ключом. Выберем в качестве
такого слова´ «ФЕДОР К. ТЕТЕРНИКОВ»
(так в действительности звали поэта
Сологуба). Расположим буквы ключа в
алфавитном порядке и прономеруем по
порядку:
В Д Е
Е Е И К К Н О О Р Р Т Т
Ф
1 2 3 4 5
6 7 8 9 10 11 12 13 14 15 16
Запишем
ключ в первой строке шифровальной
таблицы, а номера букв ключа – во
второй:
Будем теперь считывать столбцы в
очередности их номеров:
НИЕЗД ДГАМХ ЕОКЕУ ЛЬПТМ БСДЖЫ ВЯИМБ
ЙЕЫГЗ ОВЕВВ
ЙАШИА НАКНО
ИШЩОГ ЫВДОМ ЫТЫКМ ССМОЕ АИОЯН ББЙНД
Не знающему ключа злоумышленнику
придется нелегко (Таким шифром пользовались
немецкие шпионы во время Второй мировой
войны. В качестве ключа они применяли
первые буквы строк на определенной
странице заданной книги.)
Вообще,
метод перестановки – один из самых
стойких классических методов шифрования,
поскольку существует необозримое
количество видов шифровальных таблиц,
способов их заполнения и прочтения.
Вместе с тем, поскольку символы
шифротекста – те же, что и в открытом
тексте, статистический анализ покажет,
что частоты символов сильно различаются.
Это дает криптоаналитику информацию о
том, что использован перестановочный
шифр, и (возможно) – на каком языке
написано сообщение.
20.
Шифрование методом гаммирования.
Шифрование с помощью аналитических
преобразований. Комбинированные методы
шифрования.
Шифрование
методом гаммирования.
Метод гаммирования заключается в том,
что символы шифруемого текста
последовательно складываются с символами
некоторой специально подготовленной
(как правило, случайной) последовательности
- гаммы.
При работе на ЭВМ, например,
символы исходного текста и гаммы можно
представить в виде двоичного кода (см.
табл. П.3) и сложить по модулю 2.
Стойкость шифрования методом гаммирования
определяется, главным образом, свойствами
гаммы – длительностью периода и
равномерностью статистических
характеристик. Последнее свойство
обеспечивает отсутствие закономерности
в появлении символов в пределах периода.
Если длина периода гаммы превышает
длину шифруемого текста, то такой шифр
теоретически является абсолютно стойким.
Практически, при наличии дополнительной
информации, исходный текст обычно может
быть частично или полностью восстановлен.
Возникает вопрос о том, как получить
случайную последовательность чисел.
Разумеется, не может быть и речи о том,
чтобы хранить в памяти ЭВМ таблицу
случайных чисел (почему?). Числа должны
генерироваться по мере возникновения
потребности в них. Для получения случайных
чисел может использоваться:
1)
физический генератор - это был бы
наилучший, наиболее качественный способ
получения случайных чисел. Известно,
например, что атомы радиоактивного
вещества распадаются по закону случайных
чисел: распадется ли данный атом в
ближайшую секунду или через тысячу лет
- предсказать невозможно. Таким образом,
радиоактивный препарат в сочетании со
счетчиком радиоактивных распадов был
бы идеален. Но такой способ дорог, сложен
в реализации, небезопасен. Поэтому почти
всегда вместо физических генераторов
применяется;
2) компьютерная программа.
Разумеется, программа работает
детерминированно, и результатом ее
работы являются числа не случайные, а
псевдослучайные: до исчерпания периода
повторения (для хороших программ он
исчисляется миллионами чисел)
псевдослучайные числа близки по свойствам
к истинно случайным, но этот период
нельзя превышать, поскольку иначе заново
пойдут те же числа, и случайности уже
не будет;
3) последовательность цифр
иррационального числа, поскольку оно
записывается как бесконечная
непериодическая десятичная дробь,
например, последовательность цифр
числа
π = 3, 14159 26535 89793 23846 26433 83279 50288
41971 693
99 37510 58209 74944 59230 78164 06286 20899 86280
34825
34211 70679 82148…, (отношение длины
окружности к ее диаметру), числа
e =
2, 71828 18284 59045 23536 02874 71352 66249 77572 470
93 69995
95749 66967 62772 40766 30353 54759 45713 82178
52516 64274
27466…
(основание натуральных логарифмов)
и, вообще, любого иррационального числа
(
,
,…).
Пример.
Зашифровать методом гаммирования
первую строку Марсельезы «Allons,
enfants
de
la
Patrie…»
(Вперед, сын Отечества – франц.), взяв в
качестве гаммы последовательность цифр
числа
=
1, 41421 35623 73095 04880 16887 24210…
Заменим
буквы исходного текста их порядковыми
номерами (см. табл. П.3), сложим эти номера
с последовательными цифрами гаммы; если
будет получаться число, превышающее 26
(мощность алфавита), вычтем из суммы 26
(т. е. выполним сложение по модулю 26);
результат преобразуем обратно в
буквы:
Итак, получился шифротекст.
BPMSP
THSLC
QAVDN
QATIB
RJK
Как отмечено выше, есть немало общего
между гаммированием и шифром Тритемиуса.
Ключевое слово в поледенеем – это тоже
гамма, но выраженная, как правило, не в
цифрах, а в буквах.
Шифрование
с помощью аналитических преобразований.
Большим разнообразием отличаются
аналитические преобразования, которые
можно использовать для закрытия
информации. В качестве примера рассмотрим
матричное умножение C
= AB.
Если квадратную матрицу А размерности
n×n
использовать в качестве ключа, а в
качестве компонента n-мерного
вектора В подставить символы исходного
текста (выраженные, например, своими
ASCII-кодами
или номерами в алфавите), то компоненты
n-мерного
вектора С будут представлять собой
символы зашифрованного текста (в том
же числовом выражении).
Пример.
Взяв в качестве ключа матрицу
А =
,
зашифровать
высказывание «L'Etat?
c'est
moi»
(Государство – это я).
Заменим
символы исходного текста их ASCII-кодами
(см. табл. П.3): 76, 69, 84, 67, 69, 83, 84, 77, 79, 73 (мы
не учитываем никаких знаков, кроме букв
в чистом виде). Разбив эту последовательность
на четвёрки чисел (блочный шифр, в котором
одновременно преобразуется блок
информации, в отличии от рассмотренных
выше потоковых шифров, где шифрование
происходило последовательно, символично),
применим к каждой из них матричное
умножение:
Шифротекст:
726,
573, 164, -482, 757, 604, 137, -552, 767, 624, 167, -512.
Чтобы расшифровать сообщение С при
известном ключе А, нужно обратить
соотношение С=АВ; получим:
В=А⁻¹С,
где А⁻¹ ₋ матрица, обратная
исходной матрице А; напомним, что
₋
единичная матрица.
Для матрицы А
из рассмотренного примера
(проверьте
перемножением с А). тогда первые четыре
буквы исходного текста получим
умножением
и
т.д.
Комбинированные
методы шифрования.
Ни один из рассмотренных классических
методов шифрования в отдельности не
удовлетворяет современным требованиям
к уровню криптографической защиты
информации. Перечислим некоторые
требования:
• принцип Керкхоффса:
стойкость шифра к взлому должна
основываться на тайне ключа, а не на
алгоритма шифрования. В самом деле,
количество оригинальных идей шифрования
исчисляется в лучшем случае десятками,
и утаить их (особенно в эпоху информационных
технологий) невозможно;
• принцип
разумной достаточности: выбирая между
высоконадежным, но дорогим в использовании
шифром и более доступной альтернативой,
следует считать данный шифр достаточным
для шифрования данной тайны, если затраты
злоумышленника на взлом превысят
ценность добытой при взломе информации;
•
принцип рассеивания: распространение
влияния одного знака открытого текста
на много знаков шифротекста, что позволяет
скрыть статические свойства открытого
текста;
• принцип перемешивания:
использование таких шифрующих
преобразований, которые усложняют
восстановление взаимосвязи статистических
свойств открытого и шифрованного текста.
При этом неоднократное вхождение
одинаковых фрагментов в исходное
сообщение не приводит к повторам в
шифротексте. Достигается это тем, что
каждый блок открытого текста (кроме
первого) побитно складывается по модулю
2 с предыдущим результатом шифрования.
Эффективным средстов повышения
стойкости шифрования является
комбинированное использование нескольких
различных способов шифрования, т.е.
последовательное шифрование текста с
помощью двух методов и более. Стойкость
комбинированного шифрования не ниже
произведения стойкостей использованных
способов.
Комбинировать можно любые
методы шифрования и в любом количестве,
но на практике наиболее распространены
комбинации подстановок, перестановок
и гаммирований. Они обеспечивают
рассеивание и перемешивание.
Примером комбинированного шифра является
DES
– национальный стандарт США
криптографического закрытия данных.
21.
Стандарты шифрования. Стандарт шифрования
данных Data Encryption Standard. Алгоритм шифрования
данных IDEA.
Главная задача стандартов информационной
безопасности — создать основу для
взаимодействия между производителями,
потребителями и специалистам по
сертификации. Перед стандартами
информационной безопасности стоит
непростая задача создать эффективный
механизм взаимодействия всех сторон.
В 1973 году в журнале “Scientific American”
появилась статья сотрудника IBM (а ранее
– ВМС США) Хорста Фейстеля (англ. Horst
Feistel) «Cryptography and Computer Privacy», описывающая
проект функции шифрования «Люцифер»,
который можно считать прообразом
современных блочных шифров.
Фейстель
высказал идею, что идеальный шифр для
блока размером в 128 бит должен включать
в себя блок замен (substitution box, s-box, далее
s-блок), который мог бы обработать сразу
128 бит входного блока данных. S-блок
принимает на вход блок битов и даёт на
выходе другой блок бит (возможно, даже
другого размера) согласно некоторому
словарю или результату вычисления
нелинейной функции.
Идея Фейстеля
состояла в том, чтобы комбинировать s-
и pблоки, позволяя на практике получить
большой блок нелинейных преобразований
(то есть один большой s-блок).
Следующей
идеей стала конструкция, получившая
название ячейка Фейстеля. Ячейка Фейстеля
гарантирует корректность работы блочного
шифра вне зависимости от сложности
функции Фейстеля 𝐹
(𝑅𝑘,
𝐾𝑘).
В результате криптограф (автор шифра)
при использовании ячейки Фейстеля не
должен беспокоиться об обратимости
функции шифрования в целом (конструкция
ячейки Фестеля уже гарантирует это), а
должен беспокоиться только о достаточной
криптографической стойкости функции
Фейстеля, необратимость которой не
требуется (и даже вредит криптостойкости).
Функция Фейстеля обычно состоит из
блоков перестановок и замен (то есть из
p- и s-блоков, уже рассмотренных ранее).
Развитием проекта «Люцифер» стал
государственный стандарт США, известный
как DES (англ. data encryption standard). Это первый
из рассматриваемых нами блочных шифров,
который имеет ярко выраженные раунды
шифрования, отдельно выделенную функцию
ключевого расписания и основан на
классической ячейке Фейстеля. Поэтому
для знакомства с шифром достаточно
рассмотреть устройство функции Фейстеля
как основного элемента, отличающего
данный шифр от аналогичных.
В шифре
DES открытый текст делится на блоки по
32 бита, и они обрабатываются в 16 раундах.
Раундовые ключи генерируются из исходных
64 бит ключа (при этом значащими являются
только 56 бит, а последние 8 бит используются
для проверки корректности ввода ключа).
На вход функции Фейстеля для шифра DES,
схема которой приведена на рис. 5.6,
подаётся половина от размера входного
блока – 32 бита.
Эти 32 бита проходят через функцию
расширения, которая с помощью дублирования
отдельных битов превращает их в 48 бит.
Они суммируются побитово по модулю 2 с
раундовым ключом. Результат подаётся
на вход 8 s-блоков, которые работают как
таблицы замен последовательности из 6
бит в 4 бита (каждый блок). На выходе
s-блоков получаются 8 × 4 = 32 бита, которые
попадают в p-блок перестановки. Результат
работы p-блока является результатом
функции Фейстеля для одного раунда
шифра DES.
Интересно отметить, что
изначально автором предполагалось
использовать ключ в 128 бит, но под напором
АНБ (Агентство национальной безопасности,
англ. National Security Agency, NSA) он был сокращён
до 56 бит, что на тот момент составляло
вполне достаточную для криптостойкости
величину. Кроме того, АНБ указало
обязательные к использованию s-блоки
(таблицы замен). Много позже, в 90-х годах,
когда были разработаны методы линейного
и дифференциального криптоанализа,
выяснилось, что предложенные АНБ в 70-х
годах s-блоки устойчивы к данным методам
криптоанализа, как будто специально
делались с учётом возможности их
использования.
Другим популярным алгоритмом шифрования является IDEA (International Data Encryption Algorithm), отличающийся применением ключа длиной 128 бит. Он считается более стойким, чем DES. Алгоритм шифрования IDEA (International Data Encryption Algorithm) разработан в 1989 г. в Швейцарии, в институте ETH Zurich. Авторами его являются Ксуэйджем Лэйем (Xuejia Lai) и Джеймсом Мэсси (James L. Massey). Алгоритм IDEA запатентован в США и Европе. Он, в частности, используется в программе PGP (Pretty Good Privacy), применяемой в Internet. Алгоритм основан на понятии “смешения операций, принадлежащих различным алгебраическим группам”. В этом алгоритме применяется ключ длиной 128 бит и смещение операций разных алгебраических групп для блоков длиной 64 бита. Алгоритм шифрования IDEA может работать в любом режиме блочного шифрования, предусмотренном для алгоритма DES, и обладает рядом преимуществ. Он значительно безопаснее алгоритма DES, поскольку 128-битовый ключ алгоритма IDEA вдвое больше ключа DES. Внутренняя структура алгоритма IDEA обеспечивает лучшую устойчивость к криптоанализу. Существующие программные реализации алгоритма IDEA примерно вдвое быстрее реализаций алгоритма DES. До сих пор IDEA оказывался устойчивым к криптоаналитическим атакам в большей степени, чем другие алгоритмы, такие, как FEAL, REDOC-II, LOKI, Snefru и Khafre. IDEA более устойчив, чем DES, к очень успешной кpиптогpафической атаке Э.Бихама (Eli Biham) и А.Шамиpа (Adi Shamir), использующей дифференциальный криптоанализ, так же, как и к атакам с применением линейного кpиптоанализа. Поскольку этот алгоритм продолжает быть мишенью для атак со стороны наиболее выдающихся криптоаналитиков мира, уверенность в стойкости IDEA продолжает расти.
22.
Стандарт шифрования данных RSA.
В 1978 г. появилась работа, в которой Рон
Райвест (Ron Rivest), Ади Шамир (Adi Shamir) и Лен
Адлеман (Len Adleman) предложили алгоритм с
открытым ключом. Схема Райвеста–Шамира–Адлемана
(RSA) получила широкое распространение.
Опишем процесс шифрования. Исходный
текст должен быть переведен в числовую
форму, этот метод считается известным.
В результате этого текст представляется
в виде одного большого числа. Затем
полученное число разбивается на части
(блоки) так, чтобы каждая из них была
числом в промежутке [0, N – 1]. Процесс
шифрования одинаков для каждого блока.
Поэтому мы можем считать, что блок
исходного текста представлен числом
x, 0 ≤ х ≤
N
– 1.
Каждый абонент вырабатывает
свою пару ключей. Для этого он генерирует
два больших простых числа p и q, вычисляет
произведение N
= p⋅q.
Затем он вырабатывает случайное число
e, взаимно простое со значением функции
Эйлера от числа N, φ(N)=(p–1)‧(q–1)
и находит число d из условия
e·d
= 1(mod φ(N)). Так
как ( e, φ(N)) =
1, то такое
число d существует и оно единственно.
Пару (N, e) он объявляет открытым ключом
и помещает в открытый доступ. Пара (N, d)
является секретным ключом. Для
расшифрования достаточно знать секретный
ключ. Числа p, q, φ( N ) в дальнейшем не
нужны, поэтому их можно уничтожить.
Пользователь A, отправляющий сообщение
x
абоненту B, выбирает из открытого каталога
пару (N, e) абонента B и вычисляет шифрованное
сообщение y
=x
ͤ (mod N).
Чтобы получить исходный текст, абонент
B вычисляет y
ͩ (mod N).
Так как e‧d
≡
1 (mod
φ(N)),
т. е. e‧d
= 1 φ(N)
‧
k+1,
где k – целое, то применяя теорему Эйлера,
получим: следующее соотношение:
y
ͩ ≡ (x
ͤ ) ͩ ≡ x
ͤ ͩ ≡
≡
)ᵏ
‧
x
≡ x
(mod
N).
Пример.
Пусть p = 7, q = 17. Тогда N = 7·17 = 119, φ(N)=
96. Выбираем
значение е: e
< 96, (e,
96) = 1. Пусть в нашем случае e = 5. Находим
d: d = 1/e
(mod
96). Получаем d = 77, так как 77·5 = 4·96 + 1.
Открытый ключ (119,5), личный ключ (119,77).
Пусть х = 19. Для зашифрования число 19
возводим в 5-ю степень по модулю 119, тогда
имеем 19⁵ = 2 476 099 и остаток от деления 2
476 099 на 119 равен 66. Итак, y = 19⁵ mod 119 = 66, а
расшифрование x = 66⁷ mod 119 = 19.
Шифр
RSA не обладает свойством симметричности,
процедуры шифрование и дешифрование в
нем осуществляются на разных ключах.
Подобные шифры называются асимметричными.
Для коротких сообщений шифр RSA почти
идеален, но при передаче информации
большого объема он сильно уступает по
скорости симметричным алгоритмам
шифрования.
23. Основы работы антивирусных программ: Сигнатурный анализ. Массовое распространение вирусов, серьезность последствий их воздействия на ресурсы КС вызвали необходимость разработки и использования специальных антивирусных средств и методов их применения. Антивирусные средства применяются для решения следующих задач: − обнаружение вирусов в КС; − блокирование работы программ-вирусов; − устранение последствий воздействия вирусов. Обнаружение вирусов желательно осуществлять на стадии их внедрения или, по крайней мере, до начала выполнения деструктивных функций вирусов. Необходимо отметить, что не существует антивирусных средств, гарантирующих обнаружение всех возможных вирусов. При выявлении вируса необходимо сразу же прекратить работу программы-вируса, чтобы минимизировать ущерб от его воздействия на систему. Устранение последствий воздействия вирусов ведется в двух направлениях: удаление вирусов; восстановление (при необходимости) файлов, областей памяти. Для борьбы с вирусами используются программные и аппаратно-программные средства, которые применяются в определенной последовательности и комбинации, образуя методы борьбы с вирусами, которые подразделяются на методы обнаружения и удаления вирусов. К методам обнаружения вирусов относятся: • сканирование; • обнаружение изменений; • эвристический анализ; • использование резидентных сторожей; • вакцинация программ; • применение аппаратно-программных антивирусных средств. Сигнатурный анализ является одним из методов обнаружения вредоносных программ (вирусов, троянских коней, червей и т.п.) и используется во многих современных антивирусных системах (АВС). Этот метод обнаружения вирусов заключается в проверке наличия в принимаемых файлах сигнатур вирусов. Для проведения проверки АВС необходим набор сигнатур вредоносных программ – далее по тексту вирусов, который хранится в антивирусной базе системы. Сигнатурой вируса можно считать совокупность черт, позволяющих однозначно идентифицировать наличие вируса в файле (включая случаи, когда файл целиком является вирусом). Такая сигнатура должна содержать только уникальные строки из этого файла, настолько характерные для вируса, чтобы гарантировать минимальную возможность ложного срабатывания. В общем случае метод, основанный на анализе сигнатур, реализуется следующим образом. Поддерживается база данных сигнатур для известных атак с возможностью пополнения без потерь в производительности. В результате анализа происходит сопоставление регистрируемой последовательности событий известным сигнатурам атак. В случае соответствия выдается сигнал о попытке вторжения. Дальнейшие действия определяются алгоритмами модуля реакции: удаление вируса или оповещение.
24. Эвристический анализ при работе антивирусных программ. Эвристический анализ сравнительно недавно начал использоваться для обнаружения вирусов. Как и метод обнаружения изменений, данный метод позволяет определять неизвестные вирусы, но не требует предварительного сбора, обработки хранения информации в файловой системе. Сущность эвристического анализа заключается в проверке возможных сред обитания вирусов и выявлении в них команд (групп команд), характерных для вирусов. Такими командами могут быть команды создания резидентных (постоянно находящиеся в области основной памяти компьютера во время обработки данных) модулей в оперативной памяти, команды прямого обращения к дискам, минуя ОС. Эвристические анализаторы при обнаружении «подозрительных» команд в файлах или загрузочных секторах выдают сообщение о возможном заражении. После получения таких сообщений необходимо тщательно проверить предположительно зараженные файлы и загрузочные сектора всеми имеющимися антивирусными средствами. Эвристический анализатор имеется, например, в антивирусной программе DOCTOR WEB.
