Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Инф. безопасность

.pdf
Скачиваний:
39
Добавлен:
18.03.2015
Размер:
2.7 Mб
Скачать

СОДЕРЖАНИЕ

Введение.....................................................................................................

3

1

Терминология .......................................................................................

4

 

1.1

Требования к криптографическим системам.................................

8

2

Симметричные криптосистемы...........................................................

9

 

2.1

Подстановочные шифры................................................................

10

 

2.2

Упражнения ....................................................................................

18

 

2.3

Методы аналитических преобразований......................................

20

 

2.4

Упражнения ....................................................................................

22

 

2.5

Метод гаммирования......................................................................

22

 

2.6

Упражнения ....................................................................................

24

 

2.7

Перестановочные шифры..............................................................

25

 

2.8

Упражнения ....................................................................................

33

 

2.9

Комбинированные методы............................................................

34

 

2.10 Упражнения .................................................................................

36

3 Общие сведения о блочных шифрах ................................................

36

4

Идея открытых ключей...................................................................

46

 

4.1

Упражнения ....................................................................................

54

5 Общие сведения об асимметричных криптоалгоритмах................

55

 

5.1

Алгоритм RSA ................................................................................

58

 

5.2

Однонаправленные хэш-функции.................................................

60

 

5.2.1 N-хэш.........................................................................................

62

 

5.2.2 MD4............................................................................................

64

 

5.2.3 MD5............................................................................................

65

 

5.2.4 MD2............................................................................................

71

 

5.2.5 Алгоритм безопасного хэширования SHA.............................

72

 

5.2.6 Однонаправленные хэш-функции, использующие

 

 

симметричные блочные алгоритмы..................................................

74

 

5.2.7 Хэш-функция ГОСТ.................................................................

76

 

5.3

Криптосистема Эль-Гамаля...........................................................

77

 

5.4

Криптосистема, основанная на проблеме Диффи-Хеллмана.....

78

 

5.5

Криптосистемы Меркля-Хеллмана и Чора-Ривеста....................

82

 

5.6

Обмен ключами по алгоритму Диффи-Хеллмана.......................

88

 

5.7

Цифровая сигнатура.......................................................................

89

6

Цифровая подпись..............................................................................

91

 

6.1.1 Система RSA.............................................................................

93

 

6.1.2 Проект DSS ...............................................................................

94

 

6.1.3 АЛГОРИТМ ЦИФРОВОЙ ПОДПИСИ DSA. .......................

94

 

6.1.4

Российский стандарт цифровой подписи...............................

95

 

6.1.5

Использование алгоритмов с открытым ключом..................

97

7

Задания для самостоятельной работы..............................................

98

8

Список литературы...........................................................................

105

2

1 Введение

Д. Канн «… История криптографии… – это история человечества».

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

Далее мы будем говорить о защищаемой информации, имея в виду следующие признаки такой информации:

9 имеется какой-то определенный круг законных пользователей, которые имеют право владеть этой информацией; 9 имеются незаконные пользователи, которые стремятся

овладеть этой информацией с тем, чтобы обратить ее себе во благо, а законным пользователям во вред.

Для простоты мы ограничимся рассмотрением только одной угрозы – угрозы разглашения информации.

Возникающие при этом задачи решает криптография – наука о методах преобразования информации в целях ее защиты от незаконных пользователей.

Возникновение криптографии теряется в глубине тысячелетий. Ее необходимость возникла в связи с конкуренцией человеческих сообществ.

Первая часть пособия содержит некоторые теоретические аспекты криптографии и описаны способы построения симметричных криптографических систем.

Вторая часть знакомит с современными методами шифрования: шифрование с открытым ключом, электронная подпись.

3

2 Терминология

Проблемой защиты информации путем ее преобразования занимается криптология. Криптология разделяется на два направления - криптографию и криптоанализ. Цели этих направлений прямо противоположны.

Криптография занимается поиском и исследованием методов преобразования информации с целью скрытия ее содержания.

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

баз данных) на носителях в зашифрованном виде.

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

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

Алфавит - конечное множество используемых для кодирования информации знаков.

Текст - упорядоченный набор из элементов алфавита В качестве примеров алфавитов, используемых в

современных информационных системах можно привести следующие:

алфавит Z33 - 32 буквы русского алфавита (исключая «ё») и пробел;

алфавит Z256 - символы, входящие в стандартные коды

ASCII и КОИ-8;

двоичный алфавит-Z2 = {0,1};

Шифрование данных - процесс преобразования открытых данных в зашифрованные данные (шифртекст, криптограмму) при помощи ключа. Иногда этот процесс называют зашифрованием данных.

4

Вместо термина «открытые данные» часто употребляются термины открытый текст и исходный текст, а вместо «зашифрованные данные» — шифрованный текст.

Рисунок 1 — Шифрование и дешифрирование

Криптографическая система, или шифр представляет собой семейство Т обратимых преобразований открытого текста в шифрованный. Члены этого семейства индексируются или обозначаются символом k; параметр k обычно называется ключом. Преобразование Тk определяется соответствующим алгоритмом и значением ключа k.

Ключ - конкретное значение состояния некоторых параметров алгоритма криптографического преобразования, обеспечивающее выбор одного преобразования из семейства.

Пространство ключей К — это набор возможных значений ключа.

Криптосистемы подразделяются на симметричные и асимметричные (или системы с открытым ключом).

Рисунок 2 — Шифрование и дешифрирование с ключом

Рисунок 3 — Шифрование и дешифрирование с двумя различными

5

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

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

Термины распределение ключей и управление ключами

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

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

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

9количество всех возможных ключей;

9количество операций, необходимое для вскрытия шифра;

9объем выборки исходного и/или шифрованного текста, необходимый для определения ключа;

9сложность решения математической задачи, лежащей в основе системы шифрования.

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

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

[1].

6

Обозначим открытый текст как М (от message, сообщение), или Р (отplaintext, открытый текст). Это может быть поток битов, текстовый файл, битовое изображение, оцифрованный звук, цифровое видеоизображение, да что угодно. Для компьютера М - это просто двоичные данные. Открытый текст может быть создан для хранения или передачи. В любом случае, М - это сообщение, которое должно быть зашифровано. [2]

Обозначим шифротекст как С. Это тоже двоичные данные, иногда того же размера, что и М, иногда больше. (Если шифрование сопровождается сжатием, С может быть меньше чем М. Однако, само шифрование не обеспечивает сжатие информации.) Функция шифрования Е действует на М, создавая С. Или, в математической записи:

Е(М) = С

В обратном процессе функция дешифрирования D действует на С, восстанавливая М:

D(C) = М

Поскольку смыслом шифрования и последующего дешифрирования сообщения является восстановление первоначального открытого текста, должно выполняться следующее равенство : D(E(M)) = М.

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

Современная криптография решает эти проблемы с помощью ключа К. Такой ключ может быть любым значением, выбранным из большого множества. Множество возможных ключей называют пространством ключей.

EK(M)=C

DK(С)=M

При этом выполняется следующее равенство: DK(EK(M))=M Для некоторых алгоритмов при шифровании и дешифрировании используются различные ключи. То есть ключ шифрования, K1 отличается от соответствующего ключа

дешифрирования К2. В этом случае:

EK1(M)=C

DK2(С)=M

7

DK2(EK1(M))=M

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

2.1 Требования к криптографическим системам

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

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

зашифрованное сообщение должно поддаваться чтению только при наличии ключа;

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

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

знание алгоритма шифрования не должно влиять на надежность защиты;

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

8

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

структурные элементы алгоритма шифрования должны быть неизменными;

дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте;

длина шифрованного текста должна быть равной длине исходного текста;

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

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

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

3 Симметричные криптосистемы

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

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

9

Все многообразие существующих криптографических методов можно свести к следующим классам преобразований

(рисунок 4): [3]

Симметричные

криптосистемы

Потоковые шифры

Блочные шифры

Шифры замены

Шифры перестановки

Комбинированные

методы

Рисунок 4 — Подклассы симметричных криптосистем

3.1 Подстановочные шифры

Наиболее известными и часто используемыми шифрами являются шифры замены. Они характеризуются тем, что отдельные части сообщения (буквы, слова, ...) заменяются на какие-либо другие буквы, числа, символы и т.д. При этом замена осуществляется так, чтобы потом по шифрованному сообщению можно было однозначно восстановить передаваемое сообщение. [4]

Пусть, например, зашифровывается сообщение на русском языке и при этом замене подлежит каждая буква сообщения. Формально в этом случае шифр замены можно описать следующим образом. Для каждой буквы а исходного алфавита строится некоторое множество символов Мα так, что множества Мα и Мβ попарно не пересекаются при α ≠ β, то есть любые два различные множества не содержат одинаковых элементов. Множество Мα называется множеством шифробозначений для буквы α.

10