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

Методическое пособие 371

.pdf
Скачиваний:
6
Добавлен:
30.04.2022
Размер:
1.05 Mб
Скачать

ФГБОУ ВПО «Воронежский государственный технический университет»

Кафедра систем информационной безопасности

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к курсовому проектированию по дисциплине

«Криптографические методы защиты информации» для студентов специальности

090301 «Компьютерная безопасность» очной формы обучения

Воронеж 2015

Составители: канд. техн. наук Н. М. Радько, канд. техн. наук А. Н. Мокроусов

УДК 681.326

Методические указания к курсовому проектированию по дисциплине «Криптографические методы защиты информации» для студентов специальности 090301 «Компьютерная безопасность» очной формы обучения / ФГБОУ ВПО «Воронежский государственный технический университет»; сост. Н. М. Радько, А. Н. Мокроусов. Воронеж,

2015. 59 с.

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

Методические указания подготовлены в электронном виде в текстовом редакторе MS Word 2013 и содержатся в файле Мокроусов_КП_КМЗИ.pdf.

Табл. 6. Ил. 24. Библиогр.: 7 назв.

Рецензент д-р техн. наук, проф. А. Г. Остапенко

Ответственный за выпуск зав. кафедрой д-р техн. наук, проф. А. Г. Остапенко

Издается по решению редакционно-издательского совета Воронежского государственного технического университета

© ФГБОУ ВПО «Воронежский государственный технический университет», 2015

1. КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

1.1. Основные положения

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

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

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

Открытый (исходный) текст — данные (не обязательно текстовые), передаваемые без использования криптографии.

Шифротекст, шифрованный (закрытый) текст

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

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

Керкгоффса).

 

 

Шифр, криптосистема

семейство

обратимых

преобразований открытого текста в шифрованный.

Шифрование — процесс

нормального

применения

криптографического преобразования открытого текста на

основе алгоритма и ключа, в результате которого возникает шифрованный текст.

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

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

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

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

Криптоаналитик — ученый, создающий и применяющий методы криптоанализа.

Криптография и криптоанализ составляют криптологию, как единую науку о создании и взломе шифров.

Криптографическая атака — попытка криптоаналитика вызвать отклонения в атакуемой защищенной системе обмена информацией. Успешную криптографическую атаку называют взлом или вскрытие.

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

2

Криптографическая

стойкость

способность

криптографического

алгоритма

противостоять

криптоанализу.

 

 

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

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

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

подлинность открытого ключа.

 

 

Хеш-функция

функция,

которая

преобразует

сообщение произвольной длины в число («свёртку») фиксированной длины. Для криптографической хешфункции (в отличие от хеш-функции общего назначения) сложно вычислить обратную и даже найти два сообщения с общей хеш-функцией

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

3

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

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

1.2.1.Общая схема

Внастоящее время симметричные шифры — это:

блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.

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

Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок.

Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля. Алгоритм

4

строит схему шифрования на основе функции F(D, K), где D — порция данных, размером вдвое меньше блока шифрования, а K — «ключ прохода» для данного прохода. От функции не требуется обратимость — обратная ей функция может быть неизвестна. Достоинства сети Фейстеля — почти полное совпадение дешифровки с шифрованием (единственное отличие — обратный порядок «ключей прохода» в расписании), что сильно облегчает аппаратную реализацию.

Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна — f(a) xor f(b) == f(a xor b)

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

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

1.2.2. Параметры алгоритмов

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

стойкость;

длина ключа; число раундов;

5

длина обрабатываемого блока; сложность аппаратной/программной реализации; сложность преобразования.

1.3. Асимметричное шифрование

Асимметричное шифрование — система шифрования и/или электронной подписи (ЭП), при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для проверки ЭП и для шифрования сообщения. Для генерации ЭП и для расшифровки сообщения используется закрытый ключ. Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), в SSH. Также используется в PGP, S/MIME.

1.3.1. Схема шифрования с открытым ключом

Пусть — пространство ключей, а и — ключи шифрования и расшифрования соответственно. — функция шифрования для произвольного ключа , такая что:

.

Здесь , где — пространство шифротекстов, а , где — пространство сообщений.

— функция расшифрования, с помощью которой можно найти исходное сообщение , зная шифротекст :

.

{: } — набор шифрования, а {: } — соответствующий набор для расшифрования. Каждая пара

имеет

свойство:

зная

, невозможно решить

уравнение

 

,

то есть

для данного произвольного

шифротекста

,

невозможно найти сообщение

. Это

значит, что

по

данному

невозможно

определить

6

соответствующий ключ расшифрования . является односторонней функцией, а — лазейкой.

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

Рис. 1. Схема передачи информации лицом А лицу В

1.Боб выбирает пару и шлёт ключ шифрования (открытый ключ) Алисе по открытому каналу, а ключ расшифрования (закрытый ключ) защищён и секретен (он не должен передаваться по открытому каналу).

2.Чтобы послать сообщение Бобу, Алиса применяет функцию шифрования, определённую открытым ключом :

, — полученный шифротекст.

7

3.Боб расшифровывает шифротекст , применяя обратное преобразование , однозначно определённое значением

.

1.3.2.Основные принципы построения криптосистем

соткрытым ключом

1.Начинаем с трудной задачи . Она должна решаться сложно в смысле теории: не должно быть алгоритма, с помощью которого можно было бы перебрать все варианты решения задачи за полиномиальное время относительно размера задачи. Более правильно сказать: не должно быть известного полиномиального алгоритма, решающего данную задачу — так как ни для одной задачи ещё пока не доказано, что для неё подходящего алгоритма нет в принципе.

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

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

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

5.Криптосистема организована так, что алгоритмы расшифрования для легального пользователя и криптоаналитика существенно различны. В то время как второй решает -задачу, первый использует секретную лазейку и решает -задачу.

8