Курсовая работа: Криптографические протоколы с нулевым разглашением

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» (ФГБОУ ВО «ВГУ»)

ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ, ИНФОРМАТИКИ И МЕХАНИКИ

КАФЕДРА ERP-СИСТЕМ И БИЗНЕС-ПРОЦЕССОВ

Курсовая работа

Криптографические протоколы с нулевым разглашением

Кудряшов Р.В.

ВОРОНЕЖ - 2020

Введение

Актуальность. За несколько последних десятилетий требования к информационной безопасности существенно изменились. До начала широкого использования автоматизированных систем обработки данных безопасность информации достигалась исключительно физическими и административными мерами. С появлением компьютеров стала очевидной необходимость использования автоматических средств защиты файлов данных и программной среды. Следующий этап развития автоматических средств защиты связан с появлением распределённых систем обработки данных и компьютерных сетей, в которых средства сетевой безопасности используются в первую очередь для защиты передаваемых по сетям данных. В наиболее полной трактовке под средствами сетевой безопасности мы будем иметь в виду меры предотвращения нарушений безопасности, которые возникают при передаче информации по сетям, а также меры, позволяющие определять, что такие нарушения безопасности имели место. Именно изучение средств сетевой безопасности и связанных с ними теоретических и прикладных проблем, составляет основной материал [5].

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

Объект исследования: криптографические протоколы.

Предмет исследования: криптографические протоколы с нулевым разглашением.

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

Для достижения поставленной цели необходимо решить следующие задачи:

Изучить основную терминологию.

Рассмотреть симметричные алгоритмы и алгоритмы с открытым ключом.

Определить понятие криптоанализ.

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

Рассмотреть протоколы с нулевым разглашением секрета.

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

Рассмотреть протокол на основе использования криптосхемы RSA.

Изучить использование алгоритма открытого шифрования Эль-Гамаля.

Изучить протокол на основе криптосхемы Рабина.

Методы исследования: изучение и анализ научной литературы; методы обработки результатов (качественный анализ).

1. Основные понятия

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

Отправитель и получатель

Одним из основных понятий в криптографии является понятие отправитель и получатель. Предположим, что отправитель хочет послать сообщение получателю, более того, этот отправитель хочет послать свое сообщение безопасно: он хочет быть уверен, что перехвативший это сообщение не сможет его прочесть. Стороны, обменивающиеся шифрованной информацией, обычно обозначаются А и В. Довольно часто употребляют более дружественные имена: Алиса и Боб. Но не следует думать, что стороны, участвующие в процессе, обязательно люди. Используя эти имена, мы вполне можем описывать обмен секретной информацией между двумя автономными механизмами. Подслушивающей стороне, «плохой девочке», которая взламывает шифртекст, обычно дают имя Ева [7].

Сообщения и шифрование.

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

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

Мы будем писать

где -- открытый текст, -- шифрующая функция, -- секретный ключ и -- шифртекст.

Обратный процесс называют расшифрованием и пишут

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

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

(( =

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

Рис. 1. Шифрование и дешифрирование

Проверка подлинности, целостность и неотрицание авторства.

Кроме обеспечения конфиденциальности криптография часто используется для других функций:

Проверка подлинности. Получатель сообщения может проверить его источник, злоумышленник не сможет замаскироваться под кого-либо.

Целостность. Получатель сообщения может проверить, не было ли сообщение изменено в процессе доставки, злоумышленник не сможет подменить правильное сообщение ложным.

Неотрицание авторства. Отправитель не сможет ложно отрицать отправку сообщения.

Существуют жизненно важные требования к общению при помощи компьютеров, также как существуют аналогичные требования при общении лицом к лицу. Как раз это и является необходимость обеспечения проверки подлинности, целостности и неотрицания авторства [5].

Алгоритмы и ключи.

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

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

Ограниченные алгоритмы не допускают качественного контроля или стандартизации. У каждой группы пользователей должен быть свой уникальный алгоритм. Такие группы не могут использовать открытые аппаратные или программные продукты, поскольку злоумышленник может купить такой же продукт и раскрыть алгоритм. Им приходится разрабатывать и реализовывать собственные алгоритмы [6].

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

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

()=

()=

Для некоторых алгоритмов при шифровании и дешифрировании используются различные ключи. То есть ключ шифрования, К1, отличается от соответствующего ключа дешифрирования, K2.

В этом случае:

При этом выполняется следующее равенство:

))

Для некоторых алгоритмов при шифровании и дешифрировании используются различные ключи. То есть ключ шифрования, К1, отличается от соответствующего ключа дешифрирования, K2. В этом случае:

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

Не имеет значения, что злоумышленнику известен алгоритм, поскольку, если ему не известен конкретный ключ, то он не сможет прочесть сообщения [8].

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

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

1.2 Симметричные алгоритмы

Существует два основных типа криптографических алгоритмов: симметричные (с секретным ключом) и асимметричные (с открытым ключом). Симметричные алгоритмы, иногда называемые условными алгоритмами, представляют собой алгоритмы, в которых ключ шифрования может быть рассчитан по ключу дешифрирования и наоборот. В большинстве симметричных алгоритмов ключи шифрования и дешифрирования одни и те же. Эти алгоритмы, также называемые алгоритмами с секретным ключом или алгоритмами с одним ключом, требуется, чтобы отправитель и получатель согласовали используемый ключ перед началом безопасной передачи сообщений. Безопасность симметричного алгоритма определяется ключом, раскрытие ключа означает, что кто угодно сможет шифровать и дешифрировать сообщения. Пока передаваемые сообщения должны быть тайными, ключ должен храниться в секрете. Шифрование и дешифрирование с использованием симметричного алгоритма обозначается как [10]:

()=

()=

Симметричные алгоритмы делятся на две категории. Одни алгоритмы обрабатывают открытый текст побитно (иногда побайтно), они называются потоковыми алгоритмами или потоковыми шифрами. Другие работаю с группами битов открытого текста. Группы битов называются блоками, а алгоритмы - блочными алгоритмами или блочными шифрами. Для алгоритмов, используемых в компьютерных модемах, типичный размер блока составляет 64 бита - достаточно большое значение, чтобы помешать анализу, и достаточно небольшое и удобное для работы. До появления компьютеров алгоритмы обычно обрабатывали открытый текст посимвольно. Такой вариант может рассматриваться как потоковый алгоритм, обрабатывающий поток символов [1].

1.3 Алгоритмы с открытым ключом

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

В этих системах ключ шифрования часто называется открытым ключом, а ключ дешифрирования - закрытым [8].

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

сообщение + ОТКРЫТЫЙ КЛЮЧ АЛИСЫ = ШИФРТЕКСТ

ШИФРТЕКСТ + секретный ключ Алисы = сообщение.

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

Шифрование с открытым ключом обозначается как:

()=

Хотя открытый и закрытый ключи различны, дешифрирование с соответствующим закрытым ключом обозначается как:

()=

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

1.4 Криптоанализ

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

Источник: https://otherreferats.allbest.ru/download/1311840/