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

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

ЛАБОРАТОРНАЯ работа № 9

Параллельная схема протокола интенсификации с нулевой передачей данных

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

Теоретические сведения

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

Сначала генерируется число n как произведение двух больших чисел. Для того, чтобы сгенерировать открытый и секретный ключи для стороны А, сначала выбирают К различных чисел V1, V2, ...,VK, где каждое Vi является квадратичным вычетом по модулю n. Иначе говоря, выбирают значение Vi таким, что сравнение x2 = Vi mod n имеет решение и существует Vi-1 mod п. Полученная строка V1, V2, ..., VK является открытым ключом.

Затем вычисляют такие наименьшие значения Si, что

Si=sqrt(Vi-1)(mod n).

Эта строка S1, S2,.... SK является секретным ключом стороны А.

Протокол процесса идентификации имеет следующий вид:

1. Сторона А выбирает некоторое случайное число r, r < n. Затем она вычисляет х= r2 mod n и посылает х стороне В.

2. Сторона В отправляет стороне А некоторую случайную двоичную строку из. К бит: b1, b2,..., bK.

3. Сторона А вычисляет

Отчетность по лабораторной работе. Распечатать код программы с подробными комментариями кода и результатами выполнения - student2.ru

Перемножаются только те значения Si для которых b1 = 1. Например, если b1 = 1, то сомножитель S, входит в произведение, если же b1 = 0, то S1 не входит в произведение, и т.д. Вычисленное значение у отправляется стороне В.

4. Сторона В проверяет. Что

Отчетность по лабораторной работе. Распечатать код программы с подробными комментариями кода и результатами выполнения - student2.ru

Фактически сторона В перемножает только те значения Vi для которых bi = 1. Стороны А и В повторяют этот протокол t раз, пока В не убедится, что А знает Sl, S2,..., SK

Вероятность того, что А может обмануть В, равна (1/2)Kt. Авроры рекомендуют в качестве контрольного значения брать вероятность обмана В равной (1/2)20 при К = 5 и t=4.

Содержание заданий

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

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

Выходная информация должна быть следующей:

Значение n:

Открытые ключи:

Секретные ключи:

Процесс идентификации

Сторона А:

Сторона В:

Сторона А:

Сторона В:

Контрольные вопросы

1. Что такое идентификация пользователей и для чего она нужна?

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

3. Какая вероятность того что одному из пользователей удастся обмануть другого?

Отчетность по лабораторной работе

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

ЛАБОРАТОРНАЯ работа № 10

Реализация элементов ЭЦП RSA

Цель работы: формирование умений подписи электронных документов электронной цифровой подписью с помощью алгоритма RSA.

Теоретические сведения

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

Общая схема

Схема электронной подписи обычно включает в себя:

ü алгоритм генерации ключевых пар пользователя;

ü функцию вычисления подписи;

ü функцию проверки подписи.

Функция вычисления подписи на основе документа и секретного ключа пользователя вычисляет собственно подпись. В зависимости от алгоритма функция вычисления подписи может быть детерминированной или вероятностной. Детерминированные функции всегда вычисляют одинаковую подпись по одинаковым входным данным. Вероятностные функции вносят в подпись элемент случайности, что усиливает криптостойкость алгоритмов ЭЦП. Однако, для вероятностных схем необходим надёжный источник случайности (либо аппаратный генератор шума, либо криптографически надёжный генератор псевдослучайных бит), что усложняет реализацию.

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

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

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

Защищённость

Цифровая подпись обеспечивает:

ü Удостоверение источника документа. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.

ü Защиту от изменений документа. При любом случайном или преднамеренном изменении документа (или подписи) изменится хэш, следовательно, подпись станет недействительной.

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

Возможны следующие угрозы цифровой подписи:

ü Злоумышленник может попытаться подделать подпись для выбранного им документа.

ü Злоумышленник может попытаться подобрать документ к данной подписи, чтобы подпись к нему подходила.

ü Злоумышленник может попытаться подделать подпись для какого-нибудь документа.

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

Тем не менее, возможны ещё такие угрозы системам цифровой подписи:

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

ü Злоумышленник может обманом заставить владельца подписать какой-либо документ, например используя протокол слепой подписи.

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

Реализацию алгоритма смотрите в лабораторной работе №5, разница лишь в том что открытый и секретный ключи меняются местам.

Содержание заданий

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

Контрольные вопросы

1. Что такое хеш-функция?

2. Для чего применяется хеш-функция?

3. Особенности применения ЭЦП?

Наши рекомендации