Разработайте программу, имитирующую функционирование упрощенной схемы идентификации с нулевой передачей данных.
Значения необходимых параметров должны выбираться слу- чайным образом.
Выходная информация должна быть следующей:
Значение n; Открытый ключ; Секретный ключ;
Процесс идентификации
Сторона А; Сторона В; Сторона А; Сторона В;
сел V1, V2, ..., VK, где каждое Vi является квадратичным вычетом по модулю n. Иначе говоря, выбирают значение Vi таким, что срав- нение x2 = Vi mod n имеет решение, и существует число V –1 mod п. Полученная строка V1, V2, ..., VK является открытым ключом.
i
Затем вычисляют такие наименьшие значения Si, что
…
П р и м е ч а н и я
Модуль n определяется как произведение двузначных чисел p и q.
Si
( V 1) (mod n).
i
Сравнение х2 = V(mod n) равнозначно выражению х2 mod n = V.
Сравнение z = V –1(mod n) равнозначно выражению z · V mod n = 1.
Контрольные вопросы
Что такое идентификация пользователей и для чего она нужна?
Какая рекомендуемая длина модуля?
Сколько итераций алгоритма нужно провести для уверен- ности в подлинности пользователя?
Отчетность по практической работе
Распечатать код программы с подробными его комментари- ями и результатами выполнения программы.
Эта строка S1, S2, ..., SK является секретным ключом стороны А.
Протокол процесса идентификации имеет следующий вид:
Сторона А выбирает некоторое случайное число r, r < n.
Затем она вычисляет х = r2 mod n и посылает х стороне В.
Сторона В отправляет стороне А некоторую случайную двоичную строку из К бит: b1, b2, ..., bK.
Сторона А вычисляет
1 2 K
y r( Sb1 Sb2 ... SbK ) mod n.
Перемножаются только те значения Si, для которых b1 = 1. Например, если b1 = 1, то сомножитель S входит в произведение, если же b1 = 0, то S1 не входит в произведение, и т. д. Вычислен- ное значение у отправляется стороне В.
Сторона В проверяет, что
x y( V b1 V b2 ... V bK )mod n.
1 2 K
ПРАКТИЧЕСКАЯ РАБОТА 9
Фактически сторона В перемножает только те значения Vi,
для которых bi = 1. Стороны А и В повторяют этот протокол
ПАРАЛЛЕЛЬНАЯ СХЕМА ПРОТОКОЛА ИНТЕНСИФИКАЦИИ С НУЛЕВОЙ ПЕРЕДАЧЕЙ ДАННЫХ
t раз, пока В не убедится, что А знает Sl, S2, ..., SK.
Вероятность того, что А может обмануть В, равна (1/2)
Kt. Ре-
Цель работы: формирование умений проверки подлинности удаленных пользователей с помощью параллельной схемы про- токола идентификации с нулевой передачей данных.
Теоретические сведения
Параллельная схема идентификации позволяет увеличить число аккредитаций, выполняемых за один цикл, и тем самым уменьшить длительность процесса идентификации.
Сначала генерируется число n как произведение двух боль- ших чисел. Для того, чтобы сгенерировать открытый и секрет- ный ключи для стороны А, сначала выбирают К различных чи-
комендуется в качестве контрольного значения брать вероят-
ность обмана В равной (1/2) 20 при К = 5 и t = 4.
Содержание заданий
Разработайте программу, имитирующую функционирование параллельной схемы идентификации с нулевой передачей данных.
Значения необходимых параметров должны выбираться случайным образом.
Выходная информация должна быть следующей:
Значение n; Открытые ключи; Секретные ключи;
Процесс идентификации
Сторона А; Сторона В; Сторона А; Сторона В.
Контрольные вопросы
Что такое идентификация пользователей и для чего она нужна?
В чем отличие протокола идентификации с нулевой пере- дачей знания и параллельной схемы протокола идентификации с нулевой передачей знания?
Какая вероятность того, что одному из пользователей удастся обмануть другого?
Отчетность по практической работе
Распечатайте код программы с подробными его коммента- риями и результатами выполнения программы.
ПРАКТИЧЕСКАЯ РАБОТА 10
РЕАЛИЗАЦИЯ ЭЛЕМЕНТОВ ЭЦП RSA
Цель работы: формирование умений подписи электронных документов электронной цифровой подписью с помощью алго- ритма RSA.
Теоретические сведения
Электронная цифровая подпись (ЭЦП) – реквизит электрон- ного документа, предназначенный для удостоверения источника данных и защиты данного электронного документа от подделки.
Общая схема
Схема электронной подписи обычно включает в себя:
Функция вычисления подписи на основе документа и сек- ретного ключа пользователя вычисляет собственно подпись. В за-
висимости от алгоритма функция вычисления подписи может быть детерминированной или вероятностной. Детерминирован- ные функции всегда вычисляют одинаковую подпись по одина- ковым входным данным. Вероятностные функции вносят в под- пись элемент случайности, что усиливает криптостойкость алго- ритмов ЭЦП. Однако для вероятностных схем необходим надежный источник случайности (либо аппаратный генератор шума, либо криптографически надежный генератор псевдослу- чайных бит), что усложняет реализацию.
В настоящее время детерминированые схемы практически не используются.
Функция проверки подписи проверяет, соответствует ли дан- ная подпись данному документу и открытому ключу пользова- теля. Открытый ключ пользователя доступен всем, так что лю- бой может проверить подпись под данным документом.
Поскольку подписываемые документы переменной (и доста- точно большой) длины, в схемах ЭЦП зачастую подпись ставит- ся не на сам документ, а на его хэш. Для вычисления хэша ис- пользуются криптографические хэш-функции, что гарантирует вы- явление изменений документа при проверке подписи. Хэш-функ- ции не являются частью алгоритма ЭЦП, поэтому в схеме может быть использована любая надежная хэш-функция.
Защищенность
Цифровая подпись обеспечивает:
удостоверение источника документа. В зависимости от де- талей определения документа могут быть подписаны такие поля, как «автор», «внесенные изменения», «метка времени» и т. д.;
защиту документа от изменений. При любом случайном или преднамеренном изменении документа (или подписи) изме- нится хэш, следовательно, подпись станет недействительной;
невозможность отказа от авторства, так как создать кор- ректную подпись можно лишь, зная закрытый ключ, а он изве- стен только владельцу, то владелец не может отказаться от своей подписи под документом.
Возможны следующие угрозы цифровой подписи:
злоумышленник может попытаться подделать подпись для выбранного им документа;
злоумышленник может попытаться подобрать документ к данной подписи, чтобы подпись к нему подходила.
При использовании надежной хэш-функции, вычислительно сложно создать поддельный документ с таким же хэшем, как у подлинного. Однако эти угрозы могут реализоваться из-за сла- бостей конкретных алгоритмов хэширования, подписи или оши- бок в их реализациях.
Тем не менее, возможны еще следующие угрозы системам цифровой подписи:
злоумышленник, укравший закрытый ключ, может под- писать любой документ от имени владельца ключа;
злоумышленник может обманом заставить владельца подписать какой-либо документ, например, используя протокол слепой подписи;
злоумышленник может подменить открытый ключ вла- дельца на свой собственный, выдавая себя за него.
Реализацию алгоритма смотрите в практической работе № 5, разница лишь в том, что открытый и секретный ключи меняются местами.
Достарыңызбен бөлісу: |