Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11 Алгоритм RSA.doc
Скачиваний:
28
Добавлен:
27.10.2018
Размер:
996.35 Кб
Скачать

Основные цели протокола в порядке приоритетности

  1. Криптографическая безопасность: SSL устанавливает безопасное соединение между двумя сторонами.

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

  3. Расширяемость: SSL стремится обеспечить рабочее пространство, в котором новые открытые ключи и трудоемкие методы шифрования могут быть включены по мере необходимости.

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

Аутентификация и обмен ключами

SSL поддерживает 3 типа аутентификации:

  • аутентификация обеих сторон (клиент — сервер),

  • аутентификация сервера с неаутентифицированным клиентом

  • полная анонимность.

23. Протокол игры в покер по телефону.

24. Протокол электронного голосования.

Пусть в голосовании участвуют избирателей , которые являются абонентами компьютерной сети и подают свои голоса в электронной форме. Предположим для простоты, что голосование имеет два исхода: ``за'' и ``против'', которые будут представляться как 1 и соответственно. Из всех возможных требований к протоколу голосования выделим пока два основных:

1) голосование должно быть тайным;

2) должна быть обеспечена правильность подсчета голосов.

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

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

Уже в этой простой схеме есть ``подводный камень''. Если каждый избиратель просто шифрует свой бит на ключе , то возможных криптограмм всего две и ни о какой анонимности голосов речи быть не может. Можно шифровать строку, которая состоит из бита , дополненного, например, справа случайной строкой. Это накладывает дополнительные требования на криптосистему: старший бит открытого текста должен быть трудным, т.е. задача его вычисления по криптограмме должна быть эквивалентна (в смысле полиномиальной сводимости) задаче вычисления всего открытого текста. Такие криптосистемы существуют, но лучше использовать криптосистему вероятностного шифрования, в ней криптограмма сообщения на ключе вычисляется с помощью рандомизированного алгоритма: , где - случайная строка. Это означает, что у каждого сообщения существует, вообще говоря, экспоненциально много криптограмм, вычисленных на одном и том же ключе. Но дешифрование при этом всегда однозначно! Криптосистемы вероятностного шифрования были введены в работе Гольдвассер и Микали, где при некоторых предположениях доказано существование криптосистем такого типа, обладающих так называемой семантической стойкостью. Это - своего рода аналог шенноновской абсолютной стойкости, но относительно противника, работающего за полиномиальное время.

Мы рассмотрим в качестве примера один из вариантов криптосистемы Эль-Гамаля, основанной на задаче дискретного логарифмирования. В обозначениях из раздела 3 пусть - подгруппа , порожденная . Для сообщения выбирается и вычисляется криптограмма , где . Получатель, знающий секретный ключ , вычисляет

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

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

После этого центр вычисляет и публикует итог голосования .