русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Бросание монеты с помощью криптосистемы с открытым ключом


Дата добавления: 2014-11-28; просмотров: 725; Нарушение авторских прав


 

В этом случае от алгоритмов шифрования (Е) и расшифрования (D) требуется, чтобы они были коммутативны, т. е.:

 

 

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

1. Антон и Борис генерируют каждый для себя по паре ключей,

состоящей из открытого и тайного ключа.

2. Антон генерирует две случайные битовые строки Р1 и Р2, одна из

которых означает, что при бросании монеты выпал “орел”, а другая —

что получилась “решка”.

3. При помощи своего открытого ключа Антон шифрует сначала Р1, а

потом Р2, и отсылает оба полученных в результате шифрсообщения (EA1) и ЕА2)) Борису.

4. Борис выбирает одно из присланных ему Антоном шифрсообщений

(для этой цели Борис может воспользоваться, например, известной считалкой “Эне, бене, раба, квинтер, минтер, жаба” или сходить за советом к астрологу). Борис шифрует выбранное шифрсообщение с помощью своего открытого ключа и отсылает результат (ЕБА(Р)), где Р — это либо Р1 либо Р2) Антону.

5. Антон расшифровывает пришедшее от Бориса сообщение на своем

тайном ключе и посылает то, что у него получилось DAБА(Р))) = =ЕБ (Р)) обратно Борису.

6. Борис расшифровывает это сообщение Антона (DББ )(P)) = P)) и

узнает, какой стороной упала монета. Затем Борис шлет Р Антону.

7. Антон проверяет, действительно ли Р — это одна из тех двух

случайных битовых строк, которые он сгенерировал на шаге 2.

8. Чтобы окончательно убедиться в честности друг друга, Антон и Борис

обмениваются парами ключей, которые они сгенерировали на шаге 1.

 

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



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

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



<== предыдущая лекция | следующая лекция ==>
Предсказание с помощью генератора псевдослучайных битовых последовательностей | Игра в покер


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.475 сек.