Алиса шифрует все четыре имени своим ключом и в случайном порядке записывает на бумажке и показывает всем. Затем Боб берёт зашифрованные строки на этой бумажке, шифрует своим ключом и так же на новой бумажке записывает шифротексты в случайном порядке. Затем так делают Кэрол и Дейв.
Таким образом перед Алисой лежит листик с четырьмя зашифрованными строками, и при этом каждый из участников сортировал их как хотел.
Рисунок 1 — Схема передачи зашифрованных сообщений между участниками (записью Еа(s) обозначается шифрование ключом Алисы сообщения s)
Затем Алиса выбирает одну из этих строк.
После этого Дейв показывает каким ключом он шифровал строки и вся подвыпившая компания напряжённо расшифровывает строки ключом Дейва, убеждаясь что расшифрованные строки совпадают с теми что Кэрол дала Дейву и запоминая какую из них выбрала Алиса. То же происходит с ключами остальных участников. Наконец Алиса показывает свой ключ, и мучаясь от жажды, наши герои расшифровывают последний раз строки и видят какое имя было выбрано Алисой.
Всё конечно хорошо, но что если лиса-Алиса захочет всех обмануть, или безмерно уважающие Боба друзья захотят сговориться против него?
Казалось бы Алиса первая шифрует сообщения и сама же выбирает один из шифротекстов. Но при этом она не знает как его отсортировали другие участники, и зашифровали своими ключами. Поэтому перед ней просто встаёт слепой выбор между четыремя равнозначными строками.
В случае Боба даже если все участники за спиной Боба будут показывать друг другу свои ключи они всё равно не знают как зашифровал и отсортировал строки на своём шаге Боб и после его очереди перед ними также будет набор из непонятных шифротекстов, отсортированных в бобовском порядке.
P. S. Протокол придуман во время обеда с коллегой и навеян книгой Брюса Шнайера «Прикладная криптография»
ссылка на оригинал статьи http://habrahabr.ru/post/178951/
Добавить комментарий