Протокол №1

Как может группа людей вычислить свою среднюю зарплату без того, чтобы зарплата одного стала известна другому?

(1) Алиса добавляет секретное случайное число к сумме своей зарплаты, шифрует результат открытым кл ю-чом Боба и посылает его Бобу.

(2) Боб расшифровывает результат своим закрытым ключом. Он добавляет сумму своей зарплаты к получе н-ному от Алисы значению, шифрует результат открытым ключом Кэрол и посылает его Кэрол.

(3) Кэрол расшифровывает результат своим закрытым ключом. Она добавляет сумму своей зарплаты к пол у-ченному от Боба значению, шифрует результат открытым ключом Дэйва и посылает его Дэйву.

(4) Дэйв расшифровывает результат своим закрытым ключом. Он добавляет сумму своей зарплаты к пол у-
ченному от Кэрол значению, шифрует результат открытым ключом Алисы и посылает его Алисе.

(5) Алиса расшифровывает результат своим закрытым ключом. Она вычитает случайное число, прибавленное на этапе (1), получая сумму всех зарплат.

(6) Алиса делит результат на число людей (в данном случае на четыре) и объявляет результат.

Этот протокол подразумевает, что каждый участник честен - они хотя и могут любопытствовать, но следуют протоколу. Если любой из участников солжет о своей зарплате, средняя зарплата будет рассчитана неправильно. Более серьезная проблема состоит в том, что Алиса может искажать итоговый результат. Она может вычесть на этапе (5) любое число, которое ее устраивает, и никто об этом не узнает. Помешать Алисе сделать это можно, потребовав от нее вручить ее случайное число с помощью одной из схем вручения бита из раздела 4.9, но когда


она откроет свое случайное число в конце протокола Боб сможет узнать ее зарплату.