Голосование со слепыми подписями

Нам нужно как-то отделить бюллетень от голосующего, сохранив процедуру идентификации личности . Именно это можно сделать с помощью протокола слепой подписи .

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

(2) Каждый избиратель лично маскирует все сообщения (см. раздел 5.3) и посылает их в ЦИК вместе с ма с-кирующим множителями.

(3) ЦИК по своей базе данных проверяет, что пользователь не присылал раньше для подписания свои зама с-кированные бюллетени. ЦИК открывает 9 из наборов, проверяя, что они правильно сформированы . Затем она индивидуально подписывает каждое сообщение набора и посылает их обратно избирателю, сохраняя имя избирателя в своей базе данных.

(4) Избиратель снимает маскировку с сообщений и получает набор бюллетеней, подписанных ЦИК . (Эти бюллетени подписаны, но не зашифрованы, поэтому избиратель легко увидит, какой из бюллетеней - "да", а какой - "нет". )

(5) Каждый избиратель выбирает один из бюллетеней (о, демократия!) и шифрует его открытым ключом ЦИК.

(6) Избиратель отправляет свой бюллетень.

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

Мэллори, избиратель-жулик, не может обмануть эту систему. Протокол слепой подписи обеспечивает еди н-ственность его бюллетени. Если он попытается отправить тот же бюллетень дважды, ЦИК обнаружит дублир о-вание последовательных номеров на этапе (7) и не будет учитывать второй бюллетень. Если он попытается по-лучить несколько бюллетеней на этапе (2), ЦИК обнаружит это на этапе (3). Мэллори не может создать свои собственные бюллетени, потому что он не знает закрытого ключа комиссии . По той же причине он не может перехватить и изменить чужие бюллетени.

Протокол "разрезать и выбрать" на этапе (3) должен обеспечить уникальность бюллетеней. Без этого этапа Мэллори мог бы создать точно такой же, за исключением идентификационного номера, набор бюллетеней и заверить их все в ЦИК.

Мошенническая ЦИК не сможет узнать, как голосовал конкретный избиратель. Так как протокол слепой подписи маскирует последовательные номера бюллетеней до момента подведения итогов , ЦИК не сможет уста-новить связь между подписанным ею замаскированным бюллетенем и подытоживаемым бюллетенем . Опубли-кование перечня последовательных номеров и связанных с ними бюллетеней позволяет пользователям убедит ь-ся, что их бюллетени были правильно учтены.

Но проблемы все еще остаются. Если этап (6) не анонимен, и ЦИК может записать, кто какой бюллетень прислал, то она сможет узнать, кто за кого голосовал. Однако, это невозможно, если комиссия получает бюлл е-тени в запечатанной урне для голосования и считает их позже . Хотя ЦИК и не сможет установить связь между избирателями и их бюллетенями, она сможет создать большое количество подписанных и правильных бюлл е-теней и смошенничать, прислав их сама себе. И если Алиса обнаружит, что ЦИК подменила ее бюллетень, она не сможет доказать этого. Аналогичный протокол, пытающийся устранить эти проблемы, описан в [1195, 1370].