В криптографии сеть открытого голосования (или OV-net) представляет собой безопасный протокол многосторонних вычислений для вычисления функции логического подсчета: а именно, учитывая набор двоичных значений 0/1 на входе, вычислить общее количество единиц без раскрытия каждой отдельной ценности. Этот протокол был предложен Фэн Хао, Питером Райаном и Петром Зелиньски в 2010 году. [1] Он расширяет сетевой протокол анонимного вето Хао и Зелиньского, позволяя каждому участнику подсчитывать количество голосов вето (т. Е. Вводить один в логическом ИЛИ функция) при сохранении анонимности проголосовавших. Протокол может быть обобщен для поддержки более широкого диапазона входных данных, помимо двоичных значений 0 и 1.
Описание
Все участники соглашаются на группу с генератором высшего порядка в котором проблема дискретного логарифмирования является сложной. Например, можно использовать группу Шнорра . Предположим, что естьучастников. В отличие от других безопасных протоколов многосторонних вычислений , которые обычно требуют парных секретных и аутентифицированных каналов между участниками в дополнение к аутентифицированному общедоступному каналу, OV-net требует только аутентифицированный общедоступный канал, доступный каждому участнику. Такой канал может быть реализован с использованием цифровых подписей. Протокол состоит из двух раундов.
Раунд 1 : каждый участник выбирает случайное значение и публикует эфемерный открытый ключ вместе с доказательством с нулевым разглашением для доказательства знания экспоненты. Такие доказательства могут быть реализованы с использованием неинтерактивных доказательств Шнорра с нулевым разглашением, как описано в RFC 8235.
После этого раунда каждый участник вычисляет:
2 тур : каждый участник издает где равно 0 или 1 вместе с доказательством 1 из 2 с нулевым разглашением для доказательства того, что один из . Такие доказательства «1 из 2» могут быть реализованы с использованием техники доказательства с нулевым разглашением Крамера, Дженнаро и Шенмакерса. [2]
После раунда 2 каждый участник вычисляет . Обратите внимание, что все ценности исчезают, потому что . Показательпредставляет собой количество единиц. Поскольку это обычно небольшое число, счет может быть вычислен путем полного перебора.
В целом, эффективность двух раундов теоретически является наилучшей. С точки зрения вычислительной нагрузки и использования полосы пропускания OV-net также является наиболее эффективным среди связанных методов. [1]
Максимальная секретность
Протокол OV-net гарантирует секретность входного бита, если не известны все остальные входные биты. Защита секретности является максимальной, поскольку, когда все другие биты известны, оставшийся бит всегда может быть вычислен путем вычитания значений известных входных битов из выходных данных функции логического подсчета.
Приложения
Прямое применение OV-net - это создание системы голосования в зале заседаний, где выборы проводятся самими избирателями. При выборах одного кандидата каждый избиратель отправляет либо «Нет», либо «Да», что соответствует значениям 0 и 1. Каждый избиратель, а также наблюдатель может подсчитать голоса «Да» самостоятельно, не требуя каких-либо полномочий для подсчета голосов.
Существуют стандартные методы продления выборов с одним кандидатом для поддержки нескольких кандидатов. Простой метод - провести выборы одного кандидата параллельно для нескольких кандидатов, и каждый избиратель ставит «Да / Нет» каждому из кандидатов. Дополнительные доказательства с нулевым разглашением необходимы, если избиратель может голосовать только за одного кандидата. Другой метод заключается в изменении кодирования кандидатов: вместо использования 0 и 1 для «Нет» и «Да» при выборах с одним кандидатом закодируйте каждого кандидата уникальным номером, чтобы число для каждого кандидата могло быть однозначно вычислено. В этом случае вместо этого используется более общее доказательство с нулевым разглашением 1 из n, где n - количество кандидатов.
Выполнение
Прототип реализации OV-net был представлен Маккорри, Шахандашти и Хао на Financial Cryptography'17 в виде смарт-контракта над блокчейном Ethereum. [3] Исходный код общедоступен . Эта реализация является частью решения команды Университета Ньюкасла по теме « Удаление доверенных органов подсчета голосов: саморегулирующееся электронное голосование через Ethereum », которое было удостоено третьего места в конкурсе Economist Cybersecurity Challenge 2016, организованном совместно The Economist и « Лабораторией Касперского» .
Рекомендации
- ^ а б Хао, Ф .; Райан, ПЯ; Зелинский, П. (2010). «Анонимное голосование путем публичного обсуждения в два тура» (PDF) . Информационная безопасность ИЭПП . 4 (2): 62. DOI : 10,1049 / МТВ-ifs.2008.0127 .
- ^ Крамер, Рональд; Дженнаро, Росарио; Шенмейкерс, Берри (1997-05-11). Безопасная и оптимально эффективная схема выборов с участием нескольких органов власти . Достижения в криптологии - EUROCRYPT '97 . Конспект лекций по информатике. Шпрингер, Берлин, Гейдельберг. С. 103–118. CiteSeerX 10.1.1.43.5825 . DOI : 10.1007 / 3-540-69053-0_9 . ISBN 978-3540690535.
- ^ Патрик МакКорри, Сиамак Ф. Шахандашти и Фэн Хао (2017). «Смарт-контракт для голосования в зале заседаний с максимальной конфиденциальностью избирателя» (PDF) . Финансовая криптография, 2017 .