Открытая сеть голосования
В криптографии сеть открытого голосования (или OV-net) представляет собой безопасный многосторонний протокол вычислений для вычисления логической функции подсчета: а именно, учитывая набор двоичных значений 0/1 на входе, вычислите общее количество единиц. без раскрытия каждой отдельной ценности. Этот протокол был предложен Фэн Хао, Питером Райаном и Петром Зелиньским в 2010 году. [ 1 ] Хао и Зелински, Он расширяет сетевой протокол анонимного вето позволяя каждому участнику подсчитывать количество голосов вето (т. е. вводить один в логическую функцию ИЛИ), сохраняя при этом анонимность тех, кто проголосовал. Протокол можно обобщить для поддержки более широкого диапазона входных данных, помимо двоичных значений 0 и 1.
Описание
[ редактировать ]Все участники договариваются о группе с генератором высшего порядка в котором задача дискретного логарифмирования сложна. Например, группу Шнорра можно использовать . Предположим, есть участники. В отличие от других защищенных протоколов многосторонних вычислений , которые обычно требуют попарных секретных и аутентифицированных каналов между участниками в дополнение к аутентифицированному общедоступному каналу, OV-net требует только аутентифицированного общедоступного канала, доступного каждому участнику. Такой канал может быть реализован с использованием цифровых подписей. Протокол работает в два раунда.
1 тур : каждый участник выбирает случайное значение и публикует эфемерный открытый ключ вместе с доказательством с нулевым разглашением для доказательства знания показателя степени . Такие доказательства могут быть реализованы с использованием неинтерактивных доказательств Шнорра с нулевым разглашением, как описано в RFC 8235.
После этого раунда каждый участник подсчитывает:
2 тур : каждый участник публикует где 1 из 2 равно либо 0, либо 1 вместе с доказательством с нулевым разглашением для доказательства того, что является одним из . Такие доказательства «1 из 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 и «Лабораторией Касперского» .
Ссылки
[ редактировать ]- ^ Перейти обратно: а б Хао, Ф.; Райан, PYA; Зелински, П. (2010). «Анонимное голосование путем публичного обсуждения в два тура» (PDF) . Информационная безопасность ИЭПП . 4 (2): 62. doi : 10.1049/iet-ifs.2008.0127 .
- ^ Крамер, Рональд; Дженнаро, Росарио; Шенмейкерс, Берри (11 мая 1997 г.). «Безопасная и оптимально эффективная избирательная схема с участием нескольких органов власти». Достижения в криптологии — EUROCRYPT '97 . Конспекты лекций по информатике. Том. 1233. Шпрингер, Берлин, Гейдельберг. стр. 103–118. CiteSeerX 10.1.1.43.5825 . дои : 10.1007/3-540-69053-0_9 . ISBN 978-3540690535 .
- ^ Патрик МакКорри, Сиамак Ф. Шахандашти и Фэн Хао (2017). «Смарт-контракт для голосования в зале заседаний с максимальной конфиденциальностью избирателей» (PDF) . Финансовая криптография, 2017 .