Область техники
Изобретение относится к области систем электронного голосования.
Уровень техники
Широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.), появление доступных высокопроизводительных серверов, многократное увеличение пропускной способности компьютерных сетей и значительное снижение цены на сетевой трафик для конечных пользователей в последние годы дали мощный толчок к использованию отдельными пользователями и целыми организациями распределенных систем обработки данных, когда данные формируются на одних вычислительных устройствах, обрабатываются на других, а хранятся на третьих. Все большую и большую популярность набирают облачные сервисы, при использовании которых личные вычислительные устройства пользователей используются зачастую лишь как терминалы. Например, в качестве упомянутых облачных сервисов могут выступать онлайн-банкинг, системы бронирования номеров гостиниц, билетов на транспорт, рейтинговые системы (системы выставления оценок, например, оценок фильмов) и т.д.
К упомянутым распределенным системам обработки данных также относятся системы электронного голосования - системы, в которых пользователь может с использованием своего компьютера проголосовать за кандидата (например, на выборах) или выставить рейтинговую оценку (например, просмотренному фильму, прочитанной книге, приобретенному товару). Кроме очевидных преимуществ, которые предоставляет электронная система голосования, таких как простота голосования (необходим лишь компьютер пользователя с предустановленным специализированным программным обеспечением и доступ к компьютерной сети, например, к интернету), оперативность (пользователь может проголосовать в любой момент и в любом месте где есть доступ к компьютерной сети) и точность подсчета голосов (все голоса учитываются и хранятся централизованно, подсчет выполняется оперативно и автоматически, что исключает человеческие ошибки), системы электронного голосования способны решать задачи повышения безопасности (уменьшения нарушений на выборах, таких как принуждение избирателей к досрочному голосованию, вброс бюллетеней, подделка голосов избирателей, преднамеренные ошибки при подсчете голосов и т.д.) и достоверности результатов голосования.
Можно выделить две основные задачи, которые эффективно должна решать система электронного голосования:
• анонимизация избирателей (другими словами обеспечение тайности голосования, в результате которой на всем протяжении голосования, на всех его этапах, начиная от регистрации избирателя и до итогового подсчета голосов избирателей по завершению голосования, невозможно был бы определить за кого был отдан голос каждого избирателя);
• защита от фальсификаций при проведении голосования.
Анонимизация избирателя - технология, позволяющая скрывать на всех этапах голосования личность избирателя и выбор, делаемый избирателем.
Защита от фальсификации на выборах - технологии, позволяющие противодействовать разнообразным фальсификациям, таким как:
• подкуп, административное давление или шантаж избирателей;
• подделка голосов избирателей (например, вброс бюллетеней при голосовании с использованием бумажных носителей, замена одного голоса на другой и т.д.);
• различные виды «карусели» (методы воздействия на результат голосования, связанные с подкупом избирателя, заключающийся в передаче избирателю перед входом на избирательный участок уже заполненного избирательного бюллетеня, который избиратель должен опустить в урну для голосования, а новый, чистый бюллетень вынести и обменять у организатора «карусели» на деньги или другие материальные ценности, чистый бюллетень заполняется и отдается очередному избирателю);
• незаконное противодействие работе на избирательных участках наблюдателей за ходом голосования;
• подделка протоколов голосования (например, внесение заведомо ложных данных в окончательные результаты голосования);
• преднамеренные ошибки в подсчетах бюллетеней;
• отмена результатов голосования на тех избирательных участках, где выиграл «неправильный» кандидат или результаты, полученные на избирательном участке, могут существенно повлиять на общие результаты выборов, помешав «правильному» кандидату одержать победу;
и т.д.
К настоящему моменту существует множество технологий, используемых в системах электронного голосования, позволяющих полностью или частично решать некоторые из описанных выше проблем.
Например, в патентной публикации US 20080172333 А1 описана технология электронного голосования, при которой голос избирателя (представляющий собой данных, характеризующие выбор избирателем по меньшей мере одного из кандидатов, участвующих в голосовании) передается через ряд промежуточных серверов на сервер сбора и учета голосов. При этом на сервере голос шифруется, и без расшифровки учитывается в общей системе сбора голосов. При этом также существует возможность проверки со стороны избирателя, корректно ли учтен его голос. Хотя описанная технология позволяет справляться с обезличиванием голосов избирателей, она не справляется с раскрытием результатов голосования до завершения упомянутого голосования.
Хотя описанный выше способ работы хорошо справляется с задачами проведения электронного голосования, учета и подсчета голосов избирателей, он не удовлетворяет требованиям безопасности (уменьшения нарушений на выборах) и конфиденциальности голосов избирателей (обеспечение тайности голосования, в результате которой на всем протяжении голосования и на всех его этапах невозможно был бы определить за кого был отдан голос каждого избирателя) и не способен справиться с несанкционированной модификацией результатов электронного голосования.
Настоящее изобретение позволяет решать задачи определения количества голосов избирателей, собираемых с помощью электронного голосования, при этом обеспечивая конфиденциальность электронного голосования.
Раскрытие изобретения
Изобретение предназначено для проведения электронного голосования.
Технический результат настоящего изобретения заключается в определении количества голосов избирателей, собираемых с помощью электронного голосования.
Еще один технический результат настоящего изобретения заключается в повышении уровня конфиденциальности электронного голосования за счет шифрования каждого формируемого голоса избирателя.
Еще один технический результат настоящего изобретения заключается в снижении возможности фальсификации голосов избирателей за счет подписания каждого сформированного голоса избирателя индивидуальной цифровой подписью.
Еще один технический результат настоящего изобретения заключается в снижении возможности фальсификации результатов электронного голосования за счет обеспечения подлинности децентрализованных реестров записей, модифицированных с учетом каждого сформированного голоса избирателя.
Еще один технический результат настоящего изобретения заключается в обеспечении подлинности децентрализованных реестров записей, модифицированных с учетом каждого сформированного голоса избирателя, за счет использования своего децентрализованного реестра записей для каждого наблюдателя.
Данные результаты достигаются с помощью использования системы определения количества голосов избирателей, собираемых с помощью электронного голосования, при этом голос избирателя представляет собой выбор избирателя по меньшей мере одного из кандидатов, при этом упомянутая система включает одно вычислительное устройство организатора голосования, вычислительные устройства по меньшей мере двух наблюдателей и вычислительные устройства по меньшей мере двух избирателей и содержит: средство регистрации наблюдателей, работающее на вычислительном устройстве организатора голосования и предназначенное для: создания для каждого наблюдателя на основании полученных от наблюдателя идентификационных данных: открытого ключа, используемого для шифрования голоса избирателя, и закрытого ключа, используемого для расшифрования голоса избирателя, децентрализованного реестра записей, который будет модифицироваться с учетом сформированных голосов, получаемых наблюдателем от избирателей, передачи каждого созданного децентрализованного реестра записей на вычислительные устройства того наблюдателя, для которого упомянутый децентрализованный реестр записей был создан, передачи созданных закрытых ключей средству подсчета голосов избирателей, создания на основании созданных открытых ключей всех наблюдателей единого ключа голосования; передачи единого ключа голосования на вычислительные устройства избирателей; средство формирования голоса избирателя, работающее на вычислительном устройстве избирателя и предназначенное для: формирования голоса избирателя на основании данных о выборе избирателя, включая шифрование формируемого голоса избирателя единым ключом голосования; передачи сформированного голоса средству регистрации голосов избирателей по меньшей мере одного наблюдателя; средство регистрации голосов избирателей, работающее на вычислительном устройстве наблюдателя и предназначенное для: модификации децентрализованного реестра записей с учетом полученного голоса избирателя; передачи упомянутого децентрализованного реестра записей средству подсчета голосов избирателей после завершения голосования; средства подсчета голосов избирателей, работающее на вычислительном устройстве организатора голосования и предназначенное для: проверки подлинности децентрализованных реестров записей; расшифровывания при положительном результате упомянутой проверки децентрализованных реестров записей с помощью не менее одного закрытого ключа, созданного средством регистрации наблюдателей, данных о поданных голосах избирателей в децентрализованном реестре записей; на основании расшифрованной данных о поданных голосах избирателей вычисления количества голосов избирателей, отданных за каждого из кандидатов.
В другом частном случае реализации системы упомянутая система дополнительно содержит средство регистрации избирателей, работающее на вычислительном устройстве организатора голосования и предназначенное для: создания для каждого избирателя цифровой подписи избирателя, используемой при формировании голоса избирателя; передачи созданной цифровой подписи избирателя на компьютерное устройство избирателя.
Еще в одном частном случае реализации системы упомянутая система дополнительно содержит средство регистрации кандидатов, работающее на вычислительном устройстве организатора голосования и предназначенное для: создания для каждого кандидата идентификатора кандидата, при этом идентификатор кандидата представляет собой простое число; передачи созданных идентификаторов кандидатов на вычислительные устройства избирателей.
В другом частном случае реализации системы средство регистрации наблюдателей дополнительно предназначено для: проверки на основании закрытых ключей по меньшей мере двух наблюдателей созданного единого ключа голосования; при положительном результате упомянутой проверки передачи созданного единого ключа голосования на вычислительные устройства избирателей.
Еще в одном частном случае реализации системы в качестве данных о выборе избирателя выступает идентификатор по меньшей мере одного кандидата.
В другом частном случае реализации системы средство формирования голоса избирателя при формировании голоса избирателя дополнительно предназначено для последовательного: зашифровывания данных о выборе избирателя единым ключом голосования; подписания зашифрованных данных о выборе избирателя цифровой подписью избирателя.
Еще в одном частном случае реализации системы средство регистрации голосов избирателей дополнительно предназначено для модификации децентрализованного реестра записей с учетом сформированного голоса избирателя осуществляется после успешной проверки достоверности сформированного голоса избирателя, при этом достоверность сформированного голоса избирателя признается в случае, когда: используемая при формировании голоса избирателя цифровая подпись соответствует цифровой подписи, созданной средством регистрации избирателей, используемый при формировании голоса избирателя идентификатор кандидата соответствует созданному идентификатору кандидата;
В другом частном случае реализации системы средство регистрации голосов избирателей дополнительно предназначено для модификации децентрализованного реестра записей с учетом сформированного голоса избирателя согласно формуле Р=(Р×V)mod q, где Р - содержимое децентрализованного реестра записей, представляющее собой натуральное число, V - сформированный голос избирателя, представляющий собой натуральное число, q - заранее заданный коэффициент, ограничивающий размер содержимого децентрализованного реестра записей.
Еще в одном частном случае реализации системы средства регистрации голосов избирателей дополнительно предназначены для синхронной модификации всех децентрализованных реестров записей таким образом, чтобы в модификации децентрализованного реестра записей участвовали все сформированные голоса избирателей.
В другом частном случае реализации системы средство подсчета голосов избирателей дополнительно предназначено для проверки подлинности децентрализованных реестров записей с помощью побайтного сравнения по меньшей мере двух децентрализованных реестров записей.
Еще в одном частном случае реализации системы завершение голосования наступает после выполнения по меньшей мере одного заранее установленного организатором голосования критерия: продолжительность голосования превысило заранее установленное значение; количество голосов превысило заранее заданное значение; количество неудачных проверок достоверности сформированного голоса избирателя превысило заранее заданное значение.
Данные результаты достигаются с помощью использования способа определения количества голосов избирателей, собираемых с помощью электронного голосования, при этом голос избирателя представляет собой выбор избирателя по меньшей мере одного из кандидатов, и содержит этапы, которые реализуются с помощью средств из системы определения количества голосов избирателей, собираемых с помощью электронного голосования, и на которых: создают с помощью средства регистрации наблюдателей для каждого наблюдателя на основании полученных от наблюдателя идентификационных данных: открытый ключ, используемый для шифрования голоса избирателя, и закрытый ключ, используемый для расшифрования голоса избирателя; децентрализованный реестр записей, который будет модифицироваться с учетом сформированных голосов, получаемых наблюдателем от избирателей; создают с помощью средства регистрации наблюдателей на основании созданных на первом этапе открытых ключей всех наблюдателей единый ключ голосования; формируют с помощью средства формирования голоса избирателя для каждого избирателя голос избирателя на основании данных о выборе избирателя, включая шифрование каждого формируемого голоса избирателя единым ключом голосования; модифицируют с помощью средства регистрации голосов избирателей децентрализованный реестр записей с учетом сформированного голоса избирателя; проверяют с помощью средства подсчета голосов избирателей подлинность децентрализованных реестров записей; расшифровывают при положительном результате проверки, выполненной на предыдущем этапе с помощью средства подсчета голосов избирателей децентрализованные реестра записей с помощью не менее одного закрытого ключа, созданного на первом этапе, данных о поданных голосах избирателей в децентрализованном реестре записей; на основании расшифрованных на предыдущем этапе данных о поданных голосах вычисляют с помощью средства подсчета голосов избирателей количество голосов избирателей, отданных за каждого из кандидатов.
В другом частном случае реализации способа с помощью средства регистрации избирателей создают для каждого избирателя цифровую подпись избирателя, используемую при формировании голоса избирателя.
Еще в одном частном случае реализации способа с помощью средства регистрации кандидатов создают для каждого кандидата идентификатор кандидата, при этом идентификатор кандидата представляет собой простое число.
В другом частном случае реализации способа с помощью средства регистрации наблюдателей проверяют на основании закрытых ключей по меньшей мере двух наблюдателей созданный единый ключ голосования.
Еще в одном частном случае реализации способа в качестве данных о выборе избирателя выступает идентификатор по меньшей мере одного кандидата.
В другом частном случае реализации способа с помощью средства формирования голоса избирателя при формировании голоса избирателя последовательно: зашифровывают данных о выборе избирателя единым ключом голосования; подписывают зашифрованных данных о выборе избирателя цифровой подписью избирателя.
Еще в одном частном случае реализации способа с помощью средства регистрации голосов избирателей модифицируют децентрализованный реестр записей с учетом сформированного голоса избирателя после успешной проверки достоверности сформированного голоса избирателя, при этом достоверность сформированного голоса избирателя признается в случае, когда: используемая при формировании голоса избирателя цифровая подпись соответствует цифровой подписи, созданной средством регистрации избирателей, используемый при формировании голоса избирателя идентификатор кандидата соответствует созданному идентификатору кандидата;
В другом частном случае реализации способа с помощью средства регистрации голосов избирателей модифицируют децентрализованный реестр записей с учетом сформированного голоса избирателя согласно формуле Р=(Р×V)mod q, где Р - содержимое децентрализованного реестра записей, представляющее собой натуральное число, V - сформированный голос избирателя, представляющий собой натуральное число, q - заранее заданный коэффициент, ограничивающий размер содержимого децентрализованного реестра записей.
Еще в одном частном случае реализации способа с помощью средства регистрации голосов избирателей синхронно модифицируют все децентрализованные реестры записей таким образом, чтобы в модификации децентрализованного реестра записей участвовали все сформированные голоса избирателей.
В другом частном случае реализации способа с помощью средства подсчета голосов избирателей проверяют подлинность децентрализованных реестров записей с помощью побайтного сравнения по меньшей мере двух децентрализованных реестров записей.
Еще в одном частном случае реализации способа завершение голосования наступает после выполнения по меньшей мере одного заранее установленного организатором голосования критерия: продолжительность голосования превысило заранее установленное значение; количество голосов превысило заранее заданное значение; количество неудачных проверок достоверности сформированного голоса избирателя превысило заранее заданное значение.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы определения количества голосов избирателей, собираемых с помощью электронного голосования.
Фиг. 2 представляет структурную схему способа определения количества голосов избирателей, собираемых с помощью электронного голосования.
Фиг. 3 представляет структурную схему частного случая реализации системы подсчета голосов избирателей, собираемых с помощью электронного голосования.
Фиг. 4 представляет структурную схему частного случая реализации способа работы организатора голосования.
Фиг. 5 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использованы при описании вариантов осуществления изобретения.
Анонимизация избирателя - алгоритм обеспечения тайности голосования (сокрытие выбора избирателя), в результате которой на всем протяжении голосования, на всех его этапах, начиная от регистрации избирателя и до итогового подсчета голосов, поданных за каждого из участвующих в голосовании кандидатов, по завершению голосования, невозможно определить за кого был отдан голос избирателя;
Голосование - совокупность действий, направленная на выявление по меньшей мере одного кандидата из по меньшей мере двух кандидатов на основании данных, характеризующих выбор избирателей.
Избиратель - субъект или группа субъектов, участвующая в голосовании (в том числе с помощью вычислительных средств) посредством осуществления выбора по меньшей мере одного из зарегистрированных на упомянутом голосовании кандидатов, формировании и передачи данных, характеризующих упомянутый выбор (именуемых далее голосом избирателя) организатору голосования для последующего использования упомянутых данных при вычислении результатов проводимого голосования.
Наблюдатель - субъект или группа субъектов, осуществляющая контроль за ходом голосования (в том числе с помощью вычислительных средств) посредством проверки корректности формирования голосов избирателей и корректности использования упомянутых голосов избирателей при вычислении результатов проводимого голосования.
Организатор голосования - субъект или группа субъектов, осуществляющая управление ходом голосования (в том числе с помощью вычислительных средств) посредством установки критериев голосования, регистрации кандидатов, наблюдателей и избирателей, организации их взаимодействия друг с другом и вычисления результатов голосования.
Децентрализованный реестр записей - структура данных (например, натуральное число), сформированные по определенным правилам на основании входных данных и предыдущего состояния децентрализованного реестра записей (ранее сформированных данных). При этом все состояния децентрализованного реестра записей формируют распределенную базу данных (англ. blockchain), работа с которой осуществляется на основании транзакций упомянутых входных данных, при этом чтобы транзакция считалась достоверной («подтвержденной»), ее формат и подписи должны быть проверены, а затем записаны в специальную структуру - децентрализованный реестр записей.
Фиг. 1 представляет структурную схему системы определения количества голосов избирателей, собираемых с помощью электронного голосования.
Структурная схема системы определения количества голосов избирателей, собираемых с помощью электронного голосования, состоит из избирателя 101, кандидата 102, наблюдателя 103, организатора голосования 104, средства регистрации избирателей 111, средства регистрации кандидатов 112, средства регистрации наблюдателей 113, средства формирования голоса избирателя 120, средства регистрации голосов избирателей 130 и средства подсчета голосов избирателей 140.
В одном из вариантов реализации системы для сокрытия выбора избирателя 101, осуществленного во время проведения голосования, используются гомоморфные свойства криптосистемы Эль-Гамаля. Система базируется на сложности поиска дискретного логарифма в конечном поле вычета. При этом используются принципы доказательства с нулевым разглашением (англ. zero-knowledge proof) для сокрытия выбора избирателя 101 кандидата 102 и доказательства, что упомянутый сокрытый выбор является валидным. Таким образом:
• исключается даже теоретическая возможность осуществлять невалидный выбор;
• скрывается, какой выбор был сделан избирателем 101 на этапе сбора голосов избирателей 101;
при этом валидность выбора кандидата 102 заключается в выборе, удовлетворяющем критериям голосования, установленным организатором голосования 104 (например, выбирать может только зарегистрированный ранее избиратель 101, выбирать можно только из списка кандидатов 102, выбирать можно только одного из всех кандидатов 102 и т.д.).
Избирателем 101 является субъект, осуществляющий голосование за по меньшей мере одного из кандидатов 102 посредством передачи голоса с помощью средств, доступных избирателю 101 или предоставленных организатором голосования 104.
В одном из вариантов реализации системы избиратель 101 участвует в голосовании с использованием вычислительного устройства избирателя 101, при этом упомянутое участие в голосовании включает по меньшей мере:
• регистрацию с помощью средства регистрации избирателей 111 пользователя или группы пользователей как избирателя 101 на основании их идентификационных данных для участия в упомянутом голосовании;
• непосредственно само участие в упомянутом голосовании, заключающееся в осуществлении выбора по меньшей мере одного кандидата 102, формировании голоса избирателя 101 на основании данных об упомянутом выборе и передачи сформированного голоса избирателя 101 для последующего использования при вычислении результатов проводимого голосования;
• вычисления результатов голосования по завершению голосования.
Еще в одном из вариантов реализации системы вычислительное устройство избирателя 101 представляет собой по меньшей мере:
• персональный компьютер,
• ноутбук,
• планшет,
• мобильное устройство (например, мобильный телефон, смартфон и т.п.);
на котором работает программное обеспечение (например, стороннее приложение или браузер, осуществляющий доступ к онлайн-сервису голосования, работающему на сервере организатора голосования 104), предоставляемое организатором голосования 104 (например, скаченное и установленное с сайта организатора голосования 104).
Например, гражданин страны для участия в предстоящих выборах президента (голосование) заходит на сайт официальной избирательной комиссии, являющейся организатором голосования 104, скачивает и устанавливает на свой мобильный телефон специализированное приложение «voteApp». После этого со своего мобильного телефона с помощью приложения «voteApp» регистрируется как избиратель 101, после чего получает на свой мобильный телефон всю необходимую информацию о предстоящих выборах (включая список кандидатов 102, время проведения выборов, критерии предстоящих выборов, контакты службы поддержки и т.д.) и данные необходимые приложению «voteApp» для формирования голоса избирателя 101 (идентификатор избирателя 101, ключи шифрования и т.д.) и передачи сформированного голоса избирателя 101 для последующего использования при вычислении результатов проводимых выборов (адреса серверов, на которые можно передать сформированный голос, данные о владельцах упомянутых серверов, наблюдателях 103, владеющих или контролирующих работу упомянутых серверов и т.д.). Непосредственно во время выборов избиратель 101 со своего мобильного телефона с помощью приложения «voteApp» осуществляет выбор кандидата 102. Данные о выборе избирателя 101 (сформированные приложением «voteApp» в голос избирателя 101) передаются организатору голосования 104 (или наблюдателям 103, если такая возможность поддерживается). До окончания выборов избирателю 101 может быть предоставлена возможность повторного голосования (например, избиратель 101 может выбрать другого кандидата 102, сформировать голос, который будет использован взамен сформированного ранее при вычислении результатов проводимых выборов). По завершению выборов на мобильный телефон избирателя 101 передается информация о результатах выборов (имя победителя, распределение голосов по кандидатам 102, динамика голосования по регионам, по времени и т.д.).
Кандидатом 102 является объект или субъект, за который голосуют избиратели 101, чьи голоса используются организатором голосования 104 для вычисления результатов голосования и проверяются наблюдателями 103.
В одном из вариантов реализации системы кандидатам 102 на основании их идентификационных данных ставятся в соответствие (например, организатором голосования 104) идентификаторы (числа), при этом избиратель 101 при формировании голоса использует упомянутый идентификатор выбранного кандидата 102.
Например, если производится голосование на пост президента между Ивановым, Петровым и Сидоровым, то каждому из кандидатов 102 на пост президента может быть поставлен в соответствие свой идентификатор (Иванов: 31415, Петров: 92653, Сидоров: 58979), который будет использован впоследствии для формирования и использования голосов избирателей 101 при вычислении результатов проводимого голосования.
В одном из вариантов реализации системы регистрация кандидата 102 с помощью средства регистрации кандидатов 112 может начинаться с передачи идентификационных данных кандидата 102 избирателем 101 со своего вычислительного устройства избирателя 101.
Например, книгоиздатель, являясь организатором голосования 104, объявил голосование среди покупателей своей продукции за лучшее художественное произведение, изданное в прошедшем году. Избиратель 101 (человек, скачавший на свой планшет с сайта книгоиздателя приложение «bookVoteApp» и зарегистрировавшийся как избиратель 101) со своего планшета с помощью bookVoteApp до начала голосования передает организатору голосования 104 список названий художественных произведений, которые на взгляд избирателя 101, могут участвовать в качестве кандидатов 102 в предстоящем голосовании, при этом названия художественны произведений выступают в качестве идентификационных данных кандидатов 102. Организатор голосования 104 после получения упомянутого выше списка от избирателя 101 проводит необходимые проверки, чтобы убедиться, в том, что художественные произведения из полученного списка удовлетворяют требованиям, предъявляемым к кандидатам 102, после чего регистрирует прошедшие проверку художественные произведения в качестве кандидатов 102 в предстоящем голосовании и ставит им в соответствие идентификаторы кандидатов 102.
Наблюдателем 103 является субъект или группа субъектов, осуществляющая контроль за ходом голосования (в том числе с помощью вычислительных средств, запрограммированных для отслеживания хода голосования по заранее заданным критериям, установленным организатором голосования 104 и переданных наблюдателям 103, на основании данных, формируемых в ходе голосования) который заключается в проверке корректности формирования голосов избирателей 101 и корректности использования упомянутых голосов избирателей 101 при вычислении результатов проводимого голосования.
Например, в качестве наблюдателей 103 в голосовании по выбору президента страны могут выступать избирательные штабы каждого из кандидатов 102. Таким образом избирательный штаб может не только проверять корректность использования голосов избирателей 101, сформированных на основании выбора избирателями 101 кандидата 102 от упомянутых наблюдателей 103, но и фальсифицируемость самих выборов (т.е. корректность использование голосов избирателей 101, сформированных на основании выбора избирателями 101 всех остальных кандидатов 102).
В одном из вариантов реализации системы данные о наблюдателях 103 после регистрации с помощью средства регистрации наблюдателей 113 передаются избирателям 101, при этом в качестве данных о наблюдателях 103 могут выступать:
• список адресов серверов, обслуживаемые наблюдателями 103, на которые избиратели 101 могут передавать свои голоса;
• общая информация о наблюдателях 103 (в том числе, со стороны какого кандидата 102 они выступают) на основании которой избиратели 101 могут принять решение о выборе того или иного наблюдателя 103, которому будут поданы голоса за кандидатов 102.
Регистрация наблюдателей 103 выполняется организатором голосования 104. Основные задачи при регистрации наблюдателей 103 заключаются в:
• проверке вычислительных средств наблюдателей 103 на возможность использовать голоса избирателей 101 (включая проверку производительности, отказоустойчивости и стойкости к несанкционированному доступу);
• проверке независимости наблюдателей 103 (проверке того, что наблюдатель 103 совместно с другими наблюдателями 103 не будет оказывать слияние на ход голосования), выявление связей с другими наблюдателями 103, расчеты возможной несанкционированной деятельности по фальсифицированию результатов голосования и т.д.
Организатором голосования 104 является субъект или группа субъектов, осуществляющую управление ходом голосования (в том числе с помощью вычислительных средств, запрограммированных для проведения голосования по установленным критериям на основании заранее заданных или поступающих динамически входных данных, таких как списки избирателей 101, кандидатов 102, наблюдателей 103, ожидаемые результаты голосования (заранее вычисленные распределения голосов избирателей 101 между кандидатами 102, используемые для оценки возможности фальсификации голосования, в случае, когда вычисленные результаты текущего голосования и заранее вычисленные результаты значительно отличаются друг от друга) и т.д.) которое заключается в определении критериев голосования (например, определения начала и конца голосования), регистрации кандидатов 102, наблюдателей 103 и избирателей 101, организации их взаимодействия друг с другом, выявлении и устранения ошибок, возникающих в ходе голосования и вычисления результатов голосования.
Организатор голосования 104 может устанавливать критерии:
• регистрации избирателя 101
например, возможности избирателей 101 (или функционал вычислительных средств избирателей 101) в голосовании, проводимом организатором голосования 104, использования данных о кандидатах 102 и наблюдателях 103, включающие в себя:
список кандидатов 102, выбор которых может осуществлять избиратель 101 (при этом у разных избирателей 101 могут быть разные списки кандидатов 102);
список наблюдателей 103, которым избиратель 101 может передавать сформированный голос избирателя 101 (при этом у разных избирателей 101 могут быть разные списки наблюдателей 103);
количество кандидатов 102, которых может выбрать избиратель 101;
индивидуальное время голосования для каждого избирателя 101 или группы избирателей 101;
• регистрации кандидата 102 (например, количество кандидатов 102, участвующих в организовываемых выборах);
• регистрации наблюдателя 103 (например, минимальные требования по производительности, отказоустойчивости и стойкости к несанкционированному доступу к вычислительным средствам, предоставляемым наблюдателями 103 для учета голосов избирателей 101);
• критерии голосования и вычисления результатов голосования (например, время начала и длительность хода голосования, возможность избирателей 101 голосовать за нескольких кандидатов 102);
• правила взаимодействия избирателей 101 и наблюдателей 103 (например, выбирать серверы из списка серверов, предоставленных наблюдателями 103, на которые избиратели 101 могут отправлять свои голоса).
Например, коллектив людей собирается выбрать своего председателя. Для проведения голосования вначале выбирается организатор голосования 104, который может быть самым уважаемым, выбранным коллегиально, членом упомянутого коллектива или может быть привлечен со стороны для создания независимости выборов. Из людей, составляющих упомянутый коллектив, формируются избиратели 101 (может быть весь коллектив), кандидаты 102 (которые также могут выступать и в качестве избирателей 101) и наблюдатели 103 (например, каждый кандидат 102 и группа, поддерживающих его избирателей 101 могут сформировать наблюдательную группу 103).
Поскольку организатор голосования 104 для проведения голосования должен обладать вычислительными средствами (зависящими кроме прочего от количества и географии избирателей 101, длительности голосования, уровня защиты от несанкционированного вмешательства в ход голосования и т.д.), то зачастую в качестве наблюдателя 103 может выступать третья сторона, обладающая определенной репутацией (обладают портфолио успешно проведенных выборов, высоким уровнем доверия со стороны избирателей 101 или организатора голосования 104) и имеющая на своей стороне требуемые вычислительные средства. Например, с одной стороны для выборов президента страны в качестве организатора голосования 104 может выступать только избирательная комиссия, сформированная на основания избирательного законодательства, обладающая вычислительными средствами, предоставленными государством и т.д., с другой стороны для выборов институтского старосты в качестве организатора голосования 104 может привлекаться (как на коммерческой так и на безвозмездной основе) третья сторона (например, коммерческие и некоммерческие фирмы, государственные службы и т.д.), профильная деятельность которой заключается в организации и проведении небольших голосований (аналогично как почтовые сервисы могут быть созданы самостоятельно или могут использоваться уже существующие почтовые сервисы такие как Gmail).
Средство регистрации избирателей 111 работает на вычислительном устройстве организатора голосования 104 и предназначено для:
• создания для каждого избирателя 101 цифровой подписи избирателя 101, используемой при формировании голоса избирателя 101;
• передачи созданной цифровой подписи избирателя 101 на компьютерное устройство избирателя 101.
В одном из вариантов реализации системы создаваемая цифровая подпись изобретателя 101 представляет собой совокупность открытого и закрытого ключей, используемых в ассиметричной системе шифрования, при этом открытый ключ, который будет использоваться для проверки сформированных голосов избирателей 101, средство регистрации избирателей 111 передает на вычислительные устройства наблюдателей 103, а закрытый ключ, который будет использоваться для подписи сформированного голоса избирателя 101, средство регистрации избирателей 111 передает на вычислительное устройство избирателя 101.
Еще в одном из вариантов реализации системы для создания цифровой подписи избирателя 101 используется по меньшей мере один из следующих алгоритмов:
• схема Эль-Гамаля,
• схема Шнорра,
• вероятностная схема подписи Рабина (англ. Rabin signature algorithm),
• вероятностная схема RSA-PSS (англ. RSA Signature Scheme with Appendix-Probabilistic Signature Scheme),
• DSA, ECDSA (англ. Elliptic Curve Digital Signature Algorithm).
Еще в одном из вариантов реализации системы средство регистрации избирателей 111 осуществляет:
• сбор и сохранение данных об избирателях 101, при этом в качестве данных об избирателях 101 могут выступать контактные данные по которым можно осуществлять обмен информацией между избирателями 101, наблюдателями 103 и организатором голосования 104;
• определение прав избирателей 101, для которых ранее были получены данные, на участие в голосовании, проводимом организатором голосования 104, при этом в качестве прав избирателей 101 могут выступать право на:
изменение своего голоса в ходе голосования,
делегирование своего голоса другому избирателю 101,
регистрацию кандидата 102 с помощью средства регистрации кандидатов 112.
Еще в одном из вариантов реализации системы средство регистрации избирателей 111 по обращению пользователя, еще не зарегистрированного избирателем 101, осуществляет:
• проверку на то, может ли упомянутый пользователь быть избирателем 101 для организовываемых голосований;
• в случае успешной проверки создания для каждого пользователя идентификатора избирателя 101.
Например, избиратель 101 для участия в голосованиях, организовываемых организатором голосования 104 предварительно передает ему данные избирателя 101 (например, паспортные данные, информация о роде деятельности, образования, интересов и т.д.) для определения прав избирателя 101 и вынесения решения о том, в каких голосованиях избиратель 101 может принимать участие, которые кроме прочего включают контактные данные (например, адрес электронной почты), по которым организатор голосования может связаться с избирателем 101 для передачи ему созданной цифровой подписи избирателя 101.
Избиратели 101 могут регистрироваться следующим образом:
Например, организовывается голосование по выбору победителя в номинации «человек года» в компании «Вектор».
1) предварительно организатор голосования 104 по электронной почте извещает всех сотрудников компании «Вектор» о предстоящем голосовании и предоставляет адрес ресурса в сети Интернет, по которому все желающие участвовать в голосовании сотрудники смогут зарегистрироваться;
2) сотрудники через браузер заходят по указанному адресу, знакомятся с условиями предстоящего голосования, кандидатами 102 и дают свое согласие на участие в упомянутом голосовании;
3) после того, как сотрудник дал согласие на участие в упомянутом голосовании он автоматически регистрируется как избиратель 101, ему присваивается идентификатор и создается цифровая подпись избирателя 101, которая передается избирателю 101 (например, пересылается по электронной почте);
4) при этом, после того как сотрудник компании был зарегистрирован в качестве избирателя 101, он может участвовать также в предварительном выборе кандидатов 102 в номинации «человек года», предложив своего кандидата 102 или самого себя;
5) поскольку избиратель 101 высказал свое желание участвовать в предстоящем голосовании, он может информироваться:
• по ходу подготовки к голосованию (например, появления новых кандидатов 102) о состоянии упомянутого голосования;
• о начале голосования;
• по ходу голосования об изменении состояния хода голосования, снятия кандидатов 102 или необходимости проголосовать повторно;
• по завершении голосования о результатах голосования.
В другом случае, например, когда организовывается голосование по выбору президента страны, данные граждан уже есть у избирательной комиссии, выступающей в роли организатора голосования 104, поэтому граждане уже являются потенциальными избирателями 101, а их данные (паспортные данные, адреса проживания и т.п.) доступны избирательной комиссии 104, поэтому им сразу могут высылаться цифровые подписи избирателей 101, а также данные, описывающие предстоящие выборы президента (когда будет проводиться голосование, какие кандидаты в президенты участвуют в выборах, электронные адреса серверов, по которым можно передать сформированный голос и т.д.).
Средство регистрации кандидатов 112 работает на вычислительном устройстве организатора голосования 104 и предназначено для:
• создания для каждого кандидата 102 идентификатора кандидата 102, при этом идентификатор кандидата 102 представляет собой простое число;
• передачи созданных идентификаторов кандидатов 102 на вычислительные устройства избирателей 101.
В одном из вариантов реализации системы средство регистрации кандидатов 112 также предназначено для:
• сбора и сохранения данных об кандидатах 102,
• предоставления средству регистрации избирателей 111:
идентификаторов кандидатов 102,
собранных данных о кандидатах 102
для последующего предоставления их избирателям 101.
Еще в одном из вариантов реализации системы избиратель 101 или инициативная группа может зарегистрировать своего кандидата 102, в случае, если кандидат 102, избиратель 101 или инициативная группа удовлетворяют критериям, установленным организатором голосования 104. При этом передача необходимых данных для регистрации кандидата 102 может осуществляться с вычислительного устройства избирателя 101 с помощью специализированного программного обеспечения, предоставленного избирателю 101 организатором голосования 104.
Например, для выбора президента страны учреждается организатор голосования 104, в качестве которого выступает избирательная комиссия. Организатор голосования обрабатывает предоставленные гражданами, инициативными группами и партиями данные о претендентах в кандидаты 102. Если претендент удовлетворяет требованиям для кандидата 102, прописанным в избирательном законодательстве, если при выдвижении кандидата 102 не было зарегистрировано нарушений, то претендент утверждается кандидатом 102 на подготавливаемом голосовании. Зарегистрированному кандидату 102 присваивается идентификатор кандидата 102.
Средство регистрации наблюдателей 113 работает на вычислительном устройстве организатора голосования 104 и предназначено для:
• создания для каждого наблюдателя 103 на основании полученных от наблюдателя 103 идентификационных данных:
открытого ключа, используемого для шифрования голоса избирателя 101, и закрытого ключа, используемого для расшифрования голоса избирателя 101;
децентрализованного реестра записей, который будет модифицироваться с учетом сформированных голосов, получаемых наблюдателем 103 от избирателей 101;
• передачи созданных децентрализованных реестров записей на вычислительные устройства наблюдателей 103,
• передачи созданных закрытых ключей средству подсчета голосов избирателей 140,
• создания на основании созданных открытых ключей всех наблюдателей 103 единого ключа голосования,
• передачи единого ключа голосования на вычислительные устройства избирателей 101.
В одном из случаев реализации системы средство регистрации наблюдателей 113 дополнительно предназначено для:
• проверки на основании закрытых ключей по меньшей мере двух наблюдателей 103 созданного единого ключа голосования,
• при положительном результате упомянутой проверки передачи созданного единого ключа голосования на вычислительные устройства избирателей 101.
Еще в одном из вариантов реализации системы созданные открытый и закрытый ключи используется в:
• шифросистеме Эль-Гамаля (англ. Elgamal),
• обмене ключами Диффи-Хелмана (англ. Diffie-Hellman),
• криптосистеме Уильямса (англ. Williams System).
Еще в одном из вариантов реализации системы созданный единый ключ голосования проверяется (т.е. определяется, были ли закрытые ключи наблюдателей 103 и единый ключ голосования созданы согласно установленным правилам и на основании предоставленных наблюдателями 103 данных) на основании закрытых ключей по меньшей мере двух наблюдателей 103 и при положительном результате проверки предоставляется избирателям 101 с целью использования при последующем формировании голоса изобретателя 101.
Еще в одном из вариантов реализации системы средство регистрации наблюдателей 113 также предназначено для:
• сбора и сохранения данных об наблюдателях 103,
• передачи полученных данных другим наблюдателям 103 и организатору голосования 104 для создания равных условий при обработке голосов избирателей 101 во время голосования.
Еще в одном из вариантов реализации системы средство регистрации наблюдателей 113 для каждого наблюдателя 103 формирует открытый и закрытый ключи следующим образом:
• генерируется случайное простое число q∈Z, где Z - пространство простых чисел;
• выбирается целое число g - первообразный корень q;
• выбирается случайное целое число s=Zq такое, что 1<s<q;
• вычисляется h=gs mod q,
при этом открытым ключом является набор (q, g, h), закрытым ключом - число s или же набор (q, g, s).
Например, наблюдатель 103 для участия в голосованиях, организовываемых организатором голосования 104 предварительно передает ему:
• контактные данные (например, адреса серверов, на которых обрабатываются децентрализованные реестры записей), по которым организатор голосования 104 может передавать голоса, сформированные избирателями 101;
• свои идентификационные данные, которые будут использоваться в последствии для идентификации наблюдателя 103 в системе подсчета голосов, собираемых с помощью электронного голосования.
В одном из вариантов реализации системы создание единого ключа голосования заключается в следующем:
• каждый наблюдатель 103 Ai:
формирует полином Pi (т.е. вычисляет коэффициенты С(i,j))
где:
N - общее количество наблюдателей 103;
C(i,j) - коэффициенты полинома, в качестве которых выступают случайные числа, вычисленные наблюдателем 103 Ai;
C(i,0) _ коэффициент полинома, в качестве которого выступает закрытый ключ, вычисленный наблюдателем 103 Ai используемый в закрытой системе электронного голосования;
для каждого наблюдателя 103 Ak, k∈(0, N] вычисляет значение сформированного полинома при x=k:
Р(j,k)=Pj(k)
• все наблюдатели 103 обмениваются между собой вычисленными значениями сформированных полиномов P(j,k), таким образом каждый наблюдатель 103 Ak становится обладателем совокупности значений полиномов {Pj(k)}, j∈(0, N]
• каждый наблюдатель 103 Ak на основании своего вычисленного закрытого ключа С(i,0) и совокупности значений полинома {Pj(k)} вычисляет общий ключ голосования, представляющий собой открытый ключ, используемый в закрытой системе электронного голосования.
Средство формирования голоса избирателя 120 работает на вычислительном устройстве избирателя 101 и предназначено для:
• формирования голоса избирателя 101 на основании данных о выборе избирателя 101, включая шифрование формируемого голоса избирателя 101 единым ключом голосования;
• передачи сформированного голоса средству регистрации голосов избирателей 130 по меньшей мере одного наблюдателя 103.
В одном из вариантов реализации системы в качестве данных о выборе избирателя 101 выступает идентификатор по меньшей мере одного кандидата 102.
Еще в одном из вариантов реализации системы средство формирования голоса избирателя 120 при формировании голоса избирателя 101 дополнительно предназначено для последовательного:
• зашифровывания данных о выборе избирателя 101 единым ключом голосования,
• подписания зашифрованных данных о выборе избирателя 101 цифровой подписью избирателя 101.
Еще в одном из вариантов реализации системы для шифрования идентификатора кандидата 102 используют:
• схему Эль-Гамаля,
• криптосистему Меркла-Хеллмана,
• криптосистему Рабина.
Еще в одном из вариантов реализации системы перед формированием голоса избирателя 101 определяется (например, запрашивается у организатора голосования 104) будет ли в последствии учтен сформированный голос избирателя 101 при подсчете голосов избирателей 101, например:
• сформированный голос избирателя 101 не будет учтен, если текущее голосование для избирателя 101 является повторным, а избиратель 101 не имеет право на повторное голосование;
• сформированный голос избирателя 101 не будет учтен, избиратель 101 выбрал несуществующего кандидата 102.
Еще в одном из вариантов реализации системы формирование голоса избирателя 101 осуществляется следующим образом:
Необходимо зашифровать данные М, описывающие выбор избирателя 101. С этой целью:
• определяют М - идентификатор кандидата 102, выбранного избирателем 101, и представляющий простое число, при этом М<р (где q - случайное простое число, выбранное организатором голосования 104);
• выбирают сессионный ключ - случайное целое число α, такое, что 1<α<q-1;
• вычисляют числа x=gα mod q, y=hαM mod q (где g - первообразный корень q);
• полученный набор (x, y) является сформированным голосом избирателя 101, при этом длина сформированного голоса в схеме Эль-Гамаля длиннее идентификатора кандидата 102 М вдвое.
Еще в одном из вариантов реализации системы после того как голос избирателя 101 был сформирован, он передается для последующего учета средству регистрации голосов избирателей 130, работающему на одном из серверов, обслуживаемых наблюдателями 103 или организатором голосования 104. При этом выбор сервера осуществляется:
• самим избирателем 101 (например, избиратель 101 может выбрать сервер наблюдателя 103, которому доверяет, например, наблюдателю 103 от кандидата 102, за которого голосует избиратель 101),
• автоматически, средством формирования голоса избирателя 120 (например, менее загруженный сервер или сервер с самым быстрым ответом).
Еще в одном из вариантов реализации системы средство формирования голоса избирателя 120 может передать сформированный голос избирателя 101 всем доступным средствам регистрации голосов избирателей 130, при этом сами средства регистрации голосов избирателей 130 могут предоставлять средству формирования голоса избирателя 120 список серверов, на который можно передать сформированный голос избирателя 101.
Например, избирателю 101 (т.е. средству формирования голоса избирателя 120 работающему на вычислительном устройстве избирателя 101) изначально доступен лишь один сервер, адрес которого заранее задан в программном обеспечении, установленном на вычислительной системе избирателя 101 и предназначенного для электронного голосования - сервер организатора голосования 104, но при этом в организации голосования участвует еще 10 наблюдателей 103, каждому из которых доступен по меньшей мере адрес сервера одного из наблюдателей 103, также, как и организатор голосования 104, а все вместе организатор голосования 104 и всем наблюдателям 103 доступны адреса всех серверов. Когда средство формирования голоса избирателя 120 передает сформированный голос избирателя 101 организатору голосования 104, он в свою очередь передает средству формирования голоса избирателя 120 известные организатору голосования 104 адреса серверов наблюдателей 103, на которые средство формирования голоса избирателя 120 также должно передать сформированный голос избирателя 101. При передаче сформированного голоса избирателя 101 на упомянутые серверы наблюдателей 103 средство формирования голоса избирателя 120 также, как и ранее получает от них список известных упомянутым наблюдателям 103 адресов серверов, на которые также надо передать сформированный голос избирателя 101. Так повторяется до тех пор, пока средство формирования голоса избирателя 120 не передаст сформированный голос избирателя 101 на все известные серверы наблюдателей 103.
Еще в одном примере, после начала голосования избиратель 101 получает возможность с помощью своего устройства избирателя 101 выбрать одного из кандидатов 102. После подтверждения выбора определяется идентификатор выбранного кандидата 102 и зашифровывается единым ключом голосования, полученным избирателем 101 на свое устройство избирателя 101 от организатора голосования 104 перед началом голосования. Зашифрованный идентификатор кандидата 102 подписывается цифровой подписью избирателя 101, полученной от организатора голосования после регистрации упомянутого избирателя 101. Полученные данные представляют собой сформированный голос, который передается средству регистрации голосов избирателей 130.
Средство регистрации голосов избирателей 130 работает на вычислительном устройстве наблюдателя 103 и предназначено для:
• модификации децентрализованного реестра записей с учетом полученного голоса избирателя 101, при этом модификация выполняется согласно правилу:
P=(P×V)mod q
где
Р - содержимое децентрализованного реестра записей, представляющее собой натуральное число,
V - сформированный голос избирателя, представляющий собой натуральное число,
q - заранее заданный коэффициент, ограничивающий размер содержимого децентрализованного реестра записей.
• передачи упомянутого децентрализованного реестра записей средству подсчета голосов избирателей 140 после завершения голосования;
В одном из вариантов реализации системы средство регистрации голосов избирателей 130 дополнительно предназначено для модификации децентрализованного реестра записей с учетом сформированного голоса избирателя 101 осуществляется после успешной проверки достоверности сформированного голоса избирателя 101, при этом достоверность сформированного голоса избирателя 101 признается в случае, когда:
• используемая при формировании голоса избирателя 101 цифровая подпись соответствует цифровой подписи, созданной средством регистрации избирателей 111,
• используемый при формировании голоса избирателя 101 идентификатор кандидата 102 соответствует созданному идентификатору кандидата 102;
Еще в одном из вариантов реализации системы средства регистрации голосов избирателей 130 дополнительно предназначены для синхронной модификации всех децентрализованных реестров записей таким образом, чтобы в модификации децентрализованного реестра записей участвовали все сформированные голоса избирателей 101.
Еще в одном из вариантов реализации системы достоверность сформированного голоса избирателя 101 признается в случае, когда:
• используемая при формировании голоса избирателя 101 цифровая подпись соответствует цифровой подписи, созданной средством регистрации наблюдателей 111;
• используемый при формировании голоса избирателя 101 идентификатор кандидата 102 соответствует идентификатору кандидата 102, созданного средством регистрации избирателей 111.
Еще в одном из вариантов реализации системы достоверность сформированного голоса избирателя 101 проверяется описанным ниже образом.
Для того, чтобы на стороне наблюдателя 103 можно было выполнить проверку сформированного избирателем 101 голоса, необходимо, чтобы выполнялось условие:
loggx=logh(y×d),
…
loggx=logh(y×Gk),
где
νk∈Zf - возможные варианты в голосовании (всего k вариантов), при этом вариант голосования представляет собой идентификатор кандидата 102 (таким образом в голосовании участвует всего k кандидатов 102),
Gk из Zf - мультипликативные обратные для каждого простого числа νk, такие, что:
1) на стороне избирателя 101 формируется голос:
(1.1) выбираются сессионный ключ шифрования α, случайное число ω, а также набор случайных чисел r[k] и d[k]
(1.2) формируется голос избирателя 101
vote=((x, y), (a, b, d, r, m)1 … (a, b, d, r, m)n),
представляющее собой совокупность чисел (другими словами вектор размером 2+4×n),
таким образом, что:
x=gα
y=hαM
(1.3) ив цикле формируется каждый элемент vote следующим образом:
• если k-ый элемент равен выбору избирателя 101, то
a k=gwmod q
bk=hwmod q
c=hash(vote0)
где vote0 - вектор формируемых голосов без учета d, r, m
rk=w-αdk
mk=Gk
где mk - элемент vote
• в противном случае (если k-ый элемент не равен выбору избирателя 101)
mk=Gk
где mk - элемент vote
2) на стороне наблюдателя 103 осуществляется проверка полученного от избирателя 101 сформированного голоса избирателя 101, при этом проверка заключается в проверки выполнения следующих тождеств:
(1.1) для всех k
Еще в одном из вариантов реализации системы модификация децентрализованного реестра записей с учетом сформированного голоса избирателя 101 вычисляется согласно формуле:
• при этом модификация выполняется согласно правилу:
P=(P×V)mod q
где
Р - содержимое децентрализованного реестра записей, представляющее собой натуральное число,
V - сформированный голос избирателя, представляющий собой натуральное число,
q - заранее заданный коэффициент, ограничивающий размер содержимого децентрализованного реестра записей.
Еще в одном из вариантов реализации системы формируют по меньшей мере два децентрализованных реестра записей, при этом после синхронно модифицируют все децентрализованные реестры записей, таким образом, чтобы в модификации децентрализованных реестров записей все сформированные голоса избирателей 101.
Еще в одном из вариантов реализации системы средство регистрации голосов избирателей 130 может работать на устройстве организатора голосования 104. В этом случае организатор голосования 104 является также и наблюдателем 103 и при этом для избирателя 101, средства формирования голоса избирателя 101, а также других наблюдателей 103 организатор голосования 104 будет по функционалу формально идентичен наблюдателям 103.
Еще в одном из вариантов реализации системы после получения сформированного голоса избирателя 101 средство регистрации голосов избирателей 130, работающее на устройстве одного наблюдателя 103 может передать полученный сформированный голос избирателя 101 средству регистрации голосов избирателей 130, работающему на устройстве другого наблюдателя 103, при этом сами средства регистрации голосов избирателей 130 могут предоставлять средству формирования голоса избирателя 120 список серверов, на которые можно передать сформированный голос избирателя 101.
Например, в проведении голосовании участвует 10 наблюдателей 103, при этом каждый наблюдатель 103 (т.е. средство регистрации голосов избирателей 130, работающее на вычислительном устройстве наблюдателя 103) знает по меньшей мере адрес сервера еще одного наблюдателя 103, а все вместе наблюдатели 103 знают адреса всех серверов всех наблюдателей 103, на которых работают все средства регистрации голосов избирателей 130. Когда средство регистрации голосов избирателей 130 получает сформированный голос избирателя 101 от средства формирования голоса избирателя 120, оно в свою очередь передает полученный сформированный голос избирателя 101 другим средствам регистрации голосов избирателей 130 на серверы по известным адресам. При передаче сформированного голоса избирателя 101 на упомянутые серверы наблюдателей 103, средство регистрации голосов избирателей 130 получает от них список известных упомянутым наблюдателям 103 адресов серверов, на которые также надо передать сформированный голос избирателя 101. Так повторяется до тех пор, пока средство регистрации голосов избирателей 130 не передаст сформированный голос избирателя 101 на все известные серверы наблюдателей 103.
Средства подсчета голосов избирателей 140 работает на вычислительном устройстве организатора голосования 104 и предназначено для:
• проверки подлинности децентрализованных реестров записей;
• расшифровывания при положительном результате упомянутой проверки децентрализованных реестров записей с помощью не менее одного закрытого ключа, созданного ранее средством регистрации наблюдателей 111, данных о поданных голосах избирателей 101 в децентрализованном реестре записей;
• на основании расшифрованной данных о поданных голосах избирателей 101 вычисления количества голосов избирателей 101, отданных за каждого из кандидатов 102.
В одном из вариантов реализации системы средство подсчета голосов избирателей 140 дополнительно предназначено для проверки подлинности децентрализованных реестров записей с помощью побайтного сравнения по меньшей мере двух децентрализованных реестров записей.
В одном из вариантов реализации системы завершение голосования наступает после выполнения по меньшей мере одного заранее установленного организатором голосования 104 критерия:
• продолжительность голосования превысило заранее установленное значение;
• количество голосов превысило заранее заданное значение;
• количество неудачных проверок достоверности сформированного голоса избирателя 101 превысило заранее заданное значение.
Еще в одном из вариантов реализации системы вычисление количества голосов в случае использовании в шифровании криптосистемы Эль-Гамаля для вычисления (факторизации) количества голосов избирателей 101 используется алгоритм Шенкса.
Рассмотрим работу системы подсчета голосов, собранных с использованием системы электронного голосования, на примере проведения президентских выборов в стране X. Для решения организационных вопрос, а также обеспечения подготовки и проведения упомянутых выборов была создана избирательная комиссия.
В президентских выборах участвуют три кандидата, представляющие 3 из 5 политических партий страны, в избирательные списки избирательной комиссией было внесено 15000000 избирателей (представляющие собой все население страны, имеющее право голоса), а для наблюдения за заходом голосования в избирательной комиссии зарегистрировалось 5 наблюдателей 103 (по одному от каждой политической партии). Избирательной комиссией был установлен срок проведения выборов (01.01.2017 10:00 - 02.01.2017 20:00), в течение которого избиратели 101 могут проголосовать за одного из трех участвующих в выборах кандидатов, а по истечении которого будет проведен подсчет голосов, отданных за каждого кандидата и определен победитель президентских выборов.
Электронные выборы состоят из трех основных этапов:
• подготовка к началу голосования;
• непосредственно само голосование, т.е. сбор и учет голосов избирателей 101;
• подведение итогов голосования;
1: Подготовка к началу голосования
До начала голосования (до установленного избирательной комиссией времени 01.01.2017 10:00) производится:
• регистрация кандидатов 102, во время которой создаются данные, которые будут использоваться избирателями 101 во время проведения голосования для формирования голосов избирателей 101;
• регистрация наблюдателей 103, во время которой создаются данные, которые будут использоваться во время проведения голосования для сбора и учета голосов избирателей 101;
• регистрация избирателей 101, во время которой избирателям 101 из избирательных списков предоставляется информация о кандидатах 102 и наблюдателях 103, которая будет использоваться избирателями 101 во время проведения голосования для формирования и передачи голосов избирателей 101.
1.1: Регистрация кандидатов
Для каждого из участвующих в выборах кандидата 102 избирательной комиссией создается свой идентификатор кандидата 102, представляющий собой натуральное число:
кандидат #1 → 31,
кандидат #2 → 83,
кандидат #3 → 101.
Идентификатор кандидата 102 создается путем случайного выбора числа в заранее заданном диапазоне значений [2, 127]. При этом верхняя граница диапазона значений (q=127, называемая основанием криптосистемы) выбирается заранее из соображений математической целесообразности (т.е. выбирается такое значение, для которого при известном количестве кандидатов 102 и избирателей 101 гарантировано вычисление однозначного результата после подсчета голосов избирателей 101) и используется в математических расчетах, выполняемых в ходе голосования.
1.2: Регистрация наблюдателей
В качестве одного из наблюдателей 103 выступает избирательная комиссия.
Предварительно избирательная комиссия 104 устанавливает, что для расшифровки собранных в процессе голосования голосов избирателей 101 необходимо минимум 3 наблюдателя 103 из 5. Данные значения выбираются из статистики проведения предыдущих голосований, идентификационных данных наблюдателей 103 и т.д. с таким расчетом, чтобы можно было завершить голосование (т.е. вычислить результаты голосования), даже при условии, что некоторые наблюдатели 103 могут совершить ошибки при учете голосов избирателей 101, например, в описанном выше примере 2 из 5 наблюдателей могут совершить ошибки при учете голосов избирателей 101 (например, фальсифицировать голоса избирателей 101), если было бы выбрано большее количество наблюдателей (например 3 или 4), которые могут совершить ошибки, то голосование может быть сфальсифицировано (большинство наблюдателей могут по договоренности сфальсифицировать голосование).
Каждый зарегистрированный наблюдатель 103:
• предварительно создает открытый и закрытый ключи, используемые в ассиметричной системе шифрования;
• передает в избирательную комиссию свои индивидуальные характеристики наблюдателя 103, такие как:
адрес своего сервера, который будет использоваться во время проведения электронного голосования для обмена данными с другими наблюдателями 103 и избирателями 101 (например, election-monitor.com: 1200),
созданный открытый ключ;
• получает от избирательной комиссии или любого зарегистрированного наблюдателя 103 индивидуальные характеристики других зарегистрированных наблюдателей 103, а также свой идентификатор наблюдателя 103 (в качестве которого может выступать, например, порядковый номер, под которым наблюдатель 103 регистрируется избирательной комиссией или любое другое натуральное число, выбранное избирательной комиссией 104 случайным образом). Таким образом, после завершения регистрации наблюдателей 103, каждый наблюдатель 103 имеет индивидуальные характеристики как минимум еще одного наблюдателя 103, а все наблюдатели 103 в совокупности имеют индивидуальные характеристики всех зарегистрированных наблюдателей 103, тем самым становится возможным осуществлять обмен данными между наблюдателями 103 таким образом, чтобы данные, переданные от одного наблюдателя 103 другому, через последовательную передачу от наблюдателя 103 к наблюдателю 103 оказывались у всех зарегистрированных наблюдателей 103;
• формирует полином
где:
P(x) - сформированный полином, при этом степень полинома соответствует выбранному избирательной комиссией количеству наблюдателей 103, необходимых для расшифровки собранных в процессе голосования голосов избирателей 101 (для текущего примера - 5),
С0 - созданный закрытый ключ, представляющий собой натуральное число;
Ci - коэффициенты полинома, представляющие собой целые числа, при этом числа выбирают таким образом, чтобы выполнялось условие:
где:
q - заранее заданное основание криптосистемы, представляющее собой простое число, например, q∈Мр, где Мр - число Мерсенна (простое число вида 2n-1) (для текущего примера q=127);
{xi} - совокупность идентификаторов всех зарегистрированных наблюдателей 103;
например,
, при этом Ci представляет собой совокупность из 4 чисел, поскольку в голосовании участвует 5 наблюдателей, для 4 из которых пятый (i) рассчитываем Ci;
• для каждого из 5 наблюдателей 103 (включая себя) вычисляет значение сформированного полинома P(x) в точке x∈{xi} и передает вычисленные значения соответствующим наблюдателям 103. Таким образом, после завершения регистрации наблюдателей 103, каждый наблюдатель 103 имеет 5 значений от полиномов, созданных наблюдателями 103;
• на основании значений полинома, вычисленных для всех наблюдателей 103, средство регистрации наблюдателей 113 вычисляет закрытый ключ и передает всем наблюдателям 103
• с помощью всех 5 доступных открытых ключей создает единый ключ голосования:
где:
g - заранее заданный первообразный корень;
S0(i) - созданный наблюдателем 103 i открытый ключ, представляющий собой натуральное число;
q - заранее заданное основание криптосистемы;
• в завершении на основании полученных ранее Sc, от других значений полиномов {Р(x)} проверяют созданный открытый ключ Н на корректность, т.е. что полученным единым открытым ключом возможно впоследствии будет расшифровывать собранные голоса избирателей 101.
1.3: Регистрация избирателя
Каждый избиратель 101, который собирается голосовать в предстоящих выборах, с помощью специализированного ПО соединяется с онлайн-сервисом избирательной комиссии и/или любого наблюдателя 103, которому доверяет (например, члены партии Y используют онлайн-сервис наблюдателя 103 от своей партии Y). От онлайн-сервиса избирателю 101 передаются данные, содержащие:
• информацию о кандидатах 102, включая их идентификаторы кандидата 102;
• созданный (вычисленный) единый ключ голосования H;
• характеристики голосования, включая сроки проведения голосования.
2: Голосование
С наступлением установленного избирательной комиссией времени начала голосования избиратели 101 имеют возможность формировать голоса избирателей 101 и передавать их наблюдателям 103, а наблюдатели 103 имеют возможность учитывать голоса избирателей 101 и обмениваться ими.
Во время голосования производится:
• формирование голосов избирателей 101,
• проверка сформированных голосов избирателей 101,
• учет проверенных голосов избирателей 101.
2.1: Формирование голоса избирателя
Избиратель 101, используя ПО, работающее на его вычислительном устройстве (персональный компьютер, смартфон и т.д.), выбирает кандидата 102, за которого хочет отдать свой голос. После того, как выбор выполнен, формируется голос избирателя 101, с этой целью:
• зашифровывают идентификатор кандидата 102, соответствующий выбранному кандидату 102, единым ключом голосования H, полученным от одного из наблюдателей 103 на этапе регистрации избирателя 101, при этом выбор пользователем 101 идентификатора кандидата 102 для формирования голоса избирателя 101 является отдачей своего голоса избирателя 101 выбранному кандидату 102;
• подписывают зашифрованный идентификатор кандидата 102 цифровой подписью избирателя 101;
• передают голос в онлайн-сервис выбранного наблюдателя 103.
2.2: Проверка сформированного голоса избирателя
После того, как один из наблюдателей 103 получает сформированный на этапе 2.1 голос избирателя 101, он осуществляет проверку полученного голоса на то
• принадлежит ли голос избирателю 101, имеющему право на участие в упомянутых выборах;
• голосовал ли указанный избиратель 101 ранее на упомянутых выборах;
• отдан ли голос за кандидата 102, участвующего в упомянутых выборах.
2.3 учет проверенных голосов избирателей:
После всех проверок, выполненных на этапах 2.1 и 2.2, сформированный голос изобретателя учитывается каждым наблюдателем 103, с этой целью средство регистрации голосов избирателей 130 модифицирует децентрализованные реестры записей с учетом сформированных голосов избирателей 101, таким образом децентрализованный реестр записей начинает содержать в себе сформированные голоса избирателей 101. При этом сама модификация децентрализованных реестров записей производится таким образом, чтобы учитывалась и не терялась информация о том, за какого кандидата 102 был отдан голос, но при этом полностью терялась информация о том, кто именно отдал голос того или иного кандидата 102. В частом случае реализации системы это может быть представлено в виде:
Pi=(Pi-1×Vi)mod q
где
Pi - содержимое децентрализованного реестра записей после i-ой модификации,
Vi - сформированный голос i-ого избирателя 101,
q - заранее заданный коэффициент, ограничивающий размер содержимого децентрализованного реестра записей.
Другими словами, окончательно (после завершения хода голосования) децентрализованный реестр записей будет иметь вид:
где
Р0 - изначальное содержимое децентрализованного реестра записей до внесения модификаций с учетом сформированных голосов избирателей 101,
Vi - сформированный голос i-ого избирателя 101,
n - количество сформированных голосов избирателей 101 (по сути, количество проголосовавших избирателей 101),
q - заранее заданный коэффициент, ограничивающий размер содержимого децентрализованного реестра записей.
3: Подведение итого голосования:
По истечении срока, отведенного для голосования (или в случае, когда все потенциальные избиратели 101 успешно проголосовали) избирательной комиссией, сбор голосов от избирателей 101 прекращается и запускается процедура проверки голосов избирателей 101 и определения окончательных результатов голосования.
Во время подведения итогов голосования производится:
• проверка корректности собранных голосов избирателей 101 для каждого наблюдателя 103,
• определение количества собранных голосов для каждого кандидата 102.
3.1: Проверка корректности собранных голосов избирателей для каждого наблюдателя:
На этом этапе определяют, корректно ли собирались голоса у разных наблюдателей 103. С этой целью сравнивают между собой накопленные каждым наблюдателем 103 данные, содержащие зашифрованные голоса избирателей 101. В идеальной ситуации упомянутые данные должны совпадать, если этого не происходит, значит какой-то наблюдатель 103 некорректно обрабатывал поступающие ему сформированные голоса наблюдателей 103 (например, не учитывал некоторые голоса или производил подмену голосов). Данные такого наблюдателя 103 игнорируются при последующем подсчете голосов. Если таких наблюдателей 103 большинство - выборы считаются несостоявшимися, а голоса избирателей 101 не учитываются вовсе.
3.2: Определение количества собранных голосов для каждого кандидата:
На этом этапе, когда уже известно, что выборы прошли успешно, из данных, полученным одним из наблюдателей 103 (любого из наблюдателей 103, поскольку данные у них совпадают), извлекают обезличенные голоса избирателей 101 в виде:
где:
Vk - количество голосов, отданных за k-ого кандидата,
при этом непосредственно голоса конкретных избирателей 101 νi из данных, накопленных наблюдателем 103 в ходе голосования, получены быть не могут, поскольку данная информация в ходе накопления данных была утеряна. Таким образом осуществляется закрытая (тайная) система электронного голосования.
Фиг. 2 представляет пример структурной схемы способа определения количества голосов избирателей, собираемых с помощью электронного голосования.
Структурная схема способа определения количества голосов избирателей, собираемых с помощью электронного голосования, состоит из следующих этапов: этапа 210, на котором создают ключи, этапа 220, на котором создают единый ключ голосования, этапа 230, на котором формируют голос избирателя, этапа 240, на котором модифицируют децентрализованный реестр записей, этапа 250, на котором проверяют подлинность децентрализованных реестров записей, этапа 260, на котором расшифровывают данные о поданных голосах избирателей, этапа 270, на котором вычисляют количество голосов избирателей.
На этапе 210 создают с помощью средства регистрации наблюдателей 113 для каждого наблюдателя 103 на основании полученных от наблюдателя 103 идентификационных данных:
• открытый ключ, используемый для шифрования голоса избирателя 101, и закрытый ключ, используемый для расшифрования голоса избирателя 101;
• децентрализованный реестр записей, который будет модифицироваться с учетом сформированных голосов, получаемых наблюдателем 103 от избирателей 101;
На этапе 220 создают с помощью средства регистрации наблюдателей 113 на основании созданных на этапе 210 открытых ключей всех наблюдателей 103 единый ключ голосования.
На этапе 230 формируют с помощью средства формирования голоса избирателя 120 для каждого избирателя 101 голос избирателя 101 на основании данных о выборе избирателя 101, включая шифрование каждого формируемого голоса избирателя 101 единым ключом голосования.
На этапе 240 модифицируют с помощью средства регистрации голосов избирателей 130 децентрализованный реестр записей с учетом сформированного голоса избирателя 101.
На этапе 250 проверяют с помощью средства подсчета голосов избирателей 140 подлинность децентрализованных реестров записей.
На этапе 260 расшифровывают при положительном результате проверки, выполненной на этапе 250 с помощью средства подсчета голосов избирателей 140 децентрализованные реестра записей с помощью не менее одного закрытого ключа, созданного на этапе 210, данных о поданных голосах избирателей 101 в децентрализованном реестре записей;
На этапе 270 на основании расшифрованных на этапе 260 данных о поданных голосах вычисляют с помощью средства подсчета голосов избирателей 140 количество голосов избирателей 101, отданных за каждого из кандидатов 102.
Фиг. 3 представляет структурную схему частного случая реализации системы подсчета голосов избирателей, собираемых с помощью электронного голосования.
Структурная схема связей данных со средствами системы определения количества голосов избирателей, собираемых с помощью электронного голосования, состоит из вычислительного устройства избирателя 301, содержащего средство инициализации избирателя 311 и средство формирования голоса избирателя 120, вычислительного устройства наблюдателя 303, содержащего средство инициализации наблюдателя 313, средство регистрации голосов избирателей 130 и средство расшифровки голосов избирателей 340, вычислительного устройства организатора голосования 304, содержащего средство регистрации наблюдателей 113, средство регистрации избирателей 111, средство регистрации кандидатов 112, средство подсчета голосов избирателей 140.
В одном из вариантов реализации системы используется пороговая криптосистема (n, k), особенность которой заключается в том, что для расшифрования голоса изобретателя 101, зашифрованного с использованием открытых ключей n наблюдателей 103, достаточно использования закрытых ключей по меньшей мере k наблюдателей 103, т.е.
n>1,
1≤k<n,
где:
n - полное количество наблюдателей 103,
k - минимальное количество наблюдателей 103,
необходимое для расшифровки голосов избирателей 101;
Средство инициализации избирателя 311, работающее на вычислительном устройстве избирателя 301, и средство регистрации избирателя 111, работающее на вычислительном устройстве организатора голосования 304, представляют собой клиент-серверную архитектуру, предназначенную для регистрации избирателя 101 в системе определения количества голосов избирателей 101, собираемых с помощью электронного голосования. При регистрации избирателя 101 выполняются следующие этапы:
• пользователь, собирающийся участвовать в качестве избирателя 101 в голосовании, объявленном организатором выборов 104, передает свои идентификационные данные со своего вычислительного устройства избирателя 301 средству регистрации избирателей 111;
• средство регистрации избирателей 111 на основании полученных идентификационных данных выполняет верификацию пользователя и, в случае успешного выполнения упомянутой верификации, передает запрос средству инициализации избирателя 311 на завершение инициализации избирателя 101;
• средство инициализации избирателя 311 создает открытый и закрытый ключи шифрования, открытый ключ передает средству регистрации избирателей 111, а закрытый ключ сохраняет на вычислительном устройстве избирателя 301 для использования в качестве цифровой подписи при формировании голоса избирателя 101 в процессе голосования.
После того, как средство инициализации избирателя 311 создало ключи шифрования и передало открытый ключ средству регистрации избирателей 111, пользователь считается зарегистрированным избирателем 101. В дальнейшем в процессе голосования закрытый ключ будет использоваться в качестве идентификатора избирателя 101, т.е. в качестве данных, которые однозначно определяют пользователя во время голосования, организованного организатором голосования 104.
В одном из вариантов реализации системы верификация пользователя состоит из определения на основании идентификационных данных пользователя права пользователя участвовать в качестве избирателя 101 в голосовании, объявленном организатором выборов 104,
Например, организатору голосования 104 еще до организации самого голосования уже доступен список пользователей, которые могут быть зарегистрированы в качестве избирателей 101 (в случае выборов президента, у избирательной комиссии, выполняющей функции организатора голосования 104, есть идентификационные данные граждан, такие как номера документов, удостоверяющих личность, по которым избирательная комиссия может верифицировать граждан, пришедших на избирательные участки или голосующих удаленно).
Еще в одном из вариантов реализации системы верификация пользователя состоит из определения на основании идентификационных данных пользователя, описывающих в том числе вычислительное устройство избирателя 301, отсутствие избирателей 101, верифицированных ранее на основании схожих идентификационных данных,
Упомянутое действие направлено на то, чтобы избежать ситуации, когда один и тот же пользователь может зарегистрироваться с разных вычислительных устройств избирателей 301 в качестве разных избирателей 101 (например, один и тот же пользователь, попытавшийся зарегистрироваться в качестве избирателя 101 с разных вычислительных устройств избирателя 301, будет определен как один и тот же пользователь, в результате чего он будет зарегистрирован в качестве избирателя 101 только один раз на первом вычислительном устройстве пользователя 301, а при попытке зарегистрироваться со второго вычислительного устройства пользователя 301 получит от организатора голосования 104 отказ в регистрации).
Еще в одном из вариантов реализации системы верификация пользователя состоит из определения на основании идентификационных данных пользователя технической возможности участвовать с использованием вычислительного устройства пользователя 301 в качестве избирателя 101 в голосовании, объявленном организатором выборов 104;
Упомянутое действие направлено на то, чтобы определить:
достаточно ли вычислительных ресурсов у вычислительного устройства избирателя 301 для формирования голоса избирателя 101 в процессе голосования (например, достаточно ли производительности, оперативной памяти и т.д.),
удовлетворяет ли вычислительное устройство избирателя 301 требованиям информационной безопасности (например, работает ли на упомянутом вычислительном устройстве антивирусное программное обеспечение, что гарантирует отсутствие вредоносных приложений на вычислительном устройстве избирателя 301),
достаточно ли сетевых ресурсов для получения данных от вычислительного устройства организатора голосования 304 и передачи данных вычислительному устройству наблюдателя 303 (например, достаточна ли пропускная способность и стабильность сетевого канала до вычислительных устройств организатора голосования 304 и наблюдателей 303);
и таким образом определить, способен ли избиратель 101, используя доступные вычислительные средства, участвовать в голосовании, организованном организатором выборов 104.
Средство инициализации наблюдателя 313, работающее на вычислительном устройстве наблюдателя 303, и средство регистрации наблюдателей 113, работающее на вычислительном устройстве организатора голосования 304, представляют собой клиент-серверное архитектуру, предназначенную для регистрации наблюдателя 103 в системе определения количества голосов избирателей 101, собираемых с помощью электронного голосования. При регистрации наблюдателя 103 выполняются следующие этапы:
• пользователь, собирающийся участвовать в качестве наблюдателя 103 в голосовании, объявленном организатором выборов 104, передает свои идентификационные данные со своего вычислительного устройства наблюдателя 303 средству регистрации наблюдателей 113;
• средство регистрации наблюдателей 113 на основании полученных идентификационных данных наблюдателя 103 выполняет верификацию пользователя и в случае успешного выполнения упомянутой верификации передает запрос средству инициализации наблюдателя 313 на завершение инициализации наблюдателя 103;
• средство инициализации наблюдателя 313 создает открытый и закрытый ключи, открытый ключ передает средству регистрации наблюдателей 113, а закрытый ключ сохраняет на вычислительном устройстве наблюдателя 303 для использования при расшифровки сформированных голосов избирателей 101, которые будут получены наблюдателем 103 от избирателей 101 в процессе голосования;
• средство регистрации наблюдателей 113 проверяет корректность созданных упомянутым пользователем открытого и закрытого ключа и в случае успешной проверки пользователь становится зарегистрированным наблюдателем 103.
В одном из вариантов реализации системы верификация пользователя состоит из определения на основании идентификационных данных пользователя права пользователя участвовать в качестве наблюдателя 103 в голосовании, объявленном организатором выборов 104,
Например, организатору голосования 104 еще до организации самого голосования уже доступен список пользователей, которые могут быть зарегистрированы в качестве наблюдателей 103 (в случае выборов президента, у избирательной комиссии, выполняющей функции организатора голосования 104, есть идентификационные данные граждан, такие как номера документов, удостоверяющих личность, по которым избирательная комиссия может верифицировать пользователей, участвующих в голосовании в качестве наблюдателей 103, имеющих доступ к полученным голосам избирателей).
Еще в одном из вариантов реализации системы верификация пользователя состоит из определения на основании идентификационных данных пользователя, описывающих в том числе вычислительное устройство наблюдателя 303, отсутствие наблюдателей 103, верифицированных ранее на основании схожих идентификационных данных,
Упомянутое действие направлено на то, чтобы избежать ситуации, когда один и тот же пользователь может зарегистрироваться с разных вычислительных устройств наблюдателей 303 в качестве разных наблюдателей 103 (например, один и тот же пользователь, попытавшийся зарегистрироваться в качестве наблюдателя 103 с разных вычислительных устройств наблюдателя 303, будет определен как один и тот же пользователь, в результате чего он будет зарегистрирован в качестве наблюдателя 103 только один раз на первом вычислительном устройстве наблюдателя 303, а при попытке зарегистрироваться со второго вычислительного устройства наблюдателя 303 получит от организатора голосования 104 отказ в регистрации).
Еще в одном из вариантов реализации системы верификация пользователя состоит из определения на основании идентификационных данных пользователя технической возможности участвовать с использованием вычислительного устройства наблюдателя 303 в качестве наблюдателя 103 в голосовании, объявленном организатором выборов 104;
Упомянутое действие направлено на то, чтобы определить:
достаточно ли вычислительных ресурсов у вычислительного устройства наблюдателя 303 для создания данных, используемых для формирования голоса избирателя 101 и регистрации сформированного голоса избирателя 101 в процессе голосования (например, достаточно ли производительности, оперативной памяти и т.д.),
удовлетворяет ли вычислительное устройство наблюдателя 303 требованиям информационной безопасности (например, работает ли на упомянутом вычислительном устройстве антивирусное приложение, что гарантирует отсутствие вредоносных приложений на вычислительном устройстве наблюдателя 303),
достаточно ли сетевых ресурсов для получения данных от вычислительного устройства организатора голосования 304 и вычислительных устройств избирателей 301 (например, достаточна ли пропускная способность и стабильность сетевого канала до вычислительных устройств организатора голосования 304 и избирателей 301);
и таким образом определить, способен ли наблюдатель 103 «технически» участвовать в голосовании, объявленном организатором выборов 104.
Еще в одном из вариантов реализации система инициализация наблюдателей 103 выполняется следующим образом:
Средство инициализации наблюдателя 313 каждого наблюдателя Pi:
• создает полином Fi(x), для чего задает коэффициенты fij полинома F(x) степени k-1, при этом совокупность созданных коэффициентов полинома fij формирует закрытый ключ наблюдателя 103 Pi, иными словами
i∈[1..n],
k∈[1..n),
где:
Fi(x) - созданный полином,
fij - коэффициенты полинома Fi(x),
fi0=si - свободный член полинома Fi(x),
n - полное количество наблюдателей 103,
k - минимальное количество наблюдателей 103,
необходимое для расшифровки голосов избирателей 101;
• для каждого наблюдателя 103 Pj (включая самого наблюдателя 103 Pi) вычисляет значение полинома Fi(j);
• передает вычисленные значения полинома Fi(j) наблюдателю 103 Pi;
• вычисляет на основании свободного члена полинома Fi(x) по формуле значение:
где:
g - первообразный корень q,
si - свободный член полинома Fi(x)
, при этом вычисленное значение ai формирует открытый ключ наблюдателя 103 Pi;
• передает сформированный открытый ключ наблюдателя 103 Pi средству регистрации наблюдателей 113.
В одном из вариантов реализации системы коэффициенты fij полинома Fi(x) могут задаваться с помощью генератора случайных чисел.
Средство регистрации наблюдателей 113:
• вычисляет единый ключ голосования на основании открытых ключей наблюдателей 103 Pi по формуле:
• вычисляет общий ключ расшифрования на основании полученных свободных членов полиномов Fi(x);
• проверяет корректность открытого и закрытого ключей каждого наблюдателя 103 Pi, для чего осуществляет проверку верно ли средство инициализации наблюдателя 313 наблюдателя 103 Pi вычислило значения полинома Fi(j), т.е. использовало ли для формирования открытого ключа наблюдателя 103 Pi решение полинома Fi(x) (упомянутая проверка тем самым определяет верно ли в конечном итоге был вычислен единый ключ голосования и общий ключ расшифрования), при этом при проверке выполняются следующие этапы:
предварительно средство инициализации наблюдателя 313 каждого наблюдателя 103 Pi вычисляет и передает средству регистрации наблюдателей 113 значения
где:
g - первообразный корень q,
fij - коэффициенты полинома Fi(x), созданного средством инициализации наблюдателя 313 наблюдателем 103 Pi,
проверяет, что средство инициализации наблюдателя 313 наблюдателя 103 Pi действительно вычислило Fi(j) используя созданные коэффициенты полинома fij для чего проверяет выполнение равенства
проверяет, что вычисленный открытый ключ наблюдателя 103 Pi соответствует полученным средством регистрации наблюдателей 113 коэффициентам полинома fij созданного средством инициализации наблюдателя 313 наблюдателя 103 Pi полинома Fi(x), и то, что эти коэффициенты полинома fij соответствуют вычисленному единому ключу голосования, т.е.
для чего проверяет выполнение равенства
Средство регистрации кандидатов 112, работающее на вычислительном устройстве организатора голосования 304, предназначено для регистрации кандидатов 102. Регистрация кандидатов 102 осуществляется следующим образом:
• субъект (например, пользователь) или объект, собирающийся участвовать в качестве кандидата 102 в голосовании, объявленном организатором выборов 104, передает свои идентификационные данные средству регистрации кандидатов 112;
• средство регистрации кандидатов 112 на основании полученных идентификационных данных кандидата 102 выполняет верификацию кандидата 102 и в случае успешного выполнения упомянутой верификации присваивает кандидату 102 идентификатор кандидата 102 p, который сохраняется на вычислительном устройстве организатора голосования 304, при этом в качестве идентификатора кандидата 102 выступает простое число:
,
p>1.
В одном из вариантов реализации системы верификация кандидата 102 состоит из по меньшей мере:
• определения на основании идентификационных данных кандидата 102 права субъекта или объекта участвовать в качестве кандидата 102 в голосовании, объявленном организатором выборов 104,
• определения на основании идентификационных данных кандидата отсутствие кандидатов 102, верифицированных ранее на основании схожих идентификационных данных.
Еще в одном из вариантов реализации системы идентификатор кандидата 102 p выбирается из списка заранее вычисленных неповторяющихся простых чисел:
• случайным образом, но так, чтобы каждое из выбранных простых чисел было выбрано только для одного кандидата 102;
• последовательно.
Средство формирования голоса избирателя 120, работающее на вычислительном устройстве избирателя 301, формирует голос избирателя 101 следующим образом:
• избиратель 101 осуществляет выбор одного из кандидатов 102, при этом данные о выборе избирателя 101 представляют собой идентификатор выбранного кандидата 102 p;
• вычисляет сессионный ключ α - численное значение, используемое при шифровании голоса избирателя 101, при этом сессионный ключ α средство формирования голоса избирателя 120 вычисляет заново при каждом формировании голоса так, чтобы удовлетворять условию:
α∈(1..q-1)
• шифрует идентификатор выбранного кандидата 102 p единым ключом голосования, полученным от средства регистрации наблюдателей 113, по формуле:
vote={x, y}
x=gα
y=hαp
где
g - первообразный корень q,
h - единый ключ шифрования, полученный от средства инициализации избирателей 311,
α - сессионный ключ, вычисленный для текущего голоса избирателя 101,
• подписывает зашифрованные данные закрытым ключом, полученным от средства регистрации наблюдателей 113.
После того, как средство формирования голоса избирателя 120 завершает формирования голоса, оно передает сформированный голос средству регистрации голосов избирателей 130.
В одном из вариантов реализации системы средство формирования голоса избирателя 120 передает сформированный голос избирателя средству регистрации голосов избирателей 130, работающему на вычислительном устройстве наблюдателя 303 выбранного избирателем 101 наблюдателя 103. При этом выбор наблюдателя 103 избирателем 101, на вычислительное устройство наблюдателя 303 которого осуществляется передача данных с вычислительного устройства пользователя 301, осуществляется на основании данных, предоставленных избирателю 101 организатором голосования 104 (например, сетевые адреса вычислительных устройств наблюдателей 303).
Средство регистрации голосов избирателей 130, работающее на вычислительном устройстве наблюдателей 303, регистрирует голоса избирателей 101 следующим образом:
• полученный сформированный голос избирателя 101 зашифровывается открытым ключом наблюдателя 103,
• децентрализованный реестр записей наблюдателя 103, который получил сформированный голос избирателя 101, модифицируется с учетом полученного голоса избирателя 101, при этом модификация выполняется согласно правилу:
P=(P×V)mod q
где:
Р - содержимое децентрализованного реестра записей, представляющее собой натуральное число,
V - сформированный голос избирателя, представляющий собой натуральное число,
q - заранее заданный коэффициент, ограничивающий размер содержимого децентрализованного реестра записей.
Средство расшифровки голосов избирателей 340, работающее на вычислительном устройстве наблюдателя 303, и средство подсчета голосов избирателей 140, работающее на вычислительном устройстве организатора голосования 304, представляют собой клиент-серверное архитектуру, предназначенную для вычисления итоговых результатов голосования, организованного организатором голосования 104 с использованием системы определения количества голосов избирателей 101, собираемых с помощью электронного голосования. При расшифровке голосов избирателей 101 выполняются следующие этапы:
• средство подсчета избирателей 140 выбирает по меньшей мере k из n наблюдателей 103, участвующих в голосовании, организованном организатором голосования 104,
• средство расшифровки голосов избирателей 340, работающее на вычислительном устройстве 303 выбранного ранее наблюдателя 103 расшифровывает с использованием сформированного ранее закрытого ключа наблюдателя 103 децентрализованный реестр записей,
при этом окончательный результат последовательной расшифровки децентрализованного реестра записей средствами расшифровки голосов избирателей 340, работающими на вычислительных устройствах 303 выбранных k наблюдателей 103, будет представлять собой произведение
где:
n - количество кандидатов 102, участвующих в голосовании, организованном организатором голосования 104,
pi - идентификатор кандидата 102 i-ого кандидата 102,
νi - количество голосов избирателей 101, отданных за i-ого кандидата 102;
• средство подсчета избирателей 140 факторизует расшифрованный децентрализованный реестр записей на основании идентификаторов кандидатов 102, участвующих в голосовании, организованном организатором голосования 104;
В одном из вариантов реализации системы средство подсчета избирателей 140 выбирает по меньшей мере k из n наблюдателей 103:
• случайно,
• в зависимости от количества сформированных голосов избирателей 101, переданных средству регистрации голосов избирателей 130, работающему на вычислительном устройстве 303 того или иного наблюдателя 103 (например, выбирает k наблюдателей 103, средствам голосов избирателей 130, работающим на вычислительных устройствах 303 которых было передано больше всего сформированных голосов избирателей 101).
Еще в одном из вариантов реализации системы для факторизации расшифрованного децентрализованного реестра записей средство подсчета голосов избирателей 140 использует алгоритм Гельфонда-Шенкса (англ. baby-step giant-step).
Еще в одном из вариантов реализации системы после вычисления количество голосов избирателей 101, отданных за каждого из кандидатов 102, средство подсчета голосов избирателей 140 осуществляет проверку правильности выполненной факторизации расшифрованного децентрализованного реестра записей для чего производит сравнение общего количества проголосовавших избирателей 101 и общего количества вычисленных голосов, т.е.
где:
n - количество кандидатов 102, участвующих в голосовании, организованном организатором голосования 104,
νi - количество голосов избирателей 101, отданных за i-ого кандидата 102,
νmax - общее количество проголосовавших избирателей 101;
В случае, если выполненное сравнение дало отрицательный результат, результаты голосования признаются недействительными.
Фиг. 4 представляет структурную схему частного случая реализации способа работы организатора голосования.
Структурная схема частного случая реализации способа работы организатора голосования, состоит из следующих этапов: этапа 401, на котором выполняется подготовка к голосованию, этапа 402, на котором выполняют проведение голосования, этапа 403, на котором выполняют подведение результатов, этап 401, в свою очередь содержит этап 411, на котором устанавливают правила проведения голосования, этап 412, на котором регистрируют кандидатов, этап 413, на котором настраивают криптосистему, этапа 414, на котором регистрируют наблюдателей, этапа 415, на котором регистрируют избирателей, этап 402, в свою очередь содержит этап 421, на котором запускают ход голосования, этап 422, на котором выполняют контроль за ходом голосования, этап 423, на котором завершают ход голосования, этап 403, который в свою очередь содержит этап 431, на котором проверяют собранные голоса, этап 432, на котором расшифровывают собранные голоса, этап 433, на котором выполняют подсчет собранных голосов.
На этапе 401 организатором голосования 104 выполняется подготовка к голосованию: задаются правила голосования, на основании которых осуществляется дальнейшая подготовка к голосованию, непосредственно само голосование и подсчет голосов после завершения голосования, регистрация кандидатов 102, настройка криптосистемы, параметры которой будут использованы для формирования, хранения и подсчета голосов избирателей 101, регистрация наблюдателей 103 и регистрация избирателей 101. При этом подготовка к голосованию выполняется именно в указанном выше порядке - сначала устанавливают правила проведения голосования, затем, на основании установленных правил регистрируют кандидатов 102, затем на основании данных о кандидатах 102 настраивают криптосистему, затем на основании параметров настроенной криптосистемы регистрируют наблюдателей 103 и затем на основании данных о наблюдателях 103 регистрируют избирателей.
В качестве правил проведения голосования выступает по меньшей мере правило:
• ограничивающее минимальное и максимальное количество кандидатов 102, наблюдателей 103 и избирателей 101;
• определяющее условия начала и завершения голосования, при этом в качестве условия начала и завершения голосования выступает по меньшей мере:
время начала и завершения голосования;
количество избирателей 101, после регистрации которых начинается голосование;
количество голосов избирателей 101, после формирования которых завершается голосование;
• определяющее количество наблюдателей 103, необходимое для подсчета голосов избирателей 101;
• определяющее максимальное количество голосов избирателей 101, разрешенное к формированию одним избирателем 101.
На этапе 412 при регистрации кандидатов 102, организатор голосования 104 каждом кандидату 102 ставит в соответствие идентификатор кандидата 102, представляющее собой простое число
,
где:
pi - идентификатор i-го кандидата 102,
- пространство простых числе,
n - максимальное количество кандидатов 102, установленное правилами
при этом все идентификаторы кандидатов 102 различны.
На этапе 413 организатор голосования 104 настраивает криптосистему, т.е. вычисляет параметры криптосистемы на основании установленных на этапе 411 правил проведения голосования и выставленных на этапе 412 идентификаторов кандидата 103. В качестве параметров криптосистемы выступают по меньшей мере:
q - случайное простое число , такое, что q больше любого идентификатора кандидата 102,
g - первообразные корень q,
s - случайное простое число ,
При этом число q выбирается таким образом, чтобы в результате подсчет голосов избирателей 101 после завершения голосования получался однозначный результат (т.е., чтобы не возможна была ситуация, когда подсчет голосов может быть осуществлен несколькими способами а результате которых будут получены несколько отличных друг от друга результатов).
На этапе 414 организатор голосования 104 регистрирует наблюдателей 103. При регистрации наблюдателей 103 организатор голосования 104 по меньшей мере:
• проверяет возможность передавать, получать голоса избирателей 103, а также модифицировать децентрализованные реестры записей;
• проверяет правильность создания наблюдателями 103 децентрализованных реестров записей;
• проверяет правильность создания наблюдателями 103 открытого и закрытого ключей шифрования;
• создает единый ключ голосования на основании вычисленных на этапе 413 параметров криптосистемы.
На этапе 415 организатор голосования 104 регистрирует избирателей 101. При регистрации избирателей 101 организатор голосования 104 по меньшей мере:
• проверяет возможность формировать голос избирателя 101;
• формируют цифровую подпись избирателя;
• передают созданный на этапе 414 единый ключ голосования.
На этапе 402 организатором голосования 104 осуществляется проведение голосования: запускается голосование, контролируется ход голосования правила голосования и завершается ход голосования.
На этапе 421 организатор голосования 104 запускает ход голосования, при этом по меньшей мере:
• информирует избирателей о возможности формирования голосов избирателей 101;
• информирует наблюдателей 103 о возможности модифицировать децентрализованные реестры записей на основании сформированных голосов избирателей.
В случае, если избиратель 101 пытается передать сформированный голос избирателя 101 для модификации децентрализованного реестра записей наблюдателя 303, такой голос избирателя учитывается не будет или же при завершении хода голосования будет определено, что упомянутый наблюдатель 303 совершил ошибку при модификации своего децентрализованного реестра записей и упомянутый децентрализованный реестр записей при подсчете собранных голосов избирателей учитываться не будет.
На этапе 422 организатор голосования и контролирует ход голосования, при этом по меньшей мере:
• проверяет корректность формирования голосов избирателей на основании установленных на этапе 411 правил проведения голосования и вычисленных на этапе 413 параметров криптосистемы;
• проверяет корректность модифицирования децентрализованных реестров записей наблюдателей 103 избирателей на основании установленных на этапе 411 правил проведения голосования и вычисленных на этапе 413 параметров криптосистемы;
• отслеживает условия завершения голосования согласно установленным на этапе 411 правилам проведения голосования.
На этапе 423 организатор голосования 104 завершает ход голосования, при этом по меньшей мере:
• информирует избирателей о невозможности формирования голосов избирателей 101;
• информирует наблюдателей 103 о невозможности модифицировать децентрализованные реестры записей на основании сформированных голосов избирателей.
В случае, если избиратель 101 пытается передать сформированный голос избирателя 101 для модификации децентрализованного реестра записей наблюдателя 303, такой голос избирателя учитывается не будет или же будет определено, что упомянутый наблюдатель 303 совершил ошибку при модификации своего децентрализованного реестра записей и упомянутый децентрализованный реестр записей при подсчете собранных голосов избирателей учитываться не будет.
На этапе 403 подводят организатором голосования 104 осуществляется подведение результатов голосования: проверяются собранные голоса, расшифровываются собранные голоса и в конце подсчитываются собранные голоса.
На этапе 431 организатор голосования 104 проверяет собранные голоса избирателей 101, при этом по меньшей мере:
• сравнивает децентрализованные реестры записей всех наблюдателей 103;
• по результатам проверки децентрализованных реестров записи определяет наблюдателей 103, допустивших ошибки (или сознательные фальсификации) при модификации своих децентрализованных реестров записей на основании полученных формированных голосов избирателей 101;
• по результатам определения наблюдателей 103, допустивших ошибки, определяет наблюдателей 103, данных которых будут использованы на этапе 432 при расшифровке собранных голосов избирателей
• в случае, если количество определенных наблюдателей 103 меньше установленного правилами проведения голосования на этапе 411, признает голосование недействительным.
На этапе 432 организатор голосования 104 выполняет расшифровку на основании вычисленных на этапе 413 параметров криптосистемы собранных голосов избирателей 101, модифицированных на основании полученных формированных голосов избирателей 101. При этом расшифровка голосов избирателей 101 выполняется путем модификации децентрализованного реестра записей.
На этапе 433 организатор голосования 104 подсчитывает собранные голоса избирателей, при этом после получения результатов голосования, проверяется соответствуют ли они установленным на этапе 411 правилам проведения голосования.
Фиг. 5 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 5. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.
название | год | авторы | номер документа |
---|---|---|---|
Система и способ подачи голоса при электронной системе голосования | 2019 |
|
RU2747450C2 |
Система и способ подсчёта голосов при электронной системе голосования | 2020 |
|
RU2760440C2 |
СПОСОБ И СИСТЕМА ЭЛЕКТРОННОГО ГОЛОСОВАНИЯ В РАСПРЕДЕЛЕННОМ РЕЕСТРЕ | 2020 |
|
RU2751457C1 |
УНИВЕРСАЛЬНАЯ СИСТЕМА РАСПРЕДЕЛЕННОГО ЗАЩИЩЕННОГО ДИСТАНЦИОННОГО ГОЛОСОВАНИЯ | 2019 |
|
RU2751315C2 |
СИСТЕМА ДЛЯ ПРОВЕДЕНИЯ ЭЛЕКТРОННОГО ГОЛОСОВАНИЯ | 2005 |
|
RU2293288C1 |
СХЕМА ГОЛОСОВАНИЯ БЕЗ ПРИНУЖДЕНИЯ | 2003 |
|
RU2292082C2 |
Способ и устройство шифрования данных | 2021 |
|
RU2763394C1 |
СПОСОБ ТАЙНОГО ГОЛОСОВАНИЯ И ЭЛЕКТРОННОЕ УСТРОЙСТВО ДЛЯ ЕГО РЕАЛИЗАЦИИ | 2020 |
|
RU2753392C1 |
СПОСОБ ЭЛЕКТРОННОГО ГОЛОСОВАНИЯ, ОБРАБОТКИ РЕЗУЛЬТАТОВ | 2004 |
|
RU2298229C2 |
АВТОМАТИЗИРОВАННАЯ СИСТЕМА ДИСТАНЦИОННОГО ЭЛЕКТРОННОГО ГОЛОСОВАНИЯ ПРИ ПРОВЕДЕНИИ ВЫБОРОВ И РЕФЕРЕНДУМОВ | 2011 |
|
RU2452029C1 |
Изобретение предназначено для проведения электронного голосования. Техническим результатом является повышение точности определения количества голосов проголосовавших избирателей, собираемых с помощью электронного голосования. Система содержит: одно вычислительное устройство организатора голосования, имеющее средство регистрации наблюдателей, предназначенное для создания для каждого наблюдателя идентификационных данных (открытого ключа и децентрализованного реестра записей сформированных голосов, получаемых наблюдателем от соответствующих избирателей), и средство подсчета голосов избирателей, предназначенное для проверки подлинности децентрализованных реестров записей и на основании расшифрованной информации вычисления количества голосов избирателей, отданных за каждого из кандидатов, вычислительное устройство по меньшей мере двух наблюдателей, имеющее средство регистрации голосов избирателей, и вычислительные устройства избирателей. 2 н. и 20 з.п. ф-лы, 5 ил.
1. Система определения количества голосов избирателей, собираемых с помощью электронного голосования, при этом голос избирателя представляет собой выбор избирателя по меньшей мере одного из кандидатов, при этом упомянутая система включает одно вычислительное устройство организатора голосования, вычислительные устройства по меньшей мере двух наблюдателей и вычислительные устройства по меньшей мере двух избирателей и содержит:
а) средство регистрации наблюдателей, работающее на вычислительном устройстве организатора голосования и предназначенное для:
- создания для каждого наблюдателя на основании полученных от наблюдателя идентификационных данных:
- открытого ключа, используемого для шифрования голоса избирателя, и закрытого ключа, используемого для расшифрования голоса избирателя,
- децентрализованного реестра записей, который будет модифицироваться с учетом сформированных голосов, получаемых наблюдателем от избирателей,
- передачи каждого созданного децентрализованного реестра записей на вычислительные устройства того наблюдателя, для которого упомянутый децентрализованный реестр записей был создан,
- передачи созданных закрытых ключей средству подсчета голосов избирателей,
- создания на основании созданных открытых ключей всех наблюдателей единого ключа голосования;
- передачи единого ключа голосования на вычислительные устройства избирателей;
б) средство формирования голоса избирателя, работающее на вычислительном устройстве избирателя и предназначенное для:
- формирования голоса избирателя на основании данных о выборе избирателя, включая шифрование формируемого голоса избирателя единым ключом голосования;
- передачи сформированного голоса средству регистрации голосов избирателей по меньшей мере одного наблюдателя;
в) средство регистрации голосов избирателей, работающее на вычислительном устройстве наблюдателя и предназначенное для:
- модификации децентрализованного реестра записей с учетом полученного голоса избирателя;
- передачи упомянутого децентрализованного реестра записей средству подсчета голосов избирателей после завершения голосования;
г) средство подсчета голосов избирателей, работающее на вычислительном устройстве организатора голосования и предназначенное для:
- проверки подлинности децентрализованных реестров записей;
- расшифровывания при положительном результате упомянутой проверки децентрализованных реестров записей с помощью не менее одного закрытого ключа, созданного средством регистрации наблюдателей, данных о поданных голосах избирателей в децентрализованном реестре записей;
- на основании расшифрованных данных о поданных голосах избирателей вычисления количества голосов избирателей, отданных за каждого из кандидатов.
2. Система по п. 1, которая дополнительно содержит средство регистрации избирателей, работающее на вычислительном устройстве организатора голосования и предназначенное для:
- создания для каждого избирателя цифровой подписи избирателя, используемой при формировании голоса избирателя;
- передачи созданной цифровой подписи избирателя на компьютерное устройство избирателя.
3. Система по п. 1, которая дополнительно содержит средство регистрации кандидатов, работающее на вычислительном устройстве организатора голосования и предназначенное для:
- создания для каждого кандидата идентификатора кандидата, при этом идентификатор кандидата представляет собой простое число;
- передачи созданных идентификаторов кандидатов на вычислительные устройства избирателей.
4. Система по п. 1, в которой средство регистрации наблюдателей дополнительно предназначено для:
- проверки на основании закрытых ключей по меньшей мере двух наблюдателей созданного единого ключа голосования;
- при положительном результате упомянутой проверки передачи созданного единого ключа голосования на вычислительные устройства избирателей.
5. Система по п. 1, в которой в качестве данных о выборе избирателя выступает идентификатор по меньшей мере одного кандидата.
6. Система по п. 2, в которой средство формирования голоса избирателя при формировании голоса избирателя дополнительно предназначено для последовательного:
- зашифровывания данных о выборе избирателя единым ключом голосования;
- подписания зашифрованных данных о выборе избирателя цифровой подписью избирателя.
7. Система по пп. 2, 3, в которой средство регистрации голосов избирателей дополнительно предназначено для модификации децентрализованного реестра записей с учетом сформированного голоса избирателя, что осуществляется после успешной проверки достоверности сформированного голоса избирателя, при этом достоверность сформированного голоса избирателя признается в случае, когда:
- используемая при формировании голоса избирателя цифровая подпись соответствует цифровой подписи, созданной средством регистрации избирателей,
- используемый при формировании голоса избирателя идентификатор кандидата соответствует созданному идентификатору кандидата.
8. Система по п. 1, в которой средство регистрации голосов избирателей дополнительно предназначено для модификации децентрализованного реестра записей с учетом сформированного голоса избирателя согласно формуле
,
где
Р - содержимое децентрализованного реестра записей, представляющее собой натуральное число,
V - сформированный голос избирателя, представляющий собой натуральное число,
q - заранее заданный коэффициент, ограничивающий размер содержимого децентрализованного реестра записей.
9. Система по п. 1, в которой средства регистрации голосов избирателей дополнительно предназначены для синхронной модификации всех децентрализованных реестров записей таким образом, чтобы в модификации децентрализованного реестра записей участвовали все сформированные голоса избирателей.
10. Система по п. 1, в которой средство подсчета голосов избирателей дополнительно предназначено для проверки подлинности децентрализованных реестров записей с помощью побайтного сравнения по меньшей мере двух децентрализованных реестров записей.
11. Система по п. 1, в которой завершение голосования наступает после выполнения по меньшей мере одного заранее установленного организатором голосования критерия:
- продолжительность голосования превысило заранее установленное значение;
- количество голосов превысило заранее заданное значение;
- количество неудачных проверок достоверности сформированного голоса избирателя превысило заранее заданное значение.
12. Способ определения количества голосов избирателей, собираемых с помощью электронного голосования, при этом голос избирателя представляет собой выбор избирателя по меньшей мере одного из кандидатов, и содержит этапы, которые реализуются с помощью средств из системы по п. 1 и на которых:
а) создают с помощью средства регистрации наблюдателей для каждого наблюдателя на основании полученных от наблюдателя идентификационных данных:
- открытый ключ, используемый для шифрования голоса избирателя, и закрытый ключ, используемый для расшифрования голоса избирателя;
- децентрализованный реестр записей, который будет модифицироваться с учетом сформированных голосов, получаемых наблюдателем от избирателей;
б) создают с помощью средства регистрации наблюдателей на основании созданных на этапе а) открытых ключей всех наблюдателей единый ключ голосования;
в) формируют с помощью средства формирования голоса избирателя для каждого избирателя голос избирателя на основании данных о выборе избирателя, включая шифрование каждого формируемого голоса избирателя единым ключом голосования;
г) модифицируют с помощью средства регистрации голосов избирателей децентрализованный реестр записей с учетом сформированного голоса избирателя;
д) проверяют с помощью средства подсчета голосов избирателей подлинность децентрализованных реестров записей;
е) расшифровывают при положительном результате проверки, выполненной на этапе д) с помощью средства подсчета голосов избирателей, децентрализованные реестры записей с помощью не менее одного закрытого ключа, созданного на этапе а), данных о поданных голосах избирателей в децентрализованном реестре записей;
ж) на основании расшифрованных на этапе е) данных о поданных голосах вычисляют с помощью средства подсчета голосов избирателей количество голосов избирателей, отданных за каждого из кандидатов.
13. Способ по п. 12, по которому с помощью средства регистрации избирателей создают для каждого избирателя цифровую подпись избирателя, используемую при формировании голоса избирателя.
14. Способ по п. 12, по которому с помощью средства регистрации кандидатов создают для каждого кандидата идентификатор кандидата, при этом идентификатор кандидата представляет собой простое число.
15. Способ по п. 12, по которому с помощью средства регистрации наблюдателей проверяют на основании закрытых ключей по меньшей мере двух наблюдателей созданный единый ключ голосования.
16. Способ по п. 12, по которому в качестве данных о выборе избирателя выступает идентификатор по меньшей мере одного кандидата.
17. Способ по п. 13, по которому с помощью средства формирования голоса избирателя при формировании голоса избирателя последовательно:
- зашифровывают данные о выборе избирателя единым ключом голосования;
- подписывают зашифрованные данные о выборе избирателя цифровой подписью избирателя.
18. Способ по пп. 13, 14, по которому с помощью средства регистрации голосов избирателей модифицируют децентрализованный реестр записей с учетом сформированного голоса избирателя после успешной проверки достоверности сформированного голоса избирателя, при этом достоверность сформированного голоса избирателя признается в случае, когда:
- используемая при формировании голоса избирателя цифровая подпись соответствует цифровой подписи, созданной средством регистрации избирателей,
- используемый при формировании голоса избирателя идентификатор кандидата соответствует созданному идентификатору кандидата.
19. Способ по п. 12, по которому с помощью средства регистрации голосов избирателей модифицируют децентрализованный реестр записей с учетом сформированного голоса избирателя согласно формуле
,
где
Р - содержимое децентрализованного реестра записей, представляющее собой натуральное число,
V - сформированный голос избирателя, представляющий собой натуральное число,
q - заранее заданный коэффициент, ограничивающий размер содержимого децентрализованного реестра записей.
20. Способ по п. 12, по которому с помощью средства регистрации голосов избирателей синхронно модифицируют все децентрализованные реестры записей таким образом, чтобы в модификации децентрализованного реестра записей участвовали все сформированные голоса избирателей.
21. Способ по п. 12, по которому с помощью средства подсчета голосов избирателей проверяют подлинность децентрализованных реестров записей с помощью побайтного сравнения по меньшей мере двух децентрализованных реестров записей.
22. Способ по п. 12, по которому завершение голосования наступает после выполнения по меньшей мере одного заранее установленного организатором голосования критерия:
- продолжительность голосования превысило заранее установленное значение;
- количество голосов превысило заранее заданное значение;
- количество неудачных проверок достоверности сформированного голоса избирателя превысило заранее заданное значение.
СПОСОБ ПРОВЕДЕНИЯ ТАЙНОГО ГОЛОСОВАНИЯ С ИСПОЛЬЗОВАНИЕМ АВТОМАТИЗИРОВАННОГО УСТРОЙСТВА ОБРАБОТКИ БЮЛЛЕТЕНЕЙ | 2005 |
|
RU2315358C2 |
СПОСОБ ГОЛОСОВАНИЯ С ВЫСОКОНАДЕЖНОЙ БИОМЕТРИЧЕСКОЙ ЗАЩИТОЙ АНОНИМНОСТИ ГОЛОСУЮЩЕГО | 2010 |
|
RU2444063C1 |
ОБНАРУЖЕНИЕ ФАЛЬСИФИЦИРОВАННЫХ ИЗБИРАТЕЛЬНЫХ БЮЛЛЕТЕНЕЙ | 2002 |
|
RU2272322C2 |
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами | 1924 |
|
SU2017A1 |
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
Авторы
Даты
2018-04-26—Публикация
2017-07-17—Подача