RU2272322C2 - Method for detecting falsified voting papers - Google Patents
Method for detecting falsified voting papers Download PDFInfo
- Publication number
- RU2272322C2 RU2272322C2 RU2003128316/09A RU2003128316A RU2272322C2 RU 2272322 C2 RU2272322 C2 RU 2272322C2 RU 2003128316/09 A RU2003128316/09 A RU 2003128316/09A RU 2003128316 A RU2003128316 A RU 2003128316A RU 2272322 C2 RU2272322 C2 RU 2272322C2
- Authority
- RU
- Russia
- Prior art keywords
- ballot
- voter
- encrypted
- confirmation
- choice
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Данное изобретение испрашивает приоритет временной заявки США №60/270182, поданной 20 февраля 2001, временной заявки США № (номер реестра патентного ведомства 32462-8006US02), поданной 11 февраля 2002, и является частичным продолжением заявки на патент США №09/534836, поданной 24 марта 2000; заявки на патент США №09/535927, поданной 24 марта 2000; и заявки на патент США №09/816869, поданной 24 марта 2001. Полное содержание этих пяти заявок включается в данное описание.This invention claims the priority of US provisional application No. 60/270182, filed February 20, 2001, US provisional application No. (registry number of the patent office 32462-8006US02), filed February 11, 2002, and is a partial continuation of application for US patent No. 09/534836, filed March 24, 2000; US patent application No. 09/535927, filed March 24, 2000; and US patent application No. 09/816869, filed March 24, 2001. The full contents of these five applications are included in this description.
Область техники, к которой относится изобретениеFIELD OF THE INVENTION
Данное изобретение относится к области автоматизации выборов и используемых для этого криптографических технологий.This invention relates to the field of election automation and the cryptographic technologies used for this.
Уровень техникиState of the art
Проблемы неточности и неэффективности давно сопровождают обычные, «выполняемые вручную» выборы. Хотя считается, что можно использовать компьютеры для проведения выборов более точно и эффективно, компьютеры приносят с собой собственные проблемы. Поскольку электронные данные можно так легко изменять, то многие электронные системы выборов склонны к многочисленным ошибкам, появление которых намного менее вероятно в обычных системах проведения выборов.The problems of inaccuracy and inefficiency have long been accompanied by the usual “manual” choices. Although it is believed that computers can be used to conduct elections more accurately and efficiently, computers bring their own problems. Since electronic data can be so easily changed, many electronic election systems are prone to numerous errors, the occurrence of which is much less likely in conventional election systems.
Один класс таких ошибок основывается на неопределенной целостности компьютера голосующего избирателя или других вычислительных устройств. В современных условиях использования компьютеров в сетях чрезвычайно трудно содержать любую машину защищенной от злонамеренного программного обеспечения. Такое программное обеспечение часто способно оставаться скрытым в компьютере в течение длительных периодов времени, прежде чем оно действительно выполнит наносящее вред действие. В то же время оно может тиражироваться в другие компьютеры в сети или в компьютеры, которые имеют минимальное взаимодействие с сетью. Оно может даже передаваться в компьютеры, которые не включены в сеть, за счет постоянного использования пользователями носителей информации.One class of such errors is based on the vague integrity of the voting voter computer or other computing devices. Under the current conditions of using computers on networks, it is extremely difficult to keep any machine protected from malicious software. Such software is often able to remain hidden in the computer for extended periods of time before it actually performs a harmful action. At the same time, it can be replicated to other computers on the network or to computers that have minimal interaction with the network. It can even be transferred to computers that are not included in the network due to the constant use of storage media by users.
В контексте электронных тайных выборов с избирательными бюллетенями этот вид злонамеренного программного обеспечения является особенно опасным, поскольку даже когда его вредное действие запускается, оно может оставаться незамеченным, и поэтому способно срывать выборы в последующем. Управляемые тесты логики и точности (тесты ЛТ) следят за обработкой испытательных избирательных бюллетеней для определения, работает ли правильно система голосования, и их можно использовать в качестве попытки обнаружения злонамеренного программного обеспечения, присутствующего в компьютере избирателя. Однако тесты ЛТ чрезвычайно трудно выполнять правильно, поскольку возможно, что вредное программное обеспечение способно различать действительные и испытательные избирательные бюллетени и может не влиять на все испытательные избирательные бюллетени. Поскольку требование тайны выборов исключает возможность проверки действительных избирательных бюллетеней на предмет фальсификации, то могут оказаться бесполезными даже тщательные тесты ЛТ. Проблема борьбы с этой угрозой известна как проблема доверия к исполнителю.In the context of electronic secret elections with ballots, this type of malicious software is especially dangerous, because even when its harmful effect is launched, it can go unnoticed and therefore can disrupt the elections in the future. Guided logic and accuracy tests (LT tests) monitor the processing of test ballots to determine if the voting system is working correctly and can be used as an attempt to detect malicious software present on the voter's computer. However, RT tests are extremely difficult to perform correctly, since it is possible that malicious software can distinguish between valid and test ballots and may not affect all test ballots. Since the requirement of election secrecy precludes the possibility of checking valid ballots for fraud, even thorough LT tests may be useless. The problem of combating this threat is known as the problem of trust in the executor.
Большинство существующих способов решения этой проблемы доверия к исполнителю фокусировалось на способах защиты платформы голосования и создания тем самым определенности, что компьютер избирателя является «чистым» или «не зараженным». К сожалению, затраты на экспертизу и выполнение рутинных операций, которые необходимы для обеспечения приемлемого уровня такой определенности, требуют установки электронных избирательных систем в управляемые условия узла подсчета голосов, где исполнительные системы компьютеров можно поддерживать и контролировать с помощью экспертов по компьютерам и сетям. Эти системы узлов подсчета голосов могут обеспечивать некоторые преимущества за счет упрощения конфигурации, простоты использования, эффективности сведения результатов в таблицы и стоимости. Однако этот подход не обеспечивает использования большого потенциала распределенной связи, которая используется в мировой электронной торговле.Most of the existing ways to solve this problem of confidence in the performer focused on ways to protect the voting platform and thereby create the certainty that the voter's computer is “clean” or “not infected”. Unfortunately, the costs of examining and performing routine operations, which are necessary to ensure an acceptable level of such certainty, require the installation of electronic electoral systems in the controlled conditions of the vote counting unit, where the executive systems of computers can be maintained and controlled with the help of experts on computers and networks. These systems of vote counting nodes can provide some advantages due to simplification of configuration, ease of use, efficiency of tabulation of results and cost. However, this approach does not provide for the use of the large potential of distributed communication, which is used in the global electronic commerce.
В соответствии с этим решение проблемы доверия к исполнителю, которое не требует защиты избирательной платформы от злонамеренного программного обеспечения и которое обеспечивает использование практически любой компьютерной системы в любом месте в качестве избирательной платформы, может иметь большую важность.In accordance with this, the solution to the problem of trust in the performer, which does not require the protection of the election platform from malicious software and which ensures the use of almost any computer system anywhere as an election platform, can be of great importance.
Краткое описание чертежейBrief Description of the Drawings
На чертежах изображено:The drawings show:
фиг.1 - укрупненная блок-схема типичных условий, в которых работает средство;figure 1 is an enlarged block diagram of typical conditions in which the tool operates;
фиг.2 - блок-схема некоторых компонентов, обычно содержащихся по меньшей мере в некоторых компьютерных системах и других устройствах, на которые воздействует средство;figure 2 is a block diagram of some components typically contained in at least some computer systems and other devices that are affected by the tool;
фиг.3 - графическая схема стадий, обычно выполняемых средством для обнаружения фальсифицированного избирательного бюллетеня.figure 3 is a graphical diagram of the stages usually performed by means for detecting a falsified ballot.
Описание наилучших вариантов осуществления изобретенияDescription of the best embodiments of the invention
Создано средство обнаружения избирательных бюллетеней, фальсифицированных злонамеренными программами («средство обнаружения»). Подход, используемый средством обнаружения, обычно не содержит попыток исключения или предупреждения появления злонамеренного программного обеспечения в компьютере для голосования. Вместо этого оно предлагает криптографически защищенный для избирателя способ верификации избирательного бюллетеня в том виде, в котором он принят в центре сбора голосов, без раскрытия информации о содержимом (выборе кандидатов) для самого центра сбора голосов. То есть центр сбора голосов может точно подтвердить избирателю, какой выбор кандидатов принят, не зная, каким является выбор. Таким образом, избиратель может обнаружить любую разницу между выбором избирателя и действительным выбором, принятым в центре сбора голосов (как представлено в передаваемых цифровых данных избирательного бюллетеня). Кроме того, при каждых выборах можно выбирать из гибкого набора стратегий принятия решений, позволяющих избирателю повторно опустить избирательный бюллетень в случае, когда принятый выбор отличается от задуманного выбора.A tool for detecting ballot papers falsified by malicious programs (a "tool for detecting") has been created. The approach used by the detection tool usually does not include attempts to exclude or prevent the occurrence of malicious software in the voting computer. Instead, it offers a cryptographically secure way for the voter to verify the ballot as it was received at the vote center, without disclosing information about the content (selection of candidates) for the vote center itself. That is, the center for collecting votes can accurately confirm to the voter which choice of candidates has been accepted, not knowing what the choice is. Thus, the voter can detect any difference between the choice of the voter and the actual choice accepted at the center of the vote collection (as presented in the transmitted digital data of the ballot). In addition, for each election, you can choose from a flexible set of decision strategies that allow the voter to re-drop the ballot when the accepted choice is different from the intended choice.
Ниже приводится описание средства обнаружения в контексте довольно стандартных условий выборов. Для простоты представления в начальном описании средства обнаружения предполагается, что избирательный бюллетень содержит только один вопрос и что имеется набор из К разрешенных ответов a1,..., ak (один из которых может быть «воздержался»). Для специалистов в данной области техники понятно, что целесообразно обобщить ответ, возможный в этой ситуации, для обработки огромного большинства действительных конфигураций избирательных бюллетеней в мире.The following is a description of the detection tool in the context of fairly standard election conditions. For ease of presentation, the initial description of the detection tool assumes that the ballot paper contains only one question and that there is a set of K allowed answers a 1 , ..., a k (one of which may be “abstained”). For specialists in this field of technology it is clear that it is advisable to summarize the answer possible in this situation, for processing the vast majority of valid configurations of ballots in the world.
Некоторые типичные криптографические признаки избирательных установочных параметров заключаются в следующем:Some typical cryptographic features of selective settings are as follows:
1. Состав избирательного бюллетеня: набор криптографических параметров выборов заранее согласовывается администрацией выборов и широко оглашается с помощью публикации или других таких средств. Важными параметрами являются шифровальная группа, генератор, открытый ключ выборов и схема кодирования решений. А именно таковыми являются:1. The composition of the ballot: a set of cryptographic parameters of the election is agreed upon in advance by the election administration and is widely publicized by publication or other such means. Important parameters are the encryption group, the generator, the public election key, and the decision coding scheme. Namely, these are:
(а) Шифровальная группа, G может быть Zp, где р является большой первичной группой или группой эллиптической кривой.(a) The encryption group, G may be Z p , where p is a large primary group or an elliptic curve group.
(b) Генератор, g∈G. В случае G=Zp, g должно генерировать подгруппу <g> из G*, которая имеет большой первичный порядок q. В случае эллиптической кривой предполагается, что <g>=G и q=p.(b) Generator, g∈G. In the case G = Z p , g must generate a subgroup <g> from G *, which has a large primary order q. In the case of an elliptic curve, it is assumed that <g> = G and q = p.
(c) Открытый ключ выборов, h∈(g).(c) Public election key, h∈ (g).
(d) Схема кодирования решения: разделение <g> на «назвать представителей». То есть <g>=S0∪S1∪...SK, где Sк являются парными несвязанными подмножествами <g>. Для каждого 1≤k≤K любое сообщение m∈Sk представляет голосование за ak. Остальные сообщения рассматриваются как недействительные. Обычно каждое Sk при 1≤k≤K состоит из одного элемента μk, хотя это в принципе не является обязательным. Однако для защиты схемы в целом необходимо, чтобы μk генерировались независимо или случайно с использованием некоторого открытого случайного источника или с помощью приемлемой схемы совместного пользования.(d) Decoding coding scheme: dividing <g> into “name representatives”. That is, <g> = S 0 ∪ S 1 ∪ ... S K , where S k are pairwise unconnected subsets of <g>. For each 1≤k≤K, any message m∈S k represents a vote for a k . Other posts are considered invalid. Usually each S k at 1≤k≤K consists of one element μ k , although this is in principle not mandatory. However, to protect the circuit as a whole, it is necessary that μ k are generated independently or randomly using some open random source or using an acceptable sharing scheme.
Хотя в последующем описании используется система обозначения мультипликативных групп для единообразия, понятно, что можно также хорошо осуществлять все построения с использованием эллиптических кривых.Although in the following description a multiplicative group notation system is used for uniformity, it is understood that all constructions using elliptic curves can also be well done.
2. Представление голосования: каждый избиратель νi шифрует свой выбор или решение в виде пары ЭльГамаля (Xi,Yi)=(gαi,hαi,mi), где αi∈Zq выбирается произвольно избирателем, и mi∈Sk, если νi; желает выбрать ответ аk. Эта зашифрованная величина затем передается в центр сбора голосов, обычно с присоединением цифровой подписи, созданной избирателем νi.2. Presentation of the vote: each voter ν i encrypts his choice or decision in the form of an ElGamal pair (X i , Y i ) = (g αi , h αi , m i ), where α i ∈Z q is chosen arbitrarily by the voter, and m i ∈S k if ν i ; wants to choose the answer a k . This encrypted value is then transmitted to the voting center, usually with the addition of a digital signature created by the voter ν i .
Если избиратель νi вычислял бы эти величины сам, например, с помощью карандаша и бумаги, то этот протокол был бы по существу достаточным для осуществления тайного голосования, универсально проверяемой системы выборов. (В зависимости от способа табуляции была бы необходима некоторая дополнительная информация, такая как подтверждение личности избирателя.) Однако, поскольку на практике избиратель νi выполняет лишь выбор с помощью какого-либо интерфейса пользователя, то не имеет смысла ожидать, что он будет следить за действительной величиной переданных битов и будет проверять их на предмет соответствия своему задуманному выбору. Короче говоря, исполнитель голосования может игнорировать замысел и передавать «выбираю μj», когда избиратель в действительности хотел передать «выбираю μk».If the voter ν i would calculate these values himself, for example, with a pencil and paper, then this protocol would be essentially sufficient for the implementation of secret ballot, a universally verified election system. (Depending on the tabulation method, some additional information would be necessary, such as confirmation of the voter's identity.) However, since in practice the voter ν i performs only the selection using some user interface, it does not make sense to expect him to follow the actual value of the transmitted bits and will check them for compliance with their intended choice. In short, the voting performer can ignore the intent and transmit “choose μ j ” when the voter really wanted to transmit “choose μ k ”.
Обычно избирателю необходимо иметь какой-то путь для проверки того, что зашифрованный выбор, который был принят в центре сбора голосов, совпадает с его собственным выбором. Попросту сделать данные избирательного ящика открытыми не было бы разумным решением, поскольку исполнитель голосования, а не избиратель выбирает αi. С целью обеспечения тайны выборов и приведения типа данных эта величина должна быть «потеряна». Таким образом, зашифрованный выбор избирателя νi является непрозрачным как для него самого, так и для любого другого. Обобщенное подтверждение из центра сбора голосов очевидно также не является достаточным. Основными необходимыми свойствами являются свойства:Typically, the voter needs to have some way to verify that the encrypted choice that was accepted at the vote center matches his own choice. Simply making the ballot box open would not be a smart decision, because the voting agent, not the voter, chooses α i . In order to ensure the secrecy of the election and cast the data type, this value must be “lost”. Thus, the encrypted choice of the voter ν i is opaque both for himself and for any other. A generalized confirmation from the voting center is also obviously not sufficient. The main necessary properties are properties:
1. Подтверждающая цепочка С, возвращаемая центром сбора голосов, должна быть функцией принятых данных (зашифрованного выбора).1. Confirmation chain C returned by the voting center should be a function of the received data (encrypted selection).
2. Избиратель и исполнитель голосования должны быть в состоянии выполнять специальный набор стадий, которые позволяют избирателю привязать С исключительно к выбору (или голосу) μk, который был принят.2. The voter and the voting performer should be able to perform a special set of stages that allow the voter to attach C exclusively to the choice (or vote) μ k that was adopted.
3. Для исполнителя голосования должно быть невозможным вести себя так, что избиратель является обманутым. То есть исполнитель не должен убеждать избирателя, что было принято μk, если в действительности было принято μ≠μk.3. It must not be possible for the voter to act in such a way that the voter is deceived. That is, the performer does not have to convince the voter that μ k was accepted, if in fact μ ≠ μ k was accepted.
В следующем разделе приведено описание такой схемы, которая будет называться SVC, в ее основной форме. В следующих разделах будут описаны некоторые улучшения и дополнения.The next section describes such a scheme, which will be called SVC, in its main form. The following sections will describe some of the improvements and additions.
В качестве части процесса голосования обычно выполняются следующие стадии.As part of the voting process, the following steps are usually performed.
СС-1. Исполнитель голосования Мi, приводимый в действие избирателем νi, создает зашифрованный избирательный бюллетень от имени избирателя νi, как и прежде. Обозначим это как (Xi,Yi)=(gαi,hαi,mi) для некоторой величины mi∈〈g〉 и αi∈Zq.SS-1. Voter M i , driven by the voter ν i , creates an encrypted ballot paper on behalf of the voter ν i , as before. We denote this by (X i , Y i ) = (g αi , h αi , m i ) for some quantity m i ∈ 〈g〉 and α i ∈Z q .
СС-2. Mi должен также создать доказательство достоверности Рi, которое является доказательством с нулевым знанием, что mi∈{μ1,...,μk} (такое доказательство легко создать из основного доказательства Чаум-Педерсона для равенства дискретных логарифмов с использованием технологии, указанной в [CDS94]. Специальный пример можно найти в [CGS97]).SS-2. M i must also create a proof of reliability P i , which is a zero-knowledge proof that m i ∈ {μ 1 , ..., μ k } (such a proof can be easily created from the main Chaum-Pederson proof for equality of discrete logarithms using technology referenced in [CDS94]. A special example can be found in [CGS97]).
СС-3. Затем Мi передает как Рi, так и (подписанный) выбор (Xi,Yi) в центр сбора голосов.SS-3. Then M i transmits both P i and the (signed) selection (X i , Y i ) to the vote collection center.
СС-4. Перед признанием зашифрованного избирательного бюллетеня центр сбора голосов сначала проверяет доказательство Рi. Если верификация Рi потерпит неудачу, то искажение уже обнаружено, и центр сбора голосов может либо не выдать цепочку подтверждения или выдать некоторую случайную цепочку по умолчанию.SS-4. Before recognizing the encrypted ballot, the voting center first checks the evidence P i . If the verification of P i fails, then the distortion is already detected, and the center of the vote collection may either not give out a confirmation chain or give out some random chain by default.
Сс-5. Если верификация Рi прошла удачно, то центр сбора голосов вычисляет величины Wi и Ui в видеSs-5. If the verification of P i was successful, then the center for collecting votes calculates the values of W i and U i in the form
, ,
где Ki∈G и βi∈Zq обычно генерируются произвольно и независимо (от избирателя к избирателю).where K i ∈G and β i ∈Z q are usually generated arbitrarily and independently (from voter to voter).
СС-6. Затем центр сбора голосов возвращает (Wi,Ui) к Мi.SS-6. Then the center of the collection of votes returns (W i , U i ) to M i .
СС-7. Исполнитель Мi вычисляетSS-7. Artist M i calculates
и отображает эту цепочку (или более вероятно ее хеш-функцию Н(Сi)) для избирателя νi.and displays this chain (or more likely its hash function H (C i )) for the voter ν i .
Избиратель должен знать, какую следует искать цепочку подтверждения. Это можно выполнять двумя разными путями. Наиболее прямым путем является получение избирателем νi величин Кi и βi из центра сбора голосов. Это осуществимо, требует передачи очень небольшого количества данных и может подходить для некоторых случаев осуществления. Однако в других ситуациях это может быть непривлекательным подходом, поскольку в этом случае необходимо вычислять Сi или (Н(Сi)). Поскольку запрос исполнителя Мi на выполнение этих вычислений разрушает защиту схемы, то избиратель νi должен иметь доступ к дополнительным вычислительным устройствам, а также доступ к независимому каналу связи.The voter must know which chain of confirmation to look for. This can be done in two different ways. The most direct way is to obtain the ν i voter of the values of K i and β i from the center of the vote collection. This is feasible, requires the transfer of a very small amount of data, and may be suitable for some implementation cases. However, in other situations this may be an unattractive approach, since in this case it is necessary to calculate C i or (H (C i )). Since the request of the performer M i to perform these calculations destroys the protection of the circuit, the voter ν i must have access to additional computing devices, as well as access to an independent communication channel.
В качестве альтернативного решения центр сбора голосов вычисляет все возможные цепочки подтверждения для νi и передает результаты в словарь подтверждений избирателя νi через независимый канал. Обычно словарь подтверждений избирателя νi будет состоять из следующей таблицы в любом разумном формате:As an alternative solution, the vote center calculates all possible confirmation chains for ν i and transfers the results to the voter confirmation dictionary ν i through an independent channel. Typically, the voter confirmation dictionary ν i will consist of the following table in any reasonable format:
··
·
··
·
где Н является открытой (опубликованной) хеш-функцией выборов (возможно, функцией идентичности) и Сij=Кiμj βi.where H is an open (published) hash function of choices (possibly an identity function) and C ij = K i μ j βi .
Естественно, что необходимо ответственно подходить к созданию независимого канала для обеспечения его действительной независимости. Однако для этого имеются решения. Поскольку Кi и βi можно генерировать заранее перед выборами, то даже медленные способы доставки, такие как наземная почта, можно использовать для передачи словаря.Naturally, it is necessary to responsibly approach the creation of an independent channel to ensure its real independence. However, there are solutions for this. Since K i and β i can be generated in advance of the election, even slow delivery methods, such as ground mail, can be used to transmit the dictionary.
Для более полного описания средства обнаружения ниже приводится пример, иллюстрирующий работу некоторых вариантов его выполнения. Ниже приводится подробное описание примера закрытого обмена для подтверждения величины.For a more complete description of the detection tool below is an example illustrating the operation of some options for its implementation. The following is a detailed description of an example of a closed exchange to confirm the value.
Для большей ясности примера несколько используемых основных параметров, например, число вопросов в избирательном бюллетене, и размер криптографических параметров намного меньше, чем обычно используются на практике. Кроме того, хотя аспекты примера обмена описывается ниже в конкретном порядке, для специалистов в данной области техники понятно, что их можно выполнять в различных других последовательностях.For clarity of the example, several key parameters used, for example, the number of questions on the ballot, and the size of cryptographic parameters are much smaller than are usually used in practice. In addition, although aspects of an example exchange are described below in a specific order, it will be understood by those skilled in the art that they can be performed in various other sequences.
Некоторые протоколы электронных выборов содержат дополнительные признаки, такие как:Some electronic election protocols contain additional features, such as:
- Информация сертификации избирателя и администрации (открытый ключ) для аутентификации и контроля;- Voter and administration certification information (public key) for authentication and control;
- Параметры стиля страницы избирательного бюллетеня;- Style options for the page of the ballot;
- Стандарты кодирования данных;- Data encoding standards;
- Протокол и параметры табуляции.- Protocol and tab parameters.
Поскольку эти признаки являются независимыми от осуществления закрытого подтверждения величин, то их подробное описание не включено в данный пример.Since these characteristics are independent of the implementation of closed confirmation of the values, their detailed description is not included in this example.
В этом примере предполагается, что электронный протокол, который кодирует ответы избирателя, является единичной парой ЭльГамаля. Однако на основе последующего описания можно легко составить обмен закрытого подтверждения величин для других протоколов выборов с использованием шифрования ЭльГамаля для избирательных бюллетеней. Например, некоторые варианты выполнения средства включают гомоморфный протокол выборов, описанный в заявке на патент США №09/535927. В этом протоколе ответ избирателя представлен несколькими парами ЭльГамаля. Словарь подтверждений, используемый в этом примере, легко модифицировать для отображения сочленения соответствующих цепочек подтверждения или для отображения хеш-функции их последовательности.In this example, it is assumed that the electronic protocol that encodes the voter responses is a single ElGamal pair. However, based on the following description, it is easy to make an exchange of closed confirmation of values for other election protocols using ElGamal encryption for ballots. For example, some embodiments of the tool include a homomorphic election protocol described in US patent application No. 09/535927. In this protocol, voter response is presented by several ElGamal couples. The confirmation dictionary used in this example is easy to modify to display the articulation of the corresponding confirmation chains or to display the hash function of their sequence.
Сначала должна быть согласована правовая основа данных инициализации выборов. Это включает по меньшей мере: основные криптографические числовые параметры, избирательный бюллетень (т.е. набор вопросов и разрешенных ответов и т.д.) и схема кодирования решений (это может также включать дополнительные данные, относящиеся к конкретно используемому протоколу выборов).First, the legal basis for election initialization data should be agreed. This includes at least: basic cryptographic numeric parameters, a ballot paper (i.e. a set of questions and allowed answers, etc.) and a decision coding scheme (this may also include additional data related to the particular election protocol used).
Криптографические параметрыCryptographic parameters
- арифметика групп: целочисленная мультипликативная модульная арифметика;- group arithmetic: integer multiplicative modular arithmetic;
первичный модуль: р = 47;primary module: p = 47;
- модуль подгруппы: q = 23;- subgroup module: q = 23;
- генератор: g = 2;- generator: g = 2;
- открытый ключ: h = gs, где s является закрытым. Для данного примера принимается, что h = gl2 = 7.- public key: h = gs, where s is private. For this example, it is assumed that h = gl2 = 7.
Избирательный бюллетеньBallot
- один вопрос- one question
- текст 1 вопроса: Каким должен быть цвет нашего флага (можно выбрать максимально 1 цвет);- text of 1 question: What should be the color of our flag (you can choose a maximum of 1 color);
- число ответов/выбора: 4- number of answers / choice: 4
* текст 1 ответа: синий* 1 response text: blue
* текст 2 ответа: зеленый* text 2 of the answer: green
* текст 3 ответа: красный* text 3 of the answer: red
* текст 4 ответа: я воздерживаюсь.* text 4 of the answer: I abstain.
Схема кодирования решенийDecoding Coding Scheme
В некоторый момент времени перед выдачей подтверждения и перед распределением словарей подтверждения центр сбора голосов (или агентство) генерирует для каждого избирателя Vi случайные, независимые βi и Кi. Если словарь подтверждений должен рассылаться после приема голоса, то эти параметры можно генерировать для каждого избирателя сразу после признания каждого проголосованного избирательного бюллетеня. В качестве альтернативного решения их можно генерировать заранее перед выборами. В данном примере агентство по сбору избирательных бюллетеней имеет доступ к этим параметрам как непосредственно после признания проголосованного избирательного бюллетеня, так и непосредственно перед передачей соответствующему избирателю словаря подтверждений.At some point in time before issuing the acknowledgment and confirmation before distribution dictionaries vote collection center (or agency) generates for each voter V i random, independent β i and K i. If a dictionary of confirmations is to be sent out after receiving the vote, then these parameters can be generated for each voter immediately after the recognition of each voting ballot. Alternatively, they can be generated in advance of the election. In this example, the ballot collection agency has access to these parameters both immediately after recognizing the ballot and immediately before sending the confirmation dictionary to the relevant voter.
В некоторый момент времени в течение официального времени выборов каждый избиратель V получает и аутентифицирует данные инициализации выборов, указанные выше. Их можно получить, направив запрос на избирательный бюллетень в любой избирательный сервер. В качестве альтернативного решения законодательные органы могут иметь подходящие средства для публикации данных инициализации выборов, т.е. сделать их удобным образом доступными для всех избирателей.At some point in time during the official election time, each voter V receives and authenticates the election initialization data indicated above. They can be obtained by sending a ballot request to any election server. As an alternative solution, the legislature may have suitable means for publishing election initialization data, i.e. make them convenient for all voters.
Из данных инициализации выборов избиратель V способен определить, что ожидаемый ответ является стандартным кодированием конкретной последовательности из двух различимых элементов данных. Ими являются (в их точном порядке):From the election initialization data, voter V is able to determine that the expected response is standard coding of a particular sequence of two distinguishable data elements. They are (in their exact order):
Шифрование выбораSelection encryption
Пара целых чисел (X,Z), где 0≤X,Z<47, указывающих (в зашифрованном виде) выбор, или ответ, избирателя. Например, для того чтобы ответ был действительным, он должен быть дан в виде (X,Y)=(2α,7α μ), где 0≤α<23 и μ∈{9,21,36,17}.A pair of integers (X, Z), where 0≤X, Z <47, indicating (in encrypted form) the choice, or answer, of the voter. For example, in order for an answer to be valid, it must be given in the form (X, Y) = (2 α , 7 α μ ), where 0≤α <23 and μ∈ {9,21,36,17}.
Доказательство достоверностиEvidence of credibility
Доказательство достоверности должно показывать, что (X,Y) имеет вид, описанный на стадии шифрования выбора (в данном примере, необходимо видеть, что это доказательство состоит из 15 модульных целых чисел, расположенных в специальной последовательности).The proof of reliability should show that (X, Y) has the form described at the encryption stage of the choice (in this example, you must see that this proof consists of 15 modular integers arranged in a special sequence).
В данном примере предполагается, что избиратель V желает отдать голос за «зеленый».In this example, it is assumed that voter V wishes to vote for “green.”
1. Избиратель генерирует по случайному закону α∈Z23. В данном примере α = 5. Поскольку кодированием «зеленого» является 21, то выбор избирателя V вычисляется как1. The voter randomly generates α∈Z 23 . In this example, α = 5. Since the encoding of “green” is 21, the choice of the voter V is calculated as
Эта пара является тем, что должно быть передано в центр сбора голосов.This pair is what should be transferred to the vote center.
Возможной опасностью является то, что компьютер избирателя V может попытаться изменить эти величины.A possible danger is that voter computer V may try to change these values.
Избиратель V (или точнее компьютер избирателя V) должен доказать, что соблюдается одно из следующих условийVoter V (or rather, V’s computer) must prove that one of the following conditions is met
1. (X,Y)=(2α,7αx9), то есть выбор (отданный голос) означает «синий»;1. (X, Y) = (2 α , 7 α x9), that is, the choice (cast vote) means “blue”;
2. (X,Y)=(2α,7αx21), то есть выбор (отданный голос) означает «зеленый»;2. (X, Y) = (2 α , 7 α x21), that is, the choice (cast vote) means “green”;
3. (X,Y)=(2α,7αlx36), то есть выбор (отданный голос) означает «красный»;3. (X, Y) = (2 α , 7 αl x36), that is, the choice (cast vote) means “red”;
4. (X,Y)=(2α,7αx21), то есть выбор (отданный голос) означает «я воздерживаюсь»4. (X, Y) = (2 α , 7 α x21), that is, the choice (cast vote) means “I abstain”
для некоторой неуказанной величины α без раскрытия ее действительного значения.for some unspecified value of α without disclosing its actual value.
Для осуществления этого имеется множество стандартных способов. Смотри, например, R. Cramer, I. Damgard, В. Schoenmakers «Доказательства частичного знания и упрощенная конструкция протоколов сокрытия свидетеля», Advances in Criptology - CRYPTO'94, Lecture Notes in Computer Science, страницы 174-187, издательство Springer-Verlag, Берлин, 1994. Технология закрытого подтверждения величин, используемая средством, работает также хорошо с любым способом, который соответствует абстрактным критериям предыдущего параграфа. Хотя ниже приведены детали одного такого способа доказательства достоверности, в вариантах выполнения средства можно использовать доказательства достоверности другого типа.There are many standard methods for doing this. See, for example, R. Cramer, I. Damgard, W. Schoenmakers, “Evidence of Partial Knowledge and Simplified Design of Witness Concealment Protocols,” Advances in Criptology - CRYPTO'94, Lecture Notes in Computer Science, pages 174-187, Springer-Verlag , Berlin, 1994. The closed value confirmation technology used by the tool also works well with any method that meets the abstract criteria of the previous paragraph. Although the following are details of one such method of proving reliability, another type of evidence of authenticity can be used in embodiments of the tool.
Состав доказательства достоверностиComposition of evidence of credibility
(В последующем каждое действие или вычисление, которое должен выполнять избиратель V, в действительности выполняется компьютером избирателя V).(Subsequently, every action or calculation that V must perform is actually performed by V's computer).
1. V устанавливает α2=α=5.1. V sets α2 = α = 5.
2. V генерирует ω2∈RZ23,r1,r3,r4∈RZ23,S1,S3,S4∈RZ23, все по случайному закону и независимо. Для данного примера принимается2. V generates ω 2 ∈ R Z 23 , r 1 , r 3 , r 4 ∈ R Z 23 , S 1 , S 3 , S 4 ∈ R Z 23 , all randomly and independently. For this example, accepted
3. V вычисляет соответствующие величины3. V calculates the corresponding quantities
4. V использует опубликованную хеш-функцию для вычисления c∈Z23 как4. V uses the published hash function to compute c∈Z 23 as
Поскольку можно выбирать различные хеш-функции, то для данного примера выбирается любая случайная величина, например,Since you can choose various hash functions, for this example, any random variable is selected, for example,
(На практике для вычисления Н можно использовать SHA1 или MD5 или другие стандарты, защищающие хеш-функцию).(In practice, SHA1 or MD5 or other standards protecting the hash function can be used to calculate H).
5. V вычисляет интерполяционный многочлен Р(х) степени 4-1=3.5. V computes the interpolation polynomial P (x) of degree 4-1 = 3.
Заданными свойствами Р являютсяThe specified properties of P are
P(x)=Σ3 j=0 Zj Xj вычисляется с использованием стандартной теории многочленной интерполяции с получением:P (x) = Σ 3 j = 0 Z j X j is calculated using the standard theory of polynomial interpolation to obtain:
илиor
6. V вычисляет величины6. V calculates the quantities
r2=ω2+α2s2=4+5х5=6r 2 = ω 2 + α 2 s 2 = 4 + 5x5 = 6
7. Доказательство достоверности V состоит из 12 чисел7. The proof of confidence V consists of 12 numbers
и трех чиселand three numbers
в точной последовательности (z0 можно не передавать, поскольку она вычисляется из других элементов данных, передаваемых с использованием опубликованной хеш-функции Н).in the exact sequence (z 0 can be omitted, since it is calculated from other data elements transmitted using the published hash function H).
После вычисления необходимого зашифрованного выбора (X,Y) и соответствующего доказательства достоверности, избиратель V кодирует эти элементы в последовательности, заданной стандартным форматом кодирования. Полученные последовательности образуют проголосованный избирательный бюллетень избирателя V. (Для того чтобы сделать проголосованный избирательный бюллетень неизменяемым и неоспоримым, избиратель V может также подписать в цифровом виде этот проголосованный избирательный бюллетень с помощью своего личного ключа подписи). Полученная комбинация из проголосованного избирательного бюллетеня и подпись избирателя V (точнее, стандартное кодирование этих двух элементов) образуют его подписанный проголосованный избирательный бюллетень). Наконец, каждый избиратель передает свой (не обязательно, подписанный) проголосованный избирательный бюллетень обратно в центр сбора голосов.After calculating the required encrypted selection (X, Y) and the corresponding proof of validity, voter V encodes these elements in the sequence specified by the standard encoding format. The resulting sequences constitute Voter Voting Ballot. (In order to make a voted ballot immutable and undeniable, V can also digitally sign this ballot using his personal signature key). The resulting combination of the ballot paper and the voter's signature V (more precisely, the standard coding of these two elements) form his signed ballot paper). Finally, each voter sends his (optionally signed) voting ballot back to the vote collection center.
Как указывалось выше, специфичные случайные параметры для избирателя V (β и К) являются доступными в центре сбора голосов. В данном примере этоAs indicated above, specific random parameters for voter V (β and K) are available at the voting center. In this example, this
После получения проголосованного избирательного бюллетеня избирателя (не обязательно подписанного) в центре сбора голосов выполняются следующие стадии:After receiving a voter’s voting ballot (not necessarily signed), the following stages are carried out in the voting center:
1. Проверяется цифровая подпись для определения аутентичности избирательного бюллетеня, а также права избирателя на участие в выборах.1. A digital signature is verified to determine the authenticity of the ballot, as well as the voter's right to vote.
2. Если проверка подписи на стадии 1 верифицирована как правильная, то центр сбора голосов проверяет затем доказательство достоверности. Для частного типа доказательства достоверности, который выбран для использования в данном примере, это состоит в следующем:2. If the verification of the signature at stage 1 is verified as correct, then the center for collecting votes then checks the evidence of authenticity. For a particular type of evidence of confidence that is selected for use in this example, this is as follows:
(a) Используется хеш-функция Н для вычисления величины(a) The hash function H is used to calculate the value
P(0)=z0 P (0) = z 0
(Напоминаем, что остальные коэффициенты Р, z1, z2, z3 являются частью переданного проголосованного (не обязательно подписанного) избирательного бюллетеня избирателя V).(We remind you that the remaining coefficients P, z 1 , z 2 , z 3 are part of the transmitted (not necessarily signed) voter ballot V).
(b) Для каждого 1≤j≤4 оцениваются обе стороны уравнений(b) For each 1≤j≤4, both sides of the equations are estimated
(В данном случае, как указывалось выше, μj берется из схемы кодирования решений). Если уравнение не сходится в любом из случаев, то верификация не состоится. Этот избирательный бюллетень не признается, и к избирателю V обратно передается произвольная цепочка (указатель) отказа.(In this case, as indicated above, μ j is taken from the decision coding scheme). If the equation does not converge in any of the cases, then verification will fail. This ballot is not recognized, and an arbitrary refusal chain (pointer) is returned to voter V.
3. При успешно выполненной предыдущей стадии ответная цепочка (W, U) вычисляется как3. If the previous step was successfully completed, the response chain (W, U) is calculated as
Эта последовательная пара кодируется, как задано форматом открытого кодирования, и возвращается избирателю V.This serial pair is encoded as specified by the open encoding format and is returned to voter V.
4. Система избирателя V вычисляет4. V voter system calculates
и отображает эту цепочку избирателю (в качестве альтернативного решения протокол может определять, что открытую хеш-функцию следует вычислять из С. В данном примере отображается сама С). Если компьютер избирателя V попытается передать выбор, отличающийся от «зеленого», то вычисленная выше величина С будет другой. Более того, правильная величина С не может быть вычислена из неправильной величины без решения проблемы Диффи-Хеллмана (для небольших величин р и q, которые выбраны в данном примере, это возможно. Однако для реальных криптографических параметров, компьютер избирателя V не способен выполнить это). Таким образом, если компьютер избирателя V передал зашифрованный избирательный бюллетень, который не соответствует выбору избирателя V, то имеются лишь две возможности в тот момент времени, когда от него ожидается отображение подтверждения. Он может отобразить что-нибудь, или же он может ничего не отобразить. В случае, когда не отображается ничего, то избиратель V может воспринимать это как указание на то, что избирательный бюллетень фальсифицирован. В случае, когда отображается что-нибудь, то это наверное будет неправильным, и избиратель V снова может сделать вывод, что избирательный бюллетень был сфальсифицирован.and displays this chain to the voter (as an alternative solution, the protocol can determine that the open hash function should be calculated from C. In this example, C itself is displayed). If the voter's computer V tries to transfer a choice different from “green”, then the value C calculated above will be different. Moreover, the correct value of C cannot be calculated from the wrong value without solving the Diffie-Hellman problem (for small values of p and q that are selected in this example, this is possible. However, for real cryptographic parameters, the voter computer V is not able to do this) . Thus, if voter V's computer has transmitted an encrypted ballot that does not match voter V’s choice, then there are only two possibilities at the point in time when confirmation is expected from him. It may display something, or it may not display anything. In the event that nothing is displayed, voter V may perceive this as an indication that the ballot is falsified. In the case when something is displayed, it will probably be wrong, and voter V can again conclude that the ballot was falsified.
Затем избиратель V сравнивает величину С, отображенную на дисплее, с величиной, находящейся в словаре подтверждений избирателя V, соответствующей выбору «зеленый» (задуманный избирателем V выбор). В это время избиратель V мог уже получить заранее свой словарь подтверждений, или же мог получить его копию через любой независимый канал. Примером такого канала может быть использование факса. Если отображенная величина не совпадает с соответствующей цепочкой подтверждения в словаре подтверждений, то фальсификация обнаружена, и избирательный бюллетень можно «опустить» повторно в соответствии с выбранной для выборов стратегией.Then, the voter V compares the value C displayed on the display with the value found in the voter confirmation dictionary V corresponding to the “green” choice (the choice conceived by the voter V). At this time, voter V could already receive his confirmation dictionary in advance, or he could get a copy of it through any independent channel. An example of such a channel is the use of fax. If the displayed value does not match the corresponding confirmation chain in the confirmation dictionary, then falsification is detected and the ballot paper can be “omitted” again in accordance with the strategy chosen for the election.
Словарь подтверждений для каждого избирателя вычисляет центр сбора голосов, поскольку, как указывалось выше, он является органом, который располагает знанием специфичной для избирателя величины α и К. В случае рассматриваемого избирателя V словарь вычисляется в видеThe dictionary of confirmations for each voter calculates the center for collecting votes, because, as mentioned above, it is a body that has knowledge of the specific values of the voter α and K. In the case of the voter V, the dictionary is calculated as
Описание уровня защиты, обеспечиваемого средством при использовании схемы закрытого подтверждения величин, приводится ниже: предположим, что А является противником исполнителя голосования, и ∈0 является верхним пределом вероятности того, что А способен подделать доказательство достоверности для любого заданного μi,...,μk (мы знаем, что ∈0 является пренебрежительно малым).A description of the level of protection provided by the tool when using the scheme of closed confirmation of values is given below: suppose that A is an adversary of the voting agent, and ∈ 0 is the upper limit of the probability that A is capable of falsifying the evidence of reliability for any given μ i , ..., μ k (we know that ∈ 0 is negligible).
Теорема 1. Предположим, что схема закрытого подтверждения величин выполняется с Н=Id. При этом 1≤k1≠k2≤K. Предположим, что для некоторого ∈>0 можно с вероятностью ∈ передать bi=(gαihαiμk1) и отобразить Сik2=Kiμk2 βi, где вероятность принята равномерной по всей комбинации величин для μ1,...,μkg,h,βi и Кi. Тогда А может решить случайный пример а проблемы Диффи-Хеллмана с вероятность ∈ и дополнительной работой О(К).Theorem 1. Suppose that the scheme for closed confirmation of quantities is performed with H = Id. Moreover, 1≤k 1 ≠ k 2 ≤K. Suppose that for some ∈> 0 it is possible to transfer b i = (g αi h αi μ k1 ) and map C ik2 = K i μ k2 βi , where the probability is assumed to be uniform over the whole combination of values for μ 1 , ... , μ k g, h, β i and K i . Then A can solve a random example a of the Diffie-Hellman problem with probability ∈ and additional work O (K).
Доказательство. Предположим, что А имеет X,Y,Z∈R<g>. А может имитировать выборы и обмен закрытого подтверждения величин посредством выбора независимо по случайному закону Cik1<g> и μk∈〈g〉 для всех устанавливая h=X,hβi=Y и μk2=μk1Z. Полученное распределение параметров выборов и Cik1 очевидно является идентичными с распределением, которое получается в результате действительных выборов. С вероятностью ∈ противник А может отобразить Сik2 и может тем самым вычислитьEvidence. Suppose A has X, Y, Z∈ R <g>. And it can imitate the selections and exchanges of closed confirmation of quantities by means of a choice independently by random law C ik1 <g> and μ k ∈ 〈g〉 for all setting h = X, h βi = Y, and μ k2 = μ k1 Z. The resulting distribution of election parameters and C ik1 are obviously identical to the distribution that results from actual elections. With probability ∈, adversary A can map C ik2 and can thereby calculate
Таким образом, logxC=βilogxYlogxZ и С является решением примера проблемы Диффи-Хеллмана, представленного тройной величиной (X,Y,Z).Thus, log x C = β i log x Ylog x Z and C is a solution to the example of the Diffie-Hellman problem represented by the triple value (X, Y, Z).
Следствие 1. Предположим снова, что схема закрытого подтверждения величин выполняется с Н=Id. При этом 1≤k1≠k2≤K. Предположим, что для некоторого ∈1>0 противник А может с вероятностью ∈1 выбрать k1≠k2, передать bi=(gαihαiμk1) и отобразить Cik2=Kiμk2 βi, где вероятность принята равномерной по всей комбинации величин для μ1,...,μK,g,h,βi и Кi. Тогда А может решить случайный пример а проблемы Диффи-Хеллмана с вероятность ∈1/(K-l) и дополнительной работой 0(К).Corollary 1. Suppose again that the closed-loop confirmation scheme is performed with H = Id. Moreover, 1≤k 1 ≠ k 2 ≤K. Suppose that for some ∈ 1 > 0, adversary A can choose k 1 ≠ k 2 with probability ∈ 1 , pass b i = (g αi h αi μ k1 ) and map C ik2 = K i μ k2 βi , where the probability is assumed to be uniform over the entire combination of values for μ 1 , ..., μ K , g, h, β i and K i . Then A can solve a random example a of the Diffie-Hellman problem with probability ∈ 1 / (Kl) and additional work 0 (K).
Доказательство: необходимо следовать доказательству теоремы 1, но относительно проблемы нахождения решения для по меньшей мере одной проблемы К-1 Диффи-Хеллмана.Proof: it is necessary to follow the proof of Theorem 1, but with respect to the problem of finding a solution for at least one Diffie-Hellman K-1 problem.
Следствие 2. Предположим, что является верхней границей вероятности того, что А может решить случайный пример проблемы Диффи-Хеллмана. Тогда в случае H=Id верхней границей вероятности того, что А может передать выбор а, который отличается от выбора избирателя, и тем не менее отобразить правильную цепочку подтверждения, является ∈0+(K-l)∈DH.Corollary 2. Suppose that is the upper bound on the probability that A can solve a random example of the Diffie-Hellman problem. Then, in the case of H = Id, the upper limit of the probability that A can transfer the choice of a, which differs from the choice of the voter, and nevertheless display the correct confirmation chain, is ∈ 0 + (Kl) ∈ DH .
Если хеш-функция Н является не тривиальной, то нельзя надеяться на сравнение возможности решения проблемы Диффи-Хеллмана без значительного специального знания свойств Н. Вместо того чтобы оценивать защиту схемы для специально выбранных Н, предположим лишь, что Н имеет пренебрежительно малую вероятность совпадения, и вместо этого оценим защищенность проблемы Диффи-Хеллмана для принятия решений. Вариантом этой проблемы может служить следующее. А имеет последовательность набора чисел (Xn,Yn,Zn,Cn), где Xn,Yn,Zn генерированы независимо по случайному закону. С вероятностью 1/2 Сn является решением примера (Xn,Yn,Zn) проблемы Диффи-Хеллмана, и с вероятностью 1-1/2=1/2 Сn генерирована по случайному закону и независимо. Говорится, что А имеет преимущество ∈-DDH, если А может с вероятностью 1/2+е получить ответ на вопрос logxnCn=logxnZnlogxnZn?If the hash function of H is not trivial, then one cannot hope to compare the feasibility of solving the Diffie-Hellman problem without significant special knowledge of the properties of H. Instead of evaluating the protection of the circuit for specially selected H, we only assume that H has a negligible probability of coincidence, and instead, we evaluate the security of the Diffie-Hellman problem for decision making. A variant of this problem is the following. A has a sequence of a set of numbers (X n , Y n , Z n , C n ), where X n , Y n , Z n are generated independently by random law. With a probability of 1/2 C n is a solution to an example (X n , Y n , Z n ) of the Diffie-Hellman problem, and with a probability of 1-1 / 2 = 1/2 C n is generated randomly and independently. It is said that A takes precedence ∈-DDH if A can, with a probability of 1/2 + e, get the answer to the question logx n C n = logx n Z n logx n Z n ?
Теорема 1 и следствия 1 и 2 очевидно имеют аналоги в случае H≠Id (только при предположении, что Р имеет пренебрежительно малую вероятность совпадения). Оба утверждения и доказательства выполняются с небольшими вариациями, поэтому можно подвести итог следующим образом:Theorem 1 and Corollaries 1 and 2 obviously have analogues in the case H ≠ Id (only under the assumption that P has a negligible probability of coincidence). Both statements and proofs are carried out with slight variations, so we can summarize as follows:
Следствие 3. Предположим, что является верхней границей преимущества DDH противника А. Тогда, если Н является любой хеш-функцией с пренебрежительно малой вероятностью совпадения, то верхней границей вероятности того, что А может передать выбор а, который отличается от выбора избирателя, и тем не менее отобразить правильную цепочку подтверждения, является ∈0+(К-1)∈DDH.Corollary 3. Suppose that is the upper limit of the DDH advantage of adversary A. Then, if H is any hash function with a negligible probability of coincidence, then the upper limit of the probability that A can transmit a choice that is different from the voter’s choice, and still display the correct confirmation chain , is ∈ 0 + (K-1) ∈ DDH .
Схема закрытого подтверждения величин не может обеспечить какой-либо защиты, если противник А контролирует также центр сбора голосов. Если это так, то А имеет доступ к Кi и βi и таким образом может легко отображать любую правильную цепочку подтверждения по своему выбору. Это представляется маловероятным, поскольку центр сбора голосов будет неопровержимо изобличен в случае раскрытия таких действий. Тем не менее, в случае, когда недопустимо доверять центру сбора голосов в этом отношении, ответственность за подтверждение можно распределять между многими выбранными администрациями.The closed confirmation of values scheme cannot provide any protection if adversary A also controls the center for collecting votes. If so, then A has access to K i and β i, and thus can easily display any valid confirmation chain of his choice. This is unlikely, as the center for the collection of votes will be irrefutably exposed in case of disclosure of such actions. However, in the event that it is unacceptable to trust the center of the collection of votes in this regard, the responsibility for confirmation can be shared among many selected administrations.
Для распределения ответственности за подтверждение каждая администрация Aj при 1≤j≤J, генерирует (для избирателя νi) независимо и по случайному закону Кij и βij. Администрации могут их комбинировать двумя общими способами.For the distribution of responsibility for confirmation, each administration A j with 1≤j≤J generates (for the voter ν i ) independently and randomly, K ij and β ij . Administrations can combine them in two general ways.
1. Конкатенация. Цепочка подтверждения для избирателя вычисляется в виде конкатенации в заданном порядке отдельных цепочек подтверждения (вычисляемых по отдельности, как и в предшествующей части), соответствующих каждой администрации J. В этом случае подтверждение является успешным, только если все субцепочки будут верифицированы как правильные.1. Concatenation. The confirmation chain for the voter is calculated as the concatenation in the given order of the individual confirmation chains (calculated separately, as in the previous part), corresponding to each administration J. In this case, the confirmation is successful only if all sub-chains are verified as correct.
2. Достоверный сервер или принтер. Если допустимо доверять единственному центральному серверу или принтеру, то множество цепочек подтверждения можно объединять в одну цепочку того же размера с помощью простого вычисления2. Reliable server or printer. If it is permissible to trust a single central server or printer, then many confirmation chains can be combined into one chain of the same size with a simple calculation
Это дает преимущество уменьшения количества данных подтверждения, которые необходимо передавать избирателю, однако за счет создания центральной точки для атаки на систему.This has the advantage of reducing the amount of confirmation data that needs to be transmitted to the voter, however, by creating a central point for attacking the system.
Всегда желательно сократить размер данных, которые необходимо передавать избирателю через независимый канал. Как было описано в части 3, словарь подтверждений уже является небольшим по стандартам современной технологии связи, однако может быть предпочтительным с точки зрения стоимости передавать еще меньше данных. Как указывалось выше, один подход может заключаться в передаче закрытых Кi и βi непосредственно избирателю, однако это имеет тот недостаток, что на избирателя перекладывается слишком большая вычислительная нагрузка, которую он не может выполнить в уме или на бумаге. Следующая вариация схемы закрытого подтверждения величин обеспечивает достижение обеих целей - меньше данных для передачи через независимый канал связи и меньше устного счета для избирателя. Это осуществляется за счет того, что повышается вероятность обмана избирателя противником, однако это может быть приемлемым с точки зрения всех выборов. Даже если вероятность того, что противник останется незамеченным, составляет, например, 1/2, при изменении значительной части голосов, вероятность того, что это будет обнаружено статистически значительной частью избирателей, очень высока. Как указывалось выше во вступительной части, возможны исправительные меры.It is always advisable to reduce the size of the data that must be transmitted to the voter through an independent channel. As described in Part 3, the confirmation dictionary is already small by the standards of modern communications technology, but it may be preferable in terms of cost to transmit even less data. As indicated above, one approach may be to transfer the closed K i and β i directly to the voter, however, this has the disadvantage that too much computational load is transferred to the voter, which he cannot fulfill in his mind or on paper. The next variation of the scheme of closed confirmation of values ensures the achievement of both goals - less data to transmit through an independent communication channel and less verbal counting for the voter. This is due to the fact that the likelihood of voter fraud by the enemy increases, but this may be acceptable from the point of view of all elections. Even if the probability that the adversary will go unnoticed is, for example, 1/2, when a significant part of the votes changes, the probability that this will be detected by a statistically significant part of the voters is very high. As mentioned in the introduction, corrective measures are possible.
Идея состоит в доставке избирателю всего набора цепочек подтверждения через подозреваемого исполнителя, однако в случайно переставленном порядке. В этом случае единственной дополнительной информацией, которая требуется избирателю, является использованная перестановка. В этом сценарии это не является достаточным, поскольку доступны все цепочки подтверждения и противник может получить некоторое преимущество просто с помощью процесса исключения (особенно полезно рассмотреть случай, когда К=2). Для повышения защиты включим в словарь несколько случайных цепочек подтверждения, которые также переставлены.The idea is to deliver to the voter the entire set of confirmation chains through the suspected performer, but in a randomly rearranged order. In this case, the only additional information that the voter needs is the permutation used. In this scenario, this is not sufficient, since all confirmation chains are available and the adversary can gain some advantage simply by using the exclusion process (it is especially useful to consider the case when K = 2). To increase protection, we will include several random confirmation chains in the dictionary, which are also rearranged.
Как и прежде, выполняются стадии, указанные в части 3.1. Дополнительно к этому центр сбора голосов передает исполнителю Мi рандомизированный словарь Di. Центр сбора голосов осуществляет это следующим образом:As before, the stages specified in part 3.1 are performed. In addition to this, the center for collecting votes transmits to the performer M i a randomized dictionary D i . The voting center carries out this as follows:
RD-1. Как и прежде, вычисляются К (специфичные для избирателей) цепочек подтвержденияRD-1. As before, K (voter-specific) confirmation chains are calculated
RD-2. Дополнительно к этому генерируют L дополнительных цепочек в видеRD-2. In addition to this, L additional chains are generated in the form
где e1,...,eL генерируются по случайному закону в Zq.where e 1 , ..., e L are randomly generated in Z q .
RD-3. Генерируется случайная перестановка σi∈Σк+L.RD-3. A random permutation σ i ∈Σ to + L is generated.
RD-4. С устанавливает Qij=Siσi(j) для 1≤j≤K+L и устанавливает Di в качестве последовательности цепочек (Qi1,...Qi(K+L)).RD-4. C sets Q ij = S iσi (j) for 1≤j≤K + L and sets D i as a sequence of chains (Q i1 , ... Q i (K + L) ).
Если С передает некоторое «читаемое человеком» представление σi к избирателю νi через независимый канал, то избиратель νi может теперь проверить свое голосование посредством нахождения цепочки подтверждения с правильным индексом. Обозначим эту схему как закрытое подтверждение величин 0 (SCVO).If C transmits some “human readable” representation of σ i to voter ν i through an independent channel, then voter ν i can now verify his vote by finding a confirmation chain with the correct index. We denote this scheme as a closed confirmation of values 0 (SCVO).
Относительно уровня защиты SVCO рассмотрим следующую форму проблемы Диффи-Хеллмана по принятию решений: А имеет последовательность набора чисел (Xn,Yn,Zn,Cn,Dn), где Xn,Yn, Zn генерированы независимо по случайному закону. Предположим, что Rn генерировано по случайному закону, и On является решением уравнения logXnOn=logXnYnlogXnZn. С вероятностью 1/2 (Cn,Dn)=(On,Rn) и с вероятностью 1-1/2=1/2(Cn,Dn)=(Rn,On). Утверждается, что А имеет преимущество ∈-DDHP, если А может с вероятностью 1/2+∈ получить ответ на вопрос logxnCn=logxnZnlogxnZn? To есть противник А должен ответить на тот же вопрос, что и в первоначальной версии проблемы, однако проблема может быть более простой, поскольку доступна большая информация.Regarding the level of protection of SVCO, we consider the following form of the Diffie-Hellman decision-making problem: A has a sequence of a set of numbers (X n , Y n , Z n , C n , D n ), where X n , Y n , Z n are generated independently randomly the law. Suppose that R n is randomly generated and O n is a solution of the equation logX n O n = log Xn Y n log Xn Zn. With a probability of 1/2 (C n , D n ) = (O n , R n ) and with a probability of 1-1 / 2 = 1/2 (C n , D n ) = (Rn, On). It is claimed that A takes precedence ∈-DDHP if A can, with a probability of 1/2 + ∈, get the answer to the question logx n C n = logx n Z n logx n Z n ? That is, opponent A must answer the same question as in the original version of the problem, however, the problem may be simpler because more information is available.
Теорема 3. Предположим, что является верхней границей преимущества DDHP противника А и Н является любой хеш-функцией с пренебрежительно малой вероятностью совпадения. Верхней границей вероятности при схеме SCVO того, что А может передать выбор а, который отличается от выбора избирателя, и тем не менее отобразить правильную цепочку подтверждения, являетсяTheorem 3. Suppose that is the upper limit of the enemy DDHP advantage of A and H is any hash function with a negligible probability of coincidence. The upper limit of probability in the SCVO scheme that A can transmit choice a, which is different from voter selection, and still display the correct confirmation chain, is
Доказательство: так же как в доказательстве теоремы 1, противник А может имитировать выборы и обмен SCVO. Однако в данном случае А должен также имитировать список цепочек подтверждения, которые были недоступны в схеме закрытого подтверждения величин (SVC). Для заданных k1,k2 А может выбрать Cik1∈〈g〉 по случайному закону, и для всех k1≠k2 выбрать Θk∈Zq независимо по случайному закону. Затем А устанавливает μk=XΘk. Для k1≠k2,k2 противник А устанавливает Cik=CiklYΘk-Θk1. A устанавливает μk2=μk1Z и генерирует L дополнительных случайных μl и l-1 дополнительных Сil по случайному закону. Наконец, А устанавливает Cik2=Cik1 и последний остающийся Сil=CiklDn. Как и прежде, нахождение правильной цепочки подтверждения является эквивалентным принятию решения, какая из величин Cn,Dn является правильным решением проблемы Диффи-Хеллмана. Получение среднего по всем перестановкам с равномерной вероятностью дает результат.Proof: just as in the proof of Theorem 1, adversary A can imitate SCVO choices and exchanges. However, in this case, A must also simulate a list of confirmation chains that were not available in the closed value confirmation scheme (SVC). For given k 1 , k 2 A can choose C ik1 ∈ 〈g〉 according to a random law, and for all k 1 ≠ k 2 choose выбрать k ∈Z q independently by a random law. Then A establishes μ k = X Θk . For k 1 ≠ k 2 , k 2, adversary A sets C ik = C ikl Y Θk-Θk1 . A sets μ k2 = μ k1 Z and generates L additional random μ l and l-1 additional С il randomly. Finally, A sets C ik2 = C ik1 and the last remaining C il = C ikl D n . As before, finding the right confirmation chain is equivalent to deciding which of the values of C n , D n is the correct solution to the Diffie-Hellman problem. Getting the average of all permutations with uniform probability gives a result.
Ниже описана возможная альтернатива схеме закрытого подтверждения величин, описанной выше. Уровень защиты этих двух схем является по существу одинаковым.The following describes a possible alternative to the closed confirmation scheme of the values described above. The protection level of these two schemes is essentially the same.
1. Дополнительно к открытому ключу h центр сбора голосов публикует другой открытый ключ в виде h=hd, где d∈Zq является секретом, известным лишь центру сбора голосов.1. In addition to the public key h, the vote center publishes another public key in the form h = h d , where d∈Z q is a secret known only to the vote center.
2. Исполнитель Мi передает зашифрованный избирательный бюллетень от имени νi, как и прежде, однако избыточно зашифрованный с помощью как h, так и h. Запишем второе шифрование как2. The performer M i transmits an encrypted ballot paper on behalf of ν i , as before, but is excessively encrypted using both h and h. We write the second encryption as
где αi выбирается независимо от αi.where α i is selected independently of α i .
3. Mi также создает простое доказательство достоверности (по существу единичное доказательство Чаум-Педерсена), что две величины являются шифровками одной и той же величины.3. M i also creates a simple proof of certainty (essentially a single Chaum-Pedersen proof) that two quantities are ciphers of the same value.
4. Если доказательство достоверности не было признано центром сбора голосов, то фальсификация обнаружена, как и прежде.4. If the evidence of credibility was not recognized by the center for collecting votes, then fraud was discovered, as before.
5. Центр сбора голосов выбирает по случайному закону Ki∈〈g〉; βi∈Zq и вычисляет5. The center for the collection of votes randomly selects K i ∈ 〈g〉; β i ∈Z q and computes
6. Центр сбора голосов возвращает hβi и Vi к Mi.6. The collection center returns h βi and V i to M i .
7. Мi вычисляет Si=Kim(d+l)βi с помощью уравнения7. M i calculates S i = K i m (d + l) βi using the equation
и отображает эту величину на дисплее (или Н(Si)) для избирателя νi.and displays this value on the display (or H (S i )) for the voter ν i .
8. Избиратель, как и прежде, запрашивает словарь подтверждений и проверяет по нему отображенную величину.8. The voter, as before, requests a dictionary of confirmations and checks the displayed value against it.
В случае обнаружения фальсификации корректировочные действия принимаются как прежде.If fraud is detected, corrective actions are taken as before.
В приведенном выше описании средство использует единственную d (и поэтому единственную ) для всех избирателей и публикует эту величину заранее перед выборами.In the above description, the tool uses a single d (and therefore the only ) for all voters and publishes this value in advance of the election.
В качестве альтернативного решения центр сбора голосов (или распределенный набор «администрации подтверждения») выдает независимую, случайную di (и поэтому ) для каждого избирателя νi. Величина di всегда держится в секрете, а величина сообщается избирателю νi.As an alternative solution, the center for collecting votes (or a distributed set of “confirmation administrations”) issues an independent, random d i (and therefore ) for each voter ν i . The value of d i is always kept secret, and the value communicated to the voter ν i .
В одном варианте выполнения средство сообщает величину hi избирателю vi следующим образом:In one embodiment, the means reports the value of h i to the voter v i as follows:
А-1: избиратель νi вступает в контакт с центром сбора голосов и аутентифицирует себя;A-1: voter ν i makes contact with the center for collecting votes and authenticates himself;
А-2: если аутентификация прошла успешно, то центр сбора голосов:A-2: if the authentication was successful, then the center for collecting votes:
1. Генерирует по случайному закону di.1. Generates randomly d i .
2. Вычисляет 2. Calculates
3. Передает избирателю νi.3. Transmits voter ν i .
А-3: затем избиратель vi обрабатывает, как указывалось выше, вместо h.A-3: then the voter v i processes, as indicated above, instead of h.
В другом варианте выполнения средство сообщает величину избирателю νi следующим образом:In another embodiment, the tool reports a value voter ν i as follows:
В-1: избиратель νi вступает в контакт с центром сбора голосов (и не обязательно аутентифицирует себя);B-1: the voter ν i makes contact with the center for collecting votes (and does not necessarily authenticate himself);
В-2: избиратель νi делает выбор mi в избирательном бюллетене и возвращает зашифрованный избирательный бюллетень (gαi,hαimi).B-2: voter ν i makes the choice of m i in the ballot and returns an encrypted ballot (g αi , h αi m i ).
В-3: центр сбора голосов в этот момент времени:B-3: the voting center at this point in time:
1. Генерирует по случайному закону di.1. Generates randomly d i .
2. Вычисляет 2. Calculates
3. Передает избирателю νi.3. Transmits voter ν i .
В-4: затем избиратель νi:B-4: then the voter ν i :
1. Генерирует вторую шифровку mi в виде (gαi, )1. Generates a second encryption m i in the form (g αi , )
2. Генерирует то же доказательство достоверности, показывающее, что первая и вторая шифровка являются шифровками одного и того же выбора mi в избирательном бюллетене.2. Generates the same proof of authenticity, showing that the first and second encryption are the encryption of the same choice m i in the ballot.
3. Передает как вторую шифровку, так и доказательство достоверности в центр сбора голосов.3. Transmits both the second encryption and the evidence of authenticity to the vote collection center.
В-5: остаток процесса выполняется, как указывалось выше.B-5: the rest of the process is performed as indicated above.
На фиг.1-3 показаны определенные аспекты средства. На фиг.1 показана обобщенная блок-схема типичных условий, в которых работает средство. На фиг.1 показано несколько компьютерных систем 110 избирателей, каждую из которых избиратель может использовать для передачи избирательного бюллетеня и верификации его не искаженного приема. Каждая из компьютерных систем избирателей соединена через Интернет 120 с компьютерной системой 150 центра сбора голосов. Для специалистов в данной области техники понятно, что компьютерные системы избирателей могут быть соединены с компьютерной системой центра сбора голосов с помощью систем, отличных от Интернета. Средство передает избирательные бюллетени из компьютерных систем избирателей в компьютерную систему центра сбора голосов, которая возвращает зашифрованное подтверждение голосования. В каждой компьютерной системе избирателей средство использует это зашифрованное подтверждение голосования для определения, был ли сфальсифицирован переданный избирательный бюллетень. Хотя предпочтительные варианты выполнения описаны применительно к этим условиям, для специалистов в данной области техники понятно, что средство можно реализовать в различных других условиях, включая единую, монолитную компьютерную систему, а также различные другие комбинации компьютерных систем или аналогичных устройств, соединенных различным образом.Figure 1-3 shows certain aspects of the tool. Figure 1 shows a generalized block diagram of typical conditions in which the tool operates. Figure 1 shows several computer systems 110 of the voters, each of which the voter can use to transmit the ballot and verify its undistorted reception. Each of the voter computer systems is connected via the Internet 120 to the computer system 150 of the voting center. For specialists in this field of technology it is clear that the computer systems of voters can be connected to the computer system of the center for collecting votes using systems other than the Internet. The tool transmits ballots from computer systems of voters to the computer system of the voting center, which returns an encrypted vote confirmation. In each voter computer system, the tool uses this encrypted vote confirmation to determine if the transmitted ballot has been rigged. Although preferred embodiments have been described with respect to these conditions, it will be understood by those skilled in the art that the tool can be implemented in various other conditions, including a single, monolithic computer system, as well as various other combinations of computer systems or similar devices connected in various ways.
На фиг.2 показана блок-схема, изображающая компоненты, обычно содержащиеся по меньшей мере в некоторых компьютерных системах и других устройствах, с которыми работает средство, такие как компьютерные системы 110 и 130. Эти компьютерные системы и устройства 200 могут включать один или более центральных процессоров 201 (СРИ) для выполнения компьютерных программ; компьютерную память 202 для хранения программ и данных во время использования; постоянное запоминающее устройство 203, такое как жесткий дисковод для постоянного хранения программ и данных; привод 204 для считываемого компьютером носителя информации, такой как привод CD-ROM, для считывания программ и данных, хранящихся в считываемом компьютером носителе информации; и сетевое соединение 205 для соединения компьютерной системы с другими компьютерными системами, например, через Интернет. Хотя компьютерные системы, выполненные, как указывалось выше, предпочтительно используются для поддержки работы средства, для специалистов в данной области техники понятно, что средство можно реализовать с использованием устройств различных типов и конфигураций, и имеющих различные компоненты.2 is a block diagram illustrating components typically contained in at least some computer systems and other devices that the tool operates with, such as computer systems 110 and 130. These computer systems and devices 200 may include one or more central processors 201 (SRI) for executing computer programs; computer memory 202 for storing programs and data during use; read-
На фиг.3 показана графическая схема стадий, обычно выполняемых средством с целью обнаружения фальсифицированного избирательного бюллетеня. Для специалистов в данной области техники понятно, что средство может выполнять набор стадий, отклоняющихся от показанных, включая собственные надмножества и подмножества этих стадий, изменение последовательности выполнения этих стадий, и стадий наборов, в которых определенные стадии выполняются другими вычислительными устройствами.Figure 3 shows a graphical diagram of the steps typically performed by a means for detecting a falsified ballot. For specialists in this field of technology it is clear that the tool can perform a set of stages deviating from those shown, including its own superset and subsets of these stages, changing the sequence of these stages, and stages of sets in which certain stages are performed by other computing devices.
На стадии 301 средство обнаружения кодирует в компьютерной системе избирателя выбор в избирательном бюллетене, сделанный избирателем для формирования избирательного бюллетеня. На стадии 302 средство обнаружения шифрует этот избирательный бюллетень. В некоторых вариантах выполнения зашифрованный избирательный бюллетень является парой ЭльГамаля, генерированной с использованием открытого ключа и секрета, удерживаемого в компьютерной системе избирателя. На стадии 303 средство обнаружения, не обязательно, подписывает избирательный бюллетень с помощью личного ключа, принадлежащего избирателю. На стадии 304 средство обнаружения создает доказательство достоверности, которое показывает, что зашифрованный избирательный бюллетень является шифровкой избирательного бюллетеня, в котором правильно выполнен выбор. На стадии 305 средство обнаружения передает зашифрованный, подписанный избирательный бюллетень и доказательство достоверности в компьютерную систему центра сбора голосов.At
На стадии 321 средство обнаружения принимает эту передачу в компьютерной системе центра сбора голосов. На стадии 322 средство обнаружения верифицирует принятое доказательство достоверности. На стадии 323, если верификация доказательства достоверности прошло успешно, то средство обнаружения переходит на стадию 324, в противном случае средство обнаружения не переходит на стадию 324. На стадии 324 средство обнаружения генерирует зашифрованное подтверждение зашифрованного избирательного бюллетеня. Средство обнаружения делает это без расшифровки избирательного бюллетеня, что обычно невозможно в компьютерной системе центра сбора голосов, где нет секрета, используемого для шифрования избирательного бюллетеня. На стадии 325 средство обнаружения передает зашифрованное подтверждение в компьютерную систему избирателя.At 321, the detection means receives this transmission in the computer system of the voice center. At 322, the detection means verifies the received evidence of credibility. In
На стадии 341 средство обнаружения принимает зашифрованное подтверждение в компьютерной системе избирателя. На стадии 342 средство обнаружения использует секрет, удерживаемый в компьютерной системе избирателя, для расшифровки зашифрованного подтверждения голосования. На стадии 343 средство обнаружения отображает расшифрованное подтверждение голосования для пользователя. На стадии 344, если отображенное подтверждение голосования переведено в выбор на избирательном бюллетене, сделанный избирателем, с помощью словаря подтверждений, находящегося в собственности избирателя, средство обнаружения переходит на стадию 345, в противном случае средство обнаружения переходит на стадию 346. На стадии 345 средство обнаружения определяет, что избирательный бюллетень избирателя не был фальсифицирован, в то время как на стадии 346 средство обнаружения определяет, что избирательный бюллетень был фальсифицирован. В этом случае варианты выполнения средства обнаружения поддерживают избирателя в отзыве и повторной передаче избирательного бюллетеня.At 341, the detection means receives an encrypted acknowledgment in the voter's computer system. At 342, the detection means uses a secret held in the voter's computer system to decrypt an encrypted vote confirmation. At 343, the detection means displays a decrypted vote confirmation for the user. At
Для специалистов в данной области техники понятно, что описанное выше средство может быть непосредственно приспособлено или расширено различным образом. Хотя в предшествующем описании делаются ссылки на предпочтительные варианты выполнения, объем изобретения определяется лишь последующей формулой изобретения и указанными в ней элементами.For specialists in the art it is clear that the above tool can be directly adapted or expanded in various ways. Although reference is made in the foregoing description to preferred embodiments, the scope of the invention is determined only by the following claims and the elements indicated therein.
Claims (47)
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27018201P | 2001-02-20 | 2001-02-20 | |
US60/270,182 | 2001-02-20 | ||
US09/816,869 US6950948B2 (en) | 2000-03-24 | 2001-03-24 | Verifiable, secret shuffles of encrypted data, such as elgamal encrypted data for secure multi-authority elections |
US09/816,869 | 2001-03-24 | ||
US35585702P | 2002-02-11 | 2002-02-11 | |
US60/355,857 | 2002-02-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2003128316A RU2003128316A (en) | 2005-03-27 |
RU2272322C2 true RU2272322C2 (en) | 2006-03-20 |
Family
ID=27402264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2003128316/09A RU2272322C2 (en) | 2001-02-20 | 2002-02-20 | Method for detecting falsified voting papers |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1371169A2 (en) |
JP (1) | JP2004524759A (en) |
CN (1) | CN1513241A (en) |
AU (1) | AU2002306602A1 (en) |
CA (1) | CA2439093A1 (en) |
RU (1) | RU2272322C2 (en) |
WO (1) | WO2002077754A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2652443C1 (en) * | 2017-07-17 | 2018-04-26 | Акционерное общество "Лаборатория Касперского" | Voters votes quantity collected by electronic voting determining system and method |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103903325B (en) * | 2013-07-08 | 2016-02-24 | 苏州大学 | A kind of safe electronic ballot system of identity-based signature |
JP7064950B2 (en) * | 2017-09-15 | 2022-05-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Electronic voting system and control method |
JP7064947B2 (en) * | 2017-09-15 | 2022-05-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Electronic voting system and control method |
CN112118046B (en) * | 2020-09-22 | 2021-08-24 | 中国科学院半导体研究所 | Encrypted electronic voting system and method based on indoor LED visible light communication |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL9301348A (en) * | 1993-08-02 | 1995-03-01 | Stefanus Alfonsus Brands | Electronic payment system |
EP0695056B1 (en) * | 1994-07-29 | 2005-05-11 | Canon Kabushiki Kaisha | A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method |
-
2002
- 2002-02-20 CA CA002439093A patent/CA2439093A1/en not_active Abandoned
- 2002-02-20 EP EP02753759A patent/EP1371169A2/en not_active Withdrawn
- 2002-02-20 AU AU2002306602A patent/AU2002306602A1/en not_active Abandoned
- 2002-02-20 WO PCT/US2002/005969 patent/WO2002077754A2/en not_active Application Discontinuation
- 2002-02-20 JP JP2002575744A patent/JP2004524759A/en active Pending
- 2002-02-20 RU RU2003128316/09A patent/RU2272322C2/en not_active IP Right Cessation
- 2002-02-20 CN CNA028085205A patent/CN1513241A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2652443C1 (en) * | 2017-07-17 | 2018-04-26 | Акционерное общество "Лаборатория Касперского" | Voters votes quantity collected by electronic voting determining system and method |
Also Published As
Publication number | Publication date |
---|---|
CA2439093A1 (en) | 2002-10-03 |
JP2004524759A (en) | 2004-08-12 |
CN1513241A (en) | 2004-07-14 |
EP1371169A2 (en) | 2003-12-17 |
AU2002306602A1 (en) | 2002-10-08 |
RU2003128316A (en) | 2005-03-27 |
WO2002077754A2 (en) | 2002-10-03 |
WO2002077754A3 (en) | 2003-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7188362B2 (en) | System and method of user and data verification | |
EP1302020B1 (en) | Verifiable, secret shuffles of encrypted data, such as elgamal encrypted data for secure multi-authority elections | |
Simmons | A survey of information authentication | |
US20070189519A1 (en) | Detecting compromised ballots | |
US4326098A (en) | High security system for electronic signature verification | |
EP2533460A1 (en) | Digital signatures with implicit certificate chains | |
WO2003050771A1 (en) | Secure electronic voting method and the cryptographic protocols and computer programs used | |
AU2005225783A1 (en) | Electronic voting systems | |
Achenbach et al. | Improved coercion-resistant electronic elections through deniable re-voting | |
KR20080022306A (en) | A verification method for operation of encryption apparatus andits application to electronic voting | |
WO2001020562A2 (en) | Multiway election method and apparatus | |
Fouard et al. | Survey on electronic voting schemes | |
US20060085647A1 (en) | Detecting compromised ballots | |
EP1361693B1 (en) | Handle deciphering system and handle deciphering method, and program | |
RU2272322C2 (en) | Method for detecting falsified voting papers | |
Mark et al. | A secured online voting system by using blockchain as the medium | |
EP1633077A2 (en) | Verifiable, secret shuffles of encrypted data, such as elgamal encrypted data for secure multi-authority elections | |
US20030028423A1 (en) | Detecting compromised ballots | |
Finogina et al. | On remote electronic voting with both coercion resistance and cast-as-intended verifiability | |
KR100556055B1 (en) | Detecting compromised ballots | |
Panja | Zero-Knowledge Proof, Deniability and Their Applications in Blockchain, E-Voting and Deniable Secret Handshake Protocols | |
ES2726003A1 (en) | Method for secure electronic voting with immutable audit system and computer programs (Machine-translation by Google Translate, not legally binding) | |
Pasupathinathan et al. | Security analysis of Australian and EU e-passport implementation | |
McMurtry | Verifiable Vote-by-mail | |
WO2002067174A2 (en) | Detecting compromised ballots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20090221 |