KR100338330B1 - Voting method for a receipt-free electronic voting system - Google Patents

Voting method for a receipt-free electronic voting system Download PDF

Info

Publication number
KR100338330B1
KR100338330B1 KR1019990038620A KR19990038620A KR100338330B1 KR 100338330 B1 KR100338330 B1 KR 100338330B1 KR 1019990038620 A KR1019990038620 A KR 1019990038620A KR 19990038620 A KR19990038620 A KR 19990038620A KR 100338330 B1 KR100338330 B1 KR 100338330B1
Authority
KR
South Korea
Prior art keywords
voter
verifier
voting
vote
value
Prior art date
Application number
KR1019990038620A
Other languages
Korean (ko)
Other versions
KR20010000030A (en
Inventor
이병천
김광조
Original Assignee
안병엽
학교법인 한국정보통신학원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 안병엽, 학교법인 한국정보통신학원 filed Critical 안병엽
Priority to KR1019990038620A priority Critical patent/KR100338330B1/en
Publication of KR20010000030A publication Critical patent/KR20010000030A/en
Application granted granted Critical
Publication of KR100338330B1 publication Critical patent/KR100338330B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)

Abstract

본 발명은 전자투표시스템에 관한 것으로 유권자가 직접 투표소에 출석하여 투표용지에 기표를 하는 통상의 투표방식에서는 막대한 선거관리 비용이 요구된다. 인터넷등 정보통신망의 발전에 따라 암호학적 기법을 이용하여 전자적인 방법으로 선거 시스템을 구현하기 위한 연구가 많이 이루어지고 있다. 비밀분산 및 문턱암호를 이용한 종래의 전자투표 시스템은 매표방지 기능을 제공하지 못하였던 단점이 있었으나 본 발명에서는 비밀정보의 공동생성 기법을 이용하여 매표방지 기능을 제공한다.The present invention relates to an electronic voting system. In the ordinary voting system in which voters attend the polling place and vote on the ballots, an enormous election management cost is required. With the development of information and communication networks such as the Internet, a lot of researches have been conducted to implement the election system by electronic method using cryptographic techniques. The conventional electronic voting system using secret dispersion and threshold password has a disadvantage in that it does not provide a ticketing prevention function, but the present invention provides a ticketing prevention function using a co-creation technique of secret information.

Description

매수행위 방지 가능한 전자투표 시스템의 투표 방법{VOTING METHOD FOR A RECEIPT-FREE ELECTRONIC VOTING SYSTEM}VOTING METHOD FOR A RECEIPT-FREE ELECTRONIC VOTING SYSTEM}

본 발명은 유권자가 투표소에 출석하여 투표용지에 직접 기표하는 통상의 투표 방식을 인터넷 등의 정보통신망을 이용하여 전자적인 방법으로 대체할 수 있도록 하는 암호학적인 기법을 이용한 전자 투표 방법에 관한 것이다.The present invention relates to an electronic voting method using a cryptographic technique that allows a voter to attend a polling place and vote directly on the ballot by replacing the conventional voting method with an electronic method using an information communication network such as the Internet.

통상적으로, 물리적인 투표는 투표자와 투표관리자 모두에게 시간적, 공간적, 금전적인 지출을 크게 요구한다. 다시 말해서, 투표자는 투표장소에 직접 출석하여 투표를 해야하기 때문에 시간을 투자해야 하는 불편한 점이 있고, 투표 관리자는 투표소를 설치 및 운용해야 하고 개표작업에도 많은 인력을 필요로 하므로 금전적인 지출이 필요하다. 이러한 통상의 물리적인 투표방식의 불편함을 개선하고자 전자투표 방식이 제안되어 있다.Typically, physical voting requires a great deal of time, space, and money for both voters and poll managers. In other words, the voter is inconvenient to spend time because he has to attend and vote in the polling place, and the voting manager needs to set up and operate the polling place and requires a lot of manpower for counting. . In order to improve the inconvenience of the conventional physical voting method, an electronic voting method has been proposed.

전자투표는 통상의 물리적인 투표방식을 암호학적 방법을 이용하여 전자적인 방식으로 대체하는 방식으로서, 종래의 물리적인 투표와 비교해볼 때 다음과 같은 특성들을 만족해야 한다.Electronic voting is a method of replacing the conventional physical voting method with an electronic method using a cryptographic method, and should satisfy the following characteristics when compared with the conventional physical voting method.

즉, 투표자의 투표내용을 제 3 자가 알 수 없어야 하는 기밀성과, 모든 유효 투표는 정확하게 계수되어야 하는 완전성과, 부정직한 투표자가 선거를 교란할 수 없어야 하는 건전성과, 투표자는 단 1번만 투표할 수 있어야 하는 이중투표 불가능성과, 투표 권한을 가진 자만이 투표를 할 수 있어야 하는 적임성과, 어떤 것도 선거에 영향을 미쳐서는 안되는 공정성과, 투표내용의 유효성을 검증할 수 있어야 하는 검증성과, 일부의 투표관리 시스템에 문제가 발생하더라도 투표는 계속 진행될 수 있어야 하는 강인성과, 투표권을 매매하는 행위가 불가능해야 하는 매표 방지성이 있어야 한다.That is, the confidentiality that a voter's vote must not be known by a third party, the integrity that all valid votes must be counted correctly, the soundness that dishonest voters must not disturb the election, and the voter can vote only once. The impossibility of double voting, the eligibility that only those with the voting power to vote, the fairness that nothing should affect the election, the verification that it must be able to verify the validity of the vote, and some voting management In the event of problems with the system, voting must be robust and voting must be impossible to buy and sell.

전자투표는 암호학적 프로토콜의 발전과 함께 1980년대에 들어서 연구되기 시작하였으며, 크게 두가지 부류로 분류될 수 있다. 첫 번째 부류는 은닉서명(blind signature) 기법과 익명통신로(mix-net)를 이용한 방법으로, 1993년 후지오카-오카모토-오타(Fujioka-Okamoto-Ohta)의 연구가 대표적이다. 또 다른 부류는 비밀분산(secret sharing)과 문턱암호(threshold cryptography)를 이용하는방법으로 1997년 크래머-제나로-쉔마커(Cramer-Gennaro-Schoenmaker)의 연구가 있다.Electronic voting began to be studied in the 1980s with the development of cryptographic protocols and can be classified into two categories. The first group uses blind signature techniques and a mix-net method, which is typical of the work of Fujioka-Okamoto-Ohta in 1993. Another class is the study of Cramer-Gennaro-Schoenmaker in 1997 using secret sharing and threshold cryptography.

은닉서명과 익명통신로를 이용하는 후지오카-오카모토-오타(Fujioka- Okamoto-Ohta) 방식은 투표자와 투표값과의 연결을 방지하기 위한 익명통신로가 현실적으로 구현이 어렵고, 투표자와 선거관리자간에 메시지 통신 횟수가 많고, 투표오류 발생시 투표자와 관리자중 누가 부정행위를 했는지 밝혀내기 어렵다는 단점이 있다.Fujioka-Okamoto-Ohta method using hidden signature and anonymous communication channel is difficult to implement anonymous communication to prevent the connection between voter and vote value, and the number of message communication between voter and election manager There are many disadvantages, and it is difficult to find out who cheated among the voters and administrators when a voting error occurred.

비밀분산과 문턱함호를 이용하는 크래머-제나로-쉔마커(Cramer- Gennaro- Schoenmaker) 방식은 비밀분산으로 인해 시스템의 강인성을 제공하고 문턱암호 기법을 이용하여 개표가 한 번에 이루어질 수 있다는 장점이 있다. 그러나, 크래머-제나로-쉔마커(Cramer-Gennaro-Schoenmaker) 방식은 사용자가 자신의 투표값을 차후 증명할 수 있어서 매표가 가능하다는 단점이 있다. 즉, 투표자는 자신이 투표에 사용했던 난수값을 저장해 놓았다가 매수자에게 제시하면 자신의 투표내용을 증명할 수 있어서 매표에 사용될 수 있다는 문제가 있다.The Cramer-Gennaro-Schoenmaker method, which uses secrets and thresholds, provides the robustness of the system due to secrets and allows the counting to be done at once using the threshold encryption technique. have. However, the Cramer-Gennaro-Schoenmaker method has a disadvantage in that the user can later prove his / her vote value, so that the ticket can be sold. In other words, if the voter stores the random number used in the vote and presents it to the buyer, the voter can prove his / her vote and can be used for the ticket.

그러므로, 본 발명은 상술한 문제를 해결하고자 안출된 것으로, 비밀분산과 문턱암호를 이용하는 기법을 바탕으로 매표방지 기능을 제공하는 새로운 전자투표 시스템의 투표 방법을 제공하는 것을 그 목적으로 한다.Therefore, an object of the present invention is to provide a voting method of a new electronic voting system that provides an anti-voting function based on a technique using secret dispersion and threshold password.

본 발명의 다른 목적은 전자투표 시스템을 구현하기 위하여 두 참여자가 정보의 상호 비밀은 유지하면서 비밀정보를 공동으로 생성하는 전자투표 시스템의 투표방법을 제공하는 것이다.Another object of the present invention is to provide a voting method of an electronic voting system in which two participants jointly generate secret information while maintaining mutual confidentiality of information in order to implement the electronic voting system.

상술한 목적을 달성하기 위한 본 발명에 따른 전자투표 시스템의 투표 방법은, 상기 투표자가 선택한 후보자에 대하여 행한 투표값(x,y)을 상기 검증자에게 전송하는 단계; 상기 검증자가 상기 투표값(x,y)의 증명을 불가능하게 하기 위한 검증자 난수(u,v)를 생성하여 상기 투표자에게 제공하는 단계; 상기 투표자가 상기 투표값(x,y)의 유효성을 증명하고, 그 증명에 대한 응답(di,ri)을 생성하여 상기 검증자에게 제공하는 단계; 상기 응답(di,ri) 에 응답하여, 상기 검증자가 상기 1차 투표값(x,y)의 유효성을 검증하고, 상기 검증자 난수(u,v)의 유효성을 증명하는 응답(r)을 상기 투표자에게 전송하는 단계; 상기 응답(r)에 응답하여, 상기 투표자가 상기 검증자 난수(u,v)의 유효성을 검증하여 유효한 경우 상기 투표값(x,y)과 상기 검증자 난수(u,v)와의 곱셈에 의해 최종 투표값(xf,yf)를 계산하여 상기 공개게시판에 게시하는 단계; 상기 검증자가 상기 공개게시판에 게시된 상기 최종 투표값(xf,yf)의 유효성을 검증하여 상기 최종 투표값(xf,yf)에 대한 확인 서명을 상기 공개게시판에 게시하는 단계를 포함하는 것을 특징으로 한다.Voting method of the electronic voting system according to the present invention for achieving the above object comprises the steps of: transmitting to the verifier a vote value (x, y) for the candidate selected by the voter; Generating, by the verifier, a verifier random number (u, v) for disabling proof of the vote value (x, y) and providing it to the voter; The voter certifying the validity of the vote value (x, y), and generating a response (d i , r i ) to the proof and providing it to the verifier; In response to the response d i , r i , the verifier verifies the validity of the first voting value (x, y) and verifies the validity of the verifier random number (u, v) Transmitting to the voter; In response to the response r, the voter validates the validator random number (u, v) and, if valid, multiplies the vote value (x, y) by the validator random number (u, v). Calculating a final vote value (x f , y f ) and posting it on the bulletin board; The verifier includes the step of verifying the validity of the final vote values (x f, y f) posted on the public bulletin board posting a sure sign for the final vote values (x f, y f) on the public bulletin board Characterized in that.

도 1은 본 발명에 따라 여러 단계로 구성되는 전자투표 시스템의 투표과정을 설명하는 구성도,1 is a block diagram illustrating a voting process of an electronic voting system composed of several steps according to the present invention;

도 2는 본 발명에 따른 전자투표 시스템에서 수행되는 투표과정의 상세 메시지 계산 및 동작을 설명하는 흐름도.Figure 2 is a flow chart illustrating the detailed message calculation and operation of the voting process performed in the electronic voting system according to the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

100 : 선거관리자 200 : 투표자100: election manager 200: voter

300 : 검증자 400 : 공개게시판300: validator 400: public bulletin board

이하 본 발명은 첨부된 도면을 참조하여 다음과 같이 상세히 설명될 것이다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 전자투표 시스템의 개략적인 블록 구성도를 도시한 것으로, 전자투표 시스템의 주된 참여자는 선거관리자(100), 투표자(200), 검증자(300), 공개게시판(400)을 포함하며, 이들 각각의 참여자는 본 기술분야에서 널리 알려진 통신 수단을 통하여 상호 연결되는 컴퓨터 시스템으로 구현될 수 있다. 전자투표 시스템을 구성하는 각각의 참여자는 다음과 같은 기능을 수행한다.1 is a schematic block diagram of an electronic voting system according to the present invention. The main participants of the electronic voting system are the election manager 100, the voter 200, the verifier 300, and the public bulletin board 400. Each of these participants may be implemented as a computer system interconnected through communication means well known in the art. Each participant in the electronic voting system performs the following functions.

선거관리자(100)는 투표자(200)의 유권자 등록 요청에 따라 신분을 인증한 후 공개게시판(400)에 등록하고 투표후 투표값을 수거하여 개표하는 기능을 수행한다.The election manager 100 performs a function of registering and counting the ballot value after registering the public bulletin board 400 after authenticating the identity according to the voter registration request of the voter 200.

투표자(200)는 선거관리자(100)에게 유권자 등록을 요청하여 공개게시판(400)에 유효한 투표자로 등록받은 후 검증자(300)와의 상호작용을 통하여 자신의 최초 투표값과 검증자(300)가 제공하는 검증자 난수를 곱하여 최종 투표값을 계산하고 이를 공개게시판(400)에 등록하는 역할을 담당한다.The voter 200 requests the election manager 100 to register to vote, registers as a valid voter on the public bulletin board 400, and then interacts with the verifier 300 to determine his or her initial vote value and verifier 300. It calculates the final vote value by multiplying the verifier random number provided and serves to register it in the public bulletin board (400).

검증자(300)는 투표자(200)의 투표의 유효성을 검증하고 검증자 난수를 발생하여 투표자(200)에게 제공하고 최종 투표값이 유효한지를 검증하여 공개게시판(400)에 확인 서명을 등록하는 기능을 수행한다.The verifier 300 verifies the validity of the vote of the voter 200, generates a verifier random number, provides the voter 200, and verifies that the final vote value is valid to register a confirmation signature on the public bulletin board 400. Do this.

공개 게시판(400)은, 도 1d에 도시된 바와 같이, 투표자(200)를 등록하고 투표자(200)의 투표값을 게시하며, 검증자(300)의 확인서명을 게시하는 공개게시판 역할을 담당한다. 공개게시판(400)은 투표자(200)의 이름이 게시되는 이름란(410), 투표자(200)의 최종 투표값이 게시되는 투표란(430) 및 검증자(300)에 의해 최종 투표값에 대한 확인서명이 게시되는 서명란(450)을 구비한다. 공개게시판(400)에 게시된 모든 내용은 각 투표자(200) 및 검증자(300)에 의해 검색될 수 있지만, 각 투표자(200) 및 검증자(300)는 공개게시판(400)에서 자신에게 할당된 영역에만 메시지를 게시할 수 있다.The public bulletin board 400 serves as a public bulletin board that registers the voter 200, publishes the voter 200 's vote value, and publishes the verification signature of the verifier 300, as shown in FIG. 1D. . The public bulletin board 400 checks the final ballot value by the name column 410 where the name of the voter 200 is posted, the ballot column 430 where the final vote value of the voter 200 is posted, and the verifier 300. A signature column 450 is posted where the signature is posted. All content posted on the bulletin board 400 can be retrieved by each voter 200 and verifier 300, but each voter 200 and verifier 300 is assigned to itself in the bulletin board 400. Messages can only be posted to the designated area.

상술한 참여자로 구성되는 본 발명의 전자투표 시스템은 순서적으로 도 1a의 투표자 등록과정, 도 1b의 투표과정 및 도 1c의 개표과정을 통하여 동작하는 것으로, 본 발명은 투표자(200)와 검증자(300)가 최종 투표값을 공동으로 생성하는 투표과정의 프로토콜에 관련된다.The electronic voting system of the present invention composed of the above-described participants operates in sequence through the voter registration process of FIG. 1A, the voting process of FIG. 1B, and the counting process of FIG. 1C, and the present invention provides a voter 200 and a verifier. 300 relates to a protocol of the voting process that jointly generates a final voting value.

도 1a의 투표자 등록과정에서, 투표자(200)는 유권자로서 등록을 위하여 자신의 신분을 확인할 수 있는 개인정보를 포함하는 등록요청 메시지를 선거관리자(100)에게 전송한다. 선거관리자(100)는 투표자(200)의 등록요청 메시지에 응답하여 투표자(200)의 신분을 확인한 후 공개게시판(400)에 유효한 투표자(200)로 등록한다. 투표자(200)는 자신의 등록여부를 공개게시판(400)으로부터 확인할 수 있다.In the voter registration process of FIG. 1A, the voter 200 transmits a registration request message to the election manager 100 including personal information for verifying his / her identity for registration as a voter. The election manager 100 confirms the identity of the voter 200 in response to the registration request message of the voter 200 and registers as a valid voter 200 in the public bulletin board 400. Voter 200 can check whether their registration from the public bulletin board (400).

도 1b의 투표과정에서, 투표자(200)와 검증자(300)는 하기 설명되는 투표 프로토콜을 이용하여 투표자(200)가 생성하는 1차 투표값과 검증자(300)가 생성하는 검증자 난수를 곱하여 최종 투표값을 공동으로 생성한다. 투표자(200)는 생성된 최종 투표값을 공개게시판(400)에 등록하고 검증자(300)는 최종 투표값의 유효성을 검증한 후 공개게시판(400)에 확인 서명을 등록한다.In the voting process of FIG. 1B, the voter 200 and the verifier 300 generate the first vote value generated by the voter 200 and the verifier random number generated by the verifier 300 using the voting protocol described below. Multiply and jointly generate the final vote. The voter 200 registers the generated final vote value in the public bulletin board 400, and the verifier 300 registers the verification signature in the public bulletin board 400 after validating the final vote value.

도 1c의 개표과정에서, 선거관리자(100)는 투표가 종료된 후 공개게시판(400)에 등록된 모든 투표값들을 수거하고 자신의 개인키를 이용하여 개표하여 투표결과를 계산하고 이를 다시 공개게시판(400)에 등록한다. 투표자(200)는 투표결과를 공개게시판(400)으로부터 확인할 수 있다.In the counting process of FIG. 1C, the election manager 100 collects all the ballot values registered in the public bulletin board 400 after the voting ends, counts the counts using their private keys, calculates the voting result, and then public bulletin board again. Register at 400. The voter 200 may check the voting result from the public bulletin board 400.

본 발명의 전자투표 시스템은 투표값을 계산하기 위하여 이산대수 문제에 기반한 엘가말(Elgamal)형의 공개키 암호 시스템을 사용한다. 선거관리자(100)는 엘가말형의 개인 키와 공개키 쌍을 생성하여 개인키는 비밀히 보관하고 공개키는 인증기관으로부터 공개키 인증서의 형태로 발급받고 이를 공개게시판(400)에 게시하여 모든 투표자(200)가 이용할 수 있도록 한다. 복수의 선거관리자(100)를 이용할 경우에는 잘 알려진 비밀분산 기법을 이용하여 공개키를 공동으로 생성하고 비밀키를 분산시켜서 투표의 기밀성을 보다 완벽히 보호할 수 있고 전자투표 시스템의 강인성을 제공할 수도 있다. 각 투표자(200) 및 검증자(300)는 마찬가지로 인증기관으로부터 공개키 인증서를 발급받아서 상호 인증에 사용한다.The electronic voting system of the present invention uses an Elgamal type public key cryptosystem based on discrete algebra to calculate the voting value. The election manager 100 generates an Elgamal-type private key and public key pair to keep the private key secret and the public key is issued in the form of a public key certificate from a certificate authority, and posts it on the public bulletin board 400 so that all voters ( 200) to make it available. In the case of using multiple election managers 100, public keys can be jointly generated by using well-known secret distribution techniques and the secret keys can be distributed to more completely protect the confidentiality of voting and provide the robustness of an electronic voting system. have. Each voter 200 and verifier 300 likewise receives a public key certificate from the certification authority to use for mutual authentication.

본 발명의 주요 특징인 도 1b에 예시된 투표단계의 메시지 흐름은 도 2의 흐름도를 참조하여 보다 상세히 설명된다.The message flow of the voting stage illustrated in FIG. 1B, which is a major feature of the present invention, is described in more detail with reference to the flowchart of FIG. 2.

단계(510)에서, 투표자(200)는 k명의 입후보자(G) 중 한명, 예를 들면 i 번째 후보자(Gi) (여기서, 1≤i≤k)를 선택한 다음, 임의의 난수(α)(여기서,를 만족하는 난수)를 선정하여 i 번째 후보자에 대한 투표로서 하기 수학식 1과 같은 1차 투표값(x,y)을 계산한다.In step 510, voter 200 selects one of k candidates G, for example, ith candidate G i , where 1 ≦ i ≦ k, and then selects any random number α ( here, To select a random number that satisfies p) and calculates a first voting value (x, y) as shown in Equation 1 below as a vote for the i th candidate.

(x,y) = (gα, hαGi)(x, y) = (g α , h α Gi)

상술한 수학식 1에서, g는 갈로아 필드 'GF(p)'의 생성자(generator)이고, h는 선거관리자(100)의 공개키((h = gsmod p))이고, p는 갈로아 필드(GF(p))를 생성하는 소수이고, Gi는 k명의 후보자를 나타내는 서로 독립적인 생성자를 의미한다.In Equation 1, g is a generator of galoa field 'GF (p)', h is a public key of the election manager 100 ((h = g s mod p)), and p is gal It is a prime number to generate the loa field GF (p), and G i means generators independent of each other representing k candidates.

그 다음 단계(520)에서, 투표자(200)는 임의의 난수(w1)(여기서,를 만족하는 난수)를 선택하여 하기 수학식 2와 같이 1차 투표값(x,y)의 암호화를 위한 난수값(ai,bi)을 계산하며, i가 아닌 나머지 k-1개의 j에 대하여(j=1, . . . , i-1, i+1, . . . , k) 임의의 난수값(dj, rj)(여기서,를 만족함)를 선정한 후 하기 수학식 3에 의해 1차 투표값(x,y)을 암호화하여 암호화된 1차 투표값(aj, bj)(=(a1, b1),....(ak, bk))을 계산한다. 이렇게 계산된 암호화된 1차 투표값들(aj, bj)은 1차 투표값(x,y)의 유효성을 증명하는 데 사용된다. 이후 암호화된 1차 투표값들(aj, bj)은 간단히 난수값 (A, B)로 정의한다.In a next step 520, the voter 200 generates a random random number w 1 , where To calculate the random number (a i , b i ) for the encryption of the first voting value (x, y) as shown in Equation 2 below, and to k-1 j other than i (J = 1,..., I-1, i + 1,..., K) any random value (d j , r j ), where Satisfies), and encrypts the primary voting value (x, y) by Equation 3 below to encrypt the primary voting value (a j , b j ) (= (a 1 , b 1 ), ... Calculate. (a k , b k )) The encrypted primary voting values (a j , b j ) thus calculated are used to verify the validity of the primary voting values (x, y). The encrypted primary voting values (a j , b j ) are then simply defined as random numbers (A, B).

(ai, bi)=(gw1, hw1)(a i , b i ) = (g w1 , h w1 )

(aj, bj)=(grjxdj, hrj(y/Gj)dj)(a j , b j ) = (g rj x dj , h rj (y / Gj) dj )

그 다음 단계(530)에서, 투표자(200)는 1차 투표값(x,y)과 암호화된 1차 투표값(A, B)을 검증자(300)에게 전송한다.In a next step 530, the voter 200 sends the primary vote values (x, y) and the encrypted primary vote values (A, B) to the verifier 300.

단계(540)에서, 검증자(300)는 임의의 난수 β와 w2(여기서,를 만족하는 난수)를 선정하여 하기 수학식 4 및 5를 이용하여 검증자 난수(u,v) 및 (a, b)를 계산한다. 검증자 난수(u,v)는 검증자(300)가 생성하여 투표자(200)에게 제공하는 난수로서 투표의 증명을 불가능하게 하는데 사용된다.In step 540, the verifier 300 generates a random random number β and w 2 , where The random number satisfying) is selected and the verifier random numbers (u, v) and (a, b) are calculated using Equations 4 and 5. The verifier random numbers (u, v) are random numbers generated by the verifier 300 and provided to the voter 200 and used to disable the proof of the vote.

이와 함께 검증자(300)는 1차 투표값(x,y)의 유효성 증명을 위한 시도로서 임의의 난수(c1)(여기서,을 만족하는 난수)를 선택한 다음, 검증자 난수(u,v)와 (a,b) 및 임의의 난수(c1)를 투표자(200)에게 전송한다(단계 550).Along with this, the verifier 300 attempts to validate the primary voting value (x, y) as any random number (c 1 ) (where, Random number that satisfies a), and then the verifier random numbers (u, v) and (a, b) and any random number (c 1 ) are sent to the voter 200 (step 550).

그 다음 단계(560)에서, 투표자(200)는 검증자(300)의 유효성 증명을 위한 임의의 난수(c1)를 이용하여 1차 투표값의 유효성을 증명한 응답(di, rk)을 하기 수학식 6과 같이 계산한다.In a next step 560, the voter 200 verifies the validity of the primary voting value using any random number c 1 for validating the validator 300 (d i , r k ). Calculated as Equation 6 below.

이때 k개의 (di, ri), 즉 (d1, r1),...(dk, rk)를 (D, R) 이라 하면, 이것은 1차 투표값의 유효성에 대한 응답이 된다.If k (d i , r i ), i.e. (d 1 , r 1 ), ... (d k , r k ) are (D, R), then the response to the validity of the primary voting value is do.

또한, 투표자(200)는 검증자(300)로부터 제공된 검증자 난수(u,v)의 유효성을 증명하기 위한 시도로서 임의의 난수(c2)(여기서,을 만족하는 난수)를 선택하고, 1차 투표의 유효성에 대한 응답값(D, R)과 임의의 난수(c2)를 검증자(300)에게 송신한다(단계 570).In addition, the voter 200 attempts to prove the validity of the verifier random numbers (u, v) provided from the verifier 300, where any random number c 2 (where, Random number satisfies a) and transmits the response values (D, R) and any random number (c 2 ) for the validity of the primary vote to the verifier 300 (step 570).

그 다음 단계(580)에서, 검증자(300)는 1차 투표값(x,y)의 유효성을 검증하기 위하여 (D, R), (A, B), 임의의 난수(c1)를 이용하여 하기 수학식 7 및 8과 같은 제시된 조건을 만족하는지를 검사한다.In the next step 580, the verifier 300 uses (D, R), (A, B), any random number (c 1 ) to validate the primary voting value (x, y). Then, it is checked whether the conditions shown in Equations 7 and 8 are satisfied.

c1= d1+ ..., + dk c 1 = d 1 + ..., + d k

(aj, dj) = (grjxdj, hrj(y/Gj)dj)(a j , d j ) = (g rj x dj , h rj (y / G j ) dj )

또한, 검증자(300)는 검증자 난수(u, v)의 유효성을 증명하기 위하여 투표자로부터 제공된 임의의 난수(c2)에 대한 응답(r)을 하기 수학식 9와 같이 계산한 다음, 투표자(200)에게 계산된 응답(r)을 전송한다.In addition, the verifier 300 calculates a response (r) to any random number (c 2 ) provided from the voter to prove the validity of the verifier random number (u, v) as shown in Equation (9), and then the voter The calculated response r is transmitted to the 200.

r = w2+ βc2 r = w 2 + β c2

그 다음 단계(590)에서, 투표자(200)는 검증자(300)로부터 제공된 검증자 난수(u,v)의 유효성을 검증하기 위하여 하기 수학식 10을 이용하여 검증자 난수의 유효성 증명(gr, hr)을 계산한다.In a next step 590, the voter 200 validates the validator random number g r using Equation 10 below to validate the validator random number u, v provided from the validator 300. , h r ).

(gr, hr) = (auc1, bvc1)(g r , h r ) = (au c1 , bv c1 )

상술한 수학식 10으로부터 검증자 난수(u,v)의 유효성이 유효한 것으로 검증되면, 1차 투표값(x,y)과 검증자 난수(u,v)를 곱해서 최종 투표값(xf, yf)(=(xu, yv))을 계산하고 계산된 최종 투표값(xf, yf)을 공개게시판(400)의 투표란(430)에 게시한다. 이와 같이, 최종 투표값(xf, yf)을 투표자(200)와 검증자(300)가 공동으로 생성함으로써, 투표자(200)는 제 3의 매수자에게 자신의 투표 내용을 증명할 수 없어서 매표를 방지할 수 있다.When the validity of the validator random number (u, v) is verified from Equation 10, the first voting value (x, y) and the validator random number (u, v) are multiplied to determine the final voting value (x f , y). f ) (= (xu, yv)) is calculated and the calculated final vote value (x f , y f ) is posted in the ballot box 430 of the bulletin board 400. As such, the final vote values (x f , y f ) are jointly generated by the voter 200 and the verifier 300, so that the voter 200 cannot prove his / her vote to the third buyer, so that the voter 200 You can prevent it.

이후, 단계(600)에서, 검증자(300)는 공개게시판(400)의 투표란(430))에 게시된 투표자(200)의 최종 투표값(xf, yf)의 유효성을 하기 수학식 11과 같이 검증하고 투표가 유효한 경우 하기 수학식 12와 같은 확인 서명을 서명란(450)에 게시한다.Then, in step 600, the verifier 300 validates the final vote value (x f , y f ) of the voter 200 posted in the ballot column 430 of the public bulletin board 400 If it is verified as shown in Figure 11 and the vote is valid, a verification signature as shown in Equation 12 is posted in the signature column 450.

(xf, yf) = (xu, yv)(x f , y f ) = (xu, yv)

Sig(H(ID, xf, yf, Time, OK))Sig (H (ID, x f , y f , Time, OK))

이후, 도 2를 참조하여 설명된 투표 과정이 종료된 후, 도 1c에 예시된 개표과정에서는 선거관리자(100)가 공개게시판(400)에 게시된 모든 유효한 최종 투표값들을 모아서 이들의 최종 곱을 계산한 후 선거관리자(100)의 개인키를 이용하여 복호화함으로써 최종 결과를 얻을 수 있다.Then, after the voting process described with reference to FIG. 2 is finished, in the counting process illustrated in FIG. 1C, the election manager 100 collects all valid final voting values posted on the bulletin board 400 and calculates their final product. After that, the final result can be obtained by decrypting using the private key of the election manager 100.

상술한 본 발명의 투표자와 검증자와의 상호작용에 의해 투표값을 공동으로 생성하는 방식은 전자투표 뿐만 아니라, 두 참여자가 상호 비밀을 유지하면서 비밀정보를 공동으로 생성하는 것을 필요로 하는 여타의 다른 응용분야에도 적용될 수 있다. 예를 들면, 제 1 참여자의 비밀정보를 여타 참여자에게 증명할 수 없도록 하고자 할 때, 제 2 참여자는 제 1 참여자의 비밀정보를 알 수 없도록 하는 대신, 비밀정보의 유효성은 검증할 수 있도록 하고, 제 1 참여자는 제 2 참여자가 제공하는 난수정보의 비밀을 알 수 없도록 하는 대신, 이의 유효성은 검증할 수 있도록 하며, 최종 비밀번호는 제 1 참여자의 비밀정보와 제 2 참여자의 난수정보를 곱하여 생성하도록 함으로써, 두 참여자에 의해 공동 생성된 비밀정보를 비밀히 보존할 수 있다.The method of jointly generating the voting value by the interaction between the voter and the verifier of the present invention described above is not only an electronic voting method, but also other methods that require two participants to jointly generate secret information while maintaining mutual confidentiality. It can also be applied to other applications. For example, when the secret information of the first participant cannot be proved to other participants, the second participant cannot verify the secret information of the first participant, but can verify the validity of the secret information. 1 Participant does not know the secret of the random number information provided by the second participant, but can verify its validity, and the final password is generated by multiplying the secret information of the first participant by the random number of the second participant For example, it is possible to keep confidential information co-generated by two participants.

그러므로, 본 발명에 따른 전자투표 시스템에서 최종 투표값을 계산함에 있어서, 투표자가 생성한 1차 투표값과 검증자가 제공한 검증자 난수를 곱하여 계산함으로, 최종 투표값을 투표자와 검증자가 공동으로 생성하게 된다. 그러므로, 투표자는 제 3 의 매수자에게 자신의 투표 내용을 증명할 수 없어서 매표방지 기능이 제공될 수 있다. 또한, 본 발명의 전자투표 시스템에서 수행되는 방법을 통하여 검증자는 투표내용의 유효성을 검증할 수는 있으나, 구체적인 투표내용은 알 수 없기 때문에 검증성과 기밀성이 보장될 수 있다. 본 발명은 종래기술의 비밀분산, 문턱암호를 이용하는 전자투표 시스템에서 매표방지 기능을 추가적으로 제공할 수 있다.Therefore, in calculating the final voting value in the electronic voting system according to the present invention, the final voting value is jointly generated by the voting party and the validator by multiplying the primary voting value generated by the voter and the validator random number provided by the validator. Done. Therefore, the voter can not prove his or her vote contents to the third buyer, so the anti-voting function can be provided. In addition, although the verifier can verify the validity of the voting contents through the method performed in the electronic voting system of the present invention, since the specific voting contents are unknown, the validity and confidentiality can be guaranteed. The present invention can additionally provide a ticketing prevention function in the electronic voting system using the secret dispersion, the threshold password of the prior art.

Claims (2)

청구항1는 삭제 되었습니다.Claim 1 has been deleted. 각기 통신 수단을 통하여 연결된 컴퓨터 시스템으로 구현되는 투표자, 선거 관리자, 검증자 및 공개게시판으로 구성된 전자투표 시스템의 투표 방법에 있어서,In the voting method of the electronic voting system consisting of a voter, an election manager, a verifier and a public bulletin board implemented as a computer system connected through each communication means, 상기 투표자가 선택한 후보자에 대하여 행한 투표값(x,y)을 상기 검증자에게 전송하는 단계;Transmitting the voter value (x, y) made to the candidate selected by the voter to the verifier; 상기 검증자가 상기 투표자가 행한 투표값(x,y)의 증명을 불가능하게 하기위한 검증자 난수(u,v)를 생성하여 상기 투표자에게 제공하는 단계;Generating, by the verifier, a verifier random number (u, v) for disabling proof of the vote value (x, y) made by the voter and providing it to the voter; 상기 투표자가 상기 투표값(x,y)의 유효성을 증명하고, 그 증명에 대한 응답(di, ri)을 생성하여 상기 검증자에게 제공하는 단계;The voter certifying the validity of the vote value (x, y), and generating a response (d i , r i ) to the verifier and providing it to the verifier; 상기 응답(di, ri)에 응답하여, 검증자가 상기 투표값(x, y)의 유효성을 검증하고, 상기 검증자 난수(u, v)의 유효성을 증명하는 응답(r)을 상기 투표자에게 전송하는 단계;In response to the responses d i and r i , a verifier verifies the validity of the vote value (x, y) and returns a response r that verifies the validity of the verifier random number (u, v). Transmitting to; 상기 응답(r)에 응답하여, 상기 투표자가 상기 검증자 난수(u,v)의 유효성을 검증하여 상기 1차 투표값(x,y)과 상기 검증자 난수(u,v)와의 곱셈에 의해 최종 투표값(xf, yf)를 계산하여 상기 공개게시판에 게시하는 단계;In response to the response r, the voter validates the validator random number (u, v) and multiplies the first voting value (x, y) by the validator random number (u, v). Calculating a final vote value (x f , y f ) and posting it on the bulletin board; 상기 검증자가 상기 공개게시판에 게시된 상기 최종 투표값(xf, yf)의 유효성을 검증하여 상기 최종 투표값(xf, yf)에 대한 확인 서명을 상기 공개게시판에 게시하는 단계를 포함하는 것을 특징으로 하는 전자 투표시스템의 투표방법.The verifier includes the step of verifying the validity of the final vote values (x f, y f) posted on the public bulletin board posting a sure sign for the final vote values (x f, y f) on the public bulletin board Voting method of an electronic voting system, characterized in that.
KR1019990038620A 1999-09-10 1999-09-10 Voting method for a receipt-free electronic voting system KR100338330B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990038620A KR100338330B1 (en) 1999-09-10 1999-09-10 Voting method for a receipt-free electronic voting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990038620A KR100338330B1 (en) 1999-09-10 1999-09-10 Voting method for a receipt-free electronic voting system

Publications (2)

Publication Number Publication Date
KR20010000030A KR20010000030A (en) 2001-01-05
KR100338330B1 true KR100338330B1 (en) 2002-05-27

Family

ID=19610943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990038620A KR100338330B1 (en) 1999-09-10 1999-09-10 Voting method for a receipt-free electronic voting system

Country Status (1)

Country Link
KR (1) KR100338330B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160003548U (en) 2015-04-06 2016-10-14 손창우 Plate type inside reinforcement subsidiary materials and assembly type water tank with the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040000278A (en) * 2002-06-24 2004-01-03 양경원 Internet voting

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160003548U (en) 2015-04-06 2016-10-14 손창우 Plate type inside reinforcement subsidiary materials and assembly type water tank with the same

Also Published As

Publication number Publication date
KR20010000030A (en) 2001-01-05

Similar Documents

Publication Publication Date Title
US7260552B2 (en) Secure remote electronic voting system and cryptographic protocols and computer programs employed
Joaquim et al. REVS–a robust electronic voting system
Kumar et al. A secure end-to-end verifiable internet-voting system using identity-based blind signature
US20070192607A1 (en) Electronic voting process using fair blind signatures
CN114255034A (en) Electronic voting method capable of verifying fairness based on block chain
Lambrinoudakis et al. Secure electronic voting: The current landscape
Fouard et al. Survey on electronic voting schemes
Chang et al. An anonymous voting mechanism based on the key exchange protocol
Buccafurri et al. Allowing non-identifying information disclosure in citizen opinion evaluation
EP1361693B1 (en) Handle deciphering system and handle deciphering method, and program
Fan et al. An efficient multi-receipt mechanism for uncoercible anonymous electronic voting
Zwierko et al. A light-weight e-voting system with distributed trust
KR100653361B1 (en) Electronic voting method and system which is able to identify a voter`s ballot effective in counting of electronic vote
KR100362603B1 (en) An Electronic Voting Method
Haines et al. Votor: conceptually simple remote voting against tiny tyrants
Chung et al. Casting ballots over internet connection against bribery and coercion
KR100338330B1 (en) Voting method for a receipt-free electronic voting system
KR101167647B1 (en) An Electron Vote Symtem
CN114677794A (en) Electronic voting method based on block chain
Feng et al. An electronic voting system using GSM mobile technology
Bruschi et al. A protocol for anonymous and accurate e-polling
Dall'Olio et al. Voting with Designated Verifier Signature-Like Protocol.
Vangujar et al. A Novel Approach to e-Voting with Group Identity Based Identification and Homomorphic Encryption
Sheikhi et al. Receipt-Free Electronic Voting from zk-SNARK.
Smart et al. Remote electronic voting with revocable anonymity

Legal Events

Date Code Title Description
A201 Request for examination
G15R Request for early publication
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080508

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee