KR100362603B1 - An Electronic Voting Method - Google Patents

An Electronic Voting Method Download PDF

Info

Publication number
KR100362603B1
KR100362603B1 KR1020000013743A KR20000013743A KR100362603B1 KR 100362603 B1 KR100362603 B1 KR 100362603B1 KR 1020000013743 A KR1020000013743 A KR 1020000013743A KR 20000013743 A KR20000013743 A KR 20000013743A KR 100362603 B1 KR100362603 B1 KR 100362603B1
Authority
KR
South Korea
Prior art keywords
voter
nec
polling place
voting
result
Prior art date
Application number
KR1020000013743A
Other languages
Korean (ko)
Other versions
KR20010091742A (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 KR1020000013743A priority Critical patent/KR100362603B1/en
Publication of KR20010091742A publication Critical patent/KR20010091742A/en
Application granted granted Critical
Publication of KR100362603B1 publication Critical patent/KR100362603B1/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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus

Abstract

본 발명은 투표 과정에서 발생 가능한 부정을 방지할 수 있도록 암호화 프로토콜을 사용한 전자 투표 방법에 관한 것으로서, 각 투표인이 개별 세션 ID를 생성하여 투표인 정보를 등록하는 제 1 과정과, 상기 제 1 과정에 의해 등록된 정보를 확인하고 전자 투표를 수행하는 제 2 과정과, 상기 제 2 과정에 의한 투표 정보를 선거관리위원회(이하 "선관위"라 함) 및 투표소에서 확인하고 집계하는 제 3 과정과, 상기 제 3 과정에 따른 집계결과를 공표하는 제 4 과정을 포함하여 이루어진다.The present invention relates to an electronic voting method using an encryption protocol to prevent fraud that may occur during a voting process, the first process for each voter to generate an individual session ID to register the voter information, and the first process A second process of confirming the information registered by the member and conducting an electronic voting, a third process of verifying and counting the voting information according to the second process by the Election Commission (hereinafter referred to as "the NEC") and the polling place; And a fourth process of publishing an aggregate result according to the third process.

Description

전자 투표 방법{An Electronic Voting Method}Electronic Voting Method

본 발명은 전자 투표 방법에 관한 것으로서, 보다 상세하게는 투표 과정에서 발생 가능한 부정을 방지할 수 있도록 암호화 프로토콜을 사용한 전자 투표 방법에 관한 것이다.The present invention relates to an electronic voting method, and more particularly, to an electronic voting method using an encryption protocol to prevent fraud that may occur during a voting process.

현행 투표 방식은 도 1에 나타난 바와 같이 이루어지고 있다. 지방자치단체에 의해 생성된 투표인 명부와 선거관리위원회에 의해 제작된 투표용지가 투표소에 제공되고(A, B), 선관위에서는 투표 안내문을 각 투표자에게 발송한다(C). 투표일이 되면 투표인은 자신의 신분증을 가지고 투표소에 가서 자신이 유효 투표권자임을 확인한다. 이후, 소정 절차에 따라 투표를 행하고 이를 투표함에 넣는다(D). 투표 마감 시각이 되면 각 투표소에서 투표함을 개표소로 이동하여 집계하여 결과를 발표하게 된다(E). 이러한 유형의 투표는 투표인이 투표소에서 직접 투표를 수행해야 한다는 전제 조건을 가지고 있다. 이것은 투표인 명부가 하나로 갖추어져 있어서 이를 복수화 할 경우 이중 투표를 막을 방법이 없기 때문에 만들어진 하나의 방편이다. 따라서, 날씨가 안 좋은 경우나 개인적으로 급한 용무가 생겨 자신의 선거구 외의 장소로 이동해야 할 경우에 현행의 투표 방식은 매우 번거로운 일로 취급되었던 것이 사실이다. 그러나, 인터넷과 같은 개방형 네트워크가 급속도로 발전함에 따라 투표를 전자화 하여 적용시킬 수 있다면 현행 투표방법이 가지고 있는 불편함을 해결할 수 있다. 즉, 장소나 날씨에 구애받을 필요 없이 투표가 가능하므로 번거로움이 개선될 수 있고, 투표의 투·개표 작업이 전자화 되므로 시간 및 비용 측면에서 매우 효율적인 방안이라 할 수 있다.The current voting method is performed as shown in FIG. The list of voters produced by the municipality and the ballots produced by the Election Commission are provided to the polling places (A, B), and the NEC sends voting instructions to each voter (C). On the date of voting, the voter goes to the polling place with his ID and verifies that he is a valid voter. Thereafter, a vote is made according to a predetermined procedure and placed in the ballot box (D). At the time of voting deadline, each polling place will move the ballot box to the counting booth and count the results (E). This type of voting has the precondition that the voter must vote directly at the polling place. This is a way of making the list of voters, because there is no way to prevent double voting if it is plural. Therefore, the current voting method was considered cumbersome when the weather was bad or when personal urgent business had to be made to move out of his or her district. However, as open networks such as the Internet are rapidly developing, if the voting can be applied electronically, the inconvenience of the current voting method can be solved. In other words, since it is possible to vote without having to be concerned with the place or the weather, the troublesomeness can be improved, and the voting and counting of the ballots is electronic, which is a very efficient method in terms of time and cost.

이러한 전자투표 방안은 여러 형태로 대두되고 있다. 일반적인 전자투표의 진행은 도 2에서 나타난 바와 같이 이루어진다. 지방자치단체에서 선관위로 선거인 명부를 전송하는 과정(S1)과, 선관위에서 투표자에게 안내문을 발송하는 과정(S2)과, 각 투표자의 인증 및 투표 과정(S3)과, 전자 투표소에서 투표 결과를 집계하여 선관위로 투표결과를 전송하는 과정(S4)과, 선관위에서 공개 데이터베이스에 투표결과를 발표하는 과정(S5)으로 이루어진다.These electronic voting schemes come in many forms. The general progress of the electronic voting takes place as shown in FIG. 2. The process of sending the list of electors from the local government to the NEC (S1), the process of sending notices to the voters from the NEC (S2), the certification and voting process of each voter (S3), and the voting results from the electronic polling station And the process of transmitting the voting result to the NEC (S4), and the process of presenting the voting result to the public database by the NEC (S5).

투표인과 투표 값의 상호연관성이 노출될 경우 비밀 투표성이 보장되기가 힘들다. 이러한 특성을 통해 사용자는 투표 매매로부터 안전성을 유지하기가 힘들게 된다. 이를 방지하기 위해 은닉 서명(Blind Signature)이라는 새로운 방법이 제시된 이후로 여러 가지 형태의 방식들이 제시되고 있다. 전자 투표에서 사용되는 은닉 서명 방식은 크게 RSA 방식에 근거한 기법과 이산대수 문제를 이용하는 ElGamal 방식에 근거한 기법으로 나누어 볼 수가 있다. 또한 이들은 메시지 복원형 방식을 취하고 있다. 이것은 선관위 및 투표소에서 서명을 받으려는 데이터 자체가 투표인의 식별자로서 투표 당일 자신의 투표권 유·무를 확인시키는데 중요한 수단이 되기 때문에 투표인 인증시 부가형을 사용하지 못하고 복원형을 사용하게 된다.Secret voting is difficult to guarantee if the voter's correlation with the voting value is exposed. This feature makes it difficult for users to keep safe from voting and selling. In order to prevent this, various types of methods have been proposed since a new method called blind signature has been proposed. The concealed signature method used in electronic voting can be largely divided into an RSA based method and an ElGamal based method using discrete algebra. They also take a message-resilient approach. This is because the data itself to be signed by the NEC and the polling place is the voter's identifier, which is an important means of confirming whether or not to vote on the day of voting.

D. Chaum은 RSA암호를 근간으로 상대 메시지 내용을 비밀로 하고 서명을 붙이는 은닉 서명 방식을 제안하였다. 예를 들어 A가 B에게 m이라는 메시지에 서명하고 싶으나, m을 알리고 싶지 않을 때 은닉 서명을 사용하면 A는 B의 m에 대한 서명문을 얻을 수 있다.D. Chaum proposed a secret signature scheme that keeps the contents of the other message confidential and signed based on the RSA cipher. For example, if A wants to sign B the message m, but doesn't want to tell m, using a hidden signature allows A to get a signature on B's m.

이러한 내용 은닉 서명의 기본적인 요구조건은 다음과 같다.The basic requirements for this content concealment signature are as follows:

·메시지 내용은 서명자에게 노출되지 않아야 한다.Message content should not be exposed to signers.

·메시지와 서명문이 노출된 이후라도 메시지와 서명을 받은 사람과의 관계가 추적 불가능하여야 한다.· Even after the messages and signatures have been exposed, the relationship between the message and the person receiving them must be untraceable.

이와 같은 조건을 만족하는 RSA암호를 이용한 내용 은닉 서명은 다음과 같다. 먼저 A가 B에게 메시지 m을 은닉한 채 서명을 받고 싶다고 하고, B의 공개키를(e, n), 비밀키를 (d, n)이라고 하자.The content concealment signature using RSA ciphers satisfying these conditions is as follows. First, let's say A wants to get a signature while concealing message m from B. Let's say B's public key is (e, n) and the secret key is (d, n).

(1) A는 난수 R을 생성하여 B에게 C = mremod n을 계산하여 보낸다.(1) A generates a random number R and sends it to B with C = mr e mod n calculated.

(2) B는 수신한 C에 대한 서명문 Cd= (mre)dmod n을 계산하여 A에게 제시한다.(2) B calculates the signature C d = (mr e ) d mod n for the received C and presents it to A.

(3) A는 S = Cd/ r = mdred/ r = mdmod n을 계산하여 B의 메시지 m에 대한 서명문으로 S를 얻게된다.(3) A calculates S = C d / r = m d r ed / r = m d mod n to obtain S as the signature for message m in B.

이 경우 B는 서명을 해주는 기관으로 전자 투표인 경우 선관위가 된다. 또한 이 서명이 내용 은닉 서명이 되는 이유는 서명자가 메시지를 암호화하여 B에게 전송하므로 B가 서명의 내용을 알지 못한 체 서명문을 발생하기 때문이다.In this case, B is the signing authority and, in the case of electronic voting, it is the NEC. The signature is also a content hidden signature because the signer encrypts the message and sends it to B, resulting in a signature that B does not know the content of the signature.

한편, (k, n)-Threshold Secret Sharing 기법은 n명의 참여자들에게 비밀에 관한 부분 정보를 분배하는 신뢰성 있는 분배자와 나머지 n명의 참여자간에 수행된다. 여기서는 k보다 작은 참여자들의 그룹은 비밀에 관한 어떠한 정보도 얻을 수 없지만 적어도 k 참여자들의 그룹은 다항식 내의 비밀을 계산할 수 있다.Meanwhile, the (k, n) -Threshold Secret Sharing technique is performed between a trusted distributor who distributes partial information about secrets to n participants and the other n participants. Here, a group of participants smaller than k cannot get any information about the secret, but at least a group of k participants can compute the secret in the polynomial.

예를 들어 M을 재구성하는데 3명의 참여자가 필요한 k=3인 (3,n)-threshold 기법을 원한다면, k-1 차수인 2차 다항식을 생성한다.For example, if we want a (3, n) -threshold technique with k = 3, which requires three participants to reconstruct M, we create a second-order polynomial of k-1 order.

F(x) = (ax2+ bx + M) mod pF (x) = (ax 2 + bx + M) mod p

여기서 p는 다른 계수보다 큰 랜덤 소수이다. 계수 a와 b는 랜덤하게 선택되어진다. 계수 a와 b는 분배 과정 동안만 비밀스럽게 유지되고 있다가 각 참여자의 부분 비밀인 shadow가 분배된 후 버려진다. M은 메시지이고, 소수 p는 공개된다. shadow는 아래와 같이 n개의 다른 점들에서 다항식 값을 구함으로서 얻어진다.Where p is a random prime number greater than the other coefficients. Coefficients a and b are chosen randomly. The coefficients a and b remain secret only during the distribution process and are discarded after each participant's partial secret, shadow, is distributed. M is the message and prime p is public. The shadow is obtained by obtaining the polynomial value at n different points as follows.

ki= F(xi)k i = F (x i )

첫 번째 shadow인 k1은 상기 다항식에 x=1을 대입한 결과 값이고, 두 번째는 x=2인 값을 대입한 결과 값이다. 2차 다항식은 3개의 미지 계수 a, b, M을 갖기 때문에 3개의 shadow를 이용하면 3개의 미지 계수들을 결정할 수 있다.The first shadow k 1 is the result of substituting x = 1 in the polynomial and the second is the result of substituting x = 2. Since the quadratic polynomial has three unknown coefficients a, b, and M, three shadows can be used to determine three unknown coefficients.

다음은 현재까지의 국내·외 전자 투표 연구 현황에 대해 간략히 기술하기로 한다. 1985년 일본의 Koyama는 RSA 공개키 암호를 이용한 안전한 무기명 투표 방식을 제안하였다. 그러나 이 방식은 선관위에 의해서나 혹은 선관위와 제 3자의 결탁으로 인한 부정행위를 방지할 수 없다.The following is a brief description of the current status of domestic and foreign electronic voting research. In 1985, Koyama of Japan proposed a secure anonymous voting method using RSA public key cryptography. However, this method cannot prevent misconduct by the NEC or by a collusion between the NEC and a third party.

1986년 Cohen과 Benaloh는 r차 잉여 암호계에 있어서 각각 대화형 영지식 증명 혹은 Secret Sharing을 응용하여 유권자의 프라이버시를 보호하는 투표 방식을 제안하고 있으나, Cohen의 방식은 부정 검출을 위해 통신 량이 많은 반면, Benaloh의 방식은 센터와의 통신 량이 보다 적은 장점을 갖고 있다. Benaloh의 방식을 개선한 전자 투표 프로토콜로서 1990년 Sakai, Murakami 등에 의해 제안된 방식을 들 수 있으며, 이는 Secret Sharing에 의한 투표 내용의 보호 방식에 있어서 보다 효과적으로 부정을 감시하는 것이 가능한 방식이다.In 1986, Cohen and Benaloh proposed a voting scheme to protect voters' privacy by applying interactive zero-knowledge proof or Secret Sharing, respectively, in the rth redundant cryptosystem. However, Benaloh's approach has the advantage of less traffic to the center. An electronic voting protocol that improved Benaloh's method was proposed by Sakai, Murakami, et al. In 1990, and it is possible to monitor fraud more effectively in the way of secret ballot protection.

D. Chaum등은 한사람의 위원만으로 은닉 서명을 사용하여 무기명성을 보증하는 투표 방식을 제안하였으나, 유권자의 공평성을 제공할 수는 없었다. 그후 Asano 등은 통신에 있어서 은닉 서명에 의해 게시판을 이용함으로서 유권자의 공평성까지 만족하는 방식을 제안하였다.D. Chaum et al. Proposed a ballot method that guarantees anonymity using hidden signatures with only one member, but could not provide voter equity. Since then, Asano et al. Proposed a method that satisfies the fairness of voters by using bulletin boards with hidden signatures in communication.

1993년에 제안된 박춘식 방식은 익명 통신로를 그 전제로 하고 있다. 즉 투표가 잘못되었을 경우 모든 투표인이 알 수 있도록 구성함으로서 선관위들의 부정을 방지하려 하고 있다. 그러나 선관위가 반수 이상 부정을 저지를 경우 부정을 확인할 방법이 없으며 제 3자와의 결탁을 통해 투표 미등록자의 투표권을 행사할 가능성이 있기 때문에 완벽한 안전성을 확보했다고는 말할 수 없다. 또한, 1994년에 제안된 Sako 방식은 partially compatible homomorphism을 이용해 효율적인 MIX형 전자 투표 방식을 제안했다.Park Chun-sik, proposed in 1993, assumes an anonymous communication channel. In other words, it is trying to prevent the NEC's fraud by organizing it so that all voters can know when the vote is wrong. However, if the NEC commits more than half of the fraud, there is no way to confirm the fraud, and it is not possible to say that it has secured complete safety because it is possible to exercise the right of the non-registrant to vote through a third party. In addition, the Sako method proposed in 1994 proposed an efficient MIX type electronic voting method using partially compatible homomorphism.

1996년에 Niemi-Renvall은 투표의 매매 가능성을 지적하고, 이에 대한 대책을 제안하였다. 즉, 투표 결과 공개 시 나타내는 각 투표인의 식별자를 생성할 때 위원회의 비밀 값을 결합해 생성함으로서 결코 제 3자에게 투표인이 자신의 식별자임을 증명 못하게 하는 방식을 제안했다. 그러나, 이 방식은 투표인이 투표 결과를 확인하지 못한 상태에서 식별자를 요구 당할 경우 아무런 대책이 없다는 문제점을 안고 있다.In 1996, Niemi-Renvall pointed out the possibility of buying and selling voting, and proposed a countermeasure. In other words, by generating the voter's secret value when generating the voter's identifier that is shown in the results of the voting, he proposed a way for the third party to prove that the voter is his or her identifier. However, this method has a problem in that there is no countermeasure if the voter is asked for the identifier without checking the result of the vote.

그 외에 CFSY(Cramer -Franklin -Schoenmaker -Yung) 방식은 공개 보드 방식을 통하여 공평성을 확보하고 있으며, 비밀 채널 방식을 도입하여 제 3자의 도청 및 변조를 막을 수 있도록 하고 있다. 동시에 비밀성을 유지함으로서 투표인을 제외한 어느 누구의 단합에 대해서도 안전성을 가지고 있는 방식이다. 그러나, 투표매매자 대리 투표가 가능함으로서 완전한 투표 매매 방지가 불가능하며, 시스템 전체의 안전성이 선관위에 의존하기 때문에 투표 미등록자에 대한 부정 방지책이 없는 실정이다.In addition, the CFSY (Cramer-Franklin-Schoenmaker-Yung) method secures fairness through the public board method, and adopts a secret channel method to prevent third-party eavesdropping and tampering. At the same time, it is a way of maintaining secrecy to ensure unity for anyone except voters. However, it is impossible to prevent the voting and selling of voters by voting on behalf of the voting traders, and there is no anti-corruption measure for unregistered voters because the safety of the whole system depends on the NEC.

전술한 바와 같은 종래의 전자 투표 방식들은 투표 매매 방지, 유권자 비밀성 보장, 및 선관위 부정 방지에 있어서 문제점이 있다.Conventional electronic voting schemes as described above have problems in preventing voting and selling, ensuring voter confidentiality, and preventing the NEC.

본 발명은 기존 투표 방식에서 문제점으로 지적되고 있는 투표 및 개표에 소요되는 인력, 시간 및 비용을 절감하고 투표인에게 안전성과 편리성을 제공할 수 있는 전자 투표 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide an electronic voting method that can reduce the manpower, time and cost required for voting and counting which are pointed out as a problem in the existing voting method, and can provide safety and convenience to voters.

본 발명의 다른 목적은 투표 매매와 선관위의 부정을 방지할 수 있는 전자투표 방법을 제공하는 것이다.Another object of the present invention is to provide an electronic voting method that can prevent the sale of voting and electoral commission.

본 발명의 또 다른 목적은 투표인의 비밀을 보장할 수 있는 전자투표방법을 제공하는 것이다.It is still another object of the present invention to provide an electronic voting method that can guarantee the confidentiality of voters.

이러한 목적들을 달성하기 위한 본 발명은 각 투표인이 타인과 식별될 수 있도록 은닉 서명을 통해 개별 세션 ID를 생성하여 투표인 정보를 등록하는 제 1 과정과, 상기 제 1 과정에 의해 등록된 정보를 확인하고 전자 투표를 수행하는 제 2 과정과, 상기 제 2 과정에 의한 투표 정보를 선관위 및 투표소에서 확인하고 집계하는 제 3 과정과, 상기 제 3 과정에 따른 집계결과를 공표하는 제 4 과정을 포함하여 이루어지는 것을 특징으로 한다.In order to achieve the above objects, the present invention provides a first process of generating individual session IDs through a hidden signature to register voter information so that each voter can be identified from others, and the information registered by the first process. A second process of confirming and performing an electronic voting, a third process of confirming and counting voting information according to the second process at a NEC and a polling place, and a fourth process of publishing a counting result according to the third process; Characterized in that made.

본 발명에 따른 전자투표방법의 세부적 특징으로는 투표단계 및 확인단계와 공표단계에서 일반모드와 투표 매매에 대한 방지를 위한 보안모드로 구분되어 이루어질 수 있는 점이다.Detailed features of the electronic voting method according to the present invention is that it can be divided into a normal mode and a security mode for the prevention of voting and selling in the voting stage, the verification stage and the publication stage.

도 1은 종래의 일반적인 선거 방식을 간단히 나타낸 구성도,1 is a configuration diagram briefly showing a conventional general election method,

도 2는 일반적인 전자 투표 방법의 운용 예시도,2 is an operation example of a general electronic voting method,

도 3은 본 발명에 따른 전자 투표 방법의 운용 절차를 나타낸 흐름도,3 is a flowchart illustrating an operation procedure of the electronic voting method according to the present invention;

도 4는 도 3의 등록 진행 절차를 상세히 나타낸 예시도,4 is an exemplary view showing the registration progress procedure of FIG. 3 in detail;

도 5는 도 3의 투표 진행 절차를 상세히 나타낸 흐름도,5 is a flowchart illustrating a voting procedure of FIG. 3 in detail;

도 6은 도 3의 확인 절차를 상세히 나타낸 흐름도이다.6 is a flowchart illustrating the verification procedure of FIG. 3 in detail.

이하, 첨부된 도면을 참조로 본 발명을 설명한다. 먼저 본 발명에 의해 구현될 수 있는 전자투표 방법의 요구사항을 살펴보기로 한다.Hereinafter, the present invention will be described with reference to the accompanying drawings. First, the requirements of the electronic voting method that can be implemented by the present invention will be described.

첫째, 일반적으로 요구되는 사항First, what is usually required

① 비밀성: 투표인과 투표 내용의 대응은 당사자만이 안다.① Confidentiality: Only the parties know the voter's response.

② 투표권의 단일성: 한 명의 투표인은 단 한번의 투표권만 가진다.② Unity of Voting Rights: One voter has only one vote.

③ 투표권 인증: 투표권이 있는 사람만이 투표를 수행할 수 있다.③ Voting Rights Certification: Only those who have the right to vote may vote.

④ 공평성: 누구도 다른 사람의 투표 결과를 통해 자신의 투표결과를 결정할 수 없다.4. Equity: No one can determine his or her own voting result from another person's voting result.

⑤ 위조 불가능성: 제 3자에 의한 투표 결과의 변경은 불가능하다.⑤ Impossible forgery: It is impossible to change the voting result by a third party.

⑥ 정확성: 투표 결과의 집계는 정확해야 한다.⑥ Accuracy: The count of voting results must be accurate.

둘째, 전자 투표 매매 방지를 위한 요구 사항Second, requirements for preventing electronic voting

① 투표인은 자신의 투표 결과를 확인할 수 있어야 한다.① The voter must be able to check the result of his vote.

② 제 3자는 투표인의 도움 없이는 결코 투표 결과를 확인할 수 없다.② The third party can never confirm the result of the vote without the help of the voter.

③ 선관위에서는 투표인과 투표내용을 대응시킬 수 없다.③ The NEC cannot match the voter with the contents of the vote.

④ 선관위는 독립적이며, 투표에 관련된 어떠한 부정도 저질러서는 안 된다.(4) The NEC is independent and shall not commit any fraud related to the vote.

도 3은 본 발명의 전체적인 흐름을 나타낸 흐름도이다. 투표인이 등록과정을 통해 선관위 및 투표소로부터 자신을 인증하는 등록 단계(S10)와, 투표소에서 유효 투표권자임을 확인하고 투표를 수행하는 투표 단계(S20), 선관위 및 투표소에서 각 투표자로부터 제공된 정보를 통해 결과를 확인하는 확인단계(S30), 확인단계 절차를 거쳐 집계된 투표 결과를 공표하는 공표단계(S40)로 이루어진다.3 is a flow chart showing the overall flow of the present invention. The registration step (S10) that the voter authenticates himself from the NEC and the polling place through the registration process, the voting step (S20) of confirming that the voter is a valid voter in the polling place and performing the voting, and the information provided by each voter at the NEC and the polling place Confirmation step (S30) of confirming the result through, the confirmation step is made of a publication step (S40) to announce the counted vote results through the procedure.

본 발명에서는 일인당 투표 공란을 두 개 만들고 안전한 해쉬함수 및 공개키 암호화 기법을 적용해 매매자에게 투표인 자신의 식별자와 투표 결과 모두를 알려 준다 하여도, 투표인이 어떤 공란에 투표를 하였는지 모르게 함으로써 투표 매매를 방지할 수 있으며, 투표소의 기능을 강화하여 선관위가 집계할 때 저지를 수 있는 부정을 감시하도록 함으로서 선관위의 부정을 방지한다.In the present invention, two votes per person are made and a secure hash function and public key encryption technique are applied to inform the seller of both the voter's own identifier and the result of the vote. It is possible to prevent trafficking, and to strengthen the function of the polling station to monitor the fraud that the NEC can commit when it collects.

본 발명에서 표기되는 기호들은 다음과 같이 정의한다.Symbols displayed in the present invention are defined as follows.

·ri1, ri2: 은닉 서명 비밀 계수들 (ri1* ri1' = 1 mod n, ri2* ri2' = 1 mod n)R i1 , r i2 : Hidden signature secret coefficients (r i1 * r i1 '= 1 mod n, r i2 * r i2 ' = 1 mod n)

·A1, A2, ... An: 선관위A 1 , A 2 , ... A n : NEC

·Vi: 투표인 i (i = 1, 2, ..., n)V i : Voter i (i = 1, 2, ..., n)

·As, Ap: 선관위의 비밀키와 공개키A s , A p : NEC's private and public keys

·Asj, Av: 선관위의 투표 확인용 분배 비밀 키들과 공개키(Secret Sharing사용, j = 1, 2, ..., k)A sj , A v : Distribution secret keys and public key for voting confirmation by the NEC (using Secret Sharing, j = 1, 2, ..., k)

· Gs, Gp: 투표소의 비밀키와 공개키G s , G p : Private and public keys of the polling place

· vi1, vi2: 투표인이 선택 가능한 두 개의 투표값 (집계 시에는 둘 중에 하나만이 등록된다.)V i1 , v i2 : Two votes the voter can choose from (only one of them is registered when counting)

· Ri1, Ri2: 투표인이 생성하는 랜덤 수R i1 , R i2 : random numbers generated by voters

· IDi: 투표인 i의 세션 IDID i : Session ID of voter i

· H : 일 방향 해쉬 함수H: one-way hash function

· H(Sigi) : 투표인 i의 서명을 해쉬한 값H (Sig i ): hashed signature of voter i

본 발명이 전자투표 방법에 관한 것이므로 이하의 설명에서 선거관리위원회 (이하 "선관위"라 함)및 "투표소"는 각 전자투표관리용서버를 의미하며, "투표자"는 인터넷 등의 통신수단을 통해 상기 선관위 및 투표소의 서버에 접속하여 컴퓨터로 판독 가능한 형태의 데이터를 송·수신할 수 있는 다수의 클라이언트 즉, 투표자의 컴퓨터에서 이루어지는 동작을 의미한다. 따라서, 각 동작주체에 의한 행위는 각 서버 및 컴퓨터를 통해 일어나며 그에 따른 결과는 컴퓨터에서 판독가능한 형태의 데이터 포맷을 갖는다.먼저 등록 단계(S10)를 상세히 살펴보기로 한다. 도 4는 본 발명에 따른 전자투표의 등록단계를 상세히 나타낸 흐름도이다. 선관위는 투표 대상자들을 확인하여 투표인 명부를 만들고, 투표인 및 투표소에 제공한다. (S11 과정)Since the present invention relates to an electronic voting method, in the following description, the Election Commission (hereinafter referred to as the "Election Commission") and the "voting booth" mean each electronic voting management server, and the "vote" through a communication means such as the Internet. It refers to an operation performed in a computer of a plurality of clients that can transmit and receive data in a computer-readable form by accessing a server of the NEC and a polling place. Therefore, the action by each operating entity takes place through each server and computer, and the result is a computer-readable data format. First, the registration step S10 will be described in detail. Figure 4 is a flow chart illustrating in detail the registration step of the electronic vote according to the present invention. The NEC identifies the voters, creates a list of voters, and provides them to the voters and polling places. (S11 course)

각 투표인은 등록과정을 통해 선관위 및 투표소로부터 자신을 인증하고, 랜덤(random)한 세션 ID를 등록한다. 투표인은 은닉서명 비밀계수 ri1및 ri2를 선택해 세션 ID를 숨겨서 선관위 및 투표소에 보낸다. 즉, ri1(IDi)을 생성해 선관위에 전송하고, ri2(IDi)를 생성해 투표소에 등록한다.(S12 과정)Each voter authenticates himself and herself through the registration process and registers a random session ID. The voter selects the secret signature secret coefficients r i1 and r i2 to hide the session ID and send it to the NEC and polling place. That is, r i1 (ID i ) is generated and transmitted to the NEC, and r i2 (ID i ) is generated and registered at the polling place.

전송되어온 데이터에 대하여 선관위는 공동으로 인증을 수행한 후, 대표 비밀키로 서명한 뒤 투표인에게 전송하며, 투표소 역시 인증을 수행한 후 자신의 비밀키로 서명한 다음 투표인에게 제공한다. 선관위에서 As(ri1(IDi))를, 투표소에서는 Gs(ri2(IDi))를 투표인에게 전달한다.(S13 과정)On the transmitted data, the NEC jointly authenticates, signs with a representative secret key, and transmits it to the voter. The polling station also authenticates, signs with its private key, and provides it to the voter. A s (r i1 (ID i )) at the NEC and G s (r i2 (ID i )) at the polling place to the voter (step S13).

투표인은 선관위와 투표소로부터 받은 서명들을 확인하게 된다. 투표인은 자신의 비밀 계수를 제거하여 선관위의 서명이 붙은 자신의 식별자 SA와 투표소의 서명이 붙은 SG를 얻는다. ri1'(As(ri1(IDi))) = As(IDi) = SA,ri2'(Gs(ri2(IDi)) = Gs((IDi)) = SG(S14 과정)The voter will verify the signatures received from the NEC and the polling place. The voter removes his secret count to obtain his identifier, S A , signed by the NEC and S G , signed by the polling place. r i1 '(A s (r i1 (ID i ))) = A s (ID i ) = S A, r i2 ' (G s (r i2 (ID i )) = G s ((ID i )) = S G (S14 course)

이후, 선관위의 공개키 Ap과 투표소의 공개키 Gp을 이용하여 서명을 확인하고, 자신의 식별자가 정확히 등록되었는지 확인한다. Ap(SA) = Ap(As(IDi)) = IDi,Gp(SG) = Gp(Gs(IDi)) = IDi(S15 과정)After that, the signature is checked using the public key A p of the NEC and the public key G p of the polling place, and it is checked whether its identifier is correctly registered. A p (S A ) = A p (A s (ID i )) = ID i, G p (S G ) = G p (G s (ID i )) = ID i (S15 process)

본 발명에 따른 투표과정(S20)은 도 5의 흐름도를 이용하여 설명하기로 한다. 투표일이 되면 투표인은 투표소에서 물리적으로 자신을 확인하고 투표를 수행한다.(S21 과정) 이때, 투표인의 자신의 의사에 따라 일반모드와 투표 매매에 대한 방지를 위한 보안모드 중 택일하여 투표를 수행할 수 있다.(S22 과정)Voting process (S20) according to the present invention will be described using the flow chart of FIG. When the voting date is reached, the voter physically checks himself in the polling place and performs the voting (S21 process). (S22 process)

먼저, 투표자가 일반 모드를 선택할 경우를 예로 하여 설명한다. 투표인은 자신의 1차 선택 값 FIR와 더미(Dummy)값 DUM을 다음과 같이 생성한다. (vi1∥Ri1) = FIR, (IDi∥Ri2) = DUM (단, Ri1, Ri2는 투표인이 선택한 랜덤 값이다.)(S23-1 과정)First, a case in which the voter selects the general mode will be described as an example. The voter creates his first choice value FIR and dummy value DUM as follows: (v i1 ∥R i1 ) = FIR, (ID i ∥R i2 ) = DUM (where R i1 and R i2 are random values chosen by the voter) (step S23-1)

이후, 자신의 일반 모드값 FIR, 더미(Dummy)값 DUM, 그리고 투표인의 서명을 해쉬한 값{H(Sigi)}을 이용해 다음을 계산한다. H(FIR∥DUM∥H(Sigi)) = J(S24-1 과정)Then, using the general mode value FIR, dummy value DUM, and the hash value of the voter's signature {H (Sig i )} to calculate the following. H (FIR∥DUM∥H (Sig i )) = J (S24-1 course)

투표인은 자신의 일반 모드값 FIR, 더미(Dummy)값 DUM 그리고 자신의 서명을 해쉬한 값 H(Sigi)를 연접해 선관위의 공개키로 암호화한다. Av(FIR∥DUM∥H(Sigi)) = E (S25-1 과정)The voter concatenates the general mode value FIR, the dummy value DUM and the hash value H (Sig i ) hashed with his signature and encrypts it with the NEC's public key. A v (FIR∥DUM∥H (Sig i )) = E (S25-1 process)

투표인은 투표소와 선관위의 서명을 암호 결과값과 연접하여 전송한다. SA∥E는 선관위에게 전송하고, SG∥J를 투표소의 DB에 저장한다.(S26-1 과정)The voter transmits the signatures of the polling place and the committee in conjunction with the cryptographic results. S A E sends to the NEC and stores S G J in the DB of the polling place (S26-1 process).

만일, 투표자가 투표 매매를 방지하기 위한 방안으로 보안 모드를 선택하여 투표를 하는 경우에는 다음과 같이 진행된다. 투표인은 1차 선택값 FIR와 2차 선택값 SEC를 다음과 같이 생성한다. (vi1∥Ri1) = FIR, (vi2∥Ri2) = SEC (단, Ri1, Ri2는 투표인이 선택한 랜덤 값이다.) (S23-2 과정)If the voter votes by selecting a security mode as a measure to prevent voting and selling, the process proceeds as follows. The voter generates the primary selection value FIR and the secondary selection value SEC as follows. (v i1 ∥R i1 ) = FIR, (v i2 ∥R i2 ) = SEC (where R i1 and R i2 are random values chosen by the voter) (step S23-2)

이후, 해쉬함수 H를 이용하여 1차 선택값 FIR, 2차 선택값 SEC 그리고 자신의 서명을 해쉬한 값 H(Sigi)를 연접하여 함수 값을 산출한다. H(FIR∥SEC∥H(Sigi)) = K (S24-2 과정)Subsequently, the hash value H is used to concatenate the first selection value FIR, the second selection value SEC, and the hash value H (Sig i ) of the signature. H (FIR∥SEC∥H (Sig i )) = K (S24-2 process)

투표인은 1차 선택값 FIR, 2차 선택값 SEC 그리고 자신의 서명을 해쉬한 값 H(Sigi)를 연접해 선관위의 공개키로 암호화한다. Av(FIR∥SEC∥H(Sigi)) = E'(S25-2 과정)The voter concatenates the first-choice FIR, the second-choice SEC and the hash of his signature, H (Sig i ), with the public key of the NEC. Av (FIR ∥ SEC ∥ H (Sig i )) = E '(S25-2 course)

투표인은 투표소와 선관위의 서명을 암호 결과값과 연접해 전송한다. SA∥E'는 선관위에게 전송하고, SG∥K를 투표소의 DB에 저장한다.(S26-2 과정)The voter transmits the signatures of the polling place and the NEC in conjunction with the cryptographic results. S A E 'sends the NEC and saves S G K in the DB of the polling place (step S26-2).

본 발명에 따른 확인단계(S30)는 도 6의 흐름도에 나타낸 바와 같다. 도 5의 투표단계에서와 마찬가지로 일반모드와 보안모드로 나뉘게 된다.(S31 과정)Confirmation step (S30) according to the present invention is as shown in the flow chart of FIG. As in the voting step of Figure 5 is divided into a normal mode and a security mode (S31 process).

투표자가 일반 모드를 선택하여 투표한 경우, 선관위 및 투표소는 자신들의 공개키로 서명을 확인한다. Ap(SA) = IDi,Gp(SG) = IDi(S32-1 과정)If the voter chooses to vote in normal mode, the NEC and the polling place verify the signature with their public key. A p (S A ) = ID i, G p (S G ) = ID i (S32-1 process)

선관위는 자신들의 분배 비밀 키들로 투표 정보를 복호화하고 결과를 집계한다. Asj(E) = Asj(Ap(FIR∥DUM∥H(Sigi))) = FIR∥DUM∥H(Sigi) (S33-1)The NEC decrypts the voting information with their distributed secret keys and aggregates the results. A sj (E) = A sj (A p (FIR∥DUM∥H (Sig i ))) = FIR∥DUM∥H (Sig i ) (S33-1)

선관위는 최종 집계 결과를 투표소만이 접근할 수 있는 비공개 데이터베이스로 전송하여 임시 저장한다.(S34-1 과정)The NEC sends the final counting result to a private database that only the polling place can access and temporarily stores it (step S34-1).

투표소는 투표소에서 집계한 최종 집계 결과와 선관위에서 보내온 결과를 확인하여 내용 일치 여부를 확인하고(S35 과정) 그 비교 결과를 선관위에 통보한다.(S36 과정)The polling place checks the final counting result collected by the polling place and the result sent by the NEC to confirm the contents match (S35 process), and notifies the NEC to the comparison result. (S36 process)

만일 상기 S35 과정에 따른 비교결과가 최종 집계 결과와 일치하지 않을 경우(S37 과정), 선관위는 투표 결과를 투표소의 공개키로 암호화하여 전송한다.(S38과정)If the comparison result according to step S35 does not coincide with the final counting result (step S37), the NEC transmits the result of the vote encrypted by using the public key of the polling place (step S38).

투표소는 선관위로부터 수신된 투표 정보를 다음과 같이 자신들의 비밀키로 확인한 후 해쉬를 취한다. Gs(Gp(FIR∥DUM∥H(Sigi))) = FIR∥DUM∥H(Sigi) (S39 과정)The polling station checks the voting information received from the NEC with its private key and takes the hash. G s (G p (FIR ∥ DUM ∥ H (Sig i ))) = FIR ∥ DUM ∥ H (Sig i ) (S39 process)

이후, 비공개 데이터베이스에 저장된 내용과 일치하는지 비교한다. H(FIR∥DUM∥H(Sigi)) = J (S40 과정)It then compares the contents with those stored in a private database. H (FIR∥DUM∥H (Sig i )) = J (S40 course)

만일 그 결과가 같다면 정당한 투표 값으로 인정하여 Ri1을 생략한 뒤 vi1과 H(Sigi)가 연접되어 집계에 들어간다. 그리고, 투표인의 투표 결과를 제 3자에게 노출시키지 않기 위하여 IDi∥Ri2를 해쉬하여 연접한다. IDi∥vi1∥H(Sigi)∥H(IDi∥Ri2) (S41 과정). 만일 결과가 일치하지 않을 때, 다시 선관위에 투표결과를 요구하여 다시 상기 S38 과정부터 수행하게 된다.If the result is the same, it is regarded as a legitimate vote value, and R i1 is omitted, and v i1 and H (Sig i ) are concatenated and counted. In order not to expose the voter's voting result to the third party, hashing ID i ∥R i2 is connected. ID i v i1 H (Sig i ) H (ID i R i2 ) (S41 process). If the results do not match, the NEC will request the voting results again to perform the process again from S38.

만일, 투표자가 보안 모드를 선택하여 투표를 한 경우의 확인과정(S30)은 다음과 같이 수행된다. 선관위 및 투표소는 자신들의 공개키로 서명을 확인한다. Ap(SA) = IDi, Gp(SG) = IDi(S32-2 과정)If the voter selects the security mode to vote, the verification process (S30) is performed as follows. NEC and polling stations verify signatures with their public keys. A p (S A ) = ID i , G p (S G ) = ID i (step S32-2)

선관위는 자신들의 분배 비밀 키들로 투표 정보를 복호화하고 결과를 집계한다. Asj(E') = Asj(Ap(FIR∥SEC∥H(Sigi))) = FIR∥SEC∥H(Sigi) (S33-2 과정)The NEC decrypts the voting information with their distributed secret keys and aggregates the results. A sj (E ') = A sj (A p (FIR ∥ SEC ∥ H (Sig i ))) = FIR ∥ SEC ∥ H (Sig i ) (S33-2 process)

선관위는 최종 집계 결과를 투표소만이 접근할 수 있는 비공개 데이터베이스전송하여 임시 저장한다.(S34-2 과정)The NEC temporarily stores the final counting result by sending it to a private database that only the polling place can access (step S34-2).

투표소는 투표소에서 집계한 최종 집계 결과와 선관위에서 보내온 결과를 비교하여(S35 과정) 내용 일치 여부를 선관위에 통보한다.(S36 과정)The polling place compares the final counting results collected by the polling places with the results sent by the NEC (S35 process) and notifies the NEC of the contents match (S36 process).

일반모드의 경우와 마찬가지로 만일 최종 집계 결과가 일치하지 않을 경우(S37 과정) 선관위는 투표 결과를 투표소의 공개키로 암호화하고 전송한다.(S38 과정)As in the general mode, if the final counting result does not match (step S37), the NEC encrypts and sends the ballot result with the public key of the polling place (step S38).

투표소는 선관위로부터 수신된 투표 정보를 다음과 같이 자신들의 비밀키로 확인한 후 해쉬를 취한다. Gs(Gp(FIR∥SEC∥H(Sigi))) = FIR∥SEC∥H(Sigi) (S39 과정)The polling station checks the voting information received from the NEC with its private key and takes the hash. G s (G p (FIR ∥ SEC ∥ H (Sig i ))) = FIR ∥ SEC ∥ H (Sig i ) (S39 process)

비공개 데이터베이스에 저장된 내용과 일치하는지 비교한다. H(FIR∥SEC∥H(Sigi)) = K (S40 과정) 만일 동일한 결과가 나오면 그 결과를 인정한다.(S41 과정)Compares with what is stored in a private database. H (FIR∥SEC∥H (Sig i )) = K (S40 process) If the same result is obtained, the result is recognized. (S41 process)

투표인이 일반모드를 택할 때, Ri1을 생략한 뒤 vi1과 H(Sigi)를 연접하여 집계에 사용하는 것과 달리, 보안모드를 선택하게 되면, vi2가 집계에 들어간다. 그리고, 결과를 다음과 같이 작성한다. IDi∥vi1∥H(IDi∥H(Sigi)∥H(vi2∥Ri2)). 이때 1차 선택 결과는 2차 선택결과와 내용이 같아서는 안되며, 제 3자로부터 투표인의 투표 결과를 노출시키지 않아야 한다.When the voter chooses the normal mode, instead of using R i1 and then concatenating v i1 and H (Sig i ) for aggregation, v i2 enters the aggregation. Then write the result as follows: ID i ∥v i1 H (ID i ∥H (Sig i ) ∥H (v i2 ∥R i2 )). At this time, the result of the first choice shall not be the same as the result of the second choice and shall not expose the voter's vote result from the third party.

한편, 투표 결과의 확인 및 집계과정이 완료된 후, 그 결과를 공표하는 과정(S40)은 다음과 같다. 선관위에서는 투표인의 투표 결과를 저장하고, 공개 보드 상에 공표한다. 이때에도 마찬가지로 일반모드와 보안모드로 나뉘며, 일반 모드를 선택했을 경우에는 IDi∥vi1∥H(Sigi)∥H(IDi∥Ri2)가 저장되고, 투표값 vi1이 집계 결과가 된다. 만일 보안 모드를 선택했을 경우에는 IDi∥vi1∥H(IDi∥H(Sigi)∥H(vi2∥Ri2))가 저장되며, 투표값 vi2가 집계 결과가 된다. 이 때 공개 보드 상에는 투표인의 투표값에 따라 후보자의 득표수가 누산(Counting)되어 공표된다.On the other hand, after the verification and counting process of the voting result is completed, the process of publishing the result (S40) is as follows. The NEC saves the voters' votes and publishes them on the public board. At this time, it is divided into the normal mode and the security mode. If the general mode is selected, ID i ∥v i1 ∥H (Sig i ) ∥H (ID i ∥R i2 ) is stored, and the voting value v i1 is calculated. do. If the security mode is selected, ID i ∥v i1 ∥H (ID i ∥H (Sig i ) ∥H (v i2 ∥R i2 )) is stored, and the voting value v i2 is the counting result. At this time, the number of votes of the candidates is counted and announced according to the voter's vote value on the public board.

각 투표인은 공개보드상에 공표된 자료를 통해 자신의 투표가 정상으로 반영되었는지 확인할 수 있다. 일반 모드를 선택한 투표자의 경우 vi1만 확인하면 되며, 투표 매매에 대한 방지책을 사용한 투표인은 보안 모드를 선택했기 때문에 자신의 식별자와 2차 선택값 그리고, 자신이 생성한 랜덤 수를 결합해 해쉬한 값을 투표 결과 값과 비교함으로써 자신의 투표 결과 vi2가 집계되었음을 확인한다. IDi∥vi1∥H(IDi∥H(Sigi)∥H(vi2∥Ri2))==> H(IDi∥H(Sigi)∥H(vi2∥Ri2))Each voter can check the publicity on the public board to ensure that his or her vote has been reflected. Voters who choose normal mode need only check v i1 , and voters who have used voting prevention measures choose a secure mode, so they combine their identifiers, secondary choices, and random numbers they generate. By comparing one value with the result of the vote, we confirm that our vote result v i2 has been counted. ID i ∥v i1 ∥H (ID i ∥H (Sig i ) ∥H (v i2 ∥R i2 )) ==> H (ID i ∥H (Sig i ) ∥H (v i2 ∥R i2 ))

이상에서 설명한 바와 같이 본 발명은 종래의 투표 방식에 비해 안전하고, 비용 및 인력, 시간을 절감할 수 있으며, 날씨나 장소에 구애받을 필요 없이 투표를 할 수 있으므로, 투표율 향상뿐만 아니라 우리의 생활에 편리함을 제공하고, 효율적이고 안전한 전자 투표 방식의 제안으로 그 기반이 되는 암호화 프로토콜에 대한 기본 개념을 정립하여 그 발전에 기여하는데 효과가 있다. 또한, 본 발명은 기술적 과제에서 살펴보았듯이 일반적인 요구 사항, 투표 매매 방지를 위한 요구 사항 및 선관위 부정방지를 위한 요구 사항을 모두 만족하므로 전자 투표 방법에서 요구하는 보안 요소들을 충분히 포괄하고 있다.As described above, the present invention is safer than the conventional voting method, saves money, manpower, time, and can vote without having to be weather or place, thus improving not only the turnout rate but also our lives. It is effective to provide the convenience and to contribute to the development by establishing the basic concept of the encryption protocol upon which the proposal of the efficient and secure electronic voting method is based. In addition, the present invention satisfies all of the general requirements, requirements for preventing voting and selling, and requirements for preventing the fraudulent elections, as described in the technical problem, and sufficiently covers the security elements required by the electronic voting method.

이상에서 본 발명에 대한 기술 사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 가장 양호한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술 분야의 통상의 지식을 가진 자이면 누구나 본 발명의 기술 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.The technical spirit of the present invention has been described above with reference to the accompanying drawings. In addition, it is obvious that any person skilled in the art may make various modifications and imitations without departing from the scope of the technical idea of the present invention.

Claims (9)

선거관리위원회 및 투표소의 전자투표관리용서버(이하 서버로 칭함)와, 인터넷 등의 통신수단을 통해 상기 선거관리위원회 및 투표소의 서버에 접속하여 컴퓨터로 판독 가능한 형태의 데이터를 송·수신할 수 있는 다수의 투표자 컴퓨터(이하 투표자로 칭함)로 이루어지는 전자투표시스템을 이용한 전자투표방법에 있어서;A computer-readable data can be transmitted and received by accessing the servers of the Election Commission and the Polling Place through electronic voting management servers (hereinafter referred to as servers) of the Election Commission and the Polling Place, and through communication means such as the Internet. An electronic voting method using an electronic voting system comprising a plurality of voter computers (hereinafter referred to as voters); 선거관리위원회(선관위)의 서버를 이용하여 컴퓨터로 판독가능한 형태의 투표인 명부 데이터를 생성한 후 인터넷 등의 통신수단을 통해 접속가능한 각 투표자 및 다수의 투표소의 컴퓨터로 전송하는 제 1 단계와;A first step of generating a computer-readable form of voter roster data using a server of an election management committee and transmitting the data to a computer of each voter and a plurality of polling stations accessible through a communication means such as the Internet; 선관위로부터 상기 투표인 명부 데이터를 수신받은 투표자가 실명이 아닌 은닉서명 비밀계수를 사용하여 컴퓨터로 판독가능한 데이터 형태의 세션 ID를 생성한 후 선관위 및 투표소의 서버로 전송하는 제 2 단계와;A second step in which the voter receiving the voter roster data from the NEC generates a session ID in the form of computer-readable data using a secret signature secret coefficient other than the real name, and transmits the session ID to the NEC and the server of the polling place; 선관위 및 투표소의 서버를 이용하여 각각 수신받은 세션 ID 데이터에 대하여 인증을 수행하고 각 비밀키로 서명한 데이터를 형성하여 투표자 컴퓨터로 전송하는 제 3 단계와;A third step of authenticating the received session ID data using the server of the NEC and the polling place, and forming the data signed by each secret key and transmitting the data to the voter computer; 각 투표자가 선관위 및 투표소의 서버로부터 수신한 데이터에서 자신의 비밀계수를 제거하여 선관위 서명이 포함된 자신의 식별자와 투표소의 서명이 포함된 식별자 정보를 추출하는 제 4 단계와;A fourth step in which each voter removes his secret coefficient from the data received from the server of the NEC and the polling place to extract its identifier including the NEC signature and the identifier information including the signature of the polling place; 각 투표자가 상기 제 4 단계를 통해 추출된 정보를 선관위의 공개키와 투표소의 공개키를 이용하여 서명을 확인함으로써 투표자의 식별자 등록을 확인하는 제 5 단계로 이루어지는 등록과정(A)과;A registration step (A) comprising a fifth step of confirming the voter's identifier registration by confirming the signature of each voter using the information extracted through the fourth step using the public key of the NEC and the public key of the polling place; 일반투표 모드와 투표매매 방지를 위한 보안모드로 양분되는 모드설정상태에서 투표자가 일반모드를 설정한 경우,When the voter sets the general mode in the mode setting divided into the general voting mode and the security mode to prevent the voting traffic, 투표자가 랜덤 값을 사용하여 자신의 1차 선택값 및 더미값(Dummy)을 컴퓨터로 판독가능한 데이터 형태로 생성하는 제 6-1 단계와;A 6-1 step in which the voter generates a first selection value and a dummy value in the form of computer-readable data using random values; 투표자가 투표자의 서명을 해쉬한 데이터값과 상기 1차 선택값, 그리고 더미값(Dummy)을 파라미터로 하는 해쉬함수를 구하는 제 7-1 단계와;A seventh step of obtaining a hash function for which the voter hashes the voter's signature, the first selection value, and a dummy value; 투표자가 상기 제 6-1 단계에서 생성된 투표인의 1차 선택값과 더미값, 그리고 투표인의 서명을 해쉬한 값을 연접하여 선관위의 공개키로 암호화하는 제 8-1 단계와;A step 8-1 in which the voter concatenates the voter's first selection value and the dummy value generated in step 6-1 and the hash value of the voter's signature and encrypts it with the public key of the NEC; 투표자가 상기 제 8-1 단계에 의해 생성된 암호결과 값에 선관위의 서명을 연접한 데이터를 생성하여 선관위 서버로 전송하는 제 9-1 단계와;A 9-1 step in which the voter generates data obtained by concatenating the NEC's signature with the cipher result generated in the 8-1st step and transmits the data to the NEC server; 상기 제 7-1 단계에 의해 생성된 해쉬함수 결과 값에 투표소의 서명을 연접한 데이터를 투표소 서버에 연결된 데이터베이스에 저장하는 제 10-1 단계를 포함하여 이루어지는 일반모드투표과정(B-1)과;A general mode voting process (B-1) comprising a step 10-1 of storing data in a database connected to the polling place server, the data concatenating the polling place signature with the hash function result value generated in the step 7-1; ; 상기 선관위 및 투표소에서 각각의 공개키를 이용하여 투표정보 데이터에 포함된 서명정보를 확인하는 제 11-1 단계와;A step 11-1 of checking the signature information included in the voting information data using the respective public key at the NEC and the polling place; 선관위 및 투표소에서 각각의 비밀키로 투표 정보를 복호화하여 그 결과를 집계하는 제 12-1 단계와;12-1 step of decrypting the voting information with the respective secret key in the NEC and the polling place to aggregate the results; 선관위에서 최종 집계결과를 투표소 서버에서만이 억세스(access)가능한 비공개 데이터베이스로 전송하는 제 13-1 단계와;Step 13-1 of the NEC transmitting the final counting result to a private database accessible only to the polling place server; 상기 제 12-1 단계 과정에 따라 투표소에서 집계한 최종결과와 상기 제 13-1 단계를 통해 선관위로부터 제공된 최종집계결과의 일치여부를 투표소에서 확인하는 제 14-1 단계와;A step 14-1 of checking, at the polling place, whether or not the final result aggregated by the polling place according to the step 12-1 coincides with the final counting result provided by the NEC through the step 13-1; 상기 제 14-1 단계에 따른 확인결과를 투표소에서 선관위로 통보하는 제 15-1 단계를 포함하여 이루어지는 일반모드 선거결과 처리과정(C-1)과;A general mode election result processing process (C-1) including a fifteenth step of informing the election committee of the polling place according to the step 14-1; 일반투표 모드와 투표매매 방지를 위한 보안모드로 양분되는 모드설정상태에서 투표자가 보안모드를 설정한 경우,When the voter sets the security mode in the mode setting divided into the general voting mode and the security mode for preventing the voting traffic, 투표자가 랜덤 값을 사용하여 자신의 1차 선택값(Fir) 및 2차 선택값(Sec)을 컴퓨터로 판독가능한 데이터 형태로 생성하는 제 6-2 단계와;A 6-2 step in which the voter generates the first selection value Fir and the second selection value Sec in the form of computer-readable data by using the random value; 투표자가 투표자의 서명을 해쉬한 데이터값과 상기 1차 선택값(Fir), 그리고 2차 선택값(Sec)을 파라미터로 하는 해쉬함수를 구하는 제 7-2 단계와;A step 7-2 in which a voter calculates a hash function having the data value hashing the voter's signature, the first selection value (Fir), and the second selection value (Sec) as parameters; 투표자가 상기 제 6-2 단계에서 생성된 투표인의 1차 선택값(Fir)과 2차 선택값(Sec), 그리고 투표인의 서명을 해쉬한 값을 연접하여 선관위의 공개키로 암호화하는 제 8-2 단계와;An eighth voter concatenating the voter's primary selection value (Fir), the voter's primary selection value (Sec), and the voter's signature hashed with the public key of the NEC; -2 steps; 투표자가 상기 제 8-2 단계에 의해 생성된 암호결과 값에 선관위의 서명을 연접한 데이터를 생성하여 선관위 서버로 전송하는 제 9-2 단계와;A step 9-2 in which the voter generates data obtained by concatenating the NEC's signature with the cipher result generated by the step 8-2 and transmits the data to the NEC server; 상기 제 7-2 단계에 의해 생성된 해쉬함수 결과 값에 투표소의 서명을 연접한 데이터를 투표소 서버에 연결된 데이터베이스에 저장하는 제 10-2 단계를 포함하여 이루어지는 보안모드투표과정(B-2)과;Security mode voting process (B-2) comprising the step 10-2 of storing the data concatenated with the signature of the polling place to the hash function result value generated in step 7-2 in a database connected to the polling place server and ; 상기 선관위 및 투표소에서 각각의 공개키로 제공된 투표정보 데이터에 포함된 서명정보를 확인하는 제 11-2 단계와;11-2 step of confirming the signature information contained in the ballot information data provided with the respective public key by the NEC and the polling place; 선관위 및 투표소에서 각각의 비밀키로 투표 정보를 복호화하여 그 결과를 집계하는 제 12-2 단계와;Step 12-2, in which the election committee and the polling place decrypt the voting information with the respective secret keys and aggregate the result; 선관위에서 투표소만이 억세스(access)가능한 비공개 데이터베이스로 최종 집계결과를 전송하는 제 13-2 단계와;Step 13-2 of sending the final counting result to a private database accessible only to the polling place by the NEC; 투표소에서, 상기 제 12-2 단계 과정에 따라 투표소에서 집계한 최종결과와 상기 제 13-2 단계를 통해 선관위로부터 제공된 최종집계결과의 일치여부를 확인하는 제 14-2 단계와;A 14-14 step of checking, at the polling place, whether or not the final result aggregated by the polling place according to the step 12-2 and the final aggregation result provided by the NEC through the step 13-2; 투표소에서, 상기 제 14-2 단계에 따른 확인결과를 선관위로 통보하는 제 15-2 단계를 포함하여 이루어지는 보안모드 선거결과 처리과정(C-2)을 포함하여 이루어지는 것을 특징으로 하는 전자투표방법.And an electronic voting method (C-2) comprising a security mode election result processing step (C-2) comprising a step 15-2 of notifying the NEC of the verification result according to the step 14-2 at the polling place. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제 1 항에 있어서; 상기 모드별 선거결과 처리과정 중 투표소에서 선관위로 통보하는 단계(15-1, 15-2)에서 통보결과가 부정적인 경우에,The method of claim 1; If the notification result is negative in the step (15-1, 15-2) of notifying the NEC at the polling place during the process of processing the election results for each mode, 선관위에서 투표결과를 투표소의 공개키로 암호화하여 투표소로 전송하는 제 16 단계와,A sixteenth step in which the NEC encrypts the voting result with the public key of the polling place and sends it to the polling place; 투표소에서 상기 제 16 단계를 통해 수신된 투표정보를 투표소의 비밀키로 확인하여 해쉬를 취하는 제 17 단계와,A seventeenth step in which the polling place checks the voting information received through the sixteenth step with the secret key of the polling place and takes a hash; 투표소에서 상기 제 17 단계에 의한 결과와 투표소의 데이터베이스에 저장된 투표 정보의 일치여부를 판단하는 제 18 단계와,An eighteenth step of determining whether or not the polling place matches the result of the seventeenth step with the voting information stored in the database of the polling place; 상기 제 18 단계의 결과 정당한 투표값으로 인정된 경우, 투표인이 선택했던 제 1 투표값과 투표인의 서명 해쉬값, 그리고 투표인의 세션 ID와 투표인의 랜덤수의 해쉬값을 연접하여 집계하는 제 19 단계를 포함하는 일련의 과정이 부가되는 것을 특징으로 하는 전자투표방법.If it is recognized as a valid vote value as a result of step 18, the first vote value selected by the voter, the voter's signature hash value, and the voter's session ID and the voter's random number of hash values are concatenated. Electronic voting method characterized in that a series of processes including the nineteenth step is added. 삭제delete 삭제delete
KR1020000013743A 2000-03-17 2000-03-17 An Electronic Voting Method KR100362603B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000013743A KR100362603B1 (en) 2000-03-17 2000-03-17 An Electronic Voting Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000013743A KR100362603B1 (en) 2000-03-17 2000-03-17 An Electronic Voting Method

Publications (2)

Publication Number Publication Date
KR20010091742A KR20010091742A (en) 2001-10-23
KR100362603B1 true KR100362603B1 (en) 2002-11-27

Family

ID=19656344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000013743A KR100362603B1 (en) 2000-03-17 2000-03-17 An Electronic Voting Method

Country Status (1)

Country Link
KR (1) KR100362603B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101167647B1 (en) 2010-09-14 2012-07-20 주식회사 이맥소프트 An Electron Vote Symtem

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020063660A (en) * 2001-01-30 2002-08-05 정혜숙 Elector identification device using finger-print and method thereof
WO2002063540A1 (en) * 2001-02-05 2002-08-15 Lorza Jr Miguel Kramer Single-number encoding and decoding of questionnaire responses
KR20040000278A (en) * 2002-06-24 2004-01-03 양경원 Internet voting
KR100653361B1 (en) * 2004-06-04 2006-12-06 고려대학교 산학협력단 Electronic voting method and system which is able to identify a voter`s ballot effective in counting of electronic vote
WO2009136717A2 (en) * 2008-05-06 2009-11-12 엑스엠에스(주) Network-based election management method using personal terminals, and election management server
KR102201085B1 (en) 2019-12-13 2021-01-08 윤성민 Electronic voting system and Electronic voting method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101167647B1 (en) 2010-09-14 2012-07-20 주식회사 이맥소프트 An Electron Vote Symtem

Also Published As

Publication number Publication date
KR20010091742A (en) 2001-10-23

Similar Documents

Publication Publication Date Title
Dimitriou Efficient, coercion-free and universally verifiable blockchain-based voting
CN109785494B (en) Traceable anonymous electronic voting method based on block chain
US7260552B2 (en) Secure remote electronic voting system and cryptographic protocols and computer programs employed
Juels et al. Coercion-resistant electronic elections
Chow et al. Robust Receipt-Free Election System with Ballot Secrecy and Verifiability.
US20100121765A1 (en) Electronic online voting system
US20070192607A1 (en) Electronic voting process using fair blind signatures
Lambrinoudakis et al. Secure electronic voting: The current landscape
Fouard et al. Survey on electronic voting schemes
WO2001020562A2 (en) Multiway election method and apparatus
Mohanty et al. A secure multi authority electronic voting protocol based on blind signature
KR100362603B1 (en) An Electronic Voting Method
Buccafurri et al. Allowing continuous evaluation of citizen opinions through social networks
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
KR101167647B1 (en) An Electron Vote Symtem
Haines et al. Votor: conceptually simple remote voting against tiny tyrants
Chung et al. Casting ballots over internet connection against bribery and coercion
KR101139898B1 (en) An Electron Vote Method
Sheikhi et al. Receipt-Free Electronic Voting from zk-SNARK
KR100338330B1 (en) Voting method for a receipt-free electronic voting system
Liu et al. How to design the faultless bribery and coercion prevention electronic voting scheme
Vangujar et al. A Novel Approach to e-Voting with Group Identity Based Identification and Homomorphic Encryption
Goulet et al. Surveying and improving electronic voting schemes

Legal Events

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

Payment date: 20121106

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20141020

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150813

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20161114

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20181212

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20191114

Year of fee payment: 18