KR20200008413A - Terminal device and Server for performing electronic voting based on a block chain ensuring secret election, and Electronic voting method - Google Patents
Terminal device and Server for performing electronic voting based on a block chain ensuring secret election, and Electronic voting method Download PDFInfo
- Publication number
- KR20200008413A KR20200008413A KR1020180082499A KR20180082499A KR20200008413A KR 20200008413 A KR20200008413 A KR 20200008413A KR 1020180082499 A KR1020180082499 A KR 1020180082499A KR 20180082499 A KR20180082499 A KR 20180082499A KR 20200008413 A KR20200008413 A KR 20200008413A
- Authority
- KR
- South Korea
- Prior art keywords
- voter
- value
- blockchain
- key
- server
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME 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/00—Voting apparatus
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H04L2209/38—
-
- 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
Abstract
Description
본 발명의 실시예들은 비밀성을 보장하면서 블록 체인의 탈 중개성 및 위변조 불가능성을 보장하는 블록 체인 기반의 전자 투표 방법과 이를 수행하는 단말 장치 및 서버에 관한 것이다. Embodiments of the present invention relate to a blockchain-based electronic voting method that guarantees confidentiality and guarantees demediation and forgery of the blockchain, and a terminal device and a server performing the same.
블록 체인은 데이터를 분산 저장하는 개방된 공통 장부 관리 기술이며, 거래의 투명성을 보장한다. 최근 몇몇 연구에서는 블록 체인의 탈 중개성 및 위변조 불가능성에 초점을 맞추어, 블록 체인 기반 전자투표를 연구하고 있으나 비밀 선거를 보장할 필요가 있는 전자 투표에 거래의 투명성을 제공하는 일반 블록체인 기술을 적용하는 것은 적절하지 않다.Blockchain is an open common book management technology that distributes and stores data, ensuring transaction transparency. Some recent studies have focused on blockchain demediation and forgery and impossibility, but have applied general blockchain technology that provides transparency in transactions to electronic voting that needs to ensure secret elections. It is not appropriate.
도 1은 중앙 선거 관리 위원회에서 주관하고 있는 종래의 블록 체인 기반의 온라인 투표 시스템의 개념을 도시한 도면이다. 1 is a diagram illustrating the concept of a conventional blockchain based online voting system hosted by the Central Election Commission.
도 1을 참조하면, 종래의 온라인 투표 시스템은 프라이버시를 보장할 수 있는 블록 체인이 아닌 일반적인 블록 체인에 기반하여 전자 투표를 구축하였으므로, 프라이버시 측면 및 위변조 측면에서 많은 문제점이 있다. Referring to FIG. 1, since the conventional online voting system establishes electronic voting based on a general blockchain rather than a blockchain that can guarantee privacy, there are many problems in terms of privacy and forgery.
첫째로, 유권자가 블록 체인에 기록하는 암호화된 투표 기록은 투표 서버 및 개표 서버에서는 복호화되고, 선거 관리 위원회의 서버는 이를 전적으로 신뢰하고 있다. 그러나, 서버가 공격을 당하는 경우, 투표 결과에 대한 위변조 가능성이 충분히 존재한다. First, the encrypted voting records that voters record on the blockchain are decrypted by the voting server and the ballot counting server, and the server of the election commission trusts it entirely. However, if the server is attacked, there is ample forgery of voting results.
둘째로, 블록 체인에 등재되는 투표 기록은 유권자 정보가 포함된 형태로 저장되기 때문에, 암호화된 투표 기록을 복호화할 수 있는 투표 서버 및 개표 서버는 유권자 각각의 투표 결과를 충분히 알 수 있다. 이는 전자 투표 내에서 완벽한 비밀 선거를 보장할 수 없음을 의미하며, 서버가 공격을 당하는 경우 모든 유권자의 투표 결과가 드러날 수 있는 위험성을 지닌다.Second, since the voting records listed on the blockchain are stored in a form that includes voter information, the voting server and the counting server capable of decrypting the encrypted voting records can fully know the voting results of each voter. This means that a complete secret election cannot be guaranteed within electronic voting, and there is a risk that the results of all voters' votes will be revealed if the server is attacked.
상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 비밀성을 보장하면서 블록 체인의 탈 중개성 및 위변조 불가능성을 보장하는 블록 체인 기반의 전자 투표 방법과 이를 수행하는 단말 장치 및 서버를 제안하고자 한다. In order to solve the problems of the prior art as described above, the present invention provides a blockchain-based electronic voting method and a terminal device and a server performing the same to ensure the confidentiality while ensuring the de-intermediation and forgery of the blockchain I would like to suggest.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.Other objects of the present invention may be derived by those skilled in the art through the following examples.
상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 투표소에 구비되며, 블록 체인을 이용하여 전자 투표를 수행하는 단말 장치로서, 컴퓨터에서 판독 가능한 명령을 저장하는 메모리부; 및 상기 명령을 실행하도록 구현되는 프로세서부:를 포함하되, 상기 프로세서부는, 입력된 유권자의 비밀 키 및 특정 선거를 식별하기 위한 공용 랜덤 값을 이용하여 투표권과 대응되는 일련번호를 산출하고, 상기 일련번호를 이용하여 수행된 투표 결과 값을 공용 암호 키로 암호화하여 암호화된 투표 결과 값을 산출하고, 상기 유권자의 비밀 키 및 상기 투표 결과 값을 포함하는 비밀 값을 공개하지 않고 상기 비밀 값을 알고 있음을 증명하는 증명 값을 산출하고, 상기 일련번호, 상기 암호화된 투표 결과 값 및 상기 증명 값을 상기 블록 체인에 기록하는 것을 특징으로 하는 단말 장치가 제공된다. According to a preferred embodiment of the present invention for achieving the above object, a terminal device provided in the polling place, and performs an electronic ballot using a block chain, comprising: a memory unit for storing a computer-readable command; And a processor unit configured to execute the command, wherein the processor unit calculates a serial number corresponding to a voting right by using an input voter's secret key and a common random value for identifying a specific election, Encrypt the voting result value performed using the number with a public encryption key to calculate an encrypted voting result value, and know the secret value without revealing the secret value including the voter's secret key and the voting result value. A terminal device is provided which calculates an attestation value for attestation and records the serial number, the encrypted voting result value and the attestation value in the blockchain.
상기 블록 체인에는 상기 공용 암호 키, 상기 공용 랜덤 값 및 유권자 리스트가 기록하되, 상기 유권자 리스트는 모든 유권자 각각의 유권자 정보를 포함하고, 상기 유권자 정보는 상기 유권자의 비밀 키를 이용한 해쉬 값과 대응될 수 있다. The public cryptographic key, the public random value, and the voter list are recorded in the blockchain, wherein the voter list includes voter information of each of the voters, and the voter information may correspond to a hash value using the secret key of the voter. Can be.
상기 공용 암호 키, 상기 공용 랜덤 값 및 상기 유권자 리스트는 선거 관리 위원회의 서버에서 산출되어 상기 블록 체인에 기록되고, 상기 유권자 정보는 상기 유권자의 단말 장치에서 산출된 후 상기 선거 관리 위원회의 서버로 전송되어 등록될 수 있다. The public cryptographic key, the public random value, and the voter list are calculated by the server of the election management committee and recorded in the blockchain, and the voter information is calculated by the terminal device of the voter and transmitted to the server of the election management committee. Can be registered.
상기 프로세서부는 상기 유권자가 입력한 유권자 정보와 상기 블록 체인에 기록된 유권자 정보가 동일한지 여부를 판단할 수 있다. The processor may determine whether voter information input by the voter and voter information recorded in the blockchain are the same.
상기 프로세서부는 상기 유권자가 입력한 유권자 정보 및 선거 관리 위원회의 서버로부터 수신된 서명 키를 이용하여 상기 선거 관리 위원회의 서버로부터 수신된 서명 값을 검증할 수 있다. The processor unit may verify the signature value received from the server of the election administration committee using the voter information input by the voter and the signature key received from the server of the election administration committee.
또한, 본 발명의 다른 실시예에 따르면, 선거 관리 위원회에 구비되며, 블록 체인을 이용하여 전자 투표를 수행하는 서버로서, 컴퓨터에서 판독 가능한 명령을 저장하는 메모리부; 및 상기 명령을 실행하도록 구현되는 프로세서부:를 포함하되, 상기 프로세서부는, 특정 선거를 식별하기 위한 공용 랜덤 값 및 투표 수행을 위한 공용 암호 키를 생성하고, 다수의 유권자의 단말 장치 각각으로부터 수신된 유권자 정보를 이용하여 유권자 리스트를 생성하고, 상기 유권자 리스트, 상기 공용 랜덤 값 및 상기 공용 암호 키를 상기 블록 체인에 기록하고, 서명 키와, 상기 서명 키를 이용하여 상기 유권자 정보를 서명한 서명 값을 상기 투표소에 구비된 단말 장치로 전송하되, 상기 투표소에 구비된 단말 장치는 유권자가 입력한 유권자 정보 및 상기 전송된 서명 키를 이용하여 상기 전송된 서명 값을 검증하는 것을 특징으로 하는 서버가 제공된다. In addition, according to another embodiment of the present invention, a server provided in the election management committee, and performs the electronic voting by using a block chain, comprising: a memory unit for storing a computer-readable instructions; And a processor unit implemented to execute the instructions, wherein the processor unit generates a common random value for identifying a specific election and a public encryption key for voting, and is received from each of the plurality of voter terminal devices. Generate a voter list using voter information, record the voter list, the public random value, and the public cryptographic key in the blockchain, and sign the voter information using a signature key and the signature key. Transmits to the terminal device provided in the polling place, wherein the terminal device provided in the polling place verifies the transmitted signature value by using voter information inputted by a voter and the transmitted signature key. do.
또한, 본 발명의 또 다른 실시예에 따르면, 유권자의 단말 장치 A, 투표소에 구비된 단말 장치 B 및 선거 관리 위원회에 구비된 서버에서 연동되어 수행되는 전자 투표 방법에 있어서, 상기 단말 장치 A가, 유권자의 비밀 키와 대응되는 유권자 정보를 생성하여 상기 서버로 전송하는 단계; 상기 서버가, 상기 전송된 유권자 정보를 이용하여 생성된 유권자 리스트와, 특정 선거를 식별하기 위한 공용 랜덤 값과, 투표 수행을 위한 공용 암호 키를 블록 체인에 기록하는 단계; 상기 단말 장치 B가, 유권자로부터 입력된 유권자의 비밀 키 및 상기 블록 체인에 기록된 공용 랜덤 값을 이용하여 투표권과 대응되는 일련번호를 산출하고, 상기 일련번호를 이용하여 수행된 투표 결과 값을 공용 암호 키로 암호화하여 암호화된 투표 결과 값을 산출하고, 상기 유권자의 비밀키 및 상기 투표 결과 값을 포함하는 비밀 값을 공개하지 않고 상기 비밀 값을 알고 있음을 증명하는 증명 값을 산출하며, 상기 일련번호, 상기 암호화된 투표 결과 값 및 상기 증명 값을 블록 체인에 기록하는 단계; 및 상기 서버가 상기 암호화된 투표 결과 값을 복호화하는 복호화 키를 상기 블록 체인에 등록하는 단계;를 포함하는 것을 특징으로 하는 전자 투표 방법이 제공된다. Further, according to another embodiment of the present invention, in the electronic voting method performed in conjunction with the terminal device A of the voter, the terminal device B provided in the polling place and the server provided in the election management committee, the terminal device A, Generating voter information corresponding to the secret key of the voter and transmitting the voter information to the server; Recording, by the server, on the blockchain a list of voters generated using the transmitted voter information, a public random value for identifying a specific election, and a public encryption key for voting; The terminal device B calculates a serial number corresponding to a voting right using a voter's secret key input from a voter and a shared random value recorded in the blockchain, and shares the voting result value performed using the serial number. Encrypting with an encryption key to calculate an encrypted voting result value, calculating a proof value certifying that the secret value is known without disclosing the secret value including the voter's secret key and the voting result value, the serial number Recording the encrypted voting result value and the attestation value in a blockchain; And registering, by the server, a decryption key for decrypting the encrypted voting result value in the blockchain.
본 발명에 따른 전자 투표 방법은 비밀성을 보장하면서 탈 중개성 및 위변조 불가능성을 보장할 수 있는 장점이 있다. The electronic voting method according to the present invention has an advantage of ensuring confidentiality and guaranteeing de-intermediation and forgery forgery.
또한, 본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.In addition, the effect of this invention is not limited to the above-mentioned effect, It should be understood that it includes all the effects which can be inferred from the structure of the invention described in the detailed description of this invention, or a claim.
도 1은 중앙 선거 관리 위원회에서 주관하고 있는 종래의 블록 체인 기반의 온라인 투표 시스템의 개념을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 블록 체인을 이용한 전자 투표 시스템의 개략적인 구성을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 다수의 단말 장치 A, 서버 및 다수의 단말 장치 B의 개략적인 구성을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 전자 투표 방법의 개념을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 전자 투표 방법의 흐름도를 도시한 도면이다.
도 6은 본 발명에 따른 zk-SNARK의 개념을 설명하기 위한 도면이다. 1 is a diagram illustrating the concept of a conventional blockchain based online voting system hosted by the Central Election Commission.
2 is a diagram illustrating a schematic configuration of an electronic voting system using a blockchain according to an embodiment of the present invention.
3 is a diagram illustrating a schematic configuration of a plurality of terminal devices A, a server, and a plurality of terminal devices B according to an embodiment of the present invention.
4 is a diagram illustrating the concept of an electronic voting method according to an embodiment of the present invention.
5 is a flowchart illustrating an electronic voting method according to an embodiment of the present invention.
6 is a view for explaining the concept of zk-SNARK according to the present invention.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.As used herein, the singular forms "a", "an" and "the" include plural forms unless the context clearly indicates otherwise. In this specification, terms such as “consisting of” or “comprising” should not be construed as necessarily including all of the various components or steps described in the specification, and some of the components or some steps It should be construed that it may not be included or may further include additional components or steps. In addition, the terms "... unit", "module", etc. described in the specification mean a unit for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software. .
이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술한다. Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명의 일 실시예에 따른 블록 체인을 이용한 전자 투표 시스템의 개략적인 구성을 도시한 도면이다. 2 is a diagram illustrating a schematic configuration of an electronic voting system using a blockchain according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일 실시예에 따른 전자 투표 시스템(200)은 다수의 유권자의 단말 장치(210)(이하, "단말 장치 A"라 호칭함), 선거 관리 위원회에 구비된 서버(220) 및 다수의 투표소에 구비된 단말 장치(230)(이하, "단말 장치 B"라 호칭함)을 포함한다. 그리고, 전자 투표는 다수의 단말 장치 A(210), 서버(220) 및 단말 장치 C(230)가 서로 연동하여 수행된다. 2, the
다수의 단말 장치 A(210)는 유권자 등록의 과정 및 개표 과정을 수행하고, 서버(220)는 다수의 단말 장치 A(210) 및 단말 장치 B(230)와 연동되며, 선거를 개시하는 동작을 수행하며, 단말 장치 B(230)는 투표 과정을 수행한다. The plurality of terminal devices A 210 performs a voter registration process and a counting process, and the
이 때, 다수의 단말 장치 A(210), 서버(220) 및 다수의 단말 장치 B(230) 각각은 도 3에 도시된 바와 같이, 통신부(310), 메모리부(320), 프로세서부(330) 및 디스플레이부(340)를 포함한다. In this case, each of the plurality of terminal apparatuses A 210, the
통신부(310)는 외부 장치와 통신 연결을 수행한다. The
메모리부(320)는 휘발성 및/또는 비휘발성 메모리일 수 있고, 단말 장치(210, 230) 또는 서버(220)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장한다. 특히, 메모리부(320)는 전자 투표를 수행하는데 필요한 컴퓨터 프로그램 내지 기록 매체에 관계된 명령어 또는 데이터를 저장할 수 있다. The
프로세서부(330)는 중앙처리장치, 애플리케이션 프로세서, 또는 커뮤니케이션 프로세서 중 하나 또는 그 이상을 포함할 수 있다. 특히, 프로세서부(330)는 상기 컴퓨터 프로그램의 실행에 관계된 명령을 실행할 수 있다. The
디스플레이부(340)는 액정 디스플레이(LCD), 발광 다이오드 디스플레이(LED), 유기 발광 다이오드 디스플레이(OLED) 등으로 구성될 수 있으며, 프로세서(340)에서 실행되는 컴퓨터 프로그램의 실행 화면을 출력할 수 있다. The
이하, 도 4 및 도 5를 참조하여, 전자 투표 시스템에서 수행되는 전자 투표 방법의 일 실시예를 설명하기로 한다. Hereinafter, an embodiment of an electronic voting method performed in the electronic voting system will be described with reference to FIGS. 4 and 5.
도 4는 본 발명의 일 실시예에 따른 전자 투표 방법의 개념을 도시한 도면이고, 도 5는 도 4에 따른 전자 투표 방법의 흐름도를 도시한 도면이다. 4 is a view illustrating a concept of an electronic voting method according to an embodiment of the present invention, Figure 5 is a flow chart of the electronic voting method according to FIG.
이 때, 도 4 및 도 5는 설명의 편의를 위해 하나의 유권자에 대한 전자 투표의 과정을 도시하고 있으며, 도 4 및 도 5의 내용은 유권자 모두에 대해 동일하게 적용될 수 있다. 4 and 5 illustrate a process of electronic voting for one voter for convenience of description, and the contents of FIGS. 4 and 5 may be equally applied to all voters.
먼저, 단계(502) 내지 단계(508)는 "유권자 등록" 과정과 대응되는 단계이다. 이하, 각 단계 별로 수행되는 과정을 설명하면 다음과 같다. First, steps 502 to 508 correspond to the "vote registration" process. Hereinafter, the process performed for each step will be described.
단계(502)에서, 서버(220)는 유권자의 비밀 키 를 단말 장치 A(210)로 전송한다. 즉, 유권자는 자신의 ID(일례로, 주민등록번호)를 서버(220)로 입력하고, 유권자의 ID와 일대일로 대응되는 비밀 키 를 랜덤으로 선택하여 부여받는다. 이 때, 서버(220)는 전송된 비밀 키 를 저장하지 않으며, 따라서 비밀 키 는 유권자만이 알 수 있는 정보이다. In step 502,
단계(504)에서, 단말 장치 A(210)는 비밀 키 를 이용하여 유권자 정보 를 산출한다. 이 때, 유권자 정보 는 공개된 유권자에 대한 정보로서, 비공개된 비밀 키 와 일대일로 대응되는 정보이다. In step 504, the terminal device A 210 stores the secret key. Voter Information Using To calculate. Voter information at this time Is a publicly held voter's information. And one-to-one correspondence.
본 발명의 일 실시예에 따르면, 아래의 수학식 1을 이용하여 비밀 키 및 유권자 정보 가 산출될 수 있다. According to an embodiment of the present invention, the secret
여기서, 는 정수 값의 그룹을 의미한다. 즉, 유권자 정보 는 유권자의 비밀 키 를 이용한 해쉬 값과 대응된다. here, Means a group of integer values. Voter information Voter secret key Corresponds to the hash value using
단계(506)에서, 단말 장치 A(210)는 유권자 정보 를 서버(220)로 전송한다. 이 때, 서버(220)는 유권자의 ID 및 이에 대응되는 유권자 정보 를 등록한다. In step 506,
단계(508)에서, 서버(220)는 유권자 정보 가 포함된 유권자 리스트를 블록 체인에 기록한다. 이 때, 블록 체인은 모든 유권자가 접근할 수 있으며, 유권자 리스트는 모든 유권자에 대한 유권자 정보 를 포함한다. In step 508,
다음으로, 단계(510) 및 단계(512)는 "선거 개시"와 대응되는 단계이다. 이하, 각 단계 별로 수행되는 과정을 설명하면 다음과 같다.Next, step 510 and step 512 are steps corresponding to "election start". Hereinafter, the process performed for each step will be described.
단계(510)에서, 서버(220)는 선거 용지 데이터 양식, 특정 선거를 식별하기 위한 공용 랜덤 값 및 투표 수행을 위한 공용 암호 키 를 블록 체인에 기록한다. 이 때, 공용 암호 키 는 투표 결과 값을 암호화할 수 있는 키이다. In step 510,
단계(512)에서, 서버(220)는 유권자 정보 에 대해 서명을 수행하는 서명 키 를 생성한다. 이 때, 서명 키 는 유권자의 비밀 키 가 유출되는 경우, 타인의 비밀 키 로 투표권을 행사하는 것을 방지하기 위해 이용되는 키이다. In step 512,
계속하여, 단계(514) 내지 단계(528)는 투표소에 구비된 단말 장치 B(230)에서 수행되는 "유권자 투표"와 대응되는 단계이다. 이하, 각 단계 별로 수행되는 과정을 상세하게 설명한다. Subsequently, the steps 514 to 528 correspond to "vote vote" performed in the
단계(514)에서, 단말 장치 B(230)는 키보드 등을 통해 입력된 유권자의 비밀 키 및 블록 체인에 기록된 공용 랜덤 값 을 이용하여 투표권과 대응되는 일련번호 를 산출한다(). 즉, 일련번호 는 투표를 행사할 수 있는 권리와 대응된다. In step 514, the
단계(516)에서, 단말 장치 B(230)는 유권자의 제어 하에, 일련번호 를 이용하여 투표 결과 값을 산출한다. 그리고, 단계(518)에서, 단말 장치 B(230)는 블록 체인에 기록된 공용 암호 키 로 투표 결과 값을 암호화하여 암호화된 투표 결과 값 을 산출한다(). In step 516, the
단계(520)에서, 단말 장치 B(230)는 키보드 등을 통해 유권자가 입력한 유권자 정보 와 블록 체인에 기록된 유권자 정보 가 동일한지 여부를 판단한다(). 즉, 단계(518)는 유권자 자신이 유권자 리스트 내에 존재한다는 것을 증명하는 단계이다.In step 520, the
단계(522)에서, 서버(220)는 블록 체인에 기록된 유권자 정보 를 서명 키 로 서명하여 서명 값 를 산출하고, 단계(524)에서, 서버(220)는 서명 키 및 서명 값 를 단말 장치 B(230)로 전송한다. In step 522,
단계(526)에서, 단말 장치 B(230)는 유권자가 입력한 유권자 정보 및 서버(220)로부터 수신된 서명 키 를 이용하여 서버(220)로부터 수신된 서명 값 을 검증한다(). 만약 검증이 되지 않는 경우, 유권자는 타인의 비밀 키 를 이용하여 투표를 수행하는 자로 판명되어 투표를 수행할 수 없다. In step 526, the
단계(528)에서, 단말 장치 B(230)는 유권자의 비밀 키 , 투표 결과 값 및 유권자 정보 을 포함하는 비밀 값을 공개하지 않고 비밀 값을 알고 있음을 증명하는 증명 값 을 산출한다. 이에 따라, 비밀 투표가 수행될 수 있다. 이 때, zk-SNARK(zero-knowledge Succinct Non-interactive Argument of Knowledge) 알고리즘이 사용될 수 있다. 이에 대해 상세하게 설명하면 다음과 같다 In step 528,
zk-SNARK는 증명자와 검증자 간의 상호 교환(interaction)이 없는 진술(statement)에 대한 간결한 영지식 증명(zero-knowledge)으로서, 의 관계식이 있을 때, 관계식을 계산하기 위해 필요한 비밀 값인 를 드러내지 않고, 을 알고 있음을 증명하는 알고리즘이다. 즉, 미리 정의된 특정 수식을 주어진 입력 값에 맞게 수행하였는지는 산출하되 중간 결과값을 보여주지 않고 증명할 수 있다. zk-SNARK is a concise zero-knowledge of statements with no interaction between prover and verifier, When there is a relation of, the secret value needed to compute Without revealing, Algorithm to prove that you know. In other words, it is possible to prove whether a specific predefined formula is performed for a given input value, but without demonstrating the intermediate result value.
즉, 단계(514), 단계(518), 단계(520) 및 단계(526)를 도 6에 도시된 바와 같이 하나의 함수로 나타내면, 함수의 출력값으로 일련번호 , 암호화된 투표 결과 값 및 상기 함수를 올바르게 수행하기 위해 필요한 비밀 값을 알고 있음을 증명하는 증명 값 이 출력된다. That is, if step 514, step 518, step 520 and step 526 are represented as a function as shown in Figure 6, the output number of the function as a serial number Encrypted voting result And a proof value that proves that the secret value needed to perform the function correctly is known. Is output.
단계(530)에서, 단말 장치 B(230)는 일련번호 , 암호화된 투표 결과 값 및 증명 값 을 블록 체인에 기록한다. In step 530, the
마지막으로, 단계(532) 내지 단계(534)는 "개표 과정"와 대응되는 단계이다. 이하, 각 단계 별로 수행되는 과정을 상세하게 설명한다. Finally, steps 532 to 534 are steps corresponding to the "counting process". Hereinafter, a process performed for each step will be described in detail.
단계(530)에서, 서버(220)는 복호화 키 를 블록 체인에 기록한다. 이 때, 복호화 키는 암호화된 투표 결과 값을 복호화하는 키이다. In step 530,
단계(532)에서, 단말 장치 A(210)는 블록 체인에 기록된 복호화 키 를 이용해 블록 체인에 기록된 모든 암호화된 투표 결과 값 을 복호화하여 개표를 수행한다. In step 532, the
요컨대, zk-SNARK 알고리즘을 전자 투표에 적용하면, 어떤 유권자가 어느 후보에게 투표했는지는 알 수는 없지만 최종 투표 결과에 대해서는 증명할 수 있다. 즉, 본 발명은 비밀 투표를 보장할 수 있다. 또한, 블록 체인을 사용하기 때문에 기존 블록 체인 기반 전자 투표와 마찬가지로 투표 결과의 무결성을 보장할 수 있고 빠른 개표 결과를 보장할 수 있다.In short, applying the zk-SNARK algorithm to electronic voting does not tell which voter voted which candidate, but can prove the final voting result. That is, the present invention can guarantee a secret ballot. In addition, the use of blockchain ensures the integrity of voting results and ensures fast counting results, just like traditional blockchain-based electronic voting.
또한, 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, embodiments of the present invention may be implemented in the form of program instructions that may be executed by various computer means to be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Examples of program instructions such as magneto-optical, ROM, RAM, flash memory, etc. may be executed by a computer using an interpreter as well as machine code such as produced by a compiler. Contains high-level language codes. The hardware device described above may be configured to operate as one or more software modules to perform the operations of one embodiment of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다. In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help the overall understanding of the present invention, the present invention is not limited to the above embodiments, Various modifications and variations are possible to those skilled in the art to which the present invention pertains. Therefore, the spirit of the present invention should not be limited to the described embodiments, and all of the equivalents and equivalents of the claims, as well as the appended claims, will belong to the scope of the present invention. .
Claims (9)
컴퓨터에서 판독 가능한 명령을 저장하는 메모리부; 및
상기 명령을 실행하도록 구현되는 프로세서부:를 포함하되,
상기 프로세서부는,
입력된 유권자의 비밀 키 및 특정 선거를 식별하기 위한 공용 랜덤 값을 이용하여 투표권과 대응되는 일련번호를 산출하고, 상기 일련번호를 이용하여 수행된 투표 결과 값을 공용 암호 키로 암호화하여 암호화된 투표 결과 값을 산출하고, 상기 유권자의 비밀 키 및 상기 투표 결과 값을 포함하는 비밀 값을 공개하지 않고 상기 비밀 값을 알고 있음을 증명하는 증명 값을 산출하고, 상기 일련번호, 상기 암호화된 투표 결과 값 및 상기 증명 값을 상기 블록 체인에 기록하는 것을 특징으로 하는 단말 장치. A terminal device provided in a polling place and performing electronic voting using a blockchain,
A memory unit for storing instructions readable by a computer; And
A processor unit implemented to execute the instruction,
The processor unit,
Voting result is encrypted by inputting a voter's secret key and a public random value for identifying a specific election, and a voting result corresponding to the voting right, and voting result value encrypted using the serial number with a public encryption key Calculate a value, calculate a proof value proving that the secret value is known without disclosing the secret value including the voter's secret key and the vote result value, the serial number, the encrypted vote result value, and And the proof value is recorded in the blockchain.
상기 블록 체인에는 상기 공용 암호 키, 상기 공용 랜덤 값 및 유권자 리스트가 기록되되, 상기 유권자 리스트는 모든 유권자 각각의 유권자 정보를 포함하고,
상기 유권자 정보는 상기 유권자의 비밀 키를 이용한 해쉬 값과 대응되는 것을 특징으로 하는 단말 장치. The method of claim 1,
The public cryptographic key, the public random value, and the voter list are recorded in the blockchain, wherein the voter list includes voter information of each voter,
And the voter information corresponds to a hash value using the voter's secret key.
상기 공용 암호 키, 상기 공용 랜덤 값 및 상기 유권자 리스트는 선거 관리 위원회의 서버에서 산출되어 상기 블록 체인에 기록되고,
상기 유권자 정보는 상기 유권자의 단말 장치에서 산출된 후 상기 선거 관리 위원회의 서버로 전송되어 등록되는 것을 특징으로 하는 단말 장치. The method of claim 2,
The public cryptographic key, the public random value and the voter list are calculated by a server of an election management committee and recorded in the blockchain,
And the voter information is calculated at the terminal device of the voter and transmitted to the server of the election management committee for registration.
상기 프로세서부는 상기 유권자가 입력한 유권자 정보와 상기 블록 체인에 기록된 유권자 정보가 동일한지 여부를 판단하는 것을 특징으로 하는 단말 장치. The method of claim 2,
And the processor unit determines whether voter information input by the voter and voter information recorded in the blockchain are the same.
상기 프로세서부는 상기 유권자가 입력한 유권자 정보 및 선거 관리 위원회의 서버로부터 수신된 서명 키를 이용하여 상기 선거 관리 위원회의 서버로부터 수신된 서명 값을 검증하는 것을 특징으로 하는 단말 장치. The method of claim 2,
And the processor unit verifies a signature value received from a server of the election administration committee using voter information input by the voter and a signature key received from a server of an election administration committee.
컴퓨터에서 판독 가능한 명령을 저장하는 메모리부; 및
상기 명령을 실행하도록 구현되는 프로세서부:를 포함하되,
상기 프로세서부는,
특정 선거를 식별하기 위한 공용 랜덤 값 및 투표 수행을 위한 공용 암호 키를 생성하고, 다수의 유권자의 단말 장치 각각으로부터 수신된 유권자 정보를 이용하여 유권자 리스트를 생성하고, 상기 유권자 리스트, 상기 공용 랜덤 값 및 상기 공용 암호 키를 상기 블록 체인에 기록하고, 서명 키와, 상기 서명 키를 이용하여 상기 유권자 정보를 서명한 서명 값을 상기 투표소에 구비된 단말 장치로 전송하되,
상기 투표소에 구비된 단말 장치는 유권자가 입력한 유권자 정보 및 상기 전송된 서명 키를 이용하여 상기 전송된 서명 값을 검증하는 것을 특징으로 하는 서버. In the server which is provided in the election management committee, and performs the electronic voting using the blockchain,
A memory unit for storing instructions readable by a computer; And
A processor unit implemented to execute the instruction,
The processor unit,
A public random value for identifying a specific election and a public encryption key for voting are generated, and a voter list is generated using voter information received from each of a plurality of voter terminal devices, and the voter list and the public random value are generated. And recording the public cryptographic key in the blockchain, and sending a signature key and a signature value of signing the voter information using the signature key to a terminal device provided in the polling place,
The terminal device provided in the polling station verifies the transmitted signature value by using voter information inputted by a voter and the transmitted signature key.
상기 프로세서부는 복호화 키를 상기 블록 체인에 기록하되,
상기 복호화 키는 상기 투표소에 구비된 단말 장치에서 산출되어 상기 블록 체인에 기록된 암호화된 투표 결과 값을 복호화하는 키인 것을 특징으로 하는 서버. The method of claim 6,
The processor unit writes a decryption key to the blockchain,
And said decryption key is a key for decrypting an encrypted voting result value which is calculated by a terminal apparatus provided in said polling station and recorded in said blockchain.
상기 단말 장치 A가, 유권자의 비밀 키와 대응되는 유권자 정보를 생성하여 상기 서버로 전송하는 단계;
상기 서버가, 상기 전송된 유권자 정보를 이용하여 생성된 유권자 리스트와, 특정 선거를 식별하기 위한 공용 랜덤 값과, 투표 수행을 위한 공용 암호 키를 블록 체인에 기록하는 단계;
상기 단말 장치 B가, 유권자로부터 입력된 유권자의 비밀 키 및 상기 블록 체인에 기록된 공용 랜덤 값을 이용하여 투표권과 대응되는 일련번호를 산출하고, 상기 일련번호를 이용하여 수행된 투표 결과 값을 공용 암호 키로 암호화하여 암호화된 투표 결과 값을 산출하고, 상기 유권자의 비밀키 및 상기 투표 결과 값을 포함하는 비밀 값을 공개하지 않고 상기 비밀 값을 알고 있음을 증명하는 증명 값을 산출하며, 상기 일련번호, 상기 암호화된 투표 결과 값 및 상기 증명 값을 블록 체인에 기록하는 단계; 및
상기 서버가 상기 암호화된 투표 결과 값을 복호화하는 복호화 키를 상기 블록 체인에 등록하는 단계;를 포함하는 것을 특징으로 하는 전자 투표 방법. In the electronic voting method performed in conjunction with the terminal device A of the voter, the terminal device B provided in the polling place and the server provided to the election management committee,
Generating, by the terminal device A, voter information corresponding to a secret key of a voter and transmitting the voter information to the server;
The server, recording on the blockchain a list of voters generated using the transmitted voter information, a public random value for identifying a specific election, and a public encryption key for voting;
The terminal device B calculates a serial number corresponding to the voting right by using the voter's secret key input from the voter and the shared random value recorded in the blockchain, and shares the voting result value performed using the serial number. Encrypting with an encryption key to produce an encrypted voting result value, calculating an authentication value proving that the secret value is known without disclosing a secret value including the voter's secret key and the voting result value, the serial number Recording the encrypted voting result value and the attestation value in a blockchain; And
Registering, by the server, in the blockchain a decryption key that decrypts the encrypted voting result value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180082499A KR102144614B1 (en) | 2018-07-16 | 2018-07-16 | Terminal device and Server for performing electronic voting based on a block chain ensuring secret election, and Electronic voting method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180082499A KR102144614B1 (en) | 2018-07-16 | 2018-07-16 | Terminal device and Server for performing electronic voting based on a block chain ensuring secret election, and Electronic voting method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200008413A true KR20200008413A (en) | 2020-01-28 |
KR102144614B1 KR102144614B1 (en) | 2020-08-13 |
Family
ID=69370325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180082499A KR102144614B1 (en) | 2018-07-16 | 2018-07-16 | Terminal device and Server for performing electronic voting based on a block chain ensuring secret election, and Electronic voting method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102144614B1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327427B (en) * | 2020-02-02 | 2021-06-11 | 腾讯科技(深圳)有限公司 | Method, device, node equipment, system and storage medium for submitting alternative blocks |
CN113096299A (en) * | 2021-04-28 | 2021-07-09 | 浙江数秦科技有限公司 | Anonymous electronic voting method based on alliance chain |
KR20210120514A (en) * | 2020-03-27 | 2021-10-07 | 한양대학교 산학협력단 | Electronic voting system and method based on homogeneous cryptography |
CN114299656A (en) * | 2020-09-23 | 2022-04-08 | 成都中科信息技术有限公司 | Voting method |
WO2022089420A1 (en) * | 2020-10-28 | 2022-05-05 | 深圳前海微众银行股份有限公司 | Voting method and apparatus based on blockchain |
KR20220060444A (en) | 2020-11-04 | 2022-05-11 | 광주과학기술원 | Bolckchain e-voting system and manipulation method |
KR102595354B1 (en) * | 2023-02-07 | 2023-10-30 | 주식회사 지크립토 | Blockchain-based Electronic Voting System and Method with Zero-knowledge proof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011091864A (en) * | 2004-01-26 | 2011-05-06 | Nec Corp | Anonymous electronic voting system and anonymous electronic voting method |
KR101116339B1 (en) * | 2010-09-14 | 2012-03-09 | 주식회사 이맥소프트 | A electron vote unit for an individual information protection |
US20170109955A1 (en) * | 2015-10-20 | 2017-04-20 | Follow My Vote, Inc. | Blockchain electronic voting system and method |
KR101837169B1 (en) * | 2016-12-29 | 2018-03-09 | 주식회사 코인플러그 | Method for providing secret electronic voting service on the basis of blockchain with merkle tree structure by using zero knowledge proof algorithm, and voting coin minter server, voting token distributor server and voting supporting server using the same |
-
2018
- 2018-07-16 KR KR1020180082499A patent/KR102144614B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011091864A (en) * | 2004-01-26 | 2011-05-06 | Nec Corp | Anonymous electronic voting system and anonymous electronic voting method |
KR101116339B1 (en) * | 2010-09-14 | 2012-03-09 | 주식회사 이맥소프트 | A electron vote unit for an individual information protection |
US20170109955A1 (en) * | 2015-10-20 | 2017-04-20 | Follow My Vote, Inc. | Blockchain electronic voting system and method |
KR101837169B1 (en) * | 2016-12-29 | 2018-03-09 | 주식회사 코인플러그 | Method for providing secret electronic voting service on the basis of blockchain with merkle tree structure by using zero knowledge proof algorithm, and voting coin minter server, voting token distributor server and voting supporting server using the same |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327427B (en) * | 2020-02-02 | 2021-06-11 | 腾讯科技(深圳)有限公司 | Method, device, node equipment, system and storage medium for submitting alternative blocks |
KR20210120514A (en) * | 2020-03-27 | 2021-10-07 | 한양대학교 산학협력단 | Electronic voting system and method based on homogeneous cryptography |
US11600129B2 (en) | 2020-03-27 | 2023-03-07 | Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) | Electronic voting system and method based on homogeneous cryptography |
CN114299656A (en) * | 2020-09-23 | 2022-04-08 | 成都中科信息技术有限公司 | Voting method |
WO2022089420A1 (en) * | 2020-10-28 | 2022-05-05 | 深圳前海微众银行股份有限公司 | Voting method and apparatus based on blockchain |
KR20220060444A (en) | 2020-11-04 | 2022-05-11 | 광주과학기술원 | Bolckchain e-voting system and manipulation method |
CN113096299A (en) * | 2021-04-28 | 2021-07-09 | 浙江数秦科技有限公司 | Anonymous electronic voting method based on alliance chain |
CN113096299B (en) * | 2021-04-28 | 2022-05-24 | 浙江数秦科技有限公司 | Anonymous electronic voting method based on alliance chain |
KR102595354B1 (en) * | 2023-02-07 | 2023-10-30 | 주식회사 지크립토 | Blockchain-based Electronic Voting System and Method with Zero-knowledge proof |
Also Published As
Publication number | Publication date |
---|---|
KR102144614B1 (en) | 2020-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11671267B2 (en) | System and method for verifying an identity of a user using a cryptographic challenge based on a cryptographic operation | |
KR20200008413A (en) | Terminal device and Server for performing electronic voting based on a block chain ensuring secret election, and Electronic voting method | |
US9646161B2 (en) | Relational database fingerprinting method and system | |
JP6543040B2 (en) | System and method for remote access, remote digital signature | |
US11258591B2 (en) | Cryptographic key management based on identity information | |
US11303427B2 (en) | Method for verifying opinion by use of block chain which guarantees anonimity and prevents sybil attack | |
US20130042111A1 (en) | Securing transactions against cyberattacks | |
JP2010503252A (en) | Computing platform proof | |
TWI728587B (en) | Computer-implemented methods, systems, apparatus for securely performing cryptographic operations | |
KR20190076535A (en) | System and method for anonymous votes using block-chain | |
Qureshi et al. | SeVEP: Secure and verifiable electronic polling system | |
Agate et al. | SecureBallot: A secure open source e-Voting system | |
Gupta et al. | End to end secure e-voting using blockchain & quantum key distribution | |
Kremer et al. | To du or not to du: A security analysis of du-vote | |
TWI724681B (en) | Managing cryptographic keys based on identity information | |
KR102056612B1 (en) | Method for Generating Temporary Anonymous Certificate | |
KR20200085204A (en) | Verifiable Electronic Voting System | |
EP3883204B1 (en) | System and method for secure generation, exchange and management of a user identity data using a blockchain | |
KR20170130963A (en) | Apparatus for authenticating user in association with user-identification-registration and local-authentication and method for using the same | |
Chaki et al. | Verification across intellectual property boundaries | |
Kagona | BLOCKCHAIN BASED ELECTRONIC VOTING PROTOCOL | |
US20210334410A1 (en) | Updating a security policy | |
WO2024043999A1 (en) | Full remote attestation without hardware security assurances | |
Kumar | Android App-based Cryptographic End-to-End Verifiable Election System | |
CN115659397A (en) | Data processing method, device, terminal and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |