KR102357460B1 - 동형 암호 기술 기반 전자 투표 시스템 및 그 방법 - Google Patents

동형 암호 기술 기반 전자 투표 시스템 및 그 방법 Download PDF

Info

Publication number
KR102357460B1
KR102357460B1 KR1020200037314A KR20200037314A KR102357460B1 KR 102357460 B1 KR102357460 B1 KR 102357460B1 KR 1020200037314 A KR1020200037314 A KR 1020200037314A KR 20200037314 A KR20200037314 A KR 20200037314A KR 102357460 B1 KR102357460 B1 KR 102357460B1
Authority
KR
South Korea
Prior art keywords
zero
block chain
knowledge proof
cipher text
key
Prior art date
Application number
KR1020200037314A
Other languages
English (en)
Other versions
KR20210120514A (ko
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 KR1020200037314A priority Critical patent/KR102357460B1/ko
Priority to US17/203,024 priority patent/US11600129B2/en
Publication of KR20210120514A publication Critical patent/KR20210120514A/ko
Application granted granted Critical
Publication of KR102357460B1 publication Critical patent/KR102357460B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • G06Q2230/00Voting or election arrangements
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

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

Abstract

동형 암호 기술 기반 전자 투표 시스템 및 그 방법이 개시된다. 전자 투표 방법은 (a) 선거 식별정보 eid 및 자신의 비밀키를 이용하여 시리얼 넘버 sn을 생성하는 단계-상기 선거 식별정보 eid는 블록체인을 통해 공유됨; (b) 투표 메시지 M을 검증 가능한 동형 암호화 기법을 통해 암호화하여 암호문 CT를 생성하고, 상기 투표 메시지 M에 대한 영지식 증명키
Figure 112020032157981-pat00059
를 생성하는 단계; 및 (c) 상기 시리얼 넘버 sn, 상기 암호문 CT 및 영지식 증명키
Figure 112020032157981-pat00060
를 포함하는 전자 투표지를 트랜잭션으로서 블록체인 네트워크로 전송하는 단계를 포함한다.

Description

동형 암호 기술 기반 전자 투표 시스템 및 그 방법{Electronic voting system and method based on homogeneous cryptography}
본 발명은 동형 암호 기술 기반 전자 투표 시스템 및 그 방법에 관한 것이다.
현존하는 전자투표 시스템들은 모두 투표자의 프라이버시나 투표 결과에 대한 무결성을 특정 권한을 가진 관리자에게 위임하고 있기 때문에, 부패한 관리자를 가정할 경우 안전하고 투명한 시스템으로 규정하기 어렵다. 특히 투표자의 프라이버시를 근본적으로 보장하기 위해서는 투표자가 외압에 의해서도 소신있는 투표를 던질 수 있도록 본인의 투표를 재현할 수 없는 "외압 저항성(coercion-resistance)"이 있어야 한다.
반대로 투표 결과의 무결성을 위해서는 투표자가 본인 투표의 존재를 확인할 수 있어야 하는 "확인 보정상(individual verifiability)"이 있어야 한다. 그러나 외압 정당성을 위해서는 투표자 본인조차도 알수 없도록 투표 자체가 변형되어야 하는데, 그렇게 되면 투표자가 더 이상 본인의 투표가 제대로 존재하는지 알 수 없어 확인 보장성이 깨지게 된다.
이러한 두 속성의 구조적 대립 때문에 지금까지의 전자 투표 시스템들은 주로 외압 정당성에 집중하여 설계되었고, 확인 보장성은 관리자의 권한에 맡기거나 제대로 지켜지지 않았다.
본 발명은 외압 저항성과 확인 보장성을 만족하는 동형 암호 기술 기반 전자 투표 시스템 및 그 방법을 제공하기 위한 것이다.
또한, 본 발명은 블록 체인을 통해 투표 과정에 대한 조작 방지가 가능하도록 할 수 있는 동형 암호 기술 기반 전자 투표 시스템 및 그 방법을 제공하기 위한 것이다.
또한, 본 발명은 비상호적 영지식 증명과의 연결을 통해 정당한 투표자임을 증명할 수 있으며, 투표 메시지가 정당한 범위 내에 있는 것을 증명할 수 있는 동형 암호 기술 기반 전자 투표 시스템 및 그 방법을 제공하기 위한 것이다.
또한, 본 발명은 검증 가능 복호화 및 동형 암호 기술을 통해 관리자가 복호화하여 공개한 투표 결과가 조작되지 않으며, 블록 체인의 투표들을 그대로 집계한 결과라는 것을 보장할 수 있는 동형 암호 기술 기반 전자 투표 시스템 및 그 방법을 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 부가 동형 암호화 및 블록 체인을 이용한 전자 투표 방법이 제공된다.
본 발명의 일 실시예에 따르면, 투표권자 단말에서의 전자 투표 방법에 있어서, (a) 선거 식별정보 eid 및 자신의 비밀키를 이용하여 시리얼 넘버 sn을 생성하는 단계-상기 선거 식별정보 eid는 블록체인을 통해 공유됨; (b) 투표 메시지 M을 검증 가능한 동형 암호화 기법을 통해 암호화하여 암호문 CT를 생성하고, 상기 투표 메시지 M에 대한 영지식 증명키
Figure 112020032157981-pat00001
를 생성하는 단계; 및 (c) 상기 시리얼 넘버 sn, 상기 암호문 CT 및 영지식 증명키
Figure 112020032157981-pat00002
를 포함하는 전자 투표지를 트랜잭션으로서 블록체인 네트워크로 전송하는 단계를 포함하는 전자 투표 방법이 제공될 수 있다.
상기 블록체인 네트워크를 통해 상기 트랜잭션을 수신한 관리자 단말과 투표권자 단말은 각각, 상기 시리얼 넘버 sn이 블록체인상에 중복 존재하는 경우, 상기 트랜잭션을 폐기할 수 있다.
상기 시리얼 넘버 sn이 블록체인상에 중복 존재하지 않는 경우, 상기 셋업 문구, 상기 암호문 CT, 상기 영지식 증명키
Figure 112020032157981-pat00003
및 시리얼 넘버 sn, 선거 식별정보 및 머클 루트 rt 중 적어도 일부를 이용하여 영지식 증명을 검증하는 단계; 공개키를 이용하여 상기 암호문 CT 및 상기 영지식 증명키
Figure 112020032157981-pat00004
을 재랜덤화하는 단계; 및 상기 재랜덤화된 암호문 CT', 영지식 증명키
Figure 112020032157981-pat00005
및 시리널 넘버 sn을 블록으로써 블록체인상에 공개하는 단계를 더 포함할 수 있다.
상기 (c) 단계 이후에, 상기 생성한 시리얼 넘버 sn을 이용하여 상기 블록체인상에 공개된 암호문 CT', 영지식 증명키
Figure 112020032157981-pat00006
를 검증함으로써 자신의 투표가 포함되었는지를 확인하는 단계를 더 포함할 수 있다.
상기 (a) 단계 이전에, 관리자 단말은, 투표권자 명단 리스트를 생성하고, 상기 투표권자 명단 리스트를 이용하여 머클 루트 rt를 생성하고, 선거 식별정보 eid를 생성하며, 투표권자 명단 리스트 pklist, 머클 루트 rt, 선거 공개키, 선거 검증키 및 선거 식별정보 eid를 블록 체인상에 공개할 수 있다.
본 발명의 다른 실시예에 따르면, 관리자 단말에서의 전자 투표 방법에 있어서, 각각의 투표권자 단말로부터 시리얼 넘버, 암호문 CT 및 영지식 증명키
Figure 112020032157981-pat00007
를 포함하는 전자 투표지를 수신하는 단계-상기 암호문 CT는 부가 동형 암호화 기법으로 암호화됨; 상기 각각의 투표권자 단말로부터 수신된 암호문 CT를 병합하여 병합된 암호문 CTsum을 획득하는 단계; 및 비밀키를 이용하여 상기 병합된 암호문 CTsum을 복호하여 투표 결과 Msum을 생성하고, 복호 증명키와 함께 블록체인 네트워크를 통해 각각의 투표권자 단말로 전송하는 단계를 포함하는 전자 투표 방법이 제공될 수 있다.
본 발명의 다른 측면에 따르면, 부가 동형 암호화 및 블록 체인을 이용한 전자 투표 시스템이 제공된다.
본 발명의 일 실시예에 따르면, 투표권자 단말에 있어서, 선거 식별정보 eid 및 자신의 비밀키를 이용하여 시리얼 넘버 sn을 생성하고, 투표 메시지 M을 검증 가능한 동형 암호화 기법을 통해 암호화하여 암호문 CT를 생성하고, 상기 투표 메시지 M에 대한 영지식 증명키
Figure 112020032157981-pat00008
를 생성하는 투표 암호화부- 상기 선거 식별정보 eid는 블록체인을 통해 사전 공유됨; 및 상기 시리얼 넘버 sn, 상기 암호문 CT 및 영지식 증명키
Figure 112020032157981-pat00009
를 포함하는 전자 투표지를 트랜잭션으로서 블록체인 네트워크로 전송하는 통신부를 포함하는 투표권자 단말이 제공될 수 있다.
상기 블록체인 네트워크를 통해 상기 트랜잭션을 각각 수신한 블록체인 노드는, 상기 시리얼 넘버 sn이 블록체인상에 중복 존재하는 경우, 상기 트랜잭션을 폐기하되, 상기 블록체인 노드는 선거에 참여한 복수의 투표권자 단말 및 관리자 단말일 수 있다.
상기 블록체인 네트워크를 통해 상기 트랜잭션을 수신한 관리자 단말과 투표권자 단말은 각각, 상기 시리얼 넘버 sn이 블록체인상에 중복 존재하지 않는 경우, 상기 셋업 문구, 상기 암호문 CT, 상기 영지식 증명키
Figure 112020032157981-pat00010
및 시리얼 넘버 sn, 선거 식별정보 및 머클 루트 rt 중 적어도 일부를 이용하여 영지식 증명을 검증하고, 공개키를 이용하여 상기 암호문 CT 및 상기 영지식 증명키
Figure 112020032157981-pat00011
을 재랜덤화한 후 상기 재랜덤화된 암호문 CT', 영지식 증명키
Figure 112020032157981-pat00012
및 시리널 넘버 sn을 블록으로써 블록체인상에 추가할 수 있다.
상기 생성한 시리얼 넘버 sn을 이용하여 상기 블록체인상에 공개된 암호문 CT', 영지식 증명키
Figure 112020032157981-pat00013
를 검증함으로써 자신의 투표가 포함되었는지를 확인하는 투표 검증부를 더 포함할 수 있다.
관리자 단말은, 투표권자 명단 리스트를 생성하고, 상기 투표권자 명단 리스트를 이용하여 머클 루트 rt를 생성하고, 선거 식별정보 eid를 생성하며, 투표권자 명단 리스트 pklist, 머클 루트 rt, 선거 공개키, 선거 검증키 및 선거 식별정보 eid를 블록 체인상에 공개할 수 있다.
본 발명의 다른 실시예에 따르면, 시리얼 넘버 sn을 생성하고, 투표 메시지 M을 검증 가능한 동형 암호화 기법을 통해 암호화하여 암호문 CT를 생성하고, 상기 투표 메시지 M에 대한 영지식 증명키
Figure 112020032157981-pat00014
를 생성한 후 상기 시리얼 넘버 sn, 상기 암호문 CT 및 상기 영지식 증명키
Figure 112020032157981-pat00015
를 포함하는 전자 투표지를 블록체인 네트워크를 통해 전송하는 투표권자 단말; 및 상기 시리얼 넘버 sn이 블록체인상에 중복 존재하지 않는 경우, 상기 셋업 문구, 상기 암호문 CT, 상기 영지식 증명키
Figure 112020032157981-pat00016
및 시리얼 넘버 sn, 선거 식별정보 및 머클 루트 rt 중 적어도 일부를 이용하여 영지식 증명을 검증한 후 공개키를 이용하여 상기 암호문 CT 및 상기 영지식 증명키
Figure 112020032157981-pat00017
을 재랜덤화하고, 상기 재랜덤화된 암호문 CT', 영지식 증명키
Figure 112020032157981-pat00018
및 시리널 넘버 sn을 블록으로써 블록 체인에 추가하는 관리자 단말을 포함하는 전자 투표 시스템이 제공될 수 있다.
본 발명의 일 실시예에 따른 동형 암호 기술 기반 전자 투표 시스템 및 그 방법을 제공함으로써, 외압 저항성과 확인 보장성을 만족할 수 있다.
또한, 본 발명은 블록 체인을 통해 투표 과정에 대한 조작 방지가 가능하도록 할 수 있는 이점도 있다.
또한, 본 발명은 비상호적 영지식 증명과의 연결을 통해 정당한 투표자임을 증명할 수 있으며, 투표 메시지가 정당한 범위 내에 있는 것을 증명할 수 있는 이점도 있다.
또한, 본 발명은 검증 가능 복호화 및 동형 암호 기술을 통해 관리자가 복호화하여 공개한 투표 결과가 조작되지 않으며, 블록 체인의 투표들을 그대로 집계한 결과라는 것을 보장할 수 있는 이점도 있다.
도 1은 본 발명의 일 실시예에 따른 전자 투표 시스템의 구성을 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 전자 투표 방법을 나타낸 흐름도.
도 3은 본 발명의 일 실시예에 따른 관리자 단말의 전자 투표 방법에 대한 의사 코드를 도시한 도면.
도 4는 본 발명의 일 실시예에 따른 블록 체인 노드의 전자 투표 방법에 대한 의사 코드를 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 관리자 단말의 전자 투표 방법에 대한 의사 코드를 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 투표권자 단말의 내부 구성을 개략적으로 도시한 블록도.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 전자 투표 시스템의 구성을 도시한 도면이다. 본 발명의 일 실시예에 따른 동형 암호화 기법은 많은 유용한 기능성을 가진 검증 가능한 암호화이다. 여기서, 유용한 기능은 zk-SNARK 연결성, 부가적인 동질성, 재랜덤화 가능성 및 검증 가능한 복호화 등일 수 있다.
본 발명의 일 실시예에서는 검증 가능한 동형 암호화 기법을 활용한 전자 투표 시스템에 대해 설명하기로 한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 전자 투표 시스템은 다수의 투표권자 단말(110) 및 관리자 단말(120)을 포함하여 구성된다.
또한, 투표권자 단말(110) 및 관리자 단말(120)은 각각 블록 체인 네트워크를 통해 커뮤니케이션 연결된 것을 가정하여 이를 중심으로 설명하기로 한다. 따라서, 하기의 설명에서 블록체인 노드는 블록체인 네트워크에 포함된 투표권자 단말(110) 및 관리자 단말(120)을 지칭하는 것으로 확장 해석되어야 할 것이다.
본 발명의 일 실시예에 따른 전자 투표 기법은 하기의 필수적인 속성을 만족하도록 설계될 수 있다.
- 비가소성(Non-malleability): 전체 시스템은 비가소성을 만족해야 한다. 즉, 관리자 또한 결과를 조작할 수 없도록 비가소성을 만족해야 한다.
- 외압 저항성(coercion-resistance): 투표권자는 코오서(coercer)와 협력하는 것처럼 보임에도 불구하고, 자신의 의도대로 투표할 수 있어야 한다. 이는 전체 투표의 프라이버시를 캡슐화하는 매표 방지성(receipt-freeness) 및 비밀 투표(ballot-secrecy)를 의미한다.
- 자격 검증 가능성(Eligibility verifiability): 참관인(관찰자)는 적법한 투표권자에 의해 투표된 것인지를 검증할 수 있어야 한다.
- 확인 보장성(Individual verifiability): 투표권자는 결과내에 자신의 투표가 포함되었는지를 검증할 수 있어야 한다.
-전체 검증 가능성(universal verifiability): 참관인(관찰자)는 결과가 전체 투표로부터 정확하게 집계된 것인지 검증할 수 있어야 한다.
상술한 속성을 만족하기 위해, 본 발명의 일 실시예에서는 블록 체인 및 영지식 증명에 특화된 동형 암호화 기법을 적용하고 있다. 영지식 증명에 특화된 동형 암호화 기법은 하기에서 설명된 바와 같으며, 투표권자 단말(110) 및 관리자 단말(120)은 각각 영지식 증명에 특화된 동형 암호화 기법에 따라 투표 메시지 M을 암호화하고 이를 복호화할 수 있다.
우선, 투표권자 단말(110)은 투표권자가 소지한 장치로, 예를 들어, 컴퓨터, 노트북, 이동통신 단말기와 같은 통신 기능이 구비된 전자 장치일 수 있다.
이러한 투표권자 단말(110)은 투표 메시지 M를 검증 가능한 동형 암호화 기법을 기반으로 암호화하여 암호문 CT를 생성하고, 투표 메시지 M에 대한 영지식 증명키
Figure 112020032157981-pat00019
를 생성한 후 이를 포함하는 투표지를 트랜잭션으로 블록체인 네트워크로 전송할 수 있다.
투표지는 투표권자 단말(110)에 의해 생성된 시리얼 넘버 sn을 포함할 수 있다. 여기서, sn는 투표권자의 신원을 밝히지 않으며, 중복 투표 확인을 위해 사용될 수 있다.
본 발명의 일 실시예에서는 상술한 필수적인 속성을 만족시키기 위해, 암호문 갱신 및 검증 가능한 암호화 기술을 통해 이를 해결할 수 있다.
검증 가능한 암호화 기술의 암호문 검증은 해당 암호문 내에 기존 평문이 속성에 맞게 잘 숨겨져 있음을 확인 가능하게 해준다. 또한, 암호문 갱신은 암호문 내에 숨겨진 평문은 그대로 유지하며 랜덤값만 새로 갱신하여 새로운 형태의 암호문이 되도록 하는 기법이다.
예를 들어, 암호화된 투표를 제3자(예를 들어, 블록체인 노드)가 암호문 갱신으로 새로운 암호문으로 변형한다면, 투표자는 갱신에 사용되는 새로운 랜덤값을 모르기 때문에 투표에 대한 재현이 불가능하여 외압 저항성을 만족할 수 있게 된다.
그러나, 본 발명의 일 실시예에 따르면, 투표권자는 투표에 대한 재현은 불가능하나, 갱신된 암호문에 대해 암호문 검증은 수행할 수 있으며, 암호문 검증이 통과되는 경우 본인이 처음 의도했던 평문이 여전히 투표의 속성을 그대로 만족하며 숨겨져 있다는 것을 의미하므로 확인 보장성을 만족할 수 있게 된다.
본 발명의 일 실시예에서는 비가소성을 만족하기 위해 블록 체인을 이용한다.
블록 체인은 생성된 블록에 대해서 수정이 어렵기 때문에 투표 과정에 대한 조작 방지를 위해 사용될 수 있다.
또한, 본 발명의 일 실시예에서는 영지식 증명은 투표권자가 자신이 유권자 명단에 포함되어 있는 정당한 유권자임을 증명하는 소속 증명에 사용되며, 투표 메시지가 정당한 범위 안에 있음(예를 들어, 대통령 선거의 경우, 1명의 후보자에게만 1표를 행사)을 증명하는데 사용될 수 있다.
관리자 단말(120)은 선거를 개설하는 주체가 소지한 장치로 예를 들어, 컴퓨터, 노트북 등과 같은 통신 기능을 구비한 전자 장치일 수 있다. 또한, 관리자 단말(120)의 주체는 선거관리 위원회 등과 같이 선서를 주관하는 주체일 수도 있다. 그러나, 관리자 단말이 반드시 이에 제한되는 것은 아니며, 선거 관리 위원회 등에 의해 선거 개설을 위임받은 특정 관리자일 수도 있다. 이하에서는 관리자로 통칭하여 설명하나 관리자 단말(120)의 주체는 투표권자 이외에 선거를 주관하거나 이에 전체적인 관리를 위임받은 주체로 이해되어야 할 것이다.
관리자 단말(120)은 선거를 개선하고, 각 투표권자 단말(110)로부터 암호화된 투표지를 수집한 후 투표 결과를 집계하기 위한 장치이다.
각 투표권자의 투표 메시지는 검증 가능한 동형 암호화 기법을 통해 암호화되어 있으며, 암호화된 투표 메시지 및 영지식 증명키는 각각 블록 체인에 추가시 재랜덤화될 수 있다.
또한, 본 발명의 일 실시예에 따른 전자 투표 시스템에 따르면, 투표 메시지는 검증 가능한 동형 암호화 기법을 통해 암호화된 후 트랜잭션으로 블록체인 네트워크를 통해 전송됨으로써 투표 및 투표 집계 조작이 불가능하다.
이에, 관리자 단말(120)은 암호화된 투표지를 복호화하여 정당한 투표권자에 의한 투표인지 확인할 수는 있으나, 투표권자의 신원을 확인/식별할 수 없도록 영지식 증명을 통해 연결되어 있다.
다시 정리하면, 본 발명의 일 실시예에 따른 관리자 단말(120)은 전자 투표지를 복호하고, 진행중인 선거 결과를 감사할 수 있다.
c관리자가 있다고 가정하기로 한다. 각각의 관리자
Figure 112020032157981-pat00020
는 KeyGen을 통해 랜덤하게
Figure 112020032157981-pat00021
를 선택할 수 있다. 각각의
Figure 112020032157981-pat00022
는 복호 키
Figure 112020032157981-pat00023
대신
Figure 112020032157981-pat00024
에 기초하여
Figure 112020032157981-pat00025
를 공개한다.
Figure 112020032157981-pat00026
Figure 112020032157981-pat00027
이다. Dec에서, 각각의
Figure 112020032157981-pat00028
Figure 112020032157981-pat00029
를 공개한다.
Figure 112020032157981-pat00030
를 컴바이닝함에 의해 모든 사람은
Figure 112020032157981-pat00031
를 계산할 수 있다.
Figure 112020032157981-pat00032
를 사용하여 평문이 합해진 암호문으로부터 복호될 수 있다.
이하, 전자 투표 시나리오에 대해서는 도 2를 참조하여 보다 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 전자 투표 방법을 나타낸 흐름도이며, 도 3은 본 발명의 일 실시예에 따른 관리자 단말의 전자 투표 방법에 대한 의사 코드를 도시한 도면이고, 도 4는 본 발명의 일 실시예에 따른 블록 체인 노드의 전자 투표 방법에 대한 의사 코드를 도시한 도면이며, 도 5는 본 발명의 일 실시예에 따른 관리자 단말의 전자 투표 방법에 대한 의사 코드를 도시한 도면이다.
단계 210에서 관리자 단말(120)은 선거를 개설한다.
예를 들어, 관리자 단말(120)은 개별 선거를 구별하기 위한 식별정보(eid)를 부여한 후 선거를 개설할 수 있다.
선거를 개설하기 전에 초기화 과정이 선행될 수 있다.
초기화 과정에서 우선 영지식 증명의 관계 R을 이용하여 셋업 문구(CRS: common reference string)이 생성될 수 있다. 여기서, 셋업 문구는 관리자 단말(120)이 아닌 신뢰할 수 있는 3rd 파티에 의해 생성되거나 합의에 의해 생성될 수도 있다.
또한, 초기화 과정에서 전자 투표에 참여하는 모든 유권자는 각 유권자의 식별정보(ID)를 이용하여 비밀키(skID) 및 공개키(pkID)를 생성할 수 있다. 여기서, 공개키(pkID)는 충돌 방지 해시 함수에 비밀키(skID)를 적용하여 생성될 수 있다. 본 발명의 일 실시예에 따른 전자 투표 시스템에서는 공개키(pkID)가 블록 체인을 통해 블록체인 네트워크에 참여한 모든 유권자들에게 공개될 수 있다. 비밀키를 알지 못하는 경우, 어느 누구도 유효한 투표를 할 수 없다.
물론, 관리자 단말(120)은 또한 셋업 문구를 이용하여 비밀키(SK), 공개키(PK) 및 검증키(VK)를 생성할 수 있다.
관리자 단말(120)은 선거를 개설하기 전에, 해당 선거에서 투표에 참여할 투표권자 명단 리스트를 생성한 후 선거를 개설할 수 있다. 또한, 관리자 단말(120)은 블록 체인 네트워크 상에 공개키(PK), 검증키(VK), 유권자 명단 리스트(pklikst) 및 머클 루트(Merkle root) rt를 게시할 수 있다.
또한, 각각의 선거마다 공개키(PK), 검증키(VK) 및 유권자 명단 리스트(pklist)는 신규 생성될 수 있다.
단계 215에서 투표권자 단말(110)은 투표권자의 투표 메시지M를 동형 암호화 기법을 통해 암호화하여 암호문 CT를 생성하고, 투표 메시지 M에 대한 영지식 증명키
Figure 112020032157981-pat00033
를 생성한다.
보다 상세히 설명하면, 투표권자 단말(110)은 해당 투표권자가 투표자 명단 리스트에 포함되었는지를 증명하기 위한 머클 루트 rt를 생성하고, 중복 투표를 방지하기 위한 시리얼 넘버 sn을 생성한다.
본 발명의 일 실시예에 따르면, zn-SNARK가 정당한 투표권자인지를 증명하기 위해 이용될 수 있다. 즉, 본 발명의 일 실시예에서는 머클 해시 트리(Merkle hash tree)를 이용하여 투표권자가 투표권자 명단 리스트에 포함되어 있는지를 증명할 수 있다.
미리 계산된 공개키의 머클 루트에 대해 증명자(각 투표권자)는 공개 키에 해당하는 비밀키가 공동 경로(co-path)의 머클 루트 값을 생성할 수 있다. 따라서, 투표권자 단말(110)은 비밀키 노출 없이 공개 키 목록 내에서 자신이 정당한 유권자임을 증명할 수 있으며, 관리자는 자격 여부를 확인할 수 있다. 이러한 머클 해시 트리 알고리즘 자체는 당업자에게 공지된 사항이므로, 이에 대한 상세한 설명은 생략하기로 한다.
또한, 투표권자 단말(110)은 해당 투표권자의 비밀키와 선거 식별정보(eid)를 해시 함수에 적용하여 시리얼 넘버 sn을 생성할 수 있다. 이와 같이 생성된 시리얼 넘버 sn은 블록 체인을 통해 공개됨으로써, 동일한 투표권자가 중복 투표하는 것을 방지할 수 있다.
투표권자 단말(110)은 투표 메시지 M을 검증 가능한 동형 암호화 기법을 통해 암호화하여 암호문 CT를 생성하고, 투표 메시지 M에 대한 영지식 증명키를 생성할 수 있다. 이에 대한 상세한 알고리즘은 하기에서 상세히 설명하기로 한다.
단계 220에서 투표권자 단말(110)은 시리얼 넘버 sn, 암호문 CT 및 영지식 증명키
Figure 112020032157981-pat00034
를 포함하는 전자 투표지를 트랜잭션으로서 블록 체인 네트워크를 통해 전송한다.
이미 전술한 바와 같이, 복수의 투표권자 단말(110) 및 관리자 단말(120)은 블록체인을 통해 연결되어 있다. 따라서, 각각의 투표권자 단말(110)에 의해 전자 투표지가 트랜잭션으로 전송되면, 해당 선거에 참여하는 투표권자 단말 및 관리자 단말은 블록체인 네트워크를 통해 전송되는 트랜잭션을 검증하여 이를 블록체인에 추가하기 위한 작업을 수행할 수 있다.
이하에서는 설명의 편의를 도모하기 위해 관리자 단말이 블록체인 노드들을 대표하여 트랜잭션을 검증하여 블록체인에 블록을 추가하는 것으로 설명하나, 각각의 투표권자 단말에서도 동일한 과정이 수행되는 것으로 확장 해석되어야 할 것이다.
단계 225에서 관리자 단말(120)은 전자 투표지에 포함된 시리얼 넘버 sn의 중복 여부를 판단한다.
만일 시리얼 넘버 sn이 중복되는 경우, 관리자 단말(120)은 해당 트랜잭션을 폐기한다.
그러나 만일 시리얼 넘버 sn이 중복되지 않는 경우, 단계 230에서 관리자 단말(120)은 전자 투표지에 포함된 암호문 CT 및 영지식 증명키를 재랜덤화한 후 시리얼 넘버 sn와 재랜덤화된 암호문과 영지식 증명키를 블록으로써 블록체인에 추가한다.
예를 들어, 관리자 단말(120)은 셋업 문구, 암호문 CT, 영지식 증명키
Figure 112020032157981-pat00035
및 시리얼 넘버 sn, 선거 식별정보 및 머클 루트 rt 중 적어도 일부를 이용하여 영지식 증명을 검증하고, 검증이 완료되면 공개키를 이용하여 암호문 CT 및 영지식 증명키
Figure 112020032157981-pat00036
을 재랜덤화할 수 있다. 이어, 관리자 단말(120)은 재랜덤화된 암호문 CT', 영지식 증명키
Figure 112020032157981-pat00037
및 시리널 넘버 sn을 블록으로써 블록체인상에 추가할 수 있다.
모든 투표권자의 투표가 블록체인상에 개시된 이후, 단계 235에서 관리자 단말(120)은 투표 결과를 집계한 후 블록체인 네트워크를 통해 전송한다.
본 발명의 일 실시예에 따르면, 투표 메시지 M에 대한 암호문 CT는 부가 동형 암호화 기법으로 암호화되기 때문에 병합된 암호문의 합 CTsum을 얻을 수 있다. 따라서, 관리자 단말(120)은 관리자 단말의 비밀키로 병합된 암호문 CTsum을 복호하여 투표 결과 Msum을 복호 검증키v와 함께 블록체인 네트워크를 통해 전송할 수 있다.
복호 검증키를 이용하여 Msum을 검증함으로서 투표권자는 투표 집계가 정확하게 집계된 것인지를 확신할 수 있다.
도 3에는 전자 투표 시스템의 각 투표권자 단말에서 수행되는 전자 투표 방법에 대한 의사 코드가 도시되어 있으며, 도 4에는 블록 체인 노드에서 수행되는 전자 투표 방법에 대한 의사 코드가 도시되어 있으며, 도 5에는 관리자 단말에서 수행되는 전자 투표 방법에 대한 의사 코드가 도시되어 있다.
도 6은 본 발명의 일 실시예에 따른 투표권자 단말의 내부 구성을 개략적으로 도시한 블록도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 투표권자 단말(110)은 통신부(610), 투표 암호화부(615), 검증부(620), 메모리(625) 및 프로세서(630)를 포함하여 구성된다.
통신부(910)는 선거에 참여하는 다른 투표권자 단말 및 관리자 단말과 블록체인을 통해 연결되어 트랜잭션을 송신 또는 수신하기 위한 수단이다.
예를 들어, 통신부(910)는 시리얼 넘버 sn, 상기 암호문 CT 및 영지식 증명키
Figure 112020032157981-pat00038
를 포함하는 전자 투표지를 트랜잭션으로서 블록체인 네트워크로 전송할 수 있다.
투표 암호화부(615)는 선거 식별정보 eid 및 자신의 비밀키를 이용하여 시리얼 넘버 sn을 생성하고, 투표 메시지 M을 검증 가능한 동형 암호화 기법을 통해 암호화하여 암호문 CT를 생성하고, 상기 투표 메시지 M에 대한 영지식 증명키
Figure 112020032157981-pat00039
를 생성할 수 있다.
이에 대해서는 도 1 및 도 2를 참조하여 상세히 설명한 바와 같으며, 투표 메시지 M을 부가 동형 암호화하는 방법은 도 6 내지 도 8에서 설명된 상세 알고리즘과 동일하다.
검증부(620)는 블록체인을 통해 공개된 자신의 전자 투표지를 검증하기 위한 수단이다.
메모리(625)는 부가 동형 암호화 및 블록체인에 기반한 전자 투표 방법을 수행하기 위해 필요한 명령어들(프로그램 코드들)을 저장하기 위한 수단이다.
프로세서(630)는 본 발명의 일 실시예에 따른 투표권자 단말(110)의 내부 구성 요소들(예를 들어, 통신부(910), 투표 암호화부(615), 검증부(620), 메모리(625) 등)을 제어하기 위한 수단이다. 이외에도, 투표권자 단말(110)은 투표 결과를 검증하기 위한 투표 검증부 등의 구성을 더 포함할 수도 있다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (15)

  1. 투표권자 단말에서의 전자 투표 방법에 있어서,
    (a) 선거 식별정보 eid 및 자신의 비밀키를 이용하여 시리얼 넘버 sn을 생성하는 단계-상기 선거 식별정보 eid는 블록체인을 통해 공유됨;
    (b) 투표 메시지 M을 검증 가능한 동형 암호화 기법을 통해 암호화하여 암호문 CT를 생성하고, 상기 투표 메시지 M에 대한 영지식 증명키
    Figure 112021074050474-pat00067
    를 생성하는 단계;
    (c) 상기 시리얼 넘버 sn, 상기 암호문 CT 및 영지식 증명키
    Figure 112021074050474-pat00068
    를 포함하는 전자 투표지를 트랜잭션으로서 블록체인 네트워크로 전송하는 단계를 포함하되,
    상기 블록체인 네트워크를 통해 상기 트랜잭션을 수신한 관리자 단말과 투표권자 단말은 각각, 상기 상기 시리얼 넘버 sn이 블록체인상에 중복 존재하지 않는 경우, 셋업 문구, 상기 암호문 CT, 상기 영지식 증명키
    Figure 112021074050474-pat00069
    및 시리얼 넘버 sn, 선거 식별정보 및 머클 루트 rt 중 적어도 일부를 이용하여 영지식 증명을 검증하고, 공개키를 이용하여 상기 암호문 CT 및 상기 영지식 증명키
    Figure 112021074050474-pat00070
    을 재랜덤화한 후 상기 재랜덤화된 암호문 CT', 영지식 증명키
    Figure 112021074050474-pat00071
    및 시리널 넘버 sn을 블록으로써 블록체인상에 공개하는 것을 특징으로 하는 전자 투표 방법.
  2. 제1 항에 있어서,
    상기 블록체인 네트워크를 통해 상기 트랜잭션을 수신한 관리자 단말과 투표권자 단말은 각각,
    상기 시리얼 넘버 sn이 블록체인상에 중복 존재하는 경우, 상기 트랜잭션을 폐기하는 전자 투표 방법.
  3. 삭제
  4. 제1 항에 있어서,
    상기 (c) 단계 이후에,
    상기 생성한 시리얼 넘버 sn을 이용하여 상기 블록체인상에 공개된 암호문 CT', 영지식 증명키
    Figure 112021074050474-pat00045
    를 검증함으로써 자신의 투표가 포함되었는지를 확인하는 단계를 더 포함하는 전자 투표 방법.
  5. 제1 항에 있어서,
    상기 (a) 단계 이전에, 관리자 단말은,
    투표권자 명단 리스트를 생성하고, 상기 투표권자 명단 리스트를 이용하여 머클 루트 rt를 생성하고, 선거 식별정보 eid를 생성하며,
    투표권자 명단 리스트 pklist, 머클 루트 rt, 선거 공개키, 선거 검증키 및 선거 식별정보 eid를 블록 체인상에 공개하는 것을 특징으로 하는 전자 투표 방법.
  6. 관리자 단말에서의 전자 투표 방법에 있어서,
    각각의 투표권자 단말로부터 시리얼 넘버, 암호문 CT 및 영지식 증명키
    Figure 112022500219904-pat00072
    를 포함하는 전자 투표지를 수신하는 단계-상기 암호문 CT는 부가 동형 암호화 기법으로 암호화됨;
    상기 각각의 투표권자 단말로부터 수신된 암호문 CT를 병합하여 병합된 암호문 CTsum을 획득하는 단계; 및
    비밀키를 이용하여 상기 병합된 암호문 CTsum을 복호하여 투표 결과 Msum을 생성하고, 복호 증명키와 함께 블록체인 네트워크를 통해 각각의 투표권자 단말로 전송하는 단계를 포함하되,
    상기 블록체인 네트워크를 통해 상기 전자 투표지를 수신한 관리자 단말과 투표권자 단말은 각각, 상기 시리얼 넘버 sn이 블록체인상에 중복 존재하지 않는 경우, 상기 시리얼 넘버 sn이 블록체인상에 중복 존재하지 않는 경우, 셋업 문구, 상기 암호문 CT, 상기 영지식 증명키
    Figure 112022500219904-pat00073
    및 시리얼 넘버 sn, 선거 식별정보 및 머클 루트 rt 중 적어도 일부를 이용하여 영지식 증명을 검증한 후 공개키를 이용하여 상기 암호문 CT 및 상기 영지식 증명키
    Figure 112022500219904-pat00074
    을 재랜덤화하고, 상기 재랜덤화된 암호문 CT', 영지식 증명키
    Figure 112022500219904-pat00075
    및 시리널 넘버 sn을 블록으로써 블록 체인에 추가하는 것을 특징으로 하는 전자 투표 방법.
  7. 제1 항에 따른 방법을 수행하기 위한 프로그램 코드를 기록한 컴퓨터로 판독 가능한 기록매체 제품.
  8. 투표권자 단말에 있어서,
    선거 식별정보 eid 및 자신의 비밀키를 이용하여 시리얼 넘버 sn을 생성하고, 투표 메시지 M을 검증 가능한 동형 암호화 기법을 통해 암호화하여 암호문 CT를 생성하고, 상기 투표 메시지 M에 대한 영지식 증명키
    Figure 112021074050474-pat00076
    를 생성하는 투표 암호화부- 상기 선거 식별정보 eid는 블록체인을 통해 사전 공유됨; 및
    상기 시리얼 넘버 sn, 상기 암호문 CT 및 영지식 증명키
    Figure 112021074050474-pat00077
    를 포함하는 전자 투표지를 트랜잭션으로서 블록체인 네트워크로 전송하는 통신부를 포함하되,
    상기 블록체인 네트워크를 통해 상기 트랜잭션을 수신한 관리자 단말과 투표권자 단말은 각각, 상기 시리얼 넘버 sn이 블록체인상에 중복 존재하지 않는 경우, 셋업 문구, 상기 암호문 CT, 상기 영지식 증명키
    Figure 112021074050474-pat00078
    및 시리얼 넘버 sn, 선거 식별정보 및 머클 루트 rt 중 적어도 일부를 이용하여 영지식 증명을 검증하고, 공개키를 이용하여 상기 암호문 CT 및 상기 영지식 증명키
    Figure 112021074050474-pat00079
    을 재랜덤화한 후 상기 재랜덤화된 암호문 CT', 영지식 증명키
    Figure 112021074050474-pat00080
    및 시리널 넘버 sn을 블록으로써 블록체인상에 추가하는 것을 특징으로 하는 투표권자 단말.
  9. 제8 항에 있어서,
    상기 블록체인 네트워크를 통해 상기 트랜잭션을 각각 수신한 블록체인 노드는,
    상기 시리얼 넘버 sn이 블록체인상에 중복 존재하는 경우, 상기 트랜잭션을 폐기하되,
    상기 블록체인 노드는 선거에 참여한 복수의 투표권자 단말 및 관리자 단말인 것을 특징으로 하는 투표권자 단말.
  10. 삭제
  11. 제8 항에 있어서,
    상기 생성한 시리얼 넘버 sn을 이용하여 상기 블록체인상에 공개된 암호문 CT', 영지식 증명키
    Figure 112021074050474-pat00052
    를 검증함으로써 자신의 투표가 포함되었는지를 확인하는 투표 검증부를 더 포함하는 투표권자 단말.
  12. 제8 항에 있어서,
    관리자 단말은,
    투표권자 명단 리스트를 생성하고, 상기 투표권자 명단 리스트를 이용하여 머클 루트 rt를 생성하고, 선거 식별정보 eid를 생성하며,
    투표권자 명단 리스트 pklist, 머클 루트 rt, 선거 공개키, 선거 검증키 및 선거 식별정보 eid를 블록 체인상에 공개하는 것을 특징으로 하는 투표권자 단말.
  13. 시리얼 넘버 sn을 생성하고, 투표 메시지 M을 검증 가능한 동형 암호화 기법을 통해 암호화하여 암호문 CT를 생성하고, 상기 투표 메시지 M에 대한 영지식 증명키
    Figure 112022500219904-pat00053
    를 생성한 후 상기 시리얼 넘버 sn, 상기 암호문 CT 및 상기 영지식 증명키
    Figure 112022500219904-pat00054
    를 포함하는 전자 투표지를 블록체인 네트워크를 통해 전송하는 투표권자 단말; 및
    상기 시리얼 넘버 sn이 블록체인상에 중복 존재하지 않는 경우, 셋업 문구, 상기 암호문 CT, 상기 영지식 증명키
    Figure 112022500219904-pat00055
    및 시리얼 넘버 sn, 선거 식별정보 및 머클 루트 rt 중 적어도 일부를 이용하여 영지식 증명을 검증한 후 공개키를 이용하여 상기 암호문 CT 및 상기 영지식 증명키
    Figure 112022500219904-pat00056
    을 재랜덤화하고, 상기 재랜덤화된 암호문 CT', 영지식 증명키
    Figure 112022500219904-pat00057
    및 시리널 넘버 sn을 블록으로써 블록 체인에 추가하는 관리자 단말을 포함하는 전자 투표 시스템.
  14. 제13 항에 있어서,
    상기 관리자 단말은,
    비밀키를 이용하여 상기 재랜덤화된 암호문 CT'를 복호하여 투표 결과를 집계한 후 블록 체인 네트워크를 통해 상기 투표권자 단말로 전송하는 것을 특징으로 하는 전자 투표 시스템.
  15. 제13 항에 있어서,
    상기 투표권자 단말은,
    상기 생성한 시리얼 넘버 sn을 이용하여 상기 블록체인상에 공개된 암호문 CT', 영지식 증명키
    Figure 112020032157981-pat00058
    를 검증함으로써 자신의 투표가 포함되었는지를 확인하는 것을 특징으로 하는 전자 투표 시스템.

KR1020200037314A 2020-03-27 2020-03-27 동형 암호 기술 기반 전자 투표 시스템 및 그 방법 KR102357460B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200037314A KR102357460B1 (ko) 2020-03-27 2020-03-27 동형 암호 기술 기반 전자 투표 시스템 및 그 방법
US17/203,024 US11600129B2 (en) 2020-03-27 2021-03-16 Electronic voting system and method based on homogeneous cryptography

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200037314A KR102357460B1 (ko) 2020-03-27 2020-03-27 동형 암호 기술 기반 전자 투표 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20210120514A KR20210120514A (ko) 2021-10-07
KR102357460B1 true KR102357460B1 (ko) 2022-01-28

Family

ID=77856804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200037314A KR102357460B1 (ko) 2020-03-27 2020-03-27 동형 암호 기술 기반 전자 투표 시스템 및 그 방법

Country Status (2)

Country Link
US (1) US11600129B2 (ko)
KR (1) KR102357460B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201800818D0 (en) * 2018-01-18 2018-03-07 Nchain Holdings Ltd Computer-implemented system and method
CN114257381B (zh) * 2021-12-21 2023-11-21 四川启睿克科技有限公司 基于零知识证明的良品率计算方法
CN114629618A (zh) * 2022-02-15 2022-06-14 西安电子科技大学 基于波达计数的端到端可验证电子投票系统和方法
CN114677794B (zh) * 2022-03-18 2024-03-15 南京邮电大学 一种基于区块链的电子投票方法
KR102636987B1 (ko) * 2022-10-12 2024-02-16 주식회사 씨피랩스 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말
KR102595354B1 (ko) * 2023-02-07 2023-10-30 주식회사 지크립토 영지식증명을 갖는 블록체인 기반의 전자투표시스템 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101837169B1 (ko) 2016-12-29 2018-03-09 주식회사 코인플러그 영지식 증명 알고리즘을 사용하여 머클 트리 구조의 블록체인 기반 비밀 전자 투표 서비스를 제공하기 위한 방법, 및 이를 이용한 투표 코인 발행 서버, 투표 토큰 분배 서버 및 투표 지원 서버
KR101837170B1 (ko) 2016-12-29 2018-04-19 주식회사 코인플러그 영지식 증명 알고리즘을 사용하여 블록체인 기반 비밀 전자 투표 서비스를 제공하기 위한 방법, 및 이를 이용한 투표 코인 발행 서버, 투표 토큰 분배 서버 및 투표 지원 서버

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019033011A1 (en) * 2017-08-11 2019-02-14 United States Postal Service VOTE FOLLOWING CRYPTOGRAPHIC AND SECURE BY MAIL SYSTEM
KR101962686B1 (ko) * 2017-08-30 2019-03-27 세종대학교산학협력단 전자 투표 시스템 및 방법
KR20190076535A (ko) * 2017-12-22 2019-07-02 충남대학교산학협력단 블록체인을 이용한 익명 투표 시스템 및 그 방법
KR20190125223A (ko) * 2018-04-27 2019-11-06 동상호 전자 투표 시스템 및 전자 투표 방법
KR102144614B1 (ko) * 2018-07-16 2020-08-13 한양대학교 산학협력단 비밀 선거가 보장된 블록 체인 기반의 전자 투표를 수행하는 단말 장치 및 서버와, 전자 투표 방법
US20200258338A1 (en) * 2019-02-08 2020-08-13 United States Postal Service Secure voting system
US11790719B2 (en) * 2020-11-29 2023-10-17 Oren Zbeda Tamper resistant public ledger voting system
US11361606B1 (en) * 2020-11-29 2022-06-14 Oren Zbeda Tamper resistant public ledger voting system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101837169B1 (ko) 2016-12-29 2018-03-09 주식회사 코인플러그 영지식 증명 알고리즘을 사용하여 머클 트리 구조의 블록체인 기반 비밀 전자 투표 서비스를 제공하기 위한 방법, 및 이를 이용한 투표 코인 발행 서버, 투표 토큰 분배 서버 및 투표 지원 서버
KR101837170B1 (ko) 2016-12-29 2018-04-19 주식회사 코인플러그 영지식 증명 알고리즘을 사용하여 블록체인 기반 비밀 전자 투표 서비스를 제공하기 위한 방법, 및 이를 이용한 투표 코인 발행 서버, 투표 토큰 분배 서버 및 투표 지원 서버

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한상우 외 2명, "동형암호를 사용한 블록체인 기반 전자투표 시스템 개발", 한국통신학회논문지, 2019년1월31일*

Also Published As

Publication number Publication date
KR20210120514A (ko) 2021-10-07
US20210304544A1 (en) 2021-09-30
US11600129B2 (en) 2023-03-07

Similar Documents

Publication Publication Date Title
KR102357460B1 (ko) 동형 암호 기술 기반 전자 투표 시스템 및 그 방법
CN110084068B (zh) 区块链系统及用于区块链系统的数据处理方法
CN108768988B (zh) 区块链访问控制方法、设备及计算机可读存储介质
Zhang et al. A privacy-preserving voting protocol on blockchain
Cortier et al. Election verifiability for helios under weaker trust assumptions
JP4776245B2 (ja) ユニバーサルパーベイシブトランザクションフレームワークのためのオピニオン登録アプリケーション
JP4639084B2 (ja) セキュア認証の暗号方法および暗号装置
Jan et al. A verifiably secure ECC based authentication scheme for securing IoD using FANET
KR20060127194A (ko) 공정한 블라인드 서명을 이용한 전자 투표 방법 및 시스템
US20220058283A1 (en) Digital Storage and Data Transport System
CN114255034A (zh) 一种基于区块链的可验证公平性的电子投票方法
Wei et al. Blockchain-based electronic voting protocol
Cortier et al. A generic construction for voting correctness at minimum cost-application to helios
Li et al. A taxonomy and comparison of remote voting schemes
Kohlweiss et al. Accountable metadata-hiding escrow: A group signature case study
CN112291062A (zh) 一种基于区块链的投票方法及装置
Aziz et al. Using homomorphic cryptographic solutions on e-voting systems
Fouard et al. Survey on electronic voting schemes
Gao et al. Quantum election protocol based on quantum public key cryptosystem
EP1361693B1 (en) Handle deciphering system and handle deciphering method, and program
Su et al. Universally composable RFID mutual authentication
Emura et al. Group Signatures with Message‐Dependent Opening: Formal Definitions and Constructions
Zhou et al. MVP: an efficient anonymous E-voting protocol
CN114338091B (zh) 数据传输方法、装置、电子设备及存储介质
JP3910529B2 (ja) 電子投票システム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant