KR20200085204A - 증명 가능한 전자투표시스템 - Google Patents

증명 가능한 전자투표시스템 Download PDF

Info

Publication number
KR20200085204A
KR20200085204A KR1020190022376A KR20190022376A KR20200085204A KR 20200085204 A KR20200085204 A KR 20200085204A KR 1020190022376 A KR1020190022376 A KR 1020190022376A KR 20190022376 A KR20190022376 A KR 20190022376A KR 20200085204 A KR20200085204 A KR 20200085204A
Authority
KR
South Korea
Prior art keywords
cover
voting
counting
sigma
vote
Prior art date
Application number
KR1020190022376A
Other languages
English (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 이정훈
Publication of KR20200085204A publication Critical patent/KR20200085204A/ko

Links

Images

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)

Abstract

본 발명은 컴퓨터를 이용하는 전자투표시스템에 있어서, 투표자들이 각자 선택한 '투표위치를 포함한 투표'와 제1커버암호 및 제2커버암호로부터 '이중커버암호화된 산술적투표값'을 생성하고 기록하면서, 상기 이중커버암호화된 산술적투표값과 제2커버암호를 RSA알고리즘을 이용한 공개키기반구조(PKI)와 같은 비대칭암호체계를 이용하여 암호화하여 기록하는 투표모듈, 개표그룹 단위로 상기 제1커버암호를 이용하여 시그마커버를 생성하고 기록하는 시그마모듈, 상기 비대칭암호체계에 의해 암호화된 이중커버암호화된 산술적투표값과 제2커버암호를 복호화하고, 이를 이용하여 '투표위치를 고려한 이중시그마개표방식'으로 개표하는 개표모듈;을 포함하는 것을 특징으로 하는 전자투표시스템에 관한 것이다.

Description

증명 가능한 전자투표시스템{Verifiable Electronic Voting System}
본 발명은 컴퓨터를 이용한 전자투표에 관한 것으로서, 비밀투표를 유지하면서 누구나 투표와 개표의 올바름을 검증할 수 있는 전자투표시스템을 만드는 기술에 관한 것이다.
오늘날 컴퓨터와 휴대용 단말기 및 인터넷 등 정보통신 기술의 급속한 발전과 직접민주주의 내지 풀뿌리 민주주의의 대두로 전자투표의 필요성이 증가하고 있다. 그런데, 비밀투표 원칙을 준수하는 전자투표에 있어서는 조작가능성과 투표결과의 신뢰성 문제가 대두된다.
한편, 공개특허공보 제10-2016-0064016호(특허문헌 1)에는 동형 암호를 이용한 온라인 투표방법이 제시되어 있다. 그러나, 동형암호 기술에서는 투표전체에 적용되는 동일한 암호화 키(key)와 복호화 키(key) 의해 투표내용이 암호화되고 복호화되기 때문에, 개별 투표자의 투표내용을 담은 투표데이터를 저장하여 공공에게 보여줄 수가 없는 문제를 발생시킨다. 왜냐하면 개별 투표자의 투표내용이 담긴 투표데이터를 공개할 경우 개표할때 공개되는 복호화 키(key)로 복호화하여 누구나 투표내용을 확인할 수 있어, 비밀투표 원칙에 반할 우려가 있기 때문이다. 따라서 상기 투표 방법은 투표의 조작가능성과 투표결과에 대한 신뢰성 문제를 누구나 검증할 수 있는 방식으로 해결하지 못하는 문제를 발생시킨다.
공개특허공보 제10-2016-0064016호(2016.05.25.)
전자비밀투표에 있어 신뢰성 확보를 위해 투표자의 투표를 기록하여 공개하는 경우, 비밀성을 유지하기 위해서는 투표자의 투표데이터를 암호화해야 하는데, 개표를 위해서는 이들 다시 복호화해야 하고, 이때 투표자의 투표내용이 노출될 우려가 발생한다. 또한, 이 문제를 해결하기 위해 투표데이터에서 누구의 투표인지를 알 수 없게 하면 투표의 조작가능성이 대두되고 신뢰성이 약화되는 문제를 발생시킨다. 즉 전자 비밀투표에 있어서는 비밀투표의 원칙과 투표의 신뢰성 확보가 서로 상충하는 일종의 딜레마를 발생시킨다.
본 발명은 투표자의 투표를 투표자만 복호화할 수 있도록 개별적으로 암호화하여 기록하면서도, 개별 투표내용은 알 수 없지만 전체 개표결과는 알 수 있도록 하는 암호화 방식으로 이와 같은 전자비밀투표 딜레마를 해결하는 시스템을 제시하고자 한다. 아울러, 데이터를 변조할 수 있다고 하여도 투표결과 조작에는 성공할 수 없는 시스템을 제시하고자 한다.
상기의 목적을 달성하기 위해서 본 발명에 따른 컴퓨터를 이용한 전자투표시스템은 컴퓨터를 이용하는 전자투표시스템에 있어서,
투표자들이 각자 선택한 '투표위치를 포함한 투표'와 제1커버암호 및 제2커버암호로부터 '이중커버암호화된 산술적투표값'을 생성하고 기록하면서, 상기 이중커버암호화된 산술적투표값과 제2커버암호를 RSA알고리즘을 이용한 공개키기반구조(PKI)와 같은 비대칭암호체계를 이용하여 암호화하여 기록하는 투표모듈;
개표그룹 단위로 상기 제1커버암호를 이용하여 시그마커버를 생성하고 기록하는 시그마모듈;
상기 비대칭암호체계에 의해 암호화된 이중커버암호화된 산술적투표값과 제2커버암호를 복호화하고, 이를 이용하여 '투표위치를 고려한 이중시그마개표방식'으로 개표하는 개표모듈;을 포함하는 것을 특징으로 한다.
본 발명은 산술적투표값, 커버암호화이론, 이중커버암호화이론 등을 이용하여 전자투표에 있어 투표자의 투표를 투표자가 자신만 복호화할 수 있는 각자 다른 커버암호로 암호화하여 기록하면서도, 그 투표값을 복호화하지 않고, 즉 개별적으로 개표하지 아니하고 그룹단위 또는 전체단위로 개표할 수 있게 하여 이른바 전자투표딜레마를 해결하는 효과를 발생시킨다. 이때 기록된 데이터를 바탕으로 개표를 누구나 재현할 수 있게 하여, 투표의 무결성을 객관적으로 증명할 수 있게 한다. 또한, 데이터를 변조할 수 있다고 해도 투표결과 조작에는 성공할 수 없도록 하는 효과가 있다.
투표모듈은 투표자의 투표를 산술적투표값으로 나타내어 더하기에 의한 개표가 가능하게 하고, 또한 각 투표자가 생성한 커버암호로 각 투표값을 그 투표자만 복호화할 수 있도록 암호화하는 효과를 발생시킨다.
시그마모듈은 투표자의 커버암호를 처리하여 시그마커버를 생성하여 개표그룹 단위 또는 전체를 개표할 수 있는 기초를 만드는 효과를 발생시킨다.
개표모듈은 개별 투표자의 투표를 열어보지 아니하고도, 개표그룹 또는 전체의 투표결과를 알수 있게 하는 효과와 아울러, 각 개표그룹 단위로 투표자가 희망하는 경우 그 개표의 올바름을 검표할 수 있게 하는 효과를 발생시킨다.
도 1은 본 발명의 실시예에 따른 산술적투표값의 한 예시를 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 전자투표시스템의 개략적인 구성을 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 투표모듈의 개략적인 구성을 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 시그마모듈의 개략적인 구성을 나타낸 도면이다.도 5는 본 발명의 실시예에 따른 개표모듈의 개략적인 구성을 나타낸 도면이다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 명세서에 기재된 "모듈" "장치" "부" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
〔이론적 구조〕
전자비밀투표는 투표값(투표내용)을 기록하는 경우와 투표값을 기록하지 않는 경우로 나누어 생각할 수 있다. 투표값을 기록하지 않는 경우에 있어 개표의 무결성은 시스템에 대한 신뢰에 의하게 된다. 그런데 개표결과를 나타내는 데이터는 시스템 관리자나 해킹에 의해 조작될 우려가 있으므로 그 무결성을 객관적으로 증명하기 어렵다. 또한, 투표에 패배한 사람들이 투표조작문제를 제기할 때 객관적인 방법으로 조작되지 않았음을 증명할 수 없어 정치적 혼란을 야기할 우려가 있다.
투표값을 기록하는 경우, 그 투표값이 누구의 투표값인지 알게 하는 경우와 모르게 하는 경우로 나누어 볼 수 있다.
투표값이 누구의 것인지 확인 불가능한 경우, 시스템관리자 또는 해킹에 의해 누구의 것인지 알 수 없는 투표값이 기록될 우려가 있어, 투표의 무결성을 객관적으로 증명하기 어려운 문제가 발생하고, 투표값을 기록하지 아니하는 경우와 동일한 문제를 발생시킨다.
이러한 문제를 해결하기 위해서는 투표값을 기록하고 누구의 투표인지 확인할 수 있는 시스템이 필요하다. 그런데, 이때 비밀투표를 유지하기 위해서는 투표값을 암호화해야 한다. 하지만 개표할 때는 이를 복호화해야 하고 그 순간 비밀투표원칙이 깨어질 우려가 발생한다. 즉 전자투표에 있어 비밀성을 유지하는 것과 투표의 신뢰를 확보하는 것은 일종의 딜레마를 일으킨다.
누구의 투표인지 아는 암호화된 투표를 하나씩 개표할 경우 비밀투표를 유지할 방법이 없다. 개표는 객관적인 방법으로 누구나 할 수 있어야 하므로, 누구나 그 개인의 투표 내용을 확인할 수 있기 때문이다.
그렇다면, 복수의 투표를 묶어서 그룹 단위로 개표하는 방법이 필요하다.
한편, 블록체인을 이용하거나 투표자가 생성하는 데이터에 전자서명을 하면 일정한 데이터에 대해서는 변조를 막을 수 있다. 이제 이를 바탕으로 데이터를 변조하여 투표결과 조작을 시도하면 발각될 수 밖에 없어, 투표 결과가 올바르다는 것을 객관적으로 증명할 수 있는 수학적 구조에 대해 알아보도록 하자.
(커버암호 알고리즘)
(특징)
1)투표자의 투표는 개별적으로 암호화되어 기록되고 개표이후에도 본인을 제외한 누구도 그 내용을 알 수 없다. (누구의 투표인지는 확인가능)
2)몇 개의 투표를 묶어서 그룹단위로 개표하고, 누구나 재개표할 수 있다.
3) 시스템 내부의 모든 데이터를 변조할 수 있는 관리자 또는 해커도 투표 결과를 조작할 수 없다. (한 표 조작에 성공할 확률 1/10,000 이하, 두 표 조작시 1/100,000,000 이하 가능)
(더하기에 의한 개표)
1) 적당한 k에 대해 선택 1에 투표한 사람은
Figure pat00001
(=1), 선택 2에 투표한 사람은
Figure pat00002
을 투표값으로 한다.
2) 개표는 투표자들의 투표값을 모두 더한 수, 즉 투표결과값을 N이라고할 때 선택 1이 획득한 총 투표수는 N을
Figure pat00003
으로 나눈 나머지로, 선택 2가 획득한 총 투표수는 N을
Figure pat00004
으로 나눈 몫으로 한다.
투표의 결과를 이진수로 표현한다면 그 이진수의 합을 계산하여 개표할 수 있다. 선택 1과 선택 2 중에서 투표한다고 할 때, 선택 1에 투표한 경우
Figure pat00005
= 00000 00001(이진수임, 편의를 위해 중간을 띄어씀)을 부여한다고 하자. 선택 1에 투표한 사람이 2명인 경우
Figure pat00006
= 00000 00010 이 된다. 3명일 경우 그 값을 더하면
Figure pat00007
= 00000 00011이 된다. 이제 선택 2에 투표한 사람에게는
Figure pat00008
= 00001 00000을 부여한다고 하자. 선택 2에 투표한 사람이 2명인 경우
Figure pat00009
= 00010 00000 이 된다. 이렇게 투표를 숫자로 변경하고 선택한 투표에 따라 블록을 만들어 계산하게 되면 전체투표를 합하는 방식으로 개표할 수 있다.
가령 선택 1에 투표수가 3개이고 선택 2투표수가 4개인 경우, 개표 결과는
Figure pat00010
= 00100 00011로 표현된다. (상기원칙에서 k=5인 경우이다)
이러한 더하기에 의한 개표는 개별적으로 아래에서 검토하게 될 커버암호화된 투표값을 그대로 두고 개표하지 않으면서, 전체를 개표할 수 있는 방법을 가능하게 한다.
(커버암호화)
투표자가 선택한 커버암호 C를 이용하여 투표값 a를 T = a +C 로 암호화한다.
특정 데이터를 나타내는 숫자를 a라고 할 때, 사용자만 아는 어떤 숫자 커버암호 C를 더하여 암호화할 수 있다. 즉 T= a + C. C는 암호화한 개인만 알고 있으므로 다른 사람은 T에서 a를 추측하기 어렵다.
커버암호화가 유용한 것은 각각의 데이터와 커버암호 C를 더할 수 있다는 점이다. 데이터
Figure pat00011
에 대하여 각각의 커버암호
Figure pat00012
가 있다고 할 때 커버암호화된 데이터
Figure pat00013
.
이때
Figure pat00014
이므로
Figure pat00015
Figure pat00016
를 알 수 있다면
Figure pat00017
를 계산할 수 있게 된다.
이는 개별적으로 암호화된 데이터(각각 다른 커버암호로 암호화)의 합을 개별적으로 복호화하지 않더라도 그 합은 복호화할 수 있음을 보여준다. 이것은 상기의 투개표방법과 결합되면 새로운 효과를 발생시킨다.
(커버암호화와 그룹개표)
커버암호화된 투표값들의 합
Figure pat00018
에서 커버암호들의 합
Figure pat00019
(이하 시그마커버)를 빼는 방법으로 투표결과값 N (
Figure pat00020
=
Figure pat00021
-
Figure pat00022
)을 구한다.
투표자가 선택한 커버암호는 일단 다른 커버암호와 더해지면 원래의 커버암호를 추측할 수 없게 된다. 즉 커버암호
Figure pat00023
에 대하여
Figure pat00024
로부터 개별
Figure pat00025
Figure pat00026
을 추측하기는 어렵다. 더해지는 커버암호가 많아질수록 더 추측하기 어렵다. 예를 들어 갑과 을이 자신이 각각 선택한 커버암호
Figure pat00027
Figure pat00028
를 이용하여 각자의 투표값
Figure pat00029
Figure pat00030
를 암호화한다고 하자.
Figure pat00031
,
Figure pat00032
. 이미 검토한 바와 같이
Figure pat00033
로부터 개별적인
Figure pat00034
Figure pat00035
를 찾아내기는 어렵다.
한편,
Figure pat00036
,
Figure pat00037
,
Figure pat00038
값이 있으면
Figure pat00039
이므로 더하기에 의한 개표를 할 수 있게 된다.
일반적으로는
Figure pat00040
인 관계와
Figure pat00041
,
Figure pat00042
로부터
Figure pat00043
를 계산하여 개표할 수 있으므로 개별 투표값
Figure pat00044
를 알지 못하여도 전체 개표결과를 알 수 있게 된다.
그리고 개표시에 공개되는 것은 시그마커버
Figure pat00045
이고, 이로부터 각 투표자의 커버암호
Figure pat00046
는 알 수 없으므로 투표자의 투표내용은 개표후에도 알 수 없게 된다.
m은 모아서 개표하는 개표그룹의 크기(투표자 수)이다. 개표그룹에 있는 사람들은 사후적으로 투표를 재현할 수 있다.
(이중커버암호화)
시스템관리자나 해킹에 성공한 사람이 암호화된 투표값
Figure pat00047
가 주어진 것을 보고 커버암호의 합인
Figure pat00048
을 조작하여 원하는 투표결과
Figure pat00049
를 얻는 시도를 할 여지가 있다. 이를 막기 위해서 다음과 같이 한다.
1)투표값
Figure pat00050
Figure pat00051
(제1커버암호),
Figure pat00052
(제2커버암호), 두 개의 커버암호에 의해 암호화한다. 즉,
Figure pat00053
.
2)이때
Figure pat00054
,
Figure pat00055
는 RSA 알고리즘을 이용한 공개키기반구조(PKI)와 같은 비대칭암호체계를 통해 암호화되어 기록된다. (공개키는
Figure pat00056
, 개인키는
Figure pat00057
이고, 투표 즉시
Figure pat00058
로 암호화)
3)
Figure pat00059
값은 개표시 공개되는 개인키
Figure pat00060
에 의해 각
Figure pat00061
Figure pat00062
를 복호화하여 각
Figure pat00063
를 구하고, 이를 더하여 계산한다.
개인키와 공개키는 선거책임자가 선택한다.(
Figure pat00064
Figure pat00065
로 이중으로 할 수 있고, 각 개인키
Figure pat00066
는 이익이 대립하는 그룹에서 각각 생성, 관리하게 할 수 있다.
Figure pat00067
모두 암호화하는 이유는 하나만 할 경우 가능한 투표값
Figure pat00068
의 모든 경우의 수를 대입하는 방법으로 시도하여 다른 값을 찾아낼 가능성이 있기 때문이다.)
Figure pat00069
이므로
Figure pat00070
값을 알기 위해서 혹은 원하는 값으로 조작하기 위해서는
Figure pat00071
,
Figure pat00072
,
Figure pat00073
를 모두 알아야 한다. 시스템관리자나 해킹에 성공한 사람은
Figure pat00074
를 조작할 수는 있어도 비대칭암호체계에 의해 암호화된
Figure pat00075
Figure pat00076
값을 알 수가 없으므로 자신이 원하는 값으로
Figure pat00077
를 조작할 수 없다.
이러한 원칙으로 인하여 조작자는 데이터를 전체적으로 조작할 수는 없게 된다. 다만, 부분적으로 유리해지는 결과를 얻을 가능성은 있다. 가령,
Figure pat00078
Figure pat00079
를 더하여 선택2의 투표수를 하나 늘리고 선택 1의 투표수를 하나 줄일 수 있다. 이제 이를 막을 방법을 검토하자.
(투표위치 선택 투표)
아이디어는 선택 1과 선택 2에 해당하는 투표 위치를 복수로 하여 조작자가 투표 위치를 찾지 못하게 하는 것이다
.
(선택 2) (선택 1)
0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000
1)개표블록의 크기가 m일때,
Figure pat00080
인 k와, 주어진 어떤 n에 대하여,
투표자는 투표할 때 자신만 아는 수 p
Figure pat00081
를 선택하여,
제1선택에 투표할 경우에는
Figure pat00082
, 제2선택에 투표할 경우에는
Figure pat00083
를 투표값으로 한다.
2)이때 투표결과값 N를
Figure pat00084
으로 나눈 몫을 다시
Figure pat00085
으로 나눈 나머지를
Figure pat00086
,
N을
Figure pat00087
으로 나눈 몫을 다시
Figure pat00088
으로 나눈 나머지를
Figure pat00089
으로
정의하면 N =
Figure pat00090
+
Figure pat00091
이고,
선택 1의 총 투표수는
Figure pat00092
,
선택 2의 총 투표수는
Figure pat00093
가 된다.
상기 그림은 k=7, n=4 인 경우를 도시한 것이다.
상기 그림에서는 선택 1의 투표위치는 4개이고, 선택 2의 투표위치도 4개이다. 투표자는 자신만 아는 투표위치를 선택하여 투표한다. 즉 투표자는 선택을 하는 경우에 그 선택의 내부에서 하나의 위치를 정하여 투표하고, 이는 투표자 자신만 알 수 있다. 그런데 이중커버암호화에 의해 조작자는 어느 위치에 투표가 있는지 전혀 알 수 없는 상태에서 조작을 시도해야 하고, 투표가 없는 곳에서 조작을 하면 바로 발각되게 된다.
이제 조작자가 한 표 조작에 성공할 확률이 m/n 이하라는 것을 증명하도록 하자.
(증명)
조작자가 할 수 있는 일은
Figure pat00094
를 변조하는 것이다. 그 변조는 어떤 수를 더하거나 빼는 것으로 이루어진다.
이제 조작자가
Figure pat00095
에 어떤 수 Z를 더했다고 하자. (빼는 경우도 동일)
Z는 결국 투표결과값 N =
Figure pat00096
에 영항을 미쳐 투표결과값은
Figure pat00097
가 된다.
정의로부터
투표결과값 N =
Figure pat00098
=
Figure pat00099
+
Figure pat00100
그러면 적당한
Figure pat00101
,
Figure pat00102
가 있어서,
Figure pat00103
=
Figure pat00104
Figure pat00105
(단,
Figure pat00106
,
Figure pat00107
)로 나타낼 수 있다.
Figure pat00108
Figure pat00109
진수로 표현한 것이므로 그 표현방법(
Figure pat00110
Figure pat00111
의 값)은 유일하다.
총투표수에는 변화가 없어야 하므로
Figure pat00112
Figure pat00113
,
즉 제1선택과 제2선택에 있어 변화한 투표수의 합은 0이다.
이러한 조작은 제1선택에서 한 표를 늘리고 제2선택에서 한 표를 줄이거나 그 반대인 경우의 결합으로 이해할 수 있다.
이제 제2선택에서 한 표를 늘리고 제1선택에서 한 표를 줄이는 경우를 생각해보자. (반대도 마찬가지)
어떤 p, q 가 있어
Figure pat00114
Figure pat00115
이다.
그런데 +1은 상관없지만 -1의 경우
Figure pat00116
가 0보다 크다는 보장이 없다. 즉, 조작되기 이전에 그 위치에 투표가 없었다면
Figure pat00117
=
Figure pat00118
로 나타나게 되고 총투표수가 m이상이 되어 모순이다. 조작이 발각된 것이다.
한편, 이중커버암호 원칙으로 인해 조작자는 각
Figure pat00119
,
Figure pat00120
에 대해 어떠한 정보도 없으므로, 조작할 위치 p, q를 임으로 선택할 수밖에 없다.
각 선택에는 n개의 투표가능한 위치가 있고, 그곳에는 최대한 m개의 위치에 기존 투표가 있을 뿐이다. 조작하는 사람에게 가장 유리한 상황에서도 조작에 성공할 확률은 총경우의 수 n에서 성공가능한 최대 경우의 수 m을 선택하는 것이므로 m/n 이하가 된다. (증명 끝)
(양자택일 다자선택방법)
일반적으로 선택지가 2개인 경우 가능한 투표방법이 있으면, 선택지가 n개인 경우에도 가능한 투표방법이 존재한다. 그러므로, 선택지가 2개인 경우에 전자투표 딜레마를 해결할 수 있는 투표방법을 제시하면 일반적인 경우도 해결하게 된다.
양자택일 할 수 있는 투표방법이 있는 경우, 선택지가 n개일 때는 각각의 선택지의 선택여부를 양자택일 투표방법으로 선택하게 하여 원하는 선택지에 투표하는 방법을 만들 수 있다.
선택 비선택
선택 1 o
선택 2 o
...
선택 i o
...
선택 n o
가령 i번째 선택지를 선택하는 투표자는 상기처럼 i 번째 선택지에서는 선택을 선택하고 나머지는 비선택을 선택한다. 이러한 방법을 '양자택일 다자선택방법'이라고 하자.
그런데, 양자택일 다자선택방법으로 투표를 구성하면 한 표 조작성공확률은
Figure pat00121
이하가 된다.
선택 i 에서 선택 하나를 증가시키면, 다른 선택 j 에서 선택 하나를 감소시켜야 한다. 왜냐하면 선택에 투표된 수의 총합은 m으로 고정되어 있기 때문이다. 따라서, 한 표를 조작하기 위해서는 i, j 두개의 선택에서 조작하여 모두 성공해야 한다.
이제, m=50, n=5,000 이라고 하자. 50명의 투표를 표현하기 위해서 k=7 (
Figure pat00122
이면 충분하다.(여러가지 선택이 가능하다.)
필요한 데이터의 크기는
Figure pat00123
이므로 쉽게 다룰 수 있는 정도이다. 이때 1표 조작 성공확률은
Figure pat00124
= 1/10,000 이하가 된다.
처음 조작에 성공한다고 하더라도 두 번째 조작에서 유리해지는 것이 아니므로(오히려 한표 줄일 때 성공가능한 경우의 수가 줄어들어 약간 불리해진다), 두 표 조작에 성공할 확률은 1/100,000,000 이하가 된다.
(소결)
기록되어 결과적으로 확인할 수 있는 데이터는 투표자의 커버암호화된 투표값
Figure pat00125
, 시그마커버
Figure pat00126
, 제2커버암호
Figure pat00127
이다. 투표자 본인을 제외하고는 누구도
Figure pat00128
를 알 수 없으므로 비밀투표 원칙이 준수된다.
상기에서 증명한 바와 같이 모든 데이터를 조작할 수 있는 사람도 투표결과를 조작할 수는 없다. 그러므로, 각 개표그룹의 총 투표수만 올바르다는 것을 확인하면 개표의 무결성이 증명된다.
아울러, 투표자의 (암호화된) 투표값을 비롯하여 기록된 데이터를 바탕으로 누구나 재개표 할 수 있으므로, 투표 결과의 조작을 주장하는 사람들에게 객관적인 방법으로 그 결과의 올바름을 증명할 수 있다.
이상의 결과로부터 커버암호 프로토콜은 전자투표 딜레마를 해결하는, 조작되지 않았음을 증명할 수 있는 전자투표를 위한 수학적 구조임을 알 수 있다.
(일방향 수열)
이제 투표자를 확인하고 커버암호화를 위해 커버암호를 용이하게 생성하는 방법을 검토하자. 투표자가 하나의 시드(seed) s를 선택한다. 이는 충분한 다양성(예를 들면 문장을 작성하고 그 파일의 해시값)을 이용하여 다른 사람이 하나씩 대입하는 방식으로 찾을 수 없는 것이 바람직하다.
그리고 SHA256과 같은 암호화해시함수 h를 이용하여
Figure pat00129
인 해시체인을 이용하여 일방향 수열을 생성한다.
이때 암호화해시함수의 일방향적인 성질로 인해 순방향으로 계산하여 다음 수를 찾을 수 있지만, 즉
Figure pat00130
에서
Figure pat00131
을 계산할 수 있지만, 역방향으로는 찾을 수 없는, 즉
Figure pat00132
에서
Figure pat00133
를 찾을 수 없는 성질을 가진다.
(투표자 등록)
등록된 투표자는 자신만 할 수 있는 방법으로 자신의 투표를 증명할 수 있다. 여러 가지 방법이 있을 수 있으나 상기 일방향 수열을 이용할 수 있다. 가령 시드 s를 가지고 있는 투표자가
Figure pat00134
를 자신을 표상하는 숫자로 등록한다고 하자. 이제 시드를 가지고 있는 투표자 외에는 아무도
Figure pat00135
를 생성할 수 없으므로 투표자는
Figure pat00136
를 보여줌으로써 자신임을 증명할 수 있다. 이제 이메일, 전화번호, 주소와 같은 투표자를 특정할 수 있는 정보와 함께 투표자가 상기와 같은 방법으로
Figure pat00137
를 등록하고 추후 투표할때에는
Figure pat00138
를 제시하여 자신의 투표임을 증명할 수 있게 된다.
(커버암호 생성 사례)
커버암호화에 있어 커버 C는 투표자가 다른 사람은 추측할 수 없는 수를 임의로 선택할 수 있다. 그런데 일정한 원칙을 사용하여 투표자 등록 등에도 사용할 수 있는 방법을 선택한다면 추후에 자신이 한 투표를 재현할 수 있게 되기 때문에 투표 사후검증도 가능하게 된다. 하나의 방법으로 다음과 같이 할 수 있다.
상기에서 생성한 해시체인을 이용하여 생성한 일방향 수열
Figure pat00139
이 있다. 이제 적당한 두 자연수 e, f, g에 대하여
Figure pat00140
라고 하면, e,f,g 의 선택으로 충분히 큰 숫자의 커버를 생성할 수 있다.
이 수는 투표자 본인은 시드 s를 이용하여 언제든지 생성할 수 있지만 다른 사람은 생성할 수 없고, 나아가 가능한 모든 개별 투표값을 고려하여 모든 경우의 수를 다 대입하여도 추측할 수 없다. 제2커버암호인 D는 다른 e,f,g 즉 E, F, G 를 선택하여 생성할 수 있다.
(투표결과 검증)
상기와 같이 해시체인을 이용하여 투표자 등록을 하고 커버암호를 생성한 경우, 사후적으로 투표자는 자신의 투표를 재현할 수 있고 그것이 자신의 투표임을 증명할 수 있다. (왜냐하면 기록된 데이터는 시드 s를 소유하고 있는 투표자가 아니면 생성시킬 수 없기 때문이다.)
투표자는 자신의 커버암호화된 또는 이중커버암호화된 투표값에 자신을 증명하는 숫자(상기
Figure pat00141
)를 태그로 걸어서 자신의 투표임을 증명할 수도 있다.
일정한 개수로 구성되어진 블록단위로 커버암호를 더하여 숫자(시그마커버)를 생성할때 그 블록에 포함되는 투표자들을 증명하는 숫자를 태그로 모두 걸어서 그 블록에 포함된 투표자가 누구이고 블록단위의 개표결과가 어떠한지를 검증하게 할 수도 있다.
이 경우 그 블록단위의 개표결과에 의문이 있는 투표자를 위해 투표를 블록단위로 재현시킬 수 있고, 그 블록에 포함되는 사람들이 전부 또는 상당한 사람이 검표에 참여하면 투표 결과의 무결성을 사후적으로 확인할 수 있게 된다.
(블록체인 등록)
상기 투표과정에서 생성되는 데이터를 블록체인에 기록해두면 변조가능성이 없어지므로 투표의 신뢰도가 더욱 높아지게 된다.
따라서, 투표 명부가 생성되면 그 데이터를 블록체인에 기록하고
투표자가 투표를 하면 (이중)커버암호화한 투표값
Figure pat00142
와 투표 즉시 비대칭암호체계를 통해 암호화된
Figure pat00143
, 즉
Figure pat00144
Figure pat00145
는 블록 체인에 기록할 수 있다. 또한, 크기가 m인 시그마커버
Figure pat00146
,를 계산하고 이를 블록체인에 기록할 수 있다.
상기 데이터는 모두 블록체인에 기록되어 변조 불가능하게 된다.
〔발명의 구성요소〕
(개념의 정의)
1) '산술적 투표값'이란 적당한 k에 대해 선택 1에 투표한 사람은
Figure pat00147
(=1), 선택 2에 투표한 사람은
Figure pat00148
을 부여할 때 그 값을 말하고, 3이상의 선택이 있는 경우에는 도 1의 실시예와 같이 선택 i에 투표한 사람은
Figure pat00149
를 부여하고 그 때의 값을 말한다
2)'커버암호'란 투표자가 상기 산술적 투표값을 암호화하기 위해 선택한 숫자를 말한다.
3)'커버암호화된 투표값(T)' 이란 산술적투표값(a)에 커버암호(C)를 더한 값을 말한다. 즉 T=a+C.
4) '제1커버암호', '제2커버암호'란 투표자가 산술적 투표값을 암호화하기 위해 선택하는 두개의 숫자를 말한다.
5)'이중커버암호화된 투표값(T)'이란 산술적투표값(a)에 제1커버암호(C)와 제2커버암호(D)를 더한 값을 말한다. 즉 T=a+C+D.
6) '개표그룹'이란 묶어서 개표하는 투표자들의 집합을 말한다. '개표그룹의 크기' 란 그 개표그룹에 포함된 투표자들의 숫자를 말한다.
7) '투표결과값'이란 개표그룹 단위로 산술적투표값을 모두 더한 값을 말한다.
8) '시그마커버'란 하나의 개표그룹내의 각 투표자의 커버암호를 더한 값, 즉
Figure pat00150
(m : 개표그룹의 크기 ,
Figure pat00151
: 투표자의 커버암호)를 말한다.
9) '더하기에 의한 개표 방법' 이란 상기 산술적 투표값을 더하여 투표결과값 N을 구한 후, 선택 1이 획득한 총 투표수는 N을
Figure pat00152
으로 나눈 나머지로, 선택 2가 획득한 총 투표수는 N을
Figure pat00153
으로 나눈 몫으로 하는 개표방법을 말한다. 이때 3이상의 선택지가 있는 경우에는 선택 i 가 획득한 총 득표수는 N을
Figure pat00154
로 나눈 몫을 다시
Figure pat00155
으로 나눈 나머지로 하는 개표방법을 말한다.
10) '시그마개표방식'이란 개표그룹 단위로 커버암호화된 투표값의 합에서 시그마커버를 빼는 방식으로 투표결과값 N
Figure pat00156
을 계산한후 이를 상기 더하기에 의한 개표방법으로 개표하는 것을 말한다.
11) '이중시그마개표방식' 이란 개표그룹 단위로 이중커버암호화된 투표값의 합에서 제1커버암호로 만든 시그마커버와 제2커버암호로 만든 시그마커버를 빼는 방식으로 투표결과값 N (
Figure pat00157
)를 계산한후 이를 상기 더하기에 의한 개표방법으로 개표하는 것을 말한다.
12) '투표위치를 포함한 투표' 란 개표블록의 크기가 m일때,
Figure pat00158
인 k 와 주어진 어떤 n에 대하여,
투표자는 투표할 때 자신만 아는 수 p
Figure pat00159
를 선택하여,
제1선택에 투표할 경우에는
Figure pat00160
, 제2선택에 투표할 경우에는
Figure pat00161
를 산술적투표값으로 하는 투표를 말한다.
13) '투표위치를 고려한 더하기에 의한 개표방법'란 상기 투표위치를 포함한 투표에서 투표결과값을 N(투표값을 모두 더한 값)이라 할 때,
N를
Figure pat00162
으로 나눈 몫을 다시
Figure pat00163
으로 나눈 나머지를
Figure pat00164
N을
Figure pat00165
으로 나눈 몫을 다시
Figure pat00166
으로 나눈 나머지를
Figure pat00167
로 정의하고, 선택 1의 총 투표수는
Figure pat00168
, 선택 2의 총 투표수는
Figure pat00169
로 계산하는 개표방법을 말한다. (이때 N =
Figure pat00170
+
Figure pat00171
)
14) '투표위치를 고려한 시그마개표방식' 이란 상기 투표위치를 포함한 투표에 있어서 개표그룹 단위로 커버암호화된 산술적투표값의 합에서 시그마커버를 빼는 방식으로 투표결과값 N을 계산한후, 이를 상기 투표위치를 고려한 더하기에 의한 개표방법으로 개표하는 것을 말한다.
15) '투표위치를 고려한 이중시그마개표방식' 이란 상기 투표위치를 포함한 투표에 있어서 개표그룹 단위로 이중커버암호화된 산술적투표값의 합에서 제1커버암호로 만든 시그마커버와 제2커버암호로 만든 시그마커버를 빼는 방식으로 투표결과값 N을 계산한후, 이를 상기 투표위치를 고려한 더하기에 의한 개표방법으로 개표하는 것을 말한다.
(구성요소)
본 발명은 도 2의 실시예와 같이 투표모듈(201), 시그마모듈(202), 개표모듈(203)을 포함할 수 있다. 또, 투표자의 시드와 투표값 등을 입력, 인식, 전송하는 데에 있어 QR코드와 같은 다양한 공지기술을 이용할 수 있다. 투표모듈의 일부 또는 전부는 휴대폰과 같이 사용자의 지배하에 있는 전기통신단말기에서 작동할 수도 있다.
투표모듈은 투표자들이 선택한 커버암호와 투표로부터 커버암호화된 산술적투표값을 생성하고 기록할 수 있다. 또한, 투표자들이 각자 선택한 '투표위치를 포함한 투표'와 제1커버암호 및 제2커버암호로부터 '이중커버암호화된 산술적투표값'을 생성하고 기록하면서, 상기 이중커버암호화된 산술적투표값과 제2커버암호를 RSA알고리즘을 이용한 공개키기반구조(PKI)와 같은 비대칭암호체계를 이용하여 암호화하여 기록할 수도 있다.
투표모듈은 도 3의 실시예와 같이 '커버생성부(301)', '투표값등생성부(302)', '투표값등기록부(303)'를 포함할 수 있다. 커버생성부는 투표자의 통제하에 있는 휴대폰과 같은 단말에서 작동할 수도 있다. 커버생성부는 투표자에게 선택하게 하여 커버암호를 생성하도록 할 수 있다. 이때 상기 이론적 구조 '일방향수열', '투표자등록', '커버암호생성'에서와 같이 시드를 이용하여 커버암호 또는 제1커버암호 및 제2커버암호를 생성하도록 할 수도 있다. 투표값등생성부는 투표자의 투표로부터 산술적투표값을 생성하고, 커버생성부로부터 커버암호를 송부받아 커버암호화된 산술적투표값을 생성할 수 있다. 또한 이중커버암호화된 산술적투표값을 생성할 수 있고, 이 값과 제2커버암호를 비대칭암호체계에 의해 암호화할 수도 있다. 투표값등기록부는 이와 같이 생성된 커버암호화된 산술적투표값 또는 이중커버암호화된 산술적투표값과 커버암호 등을 비대칭암호체계로 암호화하여 기록, 저장할 수 있고, 블록체인 구조와 연결되어 블록체인에 기록할 수도 있다.
시그마모듈은 개표그룹 단위로 투표자들의 커버암호를 더하여 시그마커버암호를 생성하고 기록할 수 있다. 또한, 개표그룹 단위로 투표자들의 제1커버암호를 더하여 시그마커버암호를 생성하고 기록할 수도 있다. 개표그룹의 크기는 반드시 고정된 것은 아니고 2이상의 자연수로 변화할 수도 있다. 개표그룹의 크기를 m이라 할때, 총투표수가 m의 배수가 아닐 수도 있으므로 마지막 그룹은 m보다 커지거나 작아질 수 있다. 또한, 전체를 하나의 개표그룹으로 할 수도 있다.
시그마모듈은 도 4의 실시예와 같이 '시그마커버생성부(401)'와 '시그마기록부(402)'를 포함할 수 있다. 시그마커버생성부는 투표모듈에서 전송되어지는 커버암호를 개표그룹 단위로 더해서 시그마커버를 생성할 수 있다. 이때 커버암호는 이중커버암호화의 경우 제1커버암호일 수도 있다. 시그마기록부는 생성된 시그마커버를 기록, 저장할 수 있고, 블록체인 구조와 연결되어 블록체인에 기록할 수도 있다.
개표모듈은 커버암호화된 산술적투표값과 시그마커버를 이용하여 시그마개표방식으로 개표할 수 있다. 또한, 비대칭암호체계에 의해 암호화된 이중커버암호화된 산술적투표값과 제2커버암호를 복호화하고, 이를 이용하여 '투표위치를 고려한 이중시그마개표방식'으로 개표할 수도 있다.
개표모듈은 도 5의 실시예와 같이 '개표부(501)'와 '검표부(502)'를 포함할 수 있다. 개표부는 투표값등기록부에 기록된 커버암호화된 투표값과 시그마기록부에 기록된 시그마커버암호를 이용하여 개표할 수 있다. 이는 개표그룹 단위로 수행될 수 있다. 개표부는 투표값등기록부 및 시그마기록부에 있는 데이터를 이용하여 개표할 수 있다. 이때 개표부는 비대칭암호체계에 의해 암호화 되어 있는 데이터를 개표시 공개되는 개인키를 이용하여 복호화할 수 있다. 각 데이터가 블록체인에 기록된 경우 그 기록을 이용할 수도 있다. 검표부는 개표블록단위로 각 데이터를 모아 각 투표자가 자신의 투표가 어느 투표블록에 포함되는지 확인하게 하여, 투표자가 투표를 재현하는 방식으로 개표그룹 단위로 개표를 확인할 수 있도록 할 수 있다.
실시예에 따른 시스템 및 방법은 다양한 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있고, 또 서버 등 전자매체에 의해 수행될 수 있다. 컴퓨터 판독 가능 매체로는 하드 디스크, 자기 매체(magnetic media), 광기록 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플레시메모리(flash memory) 등이 있다.
또한, 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 포함할 수 있다. 프로그램 명령은 실시예를 위하여 특별히 구성되어 진 것이거나, 공지되어 사용 가능한 것일 수 있다. 프로그램 명령의 예로는 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수도 있다.
이상, 바람직한 실시예를 통하여 본 발명에 관하여 상세히 설명하였으나, 해당 기술분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 수정 및 변형이 가능하다. 가령, 실시예와 다른 순서로 수행하거나, 구성요소들을 다른 형태로 결합 또는 조합하거나, 다른 구성요소 내지 균등물에 의하여 치환되더라도 적절한 결과가 달성될 수 있다.
따라서, 본 발명의 보호범위는 후술하는 청구범위의 해석에 의하여야 하며, 청구범위와 동등한 범위 또는 균등한 것들도 본 발명의 권리 범위에 포함된다.
201: 투표모듈
202: 시그마모듈
203: 개표모듈
301: 커버생성부
302: 투표값등생성부
303: 투표값등기록부
401: 시그마커버생성부
402: 시그마기록부
501: 개표부
502: 검표부

Claims (4)

  1. 컴퓨터를 이용하는 전자투표시스템에 있어서,
    투표자들이 각자 선택한 커버암호와 각 투표로부터 '커버암호화된 산술적투표값'을 생성하고 기록하는 투표모듈;
    개표그룹 단위로 상기 커버암호를 이용하여 시그마커버를 생성하고 기록하는 시그마모듈;
    상기 커버암호화된 산술적투표값과 상기 시그마커버를 이용하여 시그마개표방식으로 개표하는 개표모듈;을 포함하는 것을
    특징으로 하는 전자투표시스템
  2. 컴퓨터를 이용하는 전자투표시스템에 있어서,
    투표자들이 각자 선택한 '투표위치를 포함한 투표'와 제1커버암호 및 제2커버암호로부터 '이중커버암호화된 산술적투표값'을 생성하고, 상기 '이중커버암호화된 산술적투표값'과 제2커버암호를 RSA알고리즘을 이용한 공개키기반구조(PKI)와 같은 비대칭암호체계를 이용하여 암호화하여 기록하는 투표모듈;
    개표그룹 단위로 상기 제1커버암호를 이용하여 시그마커버를 생성하고 기록하는 시그마모듈;
    상기 비대칭암호체계에 의해 암호화된 '이중커버암호화된 산술적투표값'과 제2커버암호를 복호화하고, 이를 이용하여 '투표위치를 고려한 이중시그마개표방식'으로 개표하는 개표모듈;을 포함하는 것을
    특징으로 하는 전자투표시스템
  3. 제1항에 있어서,
    생성되는 커버암호화된 산술적투표값, 시그마커버를 블록체인에 기록하는 것을
    특징으로 하는 전자투표시스템
  4. 제2항에 있어서,
    생성되는 이중커버암호화된 산술적투표값과 제2커버암호를 비대칭암호체계를 이용하여 암호화한 값들과 제1커버암호에 의해 생성된 시그마커버를 블록체인에 기록하는 것을
    특징으로 하는 전자투표시스템
KR1020190022376A 2019-01-04 2019-02-26 증명 가능한 전자투표시스템 KR20200085204A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190001023 2019-01-04
KR1020190001023 2019-01-04

Publications (1)

Publication Number Publication Date
KR20200085204A true KR20200085204A (ko) 2020-07-14

Family

ID=71526727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190022376A KR20200085204A (ko) 2019-01-04 2019-02-26 증명 가능한 전자투표시스템

Country Status (1)

Country Link
KR (1) KR20200085204A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210174243A1 (en) * 2019-12-06 2021-06-10 International Business Machines Corporation Efficient private vertical federated learning
KR20220060444A (ko) * 2020-11-04 2022-05-11 광주과학기술원 블록체인 전자투표시스템, 그 시스템의 운용방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160064016A (ko) 2014-11-27 2016-06-07 주식회사 향미원 깻잎츄러블정을 유효성분으로 함유하는 피부 트러블 완화용 조성물

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160064016A (ko) 2014-11-27 2016-06-07 주식회사 향미원 깻잎츄러블정을 유효성분으로 함유하는 피부 트러블 완화용 조성물

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210174243A1 (en) * 2019-12-06 2021-06-10 International Business Machines Corporation Efficient private vertical federated learning
US11588621B2 (en) * 2019-12-06 2023-02-21 International Business Machines Corporation Efficient private vertical federated learning
KR20220060444A (ko) * 2020-11-04 2022-05-11 광주과학기술원 블록체인 전자투표시스템, 그 시스템의 운용방법

Similar Documents

Publication Publication Date Title
Heiberg et al. Verifiable internet voting in Estonia
Karlof et al. Cryptographic Voting Protocols: A Systems Perspective.
CN100432889C (zh) 提供断开鉴别的系统和方法
CN102932136B (zh) 用于管理加密密钥的系统和方法
CA2947177C (en) System and method for secure voting
US11303427B2 (en) Method for verifying opinion by use of block chain which guarantees anonimity and prevents sybil attack
CN110383752A (zh) 紧凑记录协议
Blanchette Burdens of proof: Cryptographic culture and evidence law in the age of electronic documents
Qureshi et al. SeVEP: Secure and verifiable electronic polling system
KR20190076535A (ko) 블록체인을 이용한 익명 투표 시스템 및 그 방법
KR20200008413A (ko) 비밀 선거가 보장된 블록 체인 기반의 전자 투표를 수행하는 단말 장치 및 서버와, 전자 투표 방법
Gupta et al. End to end secure e-voting using blockchain & quantum key distribution
Aranha et al. The return of software vulnerabilities in the brazilian voting machine
KR20190125223A (ko) 전자 투표 시스템 및 전자 투표 방법
Khelifi et al. M-Vote: a reliable and highly secure mobile voting system
Ahmad et al. Security, usability, and biometric authentication scheme for electronic voting using multiple keys
Zhu et al. Secure Online Examination with Biometric Authentication and Blockchain‐Based Framework
CN108833431A (zh) 一种密码重置的方法、装置、设备及存储介质
Marky et al. Comparative usability evaluation of cast-as-intended verification approaches in internet voting
KR20200085204A (ko) 증명 가능한 전자투표시스템
Pangan et al. Authenticating data transfer using RSA-generated QR codes
Essex et al. Eperio: Mitigating technical complexity in cryptographic election verification
Yanti et al. Implementation of Advanced Encryption Standard (AES) and QR code algorithm on digital legalization system
Mark et al. A secured online voting system by using blockchain as the medium
RU2292082C2 (ru) Схема голосования без принуждения

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application