KR20060010873A - 검증가능한 비밀 셔플들 및 전자 투표에 대한 그 응용 - Google Patents
검증가능한 비밀 셔플들 및 전자 투표에 대한 그 응용 Download PDFInfo
- Publication number
- KR20060010873A KR20060010873A KR1020067001213A KR20067001213A KR20060010873A KR 20060010873 A KR20060010873 A KR 20060010873A KR 1020067001213 A KR1020067001213 A KR 1020067001213A KR 20067001213 A KR20067001213 A KR 20067001213A KR 20060010873 A KR20060010873 A KR 20060010873A
- Authority
- KR
- South Korea
- Prior art keywords
- sequence
- data elements
- proof
- elements
- electronic data
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 51
- 238000006467 substitution reaction Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims 2
- 238000010276 construction Methods 0.000 abstract description 2
- 230000006872 improvement Effects 0.000 abstract description 2
- 238000013461 design Methods 0.000 description 11
- 239000013598 vector Substances 0.000 description 9
- 238000002408 directed self-assembly Methods 0.000 description 7
- 210000000056 organ Anatomy 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 4
- 238000001784 detoxification Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
-
- 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/32—Cryptographic 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/3218—Cryptographic 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
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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/32—Cryptographic 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/321—Cryptographic 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 a third party or a trusted authority
-
- 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/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
- H04L9/3252—Cryptographic 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 digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- 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/42—Anonymization, e.g. involving pseudonyms
-
- 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
-
- 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/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
본 발명은 모듈러 정수(k)들의 시퀀스(검증가능하게 셔플)에 암호학적 프로토콜을 제공하는 수학적 구성을 제시하여, 안전하고 예외적으로 검증가능한, 복수 기관 선거 방식들에 대한 응용에 대해 설명한다. 셔플 작업의 출력은 모듈러 정수들(k)의 다른 시퀀스이며, 그 각각은 대응하는 입력의 동일한 비밀의 제곱이지만, 출력내의 요소들의 순서는 비밀로 유지된다. 비록 입력으로부터 출력을 연산하는 것은 "셔플러"(적용되는 요소들의 치환을 선택하는 사람)에게는 사소한 문제이지만, 이 구성은 한명 또는 그 이상의 임의의 검증자들에 의해 검토될 수 있는 출력 시퀀스에 대한 정당성의 선형 사이즈 증명(즉, 이것이 주장된 형태로 이루어졌는지에 대한 증명)을 제공하기 때문에 중요하다. 프로토콜은 특별한 경우에 공정한-검증자의 제로 지식인 것이 나타내어지며, 이는 일반적으로 계산상의 제로 지식이다. 우리는 또한, 이산 대수식의 지식에 대하여 잘 알려진 Chaum-Pedersen 프로토콜의 일반화를 구성한다([3], [2]). 사실 일반화는 (k)=2인 경우에 Chaum-Pedersen 프로토콜로 (정확히) 특화된다. 이 결과는 그 자체에 관계가 있는 경우가 있다. 현대의 최고의 프로토콜들의 특징들을 중요한 효율적인 개선들에 부합시키는 전자 투표에 대한 응용이 주어진다. (예외적으로 검증가능한) 선거들을 달성하기 위한 전적으로 새로운 파라다임을 도입하는 전자 투표에 대한 대안적인 응용도 주어진다.
셔플러, 선형 사이즈 증명, 서버 컴퓨터, 투표자 컴퓨터, 전자 신용증명, 전자 무기명 투표, 반복 대수 승산 증명, 공개 키, 캐인 키
Description
도 1은 본 발명의 양태들이 실행될 수 있는 적합한 컴퓨팅 환경의 간단한 개략도.
도 2는 방법(200)으로 도시된 선거를 위한 셔플 프로토콜의 기본 응용을 예시하는 개략도.
*도면의 주요 부분에 대한 부호의 설명*
100 : 시스템 102 : 투표자 컴퓨터들
104 : 브라우저 프로그램 모듈 106 : 인터넷 또는 월드 와이드 웹
108 : 서버 컴퓨터 110 : 데이터베이스
112 : 투표소 컴퓨터들 114 : 기관 컴퓨터들
1. 서론
물체들, 기록들 또는 토큰들의 수집의 셔플의 표기법은 단순 및 직관적이고, 다양한 일상 인간 활동들에 유용한 예들이 많이 존재한다. 카지노의 갬블러는 그의 손의 카드들 중에서, 각각이 52개의 독창적인 값들 중 하나가 되며, 테이블에 있는 어떠한 다른 사람도 그가 보유한 것들의 복제본들을 가질 수 없다는 것을 알고 있다. 그러나, 그는 딜러에 의해 셔플되기 이전의 정확한 카드 순서를 기록할 수 있는 경우에 조차도, 카드들이 분포된 방식에 대한 어떠한 지식도 가지고 있지 않다.
전자 데이터에 관련하여, 동일한 종류의 임의적인 그러나, 검증가능한 입력 순서의 치환을 달성하는 문제는 매우 어렵다. 문제점은 데이터 그 자체가 항상 감사자(auditor)에게 보이거나, 보이지 않는 것이다. 볼 수 있는 경우에, 이때, 입력 기록들과 출력 기록들 사이의 대응 관계는 감사자 또는 다른 관찰자가 재구축하는 것은 사소한 것이다. 볼 수 없는 경우에, 이때, 입력 및 출력 기록들은 동일한 기초 데이터(underlying data)의 서로 다른 표현들이어야만 한다. 그러나, 감사자가 대응 관계를 재구축할 수 없을 정도로 출력이 충분히 서로 다른 경우에, 이때, 감사자는 셔플러가 셔플링 프로세스 중에서 기초 데이터를 변경하지 않았다는 것을 어떻게 확인할 수 있을까?
본 문서의 대부분은 중요한 상황, 즉 ElGamal 또는 Diffie-Hellman로 암호화된 데이터내의 이 문제를 해결하는 효율적인(선형) 방법을 제공하려 한다. 가능한 명백하고 간결한 설명을 하기 위해, 본 문서의 대부분은 연산들이 ZP *, 즉, 큰 소수(p)를 법으로 하는 단위들의 배수 그룹의 소수 서브그룹내에서 수행되는 특정 경우를 명시적으로 언급한다. 그러나, 단지 우리가 사용하는 기초(배수) 그룹의 특성들 은 관련된 Diffie-Hellman 문제를 처리할 수 없다는 것이다. 따라서, 셔플 프로토콜은 또한 ElGamal 암호법이 타원 곡선들과 같이 다른 그룹들에서 구현될 때 유용하다.
일반적인 [1] 내지 [4]의 볼 증명 기술들은 또한 동일한 특성들을 갖는 증명을 구성하는데 사용될 수 있지만, 결과로서 생긴 증명 사이즈(복잡성)는 이차 방정식이거나, 더 나쁘게는 입력 시컨스의 사이트내에 있다.
본 문서의 기술은 또한 [8]에서 사용되는 삭제 및 선택 기술(cut-and-choose technique)을 통해 여러 장점들을 제공한다. 상기 접근법에서, 증명의 사이즈는 모든 참가자들을 충족시키기 위해서 요구되는 부정행위 증명자의 확률에 의존한다. 본 문서의 셔플 프로토콜에서, 이 부정행위 확률은 본질적으로 k가 셔플될 요소들의 수이고, q가 요소들이 암호화되는 Z*p의 서브그룹의 사이즈인 k/q이다. 부정행위 확률에 의존한 증명 사이즈에 대한 어떤 분석도 [8]에서 이루어지지 않지만, 비교적 낮은 부정행위 확률을 얻기 위해서, 본 문서에서 주어진 증명의 사이즈보다 더 큰 크기로 주문될 필요가 있다. (또한, [8] 프로토콜이 상호 작용하지 않게 구현된다면, 부정행위 확률은 매우 작게 선택될 필요가 있는데, 그 이유는 악의를 가진 참가자가 철저한 조사에 의해 위조 증명을 발생시키기 위해서 중요한 오프라인 계산을 사용할 수도 있다. 이러한 방침은 본 문서의 프로토콜을 갖는 경우일 수 있지만, k 및 q의 모든 실제 값들에 위한 확률 k/q는 - 오프라인 공격들에 대해서 조차도- 충분할 만큼 확실히 작다.)
본 문서의 결과들은 예외없이 검증가능한 선거 프로토콜을 실시하기 위한 여 러 방법들을 제공한다. 이들 중 일부는 마지막 장들에 제시된다. 이러한 정황에 있어서, [2]의 고상한 준동형의 선거 프로토콜을 비교할 가치가 있다. 그 프로토콜은 무기명 투표들이 간단한 "(대부분) n중 m을 선택하는" 타입의 질문들만을 가질 때 잘 작용한다. 이것은 "라이트-인" 응답들과, 투표자가 선호하는 순서로 대답들을 표시할 거라고 기대하는 "비례 타입" 질문들과, 이 선호에 따라 표로 작성된 질문들을 효율적으로 배제한다.(이론적으로, 비례 타입의 질문들은 하나의 예/아니오 응답에 대한 선택들의 각 유효 치환을 매핑함으로써 처리될 수 있다. 그러나, 실제 이것은 선택들의 수가 매우 작지 않는 한 실행불가능하다.) [2] 방식의 다소 덜 중요한 2개의 단점들은, 투표 데이터 사이즈를 상당히 기대한다는 것과, 투표자의 타당성 증명을 요구한다는 것이다. 이 증명은 대략 크기의 순서에 의해 투표 데이터 사이즈를 또한 확장하고, 투표자의 컴퓨터상에서 특수 목적 코드가 운용되는 것을 가정하기 때문에, 실용적인 견지로부터 관심대상이 아니다.
본 셔플 프로토콜들은 전적으로 기초 산술 연산들로 구성된다. 따라서, 이들은 구현이 단순하고, 여기에 기술된 익명의 신용증명 응용을 위해 즉시 실용화할 수 있다.
1.1 투표에 대한 응용들
즉시 발생하는 투표 응용은 익명성을 제공하기 위한 일반적인 목록화/혼합 센터 접근법을 채용하는 것이다. 이 설정에서, 본 문서의 프로토콜들은 중요한 장점들을 제공한다. 이들은 더 한층 효율적이며, 혼합 센터들이 투표를 해독하기 위해 필요한 키의 일부 할당(share)을 보유한 관계들에 완전히 독립적이 될 수 있게 한다.
그러나, 아마, 본 신규 프로토콜의 보다 가치있고 흥미로운 응용은 "익명의 신용증명들(anonymous credentials)"을 생성하는 것이다. DSA의 세트 또는 Diffe-Hellman 공개 키들에 의해서만 식별되는, 인증된 그룹의 구성원은 그/그녀의 개인 신분을 드러내지 않고, 일시적 방식으로 그룹 맴버쉽을 증명 및/또는 서명할 수 있다. 이는 예외적으로 검증할 수 있지만, 목록화를 위해 "기관들"의 소정의 특수한 세트를 필요로 하지 않는, 투표 문제에 대한 신규한 해법을 초래한다. 이는 또한, 투표가 암호화/해독될 필요가 없기 때문에, 투표자에 대한 보다 양호한 비밀(privacy) 모델을 제공하며, 목록화를 매우 빨라지게 한다. 실제로, 투표가 집표소에 수신된 이후 암호화된 암호문을 혼합하는 대신, 선거의 시작 이전에 투표자 신용증명들이 혼합된다. 이 혼합은 "익명의 인증"을 성취하기 위해 투표자들 자신들에 의해 자연적으로 수행될 수 있다.(7.1장 참조)(혼합은 기관들의 세트에 의해서 수행되어, 임계 비밀 선거를 구현하기 위해 보다 효과적인 수단을 제공할 수도 있다는 것을 인지하여야 한다. 이 경우에도 역시 투표는 암호화/해독될 필요가 없다.)
2. 표기법
이하에 있어서, 별도로 명시적으로 선언하지 않는 한, n은 양의 정수이고, p와 q는 공개적으로 알려진 소수 정수들(prime integers)이다. 산술 연산들은 모듈러 링 Zp(또는, 때때로, Zn)내에서 수행되고, g∈Zp는 (소수) 배수 차수(q)를 가진 다. (그래서, 평범하게, q|(p-1)) 각 증명 프로토콜에서, P는 증명자(셔플러)이고, V는 검증자(감사자)이다. 이산 대수를 위한 등식의 Chaum-Pedersen 증명을 상기한다. G, X, H, Y ∈ Zp에 대하여, 이는 하기의 관계를 위한 지식의 증명이다.
이는 제로 지식(zero-knowledge)이 되는 것으로 알려져 있지는 않지만, 정직한-검증자 제로 지식이 되는 것으로 알려져 있다. 다음 장에서, 역시 이들 특성들을 갖는 이 프로토콜의 자연적 다중 변수 일반화를 제공할 것이다. 이들은 검증자가 Fiat-Shamir 학습법을 경유하여 구현되는 우리의 주 응용을 위해 충분하다.([5] 및[2] 참조)
정의 1 : 위와 같이 이 증명의 실예는
로 표현된다.
정의 2 : 고정된 g∈Zp *에 대하여, 가 모든 x,y∈<g>에 대하여 에 의해 정의된 <g>×<g>의 이진 연산자라 한다. 대안적으로, 모든 a,b∈<g>에 대하여, 이다. 합산들 및 승산들을 위해 사용되는 관례들에 따라 하기의 표기법도 사용한다.
우리는 이 연산을 대수 승산 베이스(g)라 지칭한다.
앞선 정의의 각 표기법들에서, 아래첨자 g는 그 값이 콘텍스트로부터 명확할 때 생략될 수 있다.
주 1 : 하기의 수학식을 주목하여야 한다.
하기의 잘 알려진 결과들의 수집을 주목하여야 하며, 그 이유는, 이들이 본 문서의 나머지 부분에서 중요하게 사용되기 때문이다.
보조 정리 1 : f(x) ∈ Zq[x]는 d 차의 다항식이 되는 것으로 한다. 이때, f(zi) = 0이 되도록 하는 최대 d 값들 z1,…, zd ∈Zq가 존재한다.
추론 1 : f(x), g(x) ∈ Zq[x]가 f≠g에서, 최대 d 차의, 두 개의 모닉 다항식들이라 한다. 이때, f(zi) = g(zi)가 되도록 하는 최대 d-1 값들 z1,…, zd-1 ∈Zq가 존재한다.
추론 2 : f(x), g(x) ∈ Zq[x]가 f≠g에서, 최대 d 차의, 두 개의 모닉 다항식들이라 한다. t∈RZq(t는 Zq로부터 임의적으로 선택됨)이면, 이때,
추론 3 : f(x), g(x) ∈ Zq[x]가 최대 d 차의 소정의 두 다항식들이라 한다. 이때, 모든 상수 R≠0에 대하여, f(zi(R)) = Rg(zi(R))이 되도록하는 최대 d 값들, z1(R),…, zd(R)가 존재한다.
정의 3 : f(x)가 Zq[x]내의 다항식이라 한다. f의 모든 근들의 (비정렬)세트를 Xf에 의해 하기와 같이 나타낸다.
정의 4 : Λ⊂Zq 및 R∈Zq인 경우에, 우리는 하기와 같이 나타낸다.
추론 4 : f(x), g(x) ∈ Zq[x]가 최대 d 차의 소정의 두 다항식들이라 한다. 상수를 R≠0, ≠0 및 δ≠0이라 정한다. t∈RZq인 경우에, 이때, 하기와 같다.
보조 정리 2 : Zq k가 Zq위의 표준 k-차원 벡터 공간이라 하고, v=(v1,…,…vk)∈Zq k, v≠0 및 a∈Zq라 한다. r∈RZq k가 임의적으로 선택되는 경우에, 이때, 하기와 같다.
3. 반복 대수 승산을 위한 증명들
이 장의 나머지에 대하여, 모든 대수 승산들은 고정된 요소 g에 대하여 연산될 것이며, 그러므로, 표기의 아래첨자는 생략한다. 하기의 문제는 추후 도입되는 셔플 프로토콜들에 대한 기초이다.
반복 대수 승산 문제 : 두 시퀀스들 {Xi}k i=1 및 {Yi}k i=1은 공개적으로 알려져 있다. 증명자(P)도 모든 i에 대하여 ui=loggXi 및 vi = loggYi를 알지만, 이들은 검증자(V)에게 알려져 있지 않다. P는 비밀 알고리즘들 ui 및 vi에 대한 소정의 정보를 밝히지 않고, 하기의 관계의 V를 확신하기 위해 필요하다.
우리가 제공하는 프로토콜은 엄밀히, 장 2의 서두에 언급된 Chaum-Pedersen 프로토콜의 고차원 일반화이다. 사실, 우리는 k=2인 경우에, 프로토콜이 정확히 Chaum-Pedersen 프로토콜인 것을 발견할 것이다. 문제의 실예를 하기의 경우에 제한함으로써 현저히 단순화될 것이다.
명백히, 이들 부등식들 중 소정의 것이 유지되지 않는 경우에, 이때, 수학식 (5)는 검사에 의해 유지되거나 그렇지 않은 것으로 보여질 수 있기 때문에, 증명 구성시 어떠한 의미도 존재하지 않는다.(Xi = 1인 경우에, 이때 xi = 0 이고, 그래서, 수학식 (5)은 일부 j에 대하여 Yj = 1인 경우에, 그리고, 그 경우에만 유지한다. 유사하게, X 및 Y의 역할들은 반전된 상태가 된다.)
반복 대수 승산 증명 프로토콜(ILMPP) :
1. P는 Zq로부터 독립적으로, 그리고 임의적으로, k-1 요소들 θ1,…θk-1을 비밀로 생성하고, P는 그후, 하기의 수학식을 연산하며, V에 대하여 시퀀스 A1,…,Ak를 드러낸다.
3. P는 하기의 수학식을 충족하는 Zq의 k-1 요소들 r1,…,rk-1을 연산하고, 시퀀스 r1,…,rk-1를 V에게 드러낸다.
4. V는 (8)의 수학식들 모두가 유지되는 경우에, 그리고, 그 경우에만 증명을 받아들인다.
정리 1 : ILMPP는 특수 정직한-검증자 제로 지식인 수학식 (5)의 관계에 대한 지식의 3-거동(three-move), 공개 코인 증명(public coin proof)이다. 증명을 구성하기 위해 필요한 멱법들의 수는 k이고, 이를 검증하기 위해 필요한 멱법들의 수는 2k이다. V가 챌린지들을 임의적으로 생성하는 경우에, 위조 증명의 확률은 1/q이다.
주 2 : 증명 구성시, 모든 멱법들은 동일 베이스(g)에 대하여 수행될 수 있고, 그래서, 고정된 베이스 알고리즘이 채용될 수 있다.([6], P.623 참조)
증명 : 본 프로토콜은 명백히 3-거동 및 공개 코인이다. 증명의 구성시 멱법 카운트는 2k-2가 되어야 하는 것처럼 보이지만, 실제로, 이는 단지 k 멱법들만으로 구성될 수 있다. 이는 P가 대수 xi 및 yi를 알고, 그래서, 모든 2≤i≤k-1에 대하여 Ai를 Ai = gθi-1xi+θiyi로서 연산할 수 있기 때문이다.
완성
완성은 임의적 =(θ1,…,θk-1) 및 가 주어지면, P가 (8)의 수학식들의 시스템을 충족시키는 =(r1,…,rk-1)을 항상 발견할 수 있는 것이다. 이 경우인지를 보기 위해서, (8)내의 수학식들의 각 측면의 logg를 취하고, 1≤i≤k-1에 대하여, =(ri -θi)로 설정한다. ,…,에 대하여 Zq의 선형 수학식들의 하기의 k×(k-1) 시스템을 얻는다.
(k-1)×(k-1) 서브-시스템
은 정칙(non-singular)이며, 그 이유는 그 행렬식이 { PI ^k}_i=2 x_i이고, 이는 가정 (6)에 의해 0이 아니기 때문이다. 그러므로, ,…,에 대하여 이를 항상 풀 수 있다. 사실, 해는 하기와 같다.
그러나, 이 문제의 가정하에서, (10)은 실제로 (9)를 내포한다. 이는 방정식(10)의 좌변상의 서브매트릭스가 정칙이라는 사실과 조합하여, (12)의 k x k 메트릭스의 제 1 행 벡터가 나머지 k-1 행 벡터들의 선형 조합이어야만 한다는 것을 의미하기 때문이다.
정당성
방정식(12)의 좌변상의 메트릭스의 제 1 행 벡터가 나머지 k-1 행 벡터들의 선형 조합이 아닌 경우에, 이때, 방정식 (9)를 유지하는 최대 하나의 ∈Zq의 값이 존재할 수 있다. 따라서, 가 임의적으로 선택되는 경우에, P가 V를 확신시키는 r1,…,rk-1을 생성할 수 있는 q 내의 최대 1의 기회가 존재한다.
특수 정직한-검증자 제로 지식
에 대하여 유지하며, 트리플(,,)은 허용 대화(accepting conversation)이다. 그러므로, 시뮬레이션은 수학식(13)에서와 같이 를 설정하고, 임의적이고 독립적인 및 ri를 일반화함으로써 구성된다.
에 대하여 이렇게 생성된 분포가 (7)에 따라 생성된 것과 동일하다는 것을 발견하는 것은 쉬우며, 역시, (12)의 매트릭스의 제 1 행 벡터가 나머지 행 벡터들의 고정된 선형 조합이기 때문이다. 그래서, V가 정직한 경우에, 시뮬레이션은 완전하다. 챌린지()가 자유롭게 선택될 수 있기 때문에, 우리는 역시 하기와 같이 공식적으로 기재할 수 있다.
그러나, 이는 yi중 일부가 0인 경우에 작용하지 않는다. 방정식(11)의 경우에서, 이 문제는 가정(6)에 의해 회피되었다. 물론, 해의 주된 부분은 모든 1≤i≤k-1에 대하여 yi≠0인 가정하에서 양호하게 설정될 수 있다-가정의 타입과 일관적으로 유지될 필요가 있는 ri를 위한 표현의 선택.
주 4 : 우리는 k=2인 경우에 ILMPP가 널리 알려진 Cham-Pedersen 프로토콜로 정확히 감소하는 것을 검토하는 것을 독자에게 남겨둔다. 이를 수행하기 위해서, 주 1, 방정식 (2)를 상기하는 것이 유용하다.
주 5 : 특수 정당성
P가 s=logGX=logHY를 안다는 것을 증명하는 Chaum-Pedersen 프로토콜의 경우 에서와 같이, ILMPP는 P가 loggXi =loggYi 및 Πk i=1si=1이 되도록하는 s1,…,sk를 안다는 것을 증명한다. 동일한 제 1 거동 및 ≠'와 함께, 두 개의 허용 대화들, (,,) 및 (,',)로부터 증거 (ω,ρ)=(-',-)가
를 충족하면서 추출될 수 있다는 것 때문에, 이는 명백하다.
4. 단순 k-셔플
우리가 구성한 제 1 셔플 증명은 제한적인 조건들의 세트를 필요로 한다. 이는 두 가지 이유들 때문에 유용하다. 첫 번째로, 이는 추후 도입될 보다 일반적인 셔플 증명 프로토콜의 기본 구축 블록이다. 뜻밖으로, 이는 역시 제 2의 중요한 목적을 충족한다. 이 증명의 단일의 예는 특정 치환을 실질적으로 "위탁"하도록 구성될 수 있다. 이는 셔플들이 Zp요소들의 집합들상에서 수행될 필요가 있을 때 중요할 수 있으며, 이는 투표 응용에서와 같이, ElGamal 쌍들을 셔플링할 때 정확히 소요되는 것이다.
정의 5 : 두 개의 부가적인 요소들(C 및 D)과 함께, Zp,X1,…,Xk 및 Y1,…,Yk의 k 요소들의 두 시퀀스들이 공개적으로 알려진 것으로 가정한다. 또한, 증명자(P)는 xi = loggXi, yi = loggYi, c = loggC 및 d = loggD를 알고 있지만, 모든 이들 값들은 검증자(V)에게 알려져 있지 않다고 가정한다. P는 xi, yi, π, c 또는 d에 대한 어떠한 정보도 드러내지 않고, 모든 1≤i≤k에 대하여
Yi d+ Xπ c (i) (15)
의 특성을 갖는 일부 치환(π∈Σk)이 존재한다는 것을 V에게 확신시켜야할 필요가 있다.
우리는 이 문제를 단순 k-셔플 문제라 부른다.
주 6 : 본 장 및 본 문서의 잔여 부분에 대하여, 우리는 모든 셔플 구성들에서 단순화 가정들을 할 것이다.
1. i≠j에 대하여 xi≠xj(그러므로, 물론, i≠j에 대하여 yi≠yj)
2. 모든 1≤i≤k에 대하여 xi≠1
이들 특수한 경우들을 취급하기 위한 명백한 방식들이 존재한다. 또한, 실시시, 이들은 요소들이 일반적으로 임의적이기 때문에, "실질적으로 발생하지 않을" 것이다.
추론 2와 조합하여 이전 장의 프로토콜은 공정하고 단순한 방식으로 이 문제를 풀기 위해 필수적인 툴들을 제공한다.
단순 k-셔플 증명 프로토콜 :
1. V는 임의적 t∈Zq를 생성하고, 이를 P에게 챌린지로서 제공한다.
2. P 및 V는 공개적으로 u=Dt=gdt, W=Ct=gct,
및
를 연산한다.
3. P 및 V는 두 길이 2k 벡터들에 대하여 ILMPP를 실행한다.
프로토콜은 V가 기 ILMPP를 받아들이는 경우 및 그 경우에만 성공한다(V가 증명을 인정한다).
정리 2 : 단순 k-셔플 증명 프로토콜은 방정식(15)의 관계에 대한 지식의 4-거동, 공개 코인 증명이다. 이는 특수 정당성을 충족하며, 특수 정직한-검증자 제로 지식이다. 증명을 구성하기 위해 소요되는 멱법들의 수는 2k이고, 이를 검증하 기 위해 소요되는 멱법들의 수는 4k이다.
V가 임의적으로 챌린지들을 생성하는 경우에, 위조된 증명의 확률은 (k-1)/q+(q-k+1)/q2=(qk-q+q-k+1)/q2<k/q 이하이다.
주 7 : 주 2의 고찰도 이 경우에 적용한다.
증명 : 모든 필요한 특성들은 이전 장의 결과들을 직접 따른다. (특수 정당성은 주 5로부터 논증될 수 있다.) 위조된 증명은 단지 두가지 조건들에서만 생성될 수 있다.
1. 챌린지(t)가 하기의 방정식을 위한 특수값들 중 하나이다.
2. 챌린지(t)가 위의 1의 특수값들 중 하나가 아니고, ILMPP가 위조된다.
보조정리 2에 의해, 1의 확률은 최대 (k-1)/q이고, 2의 확률은 이전 장의 결과들에 의해 (q-k+1)/q1이다.
4.1 복잡성 개선
단순 k-셔플 프로토콜의 사이즈 및 복잡성 양자 모두는 2의 팩터에 의해 개선될 수 있다. 보조정리 2를 사용하는 대신, 우리는 보조정리 4를 사용한다. 직관적으로, 우리는 방정식 (16)의 C의 k 사본들과 D의 k 사본들을 단일 엔트리들 gdk 및 gck로 각각 대체하기를 원한다. 불행히, 이는 프로토콜의 제로 지식 특성을 훼손 한다. 대신, 우리는 프로토콜을 하기와 같이 변형한다.
단순 k-셔플 증명 프로토콜 Ⅱ :
1. P는 Zq로부터 β를, 그리고, Zq-{0}로부터 τ를 임의적이고, 독립적으로 생성하고, 방정식 (17)을 연산하며, V에게 B 및 T를 드러낸다.
2. V는 Zq로부터 임의적 λ를 생성하고, 이를 P에게 드러낸다.
3. P는 방정식 (18)에 의해 s를 연산하고, s를 V에게 드러낸다.
4. V는 임의적 t∈Zq를 생성하고, 이를 챌린지로서 P에게 제공한다.
5. P 및 V는 공개적으로 U=Dt=gdt, W=Ct=gct,
및
를 연산한다.
6. P는 Zq로부터 비밀로, 임의적이고 독립적으로 k 요소들(θ1,…,θk)을 생성한다. P는 그후 방정식 (19)를 연산하고, 시퀀스 A1,…,Ak+1을 V에게 드러낸다.
8. P는
을 충족하는 Zq의 k 요소들(r1,…,rk)을 연산하고, 시퀀스 r1,…,rk를 V에게 드러낸다.
9. V는 (20)의 모든 방정식들이 유지되는 경우 및 그 경우에만 증명을 인정한다.
정리 3 : 단순 k-셔플 증명 프로토콜 Ⅱ는 방정식 (15)의 관계를 위한 지식의 5-거동, 공개 코인 증명이다. 이는 특수 정당성을 충족하고, 특수 정직한-검증자 제로 지식이다. 증명을 구성하기 위해 소요되는 멱법들의 수는 k+4이고, 이를 검증하기 위해 소요되는 멱법들의 수는 2k+2이다.
V가 챌린지들을 임의적으로 생성하는 경우에, 위조된 증명의 확률은 (k-1)/q+(q-k+1)/q2=(qk-q+q-k+1)/q2<k/q 이하이다.
증명 스케치 : 모든 논증들은 원본 프로토콜의 경우에 구성된 논증들과 특성 마다 매우 유사하다. 주된 차이점은 보조정리 2 대신 보조정리 4를 이용한다는 것이다.
5. 일반적 k-셔플
단순 k-셔플 프로토콜의 명백한 한계는 셔플러(P)가 모든 원본 멱지수들(x1,…,xk 및 y1,…,yk)을 알아야만 한다는 것이다. 다수의 응용들에서, 이는 그렇지 못할 수 있다. 본 장의 목적은 이 규제를 제거하는 것이다.
일반적 k-셔플 문제 : Zp의 k 요소들의 두 시퀀스들(X1,…,Xk 및 Y1,…,Yk)은 공개적으로 알려져 있다. 부가적으로, 콘텐츠 c, d∈Zq는 단지 P에게만 알려져 있지만, 약속들 C=gc 및 D=gd는 공개되어 있다. P는 π, c 또는 d에 대한 어떠한 정보도 드러내지 않고, 모든 1≤i≤k에 대하여
의 특성을 갖는 일부 치환(π∈Σk)가 존재한다는 것을 V에게 확신시킬 필요가 있다.
일반적 k-셔플 증명 프로토콜 :
(프리젠테이션의 목적을 위해서, 우리는 d=1인 경우를 고려한다. 일반적 경우는 단순히 g로부터 C까지 그룹 생성자를 변경하고, c=c/d의 치환을 수행함으로써 이 경우로 감소될 수 있다.)
1. 1≤i≤k에 대하여, P는 ai, bi, ui 및 wi를 Zq로부터 임의적으로, 그리고, 독립적으로 생성하며,
를 연산한다.
을 연산하고, 1≤i≤k에 대하여
을 연산하며, 마지막으로,
를 연산한다.
그후, P는 순차화된 시퀀스들 Ai, Bi, Ci, Ui 및 Wi를 X0, Y0, 및 Λ와 함께 V에게 드러낸다.
2. 1≤i≤k에 대하여, V는 Zq-{0}로부터 임의적으로, 그리고, 독립적으로 ei를 선택하며, 이 시퀀스를 P에게 반환한다.
3. P는 1≤i≤k에 대하여
을 연산하고, 이들을 V에게 드러낸다.
4. V는 t∈Zq-{0}를 생성하고, 챌린지로서 이를 P에게 반환한다.
5. 1≤i≤k에 대하여, P는 비밀로
의 멱지수들을 연산한다.
과 같다.
(P는 증명을 구성하기 위해 Ri 및 Si를 명확히 연산할 필요가 없지만, V는 V는 Ri 및 Si를 Ri=AiBi tei 및 Si = CiDi t로서 연산할 수 있다는 것을 인지하여야 한다. 따라서, 이 증명 프로토콜은 P가 k+4 멱법들을 연산하고, V가 4k+2 멱법들을 연산하는 것을 필요로 한다.)
7. P는 멱지수들을
와 같이 드러낸다.
8. V는
을 체크하고,
을 평가한다.
9. P는
를 연산하고, V와 함께 두 개의 Chaum-Pedersen 증명들 CP(g,Γ,G,G0) 및 CP(g,C,Z1G0,G1)을 실행한다.(따라서, V에게 방정식들 (32)가 유지되는 것을 증명한다.)
10. V는 최종적으로
을 체크한다.
11. V는 (a) 체크되어야만 하는(단계들 8 및 10) 모든 방정식들이 충족되고, (b) V가 단계 6의 단순 셔플 증명을 인정하고, (c) V가 단계 9의 양 Chaum-Pedersen 증명들을 인정하는 경우에, 그리고, 그 경우에만 증명을 인정한다.
6. 복수 기관 투표 응용
종래의 투표 응용을 위한 대부분의 설정이 [2]에 설립될 수 있다. 투표들은 타입 (gαi, hαim)의 ElGamal 쌍들(또는, 보다 많은 데이터가 필요한 경우에는 이들 쌍들의 시퀀스)로서 제출되며, 여기서, m은 투표자 선택들의 몇몇 표준 인코딩이며, αi는 투표자들에 의해 비밀로 생성되며, h는 무딜러 비밀 할당 설계개념([7])을 통해 구성된 공개 파라미터이다. 투표소들이 폐쇄되고 나면(투표가 종료됨), 기 관들의 독립적 모임이 순차적으로 무기명 투표들을 셔플한다. 각 셔플은
와 같이 구성되며,
여기서, ri는 Zq 및 (Xi,Yi)=(gαi,hαiMi)로부터 임의적으로 선택된다.
최종 셔플의 출력시, 암호화된 무기명 투표들의 최종 수집체가 임계 설계개념에 따라 해독되며, 명료한 텍스트 투표들이 통상적 선거 규칙들에 의해 완전한 화면으로 목록화된다.
순차적 셔플들에 개입하는 기관들은 수가 독단적일 수 있으며, 이들은 선거 개인 키의 할당들을 유지하는 자들로부터 완전히 다를 수 있다. 최종적으로 해독된 무기명 투표들의 시퀀스는 그 치환들 각각이 완전히 독단적이기 때문에, 모든 셔플 기관들이 담합한 경우에 제출된 무기명 투표들의 원본 시퀀스와 일치될 수 있다.
각 셔플의 타입이 장 5에서 기술된 셔플과 상이하지만, 증명 프로토콜은 최소한의 변형들로 구성될 수 있다. 우리는 하기의 서브섹션에서 세부사항들을 제시한다.
6.1 : ElGamal 쌍들
1. 1≤i≤k에 대하여, P는 ai, bi, ui 및 wi를 Zq로부터 임의적으로, 그리고 독립적으로 생성하며,
를 연산한다.
을 연산하고, 1≤i≤k에 대하여,
을 연산하며, 마지막으로,
을 연산한다.
P는 그후 순차화된 시퀀스들 Ai, Bi, Ci, Ui 및 Wi를 X0, Y0, 및 Λ와 함께 V에게 드러낸다.
2. 1≤i≤k에 대하여, V는 Zq-{0}로부터 임의적으로, 그리고, 독립적으로 ei를 선택하며, 이 시퀀스를 P에게 반환한다.
3. P는 1≤i≤k에 대하여
를 연산하고, 이들을 V에게 드러낸다.
4. V는 c∈Zq-{0}를 생성하고, 챌린지로서 이를 P에게 반환한다.
5. 1≤i≤k에 대하여, P는 비밀로
의 멱지수들을 연산한다.
과 같다.
(P는 증명을 구성하기 위해 Ri 및 Si를 명확히 연산할 필요가 없지만, V는 V는 Ri 및 Si를 Ri=AiBi cei 및 Si = CiDi c로서 연산할 수 있다는 것을 인지하여야 한다. 따라서, 이 증명 프로토콜은 P가 k+4 멱법들을 연산하고, V가 4k+2 멱법들을 연산하는 것을 필요로 한다.)
7. P는 멱지수들을
와 같이 드러낸다.
8. V는
을 체크하고,
을 평가한다.
9. P는
를 연산하고, V와 함께 두 개의 Chaum-Pedersen 증명들 CP(g,Γ,G,G0) 및 CP(g,Γ,H,H0)을 실행한다.(따라서, V에게 방정식들 (45)가 유지되는 것을 증명한다.)
10. P 및 V는
을 연산한다.
11. P는
을 연산하고, 이를 V에게 드러낸다.
12. V는 최종적으로
을 체크한다.
13. V는
(a) 체크되어야만 하는(단계들 8 및 12) 모든 방정식들이 충족되고,
(b) V가 단계 6의 단순 셔플 증명을 인정하고,
(c) V가 단계 9의 양 Chaum-Pedersen 증명들을 인정하는 경우에, 그리고, 그 경우에만 증명을 인정한다.
6.2 한 경로 목록화
표준 혼합-네트 구현에서, 두 개의 별개의 위상들이 발생하여야만 하는 것으로 가정한다.
셔플링(또는 혼합) : 암호화된 무기명 투표들의 세트가 혼합된다. 이는 충분한 수의 혼합 스테이지들이 수행될 때까지 전체 암호화된(그리고, 반복적으로 셔플된) 무기명 투표 박스가 일 기관로부터 다른 기관로 순차적으로 전달되어야만 함을 의미한다. 보다 명확하게, A1,…,An이 셔플링의 시퀀스 또는 일반적으로 기관들이라 지칭되는 혼합 엔티티들이라 한다. B는 암호화된 무기명 투표들의 시퀀스라 한다. 순차적으로, 각 Ai는 하기의 작업들을 수행한다.
2. Ai는 모든 필요한 인증서 점검들 및 타당성(증명) 검증들을 수행한다.
3. 단계 2에서의 점검들 중 어떠한 것이라도 실패하면, 목록화는 중지되거나, 가능하게는, 재시작된다. 그렇지 않으면, Ai는 방정식 (34)에 따라 및 장 6.1의 대응 타당성 증명(Pi)을 연산한다. (통상적으로, 이는 프로토콜의 비대화형 버전이다.)
4. 를 B로 개명하고, Ai는 B를 소정의 다른 필요한 인증서 또는 타당성 점검들 및 Pi와 함께 Ai+1에게 보낸다. i=n인 경우에, 혼합이 종료되고, 목록화가 해독 위상으로 진행한다.
해독 : 셔플링(혼합) 이후에, 결과적인 무기명 투표들의 세트는 일반적으로 h로 표시된 선거 공개 키로 모두 암호화된다. 이들 무기명 투표들을 해독하기 위해서, 이제 각 기관은 해독 할당을 기증하여야만 한다. 이는 하기와 같이 달성된다.
1. 가 최종 혼합 기관(An)에의해 출력된 암호화된 무기명 투표들의 세트라 하고, SD={D1,…,Dt}가 해독에 관여하는 해독 기관들의 서브세트라 한다. (값 t는 선거 공개 키(h)가 생성될 때 사용된 임계값에 의해 결정된다. [7] 참조.)
2. 각 1≤j≤t에 대하여, 그리고, 병렬적으로
(a) Dj가 그 타당성의 적절한 인증서와 함께 시퀀스 X1,…,Xk를 수신한다.
(b) 단계 2a에서 제공된 인증서의 체크가 실패하는 경우에, Dj는 해독을 중지하여야만 한다. 그렇지 않으면, 1≤i≤k에 대하여, Dj는
를 연산한다.
여기서, sj는 Dj의 해독 할당이며, z(j,SD)는 공개적으로 연산할 수 있는 상수 승산자이다([7] 참조). Dj는 또한 방정식 (49)을 위한 타당성(Cij)의 Chaum-Pedersen 증명을 생성한다.
(c) D는 모든 Zij 및 Cij를 목록화 센터에 반환한다.
3. 목록화 센터에서 수신된 모든 Cij가 유효한 것으로 가정하면, 명확한 텍스트 무기명 투표들의 세트는
으로서 연산된다.
4. 소정의 선거에서와 같이 Mi를 계수함으로써 선거 계산이 최종적으로 연산된다.
해독 기관들의 세트(SD)(또는 심지어 그의 단지 일부의 서브세트)가 셔플링 기관들의 세트에 포함되는 경우(실시시 거의 항상 이런 경우가 된다), 이 절차의 단점은 양 세트들내에 있는 각 기관이 두 개의 별개의 통신을 수신할 필요가 있다는 것이며, 그 각각은 매우 클 수 있다. 이 단점은 기관들이 느린 통신 링크에 의해 접속되었을 때, 특히 문제시된다.
우리는 혼합과 동시에 일부 또는 모든 해독이 이루어질 수 있다는 것을 고찰한다. 이는 단순히, 셔플링 위상 동안 SD의 구성원들인 셔플링 기관들 각각에 대해 셔플링 단계 3을 해독 단계 2와 조합함으로써 달성된다. SD의 구성원들이 아닌 셔플링 기관들은 변경되지 않은 단계들을 따를 수 있다.
그래서, Aj가 SD의 구성원인 경우에, 셔플링 단계 4에서, 단지 B만을 Aj+1로 보내는 대신, 및 양자 모두를 보내며, 여기서, Zij 및 Cij는 위에서와 같다. 또한, 그 셔플을 위한 입력으로서 B를 사용하는 대신, Aj+1은 를 사용하여야 한다.
이 방식으로, 모든 해독 기관들이 역시 셔플 기관들인 경우에도, 일반적인 경우와 같이, 이때, 최종 출력이 해독된 무기명 투표들의 세트가 될 수 있으며, 따라서, 별개의 해독 위상에 대한 필요성을 소거한다. 단지 t0<t 해독 기관들이 역시 셔플 기관들인 경우에, 이때, 최종 셔플된 무기명 투표 박스는 잔여 t-t0 해독 기관들 사이에 할당된 공개 키로 암호화된 요소들로 구성될 것이다. 따라서, 이 경우에, 여전히 해독 위상에 대한 필요성이 존재하지만, 소요 통신량은 대응하는 양만큼 감소된다.
7. DSA 공개 키들의 k-셔플들
일반적 k-셔플들은 DSA 또는 Diffie-Hellman 공개 키들의 세트를 검증가능하게 치환화하는데 이상적으로 적합하다. 이에 의해, 우리는 DSA 공개 키들의 새로운 세트가 생성되는 것을 의미하며, 이는 컴퓨터화에 의해 원본 세트와 링크될 수 없지만, 개인 키들의 동일한 세트를 검증가능하게 나타낸다. 이는 개인 키들의 원본 그룹의 완전성을 여전히 보호하면서, 인증된 키들의 세트를 익명화하기를 원할 때, 매우 가치가 있을 수 있다-선거 설정은 단지 하나의 이런 예일 뿐이다.
우리는 단지 여기서 기술을 개략적으로 기술하지만, 그러나, 독자들은 세부사항들을 완전히 명백히 알 수 있을 것이다. 최초에, 모든 공개 키들이 타입 (g,H), H=gs로 이루어지며, 여기서, g는 일부 고정된 생성자들이고, s는 개인 키인 것으로 가정한다. 즉, 개략적으로, "모든 키들은 동일한 베이스를 사용"한다. 프로토콜은 하기와 같이 진행한다.
1. 셔플러 또는 혼합자는 g 및 키들의 리스트(Hi)를 제공받는다.
2. 셔플러는 C=g 및 Yi=Hi'(신규 공개 키들)로 일반적 k-셔플을 실행하여 Fiat-Shamir 학습법을 통해 검증자의 임의적 챌린지들을 구현한다.(즉, 증명 프로토콜의 비대화형 버전이 실행된다.)
3. 셔플러는 전체 증명 사본을 "반환"한다.
4. 사본이 세트 g=C 및 Hi=Hi'를 검증하는 것으로 가정한다. C에 대한 공통 베이스를 변경함으로써,
때문에, 개인 키들은 모두 동일하게 남아있는다.
7.1 익명 투표자들
투표 응용에서, 선거 완전성을 위해, "누가 투표하였는지"를 알아야만 하지만, "어떻게 투표하였는지"는 알아서는 인되는 경우가 많다. 본 장의 기술은 프라이버시/완전성 딜레마를 새로운 방식으로 해결한다. "누가 투표하였는지"를 아는 대신, 투표한 사람이 허가된 투표자들의 세트의 일원인지만을 안다. 결과적으로, 우리는 하기와 같은 투표 솔루션을 남겨둔다.
1. 분산식 신뢰성 목록화 설계개념을 구현하기 위해 키 할당을 필요로 하지 않는다.
2. 이는 분산식 신뢰도 목록화에 기초한 기타 투표 솔루션들의 필요악인 임계 프라이버시가 아닌 투표자에 대한 연산적 프라이버시를 보증한다.(임계 수의 기 관들이 담합에 합의하면, 모든 투표자들의 투표들이 해독될 수 있다.)
3. 투표된 무기명 투표들의 암호화 또는 해독을 필요로하지 않는다.
물론, "이중 투표"의 문제점을 고려하여야만 하지만, 본 장의 기술은 하기와 같이 이를 관리하도록 쉽게 변형된다.
AV-1 : 단계 3에서, 투표자(셔플러)-이 경우에는 개인 키들(s0)중 하나를 알고 있는-는 그룹 생성자(또는 베이스)(C) 및 키 쌍(s0, H0')을 가진 DSA 서명 설계개념을 사용하여 그의 투표된 무기명 투표에 서명한다. (H0'는 투표자에게 속하는 "후 셔플" 공개 키이다. 투표자는 그/그녀가 셔플을 실행하였기 때문에, 새로운 시퀀스내의 그 위치를 안다. 그리고, 또한, 셔플의 특성들은 H0'=Cs0-즉, s0가 H0'에 대응하는 개인 키인 것을 보증한다.)
AV-2 : 단계 4에서, 셔플 사본 체크들 및 무기명 투표 서명 체크들을 가정하여, 투표 센터는 인증된 키들의 리스트로부터 단순히 H0'를 제거하고, 다음 무기명 투표 요구를 다시 대기하는 프로세스를 시작한다. 공개 키들의 새로운 리스트는 이제 하나 작아지며, 투표자(셔플러)가 먼저 하나 이상의 개인 키를 알고있지 않는 한, 그/그녀는 이제 새로운 개인 키들을 알고 있지 못하며, 그래서, 다시 투표할 수 없다.
결과적인 선거 프로토콜은 모든 셔플 사본들 및 서명들이 유지되는 경우에, 예외적으로 검증이능하다.
비록, 이 선거 설계개념이 우월한 프라이버시 특성들(각 투표자의 무기명 투표의 비밀이 분산된 기관들의 세트에 의해서가 아니라 투표자에 의해 보호됨)을 제공하지만, 잠재적인 실용적 단점이 존재한다. 투표자(즉, 투표자의 컴퓨터) 및 투표소 서버 컴퓨터 양자 모두에 소요되는 인증을 위한 연산량이, 투표자가 단지 표준 공개 키 서명만을 연산하는 표준 선거 프로토콜들 보다 많다. 그러나, 이 부가적 연산이 문제를 유발할 것으로 예상되는 경우에, 무기명 투표가 아용해지기 이전에 선거에 앞서 동일한 익명화가 양호하게 수행될 수 있다.
이는 위의 단계 AV-1에서 무기명 투표가 서명될 때 익명으로 서명되게 되는 증명서 요구에 대한 응답으로 발행된 표준 PKI 증명서들에 의해 달성된다. 물론, 이들 증명서 요구들은 개인 정보를 나타내는 어떠한 정보도 포함하지 않을 수 있지만, 다른 방식으로, 이들은 가장 중요하게는 투표자가 대응 개인 키를 갖는, 표준 공개 키를 포함하는 완전한 표준이 될 수 있다. 투표시에, 무기명 투표는 단순히 이 통상적인 개인 키로 서명될 수 있다. 이 전략에서, 익명 증명서를 재사용할 수 있다. 따라서, 익명 증명서의 연산적 비용이 다수의 선거들에 걸쳐 양도될 수 있다.
8. 집합들의 k-셔플들
장 5에서, 생성된 단순 셔플은 증명될 수 있는 치환을 실질적으로 "동결"시킨다는 것이 명백하다. 이는 이전 장이 어떻게 <g>의 요소들의 k l-집합들의 셔플들 또는 ElGamal 쌍들의 k l-집합들로 확장되는지를 쉽게 알 수 있게 한다. k l-집합들의 시퀀스를 k x l 어레이로 고려하면, 단일 단순 k-셔플은 동일 치환에 따라 모든 행들이 치환화되는 것을 증명하도록 기능할 수 있다. 정확하게, 이는 일반적 k-셔플 프로토콜 및 ElGamal 셔플 프로토콜 양자 모두에서 Ai, Bi, Ci 및 Di의 동일한 값들이 모든 행들에 대하여 사용된다.(필수적이지는 않지만, 일반적 k-셔플에서, t의 동일한 값이 모든 행들을 위해 사용될 수 있고, ElGamal 셔플에서는 c의 동일한 값이 모든 행들을 위해 사용될 수 있다.)
8.1 : 공통 베이스가 없는 DSA 키 셔플들
본 장의 고찰은 또한 장 7의 DSA 키 셔플 프로토콜의 일반화를 가능하게 한다. 동일 베이스에 대하여 공개 키들의 전체 세트를 유지(g C)하는 대신, 키들은 독립적인 쌍들(gi, Hi)로서 관리된다. 셔플러가 키 쌍들 중 임의의 서브세트(Gi, Hi)를 뽑을 수 있고, 이들을 "2-집합들"로서 셔플하며, 결과를 반환한다. 이는 원본 세트가 큰 경우에, 약 50% 만큼 키 당 작업을 증가시키는 대가로 셔플링을 보다 관리하기 쉽게 한다.
참조문헌들
[1] 부분적 지식의 증명들 및 증거 은닉 프로토콜들의 단순화된 디자인(R. Cramer, I. Damgrd, B. Schoeakers. Advances in Cryptology-CRYPTO'94, Lecture Notes in Computer Science, pp. 174-187, Springer-Verlag, Berlin, 1994)
[2] 보안 및 최적 효율 다중 기관 선거 설계개념(R. Cramer, R. Gennaro, B. Schoeakers. Advances in Cryptology-EUROCRYPT'97, Lecture Notes in Computer Science, Springer-Verlag, 1997)
[3] 감시자를 갖는 월릿 데이터베이스(D. Chaum 및 T. P. Pedersen. Advances in Cryptology-CRYPTO'92, volume 740 of Lecture Notes in Compute Science, Pages 89-105, Berlin, 1993. Springer-Verlag)
[4] SZK의 온 모노톤 공식 클로져(A. De Santis, G. Di Crescenzo, G. Persiano 및 M, Yung. On Monotone Formula Closure of SZK. FOCS 94, pp.454-465)
[5] 당신 자신을 검증하는 방법 : 신원확인 및 서명 문제들에 대한 실용적 솔루션들(A. Fait, A. Schamir. Advances in Cryptology-CRYPTO'86, Lecture Notes in Computer Science, pp. 186-194, Springer-Verlag, New York, 1987)
[6] 응용 암호학 핸드북(A.J. Menezes, P.C. van Oorschot 및 S.A. Vanstone. CRC Press, 1997)
[7] 신뢰 기관이 없는 임계 암호법(T. Pedersen. Advances in Cryptology-EUROCRYPT'91, Lecture Notes in Computer Science, pp. 522-526, Springer-Verlag, 1991)
[8] 수취 자유 혼합형 투표 설계개념-투표 부스의 구현에 대한 실용적 솔루션(K. Sako, J. Kilian. Advances in Cryptology-EUROCRYPT'95, Lecture Notes in Computer Science, Springer-Verlag, 1995)
도 1 및 하기의 설명은 본 발명의 양태들이 실행될 수 있는 적합한 컴퓨팅 환경의 간단한, 개괄적 설명을 제공한다. 비록 필수적이지는 않지만, 본 발명의 실시예들은 퍼스널 컴퓨터 또는 웹 서버 같은 범용-목적 컴퓨터에 의해 실행되는 루 틴들 같은 컴퓨터 구현의 명령들로서 구현될 수 있다. 관련 기술의 숙련자들은 본 발명의 양태들(소규모 선거들 같은)이 인터넷 기기들, 수지식 디바이스들, 착용식 컴퓨터들, 퍼스널 디지털 어시스턴트들("PDA들"), 멀티프로세서 시스템들, 마이크로프로세서-기반 또는 프로그램형 가전 기기들, 네트워크 PC들, 미니 컴퓨터들, 셀 또는 이동 전화들, 셋-톱 박스들, 메인프레임 컴퓨터들 등을 포함하는 기타 컴퓨터 시스템 구성들로 실시될 수 있다는 것을 인지할 것이다. 본 발명의 양태들은 여기에 설명된 컴퓨터 실행형 명령들 중 하나 또는 그 이상을 수행하기 위해 특별히 프로그램, 구성 또는 구축된 특수 목적 컴퓨터 또는 데이터 프로세서로 구현될 수 있다. 사실, 여기서 일반적으로 사용되는 바와 같이, 용어 "컴퓨터"는 상기 디바이스들 중 소정의 것 및 소정의 데이터 프로세서를 지칭한다.
또한, 본 발명은 지역 네트워크(LAN), 광역 네트워크(WAN) 또는 인터넷 같은 통신 네트워크를 통해 링크되는 원격 처리 디바이스들에 의해 테스크들 또는 모듈들이 수행되는 분산식 컴퓨팅 환경들에서 실시될 수도 있다. 분산식 컴퓨팅 환경에서, 프로그램 모듈들 또는 서브-루틴들은 지역 및 원격 메모리 저장 디바이스들 양자 모두에 위치될 수 있다. 여기에 설명된 본 발명은 인터넷 또는 기타 네트워크들(무선 네트워크들 포함)에 걸쳐 전자적으로 분산된, 그리고, 칩들내에 펌웨어로서 저장된 자기 및 광학적으로 판독 및 삭제가능한 컴퓨터 디스크들을 포함하는 컴퓨터 판독가능 매체상에 저장 또는 분산될 수 있다. 관련 기술의 숙련자들은 여기에 설명된 프로토콜들의 일부가 서버 컴퓨터상에 존재하고, 클라이언트 컴퓨터상에 대응 부분들이 존재한다는 것을 인지할 것이다. 특히 이런 프로토콜들을 위한 데이터 구조들 및 데이터의 전송도 본 발명의 범주에 포함된다.
별도로 설명되지 않는 한, 도 1에 도시된 다양한 블록들의 구성 및 연산은 종래의 디자인으로 이루어진다. 결과적으로, 이런 블록들은 이들이 관련 기술의 숙련자들에 의해 쉽게 이해될 수 있기 때문에, 여기서 추가로 상세히 설명될 필요가 없다.
도 1을 참조하면, 시스템(100)의 적합한 환경은 하나 도는 그 이상의 투표자 또는 클라이언트 컴퓨터들(102)을 포함하고, 그 각각은 컴퓨터가 인터넷의 월드 와이드 웹 부분(106)내의 웹 사이트들을 포함하는 인터넷과 데이터를 교환 및 액세스할 수 있게 하는 브라우저 프로그램 모듈(104)을 포함한다. 투표자 컴퓨터들(102)은 하나 이상의 중앙 처리 유니트들 또는 기타 로직 처리 회로, 메모리, 입력 디바이스들(예로서, 키보드, 마이크로폰들, 터치 스크린들 및 포인팅 디바이스들), 출력 디바이스들(예로서, 디스플레이 디바이스들, 오디오 스피커들 및 프린터들) 및 저장 디바이스들(예로서, 고정식, 플로피 및 광 디스크 드라이브들)을 포함할 수 있으며, 이들 모두는 널리 알려져 있지만, 도 1에 도시되어 있지는 않다. 또한, 투표자 컴퓨터(102)는 오퍼레이팅 시스템, 하나 또는 그 이상의 응용 프로그램들(예로서, 워드 프로세싱 또는 스프레드 시트 응용들) 등 같은 기타 프로그램 모듈들을 포함할 수도 있다. 도 1에 도시된 바와 같이, 투표자들(1, 2, 3…N)을 나타내는 N 수의 투표자 컴퓨터들(102)이 존재한다.
인터넷 또는 월드 와이드 웹("Web")(106)에 결합된 서버 컴퓨터 시스템(108) 또는 "집표소"는 집표, 저장 및 기타 프로세스들의 대부분 또는 모두를 수행한다. 서버 컴퓨터(108)에 결합된 데이터베이스(110)는 투표자 컴퓨터들(102), 하나 또는 그 이상의 투표소 컴퓨터들(112) 및 서버 컴퓨터(108) 사이에서 교환되는 데이터(무기명 투표들 및 셔플 타당성 증명들 포함) 및 웹 페이지들의 대부분을 저장한다. 투표소 컴퓨터(112)는 여기에 설명된 시스템하에서 전자적으로 투표하기 위한 인터넷(106)에 결합된 컴퓨터들에 대한 액세스가 준비되지 않은 투표자들 또는 대중 구성원들을 허용하기 위해 공공 투표 위치에 위치된, 퍼스널 컴퓨터, 서버 컴퓨터, 미니 컴퓨터 등이다. 따라서, 투표자 컴퓨터들(102)은 개별 투표자의 가정들에 위치될 수 있으며, 하나 또는 그 이상의 투표소 컴퓨터(112)는 공개적으로 위치되거나, 다른 방식으로 대중 선거시 투표자들에게 액세스될 수 있다. 투표소 컴퓨터(112)는 서버 컴퓨터 및 몇몇의 클라이언트 컴퓨터들을 갖는 지역 네트워크(LAN) 또는 몇몇의 투표자들이 동시 또는 병렬로 투표할 수 있게 하도록 LAN을 경유하여 그에 결합된 투표자 단말들을 포함할 수 있다. 또한, 용어 "투표자"는 여기에 설명된 일부 또는 모든 프로토콜들을 사용하는 소정의 개인 또는 조직을 지칭하는 것으로 여기서 일반적으로 사용된다.
대안적인 실시예하에서, 시스템(100)은 법인 임원들 또는 위원들(board members)의 선출 같은 사설 선거에 관하여 사용될 수 있다. 본 실시예에서, 투표자 컴퓨터들(102)은 주주들의 랩탑들 또는 데스크탑 컴퓨터들일 수 있으며, 투표소 컴퓨터(112)는 선거를 수행하는 회사(예로서, 로비의)내에 위치된 하나 또는 그 이상의 컴퓨터들일 수 있다. 따라서, 주주들은 그들의 표들을 던지기 위해 투표소 컴퓨터(112)를 액세스하도록 회사를 방문할 수 있다.
하나 또는 그 이상의 기관 또는 조직 컴퓨터들(114)은 또한 인터넷(106)을 경유하여 서버 컴퓨터 시스템(108)에 결합된다. 임계 암호법이 사용되는 경우에, 이때, 기관 컴퓨터들(114) 각각은 데이터베이스(110)내에 저장된 전자 무기명 투표들을 해독하기 위해 필요한 키 할당을 유지한다. 임계 암호학적 시스템들은 기관들의 총 수(n)의 서브세트(t)(즉, t<n)가 무기명 투표들을 해독하는 것에 동의하는 것을 필요로하며, 그에 의해, 무기명 투표 해독을 위해 모든 기관들이 필요해지는 요구조건을 회피한다. 달리 말해서, 임계 암호법의 목적은 현저한 서브세트(T)가 협력할 때, 메시지들이 해독될 수 있도록 그룹의 n 구성원들 사이에서 개인 키(s)를 할당하는 것이다-(t,n) 임계 암호법. 프로토콜들은 (1) 그룹 사이에서 연합적으로 키들을 생성하고, (2) 개인 키를 재구성하지 않고 메시지들을 해독하도록 규정된다. 기관 컴퓨터들(114)은 서버 컴퓨터 시스템이 무기명 투표들을 해독하고 결과들을 계산할 수 있도록 투표 기간이 끝난 이후에, 그 해독 할당을 서버 컴퓨터 시스템(108)에 제공할 수 있다.
부가적으로, 예시된 실시예에서, 기관 컴퓨터들 각각은 여기에 설명된 바와 같이, 한번의 무기명 투표들의 셔플을 수행할 수 있다. 각 셔플과 관련하여, 각 기관 컴퓨터는 셔플 타당성 증명을 생성하고, 이는 암호화되어 서버 컴퓨터(108)로 포워딩되거나, 기관 컴퓨터에 의해 로컬적으로 저장된다. 대안적인 실시예에서, 부가적인 기관 컴퓨터들의 세트가 제공되고, 여기서, 하나의 기관 컴퓨터들의 세트는 암호화된 무기명 투표들을 셔플하고 셔플 타당성 증명들을 생성하며, 두 번째 기관 컴퓨터들의 세트는 무기명 투표들을 해독하기 위해 키 할당들을 사용한다.
하나 또는 그 이상의 선택적인 검증자 컴퓨터들(130)이 기관 컴퓨터들(114)과 유사하게 제공될 수도 있다. 검증자 컴퓨터들은 선거가 훼손되지 않은 것을 검증하도록 선거 사본들을 수신할 수 있다. 예로서, 검증자 컴퓨터들이 여기에 설명된 바와 같이, 기관 컴퓨터들 각각으로부터 셔플 타당성 증명들을 수신할 수 있다. 검증자 컴퓨터들은 선거 이후 검증들을 수행할 수 있으며, 인터넷에 결합될 필요가 없다. 사실, 검증들은 여기에 설명 및 도시된 다른 컴퓨터들에 의해 수행될 수 있다.
서버, 검증자 또는 기관 컴퓨터들은 투표자 등록 프로토콜들을 수행하거나, 별도의 등록 컴퓨터들이 제공될 수 있다(미도시). 등록 컴퓨터들은 지문 데이터, 음성 지문 데이터, 디지털 화상 비교 및 관련 기술의 숙련자들이 알고있는 기타 기술들 같은 등록자들의 바이오메트릭 데이터를 판독하기 위한 바이오메트릭 판독기들을 포함할 수 있다. 투표자 등록 및 검증가능한 셔플들과 함께 사용하기 위한 익명 증명서들의 발행이 후술된다.
서버 컴퓨터(108)는 서버 엔진(120), 웹 페이지 관리 콤포넌트(122), 데이터베이스 관리 콤포넌트(124) 및 도시되지 않은 기타 콤포넌트를 포함한다. 서버 엔진(120)은 표준 기능에 부가하여, 전자 투표 프로토콜의 부분들을 수행한다. 암호 프로토콜은 서버 컴퓨터상에 저장될 수 있으며, 이런 프로토콜의 일부들은 클라이언트 컴퓨터들상에도 역시 적절한 상수들과 함께 저장될 수 있다. 사실, 상기 프로토콜은 자기 및 광학적으로 판독 및 삭제가능한 컴퓨터 디스크들을 포함하는 컴퓨터 판독식 매체상에 저장 및 배포, 마이크로칩들(예로서, EEPROM)상에 저장, 및 마 이크로코드 및 인터넷 또는 다른 네트워크들에 거쳐 전자적으로 배포될 수 있다. 관련 기술의 숙련자들은 서버 컴퓨터상에 프로토콜의 일부들이 존재하고, 대응 부분들이 클라이언트 컴퓨터상에 존재한다는 것을 인식할 것이다. 상기 프로토콜에 특정한 데이터 구조들 및 데이터 전송들도 본 발명에 포함된다. 따라서, 서버 엔진(120)은 관계된 투표자들에 대한 모든 필요한 무기명 투표 전송, 집표, 무기명 투표들의 검증(예로서, 디지털 서명들의 체킹 및 무기명 투표들내의 내포된 타당성의 검증들의 검증 전달), 투표 집성, 무기명 투표 해독 및/또는 투표 목록화를 수행할 수 있다. 대안적인 실시예에서, 서버 엔진(120)은 데이터 집표소로서 모든 전자 무기명 투표들을 단순히 수집한다. 그후, 전자 무기명 투표들은 저장되고, 시당국 같은 선거를 수행하는 제 3 자 기관에 무기명 투표들의 셔플, 계산의 해독 및 선거 결과들의 생성을 위한 툴들과 함께 제공된다. 유사하게, 셔플 타당성 증명들 같은 선거 감사 정보가 로컬적으로 저장되거나 시당국 또는 기타 기관에 제공될 수 있다.
웹 페이지 콤포넌트(122)는 후술된 바와 같이, 선거 무기명 투표 박스 웹 페이지 같은 웹 페이지들의 생성 및 디스플레이 또는 라우팅을 취급한다. 투표자들 및 사용자들은 http:\\www.votehere.net 같은 그와 관련된 URL이나, 시당국을 위한 URL 같은 선거와 관련된 URL에 의해 서버 컴퓨터(108)를 액세스할 수 있다. 시당국은 직접적으로 서버 컴퓨터 시스템(108)을 호스트 또는 운영하거나, 이런 수신된 전자 무기명 투표들을 서버 컴퓨터 시스템을 운영할 수 있는 제 3 자 투표 위임자에게 자동으로 포워딩할 수 있다. 여기에 언급된 URL 또는 소정의 링크나 주소는 소정의 자원 로케이터(locator)일 수 있다.
웹 페이지 관리 프로세스(122) 및 서버 컴퓨터(108)는 허가된 투표자들 또는 시스템 관리자들 같은 허가된 사람들에 의해서만 액세스될 수 있는 보안 섹션들 또는 페이지들을 가질 수 있다. 서버 컴퓨터(108)는 이런 사용자들을 인증하기 위해 예로서, 보안 소켓 층("SSL") 및 토큰들 또는 쿠키들을 사용할 수 있다. 사실, 소규모 선거들 또는 부정행위 확률이 낮은(또는 부정한 결과들이 비교적 중요하지 않은) 것들에서, 시스템(100)은 상술된 특허 출원에서 기술된 바와 같은 복잡한 전자 암호화 무기명 투표들을 사용하는 대신, 후술된 바와 같이 투표들을 수집 및 저장하기 위해 이런 단순한 네트워크 보안 조치들을 사용할 수 있다. 사용자들을 인증(패스워드들의 사용을 통한 방식 같은), 보안 전송 접속들의 형성 및 보안 서버들 및 웹 페이지들의 제공 방법들은 관련 기술의 숙련자들에게 알려져 있다.
선거 설계개념 및 시스템은 각 포스팅이 디지털적으로 서명되고, 아무것도 삭제되지 않는 "게시판"을 사용할 수 있다. 게시판은 웹 서버로서 구현된다. "무기명 투표 박스"는 게시판상에 존재하고, 모든 암호화된 무기명 투표들을 유지한다. 웹 서버 데이터를 1회기록, 다수 판독(WORM) 영구 저장 매체 또는 유사한 디바이스에 기록함으로써 삭제가 방지된다.
본 발명의 일 실시예가 컴퓨터들에 접속하기 위해 인터넷을 채용하는 것으로서 여기에 기술되어 있지만, 다른 대안적인 실시예들이 가능하다는 것을 인지하여야 한다. 예로서, 본 발명의 양태들은 표준 단독 컴퓨터들에 의해 사용될 수 있다. 본 발명의 양태들은 또한 소정의 상호접속된 데이터 처리기들에 의해 사용될 수도 있다. 브라우저를 사용하는 대신, 이런 기계들은 여기에 기술된 프로토콜들 또는 방법들의 양태들을 실시하기 위해 클라이언트 소프트웨어를 사용할 수 있다.
도 2를 참조하면, 개략도는 방법(200)으로 도시된 선거를 위한 셔플 프로토콜의 기본 응용을 예시한다. 블록 202에서, 투표자 Joe Smith, Sally Jones 및 Ian Kelleigh 각각에 대해 하나씩 세 개의 암호화된 무기명 투표들이 제출된다. 블록 204에서, 투표자들의 리스트 또는 롤이 블록 206에 도시된 암호화된 무기명 투표들로부터 분리된다. 그후, 무기명 투표들의 일방 재암호화가 수행되어 블록 208에 도시된 무기명 투표들의 셔플된 세트를 생성한다. 셔플 타당성 증명이 블록 210에서 이 제 1 셔플에 기초하여 생성된다. 셔플 타당성 증명은 제 3 자가 모든 입력 데이터(무기명 투표들)가 그들에 동일 연산들이 적용되게 되는 것을 보증하며, 어떠한 무기명 투표들의 변경도 수행되지 않는 것을 보증할 수 있게 한다.
(이전에 셔플된) 무기명 투표들의 제 2 셔플이 블록 212로 도시된 바와 같이 무기명 투표들의 제 2 셔플된 세트를 생성하기 위해 수행된다. 다시, 셔플 타당성 증명이 블록 214에 도시된 바와 같이 생성된다. 블록 212의 셔플된 무기명 투표들은 세 번째로 셔플되어 블록 216에서 무기명 투표들의 최종 셔플된 세트를 생성한다. 제 3 타당성 증명(218)이 마찬가지로 이 제 3 셔플에 기초하여 생성된다. 요컨대, 본 예에서 3x3 셔플 어레이가 제공된다. 셔플링에 이어서 무기명 투표들은 블록 220에 도시된 바와 같이 해독되어 계산을 생성한다. 제 3 자는 각 셔플러가 선거 완전성을 보전하는 것을 보증하기 위해 무엇보다도 각 셔플 타당성 증명을 분석함으로써 그 선거를 검증할 수 있다.
셔플 프로토콜은 효과적으로 전자 선거 설계개념 같은 다양한 응용들을 위해 채용될 수 있는 별개의 서브루틴들로서 상기에 제시되어 있다. 제 1 서브루틴은 증명자와 검증자 사이의 스케일된, 반복 대수 승산 증명들의 기능을 제공한다. 제 2 서브루틴은 단순한 셔플 프로토콜의 기능을 제공하며, 스케일된 반복 대수 승산 증명들을 사용한다. 그후, 제 3 서브 루틴은 일반적 셔플 기능을 실행하며, 셔플러는 단순한 셔플의 제 2 서브루틴에 의존하는 멱지수들을 알지 못한다. 제 4 서브루틴은 제 3 서브루틴을 요소들의 k-요소 집합들을 셔플링하는 것으로 확장한다.
본 기술의 숙련자는 본 발명의 개념들이 인터넷 이외의 다양한 환경들에 사용될 수 있다는 것을 인지할 것이다. 예로서, 개념들은 전자 메일 무기명 투표들, 트랜젝션들 또는 폼들이 처리 및 저장되는 전자 메일 환경에 사용될 수 있다. 일반적으로, 웹 페이지 또는 디스플레이 서술(예로서, 게시판)은 HTML, XML 또는 WAP 포맷, 이메일 포맷 또는 정보를 디스플레이하기에 적합한 소정의 다른 포맷(문자/코드 기반 포맷들, 비트맵형 포맷들 및 벡터 기반 포맷들 포함)일 수 있다. 또한, 지역 네트워크들, 광역 네트워크들 또는 지점-대-지점 다이얼-업 접속들 같은 다양한 통신 채널들이 인터넷 대신 사용될 수 있다. 또한, 다양한 트랜잭션들이 클라이언트/서버 환경 이외의 단일 컴퓨터 환경내에서 수행될 수도 있다. 각 투표자 또는 클라이언트 컴퓨터는 서버 컴퓨터 또는 시스템과 상호작용하는 소프트웨어 또는 하드웨어의 소정의 조합을 포함할 수 있다. 이들 클라이언트 시스템들은 텔레비전-기반 시스템들, 인터넷 기기들, 이동 전화들/PDA들 및 그를 통해 트랜잭션들이 수행될 수 있는 다양한 다른 가전 제품들을 포함할 수 있다.
일반적으로, 여기에 사용된 바와 같이, "링크"는 네트워크상의 위치 또는 노드를 갖는 투표 기관의 디스플레이 서술 같은 네트워크상의 자원을 식별하는 소정의 자원 로케이터를 지칭한다. 일반적으로, 투표자 컴퓨터들, 단말들 및 서버들 같은 하드웨어 플랫폼들이 여기에 설명되었지만, 본 발명의 양태들은 이런 노드들을 식별하기 위해 대응 자원 로케이터들을 갖는 네트워크상의 노드들에 동등하게 적용할 수 있다.
문맥이 그 이외의 것을 명백히 필요로하지 않는 한, 본 설명 및 청구범위 전반에 걸쳐, 단어 '포함', '포함하는' 등은 배제적인 또는 전적인 의미에 대치되는 포함의 의미, 즉, "포함하는, 그러나, 그에 한정되지 않는"의 의미로 해석된다. 단수 또는 복수를 사용하는 단어들도 각각 복수 또는 단수를 포함한다. 부가적으로, 단어들 "여기", "위", "아래" 및 유사한 의미의 단어들은 본 출원에 사용될 때, 본 출원의 소정의 특정 부분들이 아닌 전체로서의 본 출원을 지칭할 수 있다.
본 발명의 예시된 실시예들의 상기 설명은 기술된 정확한 타입이 본 발명의 전부라는 의미이거나, 본 발명을 그에 한정하는 것은 아니다. 본 발명의 특정 실시예들 및 그를 위한 예들이 예시의 목적들을 위해 여기에 설명되었지만, 관련 기술의 숙련자들이 인지할 수 있는 바와 같이 본 발명의 범주내에서 다양한 등가의 변형들이 가능하다. 여기에 제공된 본 발명의 교지들은 상술된 전자 투표 시스템 뿐만 아니라 다른 암호화 응용들에 적용될 수 있다. 예로서, 프로토콜은 익명 및 감사 양자 모두가 필요조건인 전자 상거래에 응용들을 가진다. 이 예들은 전자 지불 설계개념들("이-캐시")이다.
이들 및 다른 변경들이 상술된 상세한 설명의 범주에서 본 발명에 이루어질 수 있다. 일반적으로, 하기의 청구범위에서, 사용된 용어들은 본 발명을 상세한설명 및 청구범위에 기술된 특정 실시예들에 한정하도록 해석되지 않아야만 하며, 데이터 보안을 제공하기 위해 청구범위하에서 동작하는 모든 암호화 시스템들 및 방법들을 포함하는 것으로 해석되어야 한다. 따라서, 본 발명은 본 내용에 한정되지 않으며, 본 발명의 범주는 청구범위에 의해서만 결정된다.
본 발명의 특정 양태들이 특정 청구항 형태들로 하기에 제시되었지만, 본 발명자는 소정수의 청구항 형태들내에서 본 발명의 다양한 양태들을 구상한다. 예로서, 본 발명의 단 하나의 양태가 컴퓨터-판독형 매체에 구현된 것으로서 열거되어 있지만, 다른 양태들이 유사하게 컴퓨터 판독식 매체내에 구현될 수 있다. 따라서, 본 발명자는 본 발명의 다른 양태들을 위한 이런 부가적인 청구항 형태들을 추구하기 위해 본 출원의 출원 이후에 부가적인 청구항들을 추가할 권한을 보전한다.
본 발명에 의하면, 한명 또는 그 이상의 임의의 검증자들에 의해 검토될 수 있는 출력 시퀀스에 대한 정당성의 선형 사이즈 증을 제공할 수 있습니다.
Claims (20)
- 요소들의 시퀀스를 수신하기 위한 컴퓨터 시스템으로서,컴퓨터 네트워크(106)에 결합되고,개별의 데이터 파일들을 나타내는 전자 데이터 요소들의 시퀀스를 수신하고,상기 전자 데이터 요소들의 시퀀스를 익명으로 치환(permute)하여 전자 데이터 요소들의 셔플된 시퀀스를 생성하기 위해, 적어도 비밀 키를 사용하여 암호 변환을 적용하도록 구성되며, 상기 전자 데이터 요소들의 셔플된 시퀀스와 상기 전자 데이터 요소들의 시퀀스 사이의 대응을 알고 있는 서버 컴퓨터(114)를 포함하는, 상기 컴퓨터 시스템에 있어서:상기 서버 컴퓨터(114)는 치환(permutation)에 대한 정당성의 증명을, 암호화된 데이터 요소들의 제 1 시퀀스의 요소들의 해독된 값들의 적(product)이 암호화된 데이터 요소들의 제 2 시퀀스의 요소들의 해독된 값들의 적과 같다는 증명에 기초하여 생성하도록 또한 구성되는 것을 특징으로 하는, 컴퓨터 시스템.
- 제 1 항에 있어서,상기 수신된 전자 데이터 요소들의 시퀀스는 상기 서버 컴퓨터(114)에 알려지지 않은 키를 사용하는 Zp 또는 타원 곡선 그룹들을 사용하여 암호화되고, 상기 서버 컴퓨터(114)는:검증자 컴퓨터(130)로부터 임의적으로 생성된 값들(ei)의 열을 수신하고;상기 임의적으로 생성된 값들(ei)의 적어도 일부에 적어도 부분적으로 기초하여, 비대화형 증명(non-interactive proof)으로서 상기 정당성의 증명을 생성하도록 또한 구성되는, 컴퓨터 시스템.
- 제 1 항에 있어서,상기 서버 컴퓨터(114)는:대응하는 복수의 개인들로부터 복수의 공개 키들을 수신하고, 상기 복수의 개인들 각각은 상기 복수의 공개 키들 중 하나에 대응하는 개인 키를 가지며;하나의 개인 키를 갖는 상기 복수의 개인들 중 하나의 개인으로부터 증명서에 대한 요구를 수신하고;상기 복수의 공개 키들 중 적어도 하나의 서브세트를 상기 요구하는 개인에게 제공하고;상기 암호화된 데이터 요소들의 제 1 시퀀스의 요소들의 해독된 값들의 적이 암호화된 데이터 요소들의 제 2 시퀀스의 요소들의 해독된 값들의 적과 같다는 증명에 기초하는 상기 치환에 대한 정당성의 비대화형 증명, 및 상기 복수의 공개 키들의 셔플을 수신하고;상기 정당성의 증명을 체킹하고;상기 하나의 개인에 대하여 증명서를 발행하고;상기 복수의 공개 키들에서 상기 하나의 공개 키를 감소시키도록 또한 구성 되는, 컴퓨터 시스템.
- 제 1 항에 있어서,상기 전자 요소들의 시퀀스는 공개 키들이며, 상기 서버(114)는 개인으로부터의 요구에 응답하여, 상기 개인이 상기 공개 키들 중 하나에 고유하게 그리고 수학적으로 관련된 비밀 값을 갖는지를 체크하고;비밀 값을 갖는 경우에, 상기 하나의 개인에게 증명서를 발행하도록 또한 구성되는, 컴퓨터 시스템.
- 제 1 항에 있어서,상기 전자 데이터 요소들의 시퀀스는 전자 선거하의 무기명 투표 선택들의 시퀀스인, 컴퓨터 시스템.
- 제 1 항에 있어서,상기 정당성의 증명은, 상기 전자 데이터 요소들의 시퀀스와 상기 생성되고 셔플된 전자 데이터 요소들의 시퀀스가 주어지면, 상기 전자 데이터 요소들의 시퀀스의 모든 해독된 요소에 대하여, 상기 생성되고 셔플된 전자 데이터 요소들의 시퀀스내에 대응하는 치환되고 해독된 요소가 존재하도록 하는 치환이 존재함을 증명하는, 컴퓨터 시스템.
- 컴퓨터 판독가능 매체로서, 상기 매체의 콘텐츠들은 전자 데이터 요소들의 시퀀스 및 관련 데이터를 저장하고, 상기 전자 데이터 요소들의 시퀀스는 상기 전자 데이터 요소들의 시퀀스의 셔플링을 위한 컴퓨터-구현 방법에 의해 처리되고, 상기 컴퓨터-구현 방법은,상기 전자 데이터 요소들의 시퀀스를 수신하는 단계; 및상기 전자 데이터 요소들의 시퀀스를 익명으로 치환하여 제 1 셔플된 전자 데이터 요소들의 시퀀스를 생성하도록, 적어도 제 1 비밀 키를 사용하여 비밀의 단방향 암호 변환을 적용하는 단계를 포함하고,암호화된 데이터 요소들의 제 1 시퀀스의 요소들의 해독된 값들의 적이 암호화된 데이터 요소들의 제 2 시퀀스의 요소들의 해독된 값들의 적과 같다는 증명에 기초하여, 상기 치환에 대한 정당성의 증명을 생성하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터 판독가능 매체.
- 제 7 항에 있어서,상기 수신된 전자 데이터 요소들의 시퀀스는 기초 수학의 그룹(underlying mathematical group)으로 암호화되며, 상기 수학 그룹은 모듈러 정수값 p(Zp)을 갖는 정수들의 링(ring of integers)인, 컴퓨터 판독가능 매체.
- 제 7 항에 있어서,상기 컴퓨터 판독가능 매체는 상기 전자 데이터 요소들의 시퀀스 및 상기 정 당성의 증명을 수신하는 컴퓨터 네트워크내의 논리 노드인, 컴퓨터 판독가능 매체.
- 제 7 항에 있어서,상기 컴퓨터 판독가능 매체는 컴퓨터 판독가능 디스크인, 컴퓨터 판독가능 매체.
- 제 7 항에 있어서,상기 컴퓨터 판독가능 매체는 상기 전자 데이터 요소들의 시퀀스 및 상기 정당성의 증명을 포함하는 생성된 데이터 신호를 전송하는 데이터 전송 매체인, 컴퓨터 판독가능 매체.
- 제 7 항에 있어서,상기 컴퓨터 판독가능 매체는 컴퓨터 시스템의 메모리인, 컴퓨터 판독가능 매체.
- 제 7 항에 있어서,상기 컴퓨터 판독가능 매체는 투표 기관 서버 컴퓨터에 대한 인터넷 접속 링크인, 컴퓨터 판독가능 매체.
- 제 7 항에 있어서,상기 전자 데이터 요소들은 적어도 공개 키들 또는 공개 키들과 관련된 디지털 증명서들을 포함하는, 컴퓨터 판독가능 매체.
- 제 7 항에 있어서,상기 전자 데이터 요소들의 시퀀스는 전자 무기명 투표들 또는 전자 무기명 투표 선택들인, 컴퓨터 판독가능 매체.
- 전자 데이터 요소들의 시퀀스의 셔플링을 실행하기 위한 컴퓨터-구현 방법에 있어서:복수의 공개 키들 중 하나의 공개 키에 대응하는 하나의 개인 키와 관련된 컴퓨터로부터의 요구를 제공하는 단계로서, 상기 복수의 공개 키들 각각은 복수의 개인 키들 중 하나에 대응하는, 상기 제공 단계;상기 복수의 공개 키들 중 적어도 일부의 셔플된 세트를 수신하는 단계; 및상기 복수의 공개 키들의 새로운 셔플된 세트 및 셔플링을 위한 정당성의 증명을 생성하는 단계로서, 상기 정당성의 증명은, 암호화된 데이터 요소들의 제 1 시퀀스의 요소들의 해독된 값들의 적이 암호화된 데이터 요소들의 제 2 시퀀스의 요소들의 해독된 값들의 적과 같다는 증명에 기초하는, 상기 생성 단계를 포함하는, 컴퓨터-구현 방법.
- 제 16 항에 있어서,파일을 제공하는 단계; 및상기 공개 키들의 새로운 셔플된 세트를 위한 상기 정당성의 증명을, 암호화된 데이터 요소들의 제 1 시퀀스의 요소들의 해독된 값들의 적이 암호화된 데이터 요소들의 제 2 시퀀스의 요소들의 해독된 값들의 적과 같다는 비대화형 증명에 기초하여 생성하는 단계를 더 포함하는, 컴퓨터-구현 방법.
- 제 7 항에 있어서,상기 수신된 전자 데이터 요소들의 시퀀스는 기초 타원 곡선 그룹으로 암호화되는, 컴퓨터 판독가능 매체.
- 제 7 항에 있어서,상기 정당성의 증명은 정당성의 비대화형 증명인, 컴퓨터 판독가능 매체.
- 제 1 항에 있어서,상기 치환에 대한 정당성의 증명은, 암호화된 선형 팩터들의 제 1 시퀀스에 의해 규정된 하나의 다항식이 암호화된 선형 팩터들의 제 2 시퀀스에 의해 규정된 제 2 다항식의 일정 배수와 같다는 증명에 기초하는, 컴퓨터 시스템.
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/816,869 | 2001-03-24 | ||
US09/816,869 US6950948B2 (en) | 2000-03-24 | 2001-03-24 | Verifiable, secret shuffles of encrypted data, such as elgamal encrypted data for secure multi-authority elections |
US31168001P | 2001-08-09 | 2001-08-09 | |
US60/311,680 | 2001-08-09 | ||
US31267101P | 2001-08-15 | 2001-08-15 | |
US60/312,671 | 2001-08-15 | ||
US31300301P | 2001-08-16 | 2001-08-16 | |
US60/313,003 | 2001-08-16 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037012413A Division KR100611038B1 (ko) | 2001-03-24 | 2002-03-25 | 검증가능한 비밀 셔플들 및 전자 투표에 대한 그 응용 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060010873A true KR20060010873A (ko) | 2006-02-02 |
KR100727281B1 KR100727281B1 (ko) | 2007-06-13 |
Family
ID=27502021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067001213A KR100727281B1 (ko) | 2001-03-24 | 2002-03-25 | 검증가능한 비밀 셔플들 및 전자 투표에 대한 그 응용 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7360094B2 (ko) |
EP (1) | EP1374188A2 (ko) |
JP (1) | JP4235453B2 (ko) |
KR (1) | KR100727281B1 (ko) |
CN (1) | CN1535451A (ko) |
CA (1) | CA2441304C (ko) |
WO (1) | WO2002077929A2 (ko) |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6676127B2 (en) | 1997-03-13 | 2004-01-13 | Shuffle Master, Inc. | Collating and sorting apparatus |
US6254096B1 (en) | 1998-04-15 | 2001-07-03 | Shuffle Master, Inc. | Device and method for continuously shuffling cards |
US6655684B2 (en) | 1998-04-15 | 2003-12-02 | Shuffle Master, Inc. | Device and method for forming and delivering hands from randomly arranged decks of playing cards |
US8590896B2 (en) | 2000-04-12 | 2013-11-26 | Shuffle Master Gmbh & Co Kg | Card-handling devices and systems |
JP3901471B2 (ja) * | 2001-05-18 | 2007-04-04 | 日本電気株式会社 | 証明付シャッフル復号システムと証明付シャッフル復号方法、シャッフル復号検証方法 |
US8337296B2 (en) | 2001-09-28 | 2012-12-25 | SHFL entertaiment, Inc. | Method and apparatus for using upstream communication in a card shuffler |
US7677565B2 (en) | 2001-09-28 | 2010-03-16 | Shuffle Master, Inc | Card shuffler with card rank and value reading capability |
US7753373B2 (en) | 2001-09-28 | 2010-07-13 | Shuffle Master, Inc. | Multiple mode card shuffler and card reading device |
US8011661B2 (en) | 2001-09-28 | 2011-09-06 | Shuffle Master, Inc. | Shuffler with shuffling completion indicator |
US8616552B2 (en) | 2001-09-28 | 2013-12-31 | Shfl Entertainment, Inc. | Methods and apparatuses for an automatic card handling device and communication networks including same |
US6886829B2 (en) | 2002-02-08 | 2005-05-03 | Vendingdata Corporation | Image capturing card shuffler |
EP1756767A2 (en) * | 2004-06-07 | 2007-02-28 | Dategrity Corporation | Cryptographic systems and methods, including practical high certainty intent verification, such as for encrypted votes in an electronic election |
ATE429747T1 (de) * | 2004-06-30 | 2009-05-15 | France Telecom | Elektronisches wahlverfahren und -system in einem hochsicherheitskommunikationsnetz |
US20060066048A1 (en) | 2004-09-14 | 2006-03-30 | Shuffle Master, Inc. | Magnetic jam detection in a card shuffler |
JP4771053B2 (ja) * | 2005-05-27 | 2011-09-14 | 日本電気株式会社 | 統合シャッフル正当性証明装置、証明統合装置、統合シャッフル正当性検証装置及びミックスネットシステム |
US7764836B2 (en) | 2005-06-13 | 2010-07-27 | Shuffle Master, Inc. | Card shuffler with card rank and value reading capability using CMOS sensor |
CA2531533C (en) * | 2005-12-28 | 2013-08-06 | Bce Inc. | Session-based public key infrastructure |
ES2283205B2 (es) * | 2005-12-30 | 2008-09-01 | Ignacio Fernandez Moreno | Sistema de votacion telematica a traves de internet. |
JP2007207116A (ja) * | 2006-02-03 | 2007-08-16 | Chuo Mitsui Trust & Banking Co Ltd | 議決権集計システム、議決権集計方法および議決権集計プログラム |
US7556266B2 (en) | 2006-03-24 | 2009-07-07 | Shuffle Master Gmbh & Co Kg | Card shuffler with gravity feed system for playing cards |
US8353513B2 (en) | 2006-05-31 | 2013-01-15 | Shfl Entertainment, Inc. | Card weight for gravity feed input for playing card shuffler |
US8342525B2 (en) | 2006-07-05 | 2013-01-01 | Shfl Entertainment, Inc. | Card shuffler with adjacent card infeed and card output compartments |
US8579289B2 (en) | 2006-05-31 | 2013-11-12 | Shfl Entertainment, Inc. | Automatic system and methods for accurate card handling |
US8070574B2 (en) | 2007-06-06 | 2011-12-06 | Shuffle Master, Inc. | Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature |
US8919775B2 (en) | 2006-11-10 | 2014-12-30 | Bally Gaming, Inc. | System for billing usage of an automatic card handling device |
US20090327141A1 (en) * | 2007-04-18 | 2009-12-31 | Rabin Michael O | Highly efficient secrecy-preserving proofs of correctness of computation |
US7779041B2 (en) * | 2007-05-02 | 2010-08-17 | Sap Ag | Anonymizing infocube data |
US8145520B2 (en) * | 2008-07-31 | 2012-03-27 | International Business Machines Corporation | Method and system for verifying election results |
KR101086043B1 (ko) | 2008-12-08 | 2011-11-22 | 한국전자통신연구원 | 복수의 공개키를 검증하기 위한 시스템 및 방법 |
US8967621B2 (en) | 2009-04-07 | 2015-03-03 | Bally Gaming, Inc. | Card shuffling apparatuses and related methods |
US7988152B2 (en) * | 2009-04-07 | 2011-08-02 | Shuffle Master, Inc. | Playing card shuffler |
CA2671269A1 (en) * | 2009-07-08 | 2011-01-08 | Ky M. Vu | An anti-rigging voting system and its software design |
US8677128B2 (en) * | 2009-10-13 | 2014-03-18 | Sergio Demian LERNER | Method and apparatus for efficient and secure creating, transferring, and revealing of messages over a network |
US8862879B2 (en) * | 2009-10-13 | 2014-10-14 | Sergio Demian LERNER | Method and apparatus for efficient and secure creating, transferring, and revealing of messages over a network |
ES2367940B1 (es) * | 2009-12-04 | 2012-09-27 | Scytl Secure Electronic Voting, S.A. | Método para la verificación del correcto registro de una información. |
US8800993B2 (en) | 2010-10-14 | 2014-08-12 | Shuffle Master Gmbh & Co Kg | Card handling systems, devices for use in card handling systems and related methods |
WO2012149395A1 (en) | 2011-04-29 | 2012-11-01 | International Business Machines Corporation | Fully homomorphic encryption |
US8485527B2 (en) | 2011-07-29 | 2013-07-16 | Savant Shuffler LLC | Card shuffler |
US9731190B2 (en) | 2011-07-29 | 2017-08-15 | Bally Gaming, Inc. | Method and apparatus for shuffling and handling cards |
US8960674B2 (en) | 2012-07-27 | 2015-02-24 | Bally Gaming, Inc. | Batch card shuffling apparatuses including multi-card storage compartments, and related methods |
US9511274B2 (en) | 2012-09-28 | 2016-12-06 | Bally Gaming Inc. | Methods for automatically generating a card deck library and master images for a deck of cards, and a related card processing apparatus |
US9378766B2 (en) | 2012-09-28 | 2016-06-28 | Bally Gaming, Inc. | Card recognition system, card handling device, and method for tuning a card handling device |
US20140214930A1 (en) * | 2013-01-25 | 2014-07-31 | Richard Hayman-Joyce | Changing settings |
KR20160144440A (ko) | 2014-04-11 | 2016-12-16 | 발리 게이밍, 인코포레이티드 | 카드를 셔플링 및 처리하는 방법 및 장치 |
US9474957B2 (en) | 2014-05-15 | 2016-10-25 | Bally Gaming, Inc. | Playing card handling devices, systems, and methods for verifying sets of cards |
US9566501B2 (en) | 2014-08-01 | 2017-02-14 | Bally Gaming, Inc. | Hand-forming card shuffling apparatuses including multi-card storage compartments, and related methods |
USD764599S1 (en) | 2014-08-01 | 2016-08-23 | Bally Gaming, Inc. | Card shuffler device |
US9504905B2 (en) | 2014-09-19 | 2016-11-29 | Bally Gaming, Inc. | Card shuffling device and calibration method |
WO2016053792A1 (en) * | 2014-10-03 | 2016-04-07 | Cryptography Research, Inc. | Exponent splitting for cryptographic operations |
US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
CN104915592B (zh) * | 2015-05-28 | 2017-03-08 | 东莞盛世科技电子实业有限公司 | 密码设定方法及其设备 |
WO2016203762A1 (ja) * | 2015-06-18 | 2016-12-22 | 日本電気株式会社 | 暗号情報作成装置、暗号情報作成方法、記録媒体、及び、照合システム |
US9993719B2 (en) | 2015-12-04 | 2018-06-12 | Shuffle Master Gmbh & Co Kg | Card handling devices and related assemblies and components |
US10938570B2 (en) * | 2016-02-08 | 2021-03-02 | Intel Corporation | Technologies for remote attestation |
US10637665B1 (en) | 2016-07-29 | 2020-04-28 | Workday, Inc. | Blockchain-based digital identity management (DIM) system |
US11336432B2 (en) | 2016-07-29 | 2022-05-17 | Workday, Inc. | System and method for blockchain-based device authentication based on a cryptographic challenge |
US11088855B2 (en) | 2016-07-29 | 2021-08-10 | Workday, Inc. | System and method for verifying an identity of a user using a cryptographic challenge based on a cryptographic operation |
US10339765B2 (en) | 2016-09-26 | 2019-07-02 | Shuffle Master Gmbh & Co Kg | Devices, systems, and related methods for real-time monitoring and display of related data for casino gaming devices |
US10933300B2 (en) | 2016-09-26 | 2021-03-02 | Shuffle Master Gmbh & Co Kg | Card handling devices and related assemblies and components |
US20190371106A1 (en) * | 2017-01-30 | 2019-12-05 | EXO One Pty Ltd | Voting system and method |
GB201703562D0 (en) * | 2017-03-06 | 2017-04-19 | Nchain Holdings Ltd | Computer-implemented system and method |
JP6973868B2 (ja) * | 2017-05-18 | 2021-12-01 | 日本電気株式会社 | 秘密計算方法、装置、およびプログラム |
US10426424B2 (en) | 2017-11-21 | 2019-10-01 | General Electric Company | System and method for generating and performing imaging protocol simulations |
US10659235B1 (en) * | 2017-11-27 | 2020-05-19 | Amazon Technologies, Inc. | Distributed endpoint authentication |
US20190318118A1 (en) * | 2018-04-16 | 2019-10-17 | International Business Machines Corporation | Secure encrypted document retrieval |
DE102018109825A1 (de) | 2018-04-24 | 2019-10-24 | regio iT gesellschaft für informationstechnologie mbh | Wahlverfahren und Stimmabgabegerät |
US11376489B2 (en) | 2018-09-14 | 2022-07-05 | Sg Gaming, Inc. | Card-handling devices and related methods, assemblies, and components |
US11896891B2 (en) | 2018-09-14 | 2024-02-13 | Sg Gaming, Inc. | Card-handling devices and related methods, assemblies, and components |
US11338194B2 (en) | 2018-09-28 | 2022-05-24 | Sg Gaming, Inc. | Automatic card shufflers and related methods of automatic jam recovery |
US11087578B2 (en) | 2018-11-15 | 2021-08-10 | Daniel Bernard Ruskin | Voting booth, system, and methods of making and using same |
CN109949472A (zh) * | 2019-02-28 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 用于投票的系统、方法和装置 |
US11362835B2 (en) * | 2019-06-28 | 2022-06-14 | Intel Corporation | Efficient post-quantum anonymous attestation with signature-based join protocol and unlimited signatures |
CN118593979A (zh) | 2019-09-10 | 2024-09-06 | 夏佛马士特公司 | 卡牌处理设备及其组装方法和使用方法 |
US11173383B2 (en) | 2019-10-07 | 2021-11-16 | Sg Gaming, Inc. | Card-handling devices and related methods, assemblies, and components |
CN111245626B (zh) * | 2020-01-19 | 2021-05-18 | 平安科技(深圳)有限公司 | 零知识证明方法、装置及存储介质 |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
CN112039655B (zh) * | 2020-08-31 | 2021-11-05 | 南京航空航天大学 | 一种基于Cut-and-Choose技术的双向不经意传输协议方法 |
US11362844B1 (en) * | 2021-07-28 | 2022-06-14 | Vidaloop, Inc. | Security device and methods for end-to-end verifiable elections |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4774665A (en) * | 1986-04-24 | 1988-09-27 | Data Information Management Systems, Inc. | Electronic computerized vote-counting apparatus |
FI86486C (fi) | 1990-08-27 | 1992-08-25 | Tecnomen Oy | Foerfarande foer att arrangera teleroestningen pao ett saekert saett. |
US5278753A (en) * | 1991-08-16 | 1994-01-11 | Graft Iii Charles V | Electronic voting system |
NL9301348A (nl) * | 1993-08-02 | 1995-03-01 | Stefanus Alfonsus Brands | Elektronisch betalingssysteem. |
US5400248A (en) * | 1993-09-15 | 1995-03-21 | John D. Chisholm | Computer network based conditional voting system |
EP0695056B1 (en) * | 1994-07-29 | 2005-05-11 | Canon Kabushiki Kaisha | A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method |
US5875432A (en) * | 1994-08-05 | 1999-02-23 | Sehr; Richard Peter | Computerized voting information system having predefined content and voting templates |
US5495532A (en) * | 1994-08-19 | 1996-02-27 | Nec Research Institute, Inc. | Secure electronic voting using partially compatible homomorphisms |
US5682430A (en) * | 1995-01-23 | 1997-10-28 | Nec Research Institute, Inc. | Secure anonymous message transfer and voting scheme |
IL113259A (en) * | 1995-04-05 | 2001-03-19 | Diversinet Corp | A device and method for a secure interface for secure communication and data transfer |
FI100842B (fi) * | 1995-04-13 | 1998-02-27 | Nokia Telecommunications Oy | Puhelinäänestyksen suorittaminen älyverkossa |
US6092051A (en) | 1995-05-19 | 2000-07-18 | Nec Research Institute, Inc. | Secure receipt-free electronic voting |
FR2738934B1 (fr) * | 1995-09-15 | 1997-11-28 | Thomson Multimedia Sa | Systeme de comptabilisation anonyme d'informations a des fins statistiques, notamment pour des operations de vote electronique ou de releves periodiques de consommation |
US5604804A (en) * | 1996-04-23 | 1997-02-18 | Micali; Silvio | Method for certifying public keys in a digital signature scheme |
US5610383A (en) * | 1996-04-26 | 1997-03-11 | Chumbley; Gregory R. | Device for collecting voting data |
US5878399A (en) * | 1996-08-12 | 1999-03-02 | Peralto; Ryan G. | Computerized voting system |
US6029150A (en) | 1996-10-04 | 2000-02-22 | Certco, Llc | Payment and transactions in electronic commerce system |
JPH10257047A (ja) | 1997-03-12 | 1998-09-25 | Oki Electric Ind Co Ltd | 不正検出システム及び公開鍵管理システム |
JP3874127B2 (ja) | 1997-04-10 | 2007-01-31 | 日本電信電話株式会社 | 認証システムにおける登録鍵重複防止装置 |
US6250548B1 (en) * | 1997-10-16 | 2001-06-26 | Mcclure Neil | Electronic voting system |
US6081793A (en) * | 1997-12-30 | 2000-06-27 | International Business Machines Corporation | Method and system for secure computer moderated voting |
JPH11231778A (ja) * | 1998-02-18 | 1999-08-27 | Matsushita Electric Ind Co Ltd | 暗号化装置及び復号装置、暗号化方法及び復号方法並びにそれらの方法を記録した記録媒体 |
US6570989B1 (en) * | 1998-04-27 | 2003-05-27 | Matsushita Electric Industrial Co., Ltd. | Cryptographic processing apparatus, cryptographic processing method, and storage medium storing cryptographic processing program for realizing high-speed cryptographic processing without impairing security |
JP3298826B2 (ja) | 1998-05-29 | 2002-07-08 | 日本電信電話株式会社 | 匿名通信方法及び装置及びプログラム記録媒体 |
JP2001202013A (ja) * | 2000-01-21 | 2001-07-27 | Nec Corp | 匿名参加権限管理システム |
AU5805099A (en) * | 1998-09-02 | 2000-03-21 | Diversified Dynamics, Inc. | Direct vote recording system |
US6845447B1 (en) * | 1998-11-11 | 2005-01-18 | Nippon Telegraph And Telephone Corporation | Electronic voting method and system and recording medium having recorded thereon a program for implementing the method |
US6317833B1 (en) * | 1998-11-23 | 2001-11-13 | Lucent Technologies, Inc. | Practical mix-based election scheme |
WO2001022200A2 (en) | 1999-03-25 | 2001-03-29 | Votehere, Inc. | Electronic voting scheme employing permanent ballot storage |
JP3540718B2 (ja) | 1999-05-19 | 2004-07-07 | 日本電信電話株式会社 | 検証可能匿名通信路システム、それを実施する方法及びその方法を記録した記録媒体 |
AU2001233090A1 (en) * | 2000-01-27 | 2001-08-07 | David Chaum | Physical and digital secret ballot systems |
JP4181724B2 (ja) * | 2000-03-03 | 2008-11-19 | 日本電気株式会社 | 証明付再暗号シャッフル方法と装置、再暗号シャッフル検証方法と装置、入力文列生成方法と装置及び記録媒体 |
EP1633077A3 (en) | 2000-03-24 | 2006-06-07 | Dategrity Corporation | Verifiable, secret shuffles of encrypted data, such as elgamal encrypted data for secure multi-authority elections |
US20020077885A1 (en) * | 2000-12-06 | 2002-06-20 | Jared Karro | Electronic voting system |
US6769613B2 (en) * | 2000-12-07 | 2004-08-03 | Anthony I. Provitola | Auto-verifying voting system and voting method |
US20020077887A1 (en) * | 2000-12-15 | 2002-06-20 | Ibm Corporation | Architecture for anonymous electronic voting using public key technologies |
US6540138B2 (en) * | 2000-12-20 | 2003-04-01 | Symbol Technologies, Inc. | Voting method and system |
US8554607B2 (en) * | 2001-03-13 | 2013-10-08 | Science Applications International Corporation | Method and system for securing network-based electronic voting |
US7210617B2 (en) * | 2002-02-20 | 2007-05-01 | David Chaum | Secret-ballot systems with voter-verifiable integrity |
-
2002
- 2002-03-25 KR KR1020067001213A patent/KR100727281B1/ko not_active IP Right Cessation
- 2002-03-25 JP JP2002575894A patent/JP4235453B2/ja not_active Expired - Fee Related
- 2002-03-25 US US10/484,931 patent/US7360094B2/en not_active Expired - Fee Related
- 2002-03-25 WO PCT/US2002/009264 patent/WO2002077929A2/en not_active Application Discontinuation
- 2002-03-25 CN CNA028071840A patent/CN1535451A/zh active Pending
- 2002-03-25 CA CA002441304A patent/CA2441304C/en not_active Expired - Fee Related
- 2002-03-25 EP EP02719353A patent/EP1374188A2/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
CN1535451A (zh) | 2004-10-06 |
US20050028009A1 (en) | 2005-02-03 |
KR100727281B1 (ko) | 2007-06-13 |
JP4235453B2 (ja) | 2009-03-11 |
WO2002077929A2 (en) | 2002-10-03 |
CA2441304A1 (en) | 2002-10-03 |
US7360094B2 (en) | 2008-04-15 |
EP1374188A2 (en) | 2004-01-02 |
WO2002077929A3 (en) | 2002-11-21 |
CA2441304C (en) | 2005-05-31 |
JP2005524250A (ja) | 2005-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100727281B1 (ko) | 검증가능한 비밀 셔플들 및 전자 투표에 대한 그 응용 | |
US6950948B2 (en) | Verifiable, secret shuffles of encrypted data, such as elgamal encrypted data for secure multi-authority elections | |
Liu et al. | E-voting scheme using secret sharing and K-anonymity | |
Neff | A verifiable secret shuffle and its application to e-voting | |
Yang et al. | Decentralized voting: a self-tallying voting system using a smart contract on the ethereum blockchain | |
Singh et al. | A novel credential protocol for protecting personal attributes in blockchain | |
Rjašková | Electronic voting schemes | |
Huang et al. | A blockchain-based self-tallying voting protocol with maximum voter privacy | |
WO2001020562A2 (en) | Multiway election method and apparatus | |
EP1633077A2 (en) | Verifiable, secret shuffles of encrypted data, such as elgamal encrypted data for secure multi-authority elections | |
Doan et al. | Encryption Mechanisms for Receipt-Free and Perfectly Private Verifiable Elections | |
Haghighat et al. | An efficient and provably-secure coercion-resistant e-voting protocol | |
KR100611038B1 (ko) | 검증가능한 비밀 셔플들 및 전자 투표에 대한 그 응용 | |
Gong | Advancements in public-key cryptography: crafting novel constructions to address emerging demands | |
RU2271574C2 (ru) | Проверяемые секретные перетасовывания и их применение при проведении электронного голосования | |
Wu et al. | Evaluation and Improvement of Two Blockchain Based E-Voting System: Agora and Proof of Vote | |
Chaieb et al. | Design and practical implementation of verify‐your‐vote protocol | |
Yang et al. | RVBT: a remote voting scheme based on three-ballot | |
Liu et al. | Privacy-Preserving and Verifiable Electronic Voting Scheme Based on Smart Contract of Blockchain | |
Longo et al. | Multiple Candidates Coercion-Resistant Blockchain-Based E-Voting Protocol With Receipts. | |
CA2550259A1 (en) | Verifiable, secret shuffles of encrypted data, such as elgamal encrypted data for secure multi-authority elections | |
Razzaque et al. | Enhancing E-Voting Security with Blockchain-Backed Decentralized Authorization | |
Hohl et al. | Seminar Innovative Internet Technologies: Zero Knowledge Proofs | |
Gregoire et al. | CheckOut: User-Controlled Anonymization for Customer Loyalty Programs | |
Semmouni et al. | A New Electronic Voting System Based on Elliptic Curve in a Cloud Computing Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |