CN1535451A - 可证实的秘密洗牌及其对于电子表决的应用 - Google Patents
可证实的秘密洗牌及其对于电子表决的应用 Download PDFInfo
- Publication number
- CN1535451A CN1535451A CNA028071840A CN02807184A CN1535451A CN 1535451 A CN1535451 A CN 1535451A CN A028071840 A CNA028071840 A CN A028071840A CN 02807184 A CN02807184 A CN 02807184A CN 1535451 A CN1535451 A CN 1535451A
- Authority
- CN
- China
- Prior art keywords
- shuffling
- public keys
- computer
- computing machine
- centerdot
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 25
- 238000013475 authorization Methods 0.000 claims description 20
- 230000014509 gene expression Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims description 4
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims 8
- 230000000977 initiatory effect Effects 0.000 claims 1
- 210000000088 lip Anatomy 0.000 claims 1
- 238000010276 construction Methods 0.000 abstract 1
- 230000008859 change Effects 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 239000013256 coordination polymer Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000005242 forging Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 229920002457 flexible plastic Polymers 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method 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 引言
对于一组物体、记录或标记进行洗牌的概念简单而直观,而且在多种日常的人类活动中充满了有用的示例。进行纸牌游戏的赌徒知道在他手中的牌里,每一个都是52个惟一数值中的一个,而且台面上没有一个人持有与他所持有的牌相同的牌。但是,即使在庄家洗牌之前,他记住了准确的纸牌顺序,他仍然不知道牌是如何分布的。
在电子数据的内容中,获得相同的随机性,但对输入序列进行可证实的变序(permutation)的问题却不可思议地困难。问题在于数据本身对于旁观者或者总是可见的,或者总是不可见的。如果是可见的,旁观者或者其他观察者可以很容易地重建输入记录和输出记录之间的对应性。如果是不可见的,则输入和输出记录必须是相同的底层数据的不同表示。但是如果输出足够地不同(即,足够好地进行加密),使得用户不能重建对应性,那么旁观者如何能够确定洗牌者在洗牌的过程中没有改变底层数据?
大多数的文章致力于给出一种在重要内容上解决此问题的有效(线性)方法——ElGamal或Diffie-Hellman加密数据。为了使说明尽可能地清楚和简明,大多数文章明确地参照在素数子群Zp *中进行操作的特殊情况,素数子群Zp *是对大素数p模余的整数的乘法群。但是,我们所使用的底层(乘法)群的惟一特性是相关的Diffe-Hellman问题难以处理的。因而,当在诸如椭圆曲线等其他群上实现ElGamal密码系统时,洗牌协议(shuffle protocol)同样有用。
[1]到[4]的一般逻辑证明技术同样可以用于构建具有相同特性的证明,但是,得到的证明规模(复杂性)是输入序列规模的二次方或者更糟。
本文中的技术同样提供了[8]所应用的切割-选择技术的一些优点。在这种解决方案中,证明的规模依赖于需要满足所有参与者的欺骗证人的可能性。在本文的洗牌协议中,这种欺骗可能性实质上为k/q,其中k是要洗牌的元素的数目,而q是在其中对元素进行加密的子群Zp *的规模。尽管在[8]中并未做出证明规模对欺骗可能性的依赖性分析,显而易见的是,为了获得相似的低欺骗可能性,需要比本文给出的证明规模大几个量级。(此外,如果非互动地实现[8]协议,需要将欺骗可能性选择得非常小,因为恶意参与者可能通过穷举搜索,利用相当可观的离线计算,产生伪造的证明。对于本文的协议,当然也可能存在这种情况,但是即使对于离线攻击,对于所有实际的数值k和q,可能性k/q仍然是足够小的。)
本文的结果提供了实现全体可证实的选举协议(universallyverifiable election protocol)。在最后的部分中对其中的一些进行了介绍。在本文中,值得与[2]中的一流同态选举协议进行比较。当选票上只有简单的“从n个中(最多)选择m”型的问题时,该协议运行良好。这有效地排除了“写入”响应,以及其中希望选举人按照优先顺序指出答案的“比例型”,并且依照此参考文献,将这些问题列成表格。(理论上,比例型问题可以通过将选择的每个有效变序映射为单一的是/否响应来解决。但是,实际上这是不可能的,除非选择的数目非常小。)[2]方案的一些次要的缺点在于其极大地扩大了选举数据规模,而且其需要选举人有效性证明。此证明将选举数据规模进一步扩大了大约一个量级,而且在实用方面毫无吸引力,因为其假设在选举人的计算机上运行了特殊目的代码。
这里的洗牌协议完全由初等算术运算构成。因而,易于实现,而且对于这里所描述的匿名凭证应用具有紧迫的实用意义。
1.1 对于选举的应用
即将发生的选举应用是采用普通的列表/混合中心方法来提供匿名性的选举应用。在这种设置下,本文的协议提供了重要的优点。本文的协议非常有效,而且允许混合中心与持有加密选票所需的部分密钥的权力机构完全无关。
但是,也许,新协议更有价值和令人激动的应用是用于创建“匿名凭证”。只是通过一组DSA或Diffie-Hellman公共密钥进行识别的已授权组成员可以鉴别组成员关系,和/或注册一次性路径(one timeway),而不需要暴露他/她的个人身份。这样产生了对于全体可证实的选举问题的新型解决方案,但是不需要任何便于制成表格的“权利机构”组。同样,为选举人提供了更好的秘密模型,并且由于不需要对选票进行加密/解密,极大地加快了列表的速度。事实上,不是在选举收集中心已经收到选票之后,混合已经加密了的选举密码文本,而是在选举开始之前,混合选举人凭证。选举人自己可以自然地进行这种混合,以获得“匿名鉴别”。(参见部分7.1。)(应当注意的是也可以由一组权利机构进行这种混合,从而提供实现临界秘密选举更为有效的方法。同样,不需要对选票进行加密/解密。)
2 注释
在下面的内容中,除非特别声明,否则n是正整数,p和q是公知的素数。在模环Zp(或有时为Zn)中执行算术运算,而且g∈Zp具有(素数)乘法级q。(所以,一般地,q|(p-1)。)在每个证明协议中,P是证明者(洗牌者),而V是验证者(旁观者)。
我们回忆离散对数等式的Chaum-Pedersen证明。对于G,X,H,Y∈Zp,这是对于以下关系的公知证明
logGX=logHY (1)
零知识(zero-knowledge)是未知的,但诚实验证者零知识是已知的。在接下来的部分中,我们将给出同样具有这些特性的该协议的自然多变量推广。这些对于我们在其中通过Fiat-Shamir启发式来实现验证者的主要应用来说已经足够了。(参见[5]和[2]。)
定义1 如上所述,此证明的实例表示为
CP(G,X,H,Y)。
定义为:对于所有的x,y∈<g>,
logg(xgy)=loggxloggy。
定义2 对于固定的g∈Zp *,令g为<g>×<g>上的二进制运算符,定义为:对于所有的x,y∈<g>,
logg<xgy>=loggxloggy。代替地,对于所有a,b∈Zq,
gaggb=gab=(ga)b=(gb)a。
根据用于加法和乘法的约定,我们还使用符号
我们将此运算称为以g为底的对数乘法。
在上述定义中的每个符号中,当其数值从上下文清楚时,可以省略下脚标g。
备注1 注意到
logGX=logHYGgY=HgX (2)
请注意以下公知的结果,将在本文的剩余部分中重复使用。
引理1 设f(x)∈Zq[x]是d次多项式。则至多存在d个数值z1,…,zd∈Zq,使f(zi)=0。
推论1 设f(x),g(x)∈Zq[x]是两个至多为d次的首一多项式,且f≠g。则至多存在d-1个数值z1,…,zd-1∈Zq,使f(zi)=g(zi)。
推论2 设f(x),g(x)∈Zq[x]是两个至多为d次的首一多项式,且f≠g。如果t∈RZq(t从Zq中随机选取),则
推论3 设f(x),g(x)∈Zq[x]是两个至多为d次的首一多项式。则对于每个常数R≠0,至多存在d个数值z1(R),…,zd(R),使得f(zi(R))=Rg(zi(R))。
定义3 设f(x)是Zq[x]中的多项式。我们以xf表示f所有根的(未排序)集合。
定义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}i=1 k和{Yi}i=1 k是公知的。证明者P也知道对于所有i,ui=loggXi和vi=loggYi,但验证者V并不知道这些。需要P使V信服以下关系,而不暴露任何关于秘密对数ui和vi的信息。
我们所给出的协议恰恰是在部分2的开始所讨论的Chaum-Pedersen协议的高维度推广。事实上,我们将看到,在k=2的情况下,该协议就是Chaum-Pedersen协议。通过将问题实例限制在以下情况,将大大地简化对其的陈述:
Xi≠1,Yi≠1 1≤i≤k (6)
清楚地,如果不能保持这些不等式,则没有任何构建证明的意义,由于通过检查可以发现是否能保持等式(5)。(如果Xi=1则xi=0,所以当且仅当对于一些j,Yj=1时,才能保持等式(5)。X和Y对调,情况类似。)
迭代对数乘法证明协议(ILMPP):
1、P从Zq中秘密地产生随机而独立的k-1个元素θ1,…θk-1。然后,P计算
=
=
并将序列A1,…,Ak暴露给V。
2、V产生随机挑战γ∈Zq,并将其暴露给P。
3、P计算Zq的k-1个元素r1,…,rk-1,满足
=
=
并将序列r1,…,rk-1暴露给V。(我们将在下面的完备性证明中看到如何计算这些值)。
4、当且仅当(8)中的所有等式成立时,V接受此证明。
定理1 ILMPP是等式(5)中的关系的三重移动(three-move)、公共硬币(public coin)证明,等式(5)是特殊的诚实验证者零知识。构造证明所需的求幂次数为k,而验证其所需的求幂次数为2k。如果V随机产生挑战,伪造证明的可能性是1/q。
备注2 注意在构建证明中,所有求幂都可以以相同的底数g进行计算,所以可以采用固定底数算法。(参见[6],623页。)
证明:该协议是清楚的三重移动和公共硬币。在构建证明期间所计算的幂看上去似乎是2k-2个,但实际上可以只用k个幂构建。这是因为P知道对数xi和yi,因此可以计算Ai为:对于所有2≤i≤k-1,
完备性
完备性意味着,给定任意
和γ,P总能找到满足(8)中的等式系统的
为了证明总是如此,将(8)中的等式两边取对数logg,并规定
ri=
ri-θi,1≤i≤k-1。对于
r1,…,
rk-1,可以在Zq中获得以下k×(k-1)线性等式系统:
(k-1)×(k-1)子系统
是非奇异的,由于其行列式为Пi=2 kxi,根据假设(6)是非零的。因此,总可以解出
r1,…,
rk-1。事实上,解为
但是,在该问题的假定下,(10)实际上意味着(9)。这是因为
结合等式(10)左侧的子矩阵非奇异的事实,其意味着(12)中k×k矩阵的第一个列向量必然是剩余k-1个列向量的线性组合。
可靠性
如果等式(12)左侧的矩阵的第一个列向量不是剩余k-1个列向量的线性组合,则最多可以存在一个值γ∈Zq,满足等式(9)。这样,如果随机选择γ,则P以产生使V信服的
r1,…,
rk-1的几率最多为q分之一。
特殊的诚实验证者零知识
可以保持诚实验证者零知识,因为,对于随机的γ和随机的
容易看到对于
这样产生的分布与按照(7)所产生的分布相同,还是因为(12)中的矩阵的第一个列向量是剩余列向量的固定线性组合。所以,如果V是诚实的,模拟就是完美的。由于可以自由地选择挑战γ,所以我们也具有特殊的诚实验证者零知识。
备注3 (11)中
ri的解形式上也可以写为
但是,如果一些yi为0,则不能如此。在等式(11)的情况下,由假设(6)避免了这个问题。当然,在对于所有1≤i≤k-1,yi≠0的假设下,解的主要部分仍能很好的成立——对于ri表达式的选择只需要与假设的形式保持一致。
备注4 我们将检查k=2的情况下,ILMPP恰好减少为公知的Chaum-Pedersen协议留给读者。在这种情况下,需要回顾备注1、等式(2)。
备注5 特殊的可靠性
与利用Chaum-Pedersen协议的情况相同,其证明了P知道s=logGX=logHY,ILMPP证明P知道s1,…,sk,使得loggXi=loggYi,而且 这是显而易见的,因为从利用相同的第一移动和γ≠γ′的两个可接受对话
和
可以提取出证据
满足
=
=
由于w=γ-γ′≠0,得到对于所有1≤i≤k-1,ρi≠0。这样,通过对问题的描述进行适当的小修改,使其满足特殊的可靠性。
4 简单的k洗牌
我们所构建的第一洗牌证明协议需要严格的条件集合。出于两个原因,其是有用的。第一,其是后面更为一般的洗牌证明协议的基本构件块。意外地,还满足了第二个重要的目的。可以构建此证明的单一实例,实质上“提交”特殊的变序。当需要在Zp元素的多元组(tuple)上进行洗牌时,这是非常重要的,与选举应用中相同,当对ElGamal对进行洗牌时,需要的正是在Zp元素的多元组上进行洗牌
定义5 假设Zp上k个元素的两个序列X1,…,Xk和Y1,…,Yk以及两个额外的元素C和D是公知的。同时,也假设证明者P知道xi=loggXi、yi=loggYi、c=loggC和d=loggD,但所有这些数值对于验证者V,都是不知道的。要求P使V确信存在某些变序π∈∑k,其特征在于:对于所有1≤i≤k,
而不暴露关于xi、yi、π、c或d的任何信息。
我们将此问题称为简单k洗牌问题。
备注6 对于此部分以及本文的剩余部分,我们将对假设进行简化,在所有洗牌构造中:
1.xi≠xj,i≠j(因此,当然yi≠yj,i≠j)。
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)中的关系的四重移动、公共硬币证明。满足特殊的可靠性,而且是特殊的诚实验证者零知识。构建证明所需的求幂次数为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)/q2。
4.1 复杂性改进
通过因数2,可以对简单k洗牌协议的规模和复杂性进行改进。我们使用推论4来代替使用推论2。直观地,我们将分别以单实体gdk和gck代替等式(16)中的k个D和k个C。不幸地,这将破坏协议的零知识特性。代替地,我们如下修改该协议。
简单k洗牌证明协议II:
1、P从Zq中随机独立地产生β,从Zq-{0}中随机独立地产生τ,计算
B=gβ (17)
T=gτ
并将B和T暴露给V。
2、V从Zq中产生随机的λ,并将其暴露给P。
3、P通过下式计算s:
并将s暴露给V。
4、V产生随机的t∈Zq,并将其给P作为挑战。
5、P和V公开计算U=Dt=gdt,W=Ct=gct,
和
6、P从Zq中秘密地产生随机而独立的k个元素θ1,…θk。然后,P计算
=
=
并将序列A1,…,Ak+1暴露给V。
7、V产生随机挑战γ∈Zq,并将其暴露给P。
8、P计算Zq的k个元素r1,…,rk,满足
=
=
并将序列r1,…,rk暴露给V。
9、当且仅当满足(20)中的所有等式时,V接受此证明。
定理3 简单k洗牌证明协议II是等式(15)中的关系的五重移动、公共硬币证明。满足特殊的可靠性,而且是特殊的诚实验证者零知识。构建证明所需的求幂次数为k+4,而验证所需的求幂次数为2k+2。
如果V随机产生挑战,伪造证明的概率小于等于
(k-1)/q+(q-k+1)/q2=(qk-q+q-k+1)/q2<k/q
证明概略:所有的讨论,逐个特性地与在原始协议的情况下构建的讨论相类似。主要的差别在于使用推论4而不是推论2。
5 一般k洗牌
简单k洗牌协议的明显限制是洗牌者P必须知道所有初始指数x1,…,xk和y1,…,yk。在许多应用中,情况通常不是这样。这一部分的目标是消除这种限制。
一般k洗牌问题:假设Zp的两个k元素序列X1,…,Xk和Y1,…,Yk是公知的。此外,只有P知道常数c,d∈Zq,但约束C=gc和D=gd是公知的。要求P使V确信存在某些变序π∈∑k,其特征在于:对于所有1≤i≤k,
而不暴露关于π、c或d的任何信息。
一般k洗牌证明协议:
(为了进行介绍,我们考虑d=1的情况。简单地通过将群母点(generator)从g改变为C,并进行替换c=c/d,可以将一般的情况简化为这种情况。)
1、对于1≤i≤k,P从Zq中随机独立地产生ai,bi,ui和wi,并计算
此外,P从Zq-{0}中随机独立地产生γ,以及从Zq中随机独立地产生z0,z1,并计算
Г=gγ (23)
而且,对于1≤i≤k
最后
然后,P将排序序列Ai,Bi,Ci,Ui和Wi与X0,Y0和Λ一起暴露给V。
2、对于1≤i≤k,V从Zq-{0}中随机独立地选择ei,并将序列返回给P。
3、对于1≤i≤k,P计算
并将其暴露给V。
4、V产生随机的t∈Zq-{0},并将其返回给P作为挑战。
5、对于1≤i≤k,P秘密计算指数
ri=ai+teibi (27)
si=γrπ(i)
6、然后,P和V执行简单k洗牌
其中
(注意,P不需要清楚地计算便于构建证明的Ri和Si,而V可以将Ri和Si计算为
和
因此,此证明协议需要P计算k+4次幂运算,而V计算4k+2次幂运算。)
7、P暴露指数
ρi=ui+ri-ai (29)
σi=wi+si-ci
8、V检查
并估算
9、P计算
G0=Gγ (32)
G1=(Z1G0)c
并与V一起执行两个Chaum-Pedersen证明CP(g,Г,G,G0),CP(g,Г,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对(或者如果需要更多数据,这些ElGamal对的序列)来提交选票,其中m是选举人选择的某些标准编码,αi由选举人秘密产生,而h是通过无代理秘密共享方案([7])构建的公共参数。当关闭投票(选举结束)时,独立的授权集合随后对选票进行洗牌。如下构成每次洗牌:
其中,从Zq中随机选取ri,而且
在最后洗牌的输出,依照约束方案,对最终的加密选票集合进行解密,然后按照常规的选举规则,从整体上将清楚的文本选票列成表格。
参加随后洗牌的授权人可以是任意数目的,而且他们可以与持有选举私人密钥份额的那些人完全不同。由于他们的变序完全是任意的,只有所有的洗牌授权人相互勾结,最终解密的选票顺序才可能与所提交的选票的原始顺序相同。
尽管每次洗牌的形式与部分5中所讨论的洗牌不同,可以通过少量的修改,构建证明协议。在下一子部分中,讲述了其中的细节。
6.1 ElGamal对的洗牌:
1、对于1≤i≤k,P从Zq中随机独立地产生ai,bi,ui和wi,并计算
此外,P从Zq-{0}中随机独立地产生γ,以及从Zq中随机独立地产生x0,y0和t0,并计算
Г=gγ (36)
而且,对于1≤i≤k
最后
然后,P将排序序列Ai,Bi,Ci,Ui和Wi与X0,Y0和Λ一起暴露给V。
2、对于1≤i≤k,V从Zq-{0}中随机独立地选择ei,并将序列返回给P。
3、对于1≤i≤k,P计算
并将其暴露给V。
4、V产生随机的c∈Zq-{0},并将其返回给P作为挑战。
5、对于1≤i≤k,P秘密计算指数
ri=ai+ceibi (40)
si=γrπ(i)
(注意,P不需要清楚地计算便于构建证明的Ri和Si,而V可以将Ri和Si计算为
和
因此,此证明协议需要P计算k+4次幂运算,而V计算4k+2次幂运算。)
7、P暴露指数
ρi=ui+ri-ai (42)
σi=wi+si-ci
8、V检查
并估算
9、P计算
G0=Gγ (45)
H0=Hγ
并与V一起执行两个Chaum-Pedersen证明CP(g,Г,G,G0),CP(g,Г,H,H0)。(从而,向V证明等式45成立。)
10、P和V计算
Δ0=
G/G0 (46)
Δ1=
H/H0
11、P计算
并将其暴露给V。
12、V最后检查
13、当且仅当以下条件满足时,V接受此证明
(a)满足所有必须检查的等式(步骤8和10)
(b)V接受步骤6的简单洗牌证明
(c)V接受步骤9中的两个Chaum-Pedersen证明
6.2 一次完成的列表
在标准的混合网实现方案中,设定了必须发生两个截然不同的阶段:
洗牌(或混合)将加密选票集合进行混合。这意味着全部加密(或迭代洗牌)选票箱必须顺序地从一个授权人传递给另一授权人,直到已经执行了足够数目的混合阶段。更精确地,设A1,…,An为洗牌序列或混合实体,通常称为授权人。设B为加密选票序列。顺序地,每个Ai执行以下操作:
1、依照所有需要的验证和有效性证明,Ai从Ai-1接收
B=((X1,Y1),…,(Xk,Yk))
(在i=1的情况下,i直接从选票收集中心接收B。)。
2、Ai执行所有需要的验证检查和有效性(证明)验证。
3、如果步骤2中的任何检查失败,则异常中断列表,或者可能重新开始。否则,Ai按照等式(34)和部分6.1中相应的有效性证明Pi,计算
B=((
X1,
Y1),…,(
Xk,
Yk))
(通常,这是该协议的非互动版本。)。
4、将B重新命名为B,Ai将B与Pi和其他所需验证或有效性检查一起发送给Ai+1。在i=n的情况下,终止混合,列表处理到解密阶段。
解密在洗牌(混合)之后,得到的选票集合全部由选举公共密钥进行加密,通常以h表示。为了对这些选票进行解密,现在,每个授权人必须贡献出解密份额。如下完成:
1、设
B=((X1,Y1),…,(Xk,Yk))
是由最终混合授权人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,除了向Aj+1发送B之外,Aj发送
B=((X1,Y1),…,(Xk,Yk))和
Z=((Z1j,C1j),…,(Zkj,Ckj))
其中Zij和Cij与上面的相同。此外,Aj+1应当使用
B=((X1,Y1/Z1j),…,(Xk,Yk/Zkj))
代替B作为其洗牌的输入。
以这种方式,与通常的情况一样,如果所有的解密授权人也是洗牌授权人,则最后的输出将是解密选票集合,从而消除了对于独立解密阶段的需要。如果只有t0<t个解密授权人也是洗牌授权人,则最终洗牌后的选票箱将由共享在剩余t-t0个解密授权人之中的公共密钥进行了加密的元素组成。因而,在这种情况下,仍然需要解密阶段,但所需的通信量减少了相应的数量。
7 DSA公共密钥的k洗牌
一般k洗牌在理论上适合于可证实地变序DSA或Diffie-Hellman公共密钥集合。据此,我们意味着产生了新的DSA公共密钥集合,在计算上与原始集合不同,但可证实地代表了相同的私人密钥集合。当希望使验证密钥集合匿名,同时仍然保护私人密钥原始群的公正性时,这样做是极有价值的——选举设置就是这样一种示例。
这里,我们只是对技术进行粗略的描述,但读者应当完全清楚其细节。假设最初所有公共密钥都是(g,H)形式的,H=gs,其中g是某些固定的母点(generator),而s是私人密钥。即,不严格地,“所有密钥使用相同的底数”。该协议如下进行:
1、将g和密钥列表Hi展现给洗牌者或混合者。
2、洗牌者利用C=g和Yi=Hi′(新的公共密钥)执行一般k洗牌,通过Fiat-Shamir启发式来实现验证者的随机挑战。(即,执行证明协议的非互动版本。)
3、洗牌者“返回”整个证明副本。
4、假设副本证实,设g=C和Hi=Hi′。通过将共用底数改为C,所有私人密钥都保持相同,由于
H=gsH′=Cs (51)
7.1 匿名选举人
在选举应用中,通常称为了选举公正性,必须知道“谁投票”,但为了保密性,必须不知道“如何投票”。本部分中的技术以崭新的方式解决了保密性/公正性的两难境地。不是知道“谁投票”,只知道投票的人是授权选举人集合中的成员!结果,我们得到以下选举解决方案:
1、不需要共享以实现分布式信任列表方案的密钥。
2、向选举人保证可计算的保密性,而不是约束保密性,对于基于分布式信任列表的其他选举解决方案,约束保密性是必然的不幸。
(如果阈值数目的授权人同意相互串通,则可以解密所有选举人的选票。)
3、不需要对投出的选票进行加密或解密。
当然,必须要小心“重复投票”的问题,但是可以如下简单地修改本部分中的技术,以照顾到此问题:
AV-1. 在步骤3中,选举人(洗牌人)——在这种情况下,知道一个私人密钥s0——利用DSA签名方案与群母点(或底数)C和密钥对(s0,H0′)一起签署他投出的选票。(H0′是属于选举人的“洗牌后”公共密钥。选举人知道其在新序列中的位置,由于他/她执行洗牌。此外,洗牌的特性保证H0′=Cs0——即,s0是与H0′相对应的私人密钥。)
AV-2. 在步骤4中,假设检查洗牌副本,并检查选票签名,选举中心简单地从授权密钥列表中去除H0′,并再次开始等待下一选票请求的过程。现在,新的公共密钥列表是一个较小的公共密钥列表,除非选举人(洗牌者)事先知道多于一个私人密钥,否则他/她现在并不知道新的私人密钥,因此,不能够再次投票。
如果保存了所有洗牌副本和签名,所得到的选举协议是全体可证实的。
尽管这种选举方案提供了较好的保密性特性(由选举人保护每个选举人选票的秘密性,而不是分布式的授权人集合),但存在潜在的实际缺点。为了鉴别的目的,选举人(即,选举人的计算机)和选票收集服务器计算机所需的计算量比标准的选举协议大得多,在标准的选举协议中,选举人只须计算标准公共密钥签名。但是,如果这种额外的计算可能引起问题,则可以在选票可用前、在选举之前进行相同的匿名化。
这可以通过颁布标准PKI证书来实现,响应与上述步骤AV-1中签署选票同时匿名签署的证实请求,颁布所述标准PKI证书。当然,这些证书请求不含有任何识别个人信息,但这些证书是完全标准的,最为重要的是,包括具有相应私人密钥的选举人的标准公共密钥。在投票时,选票可以简单地签有此普通的私人密钥。利用此策略,可以重新使用匿名证书。因此,匿名签名的计算成本可以分摊到多个选举中。
8 多元组的k洗牌
应当清楚的是,在部分5中,所产生的简单洗牌实质上“冻结”了可以证实的变序。这使其容易看到如何将先前部分延伸到<g>的元素的k个l多元组或ElGamal对的k个l多元组的洗牌。将k个l多元组的序列考虑为k×l阵列,简单的k洗牌可以用于证明按照相同的变序,改变了所有列。精确地,这意味着将一般k洗牌协议和ElGammal洗牌协议中相同的数值Ai,Bi,Ci和Di用于所有列。(在一般k洗牌中,可以将相同的数值t用于所有列,而在ElGammal洗牌中,可以将相同的数值c用于所有列,尽管并不是必需的。)
8.1 不具有共用底数的DSA密钥洗牌
此部分中的观察同样允许对部分7中的DSA密钥洗牌协议进行推广。除了将整个公共密钥集合保持有相同的底数gC之外,将密钥保持为独立对(gi,Hi)。洗牌者可以选择密钥对(Gi,Hi)的任意子集,“作为2多元组”对其进行洗牌,并返回结果。如果原始集合很大,这使得洗牌更易于管理,代价是对每个密钥的操作增加了大约50%。
参考文献
[1]R.Cramer,I.Damgrd,B.Schoenmakers.Proofs of partialknowledge andsimplified design of witness hiding protocols.Advances in Cryptology-CRYPTO’94,Lecture Notes in ComputerScience,pp.174-187,Springer-Verlag,Berlin,1994.
[2]R.Cramer,R.Gennaro,B.Schoenmakers.A secure andoptimally efficient multi-authority election scheme.Advancesin Cryptology-EUROCRYPT’97,Lecture Notes in Computer Science,Springer-Verlag,1997.
[3]D.Chaum and T.P.Pedersen.Wallet databases withobservers.Advancesin Cryptology-CRYPTO’92,volume 740 ofLecture Notes in Compute Science,pages 89-105,Berlin,1993.Springer-Verlag.
[4]A.De Santis,G.Di Crescenzo,G.Persiano and M.Yung.On Monotone Formula Closure of SZK.FOCS 94,pp.454-465.
[5]A.Fiat,A.Shamir.How to prove yourself:Practicalsolutions to identification and signature problems.Advances inCryptology-CRYPTO’86,Lecture Notes in Computer Science,pp.186-194,Springer-Verlag,New York,1987.
[6]A.J.Menezes,P.C.van Oorschot,and S.A.Vanstone.Handbook of Applied Cryptography,CRC Press,1997.
[7]T.Pedersen.A threshold cryptosystem without a trustedparty,Advances in Cryptology-EUROCRYPT’91,Lecture Notes inComputer Science,pp.522-526,Springer-Verlag,1991.
[8]K.Sako,J.Kilian.Receipt-free mix-type voting scheme-A practical solution to the implementation of a voting booth,Advances in Cryptology-EUROCRYPT’95,Lecture Notes in ComputerScience,Springer-Verlag,1995.
图1和以下的讨论提供了对合适的计算环境的简要、概括的描述,在所述计算环境中能够实现本发明的各个方面。尽管并不需要,但可以作为诸如个人计算机或网络服务器等一般用途的计算机所执行的程序等计算机可执行指令,来实现本发明的实施例。相关领域的技术人员清楚可以利用其他计算机系统结构来实现本发明的各个方面(如小型选举等),所述其他计算机系统结构包括因特网设备、手持设备、可穿戴计算机、个人数字助理(“PDA”)、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型计算机、便携式或移动电话、机顶盒、主计算机等。可以在特殊用途计算机或数据处理器中实现本发明的各个方面,对这些特殊用途计算机或数据处理器进行特殊编程、配置或构建,以执行这里所详细描述的一个或多个计算机可执行指令。事实上,正如这里普遍使用的那样,术语“计算机”表示任何上述设备以及任何数据处理器。
本发明也可以在分布式计算环境中实现,在分布式计算环境中,由通过诸如局域网(LAN)、广域网(WAN)或因特网等通信网络连接的远程处理设备执行任务或模块。在分布式计算环境中,程序模块或子程序可以位于本地和远程存储器存储设备中。可以将这里所描述的本发明存储或分布在计算机可读介质上,包括磁和光可读盘和移动计算机盘,作为芯片中的固件进行存储,并在因特网或其他网络(包括无线网络)上进行电子分布。相关领域的技术人员将意识到这里所描述的协议的某些部分可以驻留在服务器计算机上,而相应的部分可以驻留在客户端计算机上。所述协议特有的数据结构和数据的传输同样包含在本发明的范围之内。
除非特别声明,否则图1所示的多个模块的结构和操作均依照传统设计。因此,由于相关领域的技术人员已经清楚,这里不需要对这些模块进行更为详细的描述。
参照图1,合适的系统环境100包括一台或多台选举人或客户计算机102,每个计算机包括浏览器程序模块104,允许该计算机对因特网、包括位于因特网的万维网部分内的网站进行访问和交换数据。选举人计算机102可以包括一个或多个中央处理单元或其他逻辑处理电路、存储器、输入设备(如键盘、麦克风、触摸屏和指示设备等)、输出设备(如显示设备、音频扬声器和打印机等)和存储设备(如固定磁盘、软磁盘和光盘驱动器等),所有这些都是公知的,但并未在图1中示出。选举人计算机102还可以包括如操作系统、一个或独个应用程序(如文字处理或电子数据表应用程序等)等其他程序模块。如图1所示,有N个选举人计算机102,代表选举人1、2、3、…、N。
与因特网或万维网106相连的服务器计算机系统108或“选票收集中心”执行选票收集、存储和其他处理中的多个或全部。与服务器计算机108相连的数据库110存储在选举人计算机102、一台或多台选举投票计算机112和服务器计算机108之间交换的很多网页和数据(包括选票和洗牌有效性证明)。选举投票计算机112是位于公共选举地点的个人计算机、服务器计算机、微型计算机等,允许不能便捷地访问与因特网106相连的计算机的公众成员或选举人在这里所描述的系统下进行电子选举。这样,选举人计算机102可以位于独立的选举人之家,在这里公开地放置了一台或多台选举投票计算机112,或者可以使选举人访问公共选举。选举投票计算机112可以包括具有一台服务器计算机和几个客户计算机的局域网(LAN)或通过LAN与之相连的选举人终端,从而允许几个选举人同时或并行地进行选举。也应当注意到,术语“选举人”这里通常用于表示采用这里所描述的一些或全部协议的任何个人或组织。
在可替代的实施例中,系统100可以用在私人选举的环境中,如选举公司官员或委员会成员等。在这种实施例下,选举人计算机102可以是股东的便携式计算机或台式计算机,而选举投票计算机112可以是位于进行选举的公司内的一台或多台计算机。这样,股东可以访问公司,接入选举投票计算机112来进行投票。
一台或多台授权人或组织计算机114同样通过因特网106与服务器计算机系统108相连。如果采用阈值密码系统,则每台授权计算机114均保存有解密存储在数据库110中的电子选票所需的密钥份额。阈值密码系统要授权人总数n的子集t(即,t<n)同意对选票进行解密,从而避免需要全部授权人进行选票解密的要求。换句话说,阈值密码系统的目的是在组中的n个成员之间共享私人密钥s,便得当真子集T共同操作a(t,n)阈值密码系统时,可以对消息进行解密。定义协议,以便(1)产生在组中连带的密钥,以及(2)对消息进行解密,而不重建私人密钥。在投票周期结束之后,授权计算机114可以向服务器计算机系统108提供它们的解密份额,从而服务器计算机系统可以对选票进行解密,并记录结果。
此外,如这里所述,在所述实施例中,每个授权计算机都可以对选票进行一次洗牌。与每次洗牌一起,每个授权计算机产生洗牌有效性证明,可以对洗牌有效性证明进行加密,并转发给服务器计算机108,或由授权计算机进行本地存储。在可替代的实施例中,提供了额外的授权计算机组,其中一组授权计算机对加密的选票进行洗牌,并产生洗牌有效性证明,而第二组授权计算机使用用于对选票进行解密的密钥份额。
也可以提供与授权计算机114相类似一个或多个可选的验证人计算机130。验证人计算机可以接收选举副本,以便验证选举没有泄密。例如,如这里所描述的那样,验证人计算机可以从每个授权计算机接收洗牌有效性证明。验证人计算机可以在选举之后进行验证,而且不需要与因特网相连。事实上,可以由这里所示出或描述的其他计算机来进行验证。
服务器、验证人或授权计算机可以执行选举人登记协议,或者可以提供单独的登记计算机(未示出)。登记计算机可以包括用于读取登记者生物测定数据的生物测定读出器,如指纹数据、声音指纹数据、数字图像比较以及相关领域的技术人员所公知的其他技术。下面,描述了与可证实洗牌一起使用的选举人登记和匿名证书的颁布。
服务器计算机108包括服务器引擎120、网页管理部件122、数据管理部件124和其他未示出的部件。服务器引擎120除了执行部分标准功能之外,还执行部分电子选举协议。可以将加密协议存储在服务器计算机上,并且也将部分协议与适当的常数一起存储在客户计算机上。事实上,上述协议可以存储和分布在包括磁计算机硬盘、光可读计算机盘和可移动计算机盘等的计算机可读介质上,可以是存储在半导体芯片(如,EEPROM)上的微码以及可以在因特网或其他网络上进行电子分布。相关领域的技术人员将意识到部分协议驻留在服务器计算机上,而相应的部分驻留在客户计算机上。专用于上述协议的数据结构和数据传输也包含在本发明之内。这样,服务器引擎120可以执行向授权选举人的所有必需选票传输、选票收集、验证选票(即,检查数字签名,并传递对包含在选票中的有效性证明的验证)、选票汇集、选票解密和/或选票列表。在替代实施例中,服务器引擎120作为数据收集中心,简单地收集所有电子选票。然后存储电子选票,并与对选票进行洗牌、解密标记和产生选举结果的工具一起,提供给诸如市政当局等管理选举的第三方组织。同样,可以对诸如洗牌有效性证明等选举检查信息进行本地存储,或提供给市政当局或其他组织。
如下所述,网页部件122处理如电子选票箱网页等网页的创建和显示或路由。选举人或用户可以通过如http:\\www.votehere.net等与之相关的URL或如市政当局的URL等与选举相关的URL,访问服务器计算机108。市政当局可以直接管理(host)或操作服务器计算机系统108,或者自动将这些接收到的电子选票转发给可以操作服务器计算机系统的第三方选举授权人。这里所表示的URL或任何链接或地址可以是任何资源定位器。
网页管理处理122和服务器计算机108具有只有诸如授权的选举人或系统管理员等授权的人才能访问的保密部分或网页。例如,服务器计算机108可以采用加密套接字协议层(“SSL”)和标记或cookie来验证这些用户。事实上,对于小型选举,或者舞弊可能性较低(或者舞弊的结果相对不合理)的那些选举,系统100可以采用如下所述的简单网络安全性措施来收集和存储选票,而不采用如上述专利申请中所描述的复杂电子加密选票。验证用户(例如通过使用口令)、建立安全传输连接和提供安全服务器和网页的方法对相关领域的技术人员而言是公知的。
选举方案和系统可以使用其中数字签署每个记录并且不可以删除任何东西的“电子公告板”。作为网络服务器,实现电子公告板。“选票箱”驻留在电子公告板上,并保存所有加密选票。可以通过将网络服务器数据写入一次写入多次读取(WORM)永久存储介质或类似的设备,来防止删除。
应当注意,尽管采用因特网来连接计算机,在这里对本发明的一个实施例进行了描述,但其他替代的实施例是可能的。例如,孤立型计算机可以采用本发明的各个方面。任何互连数据处理机器也可以采用本发明的各个方面。除了采用浏览器之外,这些机器可以采用客户端软件,来实现这里所描述的方法或协议的各个方面。
参照图2,示意图描述了洗牌协议对选举的基本应用,示为方法200。在方框202中,提交了三张加密选票,分别是选举人Joe Smith、Sally Jones和Ian Kelleigh的。在方框204中,将选举人列表或名单与方框206中所示的加密选票分离。此后,执行选票的单向重新加密,产生方框208所示的洗牌后的选票集合。根据第一次洗牌,产生方框210所示的洗牌有效性证明。洗牌有效性证明允许第三方确保所有输入数据(选票)进行了相同的操作,以及没有对选票进行任何改变。
对(先前洗牌后的)选票进行第二次洗牌,产生第二洗牌后的选票集合。如方框212所示。同样,产生方框214所示的洗牌有效性证明。对方框212中的洗牌后的选票进行第三次洗牌,产生方框216中的最终洗牌后的选票集合。同样根据第三次洗牌,产生洗牌有效性证明218。总之,在此示例中,提供了每三个一组的洗牌排列。在洗牌之后,对选票进行解密,产生如方框220所示的记录。第三方可以通过在其他事件中分析每个洗牌有效性证明,验证选举,以确保每个洗牌者维护了选举的公正性。
在上面,作为用在电子选举方案中等可以有多种应用的有效分离的子程序,展示了洗牌协议。第一子程序在证明者和验证者之间提供了缩放、迭代、对数乘法证明的功能。第二子程序提供了简单洗牌协议的功能,并采用了缩放、迭代、对数乘法证明的功能。此后,第三子程序实现了一般洗牌功能,其中洗牌者不知道依赖于简单洗牌的第二子程序的指数。第四子程序将第三子程序延伸为对元素的k多元组的洗牌。当然也提供了其他程序。
本领域的技术人员清楚,本发明的概念除了因特网之外还可以用在其他多种环境中。例如,本发明的概念可以用在电子邮件环境中,其中处理和存储电子邮件选票、处理或表格。通常,网页或显示说明(例如,电子公告板)可以是HTML、XML或WAP格式、电子邮件格式或任何适用于显示信息的其他格式(包括基于字符/代码的格式、位图格式和基于矢量的格式)。同样,代替因特网,可以使用如局域网、广域网或点到点拨号连接等多种通信信道。也可以在单一计算机环境中,而不是在客户/服务器环境中,对多种处理进行管理。每个选举人或客户计算机可以包括与服务器计算机或系统互动的硬件或软件的任意组合。这些客户系统可以包括基于电视的系统、因特网设备、移动电话/PDA和通过其可以执行处理的多种其他消费品。
通常,如这里所用,“链接”表示如在网络上具有站点或节点的选举授权人的显示说明等,在网络上标识资源的任意资源定位器。通常,尽管这里描述了如选举人计算机、终端和服务器等硬件平台,本发明的各个方面同样可以应用于网络上的节点,有相应的资源定位器标识该节点。
除非上下文明确地要求,否则在整个说明书和权利要求中,单词“包括”均是与封闭式或穷尽式相反的开放式构成;也就是说,“包括,但并不限制于”。使用单数或复数的单词也分别包括复数或单数。此外,单词“这里”“上面”“下面”和含有相似含义的单词,当用在本申请中时,表示作为整体的整个申请,并不表示本申请的任何特定部分。
上面对本发明描述性实施例的描述并不是详尽无遗的,或倾向于将本发明局限于所公开的精确形式。尽管为了描述性的目的,在这里对本发明的特定实施例和示例进行了描述,正如相关领域的技术人员将意识到的那样,在本发明的范围内可以有多种等价的修改。这里所提供的本发明的教义可以应用于其他加密应用,并不局限于上述电子选举系统。例如,该协议在需要匿名性和审计能力的电子商务中可以得到应用。这方面的示例为电子付款方案(“电子现金”)。
根据上述细节描述,可以对本发明做出这些或其他改变。通常,在所附的权利要求中,所使用的术语不应被理解为将本发明局限于说明书和权利要求中所公开的特定实施例,而应当被理解为包括在提供数据安全性的要求下进行操作的所有加密系统和方法。因此,本发明并不被公开所限制,代替地,本发明的范围完全由权利要求确定。
在以特定权利要求的形式展示了本发明的某些部分同时,本发明人在许多权利要求形式中考虑了本发明的多个方面。例如,在将本发明的一个方面叙述为在计算机可读介质中实现的同时,其他方面同样可以在计算机可读介质中实现。因此,本发明人保留在递交申请之后增加额外的权利要求的权利,以追加本发明其他方面的这种额外的权利要求形式。
Claims (30)
1、一种与计算机化网络一起使用的电子表决系统,包括:
至少一台服务器计算机,用于接收来自与计算机化网络相连的至少第一、第二和第三选举人计算机的请求;
其中,配置所述第一选举人计算机,从所述服务器计算机接收与从多台选举人计算机接收到的电子证书的汇集相对应的一系列电子证书,其中,每个电子证书都是数字签名算法(DSA)或ElGamal对,而且配置所述第一选举人计算机,以应用至少使用第一秘密密钥的秘密、单向密码转换,对所述电子证书系列进行匿名洗牌,并产生第一洗牌后的服务器计算机证书系列,其中,只有第一选举人计算机知道所述洗牌后的证书的第一系列与所述电子证书系列之间的对应性,而且还配置所述第一选举人计算机,根据迭代对数乘法证明,提供所述洗牌后的证书的第一系列的正确性的第一线性规模证明,并提供具有第一相关证书的第一选票;
其中,配置第二选举人计算机,从所述服务器计算机接收所述洗牌后的证书的第一系列,应用至少使用第二秘密密钥的密码转换,对所述洗牌后的证书的第一系列进行匿名洗牌,并产生洗牌后的服务器计算机证书的第二系列,其中,只有第二选举人计算机知道所述洗牌后的证书的第一系列与所述洗牌后的证书的第二系列之间的对应性,而且还配置所述第二选举人计算机,与具有第二相关证书的第二选票一起,根据迭代对数乘法证明,提供所述洗牌后的证书的第二系列的正确性的第二线性规模证明;
其中,配置第三选举人计算机,接收所述洗牌后的证书的第二系列,应用至少使用第三秘密密钥的密码转换,对所述洗牌后的证书的第二系列进行匿名洗牌,并产生洗牌后的服务器计算机证书的第三系列,其中,只有第三选举人计算机知道所述洗牌后的证书的第二系列与所述洗牌后的证书的第三系列之间的对应性,而且还配置所述第三选举人计算机,与具有第三相关证书的第三选票一起,根据迭代对数乘法证明,提供所述洗牌后的证书的第三系列的正确性的第三线性规模证明;以及
其中,配置所述服务器计算机,从所述第一、第二和第三选举人计算机接收所述正确性的证明,并验证洗牌后的证书的正确性,并接收、验证和记录具有各自第一、第二和第三相关证书的所述第一、第二和第三选票。
2、按照权利要求1所述的系统,其特征在于还包括:
多台授权计算机,与所述计算机化网络相连,其中,在使用基础群Zp或椭圆曲线的阈值、离散对数不对称加密处理下,对所述第一、第二和第三选票进行加密;
以及,所述多台授权计算机中的每一台,轮流:
至少接收所述第一、第二和第三加密选票,
对所述选票进行秘密洗牌;
将解密密钥份额应用于所述秘密洗牌后的选票,对所述秘密
洗牌后的选票进行部分解密;以及
将所述部分解密和秘密洗牌后的选票传递给下一授权计算机。
3、按照权利要求1所述的系统,其特征在于配置所述第一、第二和第三选举人计算机,向所述服务器计算机至少提供与所述第一、第二和第三选举人计算机相关的电子证书的汇集中第一、第二和第三公共密钥的标识符,所有均是分别进行,以及
其中,还配置所述服务器计算机,响应所述第一、第二和第三公共密钥,去除所述第一、第二和第三公共密钥。
4、按照权利要求1所述的系统,其特征在于所述计算机化网络包括万维网,其中所述第一、第二和第三选举人计算机中的每一个均包括网络浏览器程序。
5、按照权利要求1所述的系统,其特征在于所述第一、第二和第三选举人计算机中的至少一台是掌上型计算机、便携式电话、可穿戴计算机、互动电视终端或因特网设备。
6、一种用于接收元素序列的计算机系统,包括:
与计算机网络相连的计算机,并配置所述计算机:
接收代表个人数据文件的电子数据文件序列,
应用至少使用第一秘密数值的密码转换,对所述电子数据元素序列进行匿名变序,并产生电子数据元素的第一洗牌后序列,其中,所述服务器计算机知道所述电子数据元素的第一洗牌后序列与所述电子元素序列之间的对应性,以及
根据采用二进制算子的迭代对数乘法证明,产生所述电子数据元素的第一洗牌后序列的正确性的第一线性规模证明,其中,所述数据元素序列中的每个数据元素与共同的底数值相关,而且对所述正确性的证明的验证采用三重移动、公共硬币证明,其中,响应验证请求,所述计算机通过求解一系列相关线性方程式,计算一系列指数。
7、按照权利要求6所述的系统,其特征在于使用利用所述计算机未知的密钥的Zp和椭圆曲线群,对所接收到的电子数据元素序列进行加密,其中,还配置所述计算机:
从验证者计算机接收一系列随机产生的数值ei;
根据采用所述接收到的数据ei序列和秘密产生的数值的秘密、单向密码转换,秘密产生一系列数值Di;
变序所述电子数据元素序列,根据所述数值Di系列和秘密数值γ,产生所述元素的第一洗牌后序列;以及
提供基于密码转换的所述数值Di和一系列证明值,作为所述服务器计算机使变序了所述电子数据元素的所述密码转换能够产生所述第一洗牌后的元素序列、而不将所述密码转换暴露给所述验证者计算机的证明。
8、按照权利要求6所述的系统,其特征在于还配置所述服务器计算机,用于:
从相应的多个个人接收多个公共密钥,其中所述多个个人中的每一个具有与所述多个公共密钥之一相对应的私人密钥;
从所述多个具有一个私人密钥的个人,接收请求;
向所述请求的个人至少提供所述多个公共密钥的子集;
根据迭代对数乘法证明和与所述一个私人密钥相对应的数值,接收文件和所述多个公共密钥的洗牌以及所述洗牌后的公共密钥的正确性的线性规模证明,其中,所述数值与所述文件相关,并提供所述一个个人知道所述一个私人密钥、而未暴露所述一个私人密钥的证明;
检查所述正确性证明;
检查所述数值与所述公共密钥之一和所述文件数学相关;以及
将所述多个公共密钥减少所述一个公共密钥。
9、按照权利要求6所述的系统,其特征在于所述电子元素序列是公共密钥,而且在所述服务器中,是否进行了进一步配置,以响应来自个人的请求,检查所述个人具有与所述公共密钥之一惟一且数学相关的数值;而且
如果是这样的话,向所述一个个人颁布证书。
10、一种以计算机实现的方法,包括:
接收来自多个个人之一的请求,所述多个个人之一具有与多个公共密钥之一相对应的私人密钥;
向所述请求的个人,至少提供所述多个公共密钥的洗牌后的子集;
接收文件F,而且验证如下构成:
(1)新的洗牌后的公共密钥集合S,
(2)所述新的洗牌后的公共密钥集合的正确性的洗牌证明,以及
(3)来自所述请求的个人的签名值x;而且
如果以下条件满足,接受所述验证:
(a)所述正确性的洗牌证明验证成功,以及
(b)V(F,x,s0)真,其中V是签名验证函数,而s0是来自所述新的洗牌后的公共密钥集合S的一个公共密钥。
11、一种以计算机实现的方法,包括:
接收来自计算机的请求,所述计算机与多个公共密钥中的一个公共密钥相对应的一个私人密钥相关,其中,所述多个公共密钥中的每一个均与多个私人密钥之一相对应;
向所述请求的个人,至少提供所述多个公共密钥的洗牌后的子集;
从所述请求的计算机接收文件;
根据迭代对数乘法证明和与所述一个私人密钥相对应的数值,接收所述多个公共密钥的新的洗牌后的子集和所述新的洗牌后的公共密钥子集的正确性的线性规模证明,其中,所述数值与所述文件相关,并提供所述一个个人知道所述一个私人密钥、而未暴露所述一个私人密钥的证明;
检查所述正确性的证明;以及
检查所述数值以实质上惟一的方式与所述一个公共密钥和所述文件数学相关。
12、按照权利要求11所述的方法,其特征在于还包括从所述请求的计算机至少接收所述新的洗牌后的公共密钥子集中的所述一个公共密钥的指示。
13、按照权利要求11所述的方法,其特征在于还包括从所述新的洗牌后的公共密钥子集去除所述一个公共密钥。
14、按照权利要求11所述的方法,其特征在于还包括:
从多个授权中的每一个,顺序接收所述多个公共密钥的洗牌后的集合H′,根据至少在所述多个公共密钥的子集H上执行的秘密密码洗牌操作,产生所述多个秘密密钥的所述洗牌后的集合H′;
从多个授权中的每一个,顺序接收所述密码洗牌操作的验证副本;以及
根据所述验证副本,验证所述密码洗牌操作的正确性;并且如果验证,将所述多个公共密钥的所述洗牌后的集合从H′设置为H。
15、按照权利要求11所述的方法,其特征在于还包括:
在接收到所述多个公共密钥中的至少一些之后时,至少将所述之后接收到的多个公共密钥的子集设置为所述多个公共密钥的接收到的洗牌后的子集,其中,已经从第三方接收到所述多个公共密钥的所述洗牌后的集合。
16、按照权利要求11所述的方法,其特征在于还包括:
在所述检查步骤之后,颁布证书;
此后,从多个个人之一,接收所述颁发的证书;以及
向所述一个个人提供电子选票。
17、按照权利要求11所述的方法,其特征在于还包括数字化签署接收到的请求,以产生公共密钥基础结构(“PKI”)证书。
18、按照权利要求11所述的方法,其特征在于还包括:
至少从多个用户计算机中的一些接收所颁布的证书,并响应其,提供初始电子选票;以及
至少从所述多个用户计算机中的一些,接收未加密的选举选票。
19、一种在证明者计算机和验证者计算机之间、以计算机实现的密码方法,所述方法包括:
关于第二系列电子数据元素,对第一系列电子数据元素进行秘密洗牌,产生洗牌后的集合;
根据证明第一多项式方程的第一组根等于第二多项式方程的第二组根的固定常数倍,产生所述洗牌后的集合的正确性的线性规模证明;以及
在所述正确性的线性规模证明中,如下得到所述第一组根等于所述第二组根的固定倍:指定第二固定常数,在第一随机点估算所述第一多项式方程,获得第一数值,在所述第一随机点估算所述第二多项式方程,获得第二数值,并确定所述第二数值等于所述第一数值与所述第二固定常数的积。
20、按照权利要求19所述的方法,其特征在于所述第一元素序列中的至少一些是电子选票。
21、按照权利要求19所述的方法,其特征在于所述洗牌后的集合中的所述元素中的至少一些是ElGamal对。
22、按照权利要求19所述的方法,其特征在于还包括重复所述秘密洗牌,产生并提供给输入元素序列中的元素的l多元组。
23、按照权利要求19所述的方法,其特征在于对所述第一系列元素进行秘密洗牌包括接收识别元素的集合的子集,其中在所述集合中的每个识别元素与个人相对应,而且其中,所述方法还包括:
如果所述验证计算机验证所述正确性的证明,接收匿名证书。
24、一种与计算机化网络一起使用的电子选举系统,包括:
多台授权计算机,与所述计算机化网络相连,接收在阈值、离散对数不对称加密处理下进行加密的多个选票;
其中,配置所述多台授权计算机中的每一台,轮流:
至少接收所述多张加密选票,
对所述选票进行秘密洗牌;
将解密密钥份额应用于所述秘密洗牌后的选票,对所述秘密洗牌后的选票进行部分解密;
产生所述部分解密后的选票的有效性证明;以及
将所述部分解密和秘密洗牌后的选票传递给下一授权计算机。
25、一种计算机可读介质,当通过计算机实现时,其内容提供指令,执行对电子数据元素序列的洗牌,包括:
提供来自与对应于多个公共密钥中的一个公共密钥的一个私人密钥相关的计算机的请求,其中,所述多个公共密钥中的每一个与多个私人密钥之一相对应;
至少接收所述多个公共密钥的洗牌后的子集;
提供文件;
根据迭代对数乘法证明和与所述一个私人密钥相对应的数值,产生所述多个公共密钥的新的洗牌后的子集和所述新的洗牌后的公共密钥子集的正确性的线性规模证明,其中,所述数值与所述文件相关,并提供所述一个个人知道所述一个私人密钥、而未暴露所述一个私人密钥的证明,其中所述正确性的线性规模证明包括计算第一和第二多项式方程,其中为所述第一多项式而选择的随机点导致用于求解所述第二多项式的根的等价系列。
26、按照权利要求25所述的计算机可读介质,其特征在于所述计算机可读介质是接收所述电子数据元素序列和所述内容的计算机网络中的逻辑节点。
27、按照权利要求25所述的计算机可读介质,其特征在于所述计算机可读介质是计算机可读盘。
28、按照权利要求25所述的计算机可读介质,其特征在于所述计算机可读介质是传输所产生的数据信号的数据传输介质,所述所产生的数据信号包含所述内容。
29、按照权利要求25所述的计算机可读介质,其特征在于所述计算机可读介质是计算机系统的存储器。
30、按照权利要求25所述的计算机可读介质,其特征在于所述计算机可读介质是与选举授权服务器计算机相连的因特网连接链路。
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 Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101534171A Division CN101131773A (zh) | 2001-03-24 | 2002-03-25 | 可证实的秘密洗牌及其对于电子表决的应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1535451A true CN1535451A (zh) | 2004-10-06 |
Family
ID=27502021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA028071840A Pending CN1535451A (zh) | 2001-03-24 | 2002-03-25 | 可证实的秘密洗牌及其对于电子表决的应用 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7360094B2 (zh) |
EP (1) | EP1374188A2 (zh) |
JP (1) | JP4235453B2 (zh) |
KR (1) | KR100727281B1 (zh) |
CN (1) | CN1535451A (zh) |
CA (1) | CA2441304C (zh) |
WO (1) | WO2002077929A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013513B (zh) * | 2006-02-03 | 2010-09-01 | 中央三井信托银行株式会社 | 表决权总计系统和表决权总计方法 |
CN106716344A (zh) * | 2014-10-03 | 2017-05-24 | 密码研究公司 | 用于密码运算的指数分裂 |
CN111245626A (zh) * | 2020-01-19 | 2020-06-05 | 平安科技(深圳)有限公司 | 零知识证明方法、装置及存储介质 |
Families Citing this family (74)
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 |
US8011661B2 (en) | 2001-09-28 | 2011-09-06 | Shuffle Master, Inc. | Shuffler with shuffling completion indicator |
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 |
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 |
WO2005122049A2 (en) * | 2004-06-07 | 2005-12-22 | Dategrity Corporation | Cryptographic systems and methods, including practical high certainty intent verification, such as for encrypted votes in an electronic election |
ES2326175T3 (es) * | 2004-06-30 | 2009-10-02 | France Telecom | Procedimiento y sistema de votacion electronica en red de alta seguridad. |
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. |
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 |
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 |
WO2011047085A2 (en) * | 2009-10-13 | 2011-04-21 | Certimix, Inc. | 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 |
SG11201608344WA (en) | 2014-04-11 | 2016-11-29 | Bally Gaming Inc | Method and apparatus for shuffling and handling cards |
US9474957B2 (en) | 2014-05-15 | 2016-10-25 | Bally Gaming, Inc. | Playing card handling devices, systems, and methods for verifying sets of cards |
USD764599S1 (en) | 2014-08-01 | 2016-08-23 | Bally Gaming, Inc. | Card shuffler device |
US9566501B2 (en) | 2014-08-01 | 2017-02-14 | Bally Gaming, Inc. | Hand-forming card shuffling apparatuses including multi-card storage compartments, and related methods |
US9504905B2 (en) | 2014-09-19 | 2016-11-29 | Bally Gaming, Inc. | Card shuffling device and calibration method |
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 | 东莞盛世科技电子实业有限公司 | 密码设定方法及其设备 |
JP6763378B2 (ja) * | 2015-06-18 | 2020-09-30 | 日本電気株式会社 | 暗号情報作成装置、暗号情報作成方法、暗号情報作成プログラム、及び、照合システム |
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 |
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 |
US10637665B1 (en) | 2016-07-29 | 2020-04-28 | Workday, Inc. | Blockchain-based digital identity management (DIM) system |
US10933300B2 (en) | 2016-09-26 | 2021-03-02 | Shuffle Master Gmbh & Co Kg | Card handling devices and related assemblies and components |
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 |
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 |
US11334353B2 (en) * | 2017-05-18 | 2022-05-17 | Nec Corporation | Multiparty computation method, apparatus and program |
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 |
PH12020050309A1 (en) | 2019-09-10 | 2021-03-22 | Shuffle Master Gmbh And Co Kg | Card-handling devices with defect detection and related methods |
US11173383B2 (en) | 2019-10-07 | 2021-11-16 | Sg Gaming, Inc. | Card-handling devices and related methods, assemblies, and components |
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 |
ATE295644T1 (de) | 1994-07-29 | 2005-05-15 | Canon Kk | Verfahren zur gemeinsamen nutzung einer geheimen information, zur erzeugung einer digitalen unterschrift und zur ausführung einer beglaubigung in einem kommunikationssystem mit mehreren informationsverarbeitungseinrichtungen und kommunikationssystem zur anwendung dieses verfahrens |
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 CA CA002441304A patent/CA2441304C/en not_active Expired - Fee Related
- 2002-03-25 WO PCT/US2002/009264 patent/WO2002077929A2/en not_active Application Discontinuation
- 2002-03-25 US US10/484,931 patent/US7360094B2/en not_active Expired - Fee Related
- 2002-03-25 JP JP2002575894A patent/JP4235453B2/ja not_active Expired - Fee Related
- 2002-03-25 EP EP02719353A patent/EP1374188A2/en not_active Withdrawn
- 2002-03-25 CN CNA028071840A patent/CN1535451A/zh active Pending
- 2002-03-25 KR KR1020067001213A patent/KR100727281B1/ko not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013513B (zh) * | 2006-02-03 | 2010-09-01 | 中央三井信托银行株式会社 | 表决权总计系统和表决权总计方法 |
CN106716344A (zh) * | 2014-10-03 | 2017-05-24 | 密码研究公司 | 用于密码运算的指数分裂 |
CN106716344B (zh) * | 2014-10-03 | 2021-04-30 | 密码研究公司 | 用于密码运算的指数分裂 |
CN111245626A (zh) * | 2020-01-19 | 2020-06-05 | 平安科技(深圳)有限公司 | 零知识证明方法、装置及存储介质 |
CN111245626B (zh) * | 2020-01-19 | 2021-05-18 | 平安科技(深圳)有限公司 | 零知识证明方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20050028009A1 (en) | 2005-02-03 |
WO2002077929A2 (en) | 2002-10-03 |
US7360094B2 (en) | 2008-04-15 |
KR20060010873A (ko) | 2006-02-02 |
EP1374188A2 (en) | 2004-01-02 |
JP4235453B2 (ja) | 2009-03-11 |
JP2005524250A (ja) | 2005-08-11 |
KR100727281B1 (ko) | 2007-06-13 |
CA2441304C (en) | 2005-05-31 |
WO2002077929A3 (en) | 2002-11-21 |
CA2441304A1 (en) | 2002-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1535451A (zh) | 可证实的秘密洗牌及其对于电子表决的应用 | |
CN1242587C (zh) | 高速、灵活的加密系统的方法及设备 | |
CN1023282C (zh) | 数据的传递方法和系统 | |
CN1172474C (zh) | 公用密钥密码系统方法及设备 | |
CN1303065A (zh) | 数据库管理装置和加密/解密系统 | |
CN100338907C (zh) | 信息处理系统和方法、信息处理设备和方法 | |
CN1285191C (zh) | 公共密钥签字的方法和系统 | |
CN1249972C (zh) | 使用多个服务器的远程密码验证的系统和方法 | |
CN1460225A (zh) | 数据处理系统、存储设备、数据处理装置、及数据处理方法、以及程序 | |
CN1871810A (zh) | 认证系统和远隔分散保存系统 | |
CN1251715A (zh) | 有限域离散对数密码系统的割圆多项式结构 | |
CN1266876C (zh) | 数据通信系统、加密装置及解密装置 | |
CN1833398A (zh) | 安全数据解析器方法和系统 | |
CN1504028A (zh) | 利用瞬时模数的密码验证 | |
CN1579065A (zh) | 用于数据供应、交易和电子投票的方法和系统 | |
CN1879138A (zh) | 密码处理装置、密码处理方法及其计算机程序 | |
CN101076807A (zh) | 一次性密码 | |
CN1596523A (zh) | 通过生成短期加密密钥进行数字认证、加密和签名的系统、便携式装置和方法 | |
CN1675629A (zh) | 用于处理通过单元格匹配输入的密码的方法和系统 | |
CN1773546A (zh) | 匿名定购系统、匿名定购装置及程序 | |
CN1668995A (zh) | 用于改善伪随机数发生器的输出的不可预测性的方法 | |
CN1492346A (zh) | 电子值的认证方法、认证系统与装置 | |
CN1177245A (zh) | 加密方法,解密方法和确认方法 | |
CN101080897A (zh) | 鉴别系统、鉴别方法、证明器件、验证器件及其程序和记录介质 | |
CN1338166A (zh) | 公用与专用密钥加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1069443 Country of ref document: HK |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1069443 Country of ref document: HK |