一种隐藏得票数的电子投票方法

文档序号:6683130阅读:321来源:国知局
专利名称:一种隐藏得票数的电子投票方法
技术领域
本发明涉及电子投票领域,特别涉及安全性要求更高的适合小规模应用的电子投票选举。
背景技术
Endo等人在2008年指出在小规模投票选举中如果每个候选人的最终得票数公开的话,会泄露集团内部及中立投票人的投票意愿。考虑这样一种情况如果Alice是一个董事会成员,而董事会决定举行一次投票选举来选出下一届的董事会主席。现任的董事会主席和副主席宣布所有符合资格的投票候选人名单,而且他们都竭尽全力地争取他们集团内的选票以及其他投票人的选票。Alice是一个中立投票人,不属于任何一个集团。Alice希望保持自己的投票意向不被其他人知晓,以避免和任何一个集团发生冲突。但是如果中立投票人的数量比较少,从每个候选人的最终得票情况来看,即使Alice加密形式的选票未被解密,他的投票意愿也很容易被推测出来,而这违背了投票人的隐私性,从而破坏了选举的自由。
在一定程度上,投票方案对投票人隐私性的保护程度取决于敌手对诚实投票人选票的不确定性了解。举个例子如果有两个候选人Alice和Bob,而每个投票人都希望投给 Alice,此时敌手强迫一个投票人投票给Bob。当最终投票结果揭晓时,如果最终Bob的得票数为0则敌手可以确定投票人未按他的意愿去投票,这种情况也违背了投票人的隐私性。
由于参加小规模投票的人数比较少,敌手能掌控的选票数在小规模投票选举中比重较大,而诚实投票人的比重较小,诚实投票人的投票意愿很容易由其他人的选票被推测出来,故在小规模投票中隐私性的保护考虑应该比效率更重要。Endo等指出公开所有投票候选人的票数会降低诚实中立投票人的不确定性,而且参与投票的总人数越少,降低的不确定性越大。
在小规模电子投票中买卖选票和强迫选举的威胁更大,所以隐藏所有候选人的最终票数显得尤为重要,在安全性上小规模电子投票要求比大规模电子投票更高,一个小规模投票应该保持所有候选人的得票数保密。
遗憾的是,几乎所有的电子投票都直接给出了每位候选人的选票票数,但却很少有隐藏选票票数要求的电子投票方案被提出。
Saisho等利用EWamal密码体制提出了一个可以隐藏投票人数量的电子投票方案,但是该方案不是为小规模电子投票设计的而且需要特别的计票方法。Endo等利用最高价格拍卖协议提出了一个可以隐藏投票候选人票数的投票方案,但方案不能隐藏获胜方的选票,而且过程不能完全被公开验证。2001年Cramer等人以及2006年khoenmakers和 Tuyls给出了安全多方计算的相关协议,2006年Adida和Neff给出了一个投票保证技术, 这些都为本发明的隐藏候选人得票数的电子投票方案提供了基础。发明内容
本发明所要解决的技术问题是针对小规模电子投票的安全性、保密性,提出一种隐藏得票数的电子投票方法。
本发明为解决上述技术问题采用以下技术方案
一种隐藏得票数的电子投票方法,包括如下步骤
步骤(1),设置公开的系统参数,包括计票机构总数1 ;选票定制机的挑战比特位数L ;投票候选人集合C1, ...,Cm,合法投票人集合V1, ...,Vd,其中cn代表候选人总数,d 代表投票人总数;
步骤⑵,设置相关的公钥和私钥,具体步骤如下
步骤001),由可信机构密钥管理中心(KMC)选择整数n,其中η是强素数p,q的乘积,满足 P = 2p' +1, q = 2q' +1,gcd( ,炉(《)) = 1 ;
步骤002),令m = p' q',由可信机构密钥管理中心(KMC)随机选择々e Z:, (a,d)GZ g= (l+n)abn mod η2 ;
步骤(203),由可信机构密钥管理中心(KMC)计算私钥SK = β m,并采用Siamir 的(t,n)门限模式共享,具体如下令= β m,由可信机构密钥管理中心(KMC)随机选择 t个屮e {0,...,皿-1},令/的=^=^分,计算计票机构Pi的秘密份额Si = f(i)mod mn 并通过安全信道发给计票机构Pi, i e {1,...,t},t e {1,...,n};
步骤(204),公开公钥I3K = (g,n, θ = am β mod η)、验证密钥VK、子验证密钥VKi, 其中VK = v是由Z/中的平方数构成的循环子群的一个元素,=V1 =Vas‘ mod η2,其中Δ=1 !;
步骤( ,响应于合法投票人集合V中的合法投票者输入的投票选择,将投票选择转换成加密的电子选票,产生电子选票的选票定制机,并公开相关信息以供投票者检验;其中选票定制机与合法投票人交互的步骤包括
步骤(301)由选票定制机随机选择一个L位的01比特串 Λ并把ρ*告诉投票人; 然后投票人选择候选人;比特串P*用完以后被销毁;
步骤(302)根据投票人\输入的投票选择j,其中j表示投票人Vi投票给候选人 Cj, i e {1,...,d},j e {1,...,cn},选票定制机打印出 2Lcn 个!Sillier 加密=PEi(I),..., PEi(Cn);其中每个PEiO都为2L个I^illier加密,每个PEiO分为左右两部分PEi 和 PEi () E, PEi () L和PEi 0 κ分别对应L个I^i 11 ier加密,其中每个hi 11 ier加密的明文为0 或1 ;其中PEi 对应的明文与PEi (t)K对应的明文相同,PEi 对应的明文为p*,PEi (j) κ对应的明文与P*相反;
步骤(303)投票人Vi随机选择一个L位长的挑战比特串c告诉选票定制机,其中挑战比特串c由L位置和R位置组成,L位置和R位置分别用0和1来表示;
步骤(304)根据挑战比特串c,由选票定制机计算出cn个对应的值Pli,P2i,..., Pcni =Pji = V ,Pu, =PE1(^)l 十C,其中,U e {1,· · ·,cn},U 乒 j ;并将 Pli,p2i,· · ·,pcni 告诉投票人Vi ;投票人Vi验证P"是否等于P*,若不相等则投票人提出异议;
步骤(305)根据挑战比特串c,由选票定制机公开PEi(I),... ,PEi(Cn)对应的明文和加密时用到的随机值以供检验对应的加密是否正确形成,验证Pli,P2i,... ,Pcni与公开的加密所对应的R位置上的比特位是否全相反;
步骤(306)选票定制机随机选择一个t e {1,2,...,L},将 PE1(UE1H)llt,…,PEXcnX,^及PEi(Cn)1^留作为选票;
步骤,进行相关安全多方计算;具体步骤如下
步骤(401)计算
EVn = PE1 ( Θ PE1 ( = PE1 (2\ Θ PE1 ,…,E^= PE1 (cn\ Θ PE1 (οη\, 其中 i e {1,· · ·,ν},其中用到的原理为:PE(\t PE0Rt =PEQlt +PE(\ -2PE()LPE()Rt, 利用I^illier加密的同态性,候选AC1最终得票数的加密形式为£^ =IXl1G1 ;类似地,对其他候选人C2, ...,Ccn也可以求出相应加密的得票数42,+++,£& ;
步骤002)对仏^+,^‘中的任意两个进行明文相同测试,将得票数相同的归为一类;
步骤003)设经过步骤(402)处理后变为&(,...,Gli,其中cn ;对每个C' 1 个机构P1,. . . ,P1利用BITREP门将 变为对应的二进制比特位加密表示[[〔。]],...,[[。;_,_」], j e {1,···,M};
步骤(404)对一对[[^^,...,[[CL]]和[[q。]]”..,[[qj],其中i,j e {1, ... , Μ},i乒j,1个机构P1, ...,P1利用[χ > y]比对环求出[^c/ ;如果[^c/ > ^cj ] = 1成立,贝丨J 说明候选人C' i的最终得票数大于候选人C'彳的票数,将C' i继续与剩下的其他候选人进行类似比较;
步骤(5),经过安全多方计算后,得到票数最多的候选人集,公布投票的最终结果。
进一步的,本发明的一种隐藏得票数的电子投票方法,前面所述安全多方计算涉及以下模块
①乘法门定义[[χ]] =gxrn为一个I^illier加密,其中g,n为公钥,r为随机值, X为消息值;给定[[χ]]和[[y]],l个机构P1,... ,P1通过合作来安全地计算出[[Xy]],其中 1 > 2 ;
②明文相同测试给定[[χ]]和[[y]],1个机构P1, ...,P1通过合作来安全地进行相关计算,以判断对应的明文X和y是否相等,其中13 2;
③加法环或减法环对于给定的关于X,y的二进制比特位加密表示[[&]],..., [[V -J ]和[[y。] ],···,[ [yffl' -J ],即χ = Σ ο xJ2^y = O3,加法环或减法环计算关于x+y或x-y的二进制比特位加密表示[[X。]],...,[[zffl, _J];利用的原理如下
C— = O, Ci = XiYi+XiCi^+yiCi^^XiyiCi^, Zi = XjyjcHjci ;其中 O 彡 i 彡 m' _1 ;
④[χ > y]比对环对于给定的关于X,y的二进制比特位加密表示[[&]],..., [[ν -J ]和[[y0] ],···,[ [ym, -J ],计算[χ > y],其中若 χ > y 成立则[χ > y]的值为 1,否则[x>y]为 O ;推导过程如下:t0 = 0,ti+1= (1-(Xi-Yi) ^ti+x-x^ ;其中 O 彡 i 彡 m' -1, [x > y]的值为tm,;
⑤随机比特门对于i = 1,...,1,机构Pi随机生成一个比特h e {0,1},对、加密形成[[bj],并广播[[bj]及相关的非交互零知识证明,证明h e {0,1}确实是一个比特;对所有的[[bj],计算出[[b]],其中δ = !,,;利用的原理如下对于i,j e {1,...,lM 十办,
⑥BITREP门给定一个I^illier加密[[x]],机构P1, ...,P1合作计算出[[χ]] 中的X对应的二进制比特位加密表示[[XJ],...,[[Xffli -J],其中1彡2。
进一步的,本发明的一种隐藏得票数的电子投票方法,前面所述乘法门计算的相关步骤包括
步骤Al 假设1个机构产生关于χ的秘密
Al-a 每个机构Pi选择一个随机值Cli,对(Ii加密形成[[dj并广播[[dj以及相关的非交互零知识证明,证明Pi确实知晓di,令d表示;
Al-b:计算出[[X]][[dJ]... [[Cl1]] = [[x+d]],t 个机构合作门限解密得到 x+d;
Al-c 由 P1 求出 X1 = (x+d)-Cl1,其他机构 Pi 求出 Xi = - ,,χ = ^^ ;
步骤Α2 每个机构?1广撒Ly]r =[Ky]]和[[Xi]],以及相关的非交互零知识证明, 以证明[[Xiy]]确实对应于[[Xi]]中的\和[[y]]中的y ;
步骤A3 假设H为通过以上步骤的机构集合,C为其他的机构集合;计算x^Jki]],并门限解密得到&=乙^成,由&和[[y]]计算得到[[xcy]];因此,由 {[[Xiy]]|i e H}和[kcy]],所有的机构计算(Xi eH[[Xiy]]) X [kcy]],即得到关于 xy 的 [[xy]]。
进一步的,本发明的一种隐藏得票数的电子投票方法,前面所述明文相同测试计算的相关步骤包括
步骤Bl 计算出[[y]]—1 = [[_y]];
步骤B2 计算出[[χ] ] [ [y] Γ1 = [ [x-y]];
步骤B3 每个机构Pi选择一个随机值屯,广播肽-_);]]4和[Wi]]以及相关的非交互零知识证明,令d表示Σ!1=Α ;
步骤Β4 计算出[[x-_y]f [[x-_y]]d2...[[x-_y]]d" =[[x__y]]d,n 个机构合作门限解密[[x-y]]d,若对应的明文为0,则χ和y相等,否则对应的明文不为0,χ和y不相等。
进一步的,本发明的一种隐藏得票数的电子投票方法,前面所述随机比特门采用相关的非交互零知识证明步骤为对[[bj]计算[[bj]2= [[bJHEbJLi个机构P1,..., &对[[bj]和[[bj]2进行明文相同测试,若最后结果两者明文相同则成立,即证明h等于 0或1 ;否则不成立。
进一步的,本发明的一种隐藏得票数的电子投票方法,前面所述BITREP门计算的相关步骤包括
步骤Fl 设N为I^illier加密中的模数公钥,产生一个随机值r e E
Fl-a 机构P1, ...,P1利用随机比特门产生m'个随机比特位加密值[[rj],..., [[rm, -J];
Fl-b:假设 N 的二进制比特表示为 Ntl,···,Nm, <,对[[rQ]],···,[[rm, _J]和 N0, . . . , Nffl,—,利用[x>y]比对环计算出[[例>1~]]],其中厂=1;1—>^;
Fl-c 门限解密[[[N > r]]]得到[N > r],如果[N > r] = 1成立则继续;否则跳转到步骤Fl-a ;
步骤F2 计算[Ly]] = [[x]]n二叱]产,1个机构P1,…,P1门限解密[W]得到y=x+r mod N,0 ^ y < N ;
步骤F3 对y0,... , Yffl^1和[[rQ] ],···,[ [rm_J ],利用减法环求出对应的比特位加密表示[[Z。]],···,[[Zm]],其中Z = X或者Z = X-N,其中^表示符号位;
步骤F4 根据符号位Zm决定ζ = χ或者ζ = χ-Ν ;若ζ = χ-Ν,则对[[ζ0] ],···, [[ZmJ ]和 NQ,· · ·,Nm^1 利用加法环求出 χ 对应的[[xQ] ],···,[ [Xm-J ]。
进一步的,本发明的一种隐藏得票数的电子投票方法,前面所述步骤Al-a中所述相关的非交互零知识证明方法为对给定的[[a]] = gasn bmod n2,证明人P证明其确实知道α的值,包括以下步骤
al,由证明人P随机选取χ e Zn,μ G ZJ,计算B = gV mod η2 ;
a2,由证明人P利用安全无碰撞哈希函数H {0,1}* — Zn计算挑战值e = H(n,g, [[α]],B);
a3,令 w = x+e α mod η,由证明人 P 计算 ζ = usV mod n2,其中 t 满足 x+e α = w+tn,然后由证明人P公布(B,e,w,z);
验证时计算孖(《,Α[[α]],5),Κζ":5[[α]]βιη0(1 2。
进一步的,本发明的一种隐藏得票数的电子投票方法,前面所述步骤Α2所述相关的非交互零知识证明方法为对给定的[[a]] = garn mod η2, [[α]] = gasn mod η2和D = [[a]]a Yn mod n2,由证明人P证明D= [[aa]]成立,包括以下步骤
bl,由证明人 P 随机选取 χ e Ζη,ν,MeZ/,计算 A = [[a]] V mod η2, B = gxun mod η2 ;
b2,由证明人P利用安全无碰撞哈希函数H {0,1}* — Zn计算挑战值e = H(n,g, [[a]], [[a]],D,A,B);
b3,令 w = x+e α mod n,由证明人 P 计算 ζ = usY mod n2,y = ν [ [a] ]1 γ e mod n2,其中 t 满足 x+e α = w+tn, P 公布(A, B, e, w, z, y);
验证计算孖(《,孓[[ ]],[[ ]],D,mod 2,[[α]]>":JDe mod 2。
进一步的,本发明的一种隐藏得票数的电子投票方法,前面所述步骤B3所述相关的非交互零知识证明方法为对给定的[[a]] = garn mod η2, [[α]] = gasn mod η2和D = [[a]]a Yn mod n2,由证明人P证明D= [[aa]]成立,包括以下步骤
!^,由证明人?随机选取叉曰三…乂,?^之/,计算八=[[a]]V mod η2, B = gxun mod η2 ;
b2,由证明人P利用安全无碰撞哈希函数H {0,1}* — Zn计算挑战值e = H(n,g, [[a]], [[a]],D,A,B);
b3,令 w = x+e α mod n,由证明人 P 计算 ζ = usY mod n2,y = ν [ [a] ]1 γ e mod n2,其中 t 满足 x+e α = w+tn, P 公布(A, B, e, w, z, y);
验证计算孖(《,孓[[ ]],[[ ]],D,mod 2,[[α]]>":JDe mod 2。
进一步的,本发明的一种隐藏得票数的电子投票方法,前面所述门限解密计算的相关步骤包括
步骤001 计票机构Pi计算=C2Mmodw2,其中i e {1,2,...,1},并公布相关的非交互零知识证明loge ^2=IogyA ^,其中Δ =1 !,具体证明方法为对于 = xSiA =gs'、= (u,ν),由证明人P证明比=IogxWi,具体包括如下步骤
首先,由证明人P随机选取w e Zmn,计算出(xw,gw) = (a,b);其次,由证明人P利用安全无碰撞哈希函数H {0,1}* — Zmn计算挑战值e = H(a,b,u, ν);然后,由证明人P计算 r = w+Sie,公布(a,b,e,r);最终,验证时计算孖(α>,Μ,v),x^aMe,圹;
步骤002 如果少于t个正确通过上个步骤的非交互零知识证明,则停止;否则令S是通过上述步骤t+Ι个秘密共享的集合,计算M = 产modn2)^modn,其中< =aTL轉e z,丄㈨=t。J -Jη
本发明采用以上技术方案与现有技术相比,具有以下技术效果
本发明基于安全多方计算和投票保证技术,提出了一个新的适合小规模应用的电子投票方案以及隐藏候选人的得票数的方法,可以真正使得所有候选人的最终得票数都是隐藏的。


图1是本发明的方法流程图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明
结合图1所示,下面以一个简单例子来说明本方案的具体实施。
设置公开的系统参数假设计票机构总数1 = 4,共4个计票机构=P1A2U4 ;投票候选人为 C1, C2, C3, C4, cn = 4 ;合法投票人名单 V1, V2, V3, V4, V5, d = 5 ;L = 3。
设置相关的公钥和私钥假设ρ = 11,q = 17,η = pq = 187,m = 5X8 = 40,β =6, a = 7, b = 8,
g = (1+187) 78187modl872 = 166 45,t = 2, SK = a0 = 240,B1 = 11, a2 = 10,
f (x) = 240+1 lx+10x2,S1 = f (1) = 261, S2 = f (2) = 302,S3 = f (3) = 363,S4 =f (4) = 444,
PK = (16645,187,184),VK = ν = 4, Δ = 24, VK1 = V1 = 1378, VK2 = v2 = 33185,
VK3 = V3 = 511, VK4 = V4 = 1038。
投票人V1与选票定制机的交互过程如下
步骤A 选票定制机随机选择一个3位的01比特串假设为101),并把ρ* = 101 告诉投票人Vi。然后V1选择候选人(假设V1选择候选人C3)。P*将会在晚些时候被销毁。
步骤B 选票定制机打印出共 M 个 I^ai 11 ier 加密=PE1(I), PE1 (2),PE1 (3),PE1 (4), 其中每个PE1 (·)都为6个Paillier加密,分为左右两部分=PE1 ( · ) L和PE1 ( · ) K,PE1 ( ·) L和PE1 ( · )κ分别对应3个I^illier加密,每个I^aillier加密的明文为O或1。PE1 (t), (t e {1,... ,4}, t ^ 3)对应的明文为随机的6位01比特串,其中PE1 (t)L对应的明文12与PE1 (t) E对应的明文相同例如取加密随机值为2,3,4,5,6,7,PE1 (1) L和PE1 (1) κ为3个 Paillier加密,对应的明文为001,对应的密文分别为/^、1)11:乂21871110(134969 = 14兄0, PE1(I)12 g-°3187 mod34969 = 28686,
PE1(I)li :g-M187 mod34969 = 13694 ( :g°5187 mod34969 = 21057 ,
PE1(I)ri : ^6187 mod34969 = 33393 ,PEl(V)li3 : ^7187 mod34969 = 20428 ;
类似地,PE1 和PE^h为3个I^illier加密,对应的明文为110 ;PE1 (4)L ^P PE1(A)k* 3个I^illier加密,对应的明文为100。而PE1 (3)l对应的明文为P* = 101, PE1 (3) E对应的明文与ρ*相反为010。
步骤C:投票人V1随机选择一个3位长的挑战比特串c (c由L(左)和R(右)组成,分别用O和1来表示,在此令C = 011)告诉选票定制机。
步骤D 根据挑战值C,选票定制机计算对应的值P11, P21,P31,P41 =P31 = P*= 101,
; =尸五!(I)i = 001 十 011 = 010,; 21 =尸五!⑵乙十 c = 110 十 011 = 101,
= 十 011 = 111 并将 Pll,p21, p31, p41 告诉投票人力。投票人 V1 验证P31是否等于P*,若不相等投票人可以提出异议。
步骤E 根据挑战值c,选票定制机公开PE1(I), PE1 (2), PE1(S), PE1 (4)对应的明文和加密时用到的随机值以供检验对应的加密是否正确形成。验证P11, P21,P31,P41与公开的加密所对应的R位置上的比特位是否全相反。例如C = 011,左右右,故选票定制机给出;⑴Α,Ρ£;(I)ivPE1(I)A对应的明文001和加密用到的随机值2,6,7以供检验对应的加密是否正确形成。检验c中的所有1对应的位置上,P11 (对应为10)与公开的明文(对应为01)是否全相反。同理对户爲口夂,户爲口;^,;^;口;^, PE人3\,PE1(T)ri,PE1(T)rmr PEl(A)h,PE1(A)ri,PEl(A)lii。
步骤F 选票定制机随机选择一个t = 2
PE1 (S)i2,PE1 (3)R2,PE1 ,PE1 (4\保留作为选票。
同理,投票人V2,V3, V4, V5与选票定制机的交互过程与步骤A-F类似。
对形成的选票进行相关安全多方计算
步骤Al 机构 P1, P2, P3, P4 合作计算得到 A1 =ΡΕΧ% θ^( ,^2 =PE1(I)^ 十尸年(2)代,=PE1^, PEi^Rt, 4 =PEi(A)l, PEi(A)ri (i 曰{1,···,(!}),其中用到的原理为PE(\ PEQRt =PEQli +PEQRt -2ΡΕ(\ΡΕ(\。利用 ^mier加密的同态性,候选AC1最终得票数的加密形式可表示为=Hil1i^1 。例如, EVn = PE1 (I)i2 十 PE1 ( )Κ2 = [
] = [
], EVi2 = [[1 十 1]] = [
], Ev^ = [
] = [[1]],£κ14=[[οθο]] = [[Ο]]。同理可求出 ,K11,Εν ,EV24 ‘ ΕΥ ,eV32,EV ,EV,4 ‘ EV ,五K42,EV4,,EV44 和EVii,EVii,E ,EV54。假设投票人V2选择候选人C2,V3选择候选人C3,V4选择候选人C1, V5选择候选人C4,则此时候选人C1的最终得票数的加密形式为 eC1 = Evn χEvii χEv^ χEvh χi F5i =[
] = [[1]],C2 的最终得票数的加密形式为 eC1 = Evii χ Ε、χ Ε、X^42 X^52 =[
] = [[1]],投票候选人 C3 的最终得票数的加密形式43可表示为 K3 = Eyu X EVn X Er33 X EVa X i F53 =[[1 + 0 + 1 + 0 + 0]] = [[2]],C4 的最终得票数的加密形式为 K4 = Evu χ Evu χ EVm xEVuxEVm=[
] = [[1]]。
步骤B1 对,Eci,Ecy,E04中的任意两个进行明文相同测试,将得票数相同的归为一类。故此时\,42,44为一类£^,Ec沩一类Ec;,M = 2。
步骤Cl 经过步骤Bl后变为Ec;,Eci。对每个C' j, j e {1,2},机构P1, P2, P3, P4 利用BITREP门将 变为对应的二进制比特位加密表示[[C)。]],...,[[C;j]。
步骤Di 对[x>y]比对环求出>、]。解密[ >、]得到明文0,说明候选人C' i = (C1,C2,C4I的得票数小于候选人C' 2= {C3}的票数,故投票候选人C3的票数最多,C3为最终的投票获胜者。
步骤Al 求 Evii 的步骤为PE战 +PE1(I)ri = 28686 χ 33393 mod34969 = 5781,参考权利要求2,禾Ij用乘法门求出PE战PE1(V)r2 ,再禾Ij用 ΡΕ(\ Φ PEOnt = PE(\ + PEOri - 2ΡΕ(\ PEQRt即可求出。参考权利要求2,其中求 PE1(I)i2PE1(I)ii2的步骤如下
步骤A2 机构P1, P2, P3, P4产生关于PE1(I)I^秘密
A2a 机构 P1 选择一个随机值(I1 = 2,对(I1 加密形成[[dj] = 1664528187mod34969 =14407,P2 选择一个随机值(12 = 3,对(12加密形成[[d2]] = 1664535187mod34969 = 6514, P3 选择一个随机值(13 = 4,对(13加密形成[[d3]] = 1664546187mod34969 = 30884,P4 选择一个随机值d4 = 5,对d4加密形成[[dj] = 1664557187mod34969 = 2似82,广播[[dj以及相关的非交互零知识证明,证明Pi确实知晓屯。令
权利要求
1. 一种隐藏得票数的电子投票方法,其特征在于,包括如下步骤 步骤(1),设置公开的系统参数,包括计票机构总数1 ;选票定制机的挑战比特位数L ; 投票候选人集合C1, Cm,合法投票人集合V1, . . .,Vd,其中cn代表候选人总数,d代表投票人总数;步骤O),设置相关的公钥和私钥,具体步骤如下步骤001),由可信机构密钥管理中心(KMC)选择整数n,其中η是强素数p,q的乘积, 满足 P = 2p' +1, q = 2q' +1,gcd( ,炉(《)) = 1 ;步骤002),令m = p' q',由可信机构密钥管理中心(KMC)随机选择々eZ:, (a,b)&Z*xZ* ,^g= (l+n)abn mod η2 ;步骤(203),由可信机构密钥管理中心(KMC)计算私钥SK = β m,并采用Smmir的(t, η)门限模式共享,具体如下令如=β m,由可信机构密钥管理中心(KMC)随机选择t个 Bi e {O, ... , mn-l},令/(χ) = Σ|=。《Χ,计算计票机构Pi的秘密份额Si = f(i)modmn并通过安全信道发给计票机构Pi, i e {1,...,t},t e {Ι,.,.,η};步骤(204),公开公钥I3K = (g,η, θ = am β mod η)、验证密钥VK、子验证密钥VKi,其中VK = v是由Z/中的平方数构成的循环子群的一个元素,f^.=K=v^m0d 2,其中Δ =1 !;步骤( ,响应于合法投票人集合V中的合法投票者输入的投票选择,将投票选择转换成加密的电子选票,产生电子选票的选票定制机,并公开相关信息以供投票者检验;其中选票定制机与合法投票人交互的步骤包括步骤(301)由选票定制机随机选择一个L位的01比特串 Λ并把ρ*告诉投票人;然后投票人选择候选人;比特串P*用完以后被销毁;步骤(302)根据投票人\输入的投票选择j,其中j表示投票人Vi投票给候选人Cj, i e {1,...,d},j e {1,. . .,cn},选票定制机打印出 2Lcn 个 I^aillier 加密=PEi(I),..., PEi (cn);其中每个PEiO都为2L个I^illier加密,每个PEiO分为左右两部分PEi 和 PEi () E, PEi () L和PEi 0 κ分别对应L个I^i 11 ier加密,其中每个hi 11 ier加密的明文为0 或1 ;其中PEi 对应的明文与PEi (t)K对应的明文相同,PEi 对应的明文为p*,PEi (j) κ对应的明文与P*相反;步骤(303)投票人Vi随机选择一个L位长的挑战比特串c告诉选票定制机,其中挑战比特串c由L位置和R位置组成,L位置和R位置分别用0和1来表示;步骤(304)根据挑战比特串c,由选票定制机计算出cn个对应的值Pli,P2i,...,Pcni Pji = Pm =PE1(U)l 十 c,其中,uG {1,· · ·,cn},u 乒 j ;并将 Pli,p2i,... , pcni 告诉投票人Vi ;投票人Vi验证ρ"是否等于p*,若不相等则投票人提出异议;步骤(305)根据挑战比特串c,由选票定制机公开PEi(I),... ,PEi(Cn)对应的明文和加密时用到的随机值以供检验对应的加密是否正确形成,验证Pli,P2i,... ,Pcni与公开的加密所对应的R位置上的比特位是否全相反;步骤(306)选票定制机随机选择一个t e {1,2,…,L},将 PEA)、,PEi(^)lit,...,PEXcnX,以及PEi(Cn)li保留作为选票;步骤G),进行相关安全多方计算;具体步骤如下步骤(401)计算Evn =PmLt PE1(I)lit, Evn =PEi(I)li PEi(I)Rt, Ev^ = PEi(Cn)lt PEi(Cn)Rt,其中 i e {!,..., ν},其中用到的原理为·ΡΕ(\ PEQRt =PE()Li +ΡΕ(\ -2ΡΕ(\ΡΕ(\,利用 I^illier加密的同态性,候选AC1最终得票数的加密形式为£^ =IXl1G1 ;类似地,对其他候选人C2, ...,Ccn也可以求出相应加密的得票数^02,+ ++,£& ;步骤(402)对仏^+,^‘中的任意两个进行明文相同测试,将得票数相同的归为一类; 步骤G03)设经过步骤(40 处理后变为,...,£。,其中M < cn ;对每个C'」,1个机构P1, ...,P1利用BITREP门将 变为对应的二进制比特位加密表示[[ 。]],...,[[CU, j e {1,···,M};步骤(404)对一对[[q^.+.iqj]和[[c;。]]”..,[[c;j],其中 i,j e {1,· · ·,M},i 乒 j,1个机构P1, ...,P1利用[X > y]比对环求出>化];如果[^C/ > ]=1成立,则说明候选人C' i的最终得票数大于候选人C'彳的票数,将C' i继续与剩下的其他候选人进行类似比较;步骤(5),经过安全多方计算后,得到票数最多的候选人集,公布投票的最终结果。
2.如权利要求1的一种隐藏得票数的电子投票方法,其特征在于,所述安全多方计算涉及以下模块①乘法门定义[[χ]]=gxrn为一个I^illier加密,其中g,η为公钥,r为随机值,χ 为消息值;给定[[χ]]和[[y]],1个机构P1, ...,P1通过合作来安全地计算出[[xy]],其中 1 > 2 ;②明文相同测试给定[[χ]]和[[y]],1个机构P1,...,P1通过合作来安全地进行相关计算,以判断对应的明文χ和y是否相等,其中1彡2 ;③加法环或减法环对于给定的关于χ,y的二进制比特位加密表示[[xj],...,[[V -J ]和[[y。] ],···,[ [yffl' -J ],即χ = Σ ο ^ 2;,少=O3,加法环或减法环计算关于x+y或x-y的二进制比特位加密表示[[zj],...,[[zffl, _J];利用的原理如下C-! = O, Ci = XiYi+XiCi^+yiCi^^XiyiC^!, Zi = XjyjcH-Zci ;其中 O < i < m' _1 ;④[x>y]比对环对于给定的关于χ,y的二进制比特位加密表示[[&]],..., [[ν -J ]和[[y0] ],···,[ [ym, -J ],计算[χ > y],其中若 χ > y 成立则[χ > y]的值为 1,否则[x>y]为 O ;推导过程如下:t0 = 0,ti+1= (1-(Xi-Yi) ^ti+x-x^ ;其中 O 彡 i 彡 m' -1, [x > y]的值为tm,;⑤随机比特门对于i= 1,...,1,机构Pi随机生成一个比特bi e {0,1},对、加密形成[[bj],并广播[[bj]及相关的非交互零知识证明,证明h e {0,1}确实是一个比特; 对所有的[[bj],计算出[[b]],其中“θ^.;利用的原理如下对于i,j e {1,···,1},h θ b, =b, +b,-2b,b,;‘J ‘ J‘ J⑥BITREP门给定一个I^illier加密[[χ]],机构P1,...,P1合作计算出[[χ]]中的 χ对应的二进制比特位加密表示[[χ。]],...,[[Xffl- —J],其中1彡2。
3.根据权利要求2所述的一种隐藏得票数的电子投票方法,其特征在于,所述乘法门计算的相关步骤包括步骤Al 假设1个机构产生关于χ的秘密Al-a:每个机构?1选择一个随机值屯,对屯加密形成[⑷]并广播[⑷]以及相关的非交互零知识证明,证明Pi确实知晓屯,令d表示;Al-b:计算出[[X]][[dJ]··· [[dj] = [[x+d]],t个机构合作门限解密得到x+d;Al-c 由 P1 求出 Xi = (x+d)-Cl1,其他机构 Pi 求出 Xi = -^,X = YjIiX1 ;步骤A2 每个机构?1广撒Ly]r =[Ky]]和[[Xi]],以及相关的非交互零知识证明,以证明[[XiY]]确实对应于[[Xi]]中的XjP [[y]]中的y ;步骤A3 假设H为通过以上步骤的机构集合,C为其他的机构集合;计算X i e e [ [xj ], 并门限解密得到&=乙^而,由&和[[y]]计算得到[[xcy]];因此,由{[[Xiy]] Ii e H} 和[[xey]],所有的机构计算(※“!^^…^※[[^^,即得到关于”的[砂]]。
4.根据权利要求2所述的一种隐藏得票数的电子投票方法,其特征在于,所述明文相同测试计算的相关步骤包括步骤 Bl 计算出[[y]]—1 = [[-y]];步骤B2:计算出關關-1= [[x-y]];步骤B3:每个机构?1选择一个随机值屯,广播[[x-_y]]4和[Wi]]以及相关的非交互零知识证明,令d表示;步骤 Β4 计算出[[χ-[[χ-...[[X-= [[X-乂]",η 个机构合作门限解密 [[x-y]]d,若对应的明文为0,则χ和y相等,否则对应的明文不为0,χ和y不相等。
5.根据权利要求2所述的一种隐藏得票数的电子投票方法,其特征在于,所述随机比特门采用相关的非交互零知识证明步骤为对[[bj]计算[[bj]2 = [[bJHftJ],ι个机构P1,... ,P1对[[bj]和[[bj]2进行明文相同测试,若最后结果两者明文相同则成立,即证明bi等于0或1;否则不成立。
6.根据权利要求2所述的一种隐藏得票数的电子投票方法,其特征在于,所述BITREP 门计算的相关步骤包括步骤Fl 设N为I^illier加密中的模数公钥,产生一个随机值r e E
],..., [[rm, -J];Fl-b 假设 N 的二进制比特表示为 N。,· · ·,Nm,—,对[[rQ] ],···,[ [rm, ]和 NQ,· · ·, Nm, ,利用[x>y]比对环计算出[[例>1~]]],其中” =[;1—>^;Fl-c 门限解密[[[N>r]]]得到[N>r],如果[N > r] = 1成立则继续;否则跳转到步骤Fl-a ;步骤F2 计算[Ly]] = [M]n 二叱]产,1个机构P1, ...,P1门限解密[[y]]得到y = x+rmod N, 0 彡 y < N ;步骤F3 对%,...,Yffl^1和[[rj],[[rm_J],利用减法环求出对应的比特位加密表示[[z0]],..., [[Zm]],其中ζ = χ或者ζ = x-N,其中Zm表示符号位;步骤F4 根据符号位决定ζ = χ或者ζ = x-N ;若ζ = x-N,则对[[zQ] ],···,[ [ZmJ ]和N。,· · ·,Nm^1利用加法环求出χ对应的[[xj ],···,[ [Xm-J ]。
7.根据权利要求3所述的一种隐藏得票数的电子投票方法,其特征在于,步骤Al-a中所述相关的非交互零知识证明方法为对给定的[[α ]] = gasn mod n2,证明人P证明其确实知道α的值,包括以下步骤al,由证明人P随机选取χ e Ζη,μ e Zj,计算B = gxun mod η2 ;a2,由证明人P利用安全无碰撞哈希函数H: {0,1}* —&计算挑战值e = H (n, g, [[α]],B);a3,令 w = x+ea mod η,由证明人 P 计算 ζ = usY mod η2,其中 t 满足 x+ea = w+tn, 然后由证明人P公布(B,e,w,z);验证时计算e 二孖(《,孓[[a]], B),gwzn =B[[a]]e mod η2。
8.根据权利要求3所述的一种隐藏得票数的电子投票方法,其特征在于,步骤Α2所述相关的非交互零知识证明方法为对给定的[[a]] = garn mod η2, [[α]] = gasn mod η2和 D = [[a]]a Yn mod n2,由证明人P证明D= [[aa]]成立,包括以下步骤bl,由证明人 P 随机选取 χ e Ζη,ν,μ G Z/,计算 A = [[a]] V mod η2, B = gV modη2;匕2,由证明人?禾1佣安全无碰撞哈希函数!1:{0,1}* — 4计算挑战值6 = !1(1^,[[3]], [[a]],D,A,B);b3,令 w = x+e α mod η,由证明人 P 计算 ζ = usY mod η2, y = vtta]]' γ e mod η2, 其中 t 满足 x+e α = w+tn, P 公布(A, B, e, w, ζ, y);验证计算孖O,孓[[到],[[ ]],/),冼5),^^":万[[ ]『modn\[[a]]wyn = ADe mod 2。
9.根据权利要求4所述的一种隐藏得票数的电子投票方法,其特征在于,步骤B3所述相关的非交互零知识证明方法为对给定的[[a]] = garn mod η2, [[α]] = gasn mod η2和 D = [[a]]a Yn mod n2,由证明人P证明D= [[aa]]成立,包括以下步骤bl,由证明人 P 随机选取 χ e Ζη,ν,μ G Z/,计算 A = [[a]] V mod η2, B = gV modη2;匕2,由证明人?禾1佣安全无碰撞哈希函数!1:{0,1}* — 4计算挑战值6 = !1(1^,[[3]], [[a]],D,A,B);b3,令 w = x+e α mod η,由证明人 P 计算 ζ = usY mod η2, y = vtta]]' γ e mod η2, 其中 t 满足 x+e α = w+tn, P 公布(A, B, e, w, ζ, y);验证计算孖O,孓[[到],[[ ]],/),冼5),^^":万[[ ]『modn\[[a]]wyn = ADe mod 2。
10.根据权利要求3或4或6所述的一种隐藏得票数的电子投票方法,其特征在于所述门限解密计算的相关步骤包括步骤001:计票机构?1计算q=C2Mmod 2,其中i e {1,2, ... , 1},并公布相关的非交互零知识证明log, ¥ =IogyA\,其中Δ = 1 !,具体证明方法为对于 = xSiA =gs'、= (u,ν),由证明人P证明Iogghi = IogxWi,具体包括如下步骤 首先,由证明人P随机选取we Zmn,计算出(xw,gw) = (a,b);其次,由证明人P利用安全无碰撞哈希函数H {0,1}* — Zmn计算挑战值e = H(a,b,u,ν);然后,由证明人P计算r= w+Sie,公布(a,b,e,r);最终,验证时计算
全文摘要
本发明公开了一种隐藏得票数的电子投票方法,首先设置公开的系统参数,以及相关的公钥和私钥;接着响应于投票者的投票选择输入,产生电子加密选票的电子选票定制机;然后根据形成的电子加密选票进行相关的安全多方计算,最终得到隐藏所有候选人得票数的投票结果。本发明采用安全多方计算,结合投票保证技术给出了可以隐藏所有候选人得票数的电子投票方法,解决了现有技术中公开候选人得票数的投票选举中存在的问题,确保了电子投票选举中所有投票候选人的最终得票数都是保密的,可以保证电子投票、尤其是小规模投票选举中投票人的隐私性。
文档编号G07C13/00GK102521910SQ20111042566
公开日2012年6月27日 申请日期2011年12月16日 优先权日2011年12月16日
发明者张亦辰, 李继国, 罗翀 申请人:河海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1