徐玲
中山職業(yè)技術(shù)學(xué)院計(jì)算機(jī)工程系 廣東 528404
本文利用 Harn簽名及其部分盲化性,提出了一個(gè)種基于 Harn部分盲化簽名的電子投票方案。此方案不僅保證了投票者身份的匿名性和選票的公平性、保密性,而且簽名的部分盲化還能實(shí)現(xiàn)投票的可追蹤性及不可抵賴性,從而令電子投票順利進(jìn)行,具有實(shí)用性。
設(shè)p為一個(gè)大素?cái)?shù),g是GF(p)的本原元,H( ·)是單向散列函數(shù)。每個(gè)用戶都有一個(gè)私鑰x∈ [1 ,p-1]且gcd(x,p- 1 ) =1,公鑰y=gx( modp),待簽的信息m∈ [1,p-1]。簽名時(shí),用戶首先隨機(jī)選擇一個(gè)整數(shù)k∈ [1 ,p- 1 ] ,滿足gcd(k,p- 1 ) = 1 ,然后計(jì)算r=gk( modp)和s= [x(H(m)+r) -k]mod(p- 1 ) ,由此得到消息m的簽名為sig(m) = (r,s)。驗(yàn)證時(shí),通過(guò)計(jì)算yH(m)+r=rgs( m o dp)來(lái)驗(yàn)證簽名的有效性。
設(shè)A為消息擁有者,B為簽名者,待簽名的消息為m,A和B共同商定一個(gè)常數(shù)c,稱為部分盲因子,以便無(wú)須商量,在簽名協(xié)議過(guò)程中使用。c的長(zhǎng)度為(k- 2 )bits,計(jì)算τ(c) = 2k-1+ 2H(c)+ 1 ,其中H( ·)同上,τ(c) 的取值范圍必須在 2k-1<τ(c)<2k,當(dāng)i≠j時(shí),τ(c) 與τ(c)不能相互
ij整除。簽名者 B的簽名私鑰為xτ( c ) ,相應(yīng)的公鑰為y=gxτ(c)modp?;贖arn簽名部分盲簽名方案如下:
(1) A與B商定一個(gè)常數(shù)c,c為簽名者的信息或者簽名者與用戶商定的信息。
(2) 簽名者 B 隨機(jī)選取k∈Z,計(jì)算r'=gkmodp,并p發(fā)送r'給用戶A。
(3)用戶隨機(jī)選擇t∈Z*,t,t∈Z,計(jì)算r=r't1gt2yt3
1p23pmodp,發(fā)送m'給簽名者。
(4) 簽名者計(jì)算
(5) 用戶驗(yàn)證r'gs'=yr'+m'modp是否成立,若成立,計(jì)算s= (s't-t) mod (p- 1 ) ,并公布(r,s,c)時(shí)關(guān)于消息m和公12共信息c的部分盲簽名。否則,輸出“False”。
驗(yàn)證,任何人可通過(guò)檢查rgs=yr+H(m,c)modp來(lái)驗(yàn)證簽名的有效性。
本文根據(jù)文獻(xiàn)的效率比較結(jié)論,采用(t1,t2,t3) = (1 ,t2,t3)的方案,因?yàn)樵诤灻A段沒(méi)有求逆運(yùn)算,所以在3個(gè)方案中效率最高。
方案的參與者:投票人V,發(fā)票中心,認(rèn)證中心,投票中心,計(jì)票中心及驗(yàn)票中心(如圖1)。
(1) 投票人Vi(i= 1 , … ,n):表示可有n個(gè)投票人參與投票,在投票系統(tǒng)中事先導(dǎo)入應(yīng)參與投票人的名單;
(2) 發(fā)票中心:發(fā)放選票及公鑰,同時(shí)投票人利用私鑰在所得選票進(jìn)行簽名;
(3) 認(rèn)證中心:對(duì)投票人進(jìn)行身份驗(yàn)證,投票人將選票進(jìn)行部分盲化;
(4) 投票中心:投票人進(jìn)行投票,投票結(jié)束后,被終止投票權(quán)利;
(5) 驗(yàn)票中心:根據(jù)選票可驗(yàn)證選票及投票人的有效性;
(6) 計(jì)票中心:統(tǒng)計(jì)選票,公布結(jié)果。
圖1 電子投票方案框架圖
投票人以匿名的身份申請(qǐng)選票,為保證投票的保密性,選票的編號(hào)k(k= 1 , … ,n)由投票系統(tǒng)隨機(jī)分配,要保證每位投票人的選票編號(hào)不同,而且任何人或機(jī)構(gòu)都不能知道和預(yù)測(cè)投票人與選票的分配情況。在每張選票上還有一個(gè)有效性標(biāo)志L,且L∈ { 0 , 1 },當(dāng)選票有效時(shí),L= 1,否則L= 0 ,這樣可以防止一個(gè)投票人參與多次投票。
在投票前,舉辦方與所有應(yīng)參與投票者商定一個(gè)公共信息c,發(fā)票中心先選取一個(gè)大素?cái)?shù)p,同時(shí)還為每位投票人選取整數(shù)xi,并計(jì)算xiτ(c)為投票人的Vi的私鑰,y=gxiτ(c)modp為其相應(yīng)的公鑰,投票人隨機(jī)選擇k∈Z,
ip
計(jì)算r'=gkmodp,將(ID,r') 作為簽名發(fā)送給發(fā)票中心,iIDi是投票人的身份證號(hào)。
認(rèn)證中心先驗(yàn)證簽名中iID是否為合法投票人的身份證號(hào),且是否在投票系統(tǒng)中,若均為是,則進(jìn)行簽名驗(yàn)證。
發(fā)票中心將簽名發(fā)送給認(rèn)證中心,認(rèn)證中心隨機(jī)選擇t∈Z*,t,t∈Z,上節(jié)中令t=1,計(jì)算r=r'gt2yt3modp,1p23p1i發(fā)送m'給投票人,投票人計(jì)算發(fā)送s'給 認(rèn)證中心,認(rèn)證中心驗(yàn)證r'gs'=yr'+m'modp是否成立,若成立,投票人為有效投票人,計(jì)算,公布(r,s,c),由此選票被部分盲化。
認(rèn)證中心將驗(yàn)證有效的投票人的編號(hào)發(fā)送給投票中心,投票中心按接收的編號(hào)給每張選票發(fā)放待投票的文本M,選票初始值為 0 ,有效值為 4、2、1,分別代表贊同、反對(duì)和棄權(quán)。投票人收到選票內(nèi)容后,根據(jù)自己的態(tài)度為選票賦予相應(yīng)的有效值,然后利用Hash函數(shù)得出H(M) ,再使用投票中心的公鑰e進(jìn)行加密該選票,得到E(M,H(M) ) ,將其發(fā)送給投票中心。
投票中心收到投票人的加密選票后,將該選票的有效性修改為L(zhǎng)= 0 。
在規(guī)定時(shí)間結(jié)束后,投票中心宣布終止投票,并將加密選票E(M,H(M) ) 和盲化簽名(r,s,c)一起發(fā)送給驗(yàn)票中心。驗(yàn)票中心解密選票,首先驗(yàn)證選票是否是有效值,選擇有效選票,然后對(duì)有效選票進(jìn)行脫盲運(yùn)算,驗(yàn)證投票人的合法性,最后將有效投票人的有效選票發(fā)送給計(jì)票中心。
計(jì)票中心收到有效選票后,統(tǒng)計(jì)投票結(jié)果,并通過(guò)投票系統(tǒng)公告公布投票結(jié)果。
合法性:投票人雖然以匿名申請(qǐng)選票,但是需將身份證ID隨簽名一并發(fā)給認(rèn)證中心,認(rèn)證中心首先要驗(yàn)證投票人的 ID是否是投票系統(tǒng)中合法的投票人,由此可以保證合法的投票者參與投票,非法投票人即使申請(qǐng)到選票仍然無(wú)法參與投票。
保密性:選票采用盲簽名技術(shù),隱藏了投票人的身份,并且選票在傳輸過(guò)程中是加密的,隱藏了選票內(nèi)容,因此無(wú)法把選票和具體投票人聯(lián)系起來(lái),從而確保了投票的保密性。
不可重復(fù)性:任何一名合法投票人只能投一張票,且認(rèn)證中心只進(jìn)行一次驗(yàn)證,若重復(fù)驗(yàn)證,則視為無(wú)效投票人。因此,投票人就不可能重復(fù)投票。
可驗(yàn)證性:選票是部分盲化,任何人無(wú)法偽造投票結(jié)果,投票結(jié)果可以被任何感興趣的第三方檢驗(yàn),同時(shí)不泄露投票者的隱私;而且投票人可以檢驗(yàn)自己的投票是否被正確計(jì)入計(jì)票結(jié)果,又不能抵賴參與投票的事實(shí)。
完備性:參與投票的選票均由發(fā)票中心發(fā)放,并標(biāo)有惟一的編號(hào),防止了非法偽造選票的情況發(fā)生,避免出現(xiàn)選票沖突的問(wèn)題,以保證合法投票人的有效選票都計(jì)入投票結(jié)果。
健壯性:規(guī)定有投票資格的投票人未參與投票的作棄權(quán)處理,而參與投票的投票人必須提交有效的投票才能計(jì)入投票結(jié)果中。若有非法投票人欲參與投票,則在認(rèn)證階段中將阻止其繼續(xù)參與投票,確保投票順利進(jìn)行。
本文結(jié)合 Harn的部分盲簽名技術(shù)提出了一個(gè)安全的電子投票方案。為了避免非法投票人冒充合法投票人參與投票,擾亂投票秩序,改變傳統(tǒng)的完全盲簽名投票,采用部分盲化簽名方案,既能滿足投票過(guò)程的保密性,也能通過(guò)半盲化選票追蹤投票過(guò)程,防止中間任意一方,甚至投票人的欺詐行為。具有一定的安全性和實(shí)用性。
[1]Wade Trappe,Lawrence C. Washington.密碼學(xué)概論[M].北京:人民郵電出版社.2004.
[2]趙澤茂.數(shù)字簽名理論.北京:科學(xué)出版社.2007.
[3]禹勇,楊波,楊國(guó)慶,張琴.Harn簽名的部分盲化.計(jì)算機(jī)工程.2007.
[4]Abe M,Fujisaki E. How to Date Blind Signatures[C]//Proceedings of Asiacrypt’96.Berlin: Springer-Verlag.1996.
[5]賴瑾,范玉順.一種新的安全、實(shí)用的電子投票方案.計(jì)算機(jī)科學(xué).2003.