吳飛
摘 要 針對現(xiàn)有電子投票系統(tǒng)在安全性方面和實用性方面的問題,在B/S模式下設計并實現(xiàn)了一種安全高效的電子投票系統(tǒng)。本系統(tǒng)主要使用矩陣同態(tài)加密、矩陣全同態(tài)加密、基于身份簽名以及委托計算等技術(shù)來進行設計。龔
關(guān)鍵詞 網(wǎng)絡安全 電子投票系統(tǒng) 密碼學
中圖分類號:TP311 文獻標識碼:A
由于傳統(tǒng)紙質(zhì)投票中需要印刷選票、制作票箱、收發(fā)選票、人工統(tǒng)計等工作,使得整個投票過程非常繁瑣,耗時耗力。此外,傳統(tǒng)的紙質(zhì)投票更容易被不誠實的選民或計票單位篡改。不論是從人力、物力消耗方面還是整個投票過程的效率及安全性方面來考慮,傳統(tǒng)紙質(zhì)投票早已漏洞百出。隨著信息技術(shù)的飛速發(fā)展,電子投票已經(jīng)逐漸在方案征集、調(diào)研、政府選舉等各個領(lǐng)域普及開來。電子投票作為一種無紙化、電子化、計算機化的投票方式,簡化了投票過程。相對于傳統(tǒng)的紙質(zhì)投票方式,它更高效、便捷、安全,充分體現(xiàn)了環(huán)保、低碳的經(jīng)濟理念。
雖然目前有多種電子投票方案,但現(xiàn)有方案仍存在許多不足之處:選票內(nèi)容合法性難以驗證、匿名性與在互聯(lián)網(wǎng)環(huán)境下身份驗證相矛盾、對于規(guī)模較大的投票活動有一定的局限性等。
針對上述問題,本作品在B/S模式下設計并實現(xiàn)了一種安全高效的電子投票系統(tǒng)。由于在B/S模式下設計,因而能夠簡化客戶端電腦載荷,減輕系統(tǒng)維護與升級的成本和工作量,降低用戶的總體成本,此外,通過Internet/Intranet模式下的數(shù)據(jù)庫應用,使得成本也相對較低。能實現(xiàn)不同的人員,不同的地點,不同的接入方式(比如LAN、WAN、Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫,并能有效地管理訪問權(quán)限和保護數(shù)據(jù)平臺,同時服務器數(shù)據(jù)庫也很安全。本作品主要使用矩陣同態(tài)加密、矩陣全同態(tài)加密、基于身份簽名以及委托計算等技術(shù)來進行設計。本作品將每張選票以矩陣的形式呈現(xiàn),不僅可以實現(xiàn)任意候選人的選舉,而且可以利用現(xiàn)階段先進的同態(tài)加密以及委托計算技術(shù),使得驗票變得更加簡單方便,同時選票內(nèi)容的隱私性也得到了保護。本作品在選民選票生成、選票驗證方面更加簡潔,在系統(tǒng)部署方面更加靈活,可以用于同時在互聯(lián)網(wǎng)環(huán)境下進行大規(guī)模安全高效的投票選舉。本系統(tǒng)結(jié)合矩陣同態(tài)加密、矩陣全同態(tài)加密以及基于身份簽名等技術(shù),在B/S模式下實現(xiàn)了一個基于身份簽名的安全電子投票系統(tǒng)。該系統(tǒng)包括五個部分,具體有注冊模塊、投票模塊、查詢模塊、驗票模塊、公證模塊、統(tǒng)計模塊。這五個部分有不同協(xié)作和分工,共同組成電子投票的整體。與現(xiàn)有的電子投票系統(tǒng)比較,本系統(tǒng)具有如下特色與創(chuàng)新:
(1)將選票以矩陣的形式呈現(xiàn)。利用矩陣包含信息量大等特點,將選票以矩陣的形式存放,一個矩陣可以包含多個候選人的信息。
(2)編碼方式獨特。用“101…0m”、“1”、“0”分別表示“贊成”、“反對”、“棄權(quán)”這三種狀態(tài),這樣便可以統(tǒng)計出任意狀態(tài)的投票人數(shù)。根據(jù)選民的規(guī)模確定編碼的長度,假設選民的規(guī)模大小為789,那么贊成就用1000表示,當然也可以使用10000…。采用一個5*5的矩陣表示多候選人的選票(可容納的候選人數(shù)為1~25,不足的地方用上面的三種狀態(tài)填充)。如果候選人數(shù)超過25,則通過調(diào)整矩陣大小即可適用。
(3)選票身份化。采用基于身份的簽名技術(shù)對選票進行簽名,保證了所記錄的選票是選民自己的,由此便可認證選民的身份,驗證選民的合法性。
(4)選票內(nèi)容隱私。使用矩陣同態(tài)加密和矩陣全同態(tài)加密技術(shù)保護了選票內(nèi)容的隱私性。選票雖然具有身份信息,但選票的內(nèi)容已被同態(tài)算法加密保護,除選民外,其他人無法了解選票的內(nèi)容,故使得選票具有身份信息的同時,又能保護選票內(nèi)容的隱私。
1矩陣同態(tài)加密方案簡介
本作品實現(xiàn)的是基于AGCDP困難性的矩陣同態(tài)加密方案,它是由密鑰生成算法、加密算法Enc和解密算法Dec算法構(gòu)成的三元組HME={KryGen,Enc,Dec}。具體算法及參數(shù)設置如下:
(1)密鑰生成:運行密鑰生成算法KryGen,輸入安全參數(shù)%d,輸出素數(shù)p和p1,密鑰k=(p,p1)←KryGen(1%d)。這里的安全參數(shù)%d=(%Z%[),其中%Z=|p|,%[=|p1|。具體生成參數(shù)p,p1是按,隨機產(chǎn)生,在此設定%Z=%d,%[<%d,再利用隨機數(shù)生成器Rand生成S個不同隨機數(shù)q以及S個不同隨機數(shù)r,其中,并計算公鑰pk=
(2)加密:用戶隨機生成其中x=|q|,%`=|r|,x=%d,%`<%d。對于給定的明文m∈[0,2%]],%]<%[,運行加密算法Enc,密文c,密文c,
其中,為一隨機向量。
(3)解密:給定密文c和密鑰k,運行解密算法,得
。
2矩陣全同態(tài)加密方案簡介
矩陣全同態(tài)加密方案是由密鑰生成算法KryGen、加密算法Enc、解密算法Dec以及矩陣加法和矩陣乘法H孀槌傻奈逶镕HME={KryGen,Enc,Dec,H鎪,各算法詳細如下:
(1)密鑰生成:給定安全參數(shù)n,運行密鑰生成算法得到sk←KryGen(1n),其中為矩陣的一維的元素個數(shù),KryGen是一個生成隨機可逆矩陣和求可逆矩陣逆的算法,其中
。
(2)加密:對于任意的矩陣M∈n譶,使用加密算法得密文C=Enc(sk,M)=PH鍹H鍼-1,很容易得知C∈n譶。
(3)解密:對于任意的密文矩陣C∈n譶,使用解密算法得M=Dec(sk,C)=P-1H鍹H鍼。
本系統(tǒng)能夠有效地驗證每一個選民的身份及其合法性,避免了一人多投、一票多投等可能存在的不安全問題,基于身份的簽名技術(shù)保證了記錄的選票為選民自己的。隨著“云計算”和“大數(shù)據(jù)”時代的來臨,本系統(tǒng)利用委托計算方案可以將選票委托到第三方進行統(tǒng)計。
參考文獻
[1] 朱艷琴,靳方元,張娟. 基于A-GCDP困難性的矩陣同態(tài)加密方案.系統(tǒng)仿真學,2013,25(4):699-703.
[2] 一種矩陣全同態(tài)加密算法、發(fā)明專利,2012,受理號:201210287976.2.