孫佳男
西北師范大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院 甘肅 730070
隨著彩票制作技術(shù)的發(fā)展,彩票的種類也逐漸多樣化,傳統(tǒng)的彩票有雙色球、3D等,為了適應(yīng)現(xiàn)代人快節(jié)奏的生活,國家彩票發(fā)行機(jī)構(gòu)又推出即開型彩票,也叫即開即兌型彩票,就是購票者在一個(gè)銷售點(diǎn)上一次完成購票和兌獎(jiǎng)全過程的一種彩票。當(dāng)購票者買到彩票后,刮開兌獎(jiǎng)區(qū),馬上就可以知道是否中獎(jiǎng),如果所中獎(jiǎng)金在一定范圍內(nèi)則立即可以在銷售點(diǎn)領(lǐng)取獎(jiǎng)金。同時(shí)彩票發(fā)行機(jī)構(gòu)設(shè)獎(jiǎng)靈活,可根據(jù)不同地區(qū)需求,設(shè)置適應(yīng)當(dāng)?shù)亟?jīng)濟(jì)條件的獎(jiǎng)金等級(jí),其防偽性能好,安全可靠。
(1)U代表國家彩票發(fā)行機(jī)構(gòu),Z代表指定的彩票銷售方,P代表彩票購買者,ID代表購買者身份。
(2)wnum代表中獎(jiǎng)號(hào)碼,bon代表獎(jiǎng)金金額。
(3)CP代表即開型電子彩票,C Pi代表第i張彩票,代表第i張彩票內(nèi)容,N代表彩票發(fā)行期號(hào),T代表彩票銷售時(shí)間。
(4)SC代表簽密算法,DSC代表解簽密算法,PK、SK為彩票購買者公鑰和私鑰。
我們根據(jù)現(xiàn)行的彩票發(fā)行方式提出新的發(fā)行過程如下:
(1)U:設(shè)置wnum和對應(yīng)bon ,生成CP,U →Z :CP‖wnum,但不發(fā)送bon。
(2)Z:收到CP‖wnum后,公布wnum,銷售CP。
(3)P:查看wnum,選擇CP,如果決定購買iCP,則用ID綁定iCP,等待開獎(jiǎng)。Z →U:iCP‖ID,U進(jìn)行保存。
(4)U:T結(jié)束后,公布打開CP的方法以及wnum對應(yīng)的bon。
(5)P:在Z處打開iCP,如果結(jié)果與wnum相同,則在Z處兌獎(jiǎng)。
(6)當(dāng)P在Z處兌獎(jiǎng)后(只有極少數(shù)大獎(jiǎng)P在U處兌獎(jiǎng)),Z統(tǒng)計(jì)已為P兌獎(jiǎng)獎(jiǎng)金總額sum,Z→U:sum信息;U返還sum給Z。
(7)Z:打開CP,驗(yàn)證中獎(jiǎng)率、返獎(jiǎng)率,P如果懷疑公布的wnum和bon,可進(jìn)行驗(yàn)證。
(1)U和Z的初始設(shè)置
U的初始設(shè)置:U選擇一個(gè)隨機(jī)數(shù) xA∈,計(jì)算 yA←(mod p),U的公鑰是(p,q,g,,H,E),私鑰是;其中參數(shù)(p,q,g,H,E)和上述Zheng簽密方案系統(tǒng)參數(shù)相同。
Z的初始設(shè)置:Z選擇一個(gè)隨機(jī)數(shù) xB∈,計(jì)算←(mod p),Z的公鑰為私鑰為
(2)U生成wnum信息
① 生成wnum 。假設(shè)U決定設(shè)置n個(gè)wnum 。
U:選擇n個(gè)隨機(jī)數(shù) x1,x2,...,xn∈U(算法Ⅰ),計(jì)算←(mod p),(mod p),...,←(mod p)。生成n個(gè)wnum{y1,y2,...,yn},并設(shè)置每一個(gè)wnum對應(yīng)的bon{ m1,m2,...,mn}。
算法Ⅰ如下:
設(shè)特定條件為新產(chǎn)生的隨機(jī)數(shù)與已產(chǎn)生的隨機(jī)數(shù)相比如果距離小于特定值,則放棄,重新選取。我們把特定條件抽象為布爾代數(shù)F[j]∈{0,1},F(xiàn)[j]=1表示滿足條件。
Step1 生成數(shù)組A,i=1
Step2 產(chǎn)生隨機(jī)數(shù)j∈[1,q-1]Step3 如果F[j]=1,轉(zhuǎn)step5 Step4 轉(zhuǎn)setp2
Step5 A[i]=j,并將 i+1
Step6 如果i<=n 轉(zhuǎn)step2
否則,數(shù)組A中A[1],A[2],...,A[n]為n個(gè)滿足條件的隨機(jī)數(shù)。
如果U要生成下一期彩票wnum,只需要在該算法特定條件中附加不等于往期所有的已選取隨機(jī)數(shù),wnum就不可能與往期重復(fù)。
② 生成wnum信息。U:再選擇n個(gè)隨機(jī)數(shù)(R1,R2,...,Rn)作為P以后驗(yàn)證時(shí)用的參數(shù),計(jì)算 yi,mi,Ri的 Hash函數(shù)值,i∈[1,n],M1 =h(y1,m1,R1),M2=h(y2,m2,R2),...,Mn=h(yn,mn,Rn),然后把 yi與對應(yīng)Mi組成一對,最后生成wnum信息{( y1‖M1)‖( y2‖M2)‖...‖(yn‖Mn)}。
(3)U生成彩票組
① 生成彩票內(nèi)容 C P*。假設(shè)U決定該期彩票組中包含K張CP 。U :選取上述n個(gè)有獎(jiǎng)隨機(jī)數(shù) x1,x2,...,xn(每個(gè)中獎(jiǎng)號(hào)碼對應(yīng)的離散對數(shù)值),還必須選取其它不同于x1,x2,...,xn的隨機(jī)數(shù) K1個(gè), K = n + K1。
選取這 K1個(gè)數(shù)算法是在 n個(gè)有獎(jiǎng)隨機(jī)數(shù)已產(chǎn)生前提下繼續(xù)執(zhí)行算法Ⅰ,只是條件附加了不等于已選取的n個(gè)隨機(jī)數(shù)。最后數(shù)組A中A[1],A[2],…,A[K]元素即為K張彩票具體內(nèi)容,i∈[1,K]。
Step1 m=K
Step2 產(chǎn)生隨機(jī)數(shù) j∈[1,m],t=j;
Step3 如果 F[j]=1.轉(zhuǎn) step6;
Step4 j=j mod m +1;
Step5 如果j<>t,轉(zhuǎn)step3;
Step6 將A[j]與A[m]互換,并將m-1;
Step7 如果m>1,轉(zhuǎn)step2;
最后數(shù)組A中存放的是隨機(jī)排序后的( x1,x2,...,xn, ...,xK),即A[i] =,i∈[1,K]。
(4)U發(fā)送CP給指定Z
U: MCP←N‖CP‖wnum信息,MCP即為要發(fā)送的彩票明文。
U:如果發(fā)送 MCP給 Z,則查詢 Z的公鑰,U →Z :SC( MCP),SC采用Zheng簽密方案中簽密算法。
(5)Z銷售CP
Z: MCP←DSC(SC( MCP)),DSC采用 Zheng解簽密算法,其過程用到Z的私鑰 xB和U的公鑰(p,q,g,yA,H,E),解密并驗(yàn)證通過后,確定 MCP為U發(fā)送的有效消息。然后公布wnum信息。
P:如果在未售出CP中選擇購買彩票 C Pi,則在Z處生成已售出彩票即← EPK( C Pi‖ID),E是U公布的一種公鑰加密算法,Z在已售出彩票列表中增加記錄i,
(6)U公布開獎(jiǎng)信息以及P兌獎(jiǎng)
① T結(jié)束后,Z發(fā)送未售出彩票序號(hào)列表給U ,U :與Z結(jié)賬,然后公布 wnum{y1,y2,...,yn}對應(yīng)的隨機(jī)數(shù){R1,R2,...,Rn}和獎(jiǎng)金{ m1,m2,...,mn}以及秘密種子 S0和偽隨機(jī)數(shù)產(chǎn)生算法。
② P:在Z處 C Pi← DSK(,然后利用算法產(chǎn)生偽隨機(jī)序列,得到對應(yīng)的子密鑰 SK,←(C Pi),得到即 xi。然后計(jì)算 gxi(mod p)(其中g(shù)和p是U公開的公鑰),如果結(jié)果與wnum中 yi相同,則對應(yīng)bon為 mi。
Z:核對ID后給P兌獎(jiǎng),并保存 xi。
P:如果 mi超過一定范圍,則在U處 C Pi← DSK(,U核實(shí)ID后,給P兌獎(jiǎng)。
(7)Z領(lǐng)取返還金¥
假設(shè)第N期CP中Z實(shí)際為n個(gè)中獎(jiǎng)?wù)邇丢?jiǎng)。
Z:統(tǒng)計(jì)已兌獎(jiǎng)的中獎(jiǎng)號(hào)碼 yi對應(yīng)的中獎(jiǎng)彩票內(nèi)容 xi,組成返還金信息 MF{N‖ x1‖ x2‖...‖ xn},Z → U: MF。
U: (其中 mi為中獎(jiǎng)號(hào)碼 gxi(mod p)對應(yīng)獎(jiǎng)金),U返還¥。
(8)Z驗(yàn)證中獎(jiǎng)率和返獎(jiǎng)率
(1)彩票銷售的指定性。彩票發(fā)行機(jī)構(gòu)用銷售方的公鑰對電子彩票組進(jìn)行了簽密,只有指定的銷售方用自己的私鑰才能解密并驗(yàn)證。
(2)彩票內(nèi)容不可猜測性和保密性。為了保證簽密算法的安全性,參數(shù)q必須是一個(gè)大素?cái)?shù),一般要求q≈1602 ,而彩票內(nèi)容是從[1,q-1]之間隨機(jī)選取的大整數(shù),而且每個(gè)隨機(jī)數(shù)之間有一定距離,所以對于P和Z是不可能猜到的,同時(shí)利用產(chǎn)生的偽隨機(jī)序列加密每一張電子彩票,并對其進(jìn)行了隨機(jī)排序,所以加強(qiáng)了對電子彩票內(nèi)容的保密性。
(3)購買彩票的隨機(jī)性。因?yàn)椴势变N售時(shí)中獎(jiǎng)號(hào)碼對應(yīng)的獎(jiǎng)金不公開,同時(shí)發(fā)行機(jī)構(gòu)也可以適當(dāng)設(shè)置沒有獎(jiǎng)金的“中獎(jiǎng)號(hào)碼”,所以防止了購票者對于包含獎(jiǎng)金數(shù)額大或者中獎(jiǎng)號(hào)碼多的彩票組全部包買的情況發(fā)生。
(4)計(jì)算中獎(jiǎng)彩票內(nèi)容的困難性。困難性是基于離散對數(shù)問題,即已知iy解不出ix(iy←ixg(mod p)),所以銷售方和購票者不可能知道中獎(jiǎng)號(hào)碼iy所對應(yīng)的中獎(jiǎng)彩票內(nèi)容ix。
(5)中獎(jiǎng)號(hào)碼以及獎(jiǎng)金的不可偽造性。銷售方不可能偽造中獎(jiǎng)號(hào)碼iy,發(fā)行機(jī)構(gòu)也不能改變預(yù)定的獎(jiǎng)金im?;?/p>
(6)電子彩票的私有性。只有購票者用自己的私鑰才能解密已售出彩票,其他人不可能冒領(lǐng)該彩票,如果中獎(jiǎng),銷售方在核實(shí)其身份后才兌現(xiàn)其所中獎(jiǎng)金。
(7)返還金的真實(shí)性。銷售方不可能憑借虛假的返還金信息獲得返還金。
(8)中獎(jiǎng)率和返獎(jiǎng)率的驗(yàn)證性。銷售方可以解密每一張彩票,驗(yàn)證電子彩票的中獎(jiǎng)率和返獎(jiǎng)率。
(1)Zheng的簽密方案的優(yōu)點(diǎn)??紤]到彩票發(fā)行機(jī)構(gòu)與銷售方通信帶寬方面的限制,該方案簽密算法采用了 Zheng的簽密方案SCS1,該算法在計(jì)算以及通信帶寬方面都非常有效,因?yàn)橄⒌膶ΨQ加密不會(huì)引起數(shù)據(jù)的擴(kuò)展,所以簽密密文可以只用2|q|比特再加上被簽密消息的比特?cái)?shù)進(jìn)行發(fā)送。
(2)符合特定條件的隨機(jī)排序優(yōu)化算法優(yōu)點(diǎn)。該算法應(yīng)用了交換機(jī)制,每次交換時(shí),把隨機(jī)數(shù)組分為A[m+1]到A[K]已排序部分和 A[1]到 A[m]未排序部分,在未排序部分動(dòng)態(tài)產(chǎn)生均勻分布的隨機(jī)數(shù)。同時(shí)該算法采用自環(huán)機(jī)制(step4),如果隨機(jī)數(shù)j不滿足條件,則從起點(diǎn)j開始尋找第一個(gè)滿足條件的數(shù),以上兩種機(jī)制提高了該算法的計(jì)算效率節(jié)省了內(nèi)存。而方案中彩票隨機(jī)排序采用該算法,提高了彩票的生成效率。
(3)中獎(jiǎng)號(hào)碼與銷售數(shù)量的無關(guān)性。中獎(jiǎng)號(hào)碼提前設(shè)置,其隨機(jī)性與彩票銷售數(shù)量沒有關(guān)系,即開即兌,大幅度縮短了開獎(jiǎng)時(shí)間。
(4)購票者開獎(jiǎng)的簡便性。由于電子彩票發(fā)送過程采用Zheng的簽密方案,利用該簽密方案參數(shù)下求解離散對數(shù)問題的困難性設(shè)置中獎(jiǎng)號(hào)碼與彩票內(nèi)容,簡化了購票者的開獎(jiǎng)步驟,減少了發(fā)行方和銷售方的參數(shù)設(shè)置。
(5)購票者兌獎(jiǎng)的實(shí)時(shí)性。該方案通過設(shè)置銷售方領(lǐng)取返還金環(huán)節(jié),實(shí)現(xiàn)了彩票的即兌性,銷售方只需要發(fā)送真實(shí)的中獎(jiǎng)彩票內(nèi)容給發(fā)行方就可以領(lǐng)取到返還金,方便,快捷,可靠。
本文在即開型彩票例如刮刮樂等在國內(nèi)發(fā)行比較熱的背景下,提出了一種簡單的,容易實(shí)現(xiàn)的即開型電子彩票的發(fā)行方案。其特點(diǎn)是基于現(xiàn)行的彩票發(fā)行模式實(shí)現(xiàn)了即開型彩票整個(gè)發(fā)行過程的無紙化,與傳統(tǒng)的方式即把中獎(jiǎng)號(hào)碼作為中獎(jiǎng)彩票內(nèi)容相比,該方案采用中獎(jiǎng)號(hào)碼對應(yīng)的離散對數(shù)作為彩票內(nèi)容是一個(gè)改進(jìn),實(shí)現(xiàn)了中獎(jiǎng)?wù)吡⒓磧丢?jiǎng),也方便了銷售方領(lǐng)取返還金。
[1]鄭東,張彤,陳克非等.基于比特承諾的電子彩票方案[J].電子學(xué)報(bào).2000.
[2]鄭東,陳克非,尤晉元.電子彩票“離線”方案[J].通信學(xué)報(bào).2001.
[3]孫蕭寒.安全電子彩票方案研究[D].西安電子科技大學(xué).2008.