第29卷第3期云南师范大学学报Vol. 29 Joumal of Yunnan Nonnal University 2∞9年5月May 2009 一个新的可分电子现金*米春连,张萌萌,肖群(云南财经大学商学院,云南昆明650221)摘要:电子现金的"可分性"是为了解决传统的找赎问题,即将一个大额的电子现金化整为零来实现对用户的找赎,以知识青年可分电子现金系统由于技术实现复杂,计算量大等原因,难以投入实用阶段,文章中将"可分性"转化为"等额支付基于秘密共享技术设计了一个可分电子现金系统,一旦超额支付便可得到共享的秘密一一消费者的身份,并将电子现金的金额明确标出,使电子现金像传统现金一样使用方便。关键词:可分性;等额支付;秘密分享中图分类号TN918文献标识码A文章编号1007-9793(2009)03-∞10 -05 可分电子现金是在支付总额不超过电子现金效率比较低。].C. Pailles提出的可分电子现金系金额的情况下,可合法支付多次,而不可分电子现统[2J效率太低,在支付中通信的复杂性是关于N金在使用时,进行支付的电子现金金额要与商品线性的,而N=总金额/可支付的最小金额,如一价格相等,且只能被支付一次。这要求消费者取个金额为367$的电子现金分为1$花费是非常款时必须先知道支付的金额或电子钱包里随时备低效的。有不同金额的电子现金,消费者必须提前取不同把单个现金分割成不同面值金额的子现金由面值的电子现金装在自己的电子钱包里,在支付于其技术复杂度,很难实现,相对而言,把单个现时同时支付多个电子现金,支付所花费用与支付金分割成金额相等的子现金技术上要容易实现且电子现金金额比率起过一定限度,此方案就效率计算复杂度也小一些。不高。也有一些情况下,消费者因为没有恰好商陈↑岂提出了一个利用秘密共享技术的可分电品价格的电子现金而无法进行购买,这造成消费子现金系统[3J它是基于智能卡的,秘密多项式f者使用电子现金极不方便,相比之下,可分电子现(x)存储在智能卡中,f ( x)中的常数项AI= 金更为实用。但由于技术实现复杂,计算量大等g~modp,I是消费者C的身份标识,假设此多荐式原因,至今仍然没有令人满意的结果。一开始,只是k次,也就可被计算出,可揭露重复花费者的有αmoto和κOhtα最初在1991年提出了如身份,让重复花费者受到惩罚,必要时承担相应的何构造脱线的可分电子现金[IJ0 αmoω利用法律责任。了二叉树表示方法。用二叉树结点表示电子现金,ω用二叉树结点表示法实现了电子1 秘密共享方案现金的可发性。但该电子现金系统[IJ有以下缺点:采用了"分割选择"技术使得商家和银行之间秘密共享方案[,6J就是将一个秘密分成多的通信量比较大,且银行为了防止电子现金重复个秘密并发给参与者,当授权的部分参与者将分花费,不得不保持比较庞大的数据库。支付和存发到各自手中的子秘密组合在一起可恢复原秘款协议计算复杂度比较大,密。Shar时等首次考虑了该问题,并给出了(n, k)门限秘密共享方案。在该方案中,任意大于k* 收稿日期:2∞8-06-06基金资助:教育部重点项目() ,云南省教育厅青年基金项目().作者简介:米春连(1988-) ,女(回族),云南省大理市人,电子商务专业学生.
第3期米春连,等:一个新的可分电子现金.11. 个参与者拿出自己的子秘密可复新构造秘密,而的子秘密就可恢复出秘密。故将它用在可分电子任何小于k个参与者的子秘密组合不能得到关于现金系统中,对于一个可花费k次的电子现金,我秘密的任何消息。们将消费者的身份作为秘密镶在里面,一旦该电下面给出一个可验证的秘密共享方案,其安子现金花费的次数多于k次,例如花费了k+l次,全性是基于离散对数困难问题。由分发者构造秘就可根据这k+l次的支付信息,计算出秘密即揭密多项式f(x):::工;二b,x'modq,b, E Zq'秘密为露消费者的身份,而当消费者的花费次数小于kf(O) ::: bk+ 1个互次时,关于该电子现金的所有支付信息加起来也。想得到秘密多项式只需有o不相同的子秘密,就可计算出,具体方案如下:不能得到任何关于消费者身份的信息。(1)初始化2 新的可分的电子现金系统分发者A选择两个在素数p,q,满足qlp -1, 鸟是乘法群ZJ的阶为素数q的子群,g是子群鸟yi我们基于和WK.切的方案[7]提出一的生成元,公开p,q,g。个新的利用秘密共享技术的可分电子现金系统,每个参与者P将他们的身份1,发送给分发iM不同的是为了彻底防欺诈,消费者C从银行B取者A。的电子现金里含着商家M提供的随机数rM,这样(2)秘密的分发商家M就不用担心此电子现金是否已花费过,此分发者A随机选择bεZq'在有限域Zq上构i方案适用于金额比较大的交易。造一个多项式f(吟。2 k (1)系统初始化f(x) = b+ bJx + bx+ + bkx,b, E Zq’ o 2银行B选择两个大素数pq满足qp-1l ,,Gq ,= 0,…k,b笋Ok是乘法群z;的阶为素数q的子群g,,酌,品是子βι::: l’modp,r=fUMJmod q i B群鸟的生成元。银行随机选择一个密钥XE 公开β"iZq’ ::: 0,…k,将r发送给参与者P,。i(3)秘密的验证对应的公钥为hg'modp银行B随机选择三个= ,参与者P,在收到r时,可通过下列等式来验单向Hαsh函数h()H() Ho() z保密,,,银行B把,i证该于秘密是否合法。公开pqgh(),,,gJhH() Ho()为简化起,品,,,,,::: 见,下面用hg'替代h::: g’mod p。p 矿=11IdnrLplod消费者C公开他的身份信息1:::矿,其中UJ假设分发者A不知道鸟,那么根据离散对数εZq是消费者C选择的秘密数。困难问题,他要找到r使得上式成立在计算上是(2)取款协议不可能的。且他不仅要找到一个满足止式的尺,他消费者C想向商家M采购商品,与商家M协要同时找到k个满足上式的ri。这样才能通过所有商好后,商家M随机选择rmε计算rM=g'mZq',参与者的验证。所以一旦上式成立,就说明分发者商家M通过秘密信道把rm传送给消费者C或是A确实知道每一个bi(i=0…k,),即参与者收到消费者C[句商家M提送公钥证书,商家M用消费的子秘密r是有效的。只要多于k个互不相同的,者C的公钥加密rm,并将其传送给消费者C,商家子秘密组合在一起就能得到秘密多项式f(川。M在自己的数据库中存人rM。消费者C获得rm后,(4)秘密的重建::: g'm计算rM。消费者C用零知识证明向银行B证k 1个参与者P+ J,…PkJ提供他们所拥有的+明他知I=41中的叭,但不泄露叫,银行B验证消子秘密i:::J11 k ,可根据下面的式,+ UMi,r,费者C是合法用户后,同意共取款。步骤如图1: 了求解秘密多项式f(x)。1 )消费者C向银行B提出取款请求。f(x) f(=叭)J:1:iz-ZJ/Zz-modq2)银行B查看消费者C的帐户如果有足够的主B金额,银行则同意取款。银行B随机选择ωε从而得到秘密f(O)b0 = O 然后计算而正Value z’ Value'g’" b’ 正因为共享秘密方案只要多于k个互不相同Zq'=,,=,= =
12 云南师范大学学报(自然科学版)第29卷Value"’. Value就是取款金额。将α"b',z'传送给消f(α) = u+ bα+ bα2 +…b旷,并计算δ=1 12k费者C。刷品,…,ßk)。消费者C对Vαlue,s,t,z,α,b,T,δM3)消费者C随机选择s,t,u,V E Zq'并计算m取Hash值c= H( V.αlue,s,t,z,α,b,T,δ) ,c’= c/u M= v.αlue' g’ ,Z = z" h’ ,α=α'UgV,b =α,ut b'旧me,消modq,消费者C将c'传送给银行Bo(注:可用含有费者C随机选择K个数bεZq,i=l,…,k,计算消费者C身份u的智能卡来生成秘密多项式1if(α)来保证β。中的u确是消费者C的有效身份)β。=dIA=di,i=1,…k.生成秘密多项式1C B 提出取款请求和金额Tequest , Value 同意其取款请求随机选择ωEZq m’ = V.αlue, z’ = Vjαlue" α'= gωb'= V.αlueω, ←α" b’,z’ 随机选择s,t,u,VεZq m = Vjαlue'g' z = z"h’ ,U V α=αg b =α,ut b’""mv δ= h(β。,…,βk)C = H( V.αlue ,s ,t ,z,α,b,T,δ) Mc’ = c/u modq c伽T’ = C主+ωmodq等一-TC验证g"毡'1h m’" lz’C’b’ 'α AU + urzcn u mo ny rg=? •-r Cm’ lzb 图I取款协议Fig. 1 The withdrawal protocol 4)银行B计算T'= CX +ωmod q,并将T'传送(3)支付协议给消费者C。消费者C在银行B处取得电子现金后,将电Cγ5)消费者C验证等式g"= h,而"=z"’b’ 子现金送往商家M处,商家M一旦验证此电子现是否成立。一旦通过验证则计算T=町'+V mod q, 金为合法电子现金,则将电子现金收下,把商品发然后验证等式g'= hCa,m’ = zCb是否成立,如果送给消费者C。假设消费者C将支付电子现金第j通过验证,则消费者C从银行B处取出了金额为次。具体步骤如图2。Vαlue的电子现金Coin= 1 v.αlue ,s ,t ,T,β。1)消费者C随机选择马εZq'计算n= g勺,Mjβk'(Z,α,b ,T) f。将电子现金Coin= 1 Value ,s ,t ,T,β0…,βk (z,α, M
13 第3期米春连,等:一个新的可分电子现金b ,r) I和n发送给商家M。则计算吃=HO(/M,DataITime,i析。),DatalTime j2)商家M收到电子现金Coin后,检查数据库是交易期限,L析。是对商品内容介绍,质量保证中r是否还在,然后验证Coin是否有效,即验证等。1是商家M的身份。商家M将司发送给消费MM等式g'者C= hCa,m’ = zCb是否成立,一旦通过验证,。C M Coin = j V,αlue ,S ,t ,r,β。…,βk'(Z,α,b,r) I M随机选择与EZq n= g勺j nj 检查数据库中r是否还在M计算δ=h(β。,…,ßk)C = H(Value,s,t,z,α,b,r,δ) Mm=v,αluesga C验证g'l hα cm’ lzb d= Ho (/M , DataITime, i析。)j 4 =f(dj)mod q 马马=djr m + Sj mod q …-l协巧,马验证g22H;:;β7g可24nJ保存吃;,巧,号,屿,Coin,j当j= k时,删除数据库中的rM固2支付协议白lepayment protocol 3)消费者C收到4后,将4代人秘密多项式同交易期限DαtelTime、商品信息i矿巾和自己的f(α) ,计算C身份1,一起发送给银行B,银行B把商家M在支j=f(吗)modq ,η= djr+马modd,然m M后将巧,η传送给商家M。付协议中验证的等式全部验证一遍。如果验证通过,则将相应的金额存人商家M的帐户。4)商家M验证等式d=H;:;β~J,g’j = (5)安全性分析rB句是否成立。前一个等式成立,说明消费者C的防重复花费:因为(rm,r)只有商家M知道,M确知道秘密多项式f(α),后一个等式成立说明消故Coin只能在商家M处花费。商家M不用担心因费者C的确是原来与之协商好的消费者,而不是为不能确定消费者的身份而遭受消费者重复花费其它非法冒充者。则商家M将鸣,巧,巧,吧,Coin,j的欺骗,因为在此系统中商家M未正式交易前依贮存在数据库中,当j= k时,商家M册除数据库据消费者C的请求秘密送给消费者C一个随机数中的rr,让消费者C在支付时必须证明其知道r,才能。Mmm(4)存款协议交易成功。每次交易数据商家M都会记录,一但j=k 商家M就删除r,消费者C想进行第k+ 1次商家M把在支付协议中收到的所有数据连M
. 14. 云南师范大学学报(自然科学版)第29卷支付时,商家M在数据库中查找不到r,支付元M法进行,如果商家M操作出错,在j= k时未将r参考文献:M删除,消费者C在商家M处进行了第k+ 1次支[ 1 ] T. Okamoto, K. Ohta, Universal electronic cash, In Ad›付,商家M可根据这k+l次支付信息计算出消费vanced in Cryptology -Crγpto ’91 ,Santa Barbara, Cali›者C的身份。fomia,Springer Verlag, 1992 ,324 -337. 防被盗用:非法用户即使得到电子现金Coin[ 2 ] J. C. Pailles, Ne s protocols for electronic money, Pro›后,他在不知秘密多项式f(α)和r的情况下,想mceedings of the Auscrypt’ 92,1993,263 -274. 花费电子现金Coin是不可能的。因为计算离散对[3] K. Chen, Y. Zhang, G. Xiao, Lam Kwok Yan. A Practi›数是个困难问题,要找到巧,巧,使得等式gical efficient anonymous divisible E -cash system, In Proceeding of the Intemational Wo rkshop on Crypto›口;:;4,r=枫同时成立,这在计算上是graphic Techniques and E -commerce ( CrypTEC ’ 99 ) 不可行的。HongKong, 1999 ,272 -278. 完全匿名性:消费者C只在取款时向银行B[ 4 ] A. Shamir, How to share a secret, Communications of the ACM,Novermber 1979,22(11) ,612 -613. 出示了身份证明,而取款协议中由于采用了"限[5] T. P. Pedersen, Non -interactive and information -the›制性盲签名"技术,银行B无法把收到的电子现oretic secure verifiable secret sharing, In Advances in 金与其合法用户对应起来,在支付协议中,消费者Cryptology -CRYRTO’ 91, LNCS576 ( 1992) , 129 C与商家M信息相互验证也未泄露任何关于身份-140. 的信息。因此,即使银行B与商家M勾结起来也不[6] P. Feldman, A practical scheme for non -interactive 能揭露消费者C的身份和对消费者C进行眼踪。secret sharing, In Proceedings of the 28thIEEE Sympo›由于此方案可以完全彻底地防止重复花费,消sium on the Foundations of Computer Science, IEEE 费者C是合法拥有者才能使用此电子现金,就是说Press,1987 ,427 -437. 此协议中商家M无论如何是不会上当受骗吃亏的,[7] A. Goh, WK. Yip, A divisible extension of the Brands 故协议中消费者C的身份是完全匿名的,即使银行digital cash protocol: K -Term coins implemented via secret shari吨,2000IEEE ,2000 ,452 -458. B和商家M句结也不知道消费者C是谁。A new divisible e -cash system MI Chun一lian,ZHANG Meng -meng ,XIAO Qun (College 01 commerce, Yunnan Trade And Financial Unive陌ity,Kunming 650221 ,China) Abstract : The divisibility of e -cash is used to address the traditional problem of change in a trade, that is, to break up a big coin into parts to accomplish payment. Early divisible e -cash system tumed to be unfeasible due to difficulties of complicated techonlogy realization and heavy calculation duty. This paper transforms" di›visibility" into" equal -value payment" and designs a divisible e -cash system based on verifiable secret sha›ring scheme. E -cash is divided into several equally valued sub -coins for payment. Once payment excess happens ,the shared secret information is obtained -identification of consumer. It enables e -cash to be con›venient in use as well as traditional cash by clear markings on itsvalue. Key words: divisibility; equal -value payment; secret sharing