基于椭圆曲线盲签名的电子现金系统设计文档格式.docx
- 文档编号:15341365
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:3
- 大小:18.24KB
基于椭圆曲线盲签名的电子现金系统设计文档格式.docx
《基于椭圆曲线盲签名的电子现金系统设计文档格式.docx》由会员分享,可在线阅读,更多相关《基于椭圆曲线盲签名的电子现金系统设计文档格式.docx(3页珍藏版)》请在冰豆网上搜索。
由于在SET中只涉及四个对象:
用户U、银行Bank、商家Shop和认证中心CA,所以电子现金应该是在线、支持认证中心(CA)并由CA实现匿名性的控制,本文将利用基于椭圆曲线盲签名,设计一安全、实用、匿名可控的电子现金系统。
一、椭圆曲线盲签名算法
椭圆曲线数字签名一般是将基于离散对数的签名体制如Schnoor、EIGamal、DSA以及导出变种形式移植到椭圆曲线上,在文献中也给出了多种签名方案及盲签名方案。
设p是一个大素数,a,b∈GF(p),满足4a3+27b2≠0。
椭圆曲线E(a,b)(GF(p))可定义为点集(x,y)∈GF(p)*GF(p),满足y2=x3+ax+b,我们定义一个零元,用O表示,这样,这些点构成了一个阿贝尔群。
G是E(a,b)(GF(p))中的一个阶为q的元素。
d∈RZn*,是签名私钥,Q=dG是签名验证公钥。
Rx(A)表示点A的x坐标值,H是一个单向HASH函数,H:
{0,1}*→{0,1}k,我们用来表示两个串的连接。
系统的参数为{p,a,b,G,q,Q,d,H}。
椭圆曲线的Schnoor盲签名体制可描述
发送方随机选择一个整数k∈RZn*,计算kG;
接收方随机选择γ,δ∈RZn*,计算:
A=kG+γG+δQ,t=Rx(A)modn,c=H(mt),c’=c-δ,将c’送出。
发送方计算:
s’=k-c’d。
接收方计算:
s=s’+γ。
由于γ,δ是随机选择的,所以签名者不会知道签名的内容,盲签名的形式为。
从上过程可看出,kG可预先计算,当c’到来时,仅需一次乘法和一次加法运算就可完成签名,因此计算量小、运算速度快,签名结果也较短,比较适合电子现金系统使用。
二、电子现金系统方案设计
对于CA认证中心,需要使用系统参数建立ECDSA的数字签名。
随机选择xca∈GF(q)*作为自己的私钥,然后计算pca=xcaG,将pca作为自己的公开密钥。
同样,银行、用户的私钥分别为xb、xu,公钥分别为pb、pu。
将pca、pb、pu公开。
1.注册
用户提交自己的信息,由CA使用ECDSA进行签名,用于向用户提供包含其身份信息的电子执照。
在取款时必须出示该签名。
设ID为用户标识信息,包含姓名、身份证号等。
注册过程即用户向认证中心提供个人可信信息,存案备查。
即I=ECDSA(xcaH(ID)),此时,I相当于一个简单的数字证书。
取款协议
电子现金的核心协议,用户从自己的银行账户上提取电子现金。
为了保证用户匿名的前提下获得带有银行签名的合法电子现金,用户将与银行交互执行盲签名协议,同时银行必须确信电子现金上包含必要的用户身份。
设m为用户的取款信息,是个五元组{数量,面值,账号,时间,CA的签名I}。
取款信息中的I,向银行表明自己是一个合法的用户,银行利用CA的公开密钥pca来验证,这就保证了取款时用户必须提供自己的正确信息,从而在构造电子现金时嵌入这些信息,而银行又不知道信息的具体内容,用户的隐私也得到了保护。
其后的工作是使用ECDSA盲签名来完成取款过程。
描述
(1)用户:
任选z∈RZq*,计算T=ECDSA(xu(m)),,C=zG,c=Rx(C)∥Ry(C),将(m,T)送银行。
(2)银行:
用pb验证签名,Verify(pu(T));
任选k∈RZq*,计算Φ=kG,S=ECDSA(xb(Φ))
(3)用户:
收到(Φ,S)后,验证,Verify(pb(Φ));
θ,δ∈RZq*,计算A=Φ+θG+δpb,h=Rx(A)≠0modq,e=H(c∥h),e'=e-δ;
将e'送出;
(4)银行:
计算s’=k-e’xb;
(5)用户:
计算s=s’+θ;
验证e=H(c∥(Rx(epb+sG)modq));
验证推导过程略。
上式如果成立,(e,s)即为盲签名结果。
此时,银行就可以记录下)存入自己的数据库,同时从用户的账户上减去相应的取款数。
由上,得出电子现金的结构:
Coin={c,e,s,I}存款协议
存款的过程比较简单,经过一段交易周期后,商家将收到的电子现金到银行处进行存储。
商家将在支付中得到的电子现金Coin={c,e,s,I}和自己的账号传递给银行,银行首先对电子现金进行有效期检查,确认是否有效,然后使用核验自己和认证中心的签名{e,s},若无误,则开始搜索电子现金数据库,如搜索失败,表明此电子现金是第一次使用,银行将此{c,e,s,I}和交易日期时间存入数据库,并将此现金的数额存入商家的帐户。
若搜索成功,则表明在用户和商家中肯定有一个是欺诈者。
若新发送来的电子现金的交易日期、时间与搜索到的相同,说明商家在重复存储该电子现金。
否则说明用户在重复使用同一电子现金。
三、电子现金身份揭露
CA的存在,也使得对电子现金及其使用者的追踪变得容易,省去了许多复杂的计算。
1.重复使用者的揭露
银行知道电子现金的结构{c,e,s,I},发现重用的现金后,即从中提取出I信息,发送给CA,因I是CA对用户注册信息的签名,故CA有能力解密I,求出ID,然后将其发送给银行。
银行以c为关键字从自己的数据库中查找,找到,形成如下结构信息{ID,Φ,},这实际上是用户的身份识别信息。
问题现金追踪
当出现利用电子现金进行洗钱、诈骗等问题时,需要跟踪现金的使用,用户提交他的ID给银行,问题现金消费时,一定会出现相同的ID,银行计算出Φ=kG,可实现跟踪。
四、安全性分析
由于CA的引入,强化了安全保证,在电子现金中同时嵌入了CA和银行的签名,增加了伪造的难度,也满足了匿名性的要求。
方案安全性建立在椭圆曲线对数分解之上的,强度高于RSA方法,其分解是非常困难的,目前还没有有效的方法,本方案是安全的。
注意到参数域RZq*,单向函数H以及公钥pu、pb、pca、ps均是公开的,攻击者当然可以得到这些信息;
同时注册、取款、存款等交易业务过程均在公共网络平台之上,即存在可能的不安全信道,攻击者可能截获、;
从取款协议中可看出,由于δ、θ是随机选取的,e=H(c∥(Rx(Φ+θG+δpb)),因此伪造电子现金的签名相当于分解ECDLP难题。
如果攻击者截获了用户发给商家的Coin信息,意味着现金的丢失,解决办法是在支付协议中商家对用户进行质询。
商家发给用户,用户响应,由于计算中对于F=fG、C=zG,f和z是任选的,如前所述,攻击者想得知f、z是困难的,无法计算出ε=f-M’zmodq,故无法正确回答商家的质询,所以他也无法花费,商家更不会受骗而发货。
五、结语
本文设计的电子现金系统,结合SET协议模式,使用椭圆曲线盲签名,安全实用,符合目前电子现金的支付模式,能实现电子现金的匿名可撤销性;
缺点是需要认证中心CA一直在线,与其他方案相比,多了注册环节,且完成一次取款、支付到存款的过程需要5次签名,6次验证,因而效率有待于提高。
参考文献:
[1]Miller:
useofellipticcurveincryptography[A].Advancesincryptology-CRYPTO’85[C].springer-verlag,1984,417~426
张方国王常杰王育民:
基于椭圆曲线的数字签名与盲签名[J].通信学报,2001,22(8):
22~28
Davida,,:
Myung,AnonymityControlinE-cashsystems[A].inFinacialCryptography’97[C],(LNCS1318),1~16,
郭涛李之棠彭建芬吴世忠:
基于椭圆曲线的盲签名与离线电子现金协议[J].通信学报,2003,24(9):
142~146
蔡满春杨义先胡正名:
基于椭圆曲线密码体制的一种电子现金方案[J].北京邮电大学学报,2004,27
(2):
44~47
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 椭圆 曲线 签名 电子 现金 系统 设计