理论教育 基于RSA的电子现金协议实例

基于RSA的电子现金协议实例

时间:2023-10-28 理论教育 版权反馈
【摘要】:基于RSA签名的电子现金协议是由Chaum于1982年提出的。它是一个在线电子现金方案,由以下几个部分组成。初始化协议①银行选择大素数p、q,计算:n=pq。提款协议顾客向银行证明身份后,提出取款要求,银行允许后双方执行以下协议。③银行确定电子现金的有效性及有无重复花费,若无,则将商家的账户增加相应的金额,同时将此笔电子现金存入资料库中。为防止电子现金重复花费,银行需要维护所有花费过的电子现金数据库,该数据库会无限增长。

基于RSA的电子现金协议实例

基于RSA签名的电子现金协议是由Chaum于1982年提出的。它是一个在线电子现金方案,由以下几个部分组成。

(1)初始化协议

银行选择大素数p、q,计算:n=pq。

②银行选取公钥e,满足gcd(e,(p-1)(q-1))=1。

③银行用欧几里得扩展算法计算私钥d,使之满足:ed=1 modφ(n),φ(n)是欧拉函数。

e和n是公开的,d是保密的,p、q及φ(n)由银行秘密销毁。H()是公开的单向函数。

(2)提款协议

顾客向银行证明身份后,提出取款要求,银行允许后双方执行以下协议。

①顾客随机选择m,选取随机数r∈Z*n作为盲因子,计算

并将m′发送给银行。

②银行用自己的私钥对m′签名(www.daowen.com)

并将s′发送给顾客。

③顾客对签名进行除盲

可得到电子现金{m,[H(m)]d}。

(3)支付及存款协议

①顾客将电子现金{m,[H(m)]d}传送给商家。

②商家验证{m,[H(m)]d}e=H(m)mod n,如果等式成立,将电子现金传送给银行。

③银行确定电子现金的有效性及有无重复花费,若无,则将商家的账户增加相应的金额,同时将此笔电子现金存入资料库中。

该协议是最早被提出的电子现金协议,效率也较高。但是,它也存在一些安全问题:①该协议对顾客的隐私是无条件保护的,容易被不法分子利用,进行洗黑钱等犯罪活动;②该协议中的电子现金未嵌入顾客的任何身份信息,从而拥有该电子现金的任何人都可花费该电子现金。

盲签名使得用户能够在不泄露待签名信息m的内容的前途下取得银行的签名,但是银行必须确信m是依据正确的方式生成的,为了追踪重复花费者,还必须包含用户的身份信息。Chaum首先提出了剖分选择方法来解决这一问题,但剖分选择方法会极大地降低系统的效率。为防止电子现金重复花费,银行需要维护所有花费过的电子现金数据库,该数据库会无限增长。为了避免数据库无限增长,一种解决方法是规定电子现金的有效期,那么数据库中所有超期的电子现金记录就可以删除掉。另一种解决方法是使用部分盲签名和公平盲签名。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈