网盛特卖
生意经 > 智库 > 电商百科 > > 电子现金具体方案

电子现金具体方案

  离线电子现金具体方案:

  初始化协议

  (只执行一次)

  银行B基于离散对数问题选择参数:选择两个大素数p、q 且q |(p-1)。定义乘法群ZP上的阶为素数q的子群Gq以及Gq的一个生成元组(g,g 1,g 2),银行B的签名私钥x∈Zq ,无碰撞单向散列函数H0、H1,银行B公开其公钥y =g x,以及p、q、g、g 1、g 2、H0、

  H1(为了简单起见,只考虑单一面额和单一有效期,不同签名私钥

  

  电子现金对应电子现金的不同面额。)

  用户U设置(开户协议):选取u1∈RZq,计算I U=(g 1) u1作为用户的银行账号,并将知识证明的签名SPK{a|I U=g 1 a}(m)传给银行,这里m表示用户的身份识别信息,银行验证此知识证明的签名,若验证成功,存储I U与用户的身份识别信息。

  取款协议

  (银行和用户之间的认证及盲签名协议)

  1. 用户→银行:用户先通过身份识别协议(如schnorr协议),向银行证明自己是其账号的持有者,然后将取款需求(电子现金的面值,数量等)传送给银行;

  2. 银行→用户:银行先验证用户提交的身份识别信息,然后选取w∈RZq,计算a 0=gw,b0=(I Ug 2)w,z0 = (I Ug 2)x ,传送a 0,b0 ,z0给用户。

  3. 用户→银行:选取x 1, x 2,s,u,v∈RZq ,计算B=g 1 x1g 2 x2,A=(I Ug 2) s ,z= (z0) s , a= (a 0)ugv , b=(b0)suAv ,c=H0(A‖B‖z‖a‖b) ,c 0=c/umod q, 传送c 0给银行。

  4. 银行→用户:计算r 0= w+c 0x mod q, 传送r 0给用户,同时借记用户的账号。

  5. 用户:检查gr 0 yc0a 0和 (I Ug 2)r0 (z0)c0b0 , 若验证通过, 则计算r=v+r 0u1 mod q 。取款协议实际上是一个盲签名协议,一个签名Sign(A, B)=(z,a,b,r)有效,当且仅当gr = yH0 (A‖B‖z‖a‖b)a和A r=zH0 (A‖B‖z‖a‖b)b成立。用户得到的电子现金为Coin = {A,B,Sign(A,B)}

关键词

优质好货 限量特惠