[发明专利]基于链表结构的可分电子现金构造方法有效
申请号: | 201910123498.3 | 申请日: | 2019-02-18 |
公开(公告)号: | CN109886663B | 公开(公告)日: | 2020-11-27 |
发明(设计)人: | 刘建华;刘佳嘉;程华;李军辉;张华忠;樊荣;华厚强;钟玲玲 | 申请(专利权)人: | 中国民用航空飞行学院 |
主分类号: | G06Q20/06 | 分类号: | G06Q20/06;G06Q20/38 |
代理公司: | 成都厚为专利代理事务所(普通合伙) 51255 | 代理人: | 夏柯双 |
地址: | 618300 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 结构 电子 现金 构造 方法 | ||
1.基于链表结构的可分电子现金构造方法,其特征在于,包括:
S1.设置电子现金系统的公共参数,具体包括:
定义S0是由L个连续的正整数组成的集合,正整数s1是集合S0中的最小数,正整数sL是集合S0中的最大数;集合SHi={si+1,si+2,···,sL},其中,si+1=si+1,集合SQi={s1,s2,···,si-1},其中,链表的每个节点都由集合S0中的一个正整数si(1≤i≤L)标识;
定义G1,G2,GT是阶为素数p的循环群,e为一个双线性映射且满足e(G1,G2)→GT;{G1,G2,GT,e}为一个双线性群,g,h,u1,u2,w为G1的生成元,为G2的生成元,为GT的生成元;
一个可信第三方生成以下参数:对每一个正整数s∈S0,随机选择rs,为整数集{1,2,…,(p-1)},且对每一个si∈S0\{s1}和sj∈SQi,其中,表示从节点si到sj;对每一个si∈S0\{sL}和sj∈SHi,
选定两个防碰撞的杂凑函数:H:和系统公共参数为
S2.生成密钥,具体包括生成银行密钥、用户密钥和商户密钥;
生成银行密钥:银行选择两个不同的签名算法Σ0和Σ1,Σ0=(Keygen,Sign,Verify),消息空间为Σ1=(Keygen,Sign,Verify),消息空间为银行设置密钥(sk1,pk1)←Σ1.Keygen(1k),并为链表的第i个节点设置1≤i≤L,对于每一个si∈S0,计算将银行私钥bsk设置为sk1,银行公钥bpk设置为
生成用户密钥:用户随机选择作为其私钥,计算其公钥upk=gusk;
生成商户密钥:商户随机选择作为其私钥,计算其公钥mpk=gmsk;
S3.电子现金交易,具体包括取款、支付和存钱中的至少一种;
取款:用户随机选择x,并计算然后将upk,以及关于x,y,usk的零知识证明发送给银行,称该零知识证明为第一零知识证明,如果是未被使用过的,且第一零知识证明有效,则银行使用签名算法Σ1对中的usk,x,y进行签名得到签名σ,这里x,y为用户的秘密值,并将签名σ发送给用户,当前指针指向节点s1;
支付:用户要使用的节点包括sc,sc+1,…,sc+l-1,记i=c+l-1,sc为当前指针标记的节点,在电子现金初次支付时,sc为s1,l为要支付的电子现金的价值,用户计算r=H(info),其中,info=(l,date,mpk,trans),date为支付时间,trans包含交易的商品的规格参数,用户提供一个知道usk,x,y,σ的零知识证明,称该零知识证明为第二零知识证明,所述第二零知识证明满足以下关系式:
将签名σ分成(z1,z2,z3,z4,),选择随机数计算用户选择随机数计算和z=k+C·x,记Π=(σ′,C,z),其中,用户将电子现金(l,Z,Π)发送给商户,商户收到电子现金(l,Z,Π)后,验证签名σ′和第二零知识证明的有效性,若二者都有效,则此次支付成功,当前指针指向节点si+1;
存钱:银行维护一个数据库DB用来存放商户的存款,数据库DB初始时为空;商户将(l,Z,Π)发给银行进行存储,银行首先检查Z是否已经被存储过,并验证(l,Z,Π)的有效性,该有效性指σ′和第二零知识证明的有效性,如果Z已经被存储过且(l,Z,Π)是无效的,则银行退出协议;
如果Z未被存储过且(l,Z,Π)是有效的,银行首先计算和检查是否已经存储到数据库DB上,若都没有存储到数据库DB上,则银行接受此次存款,返回结果给商户,商户完成存款;对于每一个sj∈{sc,sc+1,…,si-1},银行计算对于每一个sj∈{sc+1,sc+2,…,si},银行计算银行将c≤j≤i,添加到数据库DB上,所述c≤j≤i为电子现金序列号,同时保存(l,Z,Π);
若有一个在已经存在数据库DB中,那么存在一个电子现金(l′,Z′,Π′)在数据库DB中,电子现金(l′,Z′,Π′)使用了节点sc或si,银行返回[(l,Z,Π),(l′,Z′,Π′)]给商户。
2.根据权利要求1所述的基于链表结构的可分电子现金构造方法,其特征在于,所述可分电子现金构造方法还包括双花识别:
输入[(l,Z,Π),(l′,Z′,Π′)];
验证(l,Z,Π)和(l′,Z′,Π′)的有效性,若(l,Z,Π)和(l′,Z′,Π′)中任意一个无效,则返回⊥给银行,⊥表示失败;若(l,Z,Π)和(l′,Z′,Π′)均有效,且Z和Z′分别包含和对于k∈{1,2},对于每一个节点计算列表
若列表和列表中没有相同的元素,返回⊥;若列表和列表中有相同的元素,则存在使得及
若某个用户的公钥upk使公式成立,则该用户为双花用户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国民用航空飞行学院,未经中国民用航空飞行学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910123498.3/1.html,转载请声明来源钻瓜专利网。