CN109886663B - 基于链表结构的可分电子现金构造方法 - Google Patents

基于链表结构的可分电子现金构造方法 Download PDF

Info

Publication number
CN109886663B
CN109886663B CN201910123498.3A CN201910123498A CN109886663B CN 109886663 B CN109886663 B CN 109886663B CN 201910123498 A CN201910123498 A CN 201910123498A CN 109886663 B CN109886663 B CN 109886663B
Authority
CN
China
Prior art keywords
bank
user
electronic cash
merchant
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910123498.3A
Other languages
English (en)
Other versions
CN109886663A (zh
Inventor
刘建华
刘佳嘉
程华
李军辉
张华忠
樊荣
华厚强
钟玲玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Civil Aviation Flight University of China
Original Assignee
Civil Aviation Flight University of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Civil Aviation Flight University of China filed Critical Civil Aviation Flight University of China
Priority to CN201910123498.3A priority Critical patent/CN109886663B/zh
Publication of CN109886663A publication Critical patent/CN109886663A/zh
Application granted granted Critical
Publication of CN109886663B publication Critical patent/CN109886663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种基于链表结构的可分电子现金构造方法,在本发明中,对于交易金额在链表长度L以下的交易,用于执行支付协议的运算量为常数,与支付金额无关,即用户只需要2次杂凑运算、3次循环群上的指数运算、1次签名运算、3次循环群上的指数等式的零知识证明和2次数字签名等式的零知识证明即可,提高了支付效率;此外,商户存储一个电子现金的计算量为常数,与电子现金的金额无关,即商户存储电子现金时,银行仅需进行4次对运算就可返回结果给商户,并告知商户存储是否成功,提高了进行电子现金存储的效率。

Description

基于链表结构的可分电子现金构造方法
技术领域
本发明涉及信息安全技术领域,特别是涉及一种基于链表结构的可分电子现金构造方法。
背景技术
可分电子现金一般涉及三个实体,即银行、用户和商户。可分电子系统允许用户从银行购买电子现金,然后分多次支付给商户,并能够为用户提供匿名性保护,以及实现对双花用户的身份追踪,同时还具有可分性,使用非常方便。
然而,现有的可分电子现金系统仅允许用户购买单个的电子现金,然后分多次使用。虽然这种电子现金在支付协议中能够满足任何额度的支付,但是可能需要较多的支付次数,且存储的时间较长,从而导致支付与存储效率的降低。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于链表结构的可分电子现金构造方法。
本发明的目的是通过以下技术方案来实现的:基于链表结构的可分电子现金构造方法,包括:
S1.设置电子现金系统的公共参数,具体包括:
定义S0是由L个连续的正整数组成的集合,正整数s1是集合S0中的最小数,正整数sL是集合S0中的最大数;集合SHi={si+1,si+2,···,sL},其中,si+1=si+1,
Figure BDA0001972791540000019
集合SQi={s1,s2,···,si-1},其中,
Figure BDA0001972791540000011
链表的每个节点都由集合S0中的一个正整数si(1≤i≤L)标识;
定义G1,G2,GT是阶为素数p的循环群,e为一个双线性映射且满足e(G1,G2)→GT;{G1,G2,GT,e}为一个双线性群,g,h,u1,u2,w为G1的生成元,
Figure BDA0001972791540000012
为G2的生成元,
Figure BDA0001972791540000013
为GT的生成元;
一个可信第三方生成以下参数:对每一个正整数s∈S0,随机选择
Figure BDA0001972791540000014
Figure BDA00019727915400000110
为整数集{1,2,…,(p-1)},且
Figure BDA00019727915400000111
对每一个si∈S0\{s1}和sj∈SQi
Figure BDA0001972791540000015
其中,
Figure BDA00019727915400000112
表示从节点si到sj;对每一个si∈S0\{sL}和sj∈SHi
Figure BDA0001972791540000016
选定两个防碰撞的杂凑函数:
Figure BDA0001972791540000017
Figure BDA0001972791540000018
系统公共参数为
Figure BDA0001972791540000021
S2.生成密钥,具体包括生成银行密钥、用户密钥和商户密钥;
生成银行密钥:银行选择两个不同的签名算法Σ0和Σ1,Σ0=(Keygen,Sign,Verify),消息空间为
Figure BDA0001972791540000022
Σ1=(Keygen,Sign,Verify),消息空间为
Figure BDA0001972791540000023
银行设置密钥(sk1,pk1)←Σ1.Keygen(1k),并为链表的第i个节点设置
Figure BDA0001972791540000024
1≤i≤L,对于每一个si∈S0,计算
Figure BDA00019727915400000218
将银行私钥bsk设置为sk1,银行公钥bpk设置为
Figure BDA0001972791540000025
生成用户密钥:用户随机选择
Figure BDA0001972791540000026
作为其私钥,计算其公钥upk=gusk
生成商户密钥:商户随机选择
Figure BDA0001972791540000027
作为其私钥,计算其公钥mpk=gmsk
S3.电子现金交易,具体包括取款、支付和存钱中的至少一种;
取款:用户随机选择
Figure BDA0001972791540000028
并计算
Figure BDA0001972791540000029
然后将
Figure BDA00019727915400000210
以及关于x,y,usk的零知识证明发送给银行,称该零知识证明为第一零知识证明,如果
Figure BDA00019727915400000211
是未被使用过的,且第一零知识证明有效,则银行使用签名算法Σ1
Figure BDA00019727915400000212
中的usk,x,y进行签名得到签名σ,并将签名σ发送给用户,这里x,y为用户的秘密值,用户设C←(x,y,σ),当前指针指向节点s1
支付:用户要使用的节点包括sc,sc+1,…,sc+l-1,记i=c+l-1,sc为当前指针标记的节点,在电子现金初次支付时,sc为s1,l为要支付的电子现金的价值,用户计算r=H(info),
Figure BDA00019727915400000213
其中,info=(l,date,mpk,trans),date为支付时间,trans包含交易的商品的规格参数,用户提供一个知道
Figure BDA00019727915400000219
σ的零知识证明,称该零知识证明为第二零知识证明,所述第二零知识证明满足以下关系式:
Figure BDA00019727915400000214
Figure BDA00019727915400000215
将签名σ分成(z1,z2,z3,z4,),选择随机数
Figure BDA00019727915400000216
计算
Figure BDA00019727915400000217
用户选择随机数
Figure BDA0001972791540000031
计算
Figure BDA0001972791540000032
和z=k+C·x,记
Figure BDA0001972791540000033
Π=(σ′,C,z),其中,
Figure BDA0001972791540000034
用户将电子现金(l,Z,Π)发送给商户,商户收到电子现金(l,Z,Π)后,验证签名σ′和第二零知识证明的有效性,若二者都有效,则此次支付成功,当前指针指向节点si+1
存钱:银行维护一个数据库DB用来存放商户的存款,数据库DB初始时为空;商户将(l,Z,Π)发给银行进行存储,银行首先检查Z是否已经被存储过,并验证(l,Z,Π)的有效性,如果Z已经被存储过且(l,Z,Π)是无效的,则银行退出协议;
如果Z未被存储过且(l,Z,Π)是有效的,银行首先计算
Figure BDA0001972791540000035
Figure BDA0001972791540000036
Figure BDA0001972791540000037
检查
Figure BDA0001972791540000038
是否已经存储到数据库DB上,若都没有存储到数据库DB上,则银行接受此次存款,返回结果给商户,商户完成存款;对于每一个sj∈{sc,sc+1,…,si-1},银行计算
Figure BDA0001972791540000039
对于每一个sj∈{sc+1,sc+2,…,si},银行计算
Figure BDA00019727915400000310
银行将
Figure BDA00019727915400000325
添加到数据库DB上,所述
Figure BDA00019727915400000311
为电子现金序列号,同时保存(l,Z,Π);
Figure BDA00019727915400000312
有一个在已经存在数据库DB中,那么存在一个电子现金(l′,Z′,Π′)在数据库DB中,电子现金(l′,Z′,Π′)使用了节点sc或si,j∈{c,c+1,…,i}相等,银行返回[(l,Z,Π),(l′,Z′,Π′)]给商户。
优选的,所述可分电子现金构造方法还包括双花识别:
输入[(l,Z,Π),(l′,Z′,Π′)];
验证(l,Z,Π)和(l′,Z′,Π′)的有效性,若(l,Z,Π)和(l′,Z′,Π′)中任意一个无效,则返回⊥给银行,
Figure BDA00019727915400000313
表示失败;若(l,Z,Π)和(l′,Z′,Π′)均有效,且Z和Z′分别包含
Figure BDA00019727915400000314
Figure BDA00019727915400000315
对于k∈{1,2},对于每一个节点
Figure BDA00019727915400000316
计算列表
Figure BDA00019727915400000317
若列表
Figure BDA00019727915400000318
和列表
Figure BDA00019727915400000326
中没有相同的元素,返回
Figure BDA00019727915400000319
若列表
Figure BDA00019727915400000320
和列表
Figure BDA00019727915400000321
中有相同的元素,则存在
Figure BDA00019727915400000322
使得
Figure BDA00019727915400000323
Figure BDA00019727915400000324
若某个用户的公钥upk使公式
Figure BDA0001972791540000041
成立,则该用户为双花用户。
本发明的有益效果是:
(1)本发明中,对于交易金额在链表长度L以下的交易,用于执行支付协议的运算量为常数,与支付金额无关,即用户只需要2次杂凑运算、3次循环群上的指数运算、1次签名运算、3次循环群上的指数等式的零知识证明和2次数字签名等式的零知识证明即可,提高了支付效率;
(2)本发明中,商户存储一个电子现金的计算量为常数,与电子现金的金额无关,即商户存储电子现金时,银行仅需进行4次对运算就可返回结果给商户,并告知商户存储是否成功,提高了进行电子现金存储的效率。
附图说明
图1为本发明的一种流程示意图。
具体实施方式
下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,本发明提供一种基于链表结构的可分电子现金构造方法:
所述基于链表结构的可分电子现金构造方法包括:
S1.设置电子现金系统的公共参数。
所述步骤S1具体包括:
S11.定义S0是由L个连续的正整数组成的集合,正整数s1是集合S0中的最小数,正整数sL是集合S0中的最大数;集合SHi={si+1,si+2,···,sL},其中,si+1=si+1,
Figure BDA0001972791540000042
集合SQi={s1,s2,···,si-1},其中,
Figure BDA0001972791540000043
链表的每个节点都由集合S0中的一个正整数si(1≤i≤L)标识。
S12.定义G1,G2,GT是阶为素数p的循环群,e为一个双线性映射且满足e(G1,G2)→GT,符号→表示映射;{G1,G2,GT,e}为一个双线性群,g,h,u1,u2,w为G1的生成元,
Figure BDA0001972791540000044
为G2的生成元,
Figure BDA0001972791540000045
为GT的生成元。
S13.一个可信第三方生成以下参数:对每一个正整数s∈S0,随机选择
Figure BDA0001972791540000046
Figure BDA0001972791540000047
为整数集{1,2,…,(p-1)},且
Figure BDA00019727915400000516
对每一个si∈S0\{s1}和sj∈SQi
Figure BDA0001972791540000051
其中,符号\表示去掉,符号
Figure BDA0001972791540000052
表示从...到...,
Figure BDA0001972791540000053
表示从节点si到sj;对每一个si∈S0\{sL}和sj∈SHi
Figure BDA0001972791540000054
S14.选定两个防碰撞的杂凑函数:
Figure BDA0001972791540000055
Figure BDA0001972791540000056
系统公共参数为
Figure BDA0001972791540000057
S2.生成密钥,所述密钥包括银行密钥、用户密钥和商户密钥。
所述步骤S2具体包括:
S21.生成银行密钥:
S211.银行选择两个不同的签名算法Σ0和Σ1,Σ0=(Keygen,Sign,Verify),消息空间为
Figure BDA00019727915400000518
Σ1=(Keygen,Sign,Verify),消息空间为
Figure BDA0001972791540000058
签名算法Σ0为a.Masayuki Abe,Jens Groth,Kristiyan Haralambiev,与MiyakoOhkubo在Crypto-2011上发布的基于非对称双线性群的结构保护型签名算法;签名算法Σ1为b.Jan Camenisch与Anna Lysyanskaya在Cryopto-2004上发布的签名算法,签名者不需要知道签名消息。
S212.银行设置密钥(sk1,pk1)←Σ1.Keygen(1k),并为链表的第i个节点设置
Figure BDA0001972791540000059
1≤i≤L,对于每一个si∈S0,计算
Figure BDA00019727915400000510
S213.将银行私钥bsk设置为sk1,银行公钥bpk设置为
Figure BDA00019727915400000511
这里符号←表示生成;
S22.生成用户密钥:用户随机选择
Figure BDA00019727915400000517
作为其私钥,计算其公钥upk=gusk
S23.生成商户密钥:商户随机选择
Figure BDA00019727915400000512
作为其私钥,计算其公钥mpk=gmsk
S3.电子现金交易,所述电子现金交易包括取款、支付和存钱中的至少一种;
所述步骤S3具体包括:
S31.取款:
S311.用户随机选择
Figure BDA00019727915400000513
并计算
Figure BDA00019727915400000514
S312.用户将
Figure BDA00019727915400000515
以及第一零知识证明发送给银行,所述第一零知识证明为关于x,y,usk的零知识证明。第一零知识证明可采用Schnorr在Crypto-89年提出的交互式方法。
S313.如果
Figure BDA0001972791540000061
是未被使用过的,且第一零知识证明有效,则银行使用签名算法Σ1
Figure BDA0001972791540000062
中的usk,x,y进行签名得到签名σ,这里x,y为用户的秘密值,并将签名σ发送给用户,当前指针指向节点s1
S32.支付:
S321.用户要使用的节点包括sc,sc+1,…,sc+l-1,记i=c+l-1,sc为当前指针标记的节点,在电子现金初次支付时,sc为s1,l为要支付的电子现金的价值。
S322.用户计算r=H(info),
Figure BDA0001972791540000063
其中,info=(l,date,mpk,trans),date为支付时间,trans包含交易的商品的规格参数。
S323.用户提供一个知道usk,x,y,gsi,hsisi,σ的零知识证明,称该零知识证明为第二零知识证明,所述第二零知识证明满足以下关系式:
Figure BDA0001972791540000064
Figure BDA0001972791540000065
符号^表示并且。
S324.将签名σ分成(z1,z2,z3,z4,),选择随机数
Figure BDA0001972791540000066
计算
Figure BDA0001972791540000067
S325.用户选择随机数
Figure BDA0001972791540000068
计算
Figure BDA0001972791540000069
和z=k+C·x,记
Figure BDA00019727915400000611
Π=(σ′,C,z),其中,
Figure BDA00019727915400000610
S326.用户将电子现金(l,Z,Π)发送给商户,商户收到电子现金(l,Z,Π)后,验证签名σ′和第二零知识证明的有效性,若二者都有效,则此次支付成功,当前指针指向节点si+1
S33.存钱:
S331.银行维护一个数据库DB用来存放商户的存款,数据库DB初始时为空。
S332.商户将(l,Z,Π)发给银行进行存储,银行首先检查Z是否已经被存储过,并验证(l,Z,Π)的有效性,该有效性指σ′和第二零知识证明的有效性,如果Z已经被存储过且(l,Z,Π)是无效的,则银行退出协议。
S333.如果Z未被存储过且(l,Z,Π)是有效的,银行首先计算
Figure BDA0001972791540000071
Figure BDA0001972791540000072
Figure BDA0001972791540000073
检查
Figure BDA0001972791540000074
是否已经存储到数据库DB上,若都没有存储到数据库DB上,则银行接受此次存款,返回结果给商户,商户完成存款。对于每一个sj∈{sc,sc+1,…,si-1},银行计算
Figure BDA0001972791540000075
对于每一个sj∈{sc+1,sc+2,…,si},银行计算
Figure BDA0001972791540000076
银行将
Figure BDA0001972791540000077
添加到数据库DB上,所述
Figure BDA0001972791540000078
为电子现金序列号,同时保存(l,Z,Π)。
S334.若
Figure BDA0001972791540000079
有一个在已经存在数据库DB中,那么存在一个电子现金(l′,Z′,Π′)在数据库DB中,电子现金(l′,Z′,Π′)使用了节点sc或si,银行返回[(l,Z,Π),(l′,Z′,Π′)]给商户。
所述可分电子现金构造方法还包括:S4.双花识别。
所述步骤S4包括:
S41.输入[(l,Z,Π),(l′,Z′,Π′)]。
S42.验证(l,Z,Π)和(l′,Z′,Π′)的有效性,若(l,Z,Π)和(l′,Z′,Π′)中任意一个无效,则返回
Figure BDA00019727915400000710
给银行,
Figure BDA00019727915400000711
表示失败;若(l,Z,Π)和(l′,Z′,Π′)均有效,且Z和Z′分别包含
Figure BDA00019727915400000712
Figure BDA00019727915400000713
对于k∈{1,2},对于每一个节点
Figure BDA00019727915400000724
计算列表
Figure BDA00019727915400000714
S43.若列表
Figure BDA00019727915400000715
和列表
Figure BDA00019727915400000716
中没有相同的元素,返回
Figure BDA00019727915400000717
若列表
Figure BDA00019727915400000718
和列表
Figure BDA00019727915400000719
中有相同的元素,则存在
Figure BDA00019727915400000720
使得
Figure BDA00019727915400000721
Figure BDA00019727915400000722
S44.若某个用户的公钥upk使公式
Figure BDA00019727915400000723
成立,则该用户为双花用户。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (2)

1.基于链表结构的可分电子现金构造方法,其特征在于,包括:
S1.设置电子现金系统的公共参数,具体包括:
定义S0是由L个连续的正整数组成的集合,正整数s1是集合S0中的最小数,正整数sL是集合S0中的最大数;集合SHi={si+1,si+2,···,sL},其中,si+1=si+1,
Figure FDA0001972791530000011
集合SQi={s1,s2,···,si-1},其中,
Figure FDA0001972791530000012
链表的每个节点都由集合S0中的一个正整数si(1≤i≤L)标识;
定义G1,G2,GT是阶为素数p的循环群,e为一个双线性映射且满足e(G1,G2)→GT;{G1,G2,GT,e}为一个双线性群,g,h,u1,u2,w为G1的生成元,
Figure FDA0001972791530000013
为G2的生成元,
Figure FDA0001972791530000014
为GT的生成元;
一个可信第三方生成以下参数:对每一个正整数s∈S0,随机选择rs,
Figure FDA0001972791530000015
Figure FDA0001972791530000016
为整数集{1,2,…,(p-1)},且
Figure FDA0001972791530000017
对每一个si∈S0\{s1}和sj∈SQi
Figure FDA0001972791530000018
其中,
Figure FDA0001972791530000019
表示从节点si到sj;对每一个si∈S0\{sL}和sj∈SHi
Figure FDA00019727915300000110
选定两个防碰撞的杂凑函数:H:
Figure FDA00019727915300000111
Figure FDA00019727915300000112
系统公共参数为
Figure FDA00019727915300000113
S2.生成密钥,具体包括生成银行密钥、用户密钥和商户密钥;
生成银行密钥:银行选择两个不同的签名算法Σ0和Σ1,Σ0=(Keygen,Sign,Verify),消息空间为
Figure FDA00019727915300000114
Σ1=(Keygen,Sign,Verify),消息空间为
Figure FDA00019727915300000115
银行设置密钥(sk1,pk1)←Σ1.Keygen(1k),并为链表的第i个节点设置
Figure FDA00019727915300000116
1≤i≤L,对于每一个si∈S0,计算
Figure FDA00019727915300000117
将银行私钥bsk设置为sk1,银行公钥bpk设置为
Figure FDA00019727915300000118
生成用户密钥:用户随机选择
Figure FDA00019727915300000119
作为其私钥,计算其公钥upk=gusk
生成商户密钥:商户随机选择
Figure FDA00019727915300000120
作为其私钥,计算其公钥mpk=gmsk
S3.电子现金交易,具体包括取款、支付和存钱中的至少一种;
取款:用户随机选择x,
Figure FDA0001972791530000021
并计算
Figure FDA0001972791530000022
然后将upk,
Figure FDA0001972791530000023
以及关于x,y,usk的零知识证明发送给银行,称该零知识证明为第一零知识证明,如果
Figure FDA0001972791530000024
是未被使用过的,且第一零知识证明有效,则银行使用签名算法Σ1
Figure FDA0001972791530000025
中的usk,x,y进行签名得到签名σ,这里x,y为用户的秘密值,并将签名σ发送给用户,当前指针指向节点s1
支付:用户要使用的节点包括sc,sc+1,…,sc+l-1,记i=c+l-1,sc为当前指针标记的节点,在电子现金初次支付时,sc为s1,l为要支付的电子现金的价值,用户计算r=H(info),
Figure FDA0001972791530000026
其中,info=(l,date,mpk,trans),date为支付时间,trans包含交易的商品的规格参数,用户提供一个知道usk,x,y,
Figure FDA0001972791530000027
σ的零知识证明,称该零知识证明为第二零知识证明,所述第二零知识证明满足以下关系式:
Figure FDA0001972791530000028
Figure FDA0001972791530000029
将签名σ分成(z1,z2,z3,z4,),选择随机数
Figure FDA00019727915300000210
计算
Figure FDA00019727915300000211
用户选择随机数
Figure FDA00019727915300000212
计算
Figure FDA00019727915300000213
和z=k+C·x,记
Figure FDA00019727915300000214
Π=(σ′,C,z),其中,
Figure FDA00019727915300000215
用户将电子现金(l,Z,Π)发送给商户,商户收到电子现金(l,Z,Π)后,验证签名σ′和第二零知识证明的有效性,若二者都有效,则此次支付成功,当前指针指向节点si+1
存钱:银行维护一个数据库DB用来存放商户的存款,数据库DB初始时为空;商户将(l,Z,Π)发给银行进行存储,银行首先检查Z是否已经被存储过,并验证(l,Z,Π)的有效性,该有效性指σ′和第二零知识证明的有效性,如果Z已经被存储过且(l,Z,Π)是无效的,则银行退出协议;
如果Z未被存储过且(l,Z,Π)是有效的,银行首先计算
Figure FDA00019727915300000216
Figure FDA00019727915300000217
Figure FDA00019727915300000218
检查
Figure FDA00019727915300000219
是否已经存储到数据库DB上,若都没有存储到数据库DB上,则银行接受此次存款,返回结果给商户,商户完成存款;对于每一个sj∈{sc,sc+1,…,si-1},银行计算
Figure FDA00019727915300000220
对于每一个sj∈{sc+1,sc+2,…,si},银行计算
Figure FDA0001972791530000031
银行将
Figure FDA0001972791530000032
c≤j≤i,添加到数据库DB上,所述
Figure FDA0001972791530000033
c≤j≤i为电子现金序列号,同时保存(l,Z,Π);
Figure FDA0001972791530000034
有一个在已经存在数据库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′分别包含
Figure FDA0001972791530000035
Figure FDA0001972791530000036
对于k∈{1,2},对于每一个节点
Figure FDA0001972791530000037
计算列表
Figure FDA0001972791530000038
若列表
Figure FDA0001972791530000039
和列表
Figure FDA00019727915300000310
中没有相同的元素,返回⊥;若列表
Figure FDA00019727915300000311
和列表
Figure FDA00019727915300000312
中有相同的元素,则存在
Figure FDA00019727915300000313
使得
Figure FDA00019727915300000314
Figure FDA00019727915300000315
若某个用户的公钥upk使公式
Figure FDA00019727915300000316
成立,则该用户为双花用户。
CN201910123498.3A 2019-02-18 2019-02-18 基于链表结构的可分电子现金构造方法 Active CN109886663B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910123498.3A CN109886663B (zh) 2019-02-18 2019-02-18 基于链表结构的可分电子现金构造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910123498.3A CN109886663B (zh) 2019-02-18 2019-02-18 基于链表结构的可分电子现金构造方法

Publications (2)

Publication Number Publication Date
CN109886663A CN109886663A (zh) 2019-06-14
CN109886663B true CN109886663B (zh) 2020-11-27

Family

ID=66928386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910123498.3A Active CN109886663B (zh) 2019-02-18 2019-02-18 基于链表结构的可分电子现金构造方法

Country Status (1)

Country Link
CN (1) CN109886663B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850984A (zh) * 2014-05-13 2015-08-19 电子科技大学 一种离线电子货币支付的安全运行方法
CN107644339A (zh) * 2017-09-26 2018-01-30 中国民用航空飞行学院 一种基于三叉树的可分电子现金构造方法
WO2018063605A1 (en) * 2016-09-27 2018-04-05 Intel Corporation Trusted vehicle telematics using blockchain data analytics

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850984A (zh) * 2014-05-13 2015-08-19 电子科技大学 一种离线电子货币支付的安全运行方法
WO2018063605A1 (en) * 2016-09-27 2018-04-05 Intel Corporation Trusted vehicle telematics using blockchain data analytics
CN107644339A (zh) * 2017-09-26 2018-01-30 中国民用航空飞行学院 一种基于三叉树的可分电子现金构造方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"电子现金协议研究综述";李舟军等;《计算机科学与探索》;20171130(第11期);全文 *

Also Published As

Publication number Publication date
CN109886663A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
Eng et al. Single-term divisible electronic coins
US20190164153A1 (en) Blockchain system for confidential and anonymous smart contracts
JP5159173B2 (ja) 方法、電子決済システム、コンピュータ・プログラム、発行者、アクセプタ、バリデータ、エミッタ(取引を自動的に妥当性検査する方法、電子支払いシステム、およびコンピュータ・プログラム)
Camenisch et al. Compact e-cash
Miers et al. Zerocoin: Anonymous distributed e-cash from bitcoin
Canard et al. Divisible e-cash made practical
CN109903026A (zh) 基于区块链的事件处理方法及装置、电子设备
Fan et al. Low-computation partially blind signatures for electronic cash
EP3420669A1 (en) Cryptographic method and system for secure extraction of data from a blockchain
Canard et al. Multiple denominations in e-cash with compact transaction data
Nakanishi et al. Unlinkable divisible electronic cash
CN109493053A (zh) 一种用于联盟区块链系统的匿名交易方法
CN109921900A (zh) 一种分布式密钥生成的算法
Au et al. Practical compact e-cash
CN101807990B (zh) 基于辫群的盲化数字签名系统和方法
US9454755B2 (en) Transaction method between two entities providing anonymity revocation for tree-based schemes without trusted party
Mambo et al. Unlinkable electronic coupon protocol with anonymity control
CN114424223A (zh) 可分割代币
Kokaras et al. The cost of privacy on blockchain: A study on sealed-bid auctions
CN109886663B (zh) 基于链表结构的可分电子现金构造方法
Wang et al. An improved off-line electronic cash scheme
Canard et al. Scalable divisible e-cash
Al-Fayoumi et al. Practical e-payment scheme
Varadharajan et al. On the design of efficient RSA-based off-line electronic cash schemes
Jakobsson et al. Applying anti-trust policies to increase trust in a versatile e-money system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant