CN104850984B - 一种离线电子货币支付的安全运行方法 - Google Patents

一种离线电子货币支付的安全运行方法 Download PDF

Info

Publication number
CN104850984B
CN104850984B CN201510225247.8A CN201510225247A CN104850984B CN 104850984 B CN104850984 B CN 104850984B CN 201510225247 A CN201510225247 A CN 201510225247A CN 104850984 B CN104850984 B CN 104850984B
Authority
CN
China
Prior art keywords
user terminal
spk
bank server
zero knowledge
generate
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.)
Expired - Fee Related
Application number
CN201510225247.8A
Other languages
English (en)
Other versions
CN104850984A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology 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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201510225247.8A priority Critical patent/CN104850984B/zh
Publication of CN104850984A publication Critical patent/CN104850984A/zh
Application granted granted Critical
Publication of CN104850984B publication Critical patent/CN104850984B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

本发明公开了一种离线电子货币支付的安全运行方法,属于网络安全技术领域。本发明包括:银行服务器初始化系统参数,用户端与银行服务器交互建立账户;用户端用零知识证明协议证明身份并取款;在交易时,收款和付款用户端再次利用零知识证明协议在隐私保护的方式下完成支付过程;在收款用户端得到电子货币证据后,通过随机化协议匿名与银行服务器交互,兑换电子货币或将货币存入银行。本发明适用于网络信号弱的移动电子商务环境中,具有保护付款和收款双方用户的隐私,满足收款用户对电子货币的自由支配、完美模拟现实货币的优点,实现了隐私性、平衡性和无法脱罪性,保障了电子商务支付的安全性。

Description

一种离线电子货币支付的安全运行方法
技术领域
本发明属于网络安全技术领域,具体涉及移动电子商务中离线电子货币支付的安全运行方法。
背景技术
近年来,由于智能手机、平板电脑等移动设备的普及和3G、4G网络的发展,移动电子商务得到了快速崛起,并呈现出爆发式的发展势头。但在网络安全威胁日益严重的今天,移动电子商务的安全成为一个不容忽视的重要问题。由于无线网络体系结构的不安全性,使得移动电子商务比传统电子商务存在更多的威胁。因此,如何让用户放心地使用移动设备进行电子支付成为亟需解决的问题。目前最普遍的三种移动支付模式是信用卡,电子钱包和手机支付。但是,这些支付方式有一个共同的特点是支付时必须得访问网络,即需要外部的服务器来管理支付过程,这使得其应用和普及受到了限制,例如在无线蜂窝网络中,移动设备在无信号的地方无法连接到服务器,而只能实现同一个蜂窝网络的用户可以相互通信,对于需要服务器参与支付过程的电子支付方式就无法运行。而且,这些支付方式并不保护用户的隐私,这使得用户在交易的过程中泄漏一些关键的个人信息,例如身份信息和位置信息,这些信息的泄漏可能间接造成用户的身体伤害和财产的损失。因此,寻找能够模拟现实世界的交易场景的移动电子支付方式是一项意义重大且富有挑战的工作。
电子货币(Electronic Cash)又称为数字现金或数字货币,是现实货币在数字世界的替代物,它既具有真实货币的便携性、无交易费用的优点,又能够在数字世界中使用,是一种重要的电子商务支付方式,广泛地用于网络中的小额现金交易。通常情况下,电子货币系统包括三个主体:客户、商家和银行,以及四个安全交互协议:开户协议、取款协议、支付协议和存款协议。客户首先与银行执行开户协议建立账户。用户通过与银行运行取款协议得到电子货币后,就与商家执行支付协议将电子货币支付给商家,商家最后与银行运行存款协议将电子货币存入银行。1982年,Chaun提出了利用盲签名技术构造了第一个电子货币协议,能够保护客户的隐私。但这种客户身份完全匿名的电子商务支付方式给违法犯罪分子提供了可乘之机。后来,Stadler等人利用公平盲签名构造了条件匿名的电子货币支付系统,使得客户的匿名性是不完全的,可以被信任的第三方撤销。1993年,Franklin等人提出了公平的离线电子现金的概念,并利用不经意认证子构造了离线电子货币方案。2007年,可分割的电子货币(离线电子货币)系统也在欧密会上被提出,而作为一个安全实用的电子货币协议,匿名性、平衡性和无法脱罪性是三个基本的性质。匿名性又称为隐私性,是指电子货币在支付过程中不会泄漏客户的支付地点、支付模式和个人信息;平衡性是指即使客户和商家合谋也无法在银行不察觉的情况下存储大于提取数额的电子货币;无法脱罪性是指任何不诚实的参与者在二次使用电子货币后无法逃避责任。
目前,构造实用的电子货币协议所用到的技术主要有三种:盲数字签名、认证和零知识证明,但这些方案普遍存在以下问题:
(1)商家支配收到的电子货币的便捷性差,即商家只有先将获得的电子货币通过与银行运行存款协议将收到的电子货币存入银行,然后再通过与银行运行取款协议,提取重新生成的电子货币来实现支配使用;
(2)盲签名、零知识证明等技术虽然实现了客户的隐私保护,但无法保护商家的隐私,因为单纯的使用零知识证明无法实现商家的隐私保护,即客户在向商家支付电子货币时,可以直接获取商家的身份信息,从而导致商家的身份信息对客户和银行是公开的,而给商家带来极大的潜在风险和威胁。
因此有必要对现行的离线电子货币支付的运行进行改进,提升离线电子货币系统的隐私性,实现对离线电子货币支付和收取双方的隐私保护。
发明内容
本发明的发明目的在于:针对上述问题,提供一种离线电子货币支付的安全运行方法,隐私保护的离线电子货币的实现方法,既能保护客户和商家的个人隐私,又实现了移动电子商务中快捷安全的支付模式。
一种离线电子货币支付的安全运行方法,包括银行服务器和用户端,分别执行下列步骤:
步骤a.银行服务器初始化系统参数:
选择安全参数k,基于安全参数k选择大素数p,设置p阶有限域上的p阶加法循环群G1、GT,从群G1中选择生成元g、g0、g1、h、h0、h1、h2从群GT中选择一个随机数记为HT,设置双线性对为从群G1到群GT的映射并基于生成元g和h计算两个双线性映射值从模p的加法循环群Zp中选择随机数α、β作为私钥,并计算得到公钥W=gα,X=gβ,设置两个抗碰撞哈希函数H1和H2,其中H1为从0和1组成的比特序列集映射到群GT,H2为从0和1组成的比特序列集映射到群Zp
步骤b.账户建立:
步骤b1:用户端从群Zp中选择用户端主密钥u和随机数s′,生成用户端的身份标识U=Gu和承诺密钥
用户端运行零知识证明协议PK1生成PK1承诺值,其中零知识证明协议PK1的陈述为:符号“∧”表示逻辑与;
用户端将身份标识U、承诺密钥C和PK1承诺值发送给银行服务器;
步骤b2:银行服务器生成PK1挑战值并发送给用户端;
步骤b3:用户端生成PK1响应值并发送给银行服务器;
步骤b4:银行服务器验证零知识证明协议PK1是否有效,若否,则拒绝开户;否则,存储用户端的身份标识U,并从群Zp中选择随机数s″和e,根据公式计算得到参数A,并将A、e、s″发送给用户端;
步骤b5:用户端存储账户(A,e,s,u),其中参数s=s′+s″;
步骤c.用户取款:
步骤c1:用户端从群Zp中选择随机数t′和v′,生成取款承诺
用户端运行零知识证明协议PK2生成PK2承诺值,其中零知识证明协议PK2的陈述为:
用户端将取款承诺C′和PK2承诺值发送给银行服务器;
步骤c2:银行服务器生成PK2挑战值并发送给用户端;
步骤c3:用户端生成PK2响应值并发送给银行服务器;
步骤c4:银行服务器验证零知识证明协议PK2是否有效和确认身份标识U是否为当前用户端的身份标识,若否,则拒绝取款;若是,则从群Zp中选择随机数t″、f和v″,根据公式计算得到参数B,并将B、f、t″、v″发送给用户端;
步骤c5:用户端存储电子货币(B,f,t,v),其中参数t=t′+t″,v=v′+v″;
步骤d.付款人支付收款人电子货币:
步骤d1:收款用户端生成交易信息INFO,所述交易信息INFO包含支付金额、支付时间、支付理由,选择随机数作为交易时间戳N,基于交易信息INFO和交易时间戳N生成交易标识符
收款用户端运行零知识证明协议PK3生成PK3承诺值,其中零知识证明协议PK3的陈述为:其中账户(A*,e*,s*,u*)中的各参数对应步骤b5中的A、e、s、u,上标“*”用于标识账户(A*,e*,s*,u*)的拥有用户端为收款用户端,符号“||”表示追加操作;
收款用户端将交易标识符M、交易时间戳N和PK3承诺值发送给付款用户端;
步骤d2:付款用户端生成PK3挑战值并发送给收款用户端;
步骤d3:收款用户端生成PK3响应值并发送给付款用户端;
步骤d4:付款用户端验证零知识证明协议PK3是否有效,若否,则拒绝支付;否则,计算交易信息哈希值R=H2(INFO||N||M)和电子货币编号S=Hv
付款用户端运行零知识证明协议SPK生成SPK承诺值,其中零知识证明协议SPK的陈述为:
付款用户端基于SPK的承诺值生成SPK挑战值,并基于所述SPK挑战值生成SPK响应值;
付款用户端将交易信息哈希值R、电子货币编号S和SPK响应值、SPK挑战值发送给收款用户端;
步骤d5:收款用户端验证零知识证明协议SPK是否有效,若否,则拒绝并终止交易;否则,存储电子货币证据(SPK,S,INFO,N,M),其中参数SPK为SPK响应值和SPK挑战值;
步骤e.用户兑换电子货币:
步骤e1:用户端运行零知识证明协议PK3生成PK3承诺值,并将电子货币证据(SPK,S,INFO,N,M)和PK3承诺值发送给银行服务器;
步骤e2:银行服务器生成PK3挑战值并发送给用户端;
步骤e3:用户端生成PK3响应值并发送给银行服务器;
步骤e4:银行服务器验证零知识证明协议PK3是否有效和基于电子货币证据中的SPK响应值、SPK挑战值验证零知识证明协议SPK是否有效,若否(任一项验证为否),则拒绝兑换;若是(两项验证均为是),则计算交易信息哈希值R=H2(INFO||N||M),验证交易信息哈希值R和时间戳N在本端是否已经存在,若是,则拒绝兑换;否则执行步骤e5;
步骤e5:银行服务器提示用户端证明身份标识,并为用户端生成新的电子货币:
步骤e5-1:基于银行服务器的提示信息,用户端从群Zp中选择随机数生成兑换承诺
用户端运行零知识证明协议PK4生成PK4承诺值,其中零知识证明协议PK4的陈述为:
用户端将兑换承诺和PK4承诺值发送给银行服务器;
步骤e5-2:银行服务器生成PK4挑战值并发送给用户端;
步骤e5-3:用户端生成PK4响应值并发送给银行服务器;
步骤e5-4:银行服务器验证零知识证明协议PK4是否有效,若否,则拒绝兑换;否则从群Zp中选择随机数根据公式计算得到参数并将发送给用户端;
步骤e5-5:用户端存储新的电子货币其中参数
步骤e6:银行服务器存储电子货币证据(SPK,S,INFO,N,M);
步骤f.用户存款:
步骤f1:用户端运行零知识证明协议PK5生成PK5承诺值,其中零知识证明协议PK5的陈述为:
用户端将电子货币证据(SPK,S,INFO,N,M)和PK5承诺值发送给银行服务器;
步骤f2:银行服务器生成PK5挑战值并发送给用户端;
步骤f3:用户端生成PK5响应值并发送给银行服务器;
步骤f4:银行服务器验证零知识证明协议PK5是否有效和基于电子货币证据中的SPK响应值、SPK挑战值验证零知识证明协议SPK是否有效,若否(任一项验证为否),则拒绝兑换;若是(两项验证均为是),则基于当前电子货币证据(SPK,S,INFO,N,M)计算交易信息哈希值R=H2(INFO||N||M),并判断交易信息哈希值R和时间戳N是否在本端已经存在,若是,则拒绝兑换;否则,则接受存款;
步骤f5:银行服务器存储电子货币证据(SPK,S,INFO,N,M)。
进一步的,本发明在电子货币证据中增加了追踪标识符以实现对付款人二次使用电子货币的欺骗追踪处理,其具体处理为:
在所述步骤d3中,当付款用户端验证零知识证明协议PK3为有效时,还计算追踪标识符并发送给收款用户端;则在步骤d4中存储的电子货币证据为(SPK,S,T,INFO,N,M);
步骤e4为:银行服务器判断电子货币证据(SPK,S,T,INFO,N,M)中的电子货币编号S是否在本端已经存在,若是,则执行欺骗追踪处理;否则存储电子货币证据(SPK,S,T,INFO,N,M);
步骤f3为:银行服务器判断电子货币证据(SPK,S,T,INFO,N,M)中的电子货币编号S是否在本端已经存在,若是,则执行欺骗追踪处理;否则存储电子货币证据(SPK,S,T,INFO,N,M);
欺骗追踪处理为:银行服务器将与当前电子货币证据(SPK,S,T,INFO,N,M)具有相同电子货币编号S的本端电子货币证据定义为二次电子货币证据,分别计算当前电子货币证据和二次电子货币证据的交易信息哈希值R(对应当前电子货币证据)和R′,根据公式计算身份标识U,基于所述身份标识U追踪到对应付款人,其中T′表示二次电子货币证据中的追踪标识符。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
(1)本发明所提供的电子货币的支付范围更加广泛,并不局限于客户从商家处购买商品并支付电子货币的场景,而是可应用于付款人和收款人之间的现金交易;
(2)本发明扩大了零知识证明的使用范畴,将零知识证明应用到了保护收款人的隐私中,在保证电子货币的安全性的同时,保证了付款人和收款人的隐私,更适合于移动电子商务环境;
(3)本发明允许收款人在不泄漏自己身份的前提下兑换电子货币或将电子货币存入银行,使得收款方可自由支配自己的货币:用于支付或存入银行。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是零知识证明协议的证明和验证过程流程图;
图2是本发明具体实施方式的离线电子货币协议的实现过程示意图;
图3是本发明具体实施方式的离线电子货币协议的用户开户过程示意图;
图4是本发明具体实施方式的离线电子货币协议的用户取款过程示意图;
图5是本发明具体实施方式的离线电子货币协议的付款人支付过程示意图;
图6是本发明具体实施方式的离线电子货币协议的收款人兑换过程示意图;
图7是本发明具体实施方式的离线电子货币协议的收款人存款过程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。
本发明是以密码学理论为基础,提供一种隐私保护的离线电子货币支付的安全运行方法,以满足移动电子商务中的支付需求。在付款人支付过程中,无需银行的参与,而且在整个支付过程中,保护了收款人和付款人的隐私,实现了电子货币系统匿名性、平衡性和无法脱罪性,为移动电子商务提供了安全实用的支付方式。
首先对本发明所应用的数学理论进行简单介绍:
(1)Hash(哈希)函数
Hash函数又称为散列函数,是将任意长度的字符串映射成固定长度的字符串的函数,它通常用来产生消息、数据块和文件的短的“指纹”。因此,Hash函数广泛地用于保证数据的完整性,当发送任意长度的消息时,发送方首先计算消息的Hash值,在发送时将Hash值附加在消息后发送给接收方;接收方收到消息后,再次计算Hash值,并比较两个Hash值是否一致来判断消息是否完整。实际应用中的Hash函数需要满足以下性质:
1、单向性:对于任意给定的Hash值h,想要找到一个输入串x,使得h=H(x)在计算上是不可行的;
2、散列性:对于一个输入串x,H(x)与区间[0,2n]上的均匀分布的消息串是计算上不可区分的;
3、抗弱碰撞性:对于任意给定的输入串x,想要找到另一个输入串x≠y,使得H(x)≠H(y)在计算上是不可行的;
4、抗强碰撞性:找到任意的x,y,其中x≠y,使得H(x)=H(y))在计算上是不可行的;
5、有效性:给定一个输入串x,H(x)可以在|x|的低阶多项式时间内计算出。
(2)双线性映射
假设G1和GT是阶为p的两个加法循环群,g是群G1的生成元。如果映射满足以下三个条件,则称为双线性映射。
(1)双线性.对于任意的a、b∈Zp,称为
(2)非退化性.对于G1中的生成元g,满足
(3)的计算是有效的。
其中Zp表示模p的加法循环群。
这样的双线性映射可以通过有限域上的超奇异椭圆曲线以及超奇异椭圆曲线的Tate或Weil对来构造,具体的双线性映射以及构造方法,参见文献Boneh D.,Franklin M.,2001.Identity-based encryption from the Weil pairings,in:Advances inCryptology-Crypto,in:LNCS,vol.3494,Springer-Verlag,Berlin,2001:213-229。
(3)零知识证明
零知识证明协议是由Shafi Goldwasser和Silvio Micali提出,它实现了证明人向验证人证明一个陈述,但验证人除了知道陈述的有效性之外得不到其他任何信息。知识证明协议使得验证人能够相信证明人知道满足关于某个已知数x的某个关系R的确定值w,即证明人可以让验证人相信他知道某个满足(w,x)∈R的值w。如果在证明过程中,验证人不能得到关于w的任何信息,那此协议称为是零知识证明协议。
零知识证明协议中的Σ—protocol(Σ协议)是一类特殊的零知识证明协议,而二元关系R的Σ协议是一个证明人和验证人的三轮交互协议,如图1所示。当证明人的输入(w,x)∈R和验证人的输入x,第一轮交互中,证明人发送一个承诺t给验证人,验证人返回一个挑战c,第三轮中证明人发送一个响应z给验证人;最后,验证人输出接受或者拒绝。如果诚实的验证人接受,那么协议传输(t,c,z)是有效的。一个Σ协议必须满足下列性质:
(1)合理性.。恶意的证明人至多只能够回答一个可能的挑战,具体来说,存在一个有效的算法KE,称为知识提取器,在输入x,有效的传输(t,c,z)和(t′,c′,z′)满足c≠c′,输出w满足(w,x)∈R。
(2)诚实验证人的零知识。存在一个有效的算法KS,称为零知识模拟器,在输入x和挑战值c,输出(t,z)满足(t,c,z)是有效的传输且与证明人输入(w,x)∈R和诚实的验证人之间交互的真实协议的传输具有相同的分布。
任意的Σ协议可以转化成非交互形式,被称为知识签名,即把承诺与消息的Hash值H2(·)替换原来的挑战c。Σ协议的具体的证明及验证方法,参见文献Man Ho Au,Contribution to Privacy-Preserving cryptographic techniques,Doctor Thesis,University of Wollongong,2009。本发明中所涉及的6个零知识证明协议(PK1、PK2、PK3、PK4、PK5、SPK)则属于Σ协议,基于其描述的陈述,可实现其具体的证明和验证过程。
(4)BBS+签名
BBS+签名是区文浩等人改进了BBS群签名得到的高效的签名算法,是一种能够在标准模型下可证明安全的新型签名算法。与一般的签名算法一样,它具有密钥生成、签名生成和签名验证步骤,具体构造和安全性证明参见文献Man Ho Au,Willy Susilo,Yi Mu,Constant-Size Dynamic k-TAA,In SCN 2006,pp.111-125,2006.在本发明中,为了保证随机数或者签名消息具有正确的分布,将BBS+签名时选择的随机数分成两个部分t=t′+t″或者将签名的消息分成两个部分v=v′+v″,利用t′或者v′计算生成的BBS+签名被称为BBS+部分签名。
参照图2,本发明的具体实现如下:
步骤S100.银行服务器初始化系统参数:
步骤S101:选择安全参数k(安全参数k决定了群G1和GT的阶p的二进制比特长度),基于安全参数k选择大素数p,设置p阶有限域上的p阶加法循环群G1、GT,从群G1中选择生成元g、g0、g1、h、h0、h1、h2,从群GT中选择一个随机数记为HT,设置双线性对为从群G1到群GT的映射并基于生成元g和h计算两个双线性映射值从模p的加法循环群Zp中选择随机数α、β作为私钥,并计算得到公钥W=gα,X=gβ,设置两个抗碰撞哈希函数H1:{0,1}*→GT和H2:{0,1}*→Zp,其中H1为从0和1组成的比特序列集映射到群GT,H2为从0和1组成的比特序列集映射到群Zp
步骤S102:设置公共参数param=(g,g0,g1,h,h0,h1,h2,W,X,G,H,HT,H1,H2)。
步骤S200.账户建立(用户开户):
用户端向银行服务器提出开户申请,并通过零知识证明协议PK1(陈述为:符号“∧”表示逻辑与操作)证明用户端是否拥有正确的主密钥u,银行服务器确认用户端身份的有效性,为用户建立账户。参照图3,本过程的具体实现如下:
步骤S201:用户端首先在群Zp中选取随机数s′和用户端主密钥u,生成承诺密钥和用户端标识U=Gu;用户端运行零知识证明协议PK1,从群Zp中选择随机数ρ1、ρ2生成PK1承诺值用户端将身份标识U、承诺密钥C和承诺值PK1承诺值发送给银行服务器;
步骤S202:银行服务器选择随机消息c1作为PK1挑战值并发送给用户端,其中 表示由0和1组成的长度为λ1的比特序列集;
步骤S203:用户端根据公式z1=ρ1-c1s′modp、z2=ρ2-c1s′modp生成PK1响应值z1、z2并发送给银行服务器;
步骤S204:银行服务器验证零验证是否成立,若否,则拒绝开户;否则,在群Zp中选取两个随机数s″和e,计算值返回用户端主密钥u的BBS+部分签名(A,e,s″)给用户端,并存储用户端的身份标识U作为用户端账户的识别符;
步骤S205:用户端收到BBS+部分签名(A,e,s″)后,计算用户端和银行服务器选择的随机数之和s=s′+s″,并存储账户(A,e,s,u)。
另外,在付款人支付收款人电子货币的步骤(步骤S400)中,为了对收款人和付款人进行区分,将收款人对应的账户(A,e,s,u)表示为(A*,e*,s*,u*)以示区分。
步骤S300.用户取款:
为了得到能够直接进行付款的电子货币,用户端向银行服务器提出取款申请,同时通过零知识证明协议PK2(陈述为:)证明用户端的身份标识是U且取款承诺C′是利用身份标识U的用户端的主密钥u计算的,保证如果该用户端二次使用电子货币,可以追踪到其身份,银行服务器确认用户端身份的有效性,并为用户端发放电子货币。参照图4,本过程的具体实现如下:
步骤S301:用户端首先在群Zp中选取随机数t′、v′,生成取款承诺用户端运行零知识证明协议PK2,从群Zp中选择随机数ρ3、ρ4、ρ5生成PK2承诺值
用户端将取款承诺C′和PK2承诺值发送给银行服务器;
步骤S302:银行服务器选择随机消息c2作为PK2挑战值,其中表示由0和1组成的长度为λ2的比特序列集;
步骤S303:用户端根据公式z3=ρ3-c2t′modp、z4=ρ4-c2t′modp、z5=ρ5-c2v′modp生成PK2响应值z3、z4、z5并发送给银行服务器;
步骤S304:银行服务器验证验证是否成立和验证U是否为有效的用户端身份标识,若否(两项中只要存在一项为否),则拒绝取款;若是(两项验证均为是),则在群Zp中选取随机数t″、f、v″,计算值并返回主密钥u和随机消息v的BBS+部分签名(B,t″,f)和随机数v″给用户端;
步骤S305:用户端收到BBS+部分签名(B,t″,f)和随机数v″后,计算用户端和银行服务器选择的随机数之和t=t′+t″和随机消息v=v′+v″,然后存储电子货币(B,t,f,v)。
步骤S400.付款人支付收款人电子货币:
付款人(图2中的用户A)在通过付款用户端(图2中的用户端A)付款时,收款人(图2中的用户B)通过收款用户端(图2中的用户端B)首先基于零知识证明协议PK3证明收款人的身份是账户(A*,e*,s*,u*)的拥有者,零知识证明协议PK3的陈述为:付款用户端确认收款人身份后,向收款用户端证明自己拥有可支付的电子货币,并将电子货币证据交给收款用户端,收款用户端验证电子货币的有效性。参照图5,本过程的具体实现如下:
步骤S401:收款用户端生成交易信息INFO,该INFO是包含支付信息的二进制比特串,它一般由付款金额、付款时间、付款理由等信息组成;
步骤S402:收款用户端首先随机选择一个随机数N作为交易时间戳,并基于INFO、N和收款用户端的主密钥u*(在群Zp中所选取的用户端主密钥u,上标“*”用于标识当前用户端为收款人)计算交易标识符收款用户端运行零知识证明协议PK3,从群Zp中选择随机数r0、r1,计算δ0=r0e*1=r1e*,即将零知识证明协议PK3的陈述转化为:
收款用户端继续从群Zp中选择随机数ρ6、ρ7、ρ8、ρ9、ρ10、ρ11、ρ12,计算 和T5、T6、T7、T8构成PK3承诺值;
收款用户端将将交易标识符M、时间戳N与PK3承诺值一起发送给付款用户端;
步骤S403:付款用户端选择随机消息c3作为PK3挑战值,其中表示由0和1组成的长度为λ3的比特序列集;
步骤S404:收款用户端根据公式z6=ρ6-c3r0modp、z7=ρ7-c3r1modp、z8=ρ8-c3δ0modp、z9=ρ9-c3δ1modp、z10=ρ10-c3e*modp、z11=ρ11-c3s*modp、z12=ρ12-c3u*modp生成PK3响应值z6、z7、z8、z9、z10、z11、z12并发送给付款用户端;
步骤S405:付款用户端验证 是否成立,若否,则拒绝支付;否则,计算交易消息哈希值R=H2(INFO||N||M),电子货币编号S=Hv和追踪标识符
付款用户端运行零知识证明协议SPK,用以证明付款用户端拥有有效的电子货币(B,t,f,v),其陈述为:付款用户端从群Zp中选择随机r2、r3计算参数δ2=r2f、δ3=r3f,即将零知识证明协议SPK的陈述转化为: 付款用户端继续从群Zp中选择随机数ρ13、ρ14、ρ15、ρ16、ρ17、ρ18、ρ19、ρ20生成SPK承诺值
付款用户端基于SPK承诺值计算参数m=H2(T9||T10||T11||T12||T13||R),将参数m作为SPK挑战值,再基于参数m计算z13=ρ13-mr2modp、z14=ρ14-mr3modp、z15=ρ15-mδ2modp、z16=ρ16-mδ3modp、z17=ρ17-mfmodp、z18=ρ18-mtmodp、z19=ρ19-mu modp,z20=ρ20-mvmodp,由B1、B2、z13、z14、z15、z16、z17、z18、z19、z20构成SPK响应值;
然后,付款用户端将交易信息哈希值R、电子货币编号S、追踪标识符T和SPK响应值、SPK挑战值一起发送给收款用户端;
步骤S406:收款用户端验证 是否成立,若否,则拒绝并终止交易;否则,存储电子货币证据(SPK,S,T,INFO,N,M),其中参数SPK=(B1、B2、z13、z14、z15、z16、z17、z18、z19、z20、m)。
在上述关于行零知识证明协议SPK的验证和证明过程中,若电子货币证据不包括追踪标识符T,则其对应的陈述为对应的,在验证零知识证明协议SPK是否有效时将不涉及对追踪标识符的验证,即步骤S406将不包括对的验证。
步骤S 500.用户兑换电子货币:
首先用户端通过零知识证明协议PK3向银行服务器证明自己的身份,银行服务器验证其身份有效性和用户端持有的电子货币证据的有效性,并确认电子货币证据是最新的,则为用户端兑换现金。最后,银行服务器还可以通过检查当前电子货币编号在本端是否已存在来检测当前电子货币是否被付款人二次使用付款,如果是,则执行欺骗追踪处理,追踪对应付款人。参照图6,本过程的具体实现如下:
步骤S501:用户端运行零知识证明协议PK3生成PK3承诺值,并将电子货币证据(SPK,S,T,INFO,N,M)与PK3承诺值一起发送给银行服务器;
步骤S502:银行服务器生成PK3挑战值并返回给用户端;
步骤S503:用户端生成PK3响应值并发送给银行服务器;
上述步骤S501~S503中生成PK3承诺值、PK3挑战值和PK3响应值的具体处理步骤可参考步骤S402~S404。
步骤S504:银行服务器验证零知识证明协议PK3是否有效和验证零知识证明协议SPK是否有效,若否(两项中只要存在一项为否),则拒绝兑换;若是(两项验证均为是),则计算交易信息哈希值R=H2(INFO||N||M),并通过交易信息哈希值R和交易时间戳N判断电子货币证据(SPK,S,T,INFO,N,M)是否是最新的,即银行服务器验证本端是否存在与当前交易信息哈希值R和交易时间戳N相同的另一个电子货币证据,若否,则拒绝兑换;否则,执行步骤S505。其中验证零知识证明协议PK3是否有效具体为:验证 是否成立;验证零知识证明协议SPK是否有效为,基于电子货币证据(SPK,S,T,INFO,N,M)中的参数SPK,验证 是否成立;
步骤S505:银行服务器提示用户端证明身份标识,并为用户端生成新的电子货币:
步骤S505-1:基于银行服务器的提示信息(如提示用户电子货币证据验证通过或提示用户证明身份标识等提示信息),用户端首先在群Zp中选取随机数生成兑换承诺用户端运行零知识证明协议PK4,用于证明兑换承诺是基于身份标识U的用户端的主密钥u*计算的,保证如果该用户端二次使用电子货币,可以追踪到其身份,其陈述为:用户端从群Zp中选择随机数ρ21、ρ22、ρ23生成PK4承诺值
用户端将兑换承诺和PK4承诺值发送给银行服务器;
步骤S505-2:银行服务器选择随机消息c4作为PK4挑战值,其中表示由0和1组成的长度为λ4的比特序列集;
步骤S505-3:用户端根据公式z22=ρ22-c4u*mod p、生成PK4响应值z21、z22、z23并发送给银行服务器;
步骤S505-4:银行服务器验证是否成立,若否,则拒绝兑换;否则,在群Zp中选取随机数计算值并返回主密钥u*的BBS+部分签名和随机消息给用户端;
步骤S505-5:用户端收到BBS+部分签名和随机消息后,计算用户端和银行服务器选择的随机数之和和随机消息然后存储新的电子货币该用户将来可以使用电子货币进行支付;
步骤S506:银行服务器进一步检查电子货币编号S是否是新鲜的,即判断本端所存储的电子货币证据中是否已经存在与当前电子货币编号S相同的电子货币证据,若是,则存储当前电子货币证据(SPK,S,T,INFO,N,M);若否,即存在另一个电子货币证据(SPK′,S,T′,INFO',N′,M′)与用户端兑换的电子货币证据(SPK,S,T,INFO,N,M)具有相同的电子货币编号S,则调用欺骗追踪处理追踪付款人身份,该欺骗追踪处理具体为:
步骤S506-a:银行服务器将与当前电子货币证据具有相同电子货币编号S的本端电子货币证据定义为二次电子货币证据,如银行服务器本端存在二次电子货币证据(SPK′,S,T′,INFO',N′,M′)与当前电子货币证据(SPK,S,T,INFO,N,M)具有相同电子货币编号S(其中SPK′对应参数SPK(SPK响应值、SPK挑战值),T′对应追踪标识符T,INFO'对应交易信息INFO,N′对应时间戳N,M′对应交易标识符M,其设置和生成方式与电子货币证据中的(SPK,T,INFO,N,M)相同,上标“'”仅用于与当前电子货币证据进行区分);银行服务器分别计算当前电子货币证据和二次电子货币证据的交易信息哈希值R=H2(INFO||N||M)、R′=H2(INFO'||N′||M′),因为哈希函数H2是抗碰撞的,因此,等式R≠R′须成立,否则,两个电子货币证据是同一个证据,会被银行服务器直接拒绝兑换。
步骤S506-b:根据公式计算身份标识U,基于所述身份标识U追踪到对应付款人,即拥有身份标识U的付款人使用相同的电子货币支付两次。
步骤S 600.用户存款:
首先用户端通过零知识证明协议PK5向银行服务器证明其为账户(A*,e*,s*,u*)的拥有者,其陈述为:银行服务器验证用户身份和电子货币票据的有效性,确认未保存过该电子货币,并接受存款。最后,银行服务器还可以通过检查当前电子货币编号在本端是否已存在来检测当前电子货币是否被付款人二次使用付款,如果是,则执行欺骗追踪处理,追踪对应付款人。参照图7,本过程的具体实现如下:
步骤S601:用户端运行零知识证明协议PK5,从群Zp中选择随机数ρ24生成PK5承诺值并将电子货币证据(SPK,S,T,INFO,N,M)和PK5承诺值一起发送给银行服务器;
步骤S602:银行服务器选择随机消息c5作为PK5挑战值,其中表示由0和1组成的长度为λ5的比特序列集;
步骤S603:户端根据公式z24=ρ24-c5u*modp生成PK5响应值z24
步骤S604:银行服务器验证是否成立和基于电子货币证据中所携带的SPK响应值、SPK挑战值验证零知识证明协议SPK是否有效,若否(两项中只要存在一项为否),则拒绝存款;若是(两项验证均为是),则计算交易信息哈希值R=H2(INFO||N||M),并通过交易信息哈希值R和时间戳N判断电子货币证据(SPK,S,T,INFO,N,M)是否是最新的,即银行服务器本端是否已经保存过,若是,则拒绝存款;否则,接受存款并打入账户;
步骤S606:银行服务器进一步检查电子货币编号S是否是新鲜的,即判断本端所存储的电子货币证据中是否已经存在与当前电子货币编号S相同的电子货币证据,若是,则存储当前电子货币证据(SPK,S,T,INFO,N,M);若否,则调用欺骗追踪处理(步骤S506-a和步骤S506-b)追踪付款人身份。
在上述零知识证明协议PK1~PK5的证明和验证过程中,所涉及的随机消息c1~c5(亦可描述为下标R表示随机选择操作)的对应长度λ1~λ5均为系统预设值,为了保障系统的安全性,通常取值不低于160)的比特序列集,参数p为基于安全参数k所选择的大素数,同时还涉及到公共参数param=(g,g0,g1,h,h0,h1,h2,W,X,G,H,HT,H1,H2)以及用户端(包含收款用户端、支付用户端)和银行服务器在上述步骤S100~S600中所选取的一系列随机参数等。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

Claims (9)

1.一种离线电子货币支付的安全运行方法,包括银行服务器和用户端,其特征在于,包括下列步骤:
步骤a.银行服务器初始化系统参数:
选择安全参数k,基于安全参数k选择大素数p,设置p阶有限域上的p阶加法循环群G1、GT,从群G1中选择生成元g、g0、g1、h、h0、h1、h2从群GT中选择一个随机数记为HT,设置双线性对为从群G1到群GT的映射并基于生成元g和h计算两个双线性映射值从模p的加法循环群Zp中选择随机数α、β作为私钥,并计算得到公钥W=gα,X=gβ,设置两个抗碰撞哈希函数H1和H2,其中H1为从0和1组成的比特序列集映射到群GT,H2为从0和1组成的比特序列集映射到群Zp
步骤b.账户建立:
步骤b1:用户端从群Zp中选择用户端主密钥u和随机数s′,生成用户端的身份标识U=Gu和承诺密钥
用户端运行零知识证明协议PK1生成PK1承诺值,其中零知识证明协议PK1的陈述为:符号“^”表示逻辑与;
用户端将身份标识U、承诺密钥C和PK1承诺值发送给银行服务器;
步骤b2:银行服务器生成PK1挑战值并发送给用户端;
步骤b3:用户端生成PK1响应值并发送给银行服务器;
步骤b4:银行服务器验证零知识证明协议PK1是否有效,若否,则拒绝开户;否则,存储用户端的身份标识U,并从群Zp中选择随机数s″和e,根据公式计算得到参数A,并将A、e、s″发送给用户端;
步骤b5:用户端存储账户(A,e,s,u),其中参数s=s′+s″;
步骤c.用户取款:
步骤c1:用户端从群Zp中选择随机数t′和v′,生成取款承诺
用户端运行零知识证明协议PK2生成PK2承诺值,其中零知识证明协议PK2的陈述为:
用户端将取款承诺C′和PK2承诺值发送给银行服务器;
步骤c2:银行服务器生成PK2挑战值并发送给用户端;
步骤c3:用户端生成PK2响应值并发送给银行服务器;
步骤c4:银行服务器验证零知识证明协议PK2是否有效和确认身份标识U是否为当前用户端的身份标识,若否,则拒绝取款;若是,则从群Zp中选择随机数t″、f和v″,根据公式计算得到参数B,并将B、f、t″、v″发送给用户端;
步骤c5:用户端存储电子货币(B,f,t,v),其中参数t=t′+t″,v=v′+v″;
步骤d.付款人支付收款人电子货币:
步骤d1:收款用户端生成交易信息INFO,所述交易信息INFO包含支付金额、支付时间、支付理由,选择随机数作为交易时间戳N,基于交易信息INFO和交易时间戳N生成交易标识符
收款用户端运行零知识证明协议PK3生成PK3承诺值,其中零知识证明协议PK3的陈述为:其中账户(A*,e*,s*,u*)中的各参数对应步骤b5中的A、e、s、u,上标“*”用于标识账户(A*,e*,s*,u*)的拥有用户端为收款用户端,符号“||”表示追加操作;
收款用户端将交易标识符M、交易时间戳N和PK3承诺值发送给付款用户端;
步骤d2:付款用户端生成PK3挑战值并发送给收款用户端;
步骤d3:收款用户端生成PK3响应值并发送给付款用户端;
步骤d4:付款用户端验证零知识证明协议PK3是否有效,若否,则拒绝支付;否则,计算交易信息哈希值R=H2(INFO||N||M)和电子货币编号S=Hv
付款用户端运行零知识证明协议SPK生成SPK承诺值,其中零知识证明协议SPK的陈述为:
付款用户端基于SPK的承诺值生成SPK挑战值,并基于所述SPK挑战值生成SPK响应值;
付款用户端将交易信息哈希值R、电子货币编号S和SPK响应值、SPK挑战值发送给收款用户端;
步骤d5:收款用户端验证零知识证明协议SPK是否有效,若否,则拒绝并终止交易;否则,存储电子货币证据(SPK,S,INFO,N,M),其中参数SPK为SPK响应值和SPK挑战值;
步骤e.用户兑换电子货币:
步骤e1:用户端运行零知识证明协议PK3生成PK3承诺值,并将电子货币证据(SPK,S,INFO,N,M)和PK3承诺值发送给银行服务器;
步骤e2:银行服务器生成PK3挑战值并发送给用户端;
步骤e3:用户端生成PK3响应值并发送给银行服务器;
步骤e4:银行服务器验证零知识证明协议PK3是否有效和基于电子货币证据中的SPK响应值、SPK挑战值验证零知识证明协议SPK是否有效,若否,则拒绝兑换;若是,则计算交易信息哈希值R=H2(INFO||N||M),验证交易信息哈希值R和时间戳N在本端是否已经存在,若是,则拒绝兑换;否则执行步骤e5;
步骤e5:银行服务器提示用户端证明身份标识,并为用户端生成新的电子货币:
步骤e5-1:基于银行服务器的提示信息,用户端从群Zp中选择随机数生成兑换承诺
用户端运行零知识证明协议PK4生成PK4承诺值,其中零知识证明协议PK4的陈述为:
用户端将兑换承诺和PK4承诺值发送给银行服务器;
步骤e5-2:银行服务器生成PK4挑战值并发送给用户端;
步骤e5-3:用户端生成PK4响应值并发送给银行服务器;
步骤e5-4:银行服务器验证零知识证明协议PK4是否有效,若否,则拒绝兑换;否则从群Zp中选择随机数根据公式计算得到参数并将发送给用户端;
步骤e5-5:用户端存储新的电子货币其中参数
步骤e6:银行服务器存储电子货币证据(SPK,S,INFO,N,M);
步骤f.用户存款:
步骤f1:用户端运行零知识证明协议PK5生成PK5承诺值,其中零知识证明协议PK5的陈述为:
用户端将电子货币证据(SPK,S,INFO,N,M)和PK5承诺值发送给银行服务器;
步骤f2:银行服务器生成PK5挑战值并发送给用户端;
步骤f3:用户端生成PK5响应值并发送给银行服务器;
步骤f4:银行服务器验证零知识证明协议PK5是否有效和基于电子货币证据中的SPK响应值、SPK挑战值验证零知识证明协议SPK是否有效,若否,则拒绝兑换;若是,则基于当前电子货币证据(SPK,S,INFO,N,M)计算交易信息哈希值R=H2(INFO||N||M),并判断交易信息哈希值R和时间戳N是否在本端已经存在,若是,则拒绝兑换;否则,则接受存款;
步骤f5:银行服务器存储电子货币证据(SPK,S,INFO,N,M)。
2.如权利要求1所述的方法,其特征在于,所述步骤d4中,当付款用户端验证零知识证明协议PK3为有效时,还计算追踪标识符并发送给收款用户端;
则在步骤d5中存储的电子货币证据为(SPK,S,T,INFO,N,M);
步骤e6为:银行服务器判断当前电子货币证据(SPK,S,T,INFO,N,M)中的电子货币编号S是否在本端已经存在,若是,则执行欺骗追踪处理;否则存储电子货币证据(SPK,S,T,INFO,N,M);
骤f5为:银行服务器判断当前电子货币证据(SPK,S,T,INFO,N,M)中的电子货币编号S是否在本端已经存在,若是,则执行欺骗追踪处理;否则存储电子货币证据(SPK,S,T,INFO,N,M);
所述欺骗追踪处理为:银行服务器将与当前电子货币证据(SPK,S,T,INFO,N,M)具有相同电子货币编号S的本端电子货币证据定义为二次电子货币证据,分别计算当前电子货币证据和二次电子货币证据的交易信息哈希值R和R′,根据公式计算身份标识U,基于所述身份标识U追踪到对应付款人,其中T′表示二次电子货币证据中的追踪标识符。
3.如权利要求2所述的方法,其特征在于,步骤b中:
生成PK1承诺值为:用户端从群Zp中选择随机数ρ1、ρ2生成PK1承诺值
生成PK1挑战值为:银行服务器选择随机消息c1作为PK1挑战值,其中表示由0和1组成的长度为λ1的比特序列集;
生成PK1响应值:用户端根据公式z1=ρ1-c1s′modp、z2=ρ2-c1s′modp生成PK1响应值z1、z2
银行服务器验证零知识证明协议PK1是否有效为:验证是否成立。
4.如权利要求2或3所述的方法,其特征在于,步骤c中:
生成PK2承诺值为:用户端从群Zp中选择随机数ρ3、ρ4、ρ5生成PK2承诺值
生成PK2挑战值为:银行服务器选择随机消息c2作为PK2挑战值,其中表示由0和1组成的长度为λ2的比特序列集;
生成PK2响应值:用户端根据公式z3=ρ3-c2t′mod p、z4=ρ4-c2t′mod p、z5=ρ5-c2v′modp生成PK2响应值z3、z4、z5
银行服务器验证零知识证明协议PK2是否有效为:验证是否成立。
5.如权利要求2或3所述的方法,其特征在于,步骤d、步骤e中:
生成PK3承诺值为:收款用户端/用户端从群Zp中选择随机数r0、r1,计算 δ0=r0e*1=r1e*,从群Zp中选择随机数ρ6、ρ7、ρ8、ρ9、ρ10、ρ11、ρ12,计算 和T5、T6、T7、T8构成PK3承诺值;
生成PK3挑战值为:付款用户端/银行服务器选择随机消息c3作为PK3挑战值,其中表示由0和1组成的长度为λ3的比特序列集;
生成PK3响应值:收款用户端/用户端根据公式z6=ρ6-c3r0mod p、z7=ρ7-c3r1mod p、z8=ρ8-c3δ0mod p、z9=ρ9-c3δ1mod p、z10=ρ10-c3e*mod p、z11=ρ11-c3s*mod p、z12=ρ12-c3u*modp生成PK3响应值z6、z7、z8、z9、z10、z11、z12
付款用户端/银行服务器验证零知识证明协议PK3是否有效为:
验证 是否成立。
6.如权利要求2或3所述的方法,其特征在于,步骤d4中:
生成SPK承诺值为:付款用户端从群Zp中选择随机r2、r3计算参数δ2=r2f、δ3=r3f;
从群Zp中选择随机数ρ13、ρ14、ρ15、ρ16、ρ17、ρ18、ρ19、ρ20生成SPK承诺值
生成SPK挑战值为:付款用户端基于承诺值计算参数m=H2(T9||T10||T11||T12||T13||R),将参数m作为SPK挑战值;
生成SPK响应值:付款用户端基于参数m计算z13=ρ13-mr2mod p、z14=ρ14-mr3mod p、z15=ρ15-mδ2mod p、z16=ρ16-mδ3mod p、z17=ρ17-mf mod p、z18=ρ18-mt mod p、 z19=ρ19-mumod p,z20=ρ20-mv mod p,由B1、B2、z13、z14、z15、z16、z17、z18、z19、z20构成SPK响应值;
步骤d5、步骤e4中,银行服务器验证零知识证明协议SPK是否有效为:
验证 是否成立。
7.如权利要求6所述的方法,其特征在于,当步骤d5中存储的电子货币证据为(SPK,S,T,INFO,N,M)时,零知识证明协议SPK的陈述为:
则在步骤d5、步骤e4中,银行服务器验证零知识证明协议SPK是否有效为:
验证 是否成立。
8.如权利要求2或3所述的方法,其特征在于,步骤e中:
生成PK4承诺值为:用户端从群Zp中选择随机数ρ21、ρ22、ρ23生成PK4承诺值
生成PK4挑战值为:银行服务器选择随机消息c4作为PK4挑战值,其中表示由0和1组成的长度为λ4的比特序列集;
生成PK4响应值:用户端根据公式z22=ρ22-c4u*mod p、生成PK4响应值z21、z22、z23
银行服务器验证零知识证明协议PK4是否有效为:验证是否成立。
9.如权利要求2或3所述的方法,其特征在于,步骤f中:
生成PK5承诺值为:用户端从群Zp中选择随机数ρ24生成PK5承诺值
生成PK5挑战值为:银行服务器选择随机消息c5作为PK5挑战值,其中表示由0和1组成的长度为λ5的比特序列集;
生成PK5响应值:用户端根据公式z24=ρ24-c5u*mod p生成PK5响应值z24
银行服务器验证零知识证明协议PK5是否有效为:验证是否成立。
CN201510225247.8A 2014-05-13 2015-05-06 一种离线电子货币支付的安全运行方法 Expired - Fee Related CN104850984B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510225247.8A CN104850984B (zh) 2014-05-13 2015-05-06 一种离线电子货币支付的安全运行方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2014102015529 2014-05-13
CN201410201552 2014-05-13
CN201510225247.8A CN104850984B (zh) 2014-05-13 2015-05-06 一种离线电子货币支付的安全运行方法

Publications (2)

Publication Number Publication Date
CN104850984A CN104850984A (zh) 2015-08-19
CN104850984B true CN104850984B (zh) 2018-04-06

Family

ID=53850616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510225247.8A Expired - Fee Related CN104850984B (zh) 2014-05-13 2015-05-06 一种离线电子货币支付的安全运行方法

Country Status (1)

Country Link
CN (1) CN104850984B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245327A (zh) * 2015-08-21 2016-01-13 北京比特大陆科技有限公司 比特币工作量证明哈希计算芯片优化的方法、装置和电路
GB2544109A (en) * 2015-11-06 2017-05-10 Visa Europe Ltd Transaction authorisation
CN107230067B (zh) * 2016-03-25 2021-04-09 中国人民银行数字货币研究所 基于数字货币芯片卡的兑换和支付方法以及数字货币系统
CN106296138A (zh) * 2016-08-09 2017-01-04 西安电子科技大学 基于部分盲签名技术的比特币支付系统及其方法
CN111371836B (zh) * 2016-09-20 2023-10-24 徐蔚 一种安全支付的验证方法、装置与移动终端
CN107194694B (zh) * 2017-04-14 2020-08-07 广州羊城通有限公司 一种基于二维码的脱机支付方法
CN107769920B (zh) * 2017-10-11 2020-07-31 深圳大学 加密货币中条件可追踪用户公钥的方法和系统
CN108418689B (zh) * 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
CN108363561B (zh) * 2017-12-29 2020-11-20 北京欧链科技有限公司 基于区块链的数据筛选方法和装置
CN108170403B (zh) * 2017-12-29 2021-06-25 北京欧链科技有限公司 数据筛选方法和装置
CN108415686B (zh) * 2017-12-29 2020-07-14 北京欧链科技有限公司 随机数提供过程中的分账计算方法和装置
CN108334307B (zh) * 2017-12-29 2020-11-20 北京欧链科技有限公司 基于区块链的数据筛选方法和装置
CN109064322A (zh) * 2018-06-07 2018-12-21 海南新软软件有限公司 一种基于数字货币的提币熔断方法及装置
CN109242675B (zh) 2018-07-27 2021-09-24 创新先进技术有限公司 基于区块链的资产发布方法及装置、电子设备
CN111275411B (zh) * 2018-12-05 2023-07-04 中国电信股份有限公司 数字货币钱包离线交易方法和系统、用户身份识别卡
CN109886663B (zh) * 2019-02-18 2020-11-27 中国民用航空飞行学院 基于链表结构的可分电子现金构造方法
EP3965039A4 (en) * 2019-05-09 2022-11-16 Tendyron Corporation OFFLINE PAYMENT METHODS FOR AN ELECTRONIC CURRENCY AND PAYMENT COLLECTION METHODS
CN111539720B (zh) * 2020-03-26 2022-04-05 郑州信大捷安信息技术股份有限公司 一种基于数字货币的可信交易方法和系统
CN116976891A (zh) * 2023-07-21 2023-10-31 杭州易景数通科技有限公司 一种金融数据安全管理系统、装置及其方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832089A (en) * 1995-06-07 1998-11-03 Sandia Corporation Off-line compatible electronic cash method and system
US6299062B1 (en) * 1998-08-18 2001-10-09 Electronics And Telecommunications Research Institute Electronic cash system based on a blind certificate
CN101079141A (zh) * 2006-05-24 2007-11-28 国际商业机器公司 用于自动确认交易的方法以及电子支付系统
CN101295384A (zh) * 2008-06-27 2008-10-29 中兴通讯股份有限公司 电子支付方法
CN103295131A (zh) * 2013-07-01 2013-09-11 西安电子科技大学 一种具备可转移性的条件电子支付系统
CN103475487A (zh) * 2013-09-22 2013-12-25 国家电网公司 基于变色龙哈希函数的电子支票生成和验证方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832089A (en) * 1995-06-07 1998-11-03 Sandia Corporation Off-line compatible electronic cash method and system
US6299062B1 (en) * 1998-08-18 2001-10-09 Electronics And Telecommunications Research Institute Electronic cash system based on a blind certificate
CN101079141A (zh) * 2006-05-24 2007-11-28 国际商业机器公司 用于自动确认交易的方法以及电子支付系统
CN101295384A (zh) * 2008-06-27 2008-10-29 中兴通讯股份有限公司 电子支付方法
CN103295131A (zh) * 2013-07-01 2013-09-11 西安电子科技大学 一种具备可转移性的条件电子支付系统
CN103475487A (zh) * 2013-09-22 2013-12-25 国家电网公司 基于变色龙哈希函数的电子支票生成和验证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种新的基于群签名的公平电子货币方案;孙瑾;《计算机应用研究》;20051230(第4期);122-124 *

Also Published As

Publication number Publication date
CN104850984A (zh) 2015-08-19

Similar Documents

Publication Publication Date Title
CN104850984B (zh) 一种离线电子货币支付的安全运行方法
Wang et al. Preserving transaction privacy in bitcoin
Kumari et al. Design of a provably secure biometrics-based multi-cloud-server authentication scheme
Baldimtsi et al. Anonymous transferable e-cash
CN103095453B (zh) 应用私有集合交集的公钥加密的布隆过滤器
Wang et al. Anonymity for bitcoin from secure escrow address
KR101425552B1 (ko) 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법
Chen et al. PGC: Decentralized confidential payment system with auditability
Blazy et al. Achieving optimal anonymity in transferable e-cash with a judge
CN111064734B (zh) 一种区块链系统用户身份匿名、可追踪方法及相应存储介质与电子装置
CN106506165B (zh) 基于同态加密的虚拟资产匿名排序方法
Hartung et al. BBA+ Improving the Security and Applicability of Privacy-Preserving Point Collection
McCorry et al. Authenticated key exchange over bitcoin
Zheng et al. An organization-friendly blockchain system
Adams Achieving non‐transferability in credential systems using hidden biometrics
Wu et al. Secure joint bitcoin trading with partially blind fuzzy signatures
Mao et al. Trusted authority assisted three‐factor authentication and key agreement protocol for the implantable medical system
Corradini et al. ZeroMT: multi-transfer protocol for enabling privacy in off-chain payments
JP2015516616A (ja) 認証方法、装置及びシステム
Feng et al. Research on privacy enhancement scheme of blockchain transactions
Ferradi et al. Legally fair contract signing without keystones
Vaudenay On privacy for RFID
Feng et al. A Secure Multi-party Computation Protocol Combines Pederson Commitment with Schnorr Signature for Blockchain
Zhang et al. Accountable monero system with privacy protection
Hajný Anonymous Authentication for Smartcards.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180406

Termination date: 20210506