CN107659411B - 加密货币中条件可追踪用户签名的方法和系统 - Google Patents

加密货币中条件可追踪用户签名的方法和系统 Download PDF

Info

Publication number
CN107659411B
CN107659411B CN201710940897.XA CN201710940897A CN107659411B CN 107659411 B CN107659411 B CN 107659411B CN 201710940897 A CN201710940897 A CN 201710940897A CN 107659411 B CN107659411 B CN 107659411B
Authority
CN
China
Prior art keywords
signature
user
transaction
client
users
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
CN201710940897.XA
Other languages
English (en)
Other versions
CN107659411A (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.)
Shenzhen University
Original Assignee
Shenzhen University
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 Shenzhen University filed Critical Shenzhen University
Priority to CN201710940897.XA priority Critical patent/CN107659411B/zh
Publication of CN107659411A publication Critical patent/CN107659411A/zh
Application granted granted Critical
Publication of CN107659411B publication Critical patent/CN107659411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Abstract

本发明公开了一种加密货币中条件可追踪用户签名的方法和系统,追踪方客户端获取发送方客户端产生的交易签名中公开的交易信息,利用该交易信息和预设基点进行双线性对运算得到第一结果值,该基点是双线性对运算里的参数,然后再获取预置的用户集合中各用户公钥中的签名参数,将各用户的签名参数分别与已获取的追踪方私钥相乘,得到各用户的乘积,将各用户的乘积与各用户的签名参数进行双线性对运算,得到各用户的第二结果值,若各用户的第二结果值中,存在与第一结果值相等的目标结果值,则将该目标结果值所属的用户确定为签名用户,因此在此技术中拥有追踪方私钥的特权用户可对交易进行监督。

Description

加密货币中条件可追踪用户签名的方法和系统
技术领域
本发明涉及密码学和互联网技术领域,尤其涉及一种加密货币中条件可追踪用户签名的方法和系统。
背景技术
加密货币(CryptoCurrency)基于密码学和对等互联网络技术,由计算机程序产生,并在互联网上发行和流通。数字加密货币是区块链的一种应用形式,是在区块链去中心化、开源、去信任、集体维护、可靠数据等特点基础上,发展而形成的数字货币交易平台。
目前,比特币(BitCoin)是一种最成功的数字加密货币,但是由于所有的交易是公开的,且任意一笔交易可追踪到其发起人与接收人,比特币不具备不可追踪性(Untraceability);同时由于大数据分析、数据挖据等技术的应用,用户与交易的关联性易暴露,比特币不具备不可连接性(Unlinkability)。
现有技术中,为了实现加密货币的不可追踪性,CryptoNote协议被提出,CryptoNote采用一次性环签名技术实现交易的不可追踪性。基于CryptoNote协议,多种数字加密货币建立起来,如Monero、DigitalNote、DashCoin等。然而,去中心化与完全匿名性等特点使得交易缺乏有效监管,基于CryptoNote协议的加密货币易成为洗钱、敲诈等犯罪活动的温床。
发明内容
本发明的主要目的在于提供一种加密货币中条件可追踪用户签名的方法和系统,旨在解决现有技术中CryptoNote协议采用一次性公钥技术实现用户与交易的不可连接性,采用一次性环签名技术实现交易的不可追踪性,带来交易缺乏有效监管,易成为洗钱、敲诈等犯罪活动的温床的技术问题。
为实现上述目的,本发明第一方面提供一种加密货币中条件可追踪用户签名的方法,所述方法包括:
发送方客户端产生交易签名,所述交易签名中含有公开的交易信息;
追踪方客户端获取所述交易信息,利用所述交易信息和预设基点进行双线性对运算得到第一结果值,所述基点是双线性对运算里的参数;
所述追踪方客户端获取预置的用户集合中各用户公钥中的签名参数,将所述各用户的签名参数分别与已获取的追踪方私钥相乘,得到所述各用户的乘积,将所述各用户的乘积与所述各用户的签名参数进行双线性对运算,得到所述各用户的第二结果值,若所述各用户的第二结果值中,存在与所述第一结果值相等的目标结果值,则将所述目标结果值所属的用户确定为签名用户。
本发明第二方面还提供一种加密货币中条件可追踪用户签名的系统,所述系统包括:
发送方客户端,用于产生交易签名,所述交易签名中含有公开的交易信息;
追踪方客户端,用于获取所述交易信息和追踪方私钥,利用所述交易信息和预设基点进行双线性对运算得到第一结果值,所述基点是双线性对运算里的参数;
所述追踪方客户端,用于获取预置的用户集合中各用户公钥中的签名参数,将所述各用户的签名参数分别与已获取的追踪方的私钥相乘,得到所述各用户的乘积,将所述各用户的乘积与所述各用户的签名参数进行双线性对运算,得到所述各用户的第二结果值,若所述各用户的第二结果值中,存在与所述第一结果值相等的目标结果值,则将所述目标结果值所属的用户确定为签名用户。
本发明提供一种加密货币中条件可追踪用户签名的方法,该方法包括:追踪方客户端获取发送方客户端产生的交易签名中公开的交易信息,利用该交易信息和预设基点进行双线性对运算得到第一结果值,该基点是双线性对运算里的参数,然后再获取预置的用户集合中各用户公钥中的签名参数,将各用户的签名参数分别与已获取的追踪方私钥相乘,得到各用户的乘积,将各用户的乘积与各用户的签名参数进行双线性对运算,得到各用户的第二结果值,若各用户的第二结果值中,存在与第一结果值相等的目标结果值,则将该目标结果值所属的用户确定为签名用户。与现有技术相比,由于追踪者拥有追踪方私钥,通过追踪方私钥可对交易信息和基点进行双线性运算,通过这个双线性运算找到用户公钥的签名参数,通过该签名参数所对应的用户找到交易的发起人,在此技术中拥有追踪方私钥的特权用户可对交易进行监督,故此,政府、公安等管理机构能对加密货币实施有效监管,使得加密货币交易合法合规。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例中条件可追踪用户签名方法的流程示意图;
图2为本发明第一实施例中步骤101的细化步骤的流程示意图;
图3为环签名原理示意图;
图4为第二实施例中条件可追踪用户签名系统的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中基于CryptoNote协议的加密货币交易方式存在去中心化与完全匿名性等特点使得交易存在缺乏有效监管的问题,易成为洗钱、敲诈等犯罪活动的温床。
为了解决上述技术问题,本发明提出一种加密货币中条件可追踪用户签名的方法和系统,本发明由于追踪者拥有追踪方私钥,通过追踪方私钥可对交易信息和基点进行双线性运算,通过这个双线性运算找到用户公钥的签名参数,通过该签名参数所对应的用户找到交易的发起人,在此技术中拥有追踪方私钥的特权用户可对交易进行监督,故此,政府、公安等管理机构能对加密货币实施有效监管,使得加密货币交易合法合规。
请参阅图1,为本发明第一实施例中条件可追踪用户签名方法的流程示意图,该方法包括:
步骤101、发送方客户端产生交易签名,所述交易签名中含有公开的交易信息。
在本实施例中,条件可追踪用户签名的方法是在一个系统中完成的,系统中包括多个客户端,条件可追踪用户签名的完成,需要发送方客户端产生一个交易的交易签名,交易签名中包括的有公开的交易信息。
其中,发送方客户端的用户就是签名用户,发送方客户端产生交易签名,交易签名中包括公开的交易信息和其他参数,其中公开的交易信息是表示该信息的内容是公开且所有的客户端都能获取到。
具体的请参阅图2,为本发明第一实施例中步骤101的细化步骤的流程示意图,该发送方客户端产生交易签名的步骤包括:
步骤201、所述发送方客户端获取签名用户随机输入的第一组数和第二组数,所述第一组数包含n个值,第二组数包含n-1个值;
步骤202、所述发送方客户端利用所述第一组数、第二组数及预置的过渡参数算法得到过渡参数;
步骤203、所述发送方客户端利用所述过渡参数及预置的签名产生算法产生交易签名。
在本实施例中,需要发送方客户端产生一个交易的交易签名,交易签名中包括的有公开的交易信息,发送方客户端产生交易签名的方式具体为:发送方客户端首先获取签名用户随机输入两组数,第一组数中有n个值,第二组数中有n-1个值,然后利用两组数和预置的过渡参数算法得到过渡参数,再利用该过渡参数和预置的签名产生算法就可产生交易签名。
其中,发送方客户端利用上述的第一组数和第二组数和预置的过渡参数算法得到过渡参数,该过度参数算法如下:
Figure BDA0001430612560000051
Figure BDA0001430612560000052
其中,G为椭圆曲线上一点,l为点G的素数阶,i的取值范围为1到n,n是全体用户的数量,Pi和Vi分别是第i个用户的签名参数和追踪参数,qi和wi分别是第一组数和第二组数中的第i个值,qi与wi的值范围为[1,l-1],s表示签名用户的编号,L和R是为计算交易签名的过渡参数,Li和Ri表示第i个过渡参数的值。
发送方客户端利用过度参数和如下的签名产生算法产生签名:
σ=(I,c1,...,cn,r1,...,rn)
其中,I=psVS
c=H(m,L1,...,Ln,R1,...,Rn)
Figure BDA0001430612560000053
Figure BDA0001430612560000054
其中,m是签名对象,H为哈希函数,c是一个挑战数,ps是签名用户的私钥,I为签名用户公开的交易信息,σ是产生的交易签名。
其中,交易签名包括公开的交易信息和其他参数,其他参数是c1到cn和r1到rn的2n个参数,签名对象m表示发送方客户端产生交易签名时签名的对象,即是一个签名的载体,发送方客户端可直接获取到的,H为一个哈希函数,定义如下所示:
H:E(Fq)→Fq
其中,Fq是哈希函数的自变量,H是哈希函数,后面的对应关系就是哈希函数的函数关系。
步骤102、追踪方客户端获取所述交易信息,利用所述交易信息和预设基点进行双线性对运算得到第一结果值,所述基点是双线性对运算里的参数。
在本发明实施例中,在发送方客户端产生交易签名后,追踪方客户端可以从该交易签名中获取公开的交易信息,利用该交易信息和预设的基点进行双线性运算得到一个结果值,视该结果值为第一结果值。
其中,预设的基点是G,G为椭圆曲线上一点,双线性运算可表示如下:
e(I,G)
其中,公开的交易信息I和基点G表示双线性运算的元素。
步骤103、所述追踪方客户端获取预置的用户集合中各用户公钥中的签名参数,将所述各用户的签名参数分别与已获取的追踪方私钥相乘,得到所述各用户的乘积,将所述各用户的乘积与所述各用户的签名参数进行双线性对运算,得到所述各用户的第二结果值,若所述各用户的第二结果值中,存在与所述第一结果值相等的目标结果值,则将所述目标结果值所属的用户确定为签名用户。
在本发明实施例中,在对交易信息和预设基点进行双线性运算得到第一结果值之后,追踪方客户端获取预置的用户集合中各用户公钥的签名参数,将所得到的各用户公钥的签名参数分别与已获取的追踪方私钥相乘,得到各用户的乘积,将得到的各用户的乘积与得到的各用户的签名参数进行双线性运算,得到各用户的结果值,称该结果值为第二结果值,在第二结果值中,查找是否存在于第一结果值相等的目标结果值,若存在目标结果值,则将目标结果值所属的用户确定为签名用户。
其中,追踪方客户端获取预置的用户集合中各用户公钥的签名参数之前,用户客户端需要公开各用户的公钥,公钥包含签名参数和追踪参数,且分别用于环签名的签名和追踪;其中,用户客户端是指上述的用户集合中每一个用户的客户端,且发送方客户端、接收方客户端及追踪方客户端均属于用户客户端。
具体的,用户客户端要公开用户公钥之前需要先获取私钥,利用获取的私钥和如下公钥计算算法得到用户公钥:
Pi=piG,Vi=piT
其中,G为椭圆曲线上一点,l为点G的素数阶,Pi表示第i个用户的签名参数,Vi表示第i个用户的追踪参数,i的取值范围为1到n,n是全体用户的数量,pi是第i个用户的私钥,pi的值范围为为[1,l-1],T是追踪方的公钥;
用户客户端得到用户公钥后公开得到的用户公钥,得到的用户公钥就包括用户客户端对应的第i个用户的签名参数Pi和追踪参数Vi
为了更好的理解实施例中的技术方案,介绍用到的双线性算法如下:
e(I,G)=e(psVs,G)=e(pspstG,G)=e(psG,pstG)=e(Ps,tPs)
其中T=tG,G为椭圆曲线上一点,l为点G的素数阶,Vs表示第签名用户的追踪参数,t为追踪用户的私钥,ps为签名用户的私钥,Ps是签名用户的签名参数。
本技术方案中条件可追踪用户的签名是在一次性环签名的基础上获得,请参阅图3,图3是环签名的工作原理,在图3中,存在用户U1,…,Un,即上述的用户集合,其私钥分别为p1,...,pn,其公钥分别为X1,…,Xn,利用用户的私钥和公钥可以生成一个签名。
其中,私钥p1到pn的取值范围为[1,l-1],用户集合中用户的数量为n,公钥中包括签名参数P和追踪参数V,定义签名用户为Us,签名用户的客户端为发送方客户端,发送方客户端生成的签名为交易签名。
在本实施例中,接收方客户端在接收到发送方客户端发送的交易签名后,获取用户集合中各用户的公钥,在如下检验算法中可验证签名的真实性:
Figure BDA0001430612560000081
其中,G为椭圆曲线上一点,l为点G的素数阶,I表示签名用户公开的交易信息,ci和ri都是交易签名里的参数,Li'和Ri'是检验参数,Pi和Vi分别是第i个用户公钥的签名参数和追踪参数,i的取值为1到n,判断如下哈希函数计算算法的等式是否成立:
Figure BDA0001430612560000082
其中,H表示哈希函数,m表示签名对象。
若上述的哈希函数计算算法的等式成立,则接收方客户端确定接收到的交易签名是真实的,若上述哈希函数计算算法的等式不成立,则接收方客户端确定接收到的交易签名是伪造的。
在本实施例中,还可以判断交易签名对应的交易是非为双重消费,具体的,接收方客户端获取全体用户各用户历史交易的所有交易签名,并获取所有交易签名中公开的交易信息,确定是否存在与发送方客户端产生的交易签名中公开的交易信息相同的历史公开的交易信息,若存在与发送方客户端产生的交易签名中公开的交易信息相同的历史公开的交易信息,则确定发送方客户端产生的交易签名对应的交易为双重消费。
在本实施例中,追踪方客户端获取发送方客户端产生的交易签名中公开的交易信息,利用该交易信息和预设基点进行双线性对运算得到第一结果值,该基点是双线性对运算里的参数,然后再获取预置的用户集合中各用户公钥中的签名参数,将各用户的签名参数分别与已获取的追踪方私钥相乘,得到各用户的乘积,将各用户的乘积与各用户的签名参数进行双线性对运算,得到各用户的第二结果值,若各用户的第二结果值中,存在与第一结果值相等的目标结果值,则将该目标结果值所属的用户确定为签名用户。与现有技术相比,由于追踪者拥有追踪方私钥,通过追踪方私钥可对交易信息和基点进行双线性运算,通过这个双线性运算找到用户公钥的签名参数,通过该签名参数所对应的用户找到交易的发起人,在此技术中拥有追踪方私钥的特权用户可对交易进行监督,故此,政府、公安等管理机构能对加密货币实施有效监管,使得加密货币交易合法合规。
请参阅图4,为本发明第二实施例中条件可追踪用户签名系统的结构示意图,该系统包括:
发送方客户端401,用于产生交易签名,所述交易签名中含有公开的交易信息。
在本实施例中,条件可追踪用户签名的系统包括多个客户端,条件可追踪用户签名的完成,需要发送方客户端产生一个交易的交易签名,交易签名中包括的有公开的交易信息。
其中,发送方客户端的用户就是签名用户,发送方客户端产生交易签名,交易签名中包括公开的交易信息和其他参数,其中公开的交易信息是表示该信息的内容是公开且所有的客户端都能获取到。
发送方客户端401,还用于获取签名用户随机输入的第一组数和第二组数,所述第一组数包含n个值,第二组数包含n-1个值,利用所述第一组数、第二组数及预置的过渡参数算法得到过渡参数,利用所述过渡参数及预置的签名产生算法产生交易签名。
在本实施例中,还需要发送方客户端产生一个交易的交易签名,交易签名中包括的有公开的交易信息,发送方客户端产生交易签名的方式具体为:发送方客户端首先获取签名用户随机输入两组数,第一组数中有n个值,第二组数中有n-1个值,然后利用两组数和预置的过渡参数算法得到过渡参数,再利用该过渡参数和预置的签名产生算法就可产生交易签名。
其中,发送方客户端401利用上述的第一组数和第二组数和预置的过渡参数算法得到过渡参数,该过度参数算法如下:
Figure BDA0001430612560000101
Figure BDA0001430612560000102
其中,G为椭圆曲线上一点,l为点G的素数阶,i的取值范围为1到n,n是全体用户的数量,Pi和Vi分别是第i个用户的签名参数和追踪参数,qi和wi分别是所述第一组数和所述第二组数中的第i个值,qi与wi的值范围为[1,l-1],s表示签名用户的编号,L和R是为计算交易签名的过渡参数,Li和Ri表示第i个过渡参数的值。
发送方客户端利用过度参数和如下的签名产生算法产生签名:
σ=(I,c1,...,cn,r1,...,rn)
其中,I=psVS
c=H(m,L1,...,Ln,R1,...,Rn)
Figure BDA0001430612560000103
Figure BDA0001430612560000104
其中,m是签名对象,H为哈希函数,c是一个挑战数,ps是签名用户的私钥,I为签名用户公开的交易信息,σ是产生的交易签名。
其中,交易签名包括公开的交易信息和其他参数,其他参数是c1到cn和r1到rn的2n个参数,签名对象m表示发送方客户端产生交易签名时签名的对象,即是一个签名的载体,发送方客户端可直接获取到的,H为一个哈希函数,定义如下所示:
H:E(Fq)→Fq
其中,Fq是哈希函数的自变量,H是哈希函数,后面的对应关系就是哈希函数的函数关系。
追踪方客户端402,用于获取所述交易信息,利用所述交易信息和预设基点进行双线性对运算得到第一结果值,所述基点是双线性对运算里的参数。
在本发明实施例中,在发送方客户端401产生交易签名后,追踪方客户端可以从该交易签名中获取公开的交易信息,利用该交易信息和预设的基点进行双线性运算得到一个结果值,视该结果为第一结果值。
其中,预设的基点是G,G为椭圆曲线上一点,双线性运算可表示如下:
e(I,G)
其中,公开的交易信息I和基点G表示双线性运算的元素。
追踪方客户端402,还用于获取预置的用户集合中各用户公钥中的签名参数,将所述各用户的签名参数分别与已获取的追踪方私钥相乘,得到所述各用户的乘积,将所述各用户的乘积与所述各用户的签名参数进行双线性对运算,得到所述各用户的第二结果值,若所述各用户的第二结果值中,存在与所述第一结果值相等的目标结果值,则将所述目标结果值所属的用户确定为签名用户。
在本发明实施例中,在对交易信息和预设基点进行双线性运算得到第一结果值之后,追踪方客户端获取预置的用户集合中各用户公钥的签名参数,将所得到的各用户公钥的签名参数分别与已获取的追踪方私钥相乘,得到各用户的乘积,将得到的各用户的乘积与得到的各用户的签名参数进行双线性运算,得到各用户的结果值,称该结果值为第二结果值,在第二结果值中,查找是否存在于第一结果值相等的目标结果值,若存在目标结果值,则将目标结果值所属的用户确定为签名用户。
其中,追踪方客户端获取预置的用户集合中各用户公钥的签名参数之前,用户客户端需要公开各用户的公钥,公钥中有签名参数和追踪参数,且分别用于环签名的签名和追踪;其中,用户客户端是指上述的用户集合中每一个用户的客户端,且发送方客户端、接收方客户端及追踪方客户端均属于用户客户端。
用户客户端404,用于获取的私钥,利用如下公钥计算算法得到用户公钥:
Pi=piG,Vi=piT
其中,G为椭圆曲线上一点,l为点G的素数阶,Pi表示第i个用户的签名参数,Vi表示第i个用户的追踪参数,i的取值范围为1到n,n是全体用户的数量,pi是第i个用户的私钥,pi的值范围为[1,l-1],T是追踪方的公钥。
用户客户端404在得到用户公钥后公开得到的用户公钥,得到的用户公钥就包括用户客户端对应的第i个用户的签名参数Pi和追踪参数Vi
为了更好的理解实施例中的技术方案,介绍用到的双线性算法如下:
e(I,G)=e(psVs,G)=e(pspstG,G)=e(psG,pstG)=e(Ps,tPs)
其中T=tG,G为椭圆曲线上一点,l为点G的素数阶,Vs表示第签名用户的追踪参数,t为追踪用户的私钥,ps为签名用户的私钥,Ps是签名用户的签名参数。
本技术方案中条件可追踪用户的签名是在一次性环签名的基础上获得,请查阅图3,图3是环签名的工作原理,在图3中显示,存在用户U1,…,Un,其私钥分别为p1,...,pn,其公钥分别为X1,…,Xn,利用用户的私钥和公钥可以生成一个签名。
其中,私钥p1到pn的取值范围为[1,l-1],用户集合中用户的数量为n,公钥中包括签名参数P和追踪参数V,定义签名用户为Us,签名用户的客户端为发送方客户端,发送方客户端生成的签名为交易签名。
接收方客户端403,用于在接收到发送方客户端发送的交易签名后,获取全体用户的公钥,在如下检验算法中可验证签名的真实性:
Figure BDA0001430612560000121
其中,G为椭圆曲线上一点,l为点G的素数阶,I表示签名用户公开的交易信息,ci和ri都是交易签名里的参数,Li'和Ri'是检验参数,Pi和Vi分别是第i个用户公钥的签名参数和追踪参数,i的取值为1到n,判断如下哈希函数计算算法的等式是否成立:
Figure BDA0001430612560000131
其中,H表示哈希函数,m表示签名对象。
若上述的哈希函数计算算法的等式成立,则接收方客户端确定接收到的交易签名是真实的,若上述哈希函数计算算法的等式不成立,则接收方客户端确定接收到的交易签名是伪造的。
在本实施例中,还可以判断交易签名对应的交易是非为双重消费,具体的,接收方客户端获取全体用户各用户历史交易的所有交易签名,并获取所有交易签名中公开的交易信息,确定是否存在与发送方客户端产生的交易签名中公开的交易信息相同的历史公开的交易信息,若存在与发送方客户端产生的交易签名中公开的交易信息相同的历史公开的交易信息,则确定发送方客户端产生的交易签名对应的交易为双重消费。
在本实施例中,追踪方客户端获取发送方客户端产生的交易签名中公开的交易信息,利用该交易信息和预设基点进行双线性对运算得到第一结果值,该基点是双线性对运算里的参数,然后再获取预置的用户集合中各用户公钥中的签名参数,将各用户的签名参数分别与已获取的追踪方私钥相乘,得到各用户的乘积,将各用户的乘积与各用户的签名参数进行双线性对运算,得到各用户的第二结果值,若各用户的第二结果值中,存在与第一结果值相等的目标结果值,则将该目标结果值所属的用户确定为签名用户。与现有技术相比,由于追踪者拥有追踪方私钥,通过追踪方私钥可对交易信息和基点进行双线性运算,通过这个双线性运算找到用户公钥的签名参数,通过该签名参数所对应的用户找到交易的发起人,在此技术中拥有追踪方私钥的特权用户可对交易进行监督,故此,政府、公安等管理机构能对加密货币实施有效监管,使得加密货币交易合法合规。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种加密货币中条件可追踪用户签名的方法和系统的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种加密货币中条件可追踪用户签名的方法,其特征在于,所述方法包括:
发送方客户端产生交易签名,所述交易签名中含有公开的交易信息;
追踪方客户端获取所述交易信息,利用所述交易信息和预设基点进行双线性对运算得到第一结果值,所述基点是双线性对运算里的参数;
所述追踪方客户端获取预置的用户集合中各用户公钥中的签名参数,将所述各用户的签名参数分别与已获取的追踪方私钥相乘,得到所述各用户的乘积,将所述各用户的乘积与所述各用户的签名参数进行双线性对运算,得到所述各用户的第二结果值,若所述各用户的第二结果值中,存在与所述第一结果值相等的目标结果值,则将所述目标结果值所属的用户确定为签名用户。
2.根据权利要求1所述的方法,其特征在于,所述追踪方客户端获取预置的用户集合中各用户公钥中的签名参数的步骤之前还包括:
用户客户端获取私钥,利用所述私钥及预设置的公钥计算算法得到用户公钥,所述用户公钥计算算法如下:
Pi=piG,Vi=piT
其中,G为椭圆曲线上一点,l为点G的素数阶,Pi表示第i个用户的签名参数,Vi表示第i个用户的追踪参数,i的取值范围为1到n,n是全体用户的数量,pi是第i个用户的私钥,T是追踪方的公钥;
所述用户客户端公开所述用户公钥,所述用户公钥包括所述用户客户端对应的第i个用户的签名参数Pi和追踪参数Vi
3.根据权利要求1所述的方法,其特征在于,所述发送方客户端产生交易签名的步骤包括:
所述发送方客户端获取签名用户随机输入的第一组数和第二组数,所述第一组数包含n个值,第二组数包含n-1个值;
所述发送方客户端利用所述第一组数、第二组数及预置的过渡参数算法得到过渡参数,所述过渡参数算法如下:
Figure FDA0002506952010000021
Figure FDA0002506952010000022
其中,G为椭圆曲线上一点,l为点G的素数阶,i的取值范围为1到n,Pi和Vi分别是第i个用户的签名参数和追踪参数,qi和wi分别是所述第一组数和所述第二组数中的第i个值,s表示签名用户的编号,L和R是为计算交易签名的过渡参数,Li和Ri表示第i个过渡参数的值;
所述发送方客户端利用所述过渡参数及预置的签名产生算法产生交易签名,所述签名产生算法如下:
σ=(I,c1,...,cn,r1,...,rn)
其中,I=psVS
c=H(m,L1,...,Ln,R1,...,Rn)
Figure FDA0002506952010000023
Figure FDA0002506952010000024
其中,l为点G的素数阶,i的取值范围为1到n,Vi是第i个用户的追踪参数,qi和wi分别是所述第一组数和所述第二组数中的第i个值,s表示签名用户的编号,Vs即为签名用户的追踪参数,m是签名对象,H为哈希函数,c是一个挑战数,ps是签名用户的私钥,I为签名用户公开的交易信息,σ是产生的交易签名,ci和ri都是交易签名里的参数。
4.根据权利要求1至3的任意一项权利要求所述的方法,其特征在于,所述方法还包括:
接收方客户端接收所述发送方客户端发送的所述交易签名,根据预置的检验算法检验所述交易签名的真实性,所述检验算法如下:
Figure FDA0002506952010000031
其中,G为椭圆曲线上一点,l为点G的素数阶,I表示签名用户公开的交易信息,ci和ri都是交易签名里的参数,Li'和Ri'是检验参数,Pi和Vi分别是第i个用户公钥的签名参数和追踪参数,i的取值为1到n,判断如下哈希函数计算算法的等式是否成立:
Figure FDA0002506952010000032
其中,H表示哈希函数,m表示签名对象;
若所述哈希函数计算算法的等式成立,则所述接收方客户端确定所述交易签名是真实的,若所述哈希函数计算算法的等式不成立,则所述接收方客户端确定所述交易签名是伪造的。
5.根据权利要求1至3的任意一项权利要求所述的方法,其特征在于,所述方法还包括:
接收方客户端获取所述用户集合中各用户历史交易的所有交易签名,并获取所有交易签名中公开的交易信息,确定是否存在与所述发送方客户端产生的交易签名中公开的交易信息相同的历史公开的交易信息,若存在与所述发送方客户端产生的交易签名中公开的交易信息相同的历史公开的交易信息,则确定所述发送方客户端产生的交易签名对应的交易为双重消费。
6.一种加密货币中条件可追踪用户签名的系统,其特征在于,所述系统包括:
发送方客户端,用于产生交易签名,所述交易签名中含有公开的交易信息;
追踪方客户端,用于获取所述交易信息和追踪方私钥,利用所述交易信息和预设基点进行双线性对运算得到第一结果值,所述基点是双线性对运算里的参数;
所述追踪方客户端,用于获取预置的用户集合中各用户公钥中的签名参数,将所述各用户的签名参数分别与已获取的追踪方的私钥相乘,得到所述各用户的乘积,将所述各用户的乘积与所述各用户的签名参数进行双线性对运算,得到所述各用户的第二结果值,若所述各用户的第二结果值中,存在与所述第一结果值相等的目标结果值,则将所述目标结果值所属的用户确定为签名用户。
7.根据权利要求6所述的系统,其特征在于:
用户客户端,用于获取私钥,利用所述私钥及预设置的公钥计算算法得到用户公钥,所述用户公钥计算算法如下:
Pi=piG,Vi=piT
其中,G为椭圆曲线上一点,l为点G的素数阶,Pi表示第i个用户的签名参数,Vi表示第i个用户的追踪参数,i的取值范围为1到n,n是全体用户的数量,pi是第i个用户的私钥,T是追踪方的公钥;
所述用户客户端,用于公开所述用户公钥,所述用户公钥包括所述用户客户端对应的第i个用户的签名参数Pi和追踪参数Vi
8.根据权利要求6所述的系统,其特征在于,所述发送方客户端还用于,
获取签名用户随机输入的第一组数和第二组数,所述第一组数包含n个值,第二组数包含n-1个值;
利用所述第一组数、第二组数及预置的过渡参数算法得到过渡参数,所述过渡参数算法如下:
Figure FDA0002506952010000051
Figure FDA0002506952010000052
其中,G为椭圆曲线上一点,l为点G的素数阶,i的取值范围为1到n,Pi和Vi分别是第i个用户的签名参数和追踪参数,qi和wi分别是所述第一组数和所述第二组数中的第i个值,s表示签名用户的编号,L和R是为计算交易签名的过渡参数,Li和Ri表示第i个过渡参数的值;
利用所述过渡参数及预置的签名产生算法产生交易签名,所述签名产生算法如下:
σ=(I,c1,...,cn,r1,...,rn)
其中,I=psVS
c=H(m,L1,...,Ln,R1,...,Rn)
Figure FDA0002506952010000053
Figure FDA0002506952010000054
其中,l为点G的素数阶,i的取值范围为1到n,Vi是第i个用户的追踪参数,qi和wi分别是所述第一组数和所述第二组数中的第i个值,s表示签名用户的编号,Vs即为签名用户的追踪参数,m是签名对象,H为哈希函数,c是一个挑战数,ps是签名用户的私钥,I为签名用户公开的交易信息,σ是产生的交易签名,ci和ri都是交易签名里的参数。
9.根据权利要求6至8任意一项权利要求所述的系统,其特征在于,所述系统还包括:
接收方客户端,用于接收所述发送方客户端发送的所述交易签名,根据预置的检验算法检验所述交易签名的真实性,所述检验算法如下:
Figure FDA0002506952010000061
其中,G为椭圆曲线上一点,l为点G的素数阶,I表示签名用户公开的交易信息,ci和ri都是交易签名里的参数,Li'和Ri'是检验参数,Pi和Vi分别是第i个用户公钥的签名参数和追踪参数,i的取值为1到n,判断如下哈希函数计算算法的等式是否成立:
Figure FDA0002506952010000062
其中,H表示哈希函数,m表示签名对象;
若所述哈希函数计算算法的等式成立,则确定所述交易签名是真实的,若所述哈希函数计算算法的等式不成立,则确定所述交易签名是伪造的。
10.根据权利要求9所述的系统,其特征在于,
所述接收方客户端,还用于获取所述用户集合中各用户历史交易的所有交易签名,并获取所有交易签名中公开的交易信息,确定是否存在与所述发送方客户端产生的交易签名中公开的交易信息相同的历史公开的交易信息,若存在与所述发送方客户端产生的交易签名中公开的交易信息相同的历史公开的交易信息,则确定所述发送方客户端产生的交易签名对应的交易为双重消费。
CN201710940897.XA 2017-10-11 2017-10-11 加密货币中条件可追踪用户签名的方法和系统 Active CN107659411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710940897.XA CN107659411B (zh) 2017-10-11 2017-10-11 加密货币中条件可追踪用户签名的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710940897.XA CN107659411B (zh) 2017-10-11 2017-10-11 加密货币中条件可追踪用户签名的方法和系统

Publications (2)

Publication Number Publication Date
CN107659411A CN107659411A (zh) 2018-02-02
CN107659411B true CN107659411B (zh) 2020-09-15

Family

ID=61117836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710940897.XA Active CN107659411B (zh) 2017-10-11 2017-10-11 加密货币中条件可追踪用户签名的方法和系统

Country Status (1)

Country Link
CN (1) CN107659411B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201802063D0 (en) * 2018-02-08 2018-03-28 Nchain Holdings Ltd Computer-implemented methods and systems
WO2021046668A1 (zh) * 2019-09-09 2021-03-18 深圳市网心科技有限公司 区块链系统及信息传输方法、系统、装置、计算机介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539423A (zh) * 2014-12-16 2015-04-22 熊荣华 一种无双线性对运算的无证书公钥密码体制的实现方法
CN106788985A (zh) * 2016-11-25 2017-05-31 中国电子科技集团公司第三十研究所 一种第三方可监管的隐身地址实现方法
CN106779704A (zh) * 2016-12-06 2017-05-31 杭州趣链科技有限公司 一种基于环签名的区块链匿名交易方法
CN107038638A (zh) * 2017-02-24 2017-08-11 杭州象链网络技术有限公司 一种基于联盟链的股权登记交易系统构建方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078876B2 (en) * 2007-04-30 2011-12-13 Intel Corporation Apparatus and method for direct anonymous attestation from bilinear maps

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539423A (zh) * 2014-12-16 2015-04-22 熊荣华 一种无双线性对运算的无证书公钥密码体制的实现方法
CN106788985A (zh) * 2016-11-25 2017-05-31 中国电子科技集团公司第三十研究所 一种第三方可监管的隐身地址实现方法
CN106779704A (zh) * 2016-12-06 2017-05-31 杭州趣链科技有限公司 一种基于环签名的区块链匿名交易方法
CN107038638A (zh) * 2017-02-24 2017-08-11 杭州象链网络技术有限公司 一种基于联盟链的股权登记交易系统构建方法

Also Published As

Publication number Publication date
CN107659411A (zh) 2018-02-02

Similar Documents

Publication Publication Date Title
CN107483212B (zh) 一种双方协作生成数字签名的方法
US11895231B2 (en) Adaptive attack resistant distributed symmetric encryption
FR2760583A1 (fr) Systeme de verification de cartes de donnees
FR2759226A1 (fr) Protocole de verification d'une signature numerique
CN108632261B (zh) 多方量子求和方法及系统
CN108683493A (zh) 一种智能电网中提供隐私保护的数据聚合方法
CN107248909A (zh) 一种基于sm2算法的无证书安全签名方法
CN107360002B (zh) 一种数字证书的申请方法
TW201320700A (zh) 署名驗證裝置、署名驗證方法、程式及記錄媒體
CN104754570B (zh) 一种基于移动互联网络的密钥分发和重构方法与装置
CN112600675B (zh) 基于群签名的电子投票方法及装置、电子设备、存储介质
CN112436938B (zh) 数字签名的生成方法、装置和服务器
CN111815321A (zh) 交易提案的处理方法、装置、系统、存储介质和电子装置
CN113886856A (zh) 基于区块链的双重可验证云存储方法
CN110599164A (zh) 一种可监管的链下任意收款方快速支付方法
CN107659411B (zh) 加密货币中条件可追踪用户签名的方法和系统
US20110064216A1 (en) Cryptographic message signature method having strengthened security, signature verification method, and corresponding devices and computer program products
CN112769548B (zh) 一种区块链数值信息传输方法、系统、装置及计算机介质
Fanfara et al. Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication
Wang et al. An improved digital signature algorithm and authentication protocols in cloud platform
CN115865426B (zh) 隐私求交方法和装置
CN108011723B (zh) 入侵回弹的不可拆分数字签名方法
WO2021115591A1 (en) Devices and sharing methods for private set intersection
Chenli et al. Fairtrade: Efficient atomic exchange-based fair exchange protocol for digital data trading
CN112765570B (zh) 一个支持数据转移的基于身份可证明数据持有方法

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