CN110519059B - 一种基于双线性映射的区块链双密钥隐匿地址处理方法 - Google Patents

一种基于双线性映射的区块链双密钥隐匿地址处理方法 Download PDF

Info

Publication number
CN110519059B
CN110519059B CN201910935049.9A CN201910935049A CN110519059B CN 110519059 B CN110519059 B CN 110519059B CN 201910935049 A CN201910935049 A CN 201910935049A CN 110519059 B CN110519059 B CN 110519059B
Authority
CN
China
Prior art keywords
pubk
key
receiver
taddr
transaction
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
CN201910935049.9A
Other languages
English (en)
Other versions
CN110519059A (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.)
Sichuan Normal University
Original Assignee
Sichuan Normal 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 Sichuan Normal University filed Critical Sichuan Normal University
Priority to CN201910935049.9A priority Critical patent/CN110519059B/zh
Publication of CN110519059A publication Critical patent/CN110519059A/zh
Application granted granted Critical
Publication of CN110519059B publication Critical patent/CN110519059B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明属于区块链隐私信息处理技术领域,公开了一种基于双线性映射的区块链双密钥隐匿地址处理方法,首先,交易发送方和接收方各自生成双密钥对,并将双公钥公布在区块链上;然后,交易发送方从区块链上获得接收方的双公钥;隐匿交易:发送方生成交易临时公钥对,并根据临时私钥通过双线性映射计算出交易临时输出地址,然后向该临时地址发布交易,并将临时公钥附加在交易上;接收方扫描区块链中的交易,并利用自身扫描私钥和附加在交易上的临时公钥通过双线性映射计算相应的交易临时输出地址,验证其是否为交易的真实接收方,如果是,计算相应的确认交易私钥。本发明双线性映射运算耗时小、计算性能高;解决了现有技术乘法运算耗时高的缺陷。

Description

一种基于双线性映射的区块链双密钥隐匿地址处理方法
技术领域
本发明属于区块链隐私信息处理技术领域,尤其涉及一种基于双线性映射的区块链双密钥隐匿地址处理方法。
背景技术
目前,最接近的现有技术:近年来,许多加密技术被应用到区块链的隐私保护中,如零知识证明、环签名和隐匿地址协议被用来实现交易金额、交易发送方地址和交易接收方地址的隐私性。进行隐私保护的重点工作是隐匿地址协议,隐匿地址协议要求发送方每次进行交易时,生成交易的一次性临时输出地址,从而隐藏交易的真实输出地址,破坏交易输入地址和真实输出地址之间的关联性;且使得同一收款人的不同交易无法被关联,以实现对交易中用户身份进行隐私保护的目的。
最先被提出的隐匿地址协议是基础隐匿协议(BSAP);2013年,Nicolas vanSaberhagen在CryptoNote白皮书中介绍了一种BSAP的改进的隐匿地址协议,名为ISAP,通过引入临时密钥对,解决BSAP中使用固定共享密钥使得相应的交易仍能被关联,和发送方改变主意撤回款项的问题;2014年,名为rynomster/sdcoin的开发商基于ISAP提出了一种双重密钥隐匿地址协议DKSAP,解决ISAP中由于接收方频繁使用私钥扫描交易带来的私钥被破解的风险增高的问题。DKSAP是目前使用最为广泛的隐匿地址协议,自提出后,已应用在Monero,Samourai Wallet,TokenPay等加密货币系统中。
在DKSAP中,用户拥有两个密钥对,分别是“扫描密钥对”和“支付密钥对”,DKSAP的协议的具体交互过程如下:
1)接收方生成扫描密钥对(s,S=s*G)和支付密钥对(b,B=b*G),接收方将双公钥S和B发布到区块链上;
2)发送方从区块链上获得接收方的双公钥S和B;
3)发送方在交易时产生一个交易的临时公私钥对(r,R=r*G);
4)发送方利用交易临时私钥r和接收方的扫描公钥S,计算共享密钥c=H(r*S*G);
5)发送方利用公钥密钥c和接收方的支付公钥B,计算交易的临时输出地址T=c*G+B,即T=H(r*S*G)*G+B;
6)发送方将交易发布到临时地址T,并将临时公钥R附加在交易上,随交易一起传输;
7)接收方扫描区块链系统中产生的交易;
8)根据交易附加的临时公钥R和自己的扫描私钥s,计算共享密钥c=H(s*R*G);注:此处,c=H(s*R*G)=H(R*S)=H(r*S*G);
9)接收方利用共享密钥c计算交易的临时输出地址T’=c*G+B,即T’=H(s*R*G)*G+B,判断T是否等于T’;
10)如果T=T’,接收方利用公钥密钥c和支付私钥b,计算相应的确认交易私钥txSK=c+b,来确认该交易。
在上述过程中,接收方需要持续扫描区块链中产生的交易,并持续根据交易的临时公钥和自身私钥计算验证其是否为交易的真实接收方,直到检测到与自身匹配的交易为止。在这个过程中,接收方需要进行大量耗时的椭圆曲线标量乘法运算,这限制了DKSAP在低性能设备(如移动终端、物联网设备等)中的应用。
综上所述,现有技术存在的问题是:现有DKSAP隐匿地址协议在交互过程中接收方需要进行大量耗时的椭圆曲线标量乘法运算,计算量大,运算复杂,且耗费时间长;限制了DKSAP在低性能设备(如移动终端、物联网设备等)中的应用。
解决上述技术问题的难度:
解决上述问题的难度在于如何设计新的计算方式,既能提高计算效率,又能保证隐匿交易的正确进行。
解决上述技术问题的意义:
解决目前广泛使用的双密钥隐匿地址协(DKSAP)中存在的由于需要大量耗时的椭圆曲线标量乘法运算以及耗时的哈希计算造成的计算性能低、不适用于低性能设备(如移动终端、物联网设备等)的问题后,能够极高地提升计算性能、节约设备资源,使得双密钥隐匿地址协议适用于更多的设备,且提升用户体验。
发明内容
针对现有技术存在的需要大量耗时的椭圆曲线标量乘法运算的问题,本发明提供了一种更高效的基于双线性映射的区块链双密钥隐匿地址处理方法。
本发明是这样实现的,一种基于双线性映射的区块链双密钥隐匿地址处理方法,所述基于双线性映射的区块链双密钥隐匿地址处理方法包括以下步骤:
步骤一,生成交互的发送方和接收方的双密钥对--扫描密钥对和支付密钥对,密钥对生成函数keyGen(),用于在用户端生成用户的公私钥对;生成成功,返回用户公私钥对pubK和priK;生成不成功,返回NULL;其中,pubK=gpriK,g是以大素数p为阶的乘法循环群G的生成元,且系统中g的取值是相同的;另外,用(pubKRT1,priKRT1)和(pubKRT2,priKRT2)表示接收方的支付密钥对和扫描密钥对;并将双公钥公布在区块链上,进行初始化;
步骤二,在交互过程中,隐匿接收方的地址,破坏发送方和接收方的关联性,对用户身份进行隐私保护;
进一步,所述基于双线性映射的区块链双密钥隐匿地址处理方法生成发送方和接收方的双密钥对--扫描密钥对和支付密钥对包括:
RT:pubKRT1,priKRT1=keyGen();pubKRT2,priKRT2=keyGen();
RT→BC:pubKRT1||pubKRT2
ST→BC:pubKRT1||pubKRT2
其中:ST表示发送方,RT表示接收方,BC表示区块链。
所述基于双线性映射的区块链双密钥隐匿地址处理方法生成发送方和接收方的双密钥对--扫描密钥对和支付密钥对的交互过程进一步包括:
(1)接收方生成自己的支付密钥对和扫描密钥对,(pubKRT1,priKRT1)和(pubKRT2,priKRT2);
(2)接收方将自己的双公钥pubKRT1和pubKRT2公布到区块链上;
(3)发送方从区块链上获得接收方的双公钥pubKRT1和pubKRT2
进一步,步骤二中的隐匿交互中包括以下函数:
1)哈希函数H(content),用于实现对内容的哈希加密处理;参数content表示哈希加密的密文内容;哈希加密成功,返回哈希加密结果content_H;哈希加密不成功,返回NULL;
2)数据交互函数TxTranfer(ST,txAddr),用于发送方将数目转入目的地址中;参数ST表示发送方,txAddr表示目的地址;转账成功,返回true;转账不成功,返回false;
3)交互扫描函数TxScan(),用于接收方扫描区块链中产生的交互;扫描成功,返回相应的地址值TAddrScan和临时公钥R;扫描不成功,返回NULL。
进一步,步骤二中的隐匿交互交互过程包括:
(1)ST:r,R=keyGen();
(2)ST:TAddr=e(pubKRT1,pubKRT2)r
(3)ST→BC:TxTranfer(ST,TAddr)||R;
(4)RT→BC:TAddrScan,R=TxScan();
(5)RT:TAddr’=e(pubKRT1,R)priKRT2
(6)RT:txSK=RpriKRT1*priKRT2
所述基于双线性映射的区块链双密钥隐匿地址处理方法进一步包括:
1)发送方生成临时私钥r和公钥R,其中,R=gr
2)发送方计算一次性临时输出地址TAddr=e(pubKRT1,pubKRT2)r
3)发送方往临时输出地址TAddr发布数据,并附加临时公钥R;
4)接收方扫描区块链系统中产生的交互,获得相应的临时地址值和临时公钥,分别记为TAddrScan和R;
5)接收方根据临时公钥R和扫描私钥priKRT2,计算
TAddr’=e(pubKRT1,pubKRT2)r
6)如果地址TAddr’=TAddrScan,TAddr’=TAddr,接收方计算确认交互的私钥txSK=RpriKRT1*priKRT2;其中,TAddr’=TAddr=e(pubKRT1,R)priKRT2=e(pubKRT1,pubKRT2)r=e(g,g)priKRT1*priKRT2*r
进一步,临时输出地址TAddr和确认交互私钥txSK之间的关系如下:
e(txSK,g)=e(RpriKRT1*priKRT2,g)=TAddr。
本发明的另一目的在于提供一种运行所述基于双线性映射的区块链双密钥隐匿地址处理方法的基于双线性映射的区块链双密钥隐匿地址处理系统,所述基于双线性映射的区块链双密钥隐匿地址处理系统包括:
发送方:与区块链连接,用于生成临时密钥对,并通过双线性映射计算出交互的临时输出地址;
区块链:与发送方、接收方连接;用于为发送方和接收方提供交互平台;
接收方:与区块链连接,用于根据附加的公钥和自身私钥通过双线性映射计算出临时输出地址,验证是否为真实接收方,同时计算相应的确认交互私钥。
本发明的另一目的在于提供一种实现所述基于双线性映射的区块链双密钥隐匿地址处理方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于双线性映射的区块链双密钥隐匿地址处理方法。
综上所述,本发明的优点及积极效果为:本发明采用高计算性能的双线性映射计算代替原有的低计算性能的哈希运算和椭圆曲线标量乘法运算,解决了现有技术中哈希计算和椭圆曲线标量乘法运算耗时高的技术缺陷;同时在初始化阶段,接收方生成自己的“扫描密钥对”和“支付密钥对”,然后将双公钥发布在区块链上,接收方从区块链获得接收方的双公钥。在隐匿交互阶段,发送方根据临时私钥和接收方的双公钥利用双线性映射计算临时输出地址;接收方扫描到交互后,根据临时公钥和自身私钥利用双线性映射计算验证其是否为真实接收方。在这个过程中,无需使用耗时高的哈希计算和椭圆曲线标量乘法运算。
本发明使用双线性映射计算替代DKSAP中耗时的哈希和标量乘法运行,计算速度更快,性能更高。实验表明,相对于DKSAP,BMDKSAP在公私钥对的生成、发送方计算临时输出地址、接收方计算临时输出地址、接收方计算确认私钥四个阶段,将计算性能分别提高了8.3%、86.1%、86.2%、86.5%。即,相对于DKSAP,BMDKSAP在个阶段的计算性能显著提高,总体计算性能具有显著提高。
本发明基于双线性映射,提供了一种性能更高的双密钥隐匿地址协议—BMDKSAP;双线性映射运算耗时小、计算性能高。
附图说明
图1是本发明实施例提供的系统架构图。
图中:1、发送方;2、区块链;3、接收方。
图2是本发明实施例提供的系统原理图。
图3是本发明实施例提供的交互方法流程图。
图4是本发明实施例提供的初始化阶段交互示意图。
图5是本发明实施例提供的隐匿交互阶段交互示意图。
图6是本发明实施例提供的临时输出地址和确认交互私钥计算结果示意图。
图7是本发明实施例提供的时间对比图;
图中:(a)KeyPaG时间对比图;(b)CaTAddr时间对比图;(c)CaTAddr’时间对比图;(d)CaTxPriK时间对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种基于双线性映射的区块链双密钥隐匿地址处理方法,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的基于双线性映射的区块链双密钥隐匿地址处理方法的系统架构包括:
发送方1:与区块链2连接,用于生成临时密钥对,并通过双线性映射计算出交互的临时输出地址。
区块链2:与发送方1、接收方3连接;用于为发送方和接收方提供交互平台;
接收方3:与区块链2连接,用于根据附加的公钥和自身私钥通过双线性映射计算出临时输出地址,验证是否为真实接收方,同时计算相应的确认交互私钥。
如图3所示,本发明实施例提供的基于双线性映射的区块链双密钥隐匿地址处理方法包括以下步骤:
S301,初始化:生成发送方和接收方的双密钥对即“扫描密钥对”和“支付密钥对”,并将双公钥公布在区块链上,进行初始化。
S302,隐匿交互:在交互过程中,隐匿接收方的地址,破坏输入地址和真实输出地址的关联性,对用户身份进行隐私保护。
在本发明的优选实施例中,步骤S301生成发送方和接收方的双密钥对具体包括:
密钥对生成函数keyGen(),用于在用户端生成用户的公私钥对;如果生成成功,返回用户公私钥对pubK和priK;否则,返回NULL。
其中,pubK=gpriK,g是以大素数p为阶的乘法循环群G的生成元,且系统中g的取值是相同的;另外,用(pubKRT1,priKRT1)和(pubKRT2,priKRT2)表示接收方的“支付密钥对”和“扫描密钥对”。
在本发明的优选实施例中,如图4所示,步骤S301的初始化具体包括:
初始化交互过程包括:
RT:pubKRT1,priKRT1=keyGen();pubKRT2,priKRT2=keyGen();
RT→BC:pubKRT1||pubKRT2
ST→BC:pubKRT1||pubKRT2
其中:ST表示发送方,RT表示接收方,BC表示区块链。
初始化具体步骤包括:
(1)接收方生成自己的“支付密钥对”和“扫描密钥对”,(pubKRT1,priKRT1)和(pubKRT2,priKRT2);
(2)接收方将自己的双公钥pubKRT1和pubKRT2公布到区块链上;
(3)发送方从区块链上获得接收方的双公钥pubKRT1和pubKRT2
在本发明的优选实施例中,步骤S302中隐匿交互中包括以下函数:
1)哈希函数H(content),用于实现对内容的哈希加密处理;参数content表示哈希加密的密文内容;如果哈希加密成功,返回哈希加密结果content_H;否则,返回NULL;
2)数据交互函数TxTranfer(ST,txAddr),用于发送方将数目转入目的地址中;参数ST表示发送方,txAddr表示目的地址;如果转账成功,返回true;否则,返回false;
3)交互扫描函数TxScan(),用于接收方扫描区块链中产生的交互;如果扫描成功,返回相应的地址值TAddrScan和临时公钥R;否则,返回NULL。
在本发明的优选实施例中,如图5所示,步骤S301中的隐匿交互具体包括:
隐匿交互过程包括:
(1)ST:r,R=keyGen();
(2)ST:TAddr=e(pubKRT1,pubKRT2)r
(3)ST→BC:TxTranfer(ST,TAddr)||R;
(4)RT→BC:TAddrScan,R=TxScan();
(5)RT:TAddr’=e(pubKRT1,R)priKRT2
(6)RT:txSK=RpriKRT1*priKRT2
隐匿交互具体步骤包括:
1)发送方生成临时私钥r和公钥R,其中,R=gr
2)发送方计算一次性临时输出地址TAddr=e(pubKRT1,pubKRT2)r
3)发送方往临时输出地址TAddr发布数据,并附加临时公钥R;
4)接收方扫描区块链系统中产生的交互,获得相应的临时地址值和临时公钥,分别记为TAddrScan和R;
5)接收方根据临时公钥R和扫描私钥priKRT2,计算
TAddr=e(pubKRT1,pubKRT2)r
6)如果地址TAddr=TAddrScan,即TAddr=TAddr,接收方计算确认交互的私钥txSK=RpriKRT1*priKRT2;注:其中,TAddr’=TAddr=e(pubKRT1,R)priKRT2=e(pubKRT1,pubKRT2)r=e(g,g)priKRT1*priKRT2*r
本发明实施例提供的临时输出地址TAddr和确认交互私钥txSK之间的关系如下:
e(txSK,g)=e(RpriKRT1*priKRT2,g)=TAddr。
下面结合实验对本发明的技术效果作详细的说明。
1、实验环境
本发明基于以太坊构建联盟链对基于双线性映射的双密钥隐匿地址协——BMDKSAP进行验证。实验PC机操作系统为win10操作系统,处理器为Intel(R)Core(TM)i7-8550U CPU@1.80GHz 1.99GHz,8G内存;选取的以太坊区块链为go-ethereum-1.9;主要编程语言为Go;乘法循环群G1、G2和GT都是从椭圆曲线y2=x3+x中选取,且G1=G2,即在本发明协议中采用的是对称双线性映射;此外,G1、G2和GT群中的元素长度均为1024位。
2、实验结果分析
发送方通过TAddr=e(pubKRT1,pubKRT2)r计算交易的临时输出地址的结果和接收方通过TAddr’=e(pubKRT1,R)priKRT2计算交互的临时输出地址的结果,以及接收方通过RpriKRTl*priKRT2计算确认交互私钥的结果如图6所示。
从图5可以看出,发送方可以通过双线性映射计算出交互的临时输出地址,同时,接收方能够根据交互附加的公钥和自身私钥通过双线性映射计算出正确的临时输出地址,且能够正确计算相应的确认交互私钥。
3、性能分析
本发明进行多次实验测试,并与DKSAP进行对比实验。记录DKSAP和BMDKSAP中产生一个公私钥对(用“KeyPaG”表示)、发送方计算临时输出地址(用“CaTAddr”表示)、接收方计算临时输出地址(用“CaTAddr’”表示)和接收方计算确认交互私钥(用“CaTxPriK”表示)的时间(单位:ms),测量总次数分别为10、20、30、40、50、60、70、80、90和100次,共10组。相应阶段的运行时间和平均运行时间如表1所示,时间对比图如图7(a)-7(d)所示。
表1对比时间记录表(单位:ms)
Figure GDA0004053469440000101
由表1和图7(a)-7(d)可以看出,在时间开销方面,相对于DKSAP,BMDKSAP表现出明显的优势。在私钥对的生成(KeyPaG)、发送方计算临时输出地址(CaTAddr)、接收方计算临时输出地址(CaTAddr’)、接收方计算确认交互私钥(CaTxPriK)四个阶段,BMDKSAP平均运行时间比DKSAP少0.9ms、40.07ms、40.01ms、30.56ms。即,BMDKSAP将DKSAP个阶段的计算性能分别提高了8.3%、86.1%、86.2%、86.5%。
通过上述分析可以看出,相对于DKSAP,BMDKSAP在各阶段的计算性能显著提高。尤其是在计算频率极高的接收方持续计算交互临时输出地址阶段,总体计算性能提高了大约86%。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种基于双线性映射的区块链双密钥隐匿地址处理方法,其特征在于,所述基于双线性映射的区块链双密钥隐匿地址处理方法包括以下步骤:
步骤一,生成交互的发送方和接收方的双密钥对--扫描密钥对和支付密钥对,密钥对生成函数keyGen(),用于在用户端生成用户的公私钥对;生成成功,返回用户公私钥对pubK和priK;生成不成功,返回NULL;其中,pubK=gpriK,g是以大素数p为阶的乘法循环群G的生成元,且系统中g的取值是相同的;另外,用(pubKRT1,priKRT1)和(pubKRT2,priKRT2)表示接收方的支付密钥对和扫描密钥对;并将双公钥公布在区块链上,进行初始化;
步骤二,在交互过程中,隐匿接收方的地址,破坏输入地址和输出地址之间的关联性,对用户身份进行隐私保护;
所述基于双线性映射的区块链双密钥隐匿地址处理方法生成发送方和接收方的双密钥对--扫描密钥对和支付密钥对包括:
RT:pubKRT1,priKRT1=keyGen();pubKRT2,priKRT2=keyGen();
RT→BC:pubKRT1||pubKRT2
ST→BC:pubKRT1||pubKRT2
其中:ST表示发送方,RT表示接收方,BC表示区块链;
所述基于双线性映射的区块链双密钥隐匿地址处理方法生成发送方和接收方的双密钥对--扫描密钥对和支付密钥对的交互过程进一步包括:
(1)接收方生成自己的支付密钥对和扫描密钥对,(pubKRT1,priKRT1)和(pubKRT2,priKRT2);
(2)接收方将自己的双公钥pubKRT1和pubKRT2公布到区块链上;
(3)发送方从区块链上获得接收方的双公钥pubKRT1和pubKRT2
步骤二中的隐匿交互中包括以下函数:
1)哈希函数H(content),用于实现对内容的哈希加密处理;参数content表示哈希加密的密文内容;哈希加密成功,返回哈希加密结果content_H;哈希加密不成功,返回NULL;
2)数据交互函数TxTranfer(ST,txAddr),用于发送方将数目转入目的地址中;参数txAddr表示目的地址;转账成功,返回true;转账不成功,返回false;
3)交互扫描函数TxScan(),用于接收方扫描区块链中产生的交互;扫描成功,返回相应的地址值TAddrScan和临时公钥R;扫描不成功,返回NULL;
步骤二中的隐匿交互过程包括:
(1)ST:r,R=keyGen();
(2)ST:TAddr=e(pubKRT1,pubKRT2)r
(3)ST→BC:TxTranfer(ST,TAddr)||R;
(4)RT→BC:TAddrScan,R=TxScan();
(5)RT:TAddr’=e(pubKRT1,R)priKRT2
(6)RT:txSK=RpriKRT1*priKRT2
所述基于双线性映射的区块链双密钥隐匿地址处理方法进一步包括:
1)发送方生成临时私钥r和公钥R,其中,R=gr
2)发送方计算一次性临时输出地址TAddr=e(pubKRT1,pubKRT2)r
3)发送方往临时输出地址TAddr发布数据,并附加临时公钥R;
4)接收方扫描区块链系统中产生的交互,获得相应的临时地址值和临时公钥,分别记为TAddrScan和R;
5)接收方根据临时公钥R和扫描私钥priKRT2,计算TAddr’=e(pubKRT1,pubKRT2)r
6)如果地址TAddr’=TAddrScan,TAddr’=TAddr,接收方计算确认交互的私钥txSK=RpriKRT1 *priKRT2;其中,TAddr’=TAddr=e(pubKRT1,R)priKRT2=e(pubKRT1,pubKRT2)r=e(g,g)priKRT1*priKRT2*r
交互临时输出地址TAddr和确认交互私钥txSK之间的关系如下:
e(txSK,g)=e(RpriKRT1*priKRT2,g)=TAddr。
2.一种运行权利要求1所述基于双线性映射的区块链双密钥隐匿地址处理方法的基于双线性映射的区块链双密钥隐匿地址处理系统,其特征在于,所述基于双线性映射的区块链双密钥隐匿地址处理系统包括:
发送方:与区块链连接,用于生成交互临时密钥对,并通过双线性映射计算出交互的临时输出地址;
区块链:与发送方、接收方连接;用于为发送方和接收方提供交互平台;
接收方:与区块链连接,用于根据附加的公钥和自身私钥通过双线性映射计算出临时输出地址,验证是否为真实接收方,同时计算相应的确认交互私钥。
3.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1所述的基于双线性映射的区块链双密钥隐匿地址处理方法。
CN201910935049.9A 2019-09-29 2019-09-29 一种基于双线性映射的区块链双密钥隐匿地址处理方法 Expired - Fee Related CN110519059B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910935049.9A CN110519059B (zh) 2019-09-29 2019-09-29 一种基于双线性映射的区块链双密钥隐匿地址处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910935049.9A CN110519059B (zh) 2019-09-29 2019-09-29 一种基于双线性映射的区块链双密钥隐匿地址处理方法

Publications (2)

Publication Number Publication Date
CN110519059A CN110519059A (zh) 2019-11-29
CN110519059B true CN110519059B (zh) 2023-05-05

Family

ID=68634091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910935049.9A Expired - Fee Related CN110519059B (zh) 2019-09-29 2019-09-29 一种基于双线性映射的区块链双密钥隐匿地址处理方法

Country Status (1)

Country Link
CN (1) CN110519059B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111241586B (zh) * 2020-01-20 2023-02-07 布比(北京)网络技术有限公司 区块链地址匿名处理方法及系统、终端、存储介质
CN111343150B (zh) * 2020-02-06 2022-11-29 深圳市网心科技有限公司 一种基于区块链的交易数据传输方法、系统及相关组件
CN111159683B (zh) * 2020-04-03 2020-08-21 深圳壹账通智能科技有限公司 电子投票方法、装置、计算机和存储介质
CN111709740B (zh) * 2020-05-18 2023-06-06 杜晓楠 区块链系统中隐藏交易地址的方法、计算机可读存储介质和区块链系统
CN111709742B (zh) * 2020-05-18 2023-08-01 杜晓楠 区块链系统中防止根地址曝露的方法、计算机可读存储介质和区块链系统
CN111683070B (zh) * 2020-05-28 2022-07-15 平安科技(深圳)有限公司 基于身份加密的数据传送方法、装置及存储介质
CN114531224B (zh) * 2020-10-31 2024-03-01 华为技术有限公司 地址的生成方法、区块链信息的处理方法以及相关设备
CN114338027B (zh) * 2021-12-29 2024-05-28 浙江吉利控股集团有限公司 区块链的隐私处理方法、请求终端及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779704A (zh) * 2016-12-06 2017-05-31 杭州趣链科技有限公司 一种基于环签名的区块链匿名交易方法
CN107038578A (zh) * 2017-04-19 2017-08-11 浙江数秦科技有限公司 基于区块链的数据交易平台中多重签名交易信息处理方法
CN108400870A (zh) * 2018-01-30 2018-08-14 浙江易云物联科技有限公司 动态双密钥算法
WO2019116249A1 (en) * 2017-12-15 2019-06-20 nChain Holdings Limited Computer-implemented systems and methods for authorising blockchain transactions with low-entropy passwords
CN109919619A (zh) * 2019-04-30 2019-06-21 中央财经大学 一种区块链交易中身份隐私保护方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285996B2 (en) * 2005-03-30 2012-10-09 Dublin City University Verification of identity based signatures
US8094810B2 (en) * 2006-02-03 2012-01-10 Massachusetts Institute Of Technology Unidirectional proxy re-encryption
CN102638345B (zh) * 2012-05-09 2015-07-15 四川师范大学 基于椭圆曲线离散对数困难性假设的daa认证方法及系统
CN109792381B (zh) * 2017-02-28 2021-05-11 空客直升机 用于存储和分享综合数据的方法和装置
CN109034796B (zh) * 2018-06-15 2023-09-22 安达数据技术(深圳)有限公司 基于联盟链的交易监管方法、电子装置及可读存储介质
CN109474589B (zh) * 2018-11-05 2020-12-01 江苏大学 基于以太坊的隐私保护传输方法
CN109508552B (zh) * 2018-11-09 2021-04-30 江苏大学 分布式云存储系统的隐私保护方法
CN109951286A (zh) * 2018-11-15 2019-06-28 陕西医链区块链集团有限公司 一种医疗区块链通信系统的加密认证系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106779704A (zh) * 2016-12-06 2017-05-31 杭州趣链科技有限公司 一种基于环签名的区块链匿名交易方法
CN107038578A (zh) * 2017-04-19 2017-08-11 浙江数秦科技有限公司 基于区块链的数据交易平台中多重签名交易信息处理方法
WO2019116249A1 (en) * 2017-12-15 2019-06-20 nChain Holdings Limited Computer-implemented systems and methods for authorising blockchain transactions with low-entropy passwords
CN108400870A (zh) * 2018-01-30 2018-08-14 浙江易云物联科技有限公司 动态双密钥算法
CN109919619A (zh) * 2019-04-30 2019-06-21 中央财经大学 一种区块链交易中身份隐私保护方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王子钰 ; 刘建伟 ; 张宗洋 ; 喻辉 ; .基于聚合签名与加密交易的全匿名区块链.计算机研究与发展.2018,(第10期),全文. *

Also Published As

Publication number Publication date
CN110519059A (zh) 2019-11-29

Similar Documents

Publication Publication Date Title
CN110519059B (zh) 一种基于双线性映射的区块链双密钥隐匿地址处理方法
JP7552970B2 (ja) ブロックチェーンを用いてデータ記録を分配するシステム及び方法
JP7007398B2 (ja) トランザクション要求を処理するための方法及び装置
CN110351096B (zh) 多重签名方法、签名中心、程序介质及电子设备
US20240313947A1 (en) System for securing verification key from alteration and verifying validity of a proof of correctness
JP7512294B2 (ja) ブロックチェーンネットワークを介した移転を実施するためのコンピュータで実施されるシステムおよび方法
WO2020024995A1 (zh) 一种隐私交易方法、系统及设备
CN111316615A (zh) 使用调解器计算机系统确保计算机程序正确执行的系统和方法
CN110675265B (zh) 无临时密钥泄露的区块链双密钥隐匿地址协议的实现方法
US8300810B2 (en) Method for securely encrypting or decrypting a message
US20090180611A1 (en) Representation change of a point on an elliptic curve
US20160226664A1 (en) Hypersphere-Based Multivariable Public Key Encryption/Decryption System and Method
EP3930252A1 (en) Countermeasures for side-channel attacks on protected sign and key exchange operations
Liu et al. Efficient implementation of ECDH key exchange for MSP430-based wireless sensor networks
US7774160B2 (en) Method, device, and system for verifying points determined on an elliptic curve
Ernstberger et al. Do You Need a Zero Knowledge Proof?
CN111712816B (zh) 使用密码蒙蔽以用于高效地使用蒙哥马利乘法
CN110516463A (zh) 用于生成信息的方法和装置
CN111260364B (zh) 一种基于区块链的可扩展快速支付方法及系统
US8904508B2 (en) System and method for real time secure image based key generation using partial polygons assembled into a master composite image
Na et al. Comparative analysis of schnorr digital signature and ecdsa for efficiency using private ethereum network
Wu et al. Bpf-payment: Fair payment for cloud computing with privacy based on blockchain and homomorphic encryption
EP3972188A1 (en) Low circuit depth homomorphic encryption evaluation
CN112861184A (zh) 资产证明的验证与生成方法、装置及电子设备
Judge et al. A Hardware‐Accelerated ECDLP with High‐Performance Modular Multiplication

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20230505