CN110519059A - 一种基于双线性映射的区块链双密钥隐匿地址处理方法 - Google Patents
一种基于双线性映射的区块链双密钥隐匿地址处理方法 Download PDFInfo
- Publication number
- CN110519059A CN110519059A CN201910935049.9A CN201910935049A CN110519059A CN 110519059 A CN110519059 A CN 110519059A CN 201910935049 A CN201910935049 A CN 201910935049A CN 110519059 A CN110519059 A CN 110519059A
- Authority
- CN
- China
- Prior art keywords
- transaction
- pubk
- key
- block chain
- address
- 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.)
- Granted
Links
- 230000009977 dual effect Effects 0.000 title claims abstract description 41
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000012790 confirmation Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 17
- 238000012546 transfer Methods 0.000 claims description 13
- 230000002452 interceptive effect Effects 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 241000208340 Araliaceae Species 0.000 claims 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 1
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 235000008434 ginseng Nutrition 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000010365 information processing Effects 0.000 abstract description 2
- 230000007547 defect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 4
- 102100037504 Paired box protein Pax-5 Human genes 0.000 description 3
- 101710149067 Paired box protein Pax-5 Proteins 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241001028048 Nicola Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002609 medium Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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/3033—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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/3073—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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),是名为“ByteCoin”的比特币论坛成员于2011年提出;2013年,Nicolas van Saberhagen在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计算交易的临时输出地址的结果,以及接收方通过RpriKRT1*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)
由表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 (10)
1.一种基于双线性映射的区块链双密钥隐匿地址处理方法,其特征在于,所述基于双线性映射的区块链双密钥隐匿地址处理方法包括以下步骤:
步骤一,生成交易的发送方和接收方的双密钥对扫描密钥对和支付密钥对,密钥对生成函数keyGen(),用于在用户端生成用户的公私钥对;生成成功,返回用户公私钥对pubK和priK;生成不成功,返回NULL;其中,pubK=gpriK,g是以大素数p为阶的乘法循环群G的生成元,且系统中g的取值是相同的;另外,用(pubKRT1,priKRT1)和(pubKRT2,priKRT2)表示交易接收方的支付密钥对和扫描密钥对;并将双公钥公布在区块链上,进行初始化;
步骤二,在转账交易过程中,隐匿交易接收方的地址,破坏交易输入地址和输出地址之间的关联性,对交易中用户身份进行隐私保护。
2.如权利要求1所述的基于双线性映射的区块链双密钥隐匿地址处理方法,其特征在于,所述基于双线性映射的区块链双密钥隐匿地址处理方法生成交易的发送方和接收方的双密钥对扫描密钥对和支付密钥对的交互过程包括:
RT:pubKRT1,priKRT1=keyGen();pubKRT2,priKRT2=keyGen();
RT→BC:pubKRT1||pubKRT2;
ST→BC:pubKRT1||pubKRT2;
其中:ST表示交易发送方,RT表示交易接收方,BC表示区块链。
3.如权利要求2所述的基于双线性映射的区块链双密钥隐匿地址处理方法,其特征在于,进一步包括:
(1)接收方生成自己的支付密钥对和扫描密钥对,(pubKRT1,priKRT1)和(pubKRT2,priKRT2);
(2)接收方将自己的双公钥pubKRT1和pubKRT2公布到区块链上;
(3)发送方从区块链上获得接收方的双公钥pubKRT1和pubKRT2。
4.如权利要求1所述的基于双线性映射的区块链双密钥隐匿地址处理方法,其特征在于,步骤二中的隐匿交易中包括以下函数:
1)哈希函数H(content),用于实现对内容的哈希加密处理;参数content表示哈希加密的密文内容;哈希加密成功,返回哈希加密结果content_H;哈希加密不成功,返回NULL;
2)转账交易函数TxTranfer(ST,txAddr),用于交易发送方将资金转入目的地址中;参数txAddr表示此次转账的目的地址;转账成功,返回true;转账不成功,返回false;
3)交易扫描函数TxScan(),用于交易接收方扫描区块链中产生的交易;扫描成功,返回相应交易的地址值TAddrScan和交易临时公钥R;扫描不成功,返回NULL。
5.如权利要求1所述的基于双线性映射的区块链双密钥隐匿地址处理方法,其特征在于,步骤二中的隐匿交易交互过程包括:
(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。
6.如权利要求5所述的基于双线性映射的区块链双密钥隐匿地址处理方法,其特征在于,进一步包括:
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。
7.如权利要求6所述的基于双线性映射的区块链双密钥隐匿地址处理方法,其特征在于,交易临时输出地址TAddr和确认交易私钥txSK之间的关系如下:
e(txSK,g)=e(RpriKRT1*priKRT2,g)=TAddr。
8.一种运行权利要求1所述基于双线性映射的区块链双密钥隐匿地址处理方法的基于双线性映射的区块链双密钥隐匿地址处理系统,其特征在于,所述基于双线性映射的区块链双密钥隐匿地址处理系统包括:
交易发送方:与区块链连接,用于生成交易临时密钥对,并通过双线性映射计算出交易的临时输出地址;
区块链:与交易发送方、交易接收方连接;用于为交易发送方和交易接收方提供交易平台;
交易接收方:与区块链连接,用于根据交易附加的公钥和自身私钥通过双线性映射计算出交易临时输出地址,验证是否为该笔交易的真实接收方,同时计算相应的确认交易私钥。
9.一种实现权利要求1~7任意一项所述基于双线性映射的区块链双密钥隐匿地址处理方法的信息数据处理终端。
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7任意一项所述的基于双线性映射的区块链双密钥隐匿地址处理方法。
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 true CN110519059A (zh) | 2019-11-29 |
CN110519059B 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) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159683A (zh) * | 2020-04-03 | 2020-05-15 | 深圳壹账通智能科技有限公司 | 电子投票方法、装置、计算机和存储介质 |
CN111241586A (zh) * | 2020-01-20 | 2020-06-05 | 布比(北京)网络技术有限公司 | 区块链地址匿名处理方法及系统、终端、存储介质 |
CN111343150A (zh) * | 2020-02-06 | 2020-06-26 | 深圳市网心科技有限公司 | 一种基于区块链的交易数据传输方法、系统及相关组件 |
CN111683070A (zh) * | 2020-05-28 | 2020-09-18 | 平安科技(深圳)有限公司 | 基于身份加密的数据传送方法、装置及存储介质 |
CN111709742A (zh) * | 2020-05-18 | 2020-09-25 | 杜晓楠 | 区块链系统中防止根地址曝露的方法、计算机可读存储介质和区块链系统 |
CN111709740A (zh) * | 2020-05-18 | 2020-09-25 | 杜晓楠 | 区块链系统中隐藏交易地址的方法、计算机可读存储介质和区块链系统 |
CN114338027A (zh) * | 2021-12-29 | 2022-04-12 | 浙江吉利控股集团有限公司 | 区块链的隐私处理方法、请求终端及存储介质 |
EP4216486A4 (en) * | 2020-10-31 | 2024-03-27 | Huawei Technologies Co., Ltd. | ADDRESS GENERATION METHOD, BLOCKCHAIN INFORMATION PROCESSING METHOD, AND RELATED DEVICE |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028114A1 (en) * | 2005-03-30 | 2007-02-01 | Mccullagh Noel | Verification of identity based signatures |
US20080059787A1 (en) * | 2006-02-03 | 2008-03-06 | Hohenberger Susan R | Unidirectional proxy re-encryption |
CN102638345A (zh) * | 2012-05-09 | 2012-08-15 | 四川师范大学 | 基于椭圆曲线离散对数困难性假设的daa认证方法及系统 |
CN106779704A (zh) * | 2016-12-06 | 2017-05-31 | 杭州趣链科技有限公司 | 一种基于环签名的区块链匿名交易方法 |
CN107038578A (zh) * | 2017-04-19 | 2017-08-11 | 浙江数秦科技有限公司 | 基于区块链的数据交易平台中多重签名交易信息处理方法 |
CN108400870A (zh) * | 2018-01-30 | 2018-08-14 | 浙江易云物联科技有限公司 | 动态双密钥算法 |
CN109034796A (zh) * | 2018-06-15 | 2018-12-18 | 重庆金融资产交易所有限责任公司 | 基于联盟链的交易监管方法、电子装置及可读存储介质 |
CN109474589A (zh) * | 2018-11-05 | 2019-03-15 | 江苏大学 | 基于以太坊的隐私保护传输方法 |
CN109508552A (zh) * | 2018-11-09 | 2019-03-22 | 江苏大学 | 分布式云存储系统的隐私保护方法 |
CN109792381A (zh) * | 2017-02-28 | 2019-05-21 | 空客直升机 | 用于存储和分享综合数据的方法和装置 |
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 | 中央财经大学 | 一种区块链交易中身份隐私保护方法 |
CN109951286A (zh) * | 2018-11-15 | 2019-06-28 | 陕西医链区块链集团有限公司 | 一种医疗区块链通信系统的加密认证系统及方法 |
-
2019
- 2019-09-29 CN CN201910935049.9A patent/CN110519059B/zh not_active Expired - Fee Related
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028114A1 (en) * | 2005-03-30 | 2007-02-01 | Mccullagh Noel | Verification of identity based signatures |
US20080059787A1 (en) * | 2006-02-03 | 2008-03-06 | Hohenberger Susan R | Unidirectional proxy re-encryption |
CN102638345A (zh) * | 2012-05-09 | 2012-08-15 | 四川师范大学 | 基于椭圆曲线离散对数困难性假设的daa认证方法及系统 |
CN106779704A (zh) * | 2016-12-06 | 2017-05-31 | 杭州趣链科技有限公司 | 一种基于环签名的区块链匿名交易方法 |
CN109792381A (zh) * | 2017-02-28 | 2019-05-21 | 空客直升机 | 用于存储和分享综合数据的方法和装置 |
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 | 浙江易云物联科技有限公司 | 动态双密钥算法 |
CN109034796A (zh) * | 2018-06-15 | 2018-12-18 | 重庆金融资产交易所有限责任公司 | 基于联盟链的交易监管方法、电子装置及可读存储介质 |
CN109474589A (zh) * | 2018-11-05 | 2019-03-15 | 江苏大学 | 基于以太坊的隐私保护传输方法 |
CN109508552A (zh) * | 2018-11-09 | 2019-03-22 | 江苏大学 | 分布式云存储系统的隐私保护方法 |
CN109951286A (zh) * | 2018-11-15 | 2019-06-28 | 陕西医链区块链集团有限公司 | 一种医疗区块链通信系统的加密认证系统及方法 |
CN109919619A (zh) * | 2019-04-30 | 2019-06-21 | 中央财经大学 | 一种区块链交易中身份隐私保护方法 |
Non-Patent Citations (6)
Title |
---|
IOTEX: "区块链隐藏增强技术系列--隐私地址1", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/37081667》 * |
YILI LUO ECT.: "A New One-time Address Scheme for Blockchain", 《2019 IEEE 9TH INTERNATIONAL CONFERENCE ON ELECTRONICS INFORMATION AND EMERGENCY COMMUNICATION (ICEIEC)》 * |
王子钰;刘建伟;张宗洋;喻辉;: "基于聚合签名与加密交易的全匿名区块链" * |
王宗慧,张胜利,金石,王晖: "区块链数据隐私保护研究", 《物联网学报》 * |
肖欢,谭良: "虚拟货币热钱包的可信保护方案", 《计算机工程与设计》 * |
陈铁明,叶敏克,蔡家楣: "基于双线性对的可认证密钥协商协议", 《计算机科学》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241586A (zh) * | 2020-01-20 | 2020-06-05 | 布比(北京)网络技术有限公司 | 区块链地址匿名处理方法及系统、终端、存储介质 |
CN111241586B (zh) * | 2020-01-20 | 2023-02-07 | 布比(北京)网络技术有限公司 | 区块链地址匿名处理方法及系统、终端、存储介质 |
CN111343150A (zh) * | 2020-02-06 | 2020-06-26 | 深圳市网心科技有限公司 | 一种基于区块链的交易数据传输方法、系统及相关组件 |
CN111159683A (zh) * | 2020-04-03 | 2020-05-15 | 深圳壹账通智能科技有限公司 | 电子投票方法、装置、计算机和存储介质 |
CN111159683B (zh) * | 2020-04-03 | 2020-08-21 | 深圳壹账通智能科技有限公司 | 电子投票方法、装置、计算机和存储介质 |
WO2021196473A1 (zh) * | 2020-04-03 | 2021-10-07 | 深圳壹账通智能科技有限公司 | 电子投票方法、装置、计算机和存储介质 |
CN111709740A (zh) * | 2020-05-18 | 2020-09-25 | 杜晓楠 | 区块链系统中隐藏交易地址的方法、计算机可读存储介质和区块链系统 |
CN111709742A (zh) * | 2020-05-18 | 2020-09-25 | 杜晓楠 | 区块链系统中防止根地址曝露的方法、计算机可读存储介质和区块链系统 |
WO2021239034A1 (zh) * | 2020-05-28 | 2021-12-02 | 平安科技(深圳)有限公司 | 基于身份加密的数据传送方法、装置、电子设备及存储介质 |
CN111683070A (zh) * | 2020-05-28 | 2020-09-18 | 平安科技(深圳)有限公司 | 基于身份加密的数据传送方法、装置及存储介质 |
EP4216486A4 (en) * | 2020-10-31 | 2024-03-27 | Huawei Technologies Co., Ltd. | ADDRESS GENERATION METHOD, BLOCKCHAIN INFORMATION PROCESSING METHOD, AND RELATED DEVICE |
CN114338027A (zh) * | 2021-12-29 | 2022-04-12 | 浙江吉利控股集团有限公司 | 区块链的隐私处理方法、请求终端及存储介质 |
CN114338027B (zh) * | 2021-12-29 | 2024-05-28 | 浙江吉利控股集团有限公司 | 区块链的隐私处理方法、请求终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110519059B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519059A (zh) | 一种基于双线性映射的区块链双密钥隐匿地址处理方法 | |
EP3777023B1 (en) | Computer-implemented system and method suitable for increasing the security of instant off-line blockchain transactions | |
CN111316615B (zh) | 使用调解器计算机系统确保计算机程序正确执行的系统和方法 | |
JP7512294B2 (ja) | ブロックチェーンネットワークを介した移転を実施するためのコンピュータで実施されるシステムおよび方法 | |
US11329995B2 (en) | Blockchain-based system, and electronic apparatus and method in the system | |
Hope-Bailie et al. | Interledger: Creating a standard for payments | |
EP4398141A2 (en) | Computer-implemented system and method for exchange of data | |
CN109565509A (zh) | Iot应用中基于令牌的网络服务 | |
EP3707871A1 (en) | System for recording verification keys on a blockchain | |
CN116561789B (zh) | 隐私数据的处理方法、装置、电子设备及可读存储介质 | |
Liao et al. | Analysis of a mobile payment protocol with outsourced verification in cloud server and the improvement | |
US20190318324A1 (en) | Systems and Methods for Securing Electronic Transactions | |
EP3788535B1 (en) | Techniques for performing secure operations | |
CN114358782A (zh) | 区块链交易审计方法、装置、设备及存储介质 | |
WO2010109271A1 (en) | Systems, methods, apparatuses, and computer program products for generation and exchange of digital currency | |
EP4278316A1 (en) | Token-based off-chain interaction authorization | |
CN113052599B (zh) | 交易凭证的生成、验证及存储方法、装置、设备和系统 | |
US20170141925A1 (en) | Privacy friendly location based services | |
Ernstberger et al. | Do You Need a Zero Knowledge Proof? | |
CN113971561A (zh) | 一种智能合约处理方法、支付端、接收端、服务端及系统 | |
WO2024108143A1 (en) | Systems and methods for secure payments via an alternative communication protocol | |
US20230267438A1 (en) | Systems and methods for direct electronic communication of consumer information | |
KR20030044932A (ko) | 네트워크상에서의 겹선형쌍 디피-헬만 문제를 이용한 익명핑거프린팅 방법 | |
WO2020256705A1 (en) | Cross-border quick response (qr) payment flow for encrypted primary account number (pan) payment flow | |
EP3926889A1 (en) | A cryptographic closeness proof between vectors |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20230505 |