CN112837064B - 联盟链的签名方法、签名验证方法及装置 - Google Patents
联盟链的签名方法、签名验证方法及装置 Download PDFInfo
- Publication number
- CN112837064B CN112837064B CN202110346650.1A CN202110346650A CN112837064B CN 112837064 B CN112837064 B CN 112837064B CN 202110346650 A CN202110346650 A CN 202110346650A CN 112837064 B CN112837064 B CN 112837064B
- Authority
- CN
- China
- Prior art keywords
- signature
- alliance
- transaction information
- user
- representing
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000006870 function Effects 0.000 claims description 91
- 238000004590 computer program Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001341 grazing-angle X-ray diffraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/3825—Use of electronic signatures
-
- 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
-
- 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/32—Cryptographic 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/3247—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供联盟链的签名方法、签名验证方法及装置,涉及区块链技术领域所述方法包括:对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名;获得其余联盟用户中每个联盟用户的随机参数;根据交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;根据门限函数的反函数以及发布者随机参数,获得发布者随机数;根据各个联盟用户的身份标识、多中心签名和随机数,生成交易信息的签名结果;基于各个联盟用户的身份标识、交易信息和交易信息的签名结果,生成交易报文。所述装置用于执行上述方法。本发明实施例提供联盟链的签名方法、签名验证方法及装置,提高签名的安全性。
Description
技术领域
本发明涉及区块链技术领域,具体涉及联盟链的签名方法、签名验证方法及装置。
背景技术
区块链技术是一种多中心的共识记账技术,该技术采用多节点共识的方法保证交易的一致性,由于区块链网络包括若干共识记账节点,每个记账节点存储全量账本数据并自主表决,最终汇集形成群体决策,故少数节点对全量账本的恶意修改,并不能影响群体表决的结果,这就决定了区块链系统具有不可篡改、安全可靠的特性。
在区块链网络中,交易参与机构构成联盟链多交易主体,多个交易主体作为不同的认证者,共同见证交易行为,由于交易信息具有机密性、隐私性和敏感性等特点,发送者对交易信息签名的同时,不希望向访问用户暴露其身份信息,从而避免身份隐私泄露风险。例如:在私人物品交易中,买家通过财团购买私人物品,向银行出示持有证明时,只要证明私人物品归财团所有,不必提供买家的身份信息,从而保护买家身份信息,避免隐私泄露的风险。类似的场景还包括:专属信息分享、资产转移等,其共同特点是涉及多个认证主体,实现多认证主体对访问用户的身份进行验证和授权,以确保用户具备合法的权限,实现机要信息的安全访问。传统基于区块链的身份认证系统,通过分布式身份客户端将签名和数字身份凭证上链存证,验证者对数字身份标识及数字身份凭证进行验证,此过程使得验证者能够接触到签名者的数字身份信息,增加了隐私泄露风险。因此,如何提出了一种联盟链多中心身份认证隐私保护方法,解决联盟组织认证过程中签名者隐私泄露的问题,以提高签名的安全性,成为本领域需要解决的重要课题。
发明内容
针对现有技术中的问题,本发明实施例提供联盟链的签名方法、签名验证方法及装置,能够至少部分地解决现有技术中存在的问题。
第一方面,本发明提出一种联盟链的签名方法,包括:
对交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名;
根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;其中,所述其余联盟用户是指除了发布交易信息的联盟用户以外的联盟用户;
根据所述交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;其中,所述多中心签名是预先获得的;所述交易信息的签名作为所述对称加密算法的对称加密密钥;
根据所述门限函数的反函数以及所述发布者随机参数,获得发布者随机数;其中,所述发布者随机数为发布交易信息的联盟用户的随机数;
根据各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数,生成所述交易信息的签名结果;
基于各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果,生成交易报文。
第二方面,本发明提供一种联盟链的签名验证方法,包括:
接收交易报文,所述交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果;其中,所述交易信息的签名结果包括多中心签名和各个联盟用户的随机数;
根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数;
对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名;
根据所述交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数;其中,所述交易信息的签名作为所述对称加密算法的对称加密密钥;
若所述验证参数与所述多中心签名相等,则输出验签成功信息。
第三方面,本发明提供一种联盟链的签名装置,包括:
第一获得模块,用于对交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名;
第二获得模块,用于根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;其中,所述其余联盟用户是指除了发布交易信息的联盟用户以外的联盟用户;
第三获得模块,用于根据所述交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;其中,所述多中心签名是预先获得的;所述交易信息的签名作为所述对称加密算法的对称加密密钥;
第四获得模块,用于根据所述门限函数的反函数以及所述发布者随机参数,获得发布者随机数;其中,所述发布者随机数为发布交易信息的联盟用户的随机数;
签名模块,用于根据各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数,生成所述交易信息的签名结果;
生成模块,用于基于各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果,生成交易报文。
第四方面,本发明提供一种联盟链的签名验证装置,包括:
接收模块,用于接收交易报文,所述交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果;其中,所述交易信息的签名结果包括多中心签名和各个联盟用户的随机数;
计算模块,用于根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数;
第五获得模块,用于对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名;
第六获得模块,用于根据所述交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数;其中,所述交易信息的签名作为所述对称加密算法的对称加密密钥;
验签模块,用于在所述验证参数与所述多中心签名相等之后,输出验签成功信息。
第五方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述联盟链的签名方法的步骤或者联盟链的签名验证方法的步骤。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述联盟链的签名方法的步骤或者联盟链的签名验证方法的步骤。
本发明实施例提供联盟链的签名方法、签名验证方法及装置,能够对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名,根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;根据交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;根据门限函数的反函数以及所述发布者随机参数,获得发布者随机数;根据各个联盟用户的身份标识、多中心签名和各个联盟用户的随机数,生成交易信息的签名结果,基于各个联盟用户的身份标识、交易信息和交易信息的签名结果,生成交易报文,在签名的过程中使用各个联盟用户的身份标识,隐藏了发布交易信息的联盟用户的身份,提高签名的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明第一实施例提供的联盟链系统的结构示意图。
图2是本发明第二实施例提供的联盟链的签名方法的流程示意图。
图3是本发明第三实施例提供的联盟链的签名验证方法的流程示意图。
图4是本发明第四实施例提供的共识记账节点的结构示意图。
图5是本发明第五实施例提供的数据执行处理模块的结构示意图。
图6是本发明第六实施例提供的联盟链的签名装置的结构示意图。
图7是本发明第七实施例提供的联盟链的签名装置的结构示意图。
图8是本发明第八实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的相关内容进行说明。本发明提出了联盟链的签名方法和签名验证方法,用于进行联盟链多联盟用户身份认证隐私保护,适合应用于去中心化的区块链环境中,解决联盟组织认证过程中签名者隐私泄露的问题,签名者以组织名义发起交易信息签名,验证者只能验证联盟组织数字签名,却接触不到签名者的数字身份。与以往的方法比,该方法不必产生第三公私钥对,也不依赖第三方参与,就能够实现联盟组织签名,有效保护了签名者在数字身份认证过程中的身份隐私。
图1是本发明第一实施例提供的联盟链系统的结构示意图,如图1所示,本发明实施例提供的联盟链系统包括身份认证节点1和多个共识记账节点2,其中:
身份认证节点1与每个共识记账节点2通信连接。共识记账节点2与联盟用户一一对应。联盟用户具有唯一对应的身份标识。
身份认证节点1用于接入共识记账节点2的交易参与人的证书分发和身份核验,并提供安全加密算法及公共参数。
每个共识记账节点2用于执行本发明实施例提供的联盟链的签名方法和联盟链的签名验证方法。共识记账节点2用于进行区块链交易接入和处理,提供智能合约执行、交易共识和交易记账;同时也为交易数据提供数据加密、解密、身份验证等安全服务。联盟用户通过对应的共识记账节点2接入区块链网络,在区块链网络通过智能合约交易,产生交易信息,拥有对交易信息进行加密、授权及发布等权限。
联盟用户的身份标识可以形式化表示为:
Gid={id|id={0,1}*}
Gid是联盟用户在区块链网络的身份标识,GID的长度可以设置为128位。由于共识记账节点2与联盟用户一一对应,联盟用户的GID也可以作为共识记账节点2在联盟链系统中的唯一标识,并存储在区块链中。
下面以一个共识记账节点作为执行主体为例,来说明本发明实施例提供的联盟链的签名方法的实现过程。
图2是本发明第二实施例提供的联盟链的签名方法的流程示意图,如图2所示,本发明实施例提供的联盟链的签名方法,包括:
S201、对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名;
具体地,联盟用户可以通过共识记账节点在联盟链系统中发布交易信息,在交易发布之前需要进行签名和加密。发布交易信息的联盟用户对应的共识记账节点可以获取交易信息和各个联盟用户的身份标识,然后对所述交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名,所述交易信息的签名可以作为对称加密算法的对称加密密钥。其中,所述交易信息包括但不限于商品名称、商品价格等信息,根据实际需要进行设置,本发明实施例不做限定。
例如,所述交易信息的签名k,k=h(m,Gid1,Gid2,...,Gidr),h()表示哈希运算,m表示交易信息,Gidj表示第j个联盟用户的身份标识,j为正整数且j小于等于r,r表示联盟用户的数量。
S202、根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;其中,所述其余联盟用户是指除了发布交易信息的联盟用户以外的联盟用户;
具体地,所述共识记账节点为除了所述共识记账节点对应的联盟用户以外的每个联盟用户选取随机数,然后根据门限函数以及其余联盟用户中每个联盟用户的随机序号,获得其余联盟用户中每个联盟用户的随机参数。其中,所述其余联盟用户是指除了发布交易信息的联盟用户以外的联盟用户,即所有的联盟用户中除了所述共识记账节点对应的联盟用户以外的联盟用户。其中,所述门限函数根据实际需要进行设置,本发明实施例不做限定。
例如,设置发布交易信息的联盟用户的随机序号为s(1≤s≤r),然后为其余联盟用户中每个联盟用户选取随机数xi(i≠s,1≤i≤r),i为正整数,r表示联盟用户的数量。引入门限函数g,使xi变形为yi,即:
yi=g(xi)
其中,yi表示第i个联盟用户的随机数。门限函数根据实际需要进行选择,本发明实施例不做限定。其中,每个联盟用户对应的门限函数可以相同也可以不同。
S203、根据所述交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;其中,所述多中心签名是预先获得的;所述交易信息的签名作为所述对称加密算法的对称加密密钥;
具体地,所述共识记账节点可以根据述交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数,在使用对称加密算法的时候,将所述交易信息的签名作为所述对称加密算法的对称加密密钥。其中,所述共识记账节点可以随机选取数值v作为所述多中心签名,v为整数,可以表示为二进制数。所述对称加密算法根据实际需要进行选择,本发明实施例不做限定。
例如,将多中心签名v表示为v={0,1}b,b表示二进制的位数。
例如,引入如下表达式:
Ck,v(y1,y2,...,ys,...,yr)=v
其中,Ek表示对称加密算法,并以交易信息的签名k作为对称加密密钥,/>表示异或运算,yi表示第i个联盟用户的随机参数,i为正整数,i≠s,1≤i≤r,v表示所述多中心签名,ys表示发布者随机参数,s表示发布交易信息的联盟用户的随机序号,1≤s≤r,r为所述联盟用户的数量。
通过和Ck,v(y1,y2,...,ys,...,yr)=v,可以获得下式:
其中,v、yi为已知量,根据上式可以求得ys。
S204、根据所述门限函数的反函数以及所述发布者随机参数,获得发布者随机数;其中,所述发布者随机数为发布交易信息的联盟用户的随机数;
具体地,通过所述门限函数,可以获得所述门限函数的反函数,所述共识记账节点根据所述门限函数的反函数以及所述发布者随机参数,可以获得发布者随机数。其中,所述发布者随机数为发布交易信息的联盟用户的随机数。
例如,设置门限函数为g,获得门限函数的反函数为g-1,那么发布者随机数xs=g-1(ys),其中,ys为发布者随机参数。
S205、根据各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数,生成所述交易信息的签名结果;
具体地,所述共识记账节点根据各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数采用签名算法对所述交易信息进行签名,可以生成所述交易信息的签名结果。所述交易信息的签名结果中包括所述各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数。其中,所述签名算法根据实际需要进行选择,本发明实施例不做限定。
例如,所述交易信息的签名结果可以表示为S(m)=(Gid1,Gid2,...,Gids,...,Gidr;v;x1,x2,...,xs,...,xr),Gidi表示第i个联盟用户的身份标识,xi表示第i个联盟用户的随机数,i为正整数,i≠s,1≤i≤r,v表示所述多中心签名,xs表示发布者随机数,Gids表示发布交易信息的联盟用户的身份标识,s表示发布交易信息的联盟用户的随机序号,1≤s≤r,r为所述联盟用户的数量。
S206、基于各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果,生成交易报文。
具体地,所述共识记账节点可以基于各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果,生成交易报文。所述共识记账节点在生成所述交易报文之后,可以将所述交易报文发布到区块链网络中,区块链网络中的其他共识记账节点可以接收到所述交易报文,并对所述交易报文进行验证。所述交易报文包括各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果。所述交易报文还可以包括联盟用户的数量、加密安全参数和校验位。其中,加密安全参数是预先获得的。
例如,所述交易报文以如下形式表示:
PM=(G id1,...,G idr,m,S,num,x1,...,xr,param,chksum)
其中,Gidj表示第j个联盟用户的身份标识,xj表示第j个联盟用户的随机数,m表示交易信息,S表示交易信息的签名结果,num表示联盟用户的数量,params为加密安全参数,chksum是校验位,j为正整数,j小于等于r,r表示联盟用户的数量。
本发明实施例提供的联盟链的签名方法,能够对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名,根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;根据交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;根据门限函数的反函数以及所述发布者随机参数,获得发布者随机数;根据各个联盟用户的身份标识、多中心签名和各个联盟用户的随机数,生成交易信息的签名结果,基于各个联盟用户的身份标识、交易信息和交易信息的签名结果,生成交易报文,在签名的过程中使用各个联盟用户的身份标识,隐藏了发布交易信息的联盟用户的身份,提高签名的安全性。
在上述各实施例的基础上,进一步地,所述门限函数为:
其中,gi(xi)表示第i个联盟用户的随机参数,xi表示第i个联盟用户的随机数,qi表示第i个联盟用户对应的质数,ni表示第i个联盟用户对应的自然数,f()表示转换函数,m表示所述交易信息,v表示所述多中心签名,ri表示第i个联盟用户对应的余数,ri=xi-qini,i为正整数且i小于等于N,N等于所述联盟用户的数量减1。
具体地,当(qi+1)ni≤v时,gi(xi)=qini+f(ri);其他情况,即当(qi+1)ni>v时,gi(xi)=f(m)。其中,转换函数f()与满足函数的双射性质,即ri与f(ri)一一对应,m与f(m)一一对应。
在上述各实施例的基础上,进一步地,所述多中心签名为二进制数。二进制的位数根据实际需要进行设置,本发明实施例不做限定,例如设置为128位。
下面以一个共识记账节点作为执行主体为例,来说明本发明实施例提供的联盟链的签名验证方法的实现过程。
图3是本发明第三实施例提供的联盟链的签名验证方法的流程示意图,如图3所示,本发明实施例提供的联盟链的签名验证方法包括:
S301、接收交易报文,所述交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果;其中,所述交易信息的签名结果包括多中心签名和各个联盟用户的随机数;
具体地,共识记账节点可以从联盟链网络中接收交易报文,所述交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果,所述交易信息的签名结果包括多中心签名和各个联盟用户的随机数。
S302、根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数;
具体地,所述共识记账节点从所述交易信息的签名结果中获得各个联盟用户的随机数,然后根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数。其中,所述门限函数是预设的,与交易信息的签名过程中所使用的门限函数对应。
S303、对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名;
具体地,所述共识记账节点从所述交易报文中获得交易信息,然后对所述交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名,所述交易信息的签名作为对称加密算法的对称加密密钥。
S304、根据所述交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数;其中,所述交易信息的签名作为所述对称加密算法的对称加密密钥;
具体地,所述共识记账节点可以根据所述交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数。其中,所述交易信息的签名作为所述对称加密算法的对称加密密钥。所述对称加密算法与交易信息的签名过程中所使用的对称加密算法对应。
例如,引入如下表达式:
将各个联盟用户的随机参数带入到上式进行运算,获得的结果作为验证参数。
S305、若所述验证参数与所述多中心签名相等,则输出验签成功信息。
具体地,所述共识记账节点在获得验证参数之后,从所述交易信息的签名结果中获得多中心签名,对比所述验证参数和所述多中心签名,如果所述验证参数与所述多中心签名相等,那么输出验签成功信息。如果所述验证参数与所述多中心签名不相等,那么可以输出验签失败信息。
本发明实施例提供的联盟链的签名验证方法,能够接收交易报文,交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果,根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数,对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名,根据交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数,在验证参数与多中心签名相等之后,输出验签成功信息,在签名验证的过程无需使用交易信息发布者的数字身份,避免了交易信息发布者的身份信息的泄露,提高了验签的安全性。
在上述各实施例的基础上,进一步地,所述门限函数为:
其中,gj(xj)表示第j个联盟用户的随机参数,xj表示第j个联盟用户的随机数,qj表示第j个联盟用户对应的质数,nj表示第j个联盟用户对应的自然数,f()表示转换函数,m表示所述交易信息,v表示所述多中心签名,rj表示第j个联盟用户对应的余数,rj=xj-qjnj,j为正整数且j小于等于M,M为所述联盟用户的数量。
具体地,当(qj+1)nj≤v时,gj(xj)=qjnj+f(rj);其他情况,即当(qj+1)nj>v时,gj(xj)=f(m)。其中,转换函数f()与满足函数的双射性质,即rj与f(rj)一一对应,m与f(m)一一对应。
在上述各实施例的基础上,进一步地,所述多中心签名为二进制数。二进制的位数根据实际需要进行设置,本发明实施例不做限定,例如设置为128位。
本发明实施例提供的联盟链的签名方法和签名验证方法,不依赖于第三方公正机构参与,支持联盟组织的数字身份签名认证,多联盟主体用于签名的信息为全局唯一标识Gid,能够根据联盟用户的Gid及安全参数,验证多交易主体签名的正确性。提出联盟链多联盟用户加密报文的形式,提高了签名的安全性和验签的隐私性。
图4是本发明第四实施例提供的共识记账节点的结构示意图,如图4所示,本发明实施例提供的共识记账节点2包括主控模块20、初始化模块21、数据执行处理模块22和交易信息收发模块23,其中:
主控模块20用于数据传递,并调用初始化模块21、数据执行处理模块22和交易信息收发模块23。
初始化模块21用于执行GlobalSetup()算法初始化变量,输入随机安全参数,输出全局参数params,即:
GlobalSetup(λ)→Params
数据执行处理模块22用于执行对称加密算法Encrypt()对信息加密,执行对称加密算法Decrypt()对信息解密,执行签名算法Sign(m)为交易信息m签名,执行ChkSign(S)实现交易数据的验签。
交易信息收发模块23用于接收交易信息请求方提出的交易信息请求报文,向交易信息请求方发送数据信息。
图5是本发明第五实施例提供的数据执行处理模块的结构示意图,如图5所示,数据执行处理模块22包括交易信息加密单元221、多主体身份签名单元222、交易信息解密单元223、多主体身份信息验签单元224。各单元描述如下:
交易信息加密单元221用于对交易信息进行对称加密,执行对称加密算法Encrypt(k)算法对交易信息进行数据加密,k表示密钥:
k=h(m,Gid1,Gid2,...,Gidr)
多主体身份签名单元222用于实现对交易信息m进行多中心身份签名,设PM表示交易M的松散耦合交易的交易报文,形式上:
PM=(G id1,...,G idr,m,S,num,x1,...,xr,param,chksum)
其中,Gidj表示第j个联盟用户的身份标识,xj表示第j个联盟用户的随机数,m表示交易信息,S表示交易信息的签名结果,num表示联盟用户的数量,params为加密安全参数,chksum是校验位,j为正整数,j小于等于r,r表示联盟用户的数量。
交易信息解密单元223用于对交易信息进行对称解密,执行对称解密算法Decrypt(k)算法进行数据解密,k表示密钥:
k=h(m,Gid1,Gid2,...,Gidr)
多主体身份信息验签单元224用于对交易报文进行验签。执行签名验证函数chkSign验证多中心签名。
如果签名验证函数输出结果为true,表示验签成功,否则输出结果为false,表示验签失败。
图6是本发明第六实施例提供的联盟链的签名装置的结构示意图,如图6所示,本发明实施例提供的联盟链的签名装置包括第一获得模块601、第二获得模块602、第三获得模块603、第四获得模块604、签名模块605和生成模块606,其中:
第一获得模块601用于对交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名;第二获得模块602用于根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;其中,所述其余联盟用户是指除了发布交易信息的联盟用户以外的联盟用户;第三获得模块603用于根据所述交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;其中,所述多中心签名是预先获得的;所述交易信息的签名作为所述对称加密算法的对称加密密钥;第四获得模块604用于根据所述门限函数的反函数以及所述发布者随机参数,获得发布者随机数;其中,所述发布者随机数为发布交易信息的联盟用户的随机数;签名模块605用于根据各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数,生成所述交易信息的签名结果;生成模块606用于基于各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果,生成交易报文。
具体地,联盟用户可以通过共识记账节点在联盟链系统中发布交易信息,在交易发布之前需要进行签名和加密。第一获得模块601可以获取交易信息和各个联盟用户的身份标识,然后对所述交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名,所述交易信息的签名可以作为对称加密算法的对称加密密钥。其中,所述交易信息包括但不限于商品名称、商品价格等信息,根据实际需要进行设置,本发明实施例不做限定。
第二获得模块602为除了所述共识记账节点对应的联盟用户以外的每个联盟用户选取随机数,然后根据门限函数以及其余联盟用户中每个联盟用户的随机序号,获得其余联盟用户中每个联盟用户的随机参数。其中,所述其余联盟用户是指除了发布交易信息的联盟用户以外的联盟用户,即所有的联盟用户中除了所述共识记账节点对应的联盟用户以外的联盟用户。其中,所述门限函数根据实际需要进行设置,本发明实施例不做限定。
第三获得模块603可以根据述交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数,在使用对称加密算法的时候,将所述交易信息的签名作为所述对称加密算法的对称加密密钥。其中,所述共识记账节点可以随机选取数值v作为所述多中心签名,v为整数,可以表示为二进制数。所述对称加密算法根据实际需要进行选择,本发明实施例不做限定。
通过所述门限函数,可以获得所述门限函数的反函数,第四获得模块604根据所述门限函数的反函数以及所述发布者随机参数,可以获得发布者随机数。其中,所述发布者随机数为发布交易信息的联盟用户的随机数。
签名模块605根据各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数采用签名算法对所述交易信息进行签名,可以生成所述交易信息的签名结果。所述交易信息的签名结果中包括所述各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数。其中,所述签名算法根据实际需要进行选择,本发明实施例不做限定。
生成模块606可以基于各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果,生成交易报文。所述共识记账节点在生成所述交易报文之后,可以将所述交易报文发布到区块链网络中,区块链网络中的其他共识记账节点可以接收到所述交易报文,并对所述交易报文进行验证。所述交易报文包括各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果。所述交易报文还可以包括联盟用户的数量、加密安全参数和校验位。其中,加密安全参数是预先获得的。
本发明实施例提供的联盟链的签名装置,能够对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名,根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;根据交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;根据门限函数的反函数以及所述发布者随机参数,获得发布者随机数;根据各个联盟用户的身份标识、多中心签名和各个联盟用户的随机数,生成交易信息的签名结果,基于各个联盟用户的身份标识、交易信息和交易信息的签名结果,生成交易报文,在签名的过程中使用各个联盟用户的身份标识,隐藏了发布交易信息的联盟用户的身份,提高签名的安全性。
图7是本发明第七实施例提供的联盟链的签名装置的结构示意图,如图7所示,本发明实施例提供的联盟链的签名验证装置包括接收模块701、计算模块702、第五获得模块703、第六获得模块704和验签模块705,其中:
接收模块701用于接收交易报文,所述交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果;其中,所述交易信息的签名结果包括多中心签名和各个联盟用户的随机数;计算模块702用于根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数;第五获得模块703用于对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名;第六获得模块704用于根据所述交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数;其中,所述交易信息的签名作为所述对称加密算法的对称加密密钥;验签模块705用于在所述验证参数与所述多中心签名相等之后,输出验签成功信息。
具体地,接收模块701可以从联盟链网络中接收交易报文,所述交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果,所述交易信息的签名结果包括多中心签名和各个联盟用户的随机数。
计算模块702从所述交易信息的签名结果中获得各个联盟用户的随机数,然后根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数。其中,所述门限函数是预设的,与交易信息的签名过程中所使用的门限函数对应。
第五获得模块703从所述交易报文中获得交易信息,然后对所述交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名,所述交易信息的签名作为对称加密算法的对称加密密钥。
第六获得模块704可以根据所述交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数。其中,所述交易信息的签名作为所述对称加密算法的对称加密密钥。所述对称加密算法与交易信息的签名过程中所使用的对称加密算法对应。
验签模块705在获得验证参数之后,从所述交易信息的签名结果中获得多中心签名,对比所述验证参数和所述多中心签名,如果所述验证参数与所述多中心签名相等,那么输出验签成功信息。如果所述验证参数与所述多中心签名不相等,那么可以输出验签失败信息。
本发明实施例提供的联盟链的签名验证装置,能够接收交易报文,交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果,根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数,对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名,根据交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数,在验证参数与多中心签名相等之后,输出验签成功信息,在签名验证的过程无需使用交易信息发布者的数字身份,避免了交易信息发布者的身份信息的泄露,提高了验签的安全性。
本发明实施例提供的装置的实施例具体可以用于执行上述相应方法实施例的处理流程,其功能在此不再赘述,可以参照上述相应方法实施例的详细描述。
图8是本发明一实施例提供的电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)801、通信接口(Communications Interface)802、存储器(memory)803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信。处理器801可以调用存储器803中的逻辑指令,以执行如下方法:对交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名;根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;其中,所述其余联盟用户是指除了发布交易信息的联盟用户以外的联盟用户;根据所述交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;其中,所述多中心签名是预先获得的;所述交易信息的签名作为所述对称加密算法的对称加密密钥;根据所述门限函数的反函数以及所述发布者随机参数,获得发布者随机数;其中,所述发布者随机数为发布交易信息的联盟用户的随机数;根据各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数,生成所述交易信息的签名结果;基于各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果,生成交易报文。
或者
接收交易报文,所述交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果;其中,所述交易信息的签名结果包括多中心签名和各个联盟用户的随机数;根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数;对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名;根据所述交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数;其中,所述交易信息的签名作为所述对称加密算法的对称加密密钥;若所述验证参数与所述多中心签名相等,则输出验签成功信息。
此外,上述的存储器803中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:对交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名;根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;其中,所述其余联盟用户是指除了发布交易信息的联盟用户以外的联盟用户;根据所述交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;其中,所述多中心签名是预先获得的;所述交易信息的签名作为所述对称加密算法的对称加密密钥;根据所述门限函数的反函数以及所述发布者随机参数,获得发布者随机数;其中,所述发布者随机数为发布交易信息的联盟用户的随机数;根据各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数,生成所述交易信息的签名结果;基于各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果,生成交易报文。或者
接收交易报文,所述交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果;其中,所述交易信息的签名结果包括多中心签名和各个联盟用户的随机数;根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数;对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名;根据所述交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数;其中,所述交易信息的签名作为所述对称加密算法的对称加密密钥;若所述验证参数与所述多中心签名相等,则输出验签成功信息。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:对交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名;根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;其中,所述其余联盟用户是指除了发布交易信息的联盟用户以外的联盟用户;根据所述交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;其中,所述多中心签名是预先获得的;所述交易信息的签名作为所述对称加密算法的对称加密密钥;根据所述门限函数的反函数以及所述发布者随机参数,获得发布者随机数;其中,所述发布者随机数为发布交易信息的联盟用户的随机数;根据各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数,生成所述交易信息的签名结果;基于各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果,生成交易报文。或者
接收交易报文,所述交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果;其中,所述交易信息的签名结果包括多中心签名和各个联盟用户的随机数;根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数;对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名;根据所述交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数;其中,所述交易信息的签名作为所述对称加密算法的对称加密密钥;若所述验证参数与所述多中心签名相等,则输出验签成功信息。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种联盟链的签名方法,其特征在于,包括:
对交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名;
根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;其中,所述其余联盟用户是指除了发布交易信息的联盟用户以外的联盟用户;
根据所述交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;其中,所述多中心签名是预先获得的;所述交易信息的签名作为所述对称加密算法的对称加密密钥;
根据所述门限函数的反函数以及所述发布者随机参数,获得发布者随机数;其中,所述发布者随机数为发布交易信息的联盟用户的随机数;
根据各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数,生成所述交易信息的签名结果;
基于各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果,生成交易报文;
其中,所述门限函数为:
其中,gi(xi)表示第i个联盟用户的随机参数,xi表示第i个联盟用户的随机数,qi表示第i个联盟用户对应的质数,ni表示第i个联盟用户对应的自然数,f()表示转换函数,m表示所述交易信息,v表示所述多中心签名,ri表示第i个联盟用户对应的余数,ri=xi-qini,i为正整数且i小于等于N,N等于所述联盟用户的数量减1。
2.根据权利要求1所述的方法,其特征在于,所述多中心签名为二进制数。
3.一种联盟链的签名验证方法,其特征在于,包括:
接收交易报文,所述交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果;其中,所述交易信息的签名结果包括多中心签名和各个联盟用户的随机数;
根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数;
对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名;
根据所述交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数;其中,所述交易信息的签名作为所述对称加密算法的对称加密密钥;
若所述验证参数与所述多中心签名相等,则输出验签成功信息;
其中,所述门限函数为:
其中,gj(xj)表示第j个联盟用户的随机参数,xj表示第j个联盟用户的随机数,qj表示第j个联盟用户对应的质数,nj表示第j个联盟用户对应的自然数,f()表示转换函数,m表示所述交易信息,v表示所述多中心签名,rj表示第j个联盟用户对应的余数,rj=xj-qjnj,j为正整数且j小于等于M,M为所述联盟用户的数量。
4.根据权利要求3所述的方法,其特征在于,所述多中心签名为二进制数。
5.一种联盟链的签名装置,其特征在于,包括:
第一获得模块,用于对交易信息以及各个联盟用户的身份标识进行哈希运算,获得所述交易信息的签名;
第二获得模块,用于根据门限函数以及其余联盟用户中每个联盟用户的随机数,获得其余联盟用户中每个联盟用户的随机参数;其中,所述其余联盟用户是指除了发布交易信息的联盟用户以外的联盟用户;
第三获得模块,用于根据所述交易信息的签名、多中心签名、其余联盟用户中各个联盟用户的随机参数以及对称加密算法,获得发布者随机参数;其中,所述多中心签名是预先获得的;所述交易信息的签名作为所述对称加密算法的对称加密密钥;
第四获得模块,用于根据所述门限函数的反函数以及所述发布者随机参数,获得发布者随机数;其中,所述发布者随机数为发布交易信息的联盟用户的随机数;
签名模块,用于根据各个联盟用户的身份标识、所述多中心签名和各个联盟用户的随机数,生成所述交易信息的签名结果;
生成模块,用于基于各个联盟用户的身份标识、所述交易信息和所述交易信息的签名结果,生成交易报文;
其中,所述门限函数为:
其中,gi(xi)表示第i个联盟用户的随机参数,xi表示第i个联盟用户的随机数,qi表示第i个联盟用户对应的质数,ni表示第i个联盟用户对应的自然数,f()表示转换函数,m表示所述交易信息,v表示所述多中心签名,ri表示第i个联盟用户对应的余数,ri=xi-qini,i为正整数且i小于等于N,N等于所述联盟用户的数量减1。
6.一种联盟链的签名验证装置,其特征在于,包括:
接收模块,用于接收交易报文,所述交易报文包括各个联盟用户的身份标识、交易信息、交易信息的签名结果;其中,所述交易信息的签名结果包括多中心签名和各个联盟用户的随机数;
计算模块,用于根据门限函数以及每个联盟用户的随机数计算获得每个联盟用户的随机参数;
第五获得模块,用于对交易信息以及各个联盟用户的身份标识进行哈希运算,获得交易信息的签名;
第六获得模块,用于根据所述交易信息的签名、各个联盟用户的随机参数以及对称加密算法,获得验证参数;其中,所述交易信息的签名作为所述对称加密算法的对称加密密钥;
验签模块,用于在所述验证参数与所述多中心签名相等之后,输出验签成功信息;
所述门限函数为:
其中,gj(xj)表示第j个联盟用户的随机参数,xj表示第j个联盟用户的随机数,qj表示第j个联盟用户对应的质数,nj表示第j个联盟用户对应的自然数,f()表示转换函数,m表示所述交易信息,v表示所述多中心签名,rj表示第j个联盟用户对应的余数,rj=xj-qjnj,j为正整数且j小于等于M,M为所述联盟用户的数量。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1或2所述方法的步骤,或者权利要求3或4所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1或2所述方法的步骤,或者权利要求3或4所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110346650.1A CN112837064B (zh) | 2021-03-31 | 2021-03-31 | 联盟链的签名方法、签名验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110346650.1A CN112837064B (zh) | 2021-03-31 | 2021-03-31 | 联盟链的签名方法、签名验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112837064A CN112837064A (zh) | 2021-05-25 |
CN112837064B true CN112837064B (zh) | 2024-02-20 |
Family
ID=75930770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110346650.1A Active CN112837064B (zh) | 2021-03-31 | 2021-03-31 | 联盟链的签名方法、签名验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112837064B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114173326B (zh) * | 2021-12-02 | 2024-01-09 | 中国工商银行股份有限公司 | 区块链无线对等网络的数据处理方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109067539A (zh) * | 2018-06-13 | 2018-12-21 | 深圳前海微众银行股份有限公司 | 联盟链交易方法、设备及计算机可读存储介质 |
CN110544101A (zh) * | 2019-09-10 | 2019-12-06 | 苏州阿尔山数字科技有限公司 | 基于sm9的联盟链身份认证方法 |
CN111222879A (zh) * | 2019-12-31 | 2020-06-02 | 航天信息股份有限公司 | 一种适用于联盟链的无证书认证方法及系统 |
-
2021
- 2021-03-31 CN CN202110346650.1A patent/CN112837064B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109067539A (zh) * | 2018-06-13 | 2018-12-21 | 深圳前海微众银行股份有限公司 | 联盟链交易方法、设备及计算机可读存储介质 |
CN110544101A (zh) * | 2019-09-10 | 2019-12-06 | 苏州阿尔山数字科技有限公司 | 基于sm9的联盟链身份认证方法 |
CN111222879A (zh) * | 2019-12-31 | 2020-06-02 | 航天信息股份有限公司 | 一种适用于联盟链的无证书认证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112837064A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109478279B (zh) | 区块链实现的方法和系统 | |
CN107967557B (zh) | 基于区块链的可修改信誉评价系统及方法、电子支付系统 | |
CN107579819B (zh) | 一种sm9数字签名生成方法及系统 | |
CN112215608B (zh) | 数据处理方法和装置 | |
AU2017223133B2 (en) | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys | |
US20240333510A1 (en) | System and method for an electronic identity brokerage | |
CN109067539B (zh) | 联盟链交易方法、设备及计算机可读存储介质 | |
CN113360943B (zh) | 一种区块链隐私数据的保护方法及装置 | |
CN108768652A (zh) | 一种可抗量子攻击的联盟区块链底层加密方法 | |
CN107248909A (zh) | 一种基于sm2算法的无证书安全签名方法 | |
CN110138548B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统 | |
WO2014068427A1 (en) | Reissue of cryptographic credentials | |
CN112380584B (zh) | 区块链数据更新方法、装置、电子设备和存储介质 | |
CN113468570A (zh) | 基于智能合约的隐私数据共享方法 | |
CN114095181A (zh) | 一种基于国密算法的门限环签名方法及系统 | |
CN116566626B (zh) | 环签名方法和设备 | |
CN112347516A (zh) | 基于区块链的资产证明方法及装置 | |
US20230254136A1 (en) | Apparatus and methods for validating user data | |
CN111079190A (zh) | 区块链供应链交易隐藏动态监管系统及方法 | |
CN112837064B (zh) | 联盟链的签名方法、签名验证方法及装置 | |
CN112765570B (zh) | 一个支持数据转移的基于身份可证明数据持有方法 | |
Sarkar et al. | A multi-instance cancelable fingerprint biometric based secure session key agreement protocol employing elliptic curve cryptography and a double hash function | |
CN114514550A (zh) | 将请求分区成区块链的交易 | |
CN108011723B (zh) | 入侵回弹的不可拆分数字签名方法 | |
CN110278073B (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 |