CN112118100B - 改进的可链接环签名方法、验证方法、装置、电子设备及介质 - Google Patents
改进的可链接环签名方法、验证方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN112118100B CN112118100B CN202010976160.5A CN202010976160A CN112118100B CN 112118100 B CN112118100 B CN 112118100B CN 202010976160 A CN202010976160 A CN 202010976160A CN 112118100 B CN112118100 B CN 112118100B
- Authority
- CN
- China
- Prior art keywords
- public key
- signature
- local
- ring signature
- random number
- 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 129
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000006870 function Effects 0.000 claims description 30
- 230000006835 compression Effects 0.000 claims description 28
- 238000007906 compression Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
-
- 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
- H04L9/3255—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 using group based signatures, e.g. ring or threshold signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种改进的可链接环签名方法、验证方法及装置,所述方法包括:根据本地第一公钥和n‑1个其他第一公钥,组成第一公钥集,并根据本地第一公钥和本地第一私钥,获得第一交易标签;根据本地第二公钥和n‑1个其他第二公钥,组成第二公钥集,并根据本地第二公钥和本地第二私钥,获得第二交易标签;获得压缩环签名公钥集,并根据本地第一私钥、本地第二私钥和第二随机数,获得环签名私钥;通过压缩环签名公钥集以及环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;输出可链接环签名结果。所述装置用于执行上述方法。本发明实施例提供的改进的可链接环签名方法、验证方法及装置,提高了签名的效率并有效压缩了签名尺寸。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种改进的可链接环签名方法、验证方法及装置。
背景技术
当前,区块链主要以门罗币、零币等为代表实现隐私保护,通过可链接环签名实现交易发起者的身份保护,是当前最主流的隐私保护数字货币系统。
门罗币的可链接环签名方案,使用与用户公钥和私钥相关的交易标签元素进行签名、验证、双花检验等步骤,保证交易的安全性。然而,在门罗币和其他隐私交易系统中,对于交易的签发需要使用公钥集合以及与交易金额绑定的隐私承诺共同参与,才能确定交易的合法性与有效性,因此在实践中需要执行可链接双环签名(或多环签名)来进行交易签发,签名所需运算量较大,效率低。
发明内容
针对现有技术中的问题,本发明实施例提供一种改进的可链接环签名方法、验证方法及装置,能够至少部分地解决现有技术中存在的问题。
第一方面,本发明提出一种改进的可链接环签名方法,包括:
根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据所述本地第一公钥和本地第一私钥,获得第一交易标签;
根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据所述本地第二公钥和本地第二私钥,获得第二交易标签;其中,所述本地第一公钥在所述第一公钥集中的位置与本地第二公钥在所述第二公钥集中的位置相同;
根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥;其中,所述第一随机数和所述第二随机数是预先获得的;
通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;其中,在对所述压缩环签名公钥集执行签名操作的过程中,使用可变生成元;
输出可链接环签名结果;其中,所述可链接环签名结果包括所述第一公钥集、所述第二公钥集、所述交易相关信息、所述标准环签名结果、所述第一交易标签和所述第二交易标签。
第二方面,本发明提出一种改进的可链接环签名验证方法,包括:
获取可链接环签名结果,所述可链接环签名结果包括第一公钥集、第二公钥集、交易相关信息、标准环签名结果、第一交易标签和第二交易标签;
根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集;其中,所述第一随机数和所述第二随机数是预先获得的;
根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名的合法性验证;其中,在对所述压缩环签名公钥集进行签名验证的过程中,使用可变生成元。
第三方面,本发明提供一种改进的可链接环签名装置,包括:
第一组成单元,用于根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据所述本地第一公钥和本地第一私钥,获得第一交易标签;
第二组成单元,用于根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据所述本地第二公钥和本地第二私钥,获得第二交易标签;其中,所述本地第一公钥在所述第一公钥集中的位置与本地第二公钥在所述第二公钥集中的位置相同;
第一获得单元,用于根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥;其中,所述第一随机数和所述第二随机数是预先获得的;
签名单元,用于通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;其中,在对所述压缩环签名公钥集执行签名操作的过程中,使用可变生成元;
输出单元,用于输出可链接环签名结果;其中,所述可链接环签名结果包括所述第一公钥集、所述第二公钥集、所述交易相关信息、所述标准环签名结果、所述第一交易标签和所述第二交易标签。
第四方面,本发明提供一种改进的可链接环签名验证装置,包括:
获取单元,用于获取可链接环签名结果,所述可链接环签名结果包括第一公钥集、第二公钥集、交易相关信息、标准环签名结果、第一交易标签和第二交易标签;
第二获得单元,用于根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集;其中,所述第一随机数和所述第二随机数是预先获得的;
验证单元,用于根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名的合法性验证;其中,在对所述压缩环签名公钥集进行签名验证的过程中,使用可变生成元。
第五方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例所述的改进的可链接环签名方法或者改进的可链接环签名验证方法。
第六方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例所述改进的可链接环签名方法或者改进的可链接环签名验证方法。
本发明实施例提供的改进的可链接环签名方法、验证方法及装置,根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据本地第一公钥和本地第一私钥,获得第一交易标签;根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据本地第二公钥和本地第二私钥,获得第二交易标签;根据第一公钥集、第一交易标签、第二公钥集、第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据本地第一私钥、本地第二私钥和第二随机数,获得环签名私钥;通过压缩环签名公钥集以及环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;输出可链接环签名结果,将第一公钥集和第二公钥集通过随机化压缩的方法压缩到压缩环签名公钥集,将双环签名转化为单环签名,减少了椭圆曲线的运算数量,提高了签名的效率并有效压缩了签名尺寸。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例提供的改进的可链接环签名方法的流程示意图。
图2是本发明另一实施例提供的改进的可链接环签名方法的流程示意图。
图3是本发明一实施例提供的改进的可链接环签名验证方法的流程示意图。
图4是本发明另一实施例提供的改进的可链接环签名验证方法的流程示意图。
图5是本发明一实施例提供的改进的可链接环签名装置的结构示意图。
图6是本发明一实施例提供的改进的可链接环签名验证装置的结构示意图。
图7是本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的相关内容进行说明。
可链接环签名(Linkable ring signature):一种特殊的环签名方案,用户在进行环签名时要提供一个标签信息,当用户进行非法签名(或双花等非法交易时),通过比对交易标签就可以判断是否是非法签名(双花交易),实现了安全的交易保障。环签名 (Ringsignature):一种特殊的数字签名方案,签名者使用自己和其用户的公钥生成一个公钥集合,然后用自己的私钥进行签名,验证者在验证签名的合法性后,只能知道该签名来自公钥集合的某个用户,但无法得知该用户的具体身份,实现了签名者的身份隐私保护。UTXO(Unspent transaction output):当前区块链上已确认但未花费的数字货币,即未花费的一笔钱。
本发明实施例提供的改进的可链接环签名方法,可以应用于区块链、保护隐私的拍卖等场景。在本发明实施例中每个能够签名的实体称为用户,具有自己的公私钥。如果是在隐私货币系统中,这里的用户即为链上的UTXO,每个UTXO有自己的公私钥,使用可链接环签名实现交易输入UTXO的隐私,在门罗币系统中,所有真实用户是不会使用自己的身份公钥(长期地址)用于花钱交易的,因为这样会泄露身份信息,无法实现隐私保护。
为了方便说明本申请的技术方案,将签名节点作为本发明实施例提供的改进的可链接环签名方法的执行主体,验证节点作为本发明实施例提供的改进的可链接环签名验证方法的执行主体。其中,签名节点和验证节点例如为区块链中的节点,根据实际应用场景进行设置,本发明实施例不做限定。
图1是本发明一实施例提供的改进的可链接环签名方法的流程示意图,如图1所示,本发明实施例提供的改进的可链接环签名方法,包括:
S101、根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据所述本地第一公钥和本地第一私钥,获得第一交易标签;
具体地,签名节点可以获取用户的第一公钥作为本地第一公钥,并获取n-1个其他用户的第一公钥,作为n-1个其他第一公钥。所述签名节点将所述本地第一公钥和 n-1个其他第一公钥组成第一公钥集。所述签名节点可以获取用户的第一私钥作为本地第一私钥,然后根据所述本地第一公钥和本地第一私钥,获得第一交易标签。其中, n为大于等于2的正整数。
例如,签名节点I获取用户P的第一公钥作为本地第一公钥,获取用户P的第一私钥作为本地第一私钥。签名节点I将所述本地第一公钥和n-1个其他第一公钥,组成第一公钥集第一公钥集LPK中的第i个第一公钥表示为PKi,xi为第i个第一公钥对应的第一私钥,i=1,…,n,用户P的第一公钥为第一公钥集LPK中的一个第一公钥,表示为PKγ,xγ为用户P的第一私钥,γ为1,…,n中的一个具体的数值,g为公共生成元,为公共参数,为设定的素数阶椭圆曲线群,表示模q非零整数环。
S102、根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据所述本地第二公钥和本地第二私钥,获得第二交易标签;其中,所述本地第一公钥在所述第一公钥集中的位置与本地第二公钥在所述第二公钥集中的位置相同;
具体地,所述签名节点可以获取用户的第二公钥作为本地第二公钥,并获取n-1个其他用户的第二公钥,作为n-1个其他第二公钥。所述签名节点将所述本地第二公钥和n-1个其他第二公钥组成第二公钥集。所述签名节点可以获取用户的第一私钥作为本地第一私钥,然后根据所述本地第二公钥和本地第二私钥,获得第二交易标签。其中,所述本地第一公钥在所述第一公钥集中的位置与本地第二公钥在所述第二公钥集中的位置相同。
例如,签名节点I获取用户P的第二公钥作为本地第二公钥,获取用户P的第二私钥作为本地第二私钥。签名节点I将所述本地第二公钥和n-1个其他第二公钥,组成第二公钥集第二公钥集L′PK中的第i个第二公钥表示为PK′i,x′i为第i个第二公钥对应的第二私钥,i=1,…,n,用户P的第二公钥为第二公钥集L′PK中的一个第二公钥,并且用户P的第二公钥在第二公钥集L′PK中的位置与用户P的第一公钥在第一公钥集LPK中的位置相同,可以将用户P的第二公钥表示为PK′γ,x′γ为用户P的第二私钥,γ表示出用户P的第二公钥在第二公钥集L′PK中的位置和用户P的第一公钥在第一公钥集LPK中的位置。
S103、根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥;其中,所述第一随机数和所述第二随机数是预先获得的;
具体地,所述签名节点获取第一随机数和第二随机数,然后根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥,其中,所述第一随机数和所述第二随机数是预先获得的。
例如,签名节点I获取第一随机数e1和第二随机数e2,根据公式 计算获得第i个压缩环签名公钥RPKi,PKi为第一公钥集LPK中的第i个第一公钥,I1为第一交易标,PK′i为第二公钥集L′PK中的第i个第二公钥,I2为第二交易标签。签名节点I可以计算获得n个压缩环签名公钥,n个压缩环签名公钥构成压缩环签名公钥集LRPK,
例如,签名节点I根据公式RSK=xγ+e2x′γ,计算获得环签名私钥RSK,rγ为本地第一私钥,x′γ为本地第二私钥,e2为第二随机数。
其中,签名节点I可以根据公式ek=H(LPK,I1,I2,k),计算获得第一随机数e1和第二随机数e2,LPK为所述第一公钥集,I1为所述第一交易标签,I2为所述第二交易标签,k为1或者2。
S104、通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;其中,在对所述压缩环签名公钥集执行签名操作的过程中,使用可变生成元;
具体地,所述签名节点在获得所述压缩环签名公钥集和所述环签名私钥之后,通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,在对所述压缩环签名公钥集执行签名操作的过程中,使用可变生成元,即签名环中每个位置的生成元都不同,可以获得标准环签名结果。其中,所述交易相关信息包括但不限于交易账单、第一公钥集、第二公钥集等信息,根据实际需要进行设置,本发明实施例不做限定。
S105、输出可链接环签名结果;其中,所述可链接环签名结果包括所述第一公钥集、所述交易相关信息、所述标准环签名结果、所述第一交易标签和所述第二交易标签。
具体地,所述签名节点在获得所述标准环签名结果之后,可以输出可链接环签名结果,所述可链接环签名结果包括所述第一公钥集、所述第二公钥集、所述交易相关信息、所述标准环签名结果、所述第一交易标签和所述第二交易标签。
例如,可链接环签名结果σ=(LPK,L′PK,m,τ,I1,I2),LPK为第一公钥集,第二公钥集L′PK,m为交易相关信息,τ为标准环签名结果,I1为第一交易标签,I2为第二交易标签。
本发明实施例提供的改进的可链接环签名方法,根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据本地第一公钥和本地第一私钥,获得第一交易标签;根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据本地第二公钥和本地第二私钥,获得第二交易标签;根据第一公钥集、第一交易标签、第二公钥集、第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据本地第一私钥、本地第二私钥和第二随机数,获得环签名私钥;通过压缩环签名公钥集以及环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;输出可链接环签名结果,将第一公钥集和第二公钥集通过随机化压缩的方法压缩到压缩环签名公钥集,将双环签名转化为单环签名,减少了椭圆曲线的运算数量,提高了签名的效率并有效压缩了签名尺寸。
在上述各实施例的基础上,进一步地,所述可变生成元根据公式计算获得,其中,Si为所述标准环签名中第i个位置的生成元,g为公共生成元,Hp() 为输出随机的椭圆曲线群元素的哈希函数,PKi为所述第一公钥集中第i个第一公钥, e1为所述第一随机数,i=1,…,n。
具体地,所述签名节点根据公式计算所述可变生成元,Si为所述标准环签名中第i个位置的生成元,g为公共生成元,Hp()为输出随机的椭圆曲线群元素的哈希函数,PKi为所述第一公钥集中第i个第一公钥,e1为所述第一随机数,i= 1,…,n。
图2是本发明另一实施例提供的改进的可链接环签名方法的流程示意图,如图2所示,在上述各实施例的基础上,进一步地,所述通过所述压缩环签名公钥集对交易相关信息进行标准环签名,获得标准环签名结果包括:
S1041、根据预设签名顺序从所述标准环签名的本地位置开始依次计算所述标准环签名中每个位置的签名参数;其中,所述本地位置的下一个位置的签名参数是根据所述本地位置的生成元,所述本地位置的随机数、所述压缩环签名公钥集以及所述交易相关信息计算获得的;其他位置的每个签名参数是根据上一个位置的生成元、上一个位置的随机数、上一个位置的压缩环签名公钥、上一个位置的签名参数、所述压缩环签名公钥集以及所述交易相关信息计算获得的;所述其他位置是指所述标准环签名中除了所述本地位置以外的位置;
具体地,所述签名节点按照预设签名顺序从所述标准环签名的本地位置开始依次计算所述标准环签名中每个位置的签名参数。所述本地位置是指所述压缩环签名公钥集中所述本地第一公钥和本地第二公钥对应的压缩环签名公钥在所述压缩环签名公钥集中位置。所述预设签名顺序是从所述本地位置开始依次增大到所述压缩环签名公钥集中的最大位置n,再回到1,然后从1开始增加到所述本地位置的上一个位置。所述签名节点在计算每个位置的签名参数时,先根据所述本地位置的生成元,所述本地位置的随机数、所述压缩环签名公钥集以及所述交易相关信息,计算获得所述本地位置的下一个位置的签名参数,然后根据上一个位置的生成元、上一个位置的随机数、上一个位置的压缩环签名公钥、上一个位置的签名参数、所述压缩环签名公钥集以及所述交易相关信息,依次计算获得其他位置的每个签名参数。其中,所述其他位置是指所述标准环签名中除了所述本地位置的下一个位置以外的位置。
例如,签名节点I可以根据公式计算获得所述本地位置的下一个位置的签名参数cγ+1,为所述本地位置的生成元,rγ为所述本地位置的随机数,LRPK为所述压缩环签名公钥集,m为所述交易相关信息,H() 表示哈希函数,hγ=Hp(PKγ),PKγ为所述本地第一公钥,Hp()是能够生成随机椭圆曲线群元素的哈希函数,γ为所述本地位置,γ+1为所述本地位置的下一个位置。
例如,签名节点I可以根据公式计算获得第j+1个位置签名参数,其中,表示第j个位置的生成元,zj表示第j个位置的随机数,RPKj表示第j个位置的压缩循环签名公钥,cj表示第j个位置的签名参数,LRPK为所述压缩环签名公钥集,m为所述交易相关信息,H()表示哈希函数,hj=Hp(PKj), PKj为所述第一公钥集中的第j个第一公钥,Hp()是能够生成随机椭圆曲线群元素的哈希函数,j=1,…,γ-1,γ+1,…,n。
S1042、根据所述本地位置的随机数、所述本地第一私钥、所述第二随机数、所述本地第二私钥和所述本地位置的上一个位置的签名参数,获得所述本地位置的随机参数;
具体地,所述签名节点可以根据所述本地位置的随机数、所述本地第一私钥、所述第二随机数、所述本地第二私钥和所述本地位置的签名参数,获得所述本地位置的随机参数。
例如,签名节点I根据公式zγ=rγ+(xγ+e2x′γ)cγ,计算获得所述本地位置的随机参数zγ,rγ为所述本地位置的随机数,xγ为所述本地第一私钥,x′γ为所述本地第二私钥,e2为所述第二随机数,cγ为所述本地位置的签名参数。
S1043、获取其他位置的所有随机数和所述本地位置的随机参数构成验签随机数集和获取其他位置的一个签名参数作为验签起始参数,并根据所述验签起始参数和所述验签随机数集获得所述标准环签名结果。
具体地,所述签名节点可以获取所述本地位置的随机参数和其他位置的所有随机数,构成验签随机数集,并从其他位置的各个签名参数中选择一个签名参数作为验签起始参数,所述验签起始参数和所述验签随机数集构成所述标准环签名结果。
例如,签名节点I获取本地位置的签名参数cγ,其他位置的所有随机数 z1,…,zγ-1,zγ+1,…,zn,构成验签随机数集Z,Z=z1,…,zn。签名节点I从其他位置的各个签名参数c1,…,cγ-1,cγ+1,…,cn中选择一个签名参数,比如选择c1作为验签起始参数。验签起始参数c1和成验签随机数集Z,从标准环签名结果τ,τ=(c1,z1,…,zn)。
在上述各实施例的基础上,进一步地,根据所述本地位置的生成元,所述本地位置的随机数、所述压缩环签名公钥集以及所述交易相关信息计算获得所述本地位置的下一个位置的签名参数包括:
根据公式计算获得所述本地位置的下一个位置的签名参数cγ+1,为所述本地位置的生成元,g为公共生成元,rγ为所述本地位置的随机数,LRPK为所述压缩环签名公钥集,m为所述交易相关信息,H()表示哈希函数, hγ=Hp(PKγ),PKγ为所述本地第一公钥,Hp()是能够生成随机椭圆曲线群元素的哈希函数,γ为所述本地位置。
具体地,所述签名节点获取所述本地第一公钥PKγ,然后计算hγ=Hp(PKγ),接着获取公共生成元g,所述本地位置的随机数rγ,所述压缩环签名公钥集LRPK,所述交易相关信息m,根据公式计算获得所述本地位置的下一个位置的签名参数cγ+1。
在上述各实施例的基础上,进一步地,根据上一个位置的生成元、上一个位置的随机数、上一个位置的压缩环签名公钥、上一个位置的签名参数、所述压缩环签名公钥集以及所述交易相关信息计算获得其他位置的每个签名参数包括:
根据公式计算获得第j+1个位置的签名参数,其中,表示第j个位置的生成元,g为公共生成元,zj表示第j个位置的随机数,RPKj表示第j个位置的压缩循环签名公钥,cj表示第j个位置的签名参数,LRPK为所述压缩环签名公钥集,m为所述交易相关信息,H()表示哈希函数,hj=Hp(PKj), PKj为所述第一公钥集中的第j个第一公钥,Hp()是能够生成随机椭圆曲线群元素的哈希函数,j=1,…,γ-1,γ+1,…,n,γ表示所述本地位置。
具体地,所述签名节点获取所述第一公钥集中的第j个第一公钥,计算hj=Hp(PKj),接着获取公共生成元g,第j个位置的随机数zj,第j个位置的压缩循环签名公钥RPKj,第j个位置的签名参数cj,所述压缩环签名公钥集LRPK,所述交易相关信息m,根据公式计算获得第j+1个位置签名参数。所述签名节点根据上述公式可以计算获得除所述本地位置的下一个位置以外的n-1个位置的签名参数。
在上述各实施例的基础上,进一步地,获得所述第一随机数和所述第二随机数的公式如下:
ek=H(LPK,I1,I2,k)
其中,LPK为所述第一公钥集,I1为所述第一交易标签,I2为所述第二交易标签, k为1或者2,e1表示所述第一随机数,e2表示所述第二随机数。
具体地,所述签名节点可以根据公式ek=H(LPK,I1,I2,k)生成第一随机数e1和第二随机数e2,LPK为所述第一公钥集,I1为所述第一交易标签,I2为所述第二交易标签, k为1或者2。
图3是本发明一实施例提供的改进的可链接环签名验证方法的流程示意图,如图3所述,本发明实施例提供的改进的可链接环签名验证方法,包括:
S301、获取可链接环签名结果,所述可链接环签名结果包括第一公钥集、第二公钥集、交易相关信息、标准环签名结果、第一交易标签和第二交易标签;
具体地,签名节点输出可链接环签名结果之后,验证节点可以获取所述可链接环签名结果,所述可链接环签名结果可以包括第一公钥集、交易相关信息、标准环签名结果、第一交易标签和第二交易标签。
S302、根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集;其中,所述第一随机数和所述第二随机数是预先获得的;
具体地,所述验证节点可以获得第一随机数和第二随机数,并从可链接环签名结果中获取所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签,然后根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集。其中,所述第一随机数和所述第二随机数是预先获得的。
例如,验证节点II获取第一随机数e1和第二随机数e2,根据公式 计算获得第i个压缩环签名公钥RPKi,PKi为第一公钥集LPK中的第i个第一公钥,I1为第一交易标,PK′i为第二公钥集L′PK中的第i个第二公钥,I2为第二交易标签。验证节点II可以计算获得n个压缩环签名公钥,n个压缩环签名公钥构成压缩环签名公钥集LRPK,
其中,验证节点II可以根据公式ek=H(LPK,I1,I2,k),计算获得第一随机数e1和第二随机数e2,LPK为所述第一公钥集,I1为所述第一交易标签,I2为所述第二交易标签,k为1或者2。
S303、根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名的合法性验证;其中,在对所述压缩环签名公钥集进行签名验证的过程中,使用可变生成元。
具体地,所述验证节点从所述可链接环签名结果中获取标准环签名结果和所述交易相关信息,然后根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名的合法性验证。其中,在对所述压缩环签名公钥集进行签名验证的过程中,使用可变生成元,即签名环中每个位置的生成元都不同。
本发明实施例提供的改进的可链接环签名验证方法,由于签名时将第一公钥集和第二公钥集通过随机化压缩的方法压缩到压缩环签名公钥集,将双环签名转化为单环签名,在验证签名时,只需对单环签名进行验证,减少了验签时的计算量,提高了签名的验证效率。
在上述各实施例的基础上,进一步地,本发明实施例提供的改进的可链接环签名验证方法还包括:
若判断获知所述第一交易标签出现过,则输出交易异常;若判断获知所述第一交易标签未出现过,则进行所述可链接环签名的合法性验证。
具体地,所述验证节点会根据所述第一交易标签搜索与所述第一交易标签相同的交易标签,如果搜索到,说明所述第一交易标签出现过,双花攻击发生,无需再对可链接环签名进行合法性验证,输出交易异常。如果没有搜索到,说明说明所述第一交易标签没有出现过,可以进行所述可链接环签名的合法性验证。
图4是本发明另一实施例提供的改进的可链接环签名验证方法的流程示意图,如图4所示,所述标准环签名结果包括验签起始参数和验签随机数集;相应地,所述根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名的合法性验证包括:
S3031、根据所述验签起始参数以及预设验证顺序从预设位置开始依次计算所述标准环签名中每个位置的签名参数;其中,每个位置的签名参数是根据上一个位置的生成元、上一个位置的验签随机数、上一个位置的压缩环签名公钥、上一个位置的签名参数、所述压缩环签名公钥集以及所述交易相关信息计算获得的;所述上一个位置的验签随机数是从所述验签随机数集中获得的;
具体地,所述标准环签名结果包括验签起始参数和验签随机数集。所述验证节点获取所述验签起始参数,然后根据所述验签起始参数以及预设验证顺序从预设位置开始依次计算所述标准环签名中每个位置的签名参数。所述预设位置为所述验签起始参数对应的位置,所述预设验证顺序是从所述预设位置开始依次增大到所述压缩环签名公钥集中的最大位置n,再回到1,然后从1开始增加到所述预设位置的上一个位置。所述验证节点根据上一个位置的生成元、上一个位置的验签随机数、上一个位置的压缩环签名公钥、上一个位置的签名参数、所述压缩环签名公钥集以及所述交易相关信息计算获得每个位置的签名参数。其中,所述上一个位置的验签随机数是从所述验签随机数集中获得的。
例如,标准环签名结果τ包括验签起始参数c1和验签随机数集Z=z1,…,zn,验签起始参数c1对应的位置为1,验证节点II从位置1开始依次计算每个位置的签名参数 ci,i=1,…,n。验证节点II可以根据公式计算第i+1个位置的签名参数,其中,表示第i个位置的生成元,g为公共生成元,zi表示第i个位置的验签随机数,RPKi表示第i个位置的压缩循环签名公钥,ci表示第 i个位置的签名参数,LRPK为所述压缩环签名公钥集,m为所述交易相关信息,hi= Hp(PKi),PKi为所述第一公钥集中的第i个第一公钥,Hp()是能够生成随机椭圆曲线群元素的哈希函数。
S3032、若判断获知所述验签起始参数与对应位置的签名参数匹配,则确定所述可链接环签名通过验证。
具体地,所述验证节点在计算获得所述标准环签名中每个位置的签名参数之后,可以获得所述验签起始参数对应位置的签名参数,然后将所述验签起始参数对应位置的签名参数与所述验签起始参数进行比较,如果所述验签起始参数与所述验签起始参数对应位置的签名参数相等,那么所述验签起始参数与对应位置的签名参数匹配,可以确定所述可链接环签名通过验证。
例如,验签起始参数为c1,那么验证节点II可以获得所述验签起始参数对应位置的签名参数为如果c′1=c1,那么可以确定所述可链接环签名通过验证,如果c′1与c1不相等,那么所述可链接环签名不能通过验证。
在上述各实施例的基础上,进一步地,所述根据上一个位置的生成元、上一个位置的随机数、上一个位置的压缩环签名公钥、上一个位置的签名参数、所述压缩环签名公钥集以及所述交易相关信息计算获得每个位置的签名参数包括:
根据公式计算第i+1个位置的签名参数,其中,表示第i个位置的生成元,g为公共生成元,zi表示第i个位置的验签随机数,RPKi表示第i个位置的压缩循环签名公钥,ci表示第i个位置的签名参数,LRPK为所述压缩环签名公钥集,m为所述交易相关信息,hi=Hp(PKi),PKi为所述第一公钥集中的第i个第一公钥,Hp()是能够生成随机椭圆曲线群元素的哈希函数,H()表示哈希函数,i=1,…,n。
具体地,为了计算第i+1个位置的签名参数,所述签名节点可以获得所述第一公钥集中的第i个第一公钥,然后计算hi=Hp(PKi),接着获取公共生成元g,第i个位置的验签随机数zi,第i个位置的压缩循环签名公钥RPKi,第i个位置的签名参数ci,所述压缩环签名公钥集LRPK和所述交易相关信息m,再根据公式 计算第i+1个位置的签名参数。
在上述各实施例的基础上,进一步地,所述可变生成元根据公式计算获得,其中,Si为所述标准环签名中第i个位置的生成元,g为公共生成元,Hp() 为输出随机的椭圆曲线群元素的哈希函数,PKi为所述第一公钥集中第i个第一公钥, e1为所述第一随机数,i=1,…,n。
具体地,所述验证节点根据公式计算所述可变生成元,Si为所述标准环签名中第i个位置的生成元,g为公共生成元,Hp()为输出随机的椭圆曲线群元素的哈希函数,PKi为所述第一公钥集中第i个第一公钥,e1为所述第一随机数,i= 1,…,n。
在上述各实施例的基础上,进一步地,获得所述第一随机数和所述第二随机数的公式如下:
ek=H(LPK,I1,I2,k)
其中,LPK为所述第一公钥集,I1为所述第一交易标签,I2为所述第二交易标签, k为1或者2,e1表示所述第一随机数,e2表示所述第二随机数。
具体地,所述验证节点可以根据公式ek=H(LPK,I1,I2,k)生成第一随机数e1和第二随机数e2,LPK为所述第一公钥集,I1为所述第一交易标签,I2为所述第二交易标签, k为1或者2。
本发明实施例提供的改进的可链接环签名方法以及验证方法,通过随机化环元素压缩技术,将两个环压缩成一个环进行单环签名,可以有效降低运算量,提高签名与验证效率。在标准环签名环节,每个位置的生成元根据相应位置的第一公钥唯一确定,在环中不同位置的签名生成元各不相同。
图5是本发明一实施例提供的改进的可链接环签名装置的结构示意图,如图5所示,本发明实施例提供的改进的可链接环签名装置包括第一组成单元501、第二组成单元502、第一获得单元503、签名单元504和输出单元505,其中:
第一组成单元501用于根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据所述本地第一公钥和本地第一私钥,获得第一交易标签;第二组成单元502 用于根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据所述本地第二公钥和本地第二私钥,获得第二交易标签;其中,所述本地第一公钥在所述第一公钥集中的位置与本地第二公钥在所述第二公钥集中的位置相同;第一获得单元503用于根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥;其中,所述第一随机数和所述第二随机数是预先获得的;签名单元504用于通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;其中,在对所述压缩环签名公钥集执行签名操作的过程中,使用可变生成元;输出单元505用于输出可链接环签名结果;其中,所述可链接环签名结果包括所述第一公钥集、所述第二公钥集、所述交易相关信息、所述标准环签名结果、所述第一交易标签和所述第二交易标签。
具体地,第一组成单元501可以获取用户的第一公钥作为本地第一公钥,并获取n-1个其他用户的第一公钥,作为n-1个其他第一公钥。第一组成单元501将所述本地第一公钥和n-1个其他第一公钥组成第一公钥集。第一组成单元501可以获取用户的第一私钥作为本地第一私钥,然后根据所述本地第一公钥和本地第一私钥,获得第一交易标签。其中,n为大于等于2的正整数。
第二组成单元502可以获取用户的第二公钥作为本地第二公钥,并获取n-1个其他用户的第二公钥,作为n-1个其他第二公钥。第二组成单元502将所述本地第二公钥和n-1个其他第二公钥组成第二公钥集。第二组成单元502可以获取用户的第一私钥作为本地第一私钥,然后根据所述本地第二公钥和本地第二私钥,获得第二交易标签。其中,所述本地第一公钥在所述第一公钥集中的位置与本地第二公钥在所述第二公钥集中的位置相同。
第一获得单元503获取第一随机数和第二随机数,然后根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥,其中,所述第一随机数和所述第二随机数是预先获得的。
在获得所述压缩环签名公钥集和所述环签名私钥之后,签名单元504通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,在对所述压缩环签名公钥集执行签名操作的过程中,使用可变生成元,即签名环中每个位置的生成元都不同,可以获得标准环签名结果。其中,所述交易相关信息包括但不限于交易账单、第一公钥集、第二公钥集等信息,根据实际需要进行设置,本发明实施例不做限定。
在获得所述标准环签名结果之后,输出单元505可以输出可链接环签名结果,所述可链接环签名结果包括所述第一公钥集、所述第二公钥集、所述交易相关信息、所述标准环签名结果、所述第一交易标签和所述第二交易标签。
本发明实施例提供的改进的可链接环签名装置,根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据本地第一公钥和本地第一私钥,获得第一交易标签;根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据本地第二公钥和本地第二私钥,获得第二交易标签;根据第一公钥集、第一交易标签、第二公钥集、第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据本地第一私钥、本地第二私钥和第二随机数,获得环签名私钥;通过压缩环签名公钥集以及环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;输出可链接环签名结果,将第一公钥集和第二公钥集通过随机化压缩的方法压缩到压缩环签名公钥集,将双环签名转化为单环签名,减少了椭圆曲线的运算数量,提高了签名的效率并有效压缩了签名尺寸。
图6是本发明一实施例提供的改进的可链接环签名验证装置的结构示意图,如图6所示,本发明实施例提供的改进的可链接环签名验证装置包括获取单元601、第二获得单元602和验证单元603,其中:
获取单元601用于获取可链接环签名结果,所述可链接环签名结果包括第一公钥集、第二公钥集、交易相关信息、标准环签名结果、第一交易标签和第二交易标签。第二获得单元602用于根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集;其中,所述第一随机数和所述第二随机数是预先获得的;验证单元603用于根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名的合法性验证;其中,在对所述压缩环签名公钥集进行签名验证的过程中,使用可变生成元。
具体地,签名节点输出可链接环签名结果之后,获取单元601可以获取所述可链接环签名结果,所述可链接环签名结果可以包括第一公钥集、交易相关信息、标准环签名结果、第一交易标签和第二交易标签。
第二获得单元602可以获得第一随机数和第二随机数,并从可链接环签名结果中获取所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签,然后根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集。其中,所述第一随机数和所述第二随机数是预先获得的。
验证单元603从所述可链接环签名结果中获取标准环签名结果和所述交易相关信息,然后根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名的合法性验证。其中,在对所述压缩环签名公钥集进行签名验证的过程中,使用可变生成元,即签名环中每个位置的生成元都不同。
本发明实施例提供的改进的可链接环签名验证装置,由于签名时将第一公钥集和第二公钥集通过随机化压缩的方法压缩到压缩环签名公钥集,将双环签名转化为单环签名,在验证签名时,只需对单环签名进行验证,减少了验签时的计算量,提高了签名的验证效率。
本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图7是本发明一实施例提供的电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)701、通信接口(Communications Interface)702、存储器(memory)703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。处理器701可以调用存储器703中的逻辑指令,以执行如下方法:根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据所述本地第一公钥和本地第一私钥,获得第一交易标签;根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据所述本地第二公钥和本地第二私钥,获得第二交易标签;其中,所述本地第一公钥在所述第一公钥集中的位置与本地第二公钥在所述第二公钥集中的位置相同;根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥;其中,所述第一随机数和所述第二随机数是预先获得的;通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;其中,在对所述压缩环签名公钥集执行签名操作的过程中,使用可变生成元;输出可链接环签名结果;其中,所述可链接环签名结果包括所述第一公钥集、所述第二公钥集、所述交易相关信息、所述标准环签名结果、所述第一交易标签和所述第二交易标签。或者
获取可链接环签名结果,所述可链接环签名结果包括第一公钥集、第二公钥集、交易相关信息、标准环签名结果、第一交易标签和第二交易标签;根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集;其中,所述第一随机数和所述第二随机数是预先获得的;根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名的合法性验证;其中,在对所述压缩环签名公钥集进行签名验证的过程中,使用可变生成元。
此外,上述的存储器703中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等) 执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据所述本地第一公钥和本地第一私钥,获得第一交易标签;根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据所述本地第二公钥和本地第二私钥,获得第二交易标签;其中,所述本地第一公钥在所述第一公钥集中的位置与本地第二公钥在所述第二公钥集中的位置相同;根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥;其中,所述第一随机数和所述第二随机数是预先获得的;通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;其中,在对所述压缩环签名公钥集执行签名操作的过程中,使用可变生成元;输出可链接环签名结果;其中,所述可链接环签名结果包括所述第一公钥集、所述第二公钥集、所述交易相关信息、所述标准环签名结果、所述第一交易标签和所述第二交易标签。或者
获取可链接环签名结果,所述可链接环签名结果包括第一公钥集、第二公钥集、交易相关信息、标准环签名结果、第一交易标签和第二交易标签;根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集;其中,所述第一随机数和所述第二随机数是预先获得的;根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名的合法性验证;其中,在对所述压缩环签名公钥集进行签名验证的过程中,使用可变生成元。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据所述本地第一公钥和本地第一私钥,获得第一交易标签;根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据所述本地第二公钥和本地第二私钥,获得第二交易标签;其中,所述本地第一公钥在所述第一公钥集中的位置与本地第二公钥在所述第二公钥集中的位置相同;根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥;其中,所述第一随机数和所述第二随机数是预先获得的;通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;其中,在对所述压缩环签名公钥集执行签名操作的过程中,使用可变生成元;输出可链接环签名结果;其中,所述可链接环签名结果包括所述第一公钥集、所述第二公钥集、所述交易相关信息、所述标准环签名结果、所述第一交易标签和所述第二交易标签。或者
获取可链接环签名结果,所述可链接环签名结果包括第一公钥集、第二公钥集、交易相关信息、标准环签名结果、第一交易标签和第二交易标签;根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集;其中,所述第一随机数和所述第二随机数是预先获得的;根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名的合法性验证;其中,在对所述压缩环签名公钥集进行签名验证的过程中,使用可变生成元。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等) 上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种改进的可链接环签名方法,其特征在于,包括:
根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据所述本地第一公钥和本地第一私钥,获得第一交易标签;其中,将用户的第一公钥作为所述本地第一公钥,将n-1个其他用户的第一公钥作为n-1个其他第一公钥,将用户的第一私钥作为所述本地第一私钥;所述本地第一公钥和n-1个其他第一公钥通过椭圆曲线群元素获得;
根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据所述本地第二公钥和本地第二私钥,获得第二交易标签;其中,所述本地第一公钥在所述第一公钥集中的位置与本地第二公钥在所述第二公钥集中的位置相同;其中,将用户的第二公钥作为本地第二公钥,将n-1个其他用户的第二公钥作为n-1个其他第二公钥,将用户的第二私钥作为所述本地第二私钥;所述本地第二公钥和n-1个其他第二公钥通过椭圆曲线群元素获得;
根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥;其中,所述第一随机数和所述第二随机数是预先获得的;
通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;其中,在对所述压缩环签名公钥集执行签名操作的过程中,使用可变生成元;
输出可链接环签名结果;其中,所述可链接环签名结果包括所述第一公钥集、所述第二公钥集、所述交易相关信息、所述标准环签名结果、所述第一交易标签和所述第二交易标签;
所述根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集包括:
根据公式计算获得第i个压缩环签名公钥RPKi,PKi为所述第一公钥集LPK中的第i个第一公钥,I1为所述第一交易标签,PK′i为所述第二公钥集L′PK中的第i个第二公钥,I2为所述第二交易标签,e1为所述第一随机数,e2为所述第二随机数,i为正整数且i小于等于n;计算获得n个压缩环签名公钥构成所述压缩环签名公钥集;
所述根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥包括:
根据公式RSK=xγ+e2x′γ,计算获得所述环签名私钥RSK,xγ为所述本地第一私钥,x′γ为所述本地第二私钥。
3.根据权利要求1所述的方法,其特征在于,所述通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果包括:
根据预设签名顺序从所述标准环签名的本地位置开始依次计算所述标准环签名中每个位置的签名参数;其中,所述本地位置的下一个位置的签名参数是根据所述本地位置的生成元、所述本地位置的随机数、所述压缩环签名公钥集以及所述交易相关信息计算获得的;其他位置的每个签名参数是根据所述其他位置的上一个位置的生成元、所述其他位置的上一个位置的随机数、所述其他位置的上一个位置的压缩环签名公钥、所述其他位置的上一个位置的签名参数、所述压缩环签名公钥集以及所述交易相关信息计算获得的;所述其他位置是指所述标准环签名中除了所述本地位置以外的位置;所述本地位置是指所述压缩环签名公钥集中所述本地第一公钥和本地第二公钥对应的压缩环签名公钥在所述压缩环签名公钥集中位置;
根据所述本地位置的随机数、所述本地第一私钥、所述第二随机数、所述本地第二私钥和所述本地位置的签名参数,获得所述本地位置的随机参数;
获取其他位置的所有随机数和所述本地位置的随机参数构成验签随机数集和获取其他位置的一个签名参数作为验签起始参数,并根据所述验签起始参数和所述验签随机数集获得所述标准环签名结果。
5.根据权利要求3所述的方法,其特征在于,根据其他位置的上一个位置的生成元、所述其他位置的上一个位置的随机数、所述其他位置的上一个位置的压缩环签名公钥、所述其他位置的上一个位置的签名参数、所述压缩环签名公钥集以及所述交易相关信息计算获得其他位置的每个签名参数包括:
6.根据权利要求1至5任一项所述的方法,其特征在于,获得所述第一随机数和所述第二随机数的公式如下:
ek=H(LPK,I1,I2,k)
其中,LPK为所述第一公钥集,I1为所述第一交易标签,I2为所述第二交易标签,k为1或者2,e1表示所述第一随机数,e2表示所述第二随机数。
7.一种改进的可链接环签名验证方法,其特征在于,包括:
获取可链接环签名结果,所述可链接环签名结果包括第一公钥集、第二公钥集、交易相关信息、标准环签名结果、第一交易标签和第二交易标签;其中,所述可链接环签名结果是使用权利要求1所述可链接环签名方法得到的;
根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集;其中,所述第一随机数和所述第二随机数是预先获得的;
根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名结果的合法性验证;其中,在对所述压缩环签名公钥集进行签名验证的过程中,使用可变生成元。
8.根据权利要求7所述的方法,其特征在于,所述标准环签名结果包括验签起始参数和验签随机数集;相应地,所述根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名结果的合法性验证包括:
根据所述验签起始参数以及预设验证顺序从预设位置开始依次计算所述标准环签名中每个位置的签名参数;其中,每个位置的签名参数是根据上一个位置的生成元、上一个位置的验签随机数、上一个位置的压缩环签名公钥、上一个位置的签名参数、所述压缩环签名公钥集以及所述交易相关信息计算获得的;其中,所述上一个位置的验签随机数是从所述验签随机数集中获得的;
若判断获知所述验签起始参数与对应位置的签名参数匹配,则确定所述可链接环签名通过验证。
9.根据权利要求8所述的方法,其特征在于,所述根据上一个位置的生成元、上一个位置的随机数、上一个位置的压缩环签名公钥、上一个位置的签名参数、所述压缩环签名公钥集以及所述交易相关信息计算获得每个位置的签名参数包括:
11.根据权利要求7至10任一项所述的方法,其特征在于,获得所述第一随机数和所述第二随机数的公式如下:
ek=H(LPK,I1,I2,k)
其中,LPK为所述第一公钥集,I1为所述第一交易标签,I2为所述第二交易标签,k为1或者2,e1表示所述第一随机数,e2表示所述第二随机数。
12.一种改进的可链接环签名装置,其特征在于,包括:
第一组成单元,用于根据本地第一公钥和n-1个其他第一公钥,组成第一公钥集,并根据所述本地第一公钥和本地第一私钥,获得第一交易标签;其中,将用户的第一公钥作为所述本地第一公钥,将n-1个其他用户的第一公钥作为n-1个其他第一公钥,将用户的第一私钥作为所述本地第一私钥;所述本地第一公钥和n-1个其他第一公钥通过椭圆曲线群元素获得;
第二组成单元,用于根据本地第二公钥和n-1个其他第二公钥,组成第二公钥集,并根据所述本地第二公钥和本地第二私钥,获得第二交易标签;其中,所述本地第一公钥在所述第一公钥集中的位置与本地第二公钥在所述第二公钥集中的位置相同;其中,将用户的第二公钥作为本地第二公钥,将n-1个其他用户的第二公钥作为n-1个其他第二公钥,将用户的第二私钥作为所述本地第二私钥;所述本地第二公钥和n-1个其他第二公钥通过椭圆曲线群元素获得;
第一获得单元,用于根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集,并根据所述本地第一私钥、所述本地第二私钥和所述第二随机数,获得环签名私钥;其中,所述第一随机数和所述第二随机数是预先获得的;
签名单元,用于通过所述压缩环签名公钥集以及所述环签名私钥对交易相关信息进行标准环签名,获得标准环签名结果;其中,在对所述压缩环签名公钥集执行签名操作的过程中,使用可变生成元;
输出单元,用于输出可链接环签名结果;其中,所述可链接环签名结果包括所述第一公钥集、所述第二公钥集、所述交易相关信息、所述标准环签名结果、所述第一交易标签和所述第二交易标签;
13.一种改进的可链接环签名验证装置,其特征在于,包括:
获取单元,用于获取可链接环签名结果,所述可链接环签名结果包括第一公钥集、第二公钥集、交易相关信息、标准环签名结果、第一交易标签和第二交易标签;其中,所述可链接环签名结果是使用权利要求1所述可链接环签名方法得到的;
第二获得单元,用于根据所述第一公钥集、所述第一交易标签、所述第二公钥集、所述第二交易标签、第一随机数和第二随机数,获得压缩环签名公钥集;其中,所述第一随机数和所述第二随机数是预先获得的;
验证单元,用于根据所述标准环签名结果、所述交易相关信息以及压缩环签名公钥集进行所述可链接环签名结果的合法性验证;其中,在对所述压缩环签名公钥集进行签名验证的过程中,使用可变生成元。
14.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法,或者实现权利要求7至11任一项所述方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法,或者实现权利要求7至11任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010976160.5A CN112118100B (zh) | 2020-09-16 | 2020-09-16 | 改进的可链接环签名方法、验证方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010976160.5A CN112118100B (zh) | 2020-09-16 | 2020-09-16 | 改进的可链接环签名方法、验证方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112118100A CN112118100A (zh) | 2020-12-22 |
CN112118100B true CN112118100B (zh) | 2021-09-10 |
Family
ID=73803174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010976160.5A Active CN112118100B (zh) | 2020-09-16 | 2020-09-16 | 改进的可链接环签名方法、验证方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112118100B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240187255A1 (en) * | 2021-02-19 | 2024-06-06 | NEC Laboratories Europe GmbH | User-controlled linkability of anonymous signature schemes |
CN114070556B (zh) * | 2021-11-15 | 2023-07-25 | 成都卫士通信息产业股份有限公司 | 一种门限环签名方法、装置、电子设备及可读存储介质 |
CN114499860A (zh) * | 2022-03-22 | 2022-05-13 | 深圳壹账通智能科技有限公司 | 签名公钥压缩方法、装置、计算机设备及存储介质 |
CN115473634B (zh) * | 2022-08-24 | 2024-05-31 | 武汉大学 | 一种改进的可链接环签名生成方法及装置 |
CN115664675B (zh) * | 2022-10-20 | 2023-07-04 | 牛津(海南)区块链研究院有限公司 | 基于sm2算法的可追踪环签名方法、系统、设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107453865B (zh) * | 2017-07-18 | 2020-09-11 | 众安信息技术服务有限公司 | 一种保护数据发送源隐私的多方数据共享方法及系统 |
CN107967557B (zh) * | 2017-11-17 | 2021-06-22 | 西安电子科技大学 | 基于区块链的可修改信誉评价系统及方法、电子支付系统 |
CN110011810B (zh) * | 2019-03-31 | 2021-04-20 | 西安电子科技大学 | 基于可链接环签名和多重签名的区块链匿名签名方法 |
US11238447B2 (en) * | 2019-06-26 | 2022-02-01 | Advanced New Technologies Co., Ltd. | Blockchain transactions with ring signatures |
-
2020
- 2020-09-16 CN CN202010976160.5A patent/CN112118100B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112118100A (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112118100B (zh) | 改进的可链接环签名方法、验证方法、装置、电子设备及介质 | |
CN110473105B (zh) | 一种区块链交易结算方法、系统及相关设备 | |
EP3420669B1 (en) | Cryptographic method and system for secure extraction of data from a blockchain | |
CN108335106A (zh) | 基于区块链的零知识多账本兑换转账方法、装置及存储介质 | |
EP3783831A1 (en) | Selectivity in privacy and verification with applications | |
US8542832B2 (en) | System and method for the calculation of a polynomial-based hash function and the erindale-plus hashing algorithm | |
CN112132577B (zh) | 一种基于区块链的多重监管的交易处理方法及装置 | |
CN110505061B (zh) | 一种数字签名算法及系统 | |
CN112241526B (zh) | 一种基于sm9数字签名的批量验证方法和系统 | |
CN110599164B (zh) | 一种可监管的链下任意收款方快速支付方法 | |
CN112436938A (zh) | 数字签名的生成方法、装置和服务器 | |
CN115473632B (zh) | 一种改进的多层可链接环签名生成方法及装置 | |
CN119809826A (zh) | 一种隐私交易方法及装置 | |
Stallings | Digital signature algorithms | |
CN111262707B (zh) | 数字签名方法及验证方法、设备、存储介质 | |
CN117155570B (zh) | 密文置换方法、存储介质及电子设备 | |
CN111245594B (zh) | 一种基于同态运算的协同签名方法及系统 | |
CN108900310A (zh) | 区块链签名处理方法及区块链签名处理装置 | |
Ghasaei et al. | Blockchain-based, privacy-preserving, first price sealed bid auction (fpsba) verifiable by participants | |
CN118157874A (zh) | 一种签名方法和装置 | |
CN112184245A (zh) | 一种跨区块链的交易身份确认方法及装置 | |
CN111552950A (zh) | 一种软件授权方法、装置及计算机可读存储介质 | |
CN115473635B (zh) | 一种抗恶意敌手的sm2两方适配器签名生成方法及装置 | |
CN114710293B (zh) | 数字签名方法、装置、电子设备及存储介质 | |
CN112541197B (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 |