CN117278213A - 基于多项式承诺的方法、电子设备及可读存储介质 - Google Patents
基于多项式承诺的方法、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117278213A CN117278213A CN202311423529.XA CN202311423529A CN117278213A CN 117278213 A CN117278213 A CN 117278213A CN 202311423529 A CN202311423529 A CN 202311423529A CN 117278213 A CN117278213 A CN 117278213A
- Authority
- CN
- China
- Prior art keywords
- polynomial
- point value
- value polynomial
- commitment
- generating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012795 verification Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000014509 gene expression Effects 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
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/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/3218—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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及加密技术领域,特别涉及一种基于多项式承诺的方法、电子设备及可读存储介质;该方法包括:获取业务数据对应的点值多项式,业务数据为待证明的秘密数据;基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,元素集合包含与点值多项式的自变量相关的各项元素;基于元素集合中的各项元素,生成点值多项式的承诺,并基于获取到的目标自变量,生成点值多项式的证明;其中,承诺和证明用于验证秘密数据的存在性;可以解决传统的多项式承诺的实现方式在证明大小以及验证时间方面的复杂度都比较高、运算效率较低的问题。
Description
技术领域
本申请涉及加密技术领域,特别涉及一种基于多项式承诺的方法、电子设备及可读存储介质。
背景技术
承诺是一类密码学算法,就像加密、签名、消息摘要这些算法类别地位一样,能够提供基础性模块行的密码功能而被称为密码学的原语。
目前,在零知识证明以及区块链领域,多项式承诺的加密方式得到广泛应用,例如零知识证明是否需要可信设置以及证明大小等取决于多项式承诺的加密方式,通过多项式承诺的方式还可以替换区块链的默克尔树,使得区块链可以向客户端提供更有说服力的交易存在性证明。
然而,传统的多项式承诺的实现方式在证明大小以及验证时间方面的复杂度都比较高,尤其是在需要多次多项式承诺和证明时,运算效率较低。
发明内容
根据本申请的各种实施例,提供一种基于多项式承诺的方法、电子设备及可读存储介质,可以解决传统的多项式承诺的实现方式在证明大小以及验证时间方面的复杂度都比较高、运算效率较低的问题。
第一方面,本申请提供了一种基于多项式承诺的方法,包括:
获取业务数据对应的点值多项式,业务数据为待证明的秘密数据;基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,元素集合包含与点值多项式的自变量相关的各项元素;基于元素集合中的各项元素,生成点值多项式的承诺,并基于获取到的目标自变量,生成点值多项式的证明;其中,承诺和证明用于验证秘密数据的存在性。
通过上述方式,基于随机数和椭圆曲线的生成元,生成与点值多项式的自变量相关的各项元素,得到目标形式的元素集合,基于元素集合直接生成点值多项式的承诺,可以降低计算复杂度,也无需对点值多项式转换成系数表达式再基于系数表达式的各项系数计算承诺,在降低计算量的同时,降低了承诺运算的复杂度,提高了在各种加密应用场景下的算法处理效率;具有较强的易用性与实用性。
在第一方面的一种可能的实现方式中,在所述生成所述点值多项式的证明之后,所述方法还包括:
承诺方向验证方发送所述承诺和所述证明,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证。
在第一方面的一种可能的实现方式中,所述基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,包括:
基于随机数和椭圆曲线的生成元,生成目标形式的包含n个元素的元素集合;所述目标形式的包含n个元素的元素集合表示为:
其中,n为大于等于1的整数,ωn为点值多项式对应的自变量,α为所述随机数,G为所述生成元,srs为结构化参考字符串。
所述基于所述元素集合中的各项元素,生成所述点值多项式的承诺,包括:
基于以下公式生成所述点值多项式的承诺:
其中,为所述承诺,f(X)为点值多项式,/>为点值多项式的n个自变量中的第i个自变量对应的因变量,ωi是点值多项式的自变量,是满足ωi n=1的n个根,n为2的幂次,α为所述随机数,G为所述生成元,/>为各项元素。
在第一方面的一种可能的实现方式中,所述基于获取到的目标自变量,生成所述点值多项式的证明,包括:
基于获取到的目标自变量,生成所述点值多项式对应的中间多项式;
基于所述中间多项式,生成所述点值多项式的证明。
在第一方面的一种可能的实现方式中,所述基于获取到的目标自变量,生成所述点值多项式对应的中间多项式,包括:
基于以下公式生成所述点值多项式对应的中间多项式:
;
基于以下公式生成所述点值多项式的证明:
其中,W为所述证明,p(x)为基于f(x)生成的中间多项式,z为获取到的目标自变量,f(z)为点值多项式在z处的值,为点值多项式的n个自变量中的第i个自变量对应的因变量,ωi是点值多项式的自变量,是满足ωi n=1的n个根,n为2的幂次,α为所述随机数,G为所述生成元,/>为各项元素。
在第一方面的一种可能的实现方式中,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证,包括:
基于双线性配对函数,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证;所述双线性配对函数表示如下:
其中,当A1=A2时,验证通过,否则验证不通过;C为所述承诺,y为点值多项式在目标自变量z对应的因变量,α为所述随机数,G1、G2分别为预设的两条椭圆曲线上的生成元,W为所述证明,e为双线性配对函数。
第二方面,本申请提供了基于多项式承诺的装置,包括:
获取单元,获取业务数据对应的点值多项式,所述业务数据为待证明的秘密数据;
处理单元,用于基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,所述元素集合包含与所述点值多项式的自变量相关的各项元素;
承诺单元,用于基于所述元素集合中的各项元素,生成所述点值多项式的承诺,并基于获取到的目标自变量,生成所述点值多项式的证明;
其中,所述承诺和所述证明用于验证所述秘密数据的存在性。
第三方面,本申请提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
第五方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请一实施例提供的基于多项式承诺的方法的流程示意图;
图2为本申请实施例提供的基于多项式承诺的交互流程示意图;
图3为本申请一实施例提供的基于多项式承诺的装置结构示意图;
图4为本申请实施例提供电子设备的结构示意图。
具体实施方式
下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
在本申请实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如 A 和/或 B,可以表示:单独存在 A,同时存在 A 和 B,单独存在 B 这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
承诺是一个公共值,与提交者提供的原始业务消息(计算绑定 Binding)绑定,提交者不会泄露具体的业务消息(隐藏 Hiding)。提交者需要打开此承诺并将消息发送到验证者,以验证承诺与消息之间的对应关系。多项式承诺是针对某个多项式的承诺,提交者可以通过证明多项式的值满足多项式的函数关系,而不会揭示多项式的具体内容。
多项式承诺在密码学各种应用场景中具有重要作用,例如在零知识证明领域,隐私数据的保护、身份的验证以及物联网安全等应用场景,均可以基于多项式承诺的方案在保护数据的情况下,提供有效的数据存在的证明。
下面通过具体实施例介绍本申请实施例的实现方式。
请参见图1,图1为本申请实施例提供的基于多项式承诺的方法实现流程图。如图所示,该方法可以包括以下步骤:
S101,获取业务数据对应的点值多项式,业务数据为待证明的秘密数据。
在本申请实施例中,业务数据可以为区块链交易数据,还可以为其他需要保密的数据,例如登录信息相关的隐私数据等。基于该业务数据确定相关联的点值多项式,即通过纵坐标表示的点值表达式。
示例性的,多项式可以通过系数表示,也可以通过不同的点唯一表示,n次的多项式可以通过n+1个系数表示,比如一次多项式就是一条直线,可以通过ax+b这样的形式通过a、b两个系数表示,也可以通过两个点表示(两点确定一条直线)。第一种方式叫做系数表达式,第二种方式叫做多项式的点值表达式。当使用点值表达式时,一般会约定定义域的范围,也即约定这些点的横坐标,然后只使用纵坐标就能唯一表示多项式(即n+1个值);因此和系数表达式相比,点值表达式表示不会占用更多的存储空间。
例如,点值多项式的表达式为,也即该点值多项式在横坐标处的值为/>。由于点值表达式为与业务数据相关的原始数据,基于该点值表达式进行计算更具备规律性和稀疏性。
S102,基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,元素集合包含与点值多项式的自变量相关的各项元素。
在本申请实施例中,在生成点值多项式的承诺之前,需要进行可信设置,即选择椭圆曲线上的生成元G和选择随机数α,然后计算各项椭圆曲线元素,该计算过程还可以由可信第三方实现,并在使用随机数后保证随机数被销毁。该目标形式的元素集合即为包含各项椭圆曲线元素的集合。
其中,生成元可以为椭圆曲线上的一个已知确定的点,与点值多项式的自变量相关的各项元素包括基于随机数和各个点的横坐标生成的标量,该各项元素即通过各个标量与生成元(椭圆曲线点)的点乘计算得到。
在一些实施例中,基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,包括:
基于随机数和椭圆曲线的生成元,生成目标形式的包含n个元素的元素集合;所述目标形式的包含n个元素的元素集合表示为:
其中,n为大于等于1的整数,ωn为点值多项式对应的自变量,α为所述随机数,G为所述生成元,srs为结构化参考字符串(struct reference string)。
示例性的,与相关已有的针对系数表达式计算标量的方式不同,本申请实施例中的标量是基于横坐标以及随机数计算得到,例如。
S103,基于元素集合中的各项元素,生成点值多项式的承诺,并基于获取到的目标自变量,生成点值多项式的证明。
其中,承诺和证明用于验证秘密数据的存在性。
在本申请实施例中,在计算点值多项式的承诺之前,由于计算的标量以及相应的各项椭圆曲线元素不同,不再需要对点值多项式进行傅里叶变换为系数表达式再计算承诺,而且变换后的系数多项式一般也会失去稀疏性且存在大量较为复杂的计算过程。
示例性的,本申请实施例基于点值多项式对应的具备稀疏性的各个点值与元素集合中的各项元素,计算得到该点值多项式的承诺。
在一些实施例中,基于元素集合中的各项元素,生成点值多项式的承诺,包括:
基于以下公式生成点值多项式的承诺C:
其中,为承诺,f(X)为点值多项式,/>为点值多项式的n个自变量中的第i个自变量对应的因变量(点值),ωi是点值多项式的自变量,是满足ωi n=1的n个根,n为2的幂次,α为随机数,G为生成元,/>为各项元素。srs基于上述计算得到表格,具体值基于查表即可得到,具体计算过程为将各个点值与对应的各个元素乘积并求和得到该承诺。
示例性的,上述计算出的承诺,无法获知点值多项式f(x)的具体信息,也很难构造出另外一个多项式的承诺也是C,满足了隐藏性和绑定性。
在一些实施例中,基于获取到的目标自变量,生成点值多项式的证明,包括:
基于获取到的目标自变量,生成点值多项式对应的中间多项式;基于中间多项式,生成点值多项式的证明。
示例性的,在计算出承诺后,进一步基于该承诺与验证方提出的目标自变量,计算该点值多项式的证明。生成该证明的目的为承诺方向验证方(或接收方)证明该点值多项式满足的函数关系,例如,即f(x)满足在z处取值为y的函数关系。
其中,z和y都是确定的数,即承诺方(发送方)需要向验证方(接收方)证明的值。z可以是可信的第三方或者接收方确定的值或者其他需求而确定的值,即获取到的目标自变量。由承诺方根据z计算出正确的y,然后再生成证明,即。
在一些实施例中,基于获取到的目标自变量,生成点值多项式对应的中间多项式,包括:
基于以下公式生成点值多项式对应的中间多项式:
;
基于以下公式生成点值多项式的证明:
其中,W为证明,p(x)为基于f(x)生成的中间多项式,z为获取到的目标自变量,f(z)为点值多项式在z处的点值,为点值多项式的n个自变量中的第i个自变量对应的因变量,ωi是点值多项式的自变量,是满足ωi n=1的n个根,n为2的幂次,α为随机数,G为生成元,为各项元素,其中的标量可以基于前述查表得到。
在一些实施例中,在生成点值多项式的证明之后,该方法还包括:
承诺方向验证方发送承诺和证明,验证方基于承诺和证明对点值多项式进行验证。
示例性的,承诺方将W和z,y发送给验证方(接收方),W即为对f(z)=y的证明。而接收方并不知道f(x)的具体表达式,承诺方的证明也没有透露f(x)的表达式。但是接收方通过后续的验证步骤,能够确定承诺者在承诺步骤发送的C对应的多项式f(x)确实满足f(z)=y,即。
在一些实施例中,验证方基于承诺和证明对点值多项式进行验证,包括:
基于双线性配对函数,验证方基于承诺和证明对点值多项式进行验证;双线性配对函数表示如下:
其中,当A1=A2时,验证通过,否则验证不通过;C为承诺,y为点值多项式在目标自变量z对应的因变量(即点值),α为随机数,G1、G2分别为预设已知的两条椭圆曲线上的生成元,W为证明,e为双线性配对函数。
示例性的,基于双线性配对函数,验证C,W,z,y之间存在的关系,如果A1=A2,则验证通过,证明点值多项式确实存在在z处的取值为y,进一步可以证明未公开的业务数据的存在性;否则验证不通过。
需要说明的是,上面描述中提到的是满足/>的n个根,而且为2的幂次,从而可以完成对最大n-1次多项式的承诺。
如图2所示,本申请实施例提供的基于多项式承诺的交互流程示意图,承诺方获取基于生成元和随机数生成的元素集合,并基于元素结合生成点值多项式的承诺C,向验证方发送该承诺。验证放可以向承诺放发起挑战,随机选择目标自变量z,并发送给承诺方。承诺方基于目标自变量z、值y、承诺C和元素集合生成证明W,并向验证方发送W、z、y。验证方进行验证verify(W,C,z,y)。
通过本申请实施例,由于点值表达式是业务相关的原始数据,这些值更具有规律性和稀疏性。而这些业务数据经过一次快速傅里叶变换后会变得失去这些规律,结果难以简单预测。按照原有的算法必须经过快速傅里叶变换后对系数表达式进行运算,本申请则省略了傅里叶变换的过程,降低了整体算法的运算复杂度。而且大部分情况,例如零知识证明中,由于点值表达式是业务相关的原始数据,更有稀疏性,基于点值的承诺计算量远远小于基于系数的承诺计算量,在点值表达式稀疏的情况下大大加速算法。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例提供的基于多项式承诺的方法,图3示出了本申请实施例提供的基于多项式承诺的装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图3,该装置包括:
获取单元31,获取业务数据对应的点值多项式,所述业务数据为待证明的秘密数据;
处理单元32,用于基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,所述元素集合包含与所述点值多项式的自变量相关的各项元素;
承诺单元33,用于基于所述元素集合中的各项元素,生成所述点值多项式的承诺,并基于获取到的目标自变量,生成所述点值多项式的证明;
其中,所述承诺和所述证明用于验证所述秘密数据的存在性。
在一种可能的实现方式中,该装置还包括验证单元,用于承诺方向验证方发送所述承诺和所述证明,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证。
在一种可能的实现方式中,处理单元32,还用于基于随机数和椭圆曲线的生成元,生成目标形式的包含n个元素的元素集合;所述目标形式的包含n个元素的元素集合表示为:
其中,n为大于等于1的整数,ωn为点值多项式对应的自变量,α为所述随机数,G为所述生成元,srs为结构化参考字符串。
在一种可能的实现方式中,承诺单元33,还用于基于以下公式生成所述点值多项式的承诺:
其中,为所述承诺,f(X)为点值多项式,/>为点值多项式的n个自变量中的第i个自变量对应的因变量,ωi是点值多项式的自变量,是满足ωi n=1的n个根,n为2的幂次,α为所述随机数,G为所述生成元,/>为各项元素。
在一种可能的实现方式中,承诺单元33,还用于基于获取到的目标自变量,生成所述点值多项式对应的中间多项式;基于所述中间多项式,生成所述点值多项式的证明。
在一种可能的实现方式中,承诺单元33,还用于基于以下公式生成所述点值多项式对应的中间多项式:
;
基于以下公式生成所述点值多项式的证明:
其中,W为所述证明,p(x)为基于f(x)生成的中间多项式,z为获取到的目标自变量,f(z)为点值多项式在z处的值,为点值多项式的n个自变量中的第i个自变量对应的因变量,ωi是点值多项式的自变量,是满足ωi n=1的n个根,n为2的幂次,α为所述随机数,G为所述生成元,/>为各项元素。
在一种可能的实现方式中,验证单元,还用于基于双线性配对函数,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证;所述双线性配对函数表示如下:
其中,当A1=A2时,验证通过,否则验证不通过;C为所述承诺,y为点值多项式目标自变量z对应的因变量,α为所述随机数,G1、G2分别为预设的两条椭圆曲线上的生成元,W为所述证明,e为双线性配对函数。
图4示出了电子设备4的硬件结构示意图。
如图4所示,该实施例的电子设备4包括:至少一个处理器40(图4中仅示出一个)、存储器41,所述存储器41中存储有可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述方法实施例中的步骤,例如图1所示的S101至S103。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各单元/单元的功能。
可以理解的是,本申请实施例示意的结构并不构成对电子设备4的具体限定。在本申请另一些实施例中,电子设备4可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
该电子设备4可以是上述区块链系统的节点,例如可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该电子设备4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如该服务器还可以包括输入发送设备、网络接入设备、总线等。
上述处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
处理器40中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器40中的存储器为高速缓冲存储器。该存储器可以保存处理器40刚用过或循环使用的指令或数据。如果处理器40需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器40的等待时间,因而提高了系统的效率。
上述存储器41在一些实施例中可以是所述电子设备4的内部存储单元,例如电子设备4的硬盘或内存。该存储器41也可以是所述电子设备4的外部存储设备,例如该电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,该存储器41还可以既包括该电子设备4的内部存储单元也包括外部存储设备。该存储器41用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。该存储器41还可以用于暂时地存储已经发送或者将要发送的数据。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
需要说明的是,上述电子设备的结构仅示例性说明,基于不同的应用场景,还可以包括其他实体结构,在此不对电子设备的实体结构进行限定。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在服务器上运行时,使得服务器执行时实现可实现上述各个方法实施例中的步骤。
所集成的单元/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
上述本申请实施例提供的算法开发平台、电子设备、计算机存储介质、计算机程序产品均用于执行上文所提供的方法,因此,其所能达到的有益效果可参考上文所提供的方法对应的有益效果,在此不再赘述。
应理解,上述只是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述检测方法的各个实施例中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本申请实施例的范围内。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
应理解,上述只是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述检测方法的各个实施例中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本申请实施例的范围内。
还应理解,本申请实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在不矛盾的情况下可以相结合。
还应理解,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于多项式承诺的方法,其特征在于,包括:
获取业务数据对应的点值多项式,所述业务数据为待证明的秘密数据;
基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,所述元素集合包含与所述点值多项式的自变量相关的各项元素;
基于所述元素集合中的各项元素,生成所述点值多项式的承诺,并基于获取到的目标自变量,生成所述点值多项式的证明;
其中,所述承诺和所述证明用于验证所述秘密数据的存在性。
2.根据权利要求1所述的方法,其特征在于,在所述生成所述点值多项式的证明之后,所述方法还包括:
承诺方向验证方发送所述承诺和所述证明,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证。
3.根据权利要求1所述的方法,其特征在于,所述基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,包括:
基于随机数和椭圆曲线的生成元,生成目标形式的包含n个元素的元素集合;所述目标形式的包含n个元素的元素集合表示为:
其中,n为大于等于1的整数,ωn为点值多项式对应的自变量,α为所述随机数,G为所述生成元,srs为结构化参考字符串。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述元素集合中的各项元素,生成所述点值多项式的承诺,包括:
基于以下公式生成所述点值多项式的承诺:
其中,为所述承诺,f(X)为点值多项式,/>为点值多项式的n个自变量中的第i个自变量对应的因变量,ωi是点值多项式的自变量,是满足ωi n=1的n个根,n为2的幂次,α为所述随机数,G为所述生成元,/>为各项元素。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述基于获取到的目标自变量,生成所述点值多项式的证明,包括:
基于获取到的目标自变量,生成所述点值多项式对应的中间多项式;
基于所述中间多项式,生成所述点值多项式的证明。
6.根据权利要求5所述的方法,其特征在于,所述基于获取到的目标自变量,生成所述点值多项式对应的中间多项式,包括:
基于以下公式生成所述点值多项式对应的中间多项式:
;
基于以下公式生成所述点值多项式的证明:
其中,W为所述证明,p(x)为基于f(x)生成的中间多项式,z为获取到的目标自变量,f(z)为点值多项式在z处的值,为点值多项式的n个自变量中的第i个自变量对应的因变量,ωi是点值多项式的自变量,是满足ωi n=1的n个根,n为2的幂次,α为所述随机数,G为所述生成元,/>为各项元素。
7.根据权利要求2或6所述的方法,其特征在于,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证,包括:
基于双线性配对函数,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证;所述双线性配对函数表示如下:
其中,当A1=A2时,验证通过,否则验证不通过;C为所述承诺,y为点值多项式在目标自变量z对应的因变量,α为所述随机数,G1、G2分别为预设的两条椭圆曲线上的生成元,W为所述证明,e为双线性配对函数。
8.一种基于多项式承诺的装置,其特征在于,包括:
获取单元,获取业务数据对应的点值多项式,所述业务数据为待证明的秘密数据;
处理单元,用于基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,所述元素集合包含与所述点值多项式的自变量相关的各项元素;
承诺单元,用于基于所述元素集合中的各项元素,生成所述点值多项式的承诺,并基于获取到的目标自变量,生成所述点值多项式的证明;
其中,所述承诺和所述证明用于验证所述秘密数据的存在性。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311423529.XA CN117278213B (zh) | 2023-10-31 | 2023-10-31 | 基于多项式承诺的方法、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311423529.XA CN117278213B (zh) | 2023-10-31 | 2023-10-31 | 基于多项式承诺的方法、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117278213A true CN117278213A (zh) | 2023-12-22 |
CN117278213B CN117278213B (zh) | 2024-02-09 |
Family
ID=89206322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311423529.XA Active CN117278213B (zh) | 2023-10-31 | 2023-10-31 | 基于多项式承诺的方法、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117278213B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6076163A (en) * | 1997-10-20 | 2000-06-13 | Rsa Security Inc. | Secure user identification based on constrained polynomials |
CN109120398A (zh) * | 2018-08-03 | 2019-01-01 | 河南师范大学 | 一种基于区块链系统的秘密共享方法与装置 |
EP3646563A1 (en) * | 2017-06-30 | 2020-05-06 | Visa International Service Association | Method, system, and computer program product for determining solvency of a digital asset exchange |
CN111342962A (zh) * | 2020-04-01 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 一种验证密文消息范围的方法和系统 |
CN113507374A (zh) * | 2021-07-02 | 2021-10-15 | 恒生电子股份有限公司 | 门限签名方法、装置、设备以及存储介质 |
CN113569294A (zh) * | 2021-09-22 | 2021-10-29 | 浙江大学 | 一种零知识证明方法及装置、电子设备、存储介质 |
US20210406436A1 (en) * | 2020-06-30 | 2021-12-30 | Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) | Method for verifying convolutional neural network model and device thereof |
CN114092242A (zh) * | 2021-11-03 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 基于范围证明实现隐私交易的方法和系统 |
CN114978538A (zh) * | 2022-05-17 | 2022-08-30 | 蚂蚁区块链科技(上海)有限公司 | 保护隐私的数据关系证明方法和系统 |
CN115694822A (zh) * | 2021-07-26 | 2023-02-03 | 华为技术有限公司 | 基于零知识证明的验证方法、装置和系统、设备及介质 |
CN116561789A (zh) * | 2023-07-07 | 2023-08-08 | 北京天润基业科技发展股份有限公司 | 隐私数据的处理方法、装置、电子设备及可读存储介质 |
CN116599669A (zh) * | 2022-12-28 | 2023-08-15 | 中移动信息技术有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
-
2023
- 2023-10-31 CN CN202311423529.XA patent/CN117278213B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6076163A (en) * | 1997-10-20 | 2000-06-13 | Rsa Security Inc. | Secure user identification based on constrained polynomials |
EP3646563A1 (en) * | 2017-06-30 | 2020-05-06 | Visa International Service Association | Method, system, and computer program product for determining solvency of a digital asset exchange |
CN109120398A (zh) * | 2018-08-03 | 2019-01-01 | 河南师范大学 | 一种基于区块链系统的秘密共享方法与装置 |
CN111342962A (zh) * | 2020-04-01 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 一种验证密文消息范围的方法和系统 |
US20210406436A1 (en) * | 2020-06-30 | 2021-12-30 | Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) | Method for verifying convolutional neural network model and device thereof |
CN113507374A (zh) * | 2021-07-02 | 2021-10-15 | 恒生电子股份有限公司 | 门限签名方法、装置、设备以及存储介质 |
CN115694822A (zh) * | 2021-07-26 | 2023-02-03 | 华为技术有限公司 | 基于零知识证明的验证方法、装置和系统、设备及介质 |
CN113569294A (zh) * | 2021-09-22 | 2021-10-29 | 浙江大学 | 一种零知识证明方法及装置、电子设备、存储介质 |
CN114092242A (zh) * | 2021-11-03 | 2022-02-25 | 支付宝(杭州)信息技术有限公司 | 基于范围证明实现隐私交易的方法和系统 |
CN114978538A (zh) * | 2022-05-17 | 2022-08-30 | 蚂蚁区块链科技(上海)有限公司 | 保护隐私的数据关系证明方法和系统 |
CN116599669A (zh) * | 2022-12-28 | 2023-08-15 | 中移动信息技术有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN116561789A (zh) * | 2023-07-07 | 2023-08-08 | 北京天润基业科技发展股份有限公司 | 隐私数据的处理方法、装置、电子设备及可读存储介质 |
Non-Patent Citations (3)
Title |
---|
M. LEMUS; P. YADAV; P. MATEUS; N. PAUNKOVIĆ; A. SOUTO: "On minimal assumptions to obtain a universally composable quantum bit commitment", 《2019 21ST INTERNATIONAL CONFERENCE ON TRANSPARENT OPTICAL NETWORKS (ICTON)》 * |
张凡;高胜;曾志强;: "一种高效的范围证明方案", 密码学报, no. 02 * |
田有亮;彭长根;: "基于双线性对的可验证秘密共享方案", 计算机应用, no. 2 * |
Also Published As
Publication number | Publication date |
---|---|
CN117278213B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2376651C2 (ru) | Использование изогений для разработки криптосистем | |
CN113569294B (zh) | 一种零知识证明方法及装置、电子设备、存储介质 | |
US9219602B2 (en) | Method and system for securely computing a base point in direct anonymous attestation | |
CN112152792A (zh) | 基于mts的相互认证的远程证明 | |
JP4818663B2 (ja) | 同種写像ベースの署名の生成および検証のためのシステムおよび方法 | |
US8868910B2 (en) | Elliptic curve cryptographic signature | |
US20160149708A1 (en) | Electronic signature system | |
US20230052608A1 (en) | Remote attestation | |
CN111245626A (zh) | 零知识证明方法、装置及存储介质 | |
CN111262707B (zh) | 数字签名方法及验证方法、设备、存储介质 | |
CN113221133A (zh) | 数据传输方法以及装置 | |
CN117278213B (zh) | 基于多项式承诺的方法、电子设备及可读存储介质 | |
CN114640463B (zh) | 一种数字签名方法、计算机设备及介质 | |
Fajiang et al. | An efficient anonymous remote attestation scheme for trusted computing based on improved CPK | |
Dufka et al. | SHINE: Resilience via Practical Interoperability of Multi-party Schnorr Signature Schemes. | |
CN116896440B (zh) | 基于区块链的声明数据的验证方法和装置、设备和介质 | |
JP3607191B2 (ja) | 二次体に基づく否認不可署名方式 | |
CN114124396B (zh) | 信息传输方法、系统和存储介质 | |
KR20190041203A (ko) | 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법 | |
CN116975936B (zh) | 金融资质证明方法、金融资质验证方法 | |
CN117118637B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
EP3910874A1 (en) | A protocol for trustworthy, privacy preserving genomic database discovery | |
CN115001698B (zh) | 聚合签名方法、装置、设备和存储介质 | |
US11902453B2 (en) | Method, system and apparatus for delayed production code signing for heterogeneous artifacts | |
US20230076882A1 (en) | A protocol for trustworthy, privacy preserving genomic database discovery |
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 |