CN117272293A - 零知识证明中公共参数生成方法、系统、设备和存储介质 - Google Patents
零知识证明中公共参数生成方法、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN117272293A CN117272293A CN202311548975.3A CN202311548975A CN117272293A CN 117272293 A CN117272293 A CN 117272293A CN 202311548975 A CN202311548975 A CN 202311548975A CN 117272293 A CN117272293 A CN 117272293A
- Authority
- CN
- China
- Prior art keywords
- calculation result
- generating
- parameter
- common
- target
- 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 100
- 238000005242 forging Methods 0.000 abstract description 8
- 230000009545 invasion Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供一种零知识证明中公共参数生成方法、系统、设备和存储介质,该方法包括:目标生成方根据第一非公共参数以及其他生成方发送的第一计算结果生成第一元素。然后,根据第二非公共参数以及其他生成方发送的第二计算结果生成第二元素;以及根据第一元素中的目标子元素、第一非公共参数、第二非公共参数以及其他生成方发送的第三计算结果,生成第三元素。最终,根据第一元素至第三元素生成公共参数。即目标生成方可以基于自身以及其他生成方的非公共参数生成公共参数。当攻击方想要根据非公共参数以及公共参数伪造证明时就需要入侵所有生成方,这样显然会增加攻击方的入侵难度,进而提高证明的伪造难度,提高证明系统安全。
Description
技术领域
本发明涉及数据安全领域,尤其涉及一种零知识证明中公共参数生成方法、系统、设备和存储介质。
背景技术
零知识证明方法包括交互式证明方法和非交互式证明方法。相比于交互式证明方法,非交互式证明方法具有显著的优点。在非交互式证明方法中,零知识简洁非交互式知识证明(zero knowledge Succinct Non-interactive Argument of Knowledge,简称为zksnark)是当前常用的一种非交互式零知识证明方法。
在zksnark方法中,可信第三方作为生成方可以根据非公共参数生成公共参数。其中,非公共参数可以理解为除生成方之外其他任何一方都无法获知的秘密参数。然后,基于生成方生成的公共参数,可以完成证明系统的授信初始化。基于此可以进一步保证证明系统安全。
然而,在实际中,生成方所持有的非公共参数可能会泄露给攻击方,则攻击方可以利用被泄露的非公共参数以及公开的公共参数进一步伪造出合法证明,从而欺骗验证方,此时就会导致证明系统不安全。因此,如何提高证明的伪造难度,以提高证明系统安全就成为一个亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种零知识证明中公共参数生成方法、系统、设备和存储介质,用以提高证明的伪造难度,以提高证明系统安全。
第一方面,本发明实施例提供一种零知识证明中公共参数生成方法,应用于目标生成方,包括:
根据来源于所述目标生成方的第一非公共参数以及其他生成方发送的第一计算结果,生成第一元素;
根据来源于所述目标生成方的第二非公共参数以及所述其他生成方发送的第二计算结果,生成第二元素;
根据所述第一元素中的目标子元素、所述第一非公共参数、所述第二非公共参数以及所述其他生成方发送的第三计算结果,生成第三元素,所述目标子元素为所述第一非公共参数以及来源于所述其他生成方的第三非公共参数之间的乘积结果;
根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数。
第二方面,本发明实施例提供一种零知识证明中公共参数生成方法,应用于其他生成方,包括:
将根据第三非公共参数生成的第一计算结果发送至目标生成方,以由目标生成方根据所述第一计算结果以及来源于所述目标生成方的第一非公共参数,生成第一元素;
将根据第四非公共参数生成的第二计算结果发送至所述目标生成方,以由所述目标生成方根据所述第二计算结果以及来源于所述目标生成方的第二非公共参数,生成第二元素;
将根据所述第四非公共参数生成的第三计算结果发送至所述目标生成方,以由所述目标生成方根据所述第三计算结果、所述第一非公共参数、所述第二非公共参数以及所述第一元素中的目标子元素,生成第三元素,所述目标子元素为所述第一非公共参数以及所述第三非公共参数之间的乘积结果,以由所述目标生成方根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数。
第三方面,本发明实施例提供一种电子设备,包括处理器和存储器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的零知识证明中公共参数生成方法,或者实现如第二方面所述的零知识证明中公共参数生成方法。该电子设备还可以包括通信接口,用于与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的零知识证明中公共参数生成方法,或者实现如第二方面所述的零知识证明中公共参数生成方法。
第五方面,本发明实施例提供一种零知识证明中公共参数的生成系统,所述系统包括目标生成方和其他生成方,所述其他生成方包括至少一个;
所述目标生成方,用于根据来源于所述目标生成方的第一非公共参数以及第一计算结果生成第一元素;根据来源于所述目标生成方的第二非公共参数以及第二计算结果生成第二元素;根据所述第一元素中的目标子元素、所述第一非公共参数、所述第二非公共参数以及第三计算结果,生成第三元素,所述目标子元素为所述第一非公共参数以及来源于所述其他生成方的第三非公共参数之间的乘积结果;根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数;
所述其他生成方,用于根据所述第三非公共参数生成所述第一计算结果;根据第四非公共参数生成所述第二计算结果以及所述第三计算结果。
本发明实施例提供的零知识证明中公共参数生成方法,目标生成方根据来源于目标生成方的第一非公共参数以及其他生成方发送的第一计算结果,生成第一元素。然后,目标生成方根据来源于目标生成方的第二非公共参数以及其他生成方发送的第二计算结果,生成第二元素。接着,目标生成方根据第一元素中的目标子元素、第一非公共参数、第二非公共参数以及其他生成方发送的第三计算结果,生成第三元素。其中,目标子元素为第一非公共参数以及来源于其他生成方的第三非公共参数之间的乘积结果。最终,目标生成方根据第一元素、第二元素以及第三元素,生成用于完成零知识证明的公共参数。
可见,上述过程中,目标生成方可以基于自身以及其他生成方的非公共参数生成用于完成零知识证明的公共参数,即通过多个生成方协作共同生成公共参数。因此,使用上述方法后,当攻击方想要根据非公共参数以及公共参数伪造证明时就需要入侵所有生成方,这样显然会增加攻击方的入侵难度,进而提高证明的伪造难度,提高证明系统安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种零知识证明中公共参数生成方法的流程图;
图2为本发明实施例提供的另一种零知识证明中公共参数生成方法的流程图;
图3为本发明实施例提供的又一种零知识证明中公共参数生成方法的流程图;
图4为本发明实施例提供的又一种零知识证明中公共参数生成方法的流程图;
图5为本发明实施例提供的零知识证明中公共参数生成系统的结构示意图;
图6为本发明实施例提供的一种零知识证明中公共参数生成装置的结构示意图;
图7为本发明实施例提供的另一种零知识证明中公共参数生成装置的结构示意图;
图8为与图6所示实施例提供的零知识证明中公共参数生成装置对应的电子设备的结构示意图;
图9为与图7所示实施例提供的零知识证明中公共参数生成装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于识别”。类似地,取决于语境,短语“如果确定”或“如果识别(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当识别(陈述的条件或事件)时”或“响应于识别(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
下面结合附图对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
为了提高公共参数的获取难度,可以使用多个生成方即使用目标生成方和其他生成方共同生成公共参数。可选地,目标生成方可以是多个生成方中的任一生成方,其他生成方可以包括至少一个。则当目标生成方和其他生成方各为一个时,可以参见下述实施例提供的方式实现公共参数的生成。
可选地,可以先从目标生成方的角度对公共参数的生成方法进行阐述,其具体过程可以参见下述图1所示实施例。
则图1为本发明实施例提供的一种零知识证明中公共参数生成方法的流程图。本发明实施例提供的该零知识证明中公共参数生成方法可以由生成装置来执行。可以理解的是,该生成装置可以实现为软件、或者软件和硬件的组合。则零知识证明中公共参数生成方法可以如图1所示,该方法包括如下步骤:
S101,根据来源于目标生成方的第一非公共参数以及其他生成方发送的第一计算结果,生成第一元素。
目标生成方可以随机选择一个非公共参数即第一非公参数。然后,目标生成方可以根据自身选择的第一非公共参数以及其他生成方发送的第一计算结果,生成第一元素。目标生成方可以是多个生成方中的任一生成方。
其中,第一非公共参数可以表示为。第一计算结果可以表示为/>,,/>为其他生成方选择的第三非公共参数,/>的取值范围是/>,/>可以为预设值。即第一计算结果可以由其他生成方根据其他生成方选择的第三非公共参数/>计算得到。第一元素可以表示为/>,[]1和[]2分别表示不同生成元下生成的椭圆曲线上的点。
S102,根据来源于目标生成方的第二非公共参数以及其他生成方发送的第二计算结果,生成第二元素。
目标生成方可以随机选择一组非公共参数即第二非公共参数。然后,目标生成方可以根据该第二非公共参数以及其他生成方发送的第二计算结果,生成第二元素。
其中,第二非公共参数的取值范围是,/>可以为一个预设的大整数,第二非公共参数可以表示为/>,第二计算结果可以表示为。/>可以为其他生成方选择的第四非公共参数。
第二计算结果可以由其他生成方根据其他生成方选择的第四非公共参数计算得到。第二元素可以表示为/>。
S103,根据第一元素中的目标子元素、第一非公共参数、第二非公共参数以及其他生成方发送的第三计算结果,生成第三元素,目标子元素为第一非公共参数以及来源于其他生成方的第三非公共参数之间的乘积结果。
接着,目标生成方可以根据第一元素中的目标子元素、第一非公共参数、第二非公共参数/>以及其他生成方发送的第三计算结果,生成第三元素。其中,目标子元素为第一非公共参数/>以及来源于其他生成方的第三非公共参数/>之间的乘积结果,其可以表示为/>,/>。
其他生成方发送的第三计算结果可以表示为。第三元素可以表示为/>。
S104,根据第一元素、第二元素以及第三元素,生成用于完成零知识证明的公共参数。
最终,由步骤S101至步骤S103得到的第一元素、第二元素以及第三元素构成完成零知识证明所需的公共参数。即公共参数可以表示为。
本实施例中,目标生成方根据来源于目标生成方的第一非公共参数以及其他生成方发送的第一计算结果,生成第一元素。然后,目标生成方根据来源于目标生成方的第二非公共参数以及其他生成方发送的第二计算结果,生成第二元素。接着,目标生成方根据第一元素中的目标子元素、第一非公共参数、第二非公共参数以及其他生成方发送的第三计算结果,生成第三元素。其中,目标子元素为第一非公共参数以及来源于其他生成方的第三非公共参数之间的乘积结果。最终,目标生成方根据第一元素、第二元素以及第三元素,生成用于完成零知识证明的公共参数。
可见,上述过程中,目标生成方可以基于自身以及其他生成方的非公共参数生成用于完成零知识证明的公共参数,即通过多个生成方协作共同生成公共参数。因此,使用上述方法后,当攻击方想要根据非公共参数以及公共参数伪造证明时就需要入侵所有生成方,这样显然会增加攻击方的入侵难度,进而提高证明的伪造难度,提高证明系统安全。
在实际中,目标生成方最终生成的公共参数还可以用表示,/>。其中,/>,
可见,图1所示实施例中的,实际上就是/>,图1所示实施例中的/>实际上就是/>。
并且证明系统中的证明方可以基于该公共参数进一步生成证明,证明系统中的验证方可以根据该证明进行验证,以完成zksnark证明。
可选地,为了进一步提高证明的伪造难度,以提高证明系统安全,目标生成方还可以在生成用于完成零知识证明的公共参数之后,丢弃目标生成方选择的第一非公共参数以及第二非公共参数,以防止目标生成方的非公共参数被泄露。
需要说明的有,图1所示实施例中虽然只提及当目标生成方和其他生成方各为一个时生成公共参数的过程,但该方案同样适用于其他生成方为多个的情况。举例来说,假设其他生成方为两个,则目标生成方可以根据自身选择的非公共参数以及这两个其他生成方各自选择的非公共参数共同生成公共参数。
图1所示实施例已经描述了目标生成方可以根据其他生成方发送的计算结果生成由第一元素、第二元素以及第三元素构成的公共参数。则具体地,下面可以对这三个元素的生成过程进行详细描述。图2为本发明实施例提供的另一种零知识证明中公共参数生成方法的流程图,如图2所示,该方法可以包括如下步骤:
S201,将其他生成方发送的第一计算结果中的第一数组和第二数组分别与来源于目标生成方的第一非公共参数对应的第三数组进行幂运算,以生成第一元素。
第一元素的计算过程,具体如下:目标生成方可以将其他生成方发送的第一计算结果中的第一数组和第二数组分别与自身选择的第一非公共参数对应的第三数组进行幂运算,以生成第一元素。
参见上述图1所示实施例中的描述,第一计算结果中的第一数组可以表示为,第一计算结果中的第二数组可以表示为/>,/>。则第一数组还可以表示为,第二数组还可以表示为/>。第一非公共参数/>对应的第三数组可以表示为/>。第一元素中的/>可以用公式表示如下:
其中,。/>为椭圆曲线上的点,可以称为第一生成元。
第一元素中的可以用公式表示如下:
其中,。/>为椭圆曲线上与/>不同的点,可以称为第二生成元。
S202,将第一随机数和第二随机数分别与第一生成元进行幂运算,以得到第四计算结果,第一随机数和第二随机数包含于第二非公共参数中。
S203,将第二随机数和第三随机数分别与第二生成元进行幂运算,以得到第五计算结果,第三随机数包含于第二非公共参数中,第一生成元和第二生成元为椭圆曲线上不同的点。
S204,将第四计算结果和第五计算结果分别与其他生成方发送的第二计算结果进行点乘运算,以生成第二元素。
第二元素的计算过程,具体如下:目标生成方可以先将第一随机数和第二随机数分别与第一生成元进行幂运算,以得到第四计算结果。然后,目标生成方可以将第二随机数和第三随机数分别与第二生成元进行幂运算,以得到第五计算结果。其中,第一随机数至第三随机数均包含于第二非公共参数中。
第一随机数可以表示为,第二随机数可以表示为/>,第三随机数可以表示为。第二计算结果可以表示为/>。第四计算结果可以表示为/>,第五计算结果可以表示为/>。
接着,目标生成方可以将第四计算结果和第五计算结果分别与第二计算结果/>进行点乘运算,以生成第二元素/>。
具体地,以的生成过程为例,目标生成方可以对第四计算结果中的/>与第二计算结果中的/>进行点乘运算,即通过公式/>得到/>。同理可得。
S205,根据第一元素中的目标子元素以及权重参数,确定第六计算结果。
S206,根据第六计算结果、第二非公共参数以及其他生成方发送的第七计算结果,确定第八计算结果。
S207,将第六计算结果和第八计算结果发送至其他生成方,以由其他生成方根据第六计算结果、第八计算结果以及来源于其他生成方的第三非公共参数和第四非公共参数,确定第三计算结果。
S208,根据第一非公共参数对应的第四数组、第二非公共参数以及其他生成方发送的第三计算结果,生成第三元素。
第三元素的计算过程,具体如下:目标生成方可以先根据第一元素中的目标子元素以及权重参数,确定第六计算结果。
其中,权重参数可以包括四个已知多项式,具体如下:,,/>以及/>,/>。/>可以为预设值。
第六计算结果可以表示为,/>,/>,/>,其中,/>,/>,/>,/>可以用如下公式分别计算得到:
其中,表示数组/>的第/>项,/>。
然后,目标生成方可以根据第六计算结果中的,/>、第二非公共参数中的/>以及其他生成方发送的第七计算结果,确定第八计算结果。
其中,第七计算结果可以表示为,第八计算结果可以用公式表示如下:
其中,是由目标生成方根据第六计算结果中的/>,/>,以及第二非公共参数中的/>计算得到的,具体公式如下:
接着,目标生成方可以再将第六计算结果中的以及第八计算结果/>发送至其他生成方,以由其他生成方根据第六计算结果/>、第八计算结果/>以及来源于其他生成方的第三非公共参数/>和第四非公共参数,确定第三计算结果。第三计算结果可以表示为/>,第四非公共参数可以表示为/>。
最终,目标生成方可以根据第一非公共参数对应的第四数组/>、第二非公共参数中的/>以及其他生成方发送的第三计算结果/>,生成第三元素/>。
具体地,第三元素可以用公式表示如下:
即目标生成方可以对以及/>的倒数进行幂运算,以得到/>,。/>可以为预设值。对/>以及/>的倒数进行幂运算,以得到/>,。/>也可以为预设值。对/>以及第四数组/>与/>之间的除法结果进行幂运算,以得到/>,/>。
S209,根据第一元素、第二元素以及第三元素,生成用于完成零知识证明的公共参数。
上述步骤S209的具体实现过程可以参见图1所示实施例中相关步骤的具体描述,在此不再赘述。
本实施例中,从目标生成方的角度对第一元素至第三元素的具体生成过程进行了详细阐述。即目标生成方可以基于自身以及其他生成方的非公共参数生成构成公共参数的第一元素至第三元素,也即是通过多个生成方协作共同生成公共参数。因此,使用上述方法后,当攻击方想要根据非公共参数以及公共参数伪造证明时就需要入侵所有生成方,这样显然会增加攻击方的入侵难度,进而提高证明的伪造难度,提高证明系统安全。
上述图1和图2所示实施例是从目标生成方的角度对零知识证明中公共参数的生成方法进行了详细的阐述。对应地,本发明还可以从其他生成方的角度对零知识证明中公共参数生成方法进行阐述。则当目标生成方和其他生成方各为一个时,还可以参见下述实施例提供的方式实现公共参数的生成。
则图3为本发明实施例提供的另一种零知识证明中公共参数生成方法的流程图,如图3所示,该方法可以包括以下步骤:
S301,将根据第三非公共参数生成的第一计算结果发送至目标生成方,以由目标生成方根据第一计算结果以及来源于目标生成方的第一非公共参数,生成第一元素。
其他生成方可以先根据自身选择的第三非公共参数,生成第一计算结果。然后,其他生成方可以将第一计算结果/>发送至目标生成方,以由目标生成方根据第一计算结果/>以及来源于目标生成方的第一非公共参数/>,生成第一元素/>。
S302,将根据第四非公共参数生成的第二计算结果发送至目标生成方,以由目标生成方根据第二计算结果以及来源于目标生成方的第二非公共参数,生成第二元素。
然后,其他生成方可以根据自身选择的第四非公共参数,生成第二计算结果/>。接着,其他生成方再将第二计算结果发送给目标生成方,以由目标生成方根据第二计算结果以及来源于目标生成方的第二非公共参数/>,生成第二元素/>,/>,/>,/>,/>。
S303,将根据第四非公共参数生成的第三计算结果发送至目标生成方,以由目标生成方根据第三计算结果、第一非公共参数、第二非公共参数以及第一元素中的目标子元素,生成第三元素,目标子元素为第一非公共参数以及第三非公共参数之间的乘积结果,以由目标生成方根据第一元素、第二元素以及第三元素,生成用于完成零知识证明的公共参数。
之后,其他生成方可以根据第四非公共参数,生成第三计算结果,并将第三计算结果/>发送至目标生成方,以由目标生成方根据第三计算结果/>、第一非公共参数/>、第二非公共参数/>、以及第一元素中的目标子元素/>,生成第三元素;其中,目标子元素/>为第一非公共参数/>和第三非公共参数/>之间的乘积结果;以及以由目标生成方根据第一元素、第二元素以及第三元素,生成用于完成零知识证明的公共参数/>。
本实施例中,其他生成方将根据第三非公共参数生成的第一计算结果发送至目标生成方,以由目标生成方根据第一计算结果以及第一非公共参数生成第一元素。然后,其他生成方将根据第四非公共参数生成的第二计算结果发送至目标生成方,以由目标生成方根据第二计算结果以及第二非公共参数生成第二元素。接着,其他生成方再将根据第四非公共参数生成的第三计算结果发送至目标生成方,以由目标生成方根据第三计算结果、第一非公共参数、第二非公共参数以及第一元素中的目标子元素,生成第三元素;以及以由目标生成方根据第一元素、第二元素以及第三元素,生成用于完成零知识证明的公共参数。
可见,上述过程中,其他生成方可以根据自身的非公共参数生成计算结果,并将计算结果发送至目标生成方,以由目标生成方基于目标生成方的非公共参数以及其他生成方的计算结果生成用于完成零知识证明的公共参数,即通过多个生成方协作共同生成公共参数。因此,使用上述方法后,当攻击方想要根据非公共参数以及公共参数伪造证明时就需要入侵所有生成方,这显然会增加攻击方的入侵难度,进而提高证明的伪造难度,提高证明系统安全。
可选地,为了进一步提高证明的伪造难度,以提高证明系统安全,其他生成方还可以在生成用于完成零知识证明的公共参数之后,丢弃其他生成方选择的第三非公共参数以及第四非公共参数,以防止其他生成方的非公共参数被泄露。
图3所示实施例已经描述了其他生成方可以将自身计算得到的第一计算结果至第三计算结果发送至目标生成方,以由目标生成方根据该第一计算结果至第三计算结果,生成第一元素至第三元素。则具体地,下面可以对其他生成方得到第一计算结果至第三计算结果的计算过程进行详细描述,则图4为本发明实施例提供的又一种零知识证明中公共参数生成方法的流程图。如图4所示,该方法可以包括如下步骤:
S401,将第三非公共参数对应的第五数组分别与第一生成元和第二生成元进行幂运算,以生成第一计算结果,第一生成元和第二生成元为椭圆曲线上不同的点。
S402,将根据第三非公共参数生成的第一计算结果发送至目标生成方,以由目标生成方根据第一计算结果以及来源于目标生成方的第一非公共参数,生成第一元素。
第一计算结果的计算过程,具体如下:其他生成方可以将自身选择的第三非公共参数对应的第五数组/>分别与第一生成元/>和第二生成元/>进行幂运算,以生成第一计算结果/>。
则第一计算结果中的可以用公式表示如下:
第一计算结果中的可以用公式表示如下:
然后,其他生成方可以将第一计算结果发送至目标生成方,以由目标生成方根据第一计算结果/>以及来源于目标生成方的第一非公共参数/>,生成第一元素/>。对于目标生成方生成第一元素的具体过程可以参见上述图1和图2所示实施例中的描述,在此不再赘述。
S403,将第四随机数和第五随机数分别与第一生成元进行幂运算,以得到第九计算结果,第四随机数和第五随机数包含于第四非公共参数中。
S404,将第五随机数和第六随机数分别与第二生成元进行幂运算,以得到第十计算结果,第六随机数包含于第四非公共参数中,第一生成元和第二生成元为椭圆曲线上不同的点。
S405,第九计算结果和第十计算结果构成第二计算结果。
S406,将根据第四非公共参数生成的第二计算结果发送至目标生成方,以由目标生成方根据第二计算结果以及来源于目标生成方的第二非公共参数,生成第二元素。
第二计算结果的计算过程,具体如下:其他生成方可以将第四随机数和第五随机数分别与第一生成元进行幂运算,以得到第九计算结果。然后,将第五随机数和第六随机数分别与第二生成元/>进行幂运算,以得到第十计算结果。/>
其中,第四随机数至第六随机数均包含于第四非公共参数中,第四随机数可以表示为,第五随机数可以表示为/>,第六随机数可以表示为/>。则第九计算结果可以表示为/>,第十计算结果可以表示为/>,由第九计算结果和第十计算结果/>可以构成第二计算结果。
然后,其他生成方可以将第二计算结果发送至目标生成方,以由目标生成方根据第二计算结果/>,以及来源于目标生成方的第二非公共参数/>,生成第二元素。对于目标生成方生成第二元素的具体过程可以参见上述图1和图2所示实施例中的描述,在此不再赘述。
S407,根据第一元素中的目标子元素以及权重参数,确定第六计算结果。
S408,根据第六计算结果、第四非公共参数以及来源于目标生成方的第二非公共参数,确定第八计算结果。
S409,根据第六计算结果、第八计算结果、第三非公共参数对应的第六数组以及第四非公共参数,生成第三计算结果。
S410,将根据第四非公共参数生成的第三计算结果发送至目标生成方,以由目标生成方根据第三计算结果、第一非公共参数、第二非公共参数以及第一元素中的目标子元素,生成第三元素,目标子元素为第一非公共参数以及第三非公共参数之间的乘积结果,以由目标生成方根据第一元素、第二元素以及第三元素,生成用于完成零知识证明的公共参数。
第三计算结果的计算过程,具体如下:其他生成方可以根据第一元素中的目标子元素以及权重参数,确定第六计算结果。然后,其他生成方可以根据第六计算结果、第四非公共参数以及来源于目标生成方的第二非公共参数,确定第八计算结果。最终,其他生成方可以根据第六计算结果、第八计算结果、第三非公共参数对应的第六数组以及第四非公共参数,生成第三计算结果。
其中,权重参数可以包括,/>,以及/>,/>。第六计算结果可以表示为。
之后,根据第六计算结果以及第四非公共参数中的/>可以先计算出第七计算结果/>,第七计算结果可以用公式表示如下:
根据第六计算结果以及第二非公共参数中的,可以得到以下公式:/>
则第八计算结果可以用公式表示如下:
之后,根据第六计算结果中的、第八计算结果/>、第三非公共参数/>对应的第六数组/>以及第四非公共参数中的/>,生成第三计算结果,第三计算结果可以用公式表示如下:
即其他生成方对以及/>的倒数进行幂运算,以得到/>,/>;对/>以及/>的倒数进行幂运算,以得到/>,/>;对/>以及第六数组/>与/>之间的除法结果进行幂运算,以得到/>,/>。
其他生成方可以再将计算得到的第三计算结果发送至目标生成方,以由目标生成方根据第三计算结果/>、第一非公共参数/>、第二非公共参数中的/>以及第一元素中的目标子元素/>,生成第三元素;以及以由目标生成方根据第一元素、第二元素以及第三元素,生成用于完成零知识证明的公共参数。
本实施例中,从其他生成方的角度对第一计算结果至第三计算结果的计算过程进行了详细阐述。之后,其他生成方将计算出的第一计算结果至第三计算结果发送至目标生成方,以由目标生成方根据第一计算结果至第三计算结果、目标生成方的非公共参数以及其他生成方的非公共参数生成公共参数,也即是通过多个生成方协作共同生成公共参数。因此,使用上述方法后,当攻击方想要根据非公共参数以及公共参数伪造证明时就需要入侵所有生成方,这样显然会增加攻击方的入侵难度,进而提高证明的伪造难度,提高证明系统安全。
上述各实施例中提及的目标生成方与其他生成方可以共同组成一个零知识证明中公共参数生成系统,该系统可以利用目标生成方以及其他生成方各自选择的非公共参数,以最终生成公共参数。则图5为本发明实施例提供的一种零知识证明中公共参数生成系统的结构示意图,如图5所示,该系统包括:目标生成方以及其他生成方。其中,其他生成方可以包括至少一个。
其中,目标生成方可以根据来源于目标生成方的第一非公共参数以及第一计算结果,生成第一元素。然后,目标生成方可以根据来源于目标生成方的第二非公共参数以及第二计算结果,生成第二元素。接着,目标生成方可以根据第一元素中的目标子元素、第一非公共参数、第二非公共参数以及第三计算结果,生成第三元素。其中,目标子元素为第一非公共参数以及来源于其他生成方的第三非公共参数之间的乘积结果。最终,目标生成方可以根据第一元素、第二元素以及第三元素,生成用于完成零知识证明的公共参数。对于第一元素至第三元素的计算过程可以参见上述各实施例中的描述,在此不再赘述。
其中,第一计算结果至第三计算结果可以由其他生成方计算得到。具体地,其他生成方可以根据第三非公共参数生成第一计算结果;以及根据第四非公共参数生成第二计算结果以及第三计算结果。对于第一计算结果至第三计算结果的计算过程可以参见上述各实施例中的描述,在此不再赘述。
本实施例中,零知识证明中公共参数生成系统包括:目标生成方和其他生成方,其他生成方包括至少一个。目标生成方根据来源于目标生成方的第一非公共参数以及其他生成方发送的第一计算结果,生成第一元素。然后,目标生成方根据来源于目标生成方的第二非公共参数以及其他生成方发送的第二计算结果,生成第二元素。接着,目标生成方根据第一元素中的目标子元素、第一非公共参数、第二非公共参数以及其他生成方发送的第三计算结果,生成第三元素。最终,目标生成方根据第一元素、第二元素以及第三元素,生成用于完成零知识证明的公共参数。
可见,上述过程中,目标生成方可以基于自身以及其他生成方的非公共参数生成用于完成零知识证明的公共参数,即通过多个生成方协作共同生成公共参数。因此,当攻击方想要根据非公共参数以及公共参数伪造证明时就需要入侵所有生成方,这样显然会增加攻击方的入侵难度,进而提高证明的伪造难度,提高证明系统安全。
另外,本实施例中未详细描述的内容以及所能实现的技术效果可以参见上述各实施例中的相关描述,在此不再赘述。
图5所示实施例中已经公开零知识证明中公共参数生成系统可以包括目标生成方和其他生成方,可选地,为了进一步提高证明的伪造难度,以提高证明系统安全,在生成公共参数之后,目标生成方还可以丢弃第一非公共参数和第二非公共参数,和/或其他生成方还可以丢弃第三非公共参数和第四非公共参数。
以下将详细描述本发明的一个或多个实施例的零知识证明中公共参数生成装置。本领域技术人员可以理解,这些零知识证明中公共参数生成装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图6本发明实施例提供的一种零知识证明中公共参数生成装置的结构示意图,如图6所示,该装置包括:
第一元素生成模块11,用于根据来源于所述目标生成方的第一非公共参数 以及其他生成方发送的第一计算结果,生成第一元素。
第二元素生成模块12,用于根据来源于所述目标生成方的第二非公共参数 以及所述其他生成方发送的第二计算结果,生成第二元素。
第三元素生成模块13,用于根据所述第一元素中的目标子元素、所述第一非公共参数、所述第二非公共参数以及所述其他生成方发送的第三计算结果,生成第三元素,所述目标子元素为所述第一非公共参数以及来源于所述其他生成方的第三非公共参数之间的乘积结果。
公共参数生成模块14,用于根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数。
可选地,所述第一元素生成模块11,用于将其他生成方发送的第一计算结果中的第一数组和第二数组分别与来源于所述目标生成方的第一非公共参数对应的第三数组进行幂运算,以生成第一元素。
可选地,所述第二非公共参数包括第一随机数、第二随机数和第三随机数。
所述第二元素生成模块12,用于将所述第一随机数和所述第二随机数分别与第一生成元进行幂运算,以得到第四计算结果;将所述第二随机数和所述第三随机数分别与第二生成元进行幂运算,以得到第五计算结果,所述第一生成元和所述第二生成元为椭圆曲线上不同的点;将所述第四计算结果和所述第五计算结果分别与所述其他生成方发送的第二计算结果进行点乘运算,以生成所述第二元素。
可选地,所述第三元素生成模块13,用于根据所述第一元素中的目标子元素,以及权重参数,确定第六计算结果;根据所述第六计算结果、所述第二非公共参数以及所述其他生成方发送的第七计算结果,确定第八计算结果;将所述第六计算结果和所述第八计算结果发送至所述其他生成方,以由其他生成方根据所述第六计算结果、所述第八计算结果以及来源于所述其他生成方的第三非公共参数和第四非公共参数,确定第三计算结果;根据所述第一非公共参数对应的第四数组、所述第二非公共参数以及所述其他生成方发送的第三计算结果,生成所述第三元素。
可选地,所述装置还包括:第一丢弃模块15,用于丢弃所述第一非公共参数以及所述第二非公共参数。
图6所示装置可以执行图1至图2所示实施例的方法,本实施例未详细描述的部分,可参考对图1至图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1至图2所示实施例中的描述,在此不再赘述。
图7本发明实施例提供的另一种零知识证明中公共参数生成装置的结构示意图,如图7所示,该装置包括:
第一发送模块21,用于将根据第三非公共参数生成的第一计算结果发送至目标生成方,以由目标生成方根据所述第一计算结果以及来源于所述目标生成方的第一非公共参数,生成第一元素。
第二发送模块22,用于将根据第四非公共参数生成的第二计算结果发送至所述目标生成方,以由所述目标生成方根据所述第二计算结果以及来源于所述目标生成方的第二非公共参数,生成第二元素。
第三发送模块23,用于将根据所述第四非公共参数生成的第三计算结果 发送至所述目标生成方,以由所述目标生成方根据所述第三计算结果、所述第一非公共参数、所述第二非公共参数以及所述第一元素中的目标子元素,生成第三元素,所述目标子元素为所述第一非公共参数以及所述第三非公共参数之间的乘积结果,以由所述目标生成方根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数。
可选地,所述装置还包括:第一计算结果生成模块24,用于将第三非公共参数对应的第五数组分别与第一生成元和第二生成元进行幂运算,以生成第一计算结果,所述第一生成元和所述第二生成元为椭圆曲线上不同的点。
可选地,所述第四非公共参数包括第四随机数、第五随机数和第六随机数。
所述装置还包括:第二计算结果生成模块25,用于将所述第四随机数和所述第五随机数分别与第一生成元进行幂运算,以得到第九计算结果;将所述第五随机数和所述第六随机数分别与第二生成元进行幂运算,以得到第十计算结果,所述第一生成元和所述第二生成元为椭圆曲线上不同的点;所述第九计算结果和所述第十计算结果构成所述第二计算结果。
可选地,所述装置还包括:第三计算结果生成模块26,用于根据所述第一元素中的目标子元素以及权重参数,确定第六计算结果;根据所述第六计算结果、所述第四非公共参数以及来源于所述目标生成方的第二非公共参数,确定第八计算结果;根据所述第六计算结果、所述第八计算结果、所述第三非公共参数对应的第六数组以及所述第四非公共参数,生成第三计算结果。
可选地,所述装置还包括:第二丢弃模块27,用于丢弃所述第三非公共参数以及所述第四非公共参数。
图7所示装置可以执行图3至图4所示实施例的方法,本实施例未详细描述的部分,可参考对图3至图4所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3至图4所示实施例中的描述,在此不再赘述。
在一个可能的设计中,上述各实施例提供的零知识证明中公共参数生成方法可以应用在一电子设备中,如图8所示,该电子设备可以包括:第一处理器31和第一存储器32。其中,第一存储器32用于存储支持该电子设备执行上述图1~图2所示实施例中提供的零知识证明中公共参数生成方法的程序,第一处理器31被配置为用于执行第一存储器32中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第一处理器31执行时能够实现如下步骤:
根据来源于所述目标生成方的第一非公共参数以及其他生成方发送的第一计算结果,生成第一元素;
根据来源于所述目标生成方的第二非公共参数以及所述其他生成方发送的第二计算结果,生成第二元素;
根据所述第一元素中的目标子元素、所述第一非公共参数、所述第二非公共参数以及所述其他生成方发送的第三计算结果,生成第三元素,所述目标子元素为所述第一非公共参数以及来源于所述其他生成方的第三非公共参数之间的乘积结果;
根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数。
可选地,第一处理器31还用于执行前述图1~图2所示实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括第一通信接口33,用于该电子设备与其他设备或通信系统通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存上述电子设备所用的计算机软件指令,其包含用于执行上述图1~图2所示的零知识证明中公共参数生成方法所涉及的程序。
在一个可能的设计中,上述各实施例提供的零知识证明中公共参数生成方法可以应用在一电子设备中,如图9所示,该电子设备可以包括:第二处理器41和第二存储器42。其中,第二存储器42用于存储支持该电子设备执行上述图3~图4所示实施例中提供的零知识证明中公共参数生成方法的程序,第二处理器41被配置为用于执行第二存储器42中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第二处理器41执行时能够实现如下步骤:
将根据第三非公共参数生成的第一计算结果发送至目标生成方,以由目标生成方根据所述第一计算结果以及来源于所述目标生成方的第一非公共参数,生成第一元素;
将根据第四非公共参数生成的第二计算结果发送至所述目标生成方,以由所述目标生成方根据所述第二计算结果以及来源于所述目标生成方的第二非公共参数,生成第二元素;
将根据所述第四非公共参数生成的第三计算结果发送至所述目标生成方,以由所述目标生成方根据所述第三计算结果、所述第一非公共参数、所述第二非公共参数以及所述第一元素中的目标子元素,生成第三元素,所述目标子元素为所述第一非公共参数以及所述第三非公共参数之间的乘积结果,以由所述目标生成方根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数。
可选地,第二处理器41还用于执行前述图3~图4所示实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括第二通信接口43,用于该电子设备与其他设备或通信系统通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存上述电子设备所用的计算机软件指令,其包含用于执行上述图3~图4所示的零知识证明中公共参数生成方法所涉及的程序。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种零知识证明中公共参数生成方法,其特征在于,应用于目标生成方,包括:
根据来源于所述目标生成方的第一非公共参数以及其他生成方发送的第一计算结果,生成第一元素;
根据来源于所述目标生成方的第二非公共参数以及所述其他生成方发送的第二计算结果,生成第二元素;
根据所述第一元素中的目标子元素、所述第一非公共参数、所述第二非公共参数以及所述其他生成方发送的第三计算结果,生成第三元素,所述目标子元素为所述第一非公共参数以及来源于所述其他生成方的第三非公共参数之间的乘积结果;
根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数。
2.根据权利要求1所述的方法,其特征在于,根据来源于所述目标生成方的第一非公共参数以及其他生成方发送的第一计算结果,生成第一元素,包括:
将其他生成方发送的第一计算结果中的第一数组和第二数组分别与来源于所述目标生成方的第一非公共参数对应的第三数组进行幂运算,以生成第一元素。
3.根据权利要求1所述的方法,其特征在于,所述第二非公共参数包括第一随机数、第二随机数和第三随机数;
所述根据来源于所述目标生成方的第二非公共参数以及所述其他生成方发送的第二计算结果,生成第二元素,包括:
将所述第一随机数和所述第二随机数分别与第一生成元进行幂运算,以得到第四计算结果;
将所述第二随机数和所述第三随机数分别与第二生成元进行幂运算,以得到第五计算结果,所述第一生成元和所述第二生成元为椭圆曲线上不同的点;
将所述第四计算结果和所述第五计算结果分别与所述其他生成方发送的第二计算结果进行点乘运算,以生成所述第二元素。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一元素中的目标子元素、所述第一非公共参数、所述第二非公共参数以及所述其他生成方发送的第三计算结果,生成所述公共参数的第三元素,包括:
根据所述第一元素中的目标子元素以及权重参数,确定第六计算结果;
根据所述第六计算结果、所述第二非公共参数以及所述其他生成方发送的第七计算结果,确定第八计算结果;
将所述第六计算结果和所述第八计算结果发送至所述其他生成方,以由其他生成方根据所述第六计算结果、所述第八计算结果以及来源于所述其他生成方的第三非公共参数和第四非公共参数,确定第三计算结果;
根据所述第一非公共参数对应的第四数组、所述第二非公共参数以及所述其他生成方发送的第三计算结果,生成所述第三元素。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数之后,所述方法还包括:
丢弃所述第一非公共参数以及所述第二非公共参数。
6.一种零知识证明中公共参数生成方法,其特征在于,应用于其他生成方,包括:
将根据第三非公共参数生成的第一计算结果发送至目标生成方,以由目标生成方根据所述第一计算结果以及来源于所述目标生成方的第一非公共参数,生成第一元素;
将根据第四非公共参数生成的第二计算结果发送至所述目标生成方,以由所述目标生成方根据所述第二计算结果以及来源于所述目标生成方的第二非公共参数,生成第二元素;
将根据所述第四非公共参数生成的第三计算结果发送至所述目标生成方,以由所述目标生成方根据所述第三计算结果、所述第一非公共参数、所述第二非公共参数以及所述第一元素中的目标子元素,生成第三元素,所述目标子元素为所述第一非公共参数以及所述第三非公共参数之间的乘积结果,以由所述目标生成方根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数。
7.根据权利要求6所述的方法,其特征在于,所述将根据第三非公共参数 生成的第一计算结果发送至目标生成方之前,所述方法还包括:
将第三非公共参数对应的第五数组分别与第一生成元和第二生成元进行幂运算,以生成第一计算结果,所述第一生成元和所述第二生成元为椭圆曲线上不同的点。
8.根据权利要求6所述的方法,其特征在于,所述第四非公共参数包括第四随机数、第五随机数和第六随机数;
所述将根据第四非公共参数生成的第二计算结果发送至所述目标生成方之前,所述方法还包括:
将所述第四随机数和所述第五随机数分别与第一生成元进行幂运算,以得到第九计算结果;
将所述第五随机数和所述第六随机数分别与第二生成元进行幂运算,以得到第十计算结果,所述第一生成元和所述第二生成元为椭圆曲线上不同的点;
所述第九计算结果和所述第十计算结果构成所述第二计算结果。
9.根据权利要求6所述的方法,其特征在于,所述将根据所述第四非公共参数生成的第三计算结果发送至所述目标生成方之前,所述方法还包括:
根据所述第一元素中的目标子元素以及权重参数,确定第六计算结果;
根据所述第六计算结果、所述第四非公共参数以及来源于所述目标生成方的第二非公共参数,确定第八计算结果;
根据所述第六计算结果、所述第八计算结果、所述第三非公共参数对应的第六数组以及所述第四非公共参数,生成第三计算结果。
10.根据权利要求6所述的方法,其特征在于,所述根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数之后,所述方法还包括:
丢弃所述第三非公共参数以及所述第四非公共参数。
11.一种零知识证明中公共参数生成系统,其特征在于,所述系统包括:目标生成方和其他生成方,所述其他生成方包括至少一个;
所述目标生成方,用于根据来源于所述目标生成方的第一非公共参数以及第一计算结果生成第一元素;根据来源于所述目标生成方的第二非公共参数以及第二计算结果生成第二元素;根据所述第一元素中的目标子元素、所述第一非公共参数、所述第二非公共参数以及第三计算结果,生成第三元素,所述目标子元素为所述第一非公共参数以及来源于所述其他生成方的第三非公共参数之间的乘积结果;根据所述第一元素、所述第二元素以及所述第三元素,生成用于完成零知识证明的公共参数;
所述其他生成方,用于根据所述第三非公共参数生成所述第一计算结果;根据第四非公共参数生成所述第二计算结果以及所述第三计算结果。
12.根据权利要求11所述的系统,其特征在于,在生成所述公共参数之后,所述目标生成方还用于丢弃所述第一非公共参数和所述第二非公共参数,和/或所述其他生成方还用于丢弃所述第三非公共参数和所述第四非公共参数。
13.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至5中任一项所述的零知识证明中公共参数生成方法,或者使处理器执行如权利要求6至10中任一项所述的零知识证明中公共参数生成方法。
14.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至5中任一项所述的零知识证明中公共参数生成方法,或者使处理器执行如权利要求6至10中任一项所述的零知识证明中公共参数生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311548975.3A CN117272293B (zh) | 2023-11-20 | 2023-11-20 | 零知识证明中公共参数生成方法、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311548975.3A CN117272293B (zh) | 2023-11-20 | 2023-11-20 | 零知识证明中公共参数生成方法、系统、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117272293A true CN117272293A (zh) | 2023-12-22 |
CN117272293B CN117272293B (zh) | 2024-02-13 |
Family
ID=89206668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311548975.3A Active CN117272293B (zh) | 2023-11-20 | 2023-11-20 | 零知识证明中公共参数生成方法、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117272293B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833107A (zh) * | 2018-05-19 | 2018-11-16 | 深圳市图灵奇点智能科技有限公司 | 零知识证明的公共参数生成方法及系统 |
CN111698092A (zh) * | 2020-05-29 | 2020-09-22 | 湖南天河国云科技有限公司 | 基于零知识证明和区块链的文件存储证明方法、系统及介质 |
CN113569294A (zh) * | 2021-09-22 | 2021-10-29 | 浙江大学 | 一种零知识证明方法及装置、电子设备、存储介质 |
KR20230003954A (ko) * | 2021-06-30 | 2023-01-06 | 서울대학교산학협력단 | 영지식 증명을 위한 암호문 처리 방법 및 장치 |
US20230128879A1 (en) * | 2020-07-27 | 2023-04-27 | Fujitsu Limited | Knowledge proof method, storage medium, and information processing device |
CN116614231A (zh) * | 2023-07-19 | 2023-08-18 | 北京信安世纪科技股份有限公司 | 数据持有性的证明方法、系统、设备和存储介质 |
CN116707956A (zh) * | 2023-06-29 | 2023-09-05 | 浙江树人学院 | 一种基于零知识证明的物联网设备认证方法和装置 |
-
2023
- 2023-11-20 CN CN202311548975.3A patent/CN117272293B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833107A (zh) * | 2018-05-19 | 2018-11-16 | 深圳市图灵奇点智能科技有限公司 | 零知识证明的公共参数生成方法及系统 |
CN111698092A (zh) * | 2020-05-29 | 2020-09-22 | 湖南天河国云科技有限公司 | 基于零知识证明和区块链的文件存储证明方法、系统及介质 |
US20230128879A1 (en) * | 2020-07-27 | 2023-04-27 | Fujitsu Limited | Knowledge proof method, storage medium, and information processing device |
KR20230003954A (ko) * | 2021-06-30 | 2023-01-06 | 서울대학교산학협력단 | 영지식 증명을 위한 암호문 처리 방법 및 장치 |
CN113569294A (zh) * | 2021-09-22 | 2021-10-29 | 浙江大学 | 一种零知识证明方法及装置、电子设备、存储介质 |
US11550952B1 (en) * | 2021-09-22 | 2023-01-10 | Zhejiang University | Zero-knowledge proof method and electronic device |
CN116707956A (zh) * | 2023-06-29 | 2023-09-05 | 浙江树人学院 | 一种基于零知识证明的物联网设备认证方法和装置 |
CN116614231A (zh) * | 2023-07-19 | 2023-08-18 | 北京信安世纪科技股份有限公司 | 数据持有性的证明方法、系统、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
余家福;仲红;汪益民;: "基于组合阶双线性群的组签名方案的分析与改进", 计算机科学, no. 02 * |
Also Published As
Publication number | Publication date |
---|---|
CN117272293B (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113569294B (zh) | 一种零知识证明方法及装置、电子设备、存储介质 | |
US9495668B1 (en) | Computing solutions to a problem involving inversion of a one-way function | |
EP3035587B1 (en) | Hypersphere-based multivariable public key signature/verification system and method | |
US20130326602A1 (en) | Digital Signatures | |
EP3096488B1 (en) | Hypersphere-based multivariable public key encryption/decryption system and method | |
CN110999209A (zh) | 安全计算 | |
Seo et al. | Pclsc-tkem: a pairing-free certificateless signcryption-tag key encapsulation mechanism for a privacy-preserving IoT. | |
US9948463B2 (en) | Multivariate public key signature/verification system and signature/verification method | |
US20230052608A1 (en) | Remote attestation | |
CN116346328A (zh) | 一种数字签名方法、系统、设备及计算机可读存储介质 | |
CN116614231B (zh) | 数据持有性的证明方法、系统、设备和存储介质 | |
CN115694822A (zh) | 基于零知识证明的验证方法、装置和系统、设备及介质 | |
CN117272293B (zh) | 零知识证明中公共参数生成方法、系统、设备和存储介质 | |
US9577828B2 (en) | Batch verification method and apparatus thereof | |
Zhao et al. | Privacy-preserving outsourcing schemes of modular exponentiations using single untrusted cloud server | |
US20220321354A1 (en) | Using a zero-knowledge proof to prove knowledge that a website visitor is a legitimate human user | |
US12003636B2 (en) | Device and method for certifying reliability of public key, and program therefor | |
JP2010186003A (ja) | 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム | |
KR102439195B1 (ko) | 다중 서명 생성 방법 및 시스템과 이를 수행하기 위한 컴퓨팅 장치 | |
CN117035776B (zh) | 一种数据共享方法、装置、电子设备和存储介质 | |
CN110417703B (zh) | 一种代理重签名的方法、服务器及终端设备 | |
EP3817277A1 (en) | Device and method for certifying reliability of public key, and program therefor | |
CN118300794A (zh) | 一种基于bls签名的泛指定验证者签名证明方法 | |
CN114065234A (zh) | 一种参数池更新的方法及系统 | |
CN115659398A (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 |