CN112632636A - 一种密文数据比较结果的证明与验证方法及装置 - Google Patents
一种密文数据比较结果的证明与验证方法及装置 Download PDFInfo
- Publication number
- CN112632636A CN112632636A CN202011538309.8A CN202011538309A CN112632636A CN 112632636 A CN112632636 A CN 112632636A CN 202011538309 A CN202011538309 A CN 202011538309A CN 112632636 A CN112632636 A CN 112632636A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- substitute
- plaintext
- sub
- proof
- 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 53
- 238000012795 verification Methods 0.000 claims description 84
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种密文数据比较结果的证明与验证方法及装置,其中证明方法为:数据提供方生成基于第一明文的第一密文和基于第二明文的第二密文,确定所述第一明文和所述第二明文的差值,并生成所述差值的运算结果密文;所述数据提供方生成零知识证明;所述数据提供方生成运算结果证明。上述方法应用于金融科技(Fintech)时,证明实际做比较的明文确实是要比较的明文,得到的差值以及实际的最终差值,从而防止数据提供方作恶。
Description
技术领域
本发明涉及金融科技(Fintech)领域中的区块链(blockchain)领域,尤其涉及一种密文数据比较结果的证明与验证方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融(区块链blockchain、分布式、大数据等)业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。金融科技(Fintech)领域中,常需要对密文数据进行大小比较。举例来说,在不暴露两个用户账户余额的情况下,比较谁的余额更多。
目前密文数据比较大小方式中,如比较a和b,数据提供方首先对明文数据相减,计算a–b=c或a-b-1=c,然后生成c大于等于0的运算结果证明,并由数据验证方验证,验证通过便说明c确实大于等于0。然而这样便给了数据提供方作恶的空间,如a为2,b为3时,a-b对应的运算结果证明应该不通过数据验证方的验证。但如果数据提供方将a为5时相应的运算结果证明发送给数据验证方,便可以通过数据验证方的验证。因此,目前密文数据比较时不能防止数据提供方作恶,这是一个亟待解决的问题。
发明内容
本发明提供一种密文数据比较结果的证明与验证方法及装置,解决了现有技术中目前密文数据比较时不能防止数据提供方作恶的问题。
第一方面,本发明提供一种密文数据比较结果的证明方法,包括:
数据提供方生成基于第一明文的第一密文和基于第二明文的第二密文;
所述数据提供方确定所述第一明文和所述第二明文的差值,并生成所述差值的运算结果密文;
所述数据提供方生成零知识证明;所述零知识证明用于证明:所述第一密文是通过所述第一明文得到,所述第二密文是通过所述第二明文得到;所述运算结果密文是通过所述差值得到的;
所述数据提供方生成运算结果证明;所述运算结果证明用于证明:所述差值大于或等于零。
上述方式下,数据提供方生成第一密文、第二密文、差值和运算结果密文后,并不是直接通过运算结果证明作为密文数据比较结果的证明,还生成了零知识证明,所述零知识证明用于证明:第一密文对应的明文为所述第一明文,第二密文对应的明文为所述第二明文;所述运算结果密文的明文为所述差值,从而证明实际做比较的明文确实是要比较的明文,得到的差值以及实际的最终差值,从而防止数据提供方作恶。
可选的,所述第一密文、所述第二密文和所述运算结果密文分别根据所述第一明文、所述第二明文和各自的加密随机数,通过预设加密算法生成的;
所述数据提供方生成零知识证明,包括:
所述数据提供方分别通过所述预设加密算法,基于各自的替代随机数,生成所述第一密文的第一替代密文、所述第二密文的第二替代密文和所述运算结果密文的第三替代密文;
所述数据提供方基于所述第一替代密文、所述第二替代密文和所述第三替代密文生成联合加密证明值;
所述数据提供方根据所述各自的替代随机数和所述联合加密证明值,生成多个加密证明值;
所述数据提供方将所述多个加密证明值和所述联合加密证明值作为所述零知识证明。
上述方法中,直接通过各自的加密随机数便可生成相应密文,且能使得各密文的随机性更强,且通过各密文的替代随机数,生成各密文的替代密文,建立与各密文的绑定关系,进一步地,通过各密文一同生成联合加密证明值,从而使得零知识证明的构造过程不仅可以和密文直接绑定,且更加简洁。
可选的,所述第二明文包括第一预设数和第二预设数;所述第二密文包括第一子密文和第二子密文;所述第二密文的替代随机数包括所述第一子密文的替代随机数和所述第二子密文的替代随机数;
所述数据提供方按照以下方式通过所述预设加密算法,基于所述第二密文的替代随机数,生成所述第二密文的第二替代密文:
所述数据提供方通过所述预设加密算法,基于第一公开参数、第二公开参数和所述第一子密文的替代随机数,生成所述第一子密文的第一子替代密文;
所述数据提供方通过所述预设加密算法,基于所述第一公开参数、所述第二公开参数和所述第二子密文的替代随机数,生成所述第二子密文的第二子替代密文;
所述数据提供方将所述第一子替代密文和所述第二子替代密文作为所述第二替代密文。
可选的,所述第二明文为第一预设数;所述第二密文为第一子密文;所述第二密文的替代随机数为所述第一子密文的替代随机数;
所述数据提供方按照以下方式通过所述预设加密算法,基于所述第二密文的替代随机数,生成所述第二密文的第二替代密文:
所述数据提供方通过所述预设加密算法,基于第一公开参数、第二公开参数和所述第一子密文的替代随机数,生成所述第一子密文的第一子替代密文;
所述数据提供方将所述第一子替代密文作为所述第二替代密文。
可选的,所述数据提供方将所述第一密文、所述第二密文、所述运算结果密文、所述零知识证明和所述运算结果证明发送至区块链。
上述方式下,所述数据提供方将具体验证内容公开在区块链上后,可以保证这些内容均不会被篡改,且可以灵活验证,数据验证方不需要重复发验证数据,同时保护了数据提供方的隐私身份。
第二方面,本发明提供一种密文数据比较结果的验证方法,包括:
数据验证方获取第一密文、第二密文、运算结果密文、零知识证明和运算结果证明;
所述数据验证方基于所述第一密文、所述第二密文、所述运算结果密文和所述零知识证明,验证所述零知识证明;所述零知识证明的验证信息包括:所述第一密文是否是根据第一明文生成的,所述第二密文是否是根据第二明文生成的,以及验证所述运算结果密文是否是根据所述第一明文和所述第二明文的差值生成的;
所述数据验证方基于所述运算结果密文和所述运算结果证明,验证所述差值是否大于或等于零。
可选的,所述零知识证明包括多个加密证明值和联合加密证明值;所述数据验证方按照以下方式验证所述零知识证明:
所述数据验证方根据各密文、所述各密文的加密证明值、第一公开参数、第二公开参数,获得所述各密文的重构验证值;所述各密文包括所述第一密文、所述第二密文和所述运算结果密文;
所述数据验证方根据所述各密文的重构验证值,按照预设加密算法,获得联合加密重构值;
所述数据验证方若确定所述联合加密证明值与所述联合加密重构值相同,则确定所述零知识证明通过验证。
可选的,所述第二密文包括第一子密文和第二子密文;所述第二密文的加密证明值包括所述第一子密文的加密证明值和所述第二子密文的加密证明值;所述联合加密证明值为第一联合加密证明值;所述数据验证方按照以下方式获得所述第二密文的重构验证值:
所述数据验证方根据所述第一子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第一子密文的重构验证值;
所述数据验证方根据所述第二子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第二子密文的重构验证值;
所述数据验证方将所述第一子密文的重构验证值和所述第二子密文的重构验证值作为所述第二密文的重构验证值。
可选的,所述第二密文为第一子密文;所述第二密文的加密证明值为所述第一子密文的加密证明值;所述联合加密证明值为第二联合加密证明值;所述数据验证方按照以下方式获得所述第二密文的重构验证值:
所述数据验证方根据所述第一子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第一子密文的重构验证值;
所述数据验证方将所述第一子密文的重构验证值作为所述第二密文的重构验证值。
第三方面,本发明提供一种密文数据比较结果的证明装置,包括:
生成模块,用于生成基于第一明文的第一密文和基于第二明文的第二密文;确定所述第一明文和所述第二明文的差值,并生成所述差值的运算结果密文;
生成零知识证明;所述零知识证明用于证明:所述第一密文是通过所述第一明文得到,所述第二密文是通过所述第二明文得到;所述运算结果密文是通过所述差值得到的;
生成运算结果证明;所述运算结果证明用于证明:所述差值大于或等于零。
可选的,所述第一密文、所述第二密文和所述运算结果密文分别根据所述第一明文、所述第二明文和各自的加密随机数,通过预设加密算法生成的;所述生成模块具体用于:
分别通过所述预设加密算法,基于各自的替代随机数,生成所述第一密文的第一替代密文、所述第二密文的第二替代密文和所述运算结果密文的第三替代密文;
基于所述第一替代密文、所述第二替代密文和所述第三替代密文生成联合加密证明值;
根据所述各自的替代随机数和所述联合加密证明值,生成多个加密证明值;
将所述多个加密证明值和所述联合加密证明值作为所述零知识证明。
可选的,所述第二明文包括第一预设数和第二预设数;所述第二密文包括第一子密文和第二子密文;所述第二密文的替代随机数包括所述第一子密文的替代随机数和所述第二子密文的替代随机数;所述生成模块具体用于:
通过所述预设加密算法,基于第一公开参数、第二公开参数和所述第一子密文的替代随机数,生成所述第一子密文的第一子替代密文;
通过所述预设加密算法,基于所述第一公开参数、所述第二公开参数和所述第二子密文的替代随机数,生成所述第二子密文的第二子替代密文;
将所述第一子替代密文和所述第二子替代密文作为所述第二替代密文。
可选的,所述第二明文为第一预设数;所述第二密文为第一子密文;所述第二密文的替代随机数为所述第一子密文的替代随机数;所述生成模块具体用于:
按照以下方式通过所述预设加密算法,基于所述第二密文的替代随机数,生成所述第二密文的第二替代密文;
通过所述预设加密算法,基于第一公开参数、第二公开参数和所述第一子密文的替代随机数,生成所述第一子密文的第一子替代密文;
将所述第一子替代密文作为所述第二替代密文。
可选的,所述装置还包括发送模块,所述发送模块具体用于:
将所述第一密文、所述第二密文、所述运算结果密文、所述零知识证明和所述运算结果证明发送至区块链。
上述第三方面及第三方面各个可选装置的有益效果,可以参考上述第一方面及第一方面各个可选方法的有益效果,这里不再赘述。
第四方面,本发明提供一种密文数据比较结果的验证装置,包括:
获取模块,用于获取第一密文、第二密文、运算结果密文、零知识证明和运算结果证明;
验证模块,用于基于所述第一密文、所述第二密文、所述运算结果密文和所述零知识证明,验证所述零知识证明;所述零知识证明的验证信息包括:所述第一密文是否是根据第一明文生成的,所述第二密文是否是根据第二明文生成的,以及验证所述运算结果密文是否是根据所述第一明文和所述第二明文的差值生成的;以及用于基于所述运算结果密文和所述运算结果证明,验证所述差值是否大于或等于零。
可选的,所述零知识证明包括多个加密证明值和联合加密证明值;所述验证模块具体用于:
根据各密文、所述各密文的加密证明值、第一公开参数、第二公开参数,获得所述各密文的重构验证值;所述各密文包括所述第一密文、所述第二密文和所述运算结果密文;
根据所述各密文的重构验证值,按照预设加密算法,获得联合加密重构值;
若确定所述联合加密证明值与所述联合加密重构值相同,则确定所述零知识证明通过验证。
可选的,所述第二密文包括第一子密文和第二子密文;所述第二密文的加密证明值包括所述第一子密文的加密证明值和所述第二子密文的加密证明值;所述联合加密证明值为第一联合加密证明值;所述验证模块具体用于:
根据所述第一子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第一子密文的重构验证值;
根据所述第二子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第二子密文的重构验证值;
将所述第一子密文的重构验证值和所述第二子密文的重构验证值作为所述第二密文的重构验证值。
可选的,所述第二密文为第一子密文;所述第二密文的加密证明值为所述第一子密文的加密证明值;所述联合加密证明值为第二联合加密证明值;所述验证模块具体用于:
根据所述第一子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第一子密文的重构验证值;
将所述第一子密文的重构验证值作为所述第二密文的重构验证值。
第五方面,本发明提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面或第二方面各个可选的方法。
第六方面,本发明提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面或第二方面各个可选的方法。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种密文数据比较结果的证明方法对应的流程示意图;
图2为本发明实施例提供的一种密文数据比较结果的验证方法对应的流程示意图;
图3为本发明实施例提供的一种密文数据比较结果的证明装置的结构示意图;
图4为本发明实施例提供的一种密文数据比较结果的验证装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面首先列出本申请出现的缩略语和名词。
常用符号定义:
G1,G2等大写字母:表示椭圆曲线上的点。
小写字母:表示标量。
a*G:表示标量a与椭圆曲线上任一点G的点乘运算,运算结果仍为椭圆曲线上的一个点。
Hash(m):表示消息m的哈希值。
knowledge_proof:表示离散对数零知识证明。
(input)→(output):表示函数或算法输入为input,输出为output。
=?:表示判断是否相等。
离散对数:离散对数是指一种基于同余运算和原根的一种对数运算。在椭圆曲线上,可为所有点P定义点乘Q=a*P,离散对数a是指使得Q=a*P成立的标量a,其中P为底。本申请中的离散对数均指椭圆曲线上的离散对数运算。
密文数据大小关系:密文数据大小关系是指,数据提供方具有明文数据a、b,和其对应的密文数据A、B,只有密文是公开的。其他用户在无法解密A、B的前提下,验证明文数据a与b之间确实为不等关系,如a>b,a>=b,a<b,a<=b。
在金融机构(银行机构、保险机构或证券机构)在进行业务(如银行的贷款业务、存款业务等)运转过程中,常需要对密文数据进行大小比较。现有技术中,目前密文数据比较时不能防止数据提供方作恶。这种情况不符合银行等金融机构的需求,无法保证金融机构各项业务的高效运转。为此,如图1所示,本申请提供一种密文数据比较结果的证明方法。
步骤101:数据提供方生成基于第一明文的第一密文和基于第二明文的第二密文。
步骤102:所述数据提供方确定所述第一明文和所述第二明文的差值,并生成所述差值的运算结果密文。
步骤103:所述数据提供方生成零知识证明。
所述零知识证明用于证明:所述第一密文是通过所述第一明文得到,所述第二密文是通过所述第二明文得到;所述运算结果密文是通过所述差值得到的。
步骤104:所述数据提供方生成运算结果证明。
步骤101~步骤104的方法中,举例来说,需要进行不等关系判断的明文数据为第一明文a,第二明文b,差值c=a-b。
第一明文a,第二明文b加密后,a的密文为A=a*G1+r1*G2,b的密文为B=b*G1+r2*G2,C=c*G1+r3*G2。其中第一公开参数G1,第二公开参数G2为加密算法的公钥,对验证者也是公开的;r1,r2为加密算法的私钥。
数据提供方拥有明文数据第一明文a,第二明文b,密文数据第一密文A、第二密文B,数据提供方生成差值c的运算结果密文C。
数据验证方生成零知识证明,通过密文A、B、G1、G2和C,来判断a-b=c是否正确。
进一步地,第二明文可以为b+1,包括第一子明文b和第二子明文1。b的密文为B=b*G1+r2*G2,1的密文D=1*G1+r4*G2。数据提供方拥有明文数据第一明文a,第二明文b+1,密文数据第一密文A、第二密文B,数据提供方生成差值c的运算结果密文C。
数据验证方生成零知识证明,通过密文A、B、D、G1、G2和C,来判断a-b-1=c是否正确。
所述运算结果证明用于证明:所述差值大于或等于0,即c是否大于等于0。
一种可选实施方式中,所述第一密文、所述第二密文和所述运算结果密文分别根据所述第一明文、所述第二明文和各自的加密随机数,通过预设加密算法生成的;步骤103具体可以为:
步骤(103-1):所述数据提供方分别通过所述预设加密算法,基于各自的替代随机数,生成所述第一密文的第一替代密文、所述第二密文的第二替代密文和所述运算结果密文的第三替代密文。
步骤(103-2):所述数据提供方基于所述第一替代密文、所述第二替代密文和所述第三替代密文生成联合加密证明值。
步骤(103-3):所述数据提供方根据所述各自的替代随机数和所述联合加密证明值,生成多个加密证明值。
步骤(103-4):所述数据提供方将所述多个加密证明值和所述联合加密证明值作为所述零知识证明。
对于密文数据第一密文A、第二密文B的不等关系,其对应的明文数据a、b的关系包括:a>b,a>=b,a<b,a<=b,相应的比较数据生成过程不同,但对于数据验证方来说验证过程都相同。
由于a、b为任意的两个明文数据,因此,给出了a>b的比较数据生成方法即相当于给出了b>a的比较数据生成方法。所以在此,比较数据生成过程只需要分a>b和a>=b两种情况。
步骤(103-1)的一种可选实施方式中,所述第二明文包括第一预设数和第二预设数;所述第二密文包括第一子密文和第二子密文;所述第二密文的替代随机数包括所述第一子密文的替代随机数和所述第二子密文的替代随机数;所述数据提供方按照以下方式通过所述预设加密算法,基于所述第二密文的替代随机数,生成所述第二密文的第二替代密文:
所述数据提供方通过所述预设加密算法,基于第一公开参数、第二公开参数和所述第一子密文的替代随机数,生成所述第一子密文的第一子替代密文。
所述数据提供方通过所述预设加密算法,基于所述第一公开参数、所述第二公开参数和所述第二子密文的替代随机数,生成所述第二子密文的第二子替代密文。
所述数据提供方将所述第一子替代密文和所述第二子替代密文作为所述第二替代密文。
举例来说,第一预设数为b,即为第二明文b,第二预设数为1。显然,a>=b+1可以推导出a>b,第二预设数还可以设置为任意正整数,a>=b+2也可以推导出a>b。
举例来说,针对a-b-1=c的情形,各自的替代随机数包括第一密文的替代随机数s1v,s1r,第一子密文b的替代随机数s2v,s2r,第二子密文1的替代随机数s4v,s4r,第三密文的替代随机数s3r;那么第一替代密文、第二替代密文和第三替代密文如下:
t1=(s2v+s3v)*G1+s1r*G2;
t2=s2v*G1+s2r*G2;
t3=s3v*G1+s1r*G2;
t4=s4v*G1+s4r*G2;
所述数据提供方基于所述第一替代密文、所述第二替代密文和所述第三替代密文生成联合加密证明值的过程如下:
h=H(t1,t2,t3,t4);h为联合加密证明值;H为预设的联合加密生成算法,如哈希算法。
通过步骤(103-3),生成多个加密证明值的过程如下:
z2v=s2v-h*b;
z2r=s2r-h*r2;
z3v=s3v-h*c;
z3r=s3r-h*r3;
z4v=s4v-h*c;
z4r=s4r-h*r4;
z1r=s1r-h*r1。
h,z2v,z2r,z3v,z3r,z4v,z4r,z1r便是最终的零知识证明。
步骤(103-1)的另一种可选实施方式中,所述第二明文为第一预设数;所述第二密文为第一子密文;所述第二密文的替代随机数为所述第一子密文的替代随机数。
所述数据提供方按照以下方式通过所述预设加密算法,基于所述第二密文的替代随机数,生成所述第二密文的第二替代密文。
所述数据提供方通过所述预设加密算法,基于第一公开参数、第二公开参数和所述第一子密文的替代随机数,生成所述第一子密文的第一子替代密文。
所述数据提供方将所述第一子替代密文作为所述第二替代密文。
举例来说,针对a-b=c的情形,各自的替代随机数包括第一密文的替代随机数s1v,s1r,第二密文的替代随机数s2v,s2r,第三密文的替代随机数s3r;那么第一替代密文、第二替代密文和第三替代密文如下:
t1=(s2v+s3v)*G1+s1r*G2;
t2=s2v*G1+s2r*G2;
t3=s3v*G1+s1r*G2;
所述数据提供方基于所述第一替代密文、所述第二替代密文和所述第三替代密文生成联合加密证明值的过程如下:
h=H(t1,t2,t3);h为联合加密证明值;H为预设的联合加密生成算法,如哈希算法。
通过步骤(103-3),生成多个加密证明值的过程如下:
z2v=s2v-h*b;
z2r=s2r-h*r2;
z3v=s3v-h*c;
z3r=s3r-h*r3;
z1r=s1r-h*r1。
h,z2v,z2r,z3v,z3r,z1r便是最终的零知识证明。
一种可选实施方式中,还可以执行如下步骤:
所述数据提供方将所述第一密文、所述第二密文、所述运算结果密文、所述零知识证明和所述运算结果证明发送至区块链。
步骤101~步骤104提出的方案,既能够证明大于等于、小于等于,也可以直接证明大于或小于关系。并且,步骤101~步骤104的方法,可以使得数据提供方在进行不等关系证明的时候,不会泄露数据提供方的身份,同时还能保证证明数据(零知识证明和范围证明)较小。由于证明数据是需要传输或存储的,所以本申请能够实现隐私、精简的不等关系证明。通过使用区块链存储证明数据,不仅能够保证证明数据不被篡改,还能够使所有验证者都可以获取证明数据并进行验证,实现正确且公开的验证。
综合步骤101~步骤104的方法及可选方法,整体证明过程具体可以如下:
步骤(1-1):数据提供方将密文A、B公布在区块链上。
步骤(1-2):若要证明a>=b,数据提供方生成a-b的密文C。
数据提供方将明文数据相减得到c,即c=a-b。
数据提供方生成随机数r,对明文数据的差值c进行掩盖。
数据提供方使用相同加密算法计算差值c的密文:C=c*G1+r3*G2。
步骤(1-3):若要证明a>b,数据提供方生成a-b-1的密文。
数据提供方将明文数据相减,再减1得到c,即c=a-b-1。
数据提供方生成随机数r,对明文数据的差值c进行掩盖。
数据提供方使用相同加密算法计算差值c的密文:C=c*G1+r3*G2。
步骤(1-4):数据提供方证明步骤(1-2)中使用的a、b确实为自己的数据,且没有被替换为a’、b’。
步骤(1-5):数据提供方具体通过步骤103中的方法,生成零知识证明。在此不再赘述。
算法输入:密文A、B和步骤2中计算得到的密文C;
得到输出:零知识证明,具体内容为:密文A、B对应的明文数据分别为a、b,且密文A、B、C分别对应的明文数据满足a–b=c(对应步骤1-2,要证明a>=b)或a–b-1=c(对应步骤1-3,要证明a>b)。
步骤(1-6):数据提供方对密文C文生成运算结果证明。
具体可以通过预设的范围证明算法得到。
算法输入:步骤2中的密文C和加密公钥G1、G2;
得到输出:运算结果证明,运算结果证明的含义为:密文C对应的明文数据满足c>=0。
数据提供方将密文C,零知识证明和运算结果证明,公布在区块链上。
相应地,本申请实施例还提供一种密文数据比较结果的验证方法,具体如图2所示。
步骤201:数据验证方获取第一密文、第二密文、运算结果密文、零知识证明和运算结果证明。
步骤202:所述数据验证方基于所述第一密文、所述第二密文、所述运算结果密文和所述零知识证明,验证所述零知识证明;所述零知识证明的验证信息包括:所述第一密文是否是根据第一明文生成的,所述第二密文是否是根据第二明文生成的,以及验证所述运算结果密文是否是根据所述第一明文和所述第二明文的差值生成的。
步骤203:所述数据验证方基于所述运算结果密文和所述运算结果证明,验证所述差值是否大于或等于零。
步骤202的一种可选实施方式中,所述零知识证明包括多个加密证明值和联合加密证明值;所述数据验证方按照以下方式验证所述零知识证明:
步骤(202-1):所述数据验证方根据各密文、所述各密文的加密证明值、第一公开参数、第二公开参数,获得所述各密文的重构验证值;所述各密文包括所述第一密文、所述第二密文和所述运算结果密文。
步骤(202-2):所述数据验证方根据所述各密文的重构验证值,按照预设加密算法,获得联合加密重构值。
步骤(202-3):所述数据验证方若确定所述联合加密证明值与所述联合加密重构值相同,则确定所述零知识证明通过验证。
步骤(202-1)的一种可选实施方式中,所述第二密文包括第一子密文和第二子密文;所述第二密文的加密证明值包括所述第一子密文的加密证明值和所述第二子密文的加密证明值;所述联合加密证明值为第一联合加密证明值;所述数据验证方按照以下方式获得所述第二密文的重构验证值:
所述数据验证方根据所述第一子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第一子密文的重构验证值。
所述数据验证方根据所述第二子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第二子密文的重构验证值。
所述数据验证方将所述第一子密文的重构验证值和所述第二子密文的重构验证值作为所述第二密文的重构验证值。
举例来说,第一预设数为b,即为第二明文b,第二预设数为1。显然,a>=b+1可以推导出a>b,第二预设数还可以设置为任意正整数,a>=b+2也可以推导出a>b。
举例来说,针对a-b-1=c的情形,获得的零知识证明为:h,z2v,z2r,z3v,z3r,z4v,z4r,z1r。
那么零知识证明的验证过程如下:
t1’=A*(z2v+z3v+z4v)*G1+z1r*G2;
t2’=B*z2v*G1+z2r*G2;
t3’=C*z3v*G1+z3r*G2;
t4’=1*z4v*G1+z4r*G2;
h’=H(t1’,t2’,t3’,t4’);若h’=h,则零知识证明通过验证。
步骤(202-1)的另一种可选实施方式中,所述第二密文为第一子密文;所述第二密文的加密证明值为所述第一子密文的加密证明值;所述联合加密证明值为第二联合加密证明值;所述数据验证方按照以下方式获得所述第二密文的重构验证值:
所述数据验证方根据所述第一子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第一子密文的重构验证值。
所述数据验证方将所述第一子密文的重构验证值作为所述第二密文的重构验证值。
举例来说,针对a-b=c的情形,获得的零知识证明为:h,z2v,z2r,z3v,z3,z1r。
那么零知识证明的验证过程如下:
t1’=A*(z2v+z3v)*G1+z1r*G2;
t2’=B*z2v*G1+z2r*G2;
t3’=C*z3v*G1+z3r*G2;
h’=H(t1’,t2’,t3’);若h’=h,则零知识证明通过验证。
综合步骤201~步骤204的方法及可选方法,整体验证过程具体可以如下:
步骤(2-1):数据验证方从区块链上查询得到待比较的密文数据A、B、C;第一公开参数G1和第二公开参数G2、零知识证明和运算结果证明。
步骤(2-2):数据验证方调用零知识证明的验证算法。
输入:密文A、B、C、G1、G2和零知识证明。
得到输出:通过或不通过。
这一步骤是用于,在不解密上述密文A、B、C的前提下,数据验证方验证密文A、B、C分别对应的明文数据是否满足a–b=c(证明a>=b的情形)或a–b-1=c(证明a>b的情形)。
若得到输出为通过,则验证者认为:数据拥有者的密文A、B、C分别对应的明文数据分别为a、b、c,且满足a–b=c(证明a>=b的情形)或a–b-1=c(证明a>b的情形)。
具体验证方法可参照步骤201~步骤203中的方法,在此不再赘述。
步骤(2-3):数据验证方调用运算结果证明的验证算法。
输入:密文C,加密公钥G1、G2和运算结果证明。
得到输出:通过或不通过。
这一步骤是用于,在不解密运算结果密文C的前提下,数据验证方验证密文C对应的明文a-b是否大于等于0。若得到输出为通过,则数据验证方认为:数据提供方拥有的两个数据a,b满足a>b(证明a>=b的情形)或a>=b(证明a>b的情形)的不等关系。
数据验证方认为:数据提供方拥有的两个数据a,b满足a<b(证明a>=b的情形)或a<=b(证明a>b的情形)的不等关系。
步骤(2-4):只有步骤(2-2)与步骤(2-3)中,数据验证方得到的输出均为通过时,才表示数据提供方让数据验证方相信:数据提供方密文A、B对应的两个数a、b确实满足声明的不等关系。其中任何一个输出为不通过,都为验证失败。
如图3所示,本发明提供一种密文数据比较结果的证明装置,包括:
生成模块301,用于生成基于第一明文的第一密文和基于第二明文的第二密文;确定所述第一明文和所述第二明文的差值,并生成所述差值的运算结果密文;
生成零知识证明;所述零知识证明用于证明:所述第一密文是通过所述第一明文得到,所述第二密文是通过所述第二明文得到;所述运算结果密文是通过所述差值得到的;
生成运算结果证明;所述运算结果证明用于证明:所述差值大于或等于零。
可选的,所述第一密文、所述第二密文和所述运算结果密文分别根据所述第一明文、所述第二明文和各自的加密随机数,通过预设加密算法生成的;所述生成模块301具体用于:
分别通过所述预设加密算法,基于各自的替代随机数,生成所述第一密文的第一替代密文、所述第二密文的第二替代密文和所述运算结果密文的第三替代密文;
基于所述第一替代密文、所述第二替代密文和所述第三替代密文生成联合加密证明值;
根据所述各自的替代随机数和所述联合加密证明值,生成多个加密证明值;
将所述多个加密证明值和所述联合加密证明值作为所述零知识证明。
可选的,所述第二明文包括第一预设数和第二预设数;所述第二密文包括第一子密文和第二子密文;所述第二密文的替代随机数包括所述第一子密文的替代随机数和所述第二子密文的替代随机数;所述生成模块301具体用于:
通过所述预设加密算法,基于第一公开参数、第二公开参数和所述第一子密文的替代随机数,生成所述第一子密文的第一子替代密文;
通过所述预设加密算法,基于所述第一公开参数、所述第二公开参数和所述第二子密文的替代随机数,生成所述第二子密文的第二子替代密文;
将所述第一子替代密文和所述第二子替代密文作为所述第二替代密文。
可选的,所述第二明文为第一预设数;所述第二密文为第一子密文;所述第二密文的替代随机数为所述第一子密文的替代随机数;所述生成模块301具体用于:
按照以下方式通过所述预设加密算法,基于所述第二密文的替代随机数,生成所述第二密文的第二替代密文;
通过所述预设加密算法,基于第一公开参数、第二公开参数和所述第一子密文的替代随机数,生成所述第一子密文的第一子替代密文;
将所述第一子替代密文作为所述第二替代密文。
可选的,所述装置还包括发送模块302,所述发送模块302具体用于:
将所述第一密文、所述第二密文、所述运算结果密文、所述零知识证明和所述运算结果证明发送至区块链。
如图4所示,本发明提供一种密文数据比较结果的验证装置,包括:
获取模块401,用于获取第一密文、第二密文、运算结果密文、零知识证明和运算结果证明;
验证模块402,用于基于所述第一密文、所述第二密文、所述运算结果密文和所述零知识证明,验证所述零知识证明;所述零知识证明的验证信息包括:所述第一密文是否是根据第一明文生成的,所述第二密文是否是根据第二明文生成的,以及验证所述运算结果密文是否是根据所述第一明文和所述第二明文的差值生成的;以及用于基于所述运算结果密文和所述运算结果证明,验证所述差值是否大于或等于零。
可选的,所述零知识证明包括多个加密证明值和联合加密证明值;所述验证模块402具体用于:
根据各密文、所述各密文的加密证明值、第一公开参数、第二公开参数,获得所述各密文的重构验证值;所述各密文包括所述第一密文、所述第二密文和所述运算结果密文;
根据所述各密文的重构验证值,按照预设加密算法,获得联合加密重构值;
若确定所述联合加密证明值与所述联合加密重构值相同,则确定所述零知识证明通过验证。
可选的,所述第二密文包括第一子密文和第二子密文;所述第二密文的加密证明值包括所述第一子密文的加密证明值和所述第二子密文的加密证明值;所述联合加密证明值为第一联合加密证明值;所述验证模块402具体用于:
根据所述第一子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第一子密文的重构验证值;
根据所述第二子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第二子密文的重构验证值;
将所述第一子密文的重构验证值和所述第二子密文的重构验证值作为所述第二密文的重构验证值。
可选的,所述第二密文为第一子密文;所述第二密文的加密证明值为所述第一子密文的加密证明值;所述联合加密证明值为第二联合加密证明值;所述验证模块402具体用于:
根据所述第一子密文的加密证明值、所述第一公开参数、所述第二公开参数,获得所述第一子密文的重构验证值;
将所述第一子密文的重构验证值作为所述第二密文的重构验证值。
基于同一发明构思,本发明实施例还提供了一种计算机设备,包括程序或指令,当所述程序或指令被执行时,如本发明实施例提供的密文数据比较结果的证明与验证方法及任一可选方法被执行。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,包括程序或指令,当所述程序或指令被执行时,如本发明实施例提供的密文数据比较结果的证明与验证方法及任一可选方法被执行。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种密文数据比较结果的证明方法,其特征在于,包括:
数据提供方生成基于第一明文的第一密文和基于第二明文的第二密文;
所述数据提供方确定所述第一明文和所述第二明文的差值,并生成所述差值的运算结果密文;
所述数据提供方生成零知识证明;所述零知识证明用于证明:所述第一密文是通过所述第一明文得到,所述第二密文是通过所述第二明文得到;所述运算结果密文是通过所述差值得到的;
所述数据提供方生成运算结果证明;所述运算结果证明用于证明:所述差值大于或等于零。
2.如权利要求1所述的方法,其特征在于,所述第一密文、所述第二密文和所述运算结果密文分别根据所述第一明文、所述第二明文和各自的加密随机数,通过预设加密算法生成的;
所述数据提供方生成零知识证明,包括:
所述数据提供方分别通过所述预设加密算法,基于各自的替代随机数,生成所述第一密文的第一替代密文、所述第二密文的第二替代密文和所述运算结果密文的第三替代密文;
所述数据提供方基于所述第一替代密文、所述第二替代密文和所述第三替代密文生成联合加密证明值;
所述数据提供方根据所述各自的替代随机数和所述联合加密证明值,生成多个加密证明值;
所述数据提供方将所述多个加密证明值和所述联合加密证明值作为所述零知识证明。
3.如权利要求2所述的方法,其特征在于,所述第二明文包括第一预设数和第二预设数;所述第二密文包括第一子密文和第二子密文;所述第二密文的替代随机数包括所述第一子密文的替代随机数和所述第二子密文的替代随机数;
所述数据提供方按照以下方式通过所述预设加密算法,基于所述第二密文的替代随机数,生成所述第二密文的第二替代密文:
所述数据提供方通过所述预设加密算法,基于第一公开参数、第二公开参数和所述第一子密文的替代随机数,生成所述第一子密文的第一子替代密文;
所述数据提供方通过所述预设加密算法,基于所述第一公开参数、所述第二公开参数和所述第二子密文的替代随机数,生成所述第二子密文的第二子替代密文;
所述数据提供方将所述第一子替代密文和所述第二子替代密文作为所述第二替代密文。
4.如权利要求2所述的方法,其特征在于,所述第二明文为第一预设数;所述第二密文为第一子密文;所述第二密文的替代随机数为所述第一子密文的替代随机数;
所述数据提供方按照以下方式通过所述预设加密算法,基于所述第二密文的替代随机数,生成所述第二密文的第二替代密文;
所述数据提供方通过所述预设加密算法,基于第一公开参数、第二公开参数和所述第一子密文的替代随机数,生成所述第一子密文的第一子替代密文;
所述数据提供方将所述第一子替代密文作为所述第二替代密文。
5.如权利要求1至4任一项所述的方法,其特征在于,包括:
所述数据提供方将所述第一密文、所述第二密文、所述运算结果密文、所述零知识证明和所述运算结果证明发送至区块链。
6.一种密文数据比较结果的验证方法,其特征在于,包括:
数据验证方获取第一密文、第二密文、运算结果密文、零知识证明和运算结果证明;
所述数据验证方基于所述第一密文、所述第二密文、所述运算结果密文和所述零知识证明,验证所述零知识证明;所述零知识证明的验证信息包括:所述第一密文是否是根据第一明文生成的,所述第二密文是否是根据第二明文生成的,以及验证所述运算结果密文是否是根据所述第一明文和所述第二明文的差值生成的;
所述数据验证方基于所述运算结果密文和所述运算结果证明,验证所述差值是否大于或等于零。
7.如权利要求6所述的方法,其特征在于,所述零知识证明包括多个加密证明值和联合加密证明值;所述数据验证方按照以下方式验证所述零知识证明:
所述数据验证方根据各密文、所述各密文的加密证明值、第一公开参数、第二公开参数,获得所述各密文的重构验证值;所述各密文包括所述第一密文、所述第二密文和所述运算结果密文;
所述数据验证方根据所述各密文的重构验证值,按照预设加密算法,获得联合加密重构值;
所述数据验证方若确定所述联合加密证明值与所述联合加密重构值相同,则确定所述零知识证明通过验证。
8.一种密文数据比较结果的证明装置,其特征在于,包括:
生成模块,用于生成基于第一明文的第一密文和基于第二明文的第二密文;确定所述第一明文和所述第二明文的差值,并生成所述差值的运算结果密文;
生成零知识证明;所述零知识证明用于证明:所述第一密文是通过所述第一明文得到,所述第二密文是通过所述第二明文得到;所述运算结果密文是通过所述差值得到的;
生成运算结果证明;所述运算结果证明用于证明:所述差值大于或等于零。
9.一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至5或6至7中任意一项所述的方法被执行。
10.一种计算机可读存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至5或6至7中任意一项所述的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538309.8A CN112632636B (zh) | 2020-12-23 | 2020-12-23 | 一种密文数据比较结果的证明与验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011538309.8A CN112632636B (zh) | 2020-12-23 | 2020-12-23 | 一种密文数据比较结果的证明与验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112632636A true CN112632636A (zh) | 2021-04-09 |
CN112632636B CN112632636B (zh) | 2024-06-04 |
Family
ID=75321523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011538309.8A Active CN112632636B (zh) | 2020-12-23 | 2020-12-23 | 一种密文数据比较结果的证明与验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632636B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002268545A (ja) * | 2001-03-12 | 2002-09-20 | Nec Corp | 暗号文の平文が区間内にあることの証明システムと証明文の作成方法、その証明文による検証方法 |
JP2004179766A (ja) * | 2002-11-25 | 2004-06-24 | Nec Corp | 証明システムと評価システム |
JP2006203829A (ja) * | 2005-01-24 | 2006-08-03 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算方法及びシステム、並びにプログラム |
CN103107890A (zh) * | 2013-02-08 | 2013-05-15 | 彭艳兵 | 一种多方加密、签名、零知识证明的方法 |
CN108418689A (zh) * | 2017-11-30 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种适合区块链隐私保护的零知识证明方法和介质 |
CN109840771A (zh) * | 2019-04-01 | 2019-06-04 | 西安电子科技大学 | 一种基于同态加密的区块链隐私保护系统及其方法 |
CN110399735A (zh) * | 2019-06-21 | 2019-11-01 | 深圳壹账通智能科技有限公司 | 加密数据大小关系证明方法、装置、设备及存储介质 |
CN111598254A (zh) * | 2020-05-22 | 2020-08-28 | 深圳前海微众银行股份有限公司 | 联邦学习建模方法、设备及可读存储介质 |
CN111817859A (zh) * | 2020-07-30 | 2020-10-23 | 深圳壹账通智能科技有限公司 | 基于零知识证明的数据共享方法、装置、设备及存储介质 |
CN111989891A (zh) * | 2018-04-26 | 2020-11-24 | 华为国际有限公司 | 数据处理方法、相关装置及区块链系统 |
-
2020
- 2020-12-23 CN CN202011538309.8A patent/CN112632636B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002268545A (ja) * | 2001-03-12 | 2002-09-20 | Nec Corp | 暗号文の平文が区間内にあることの証明システムと証明文の作成方法、その証明文による検証方法 |
JP2004179766A (ja) * | 2002-11-25 | 2004-06-24 | Nec Corp | 証明システムと評価システム |
JP2006203829A (ja) * | 2005-01-24 | 2006-08-03 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算方法及びシステム、並びにプログラム |
CN103107890A (zh) * | 2013-02-08 | 2013-05-15 | 彭艳兵 | 一种多方加密、签名、零知识证明的方法 |
CN108418689A (zh) * | 2017-11-30 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种适合区块链隐私保护的零知识证明方法和介质 |
CN111989891A (zh) * | 2018-04-26 | 2020-11-24 | 华为国际有限公司 | 数据处理方法、相关装置及区块链系统 |
CN109840771A (zh) * | 2019-04-01 | 2019-06-04 | 西安电子科技大学 | 一种基于同态加密的区块链隐私保护系统及其方法 |
CN110399735A (zh) * | 2019-06-21 | 2019-11-01 | 深圳壹账通智能科技有限公司 | 加密数据大小关系证明方法、装置、设备及存储介质 |
CN111598254A (zh) * | 2020-05-22 | 2020-08-28 | 深圳前海微众银行股份有限公司 | 联邦学习建模方法、设备及可读存储介质 |
CN111817859A (zh) * | 2020-07-30 | 2020-10-23 | 深圳壹账通智能科技有限公司 | 基于零知识证明的数据共享方法、装置、设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
JOSHUA HOLMES ECT.: "Variance: Secure Two-Party Protocol for Efficient Asset Comparison in Bitcoin", 《 2020 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN》, 11 November 2020 (2020-11-11), pages 62 - 71, XP033898823, DOI: 10.1109/Blockchain50366.2020.00016 * |
ZHOU, FC ETC.: "The electronic cash system based on non-interactive zero-knowledge proofs", 《INTERNATIONAL JOURNAL OF COMPUTER MATHEMATICS》, 23 March 2016 (2016-03-23), pages 239 - 257 * |
何司蒙 等: "基于零知识验证的密文去重与密钥传递方法", 《计算机研究与发展》, 30 June 2018 (2018-06-30), pages 1222 - 1235 * |
王海玉: "支持离线交易和隐私保护的比特币钱包研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, 15 February 2020 (2020-02-15), pages 138 - 181 * |
Also Published As
Publication number | Publication date |
---|---|
CN112632636B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11558398B2 (en) | Selectivity in privacy and verification with applications | |
DK3268914T3 (en) | DETERMINING A COMMON SECRET FOR SECURE EXCHANGE OF INFORMATION AND Hierarchical, Deterministic cryptographic keys | |
CN110011781B (zh) | 用于交易金额加密且支持零知识证明的同态加密方法和介质 | |
CN113569294B (zh) | 一种零知识证明方法及装置、电子设备、存储介质 | |
WO2020181822A1 (zh) | 加密数据一致性校验方法、装置、计算机设备及存储介质 | |
CN110637441A (zh) | 应用于数据重复数据删除的加密密钥生成 | |
CN113159762B (zh) | 基于Paillier和博弈论的区块链交易方法 | |
US20230336567A1 (en) | Selectivity in privacy and verification with applications | |
CN102883321A (zh) | 一种面向移动微技的数字签名认证方法 | |
US20160149708A1 (en) | Electronic signature system | |
Chia et al. | Digital signature schemes with strong existential unforgeability | |
CN112785306A (zh) | 基于Paillier的同态加密方法及应用系统 | |
CN112184245B (zh) | 一种跨区块链的交易身份确认方法及装置 | |
US20220345312A1 (en) | Zero-knowledge contingent payments protocol for granting access to encrypted assets | |
CN111262707B (zh) | 数字签名方法及验证方法、设备、存储介质 | |
Xia et al. | An improved privacy preserving construction for data integrity verification in cloud storage | |
CN112541197B (zh) | 一种结果验证方法及装置 | |
CN115473632B (zh) | 一种改进的多层可链接环签名生成方法及装置 | |
Sarr et al. | A practical and insider secure signcryption with non-interactive non-repudiation | |
CN112632636A (zh) | 一种密文数据比较结果的证明与验证方法及装置 | |
CN111245869B (zh) | 一种信息物理系统中的跨域匿名认证方法 | |
EP3764588A1 (en) | Zero-knowledge contingent payments protocol for granting access to encrypted assets | |
CN111885056A (zh) | 基于区块链的零知识证明方法、装置及电子设备 | |
CN112887097A (zh) | 基于sm2椭圆曲线的签名方法、相关装置、及存储介质 | |
CN112528340B (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 |