CN112528340B - 一种分布式存储一致性的验证方法及装置 - Google Patents
一种分布式存储一致性的验证方法及装置 Download PDFInfo
- Publication number
- CN112528340B CN112528340B CN202011576622.0A CN202011576622A CN112528340B CN 112528340 B CN112528340 B CN 112528340B CN 202011576622 A CN202011576622 A CN 202011576622A CN 112528340 B CN112528340 B CN 112528340B
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- plaintext
- text
- verification
- substitute
- 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 113
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000006467 substitution reaction Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000013524 data verification Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100198507 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rng2 gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种分布式存储一致性的验证方法及装置,包括验证方从分布式存储的各存储方获取同一明文的各密文和各密文对应的零知识证明,其中,零知识证明包括密文的替代文、明文和替代文之间的绑定关系、第一哈希值及各加密公钥,然后针对每个密文,根据明文的绑定关系、密文的加密公钥、第一哈希值和密文,得到验证文,在验证文与密文的替代文一致时,确定每个密文是通过同一明文得到的,证明了每个密文的一致性,因此,实现了证明分布式存储的各明文的多个密文的一致性。
Description
技术领域
本发明涉及金融科技(Fintech)领域,尤其涉及一种分布式存储一致性的验证方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术(例如:区块链、云计算或大数据)应用在金融领域,传统金融业正在逐步向金融科技转变,大数据技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对大数据技术提出的更高的要求。
数据隐私是当今社会最重要的课题之一。保护与个人身份有关的个人隐私数据是至关重要的,并且其重要性将不断提高。因此,为了证明某隐私数据是真实的,在现有技术中,引入了零知识证明技术。零知识证明指的是数据方能够在不公开隐私数据的情况下,使验证方相信某个论断是正确的。
目前,数据方通过不同的公钥对各明文进行加密,得到各明文的多个密文,再将多个密文存储至不同的存储方,实现分布式存储。但是,目前验证方却无法验证各存储方的密文所对应的明文是否是相同的,即存储方的多个密文是否为根据相同的各明文得到的,且无法保证各存储方的密文的准确性。
因此,现需要一种数据验证方法,用于对分布式存储的明文进行验证,证明多个密文的一致性及准确性。
发明内容
本发明实施例提供一种分布式存储一致性的验证方法及装置,用于证明分布式存储的各明文的多个密文的一致性及准确性。
第一方面,本发明实施例提供一种分布式存储一致性的验证方法,包括:
验证方从分布式存储的各存储方获取同一明文的各密文和所述各密文对应的零知识证明;所述各密文是数据方对同一明文采用不同的加密公钥得到的;所述零知识证明包括密文的替代文、明文和替代文之间的绑定关系、第一哈希值及各加密公钥;所述第一哈希值是根据各密文、各替代文及各加密公钥得到的;
针对每个密文,所述验证方根据所述密文的绑定关系、所述密文的加密公钥、所述第一哈希值和所述密文,得到验证文;在所述验证文与所述密文的替代文一致时,确定每个密文是通过同一明文得到的。
上述技术方案中,验证方通过明文的绑定关系验证了分布式存储的每个密文是根据同一明文得到的,即证明了每个密文的一致性,实现了证明分布式存储的各明文的多个密文的一致性。
可选的,在确定每个密文是通过同一明文得到的之前,还包括:
所述验证方根据所述各密文的零知识证明和所述各密文,得到第二哈希值;
所述验证方在确定所述第一哈希值等于所述第二哈希值时,确定所述密文为未被篡改的密文。
上述技术方案中,验证方根据各密文的零知识证明以及各密文得到第二哈希值,然后根据第二哈希值和第一哈希值来验证各密文的零知识证明中的数据及各密文是正确的,即证明了各密文及各密文的替代文的准确性。
可选的,根据下述公式(1)完成批量验证;
其中,zj为第j个随机数,sj为第j个明文的绑定关系,Gi为第i加密公钥,cj为第j个第一哈希值,yij为第i密文中第j个密文,tij为第i替代文中第j个替代文。
上述技术方案中,通过将各密文生成对应的第一验证部分、第二验证部分和第三验证部分进行批量验证,实现了对分布式存储的密文一致性进行批量验证,提升了密文一致性验证的效率,通过对各明文生成对应的各随机数,以使在对分布式存储的密文一致性进行批量验证的过程中,防止出现密文出现错误,而第一验证部分、第二验证部分和第三验证部分正常的情况,增加了批量验证的准确性。
可选的,针对任一密文的替代文,所述替代文是数据方随机生成所述密文的替代值,根据所述加密公钥确定的。
可选的,针对任一明文的绑定关系,所述明文的绑定关系是数据方根据所述明文、所述明文的第一哈希值和所述密文的替代值确定的。
第二方面,本发明实施例提供一种分布式存储一致性的验证装置,包括:
获取模块,用于从分布式存储的各存储方获取同一明文的各密文和所述各密文对应的零知识证明;所述各密文是数据方对同一明文采用不同的加密公钥得到的;所述零知识证明包括密文的替代文、密文和替代文之间的绑定关系、第一哈希值及各加密公钥;所述第一哈希值是根据各密文、各替代文及各加密公钥得到的;
处理模块,用于针对每个密文,根据所述密文的绑定关系、所述密文的加密公钥、所述第一哈希值和所述密文,得到验证文;在所述验证文与所述密文的替代文一致时,确定每个密文是通过同一明文得到的。
可选的,所述处理模块还用于:
生成各明文对应的各随机数;所述各明文的第i密文是通过第i加密公钥产生的;第i密文与第k密文的加密公钥不同;i与k为不相等的正整数;
针对第i加密公钥,根据所述第i加密公钥、各明文对应的随机数及各明文的绑定关系,确定第一验证部分;根据各明文对应的随机数、各明文的第一哈希值及各明文的第i密文,确定第二验证部分;根据各明文对应的随机数及各明文的第i密文的第i替代文,确定第三验证部分;确定所述第一验证部分、所述第二验证部分和所述第三验证部分是否满足设定关系,从而完成批量验证。
可选的,所述处理模块具体用于:
根据所述各密文的零知识证明和所述各密文,得到第二哈希值;
在确定所述第一哈希值等于所述第二哈希值时,确定所述密文为未被篡改的密文。
可选的,根据下述公式(1)完成批量验证;
其中,zj为第j个随机数,sj为第j个明文的绑定关系,Gi为第i加密公钥,cj为第j个第一哈希值,yij为第i密文中第j个密文,tij为第i替代文中第j个替代文。
可选的,针对任一密文的替代文,所述替代文是数据方随机生成所述密文的替代值,根据所述加密公钥确定的。
可选的,针对任一明文的绑定关系,所述明文的绑定关系是数据方根据所述明文、所述明文的第一哈希值和所述密文的替代值确定的。
第三方面,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述分布式存储一致性的验证方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述分布式存储一致性的验证方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种***架构示意图;
图2为本发明实施例提供的一种分布式存储一致性的验证方法的流程示意图;
图3为本发明实施例提供的一种分布式存储一致性的验证装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
数据隐私是当今社会最重要的课题之一,保护与个人身份有关的个人数据(如电话号码、身份证号码、银行***、网银地址等个人数据)是至关重要的,并且其重要性将不断提高。因此,为了在保护个人数据隐私性及安全性的前提下验证数据方的某数据是真实的,在现有技术中,引入了零知识证明技术。其中,零知识证明指的是数据方能够在不向验证方提供任何隐私的明文的情况下,使验证方相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。数据方向验证方提供零知识证明,并使验证方相信数据方知道或拥有某一论断,但在验证过程中,数据方不向验证方泄漏任何明文(即隐私的个人数据)。
目前,在实现零知识证明时,一般是由数据方使用数学困难问题(如双线性对、离散对数等)创建零知识证明,如根据离散对数得到各明文对应的各密文,具体的,根据所提供的不同的加密公钥,一个明文可以得到多个对应的密文,在得到明文的各密文之后,将各密文存储至不同的存储方,实现分布式存储密文,但是,对于不同存储方的密文,在使用时,无法验证不同存储方的密文的一致性即准确性,例如,某一存储方认为篡改或机器故障等原因导致存储的密文发生改变,则该存储方存储的密文所对应的明文将不再相同。
因此,现需要一种分布式数据验证的方法,用于证明分布式存储的各明文的多个密文的一致性及准确性。
图1示例性的示出了本发明实施例所适用的一种***架构,该***架构包括验证方110、存储方120和数据方130。
其中,验证方110,用于在存储方120获取同一明文的密文及密文对应的零知识证明,并根据密文的零知识证明和密文,得到第二哈希值,再根据第二哈希值确定密文的准确性,然后再根据密文的绑定关系证明密文的一致性。
存储方120,用于存储明文的密文及密文对应的零知识证明,其中存储方120包括多个,在此不做具体的数量限定。
数据方130,用于根据各明文、存储方120的数量及不同的加密公钥,得到同一明文的各密文,并生成各密文的替代文及明文和替代文之间的绑定关系,再根据生成的各密文、各密文的替代文及加密公钥得到第一哈希值,再根据第一哈希值各密文的替代文、明文和替代文之间的绑定关系及加密公钥得到密文的零知识证明,并存储至多个存储方120。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种分布式存储一致性的验证方法的流程示意图,该流程可由分布式存储一致性的验证装置执行。
如图2所示,该流程具体包括:
步骤210,验证方从分布式存储的各存储方获取同一明文的各密文和所述各密文对应的零知识证明。
本发明实施例中,各密文是数据方对同一明文采用不同的加密公钥得到的,例如,数据方拥有n个明文,包括x1,x2,…,xn,数据方需要将明文生成密文,并存储至两个存储方,包括存储方a和存储方b,因此数据方使用不同的加密公钥G1和G2生成明文对应的密文,包括y1=x1*G1,y1`=x1*G2,y2=x2*G1,y2`=x2*G2,…,yn=xn*G1,yn`=xn*G2。
零知识证明包括密文的替代文、明文和替代文之间的绑定关系、第一哈希值及各加密公钥,其中,替代文与密文是一一对应的,替代文是数据方随机生成密文的替代值,根据加密公钥确定的。例如,数据方随机生成密文的替代值,然后根据替代值对密文进行掩盖后得到密文的替代文,具体的,密文包括y1=x1*G1,y1`=x1*G2,y2=x2*G1,y2`=x2*G2,…,yn=xn*G1,yn`=xn*G2。数据方根据明文的数量随机生成替代值,包括r1,r2,…,rn。然后得到各密文的替代文,包括t1=r1*G1,t1`=r1*G2,t2=r2*G1,t2`=r2*G2,…,tn=rn*G1,tn`=rn*G2。
各明文和各替代文之间的绑定关系是根据第一哈希值得到的,第一哈希值是根据各密文、各替代文及各加密公钥得到的,如第一哈希值包括c1=Hash(y1,y1`,t1,t1`,G1,G2),c2=Hash(y2,y2`,t2,t2`,G1,G2),…,cn=Hash(yn,yn`,tn,tn`,G1,G2),即每个明文对应一个第一哈希值。
各明文和各替代文之间的绑定关系是数据方根据明文、明文的第一哈希值和密文的替代值确定的,具体的,数据方随机生成的替代值与第一哈希值和对应的明文的乘积的差值为明文和替代文之间的绑定关系,例如,各明文和各替代文之间的绑定关系包括s1=r1-c1*x1,s2=r2-c2*x2,…,sn=rn-cn*xn。
示例性的,零知识证明包括各密文的替代文(t1=r1*G1,t1`=r1*G2,t2=r2*G1,t2`=r2*G2,…,tn=rn*G1,tn`=rn*G2)、各明文和各替代文之间的绑定关系(s1=r1-c1*x1,s2=r2-c2*x2,…,sn=rn-cn*xn)、第一哈希值{c1=Hash(y1,y1`,t1,t1`,G1,G2),c2=Hash(y2,y2`,t2,t2`,G1,G2),…,cn=Hash(yn,yn`,tn,tn`,G1,G2)}及各加密公钥(G1,G2)。
步骤220,针对每个密文,所述验证方根据所述明文和替代文之间的绑定关系、所述密文的加密公钥、所述第一哈希值和所述密文,得到验证文;在所述验证文与所述密文的替代文一致时,确定每个密文是通过同一明文得到的。
本发明实施例中,验证方针对每个密文,根据明文和替代文之间的绑定关系得到验证文,根据验证文和替代文验证密文的一致性,结合上述步骤210中的实施例,例如,针对存储方a中的密文y1,其验证文v1=s1*G1+c1*y1,其中,s1=r1-c1*x1,y1=x1*G1,将s1和y1带入上述验证文v1,得验证文v1=(r1-c1*x1)*G1+c1*x1*G1,经公式变换得到,验证文v1=r1*G1-c1*x1*G1+c1*x1*G1=r1*G1,其中r1*G1=t1,因此,在确定密文的替代文正确后,若根据明文和替代文之间的绑定关系、密文的加密公钥、第一哈希值和密文得到的验证文与密文的替代文一致时,则证明密文y1是根据明文x1得到的,同理,针对存储方b中的密文y1`,在其验证文v1`与替代文t1`一致时,则证明密文y1`是根据明文x1得到的,以此实现证明同一明文的多个密文的一致性。
示例性的,在证明同一明文的多个密文的一致性之前,验证方会先根据各密文的零知识证明和各密文,得到第二哈希值。
本发明实施例中,验证方在得到各存储方的密文及密文对应的零知识证明,进行哈希运算,得到第二哈希值,结合上述步骤210,例如,验证方获取存储方a的密文(y1,y2,…,yn),存储方b的密文(y1`,y2`,…,yn`),以及存储与存储方a和存储方b的零知识证明p,零知识证明p包括各密文的替代文(t1=r1*G1,t1`=r1*G2,t2=r2*G1,t2`=r2*G2,…,tn=rn*G1,tn`=rn*G2)、各明文和各替代文之间的绑定关系(s1=r1-c1*x1,s2=r2-c2*x2,…,sn=rn-cn*xn)、第一哈希值{c1=Hash(y1,y1`,t1,t1`,G1,G2),c2=Hash(y2,y2`,t2,t2`,G1,G2),…,cn=Hash(yn,yn`,tn,tn`,G1,G2)}及各加密公钥(G1,G2)。
然后根据存储方a的密文(y1,y2,…,yn)、存储方b的密文(y1`,y2`,…,yn`)、零知识证明p中的替代文(t1=r1*G1,t1`=r1*G2,t2=r2*G1,t2`=r2*G2,…,tn=rn*G1,tn`=rn*G2)及各加密公钥(G1,G2)进行哈希运算,得到各明文的第二哈希值,即第二哈希值包括c1`=Hash(y1,y1`,t1,t1`,G1,G2),c2`=Hash(y2,y2`,t2,t2`,G1,G2),…,cn`=Hash(yn,yn`,tn,tn`,G1,G2)。
验证方在得到第二哈希值之后,在确定第一哈希值等于所述第二哈希值时,确定密文为未被篡改的密文。
本发明实施例中,验证方在确定各第一哈希值与对应的第二哈希值相等时,即表示哈希值中的各密文、各明文替代文和各加密公钥是未篡改的,是正确的,保证零知识证明中数据的准确性。
示例性的,在批量验证明文的多个密文的一致性时,验证方通过生成各明文对应的随机数来实现。
进一步地,验证方生成各明文对应的各随机数,其中,各明文的第i密文是通过第i加密公钥产生不同的,第i密文与第k密文的加密公钥不同,i与k为不相等的正整数。
针对第i加密公钥,验证方根据第i加密公钥、各明文对应的随机数及各明文和各替代文之间的绑定关系,确定第一验证部分。
根据各明文对应的随机数、各明文的第一哈希值及各明文的第i密文,确定第二验证部分;根据各明文对应的随机数及各明文的第i密文的第i替代文,确定第三验证部分。
确定第一验证部分、第二验证部分和第三验证部分是否满足设定关系,从而完成批量验证。
本发明实施例中,第一验证部分是验证方确定各明文对应的随机数及各明文的第i密文对应的绑定关系的乘积,并作求和运算,得到运算结果,再将运算结果与第i加密公钥的乘积确定的。第二验证部分是验证方确定各明文对应的随机数、各明文的第一哈希值及各明文的第i密文的乘积,并作求和运算得到的。第三验证部分是验证方根据各明文对应的随机数及各明文的第i密文的第i替代文的乘积,并作求和运算得到的。例如,验证方生成各明文对应的各随机数包括z1,z2,…,zn。其中,第i密文yi是通过第i加密公钥产生的,即数据方根据明文x1,x2,…,xn和第i加密公钥Gi得到,各第i密文yi1,yi2,…,yin。具体的,根据下述公式(1)进行批量验证;。
其中,zj为第j个随机数,sj为第j个明文和替代文之间的绑定关系,Gi为第i加密公钥,cj为第j个第一哈希值,yij为第i密文中第j个密文,tij为第i替代文中第j个替代文。
本发明实施例中,在第一验证部分及第二验证部分的和与第三验证部分一致时,确定第i密文是根据各明文得到的,同理,根据上述方法验证第k密文是根据各明文得到的,即实现了批量证明第i密文和第k密文的一致性。
需要说明的是,数据方可以将明文数据分别存放至不同的存储方,再使验证方进行验证。例如,数据方有明文x1、x2和x3,数据方想将明文x1存储至存储方a和存储方b,将明文x2存储至存储方a和存储方c,将明文x3存储至存储方b和存储方c,因此数据方使用不同的加密公钥G1、G2和G3生成明文对应的密文,包括y1=x1*G1,y1`=x1*G2,y2=x2*G1,y2``=x2*G3,y3`=x3*G2,yn``=x3*G3。数据方根据明文的数量随机生成替代值,包括r1、r2和r3。则各密文的替代文,包括t1=y1*G1,t1`=y1*G2,t2=y2*G1,t2``=y2*G3,t3`=y3*G2,tn``=y3*G3。
根据各密文、各替代文及各加密公钥得到第一哈希值,包括c1=Hash(y1,y1`,t1,t1`,G1,G2),c2=Hash(y2,y2``,t2,t2``,G1,G3),c3=Hash(y3`,y3``,t3`,t3``,G2,G3)。各密文和各替代文之间的绑定关系包括s1=r1-c1*x1,s2=r2-c2*x2,s3=r3-c3*x3。因此,零知识证明p`包括各密文的替代文(t1=y1*G1,t1`=y1*G2,t2=y2*G1,t2``=y2*G3,t3`=y3*G2,tn``=y3*G3)、各明文和各替代文之间的绑定关系(s1=r1-c1*x1,s2=r2-c2*x2,s3=r3-c3*x3)、第一哈希值{c1=Hash(y1,y1`,t1,t1`,G1,G2),c2=Hash(y2,y2``,t2,t2``,G1,G3),c3=Hash(y3`,y3``,t3`,t3``,G2,G3)}及各加密公钥(G1,G2,G3)。然后再由验证方获取存储方a、存储方b和存储方c中的密文及密文对应的零知识证明p`。验证方的验证方法与上述实施中描述的方法一致,在此不再赘述。
基于相同的技术构思,图3示例性的示出了本发明实施例提供的一种分布式存储一致性的验证装置的结构,该装置可以执行分布式存储一致性的验证方法的流程。
如图3所示,该装置具体包括:
获取模块310,用于从分布式存储的各存储方获取同一明文的各密文和所述各密文对应的零知识证明;所述各密文是数据方对同一明文采用不同的加密公钥得到的;所述零知识证明包括密文的替代文、明文和替代文之间的绑定关系、第一哈希值及各加密公钥;所述第一哈希值是根据各密文、各替代文及各加密公钥得到的;
处理模块320,用于针对每个密文,根据所述明文和替代文之间的绑定关系、所述密文的加密公钥、所述第一哈希值和所述密文,得到验证文;在所述验证文与所述密文的替代文一致时,确定每个密文是通过同一明文得到的。
可选的,所述处理模块320还用于:
生成各明文对应的各随机数;所述各明文的第i密文是通过第i加密公钥产生的;第i密文与第k密文的加密公钥不同;i与k为不相等的正整数;
针对第i加密公钥,根据所述第i加密公钥、各明文对应的随机数及各明文和各替代文之间的绑定关系,确定第一验证部分;根据各明文对应的随机数、各明文的第一哈希值及各明文的第i密文,确定第二验证部分;根据各明文对应的随机数及各明文的第i密文的第i替代文,确定第三验证部分;确定所述第一验证部分、所述第二验证部分和所述第三验证部分是否满足设定关系,从而完成批量验证。
可选的,所述处理模块320具体用于:
根据所述各密文的零知识证明和所述各密文,得到第二哈希值;
在确定所述第一哈希值等于所述第二哈希值时,确定所述密文为未被篡改的密文。
可选的,根据下述公式(1)完成批量验证;
其中,zj为第j个随机数,sj为第j个明文和替代文之间的绑定关系,Gi为第i加密公钥,cj为第j个第一哈希值,yij为第i密文中第j个密文,tij为第i替代文中第j个替代文。
可选的,针对任一密文的替代文,所述替代文是数据方随机生成所述密文的替代值,根据所述加密公钥确定的。
可选的,针对任一明文和替代文之间的绑定关系,所述明文和替代文之间的绑定关系是数据方根据所述明文、所述明文的第一哈希值和所述密文的替代值确定的。
基于相同的技术构思,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述分布式存储一致性的验证方法。
基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述分布式存储一致性的验证方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (9)
1.一种分布式存储一致性的验证方法,其特征在于,包括:
验证方从分布式存储的各存储方获取同一明文的各密文和所述各密文对应的零知识证明;所述各密文是数据方对同一明文采用不同的加密公钥得到的;所述零知识证明包括密文的替代文、明文和替代文之间的绑定关系、第一哈希值及各加密公钥;所述第一哈希值是根据各密文、各替代文及各加密公钥得到的;所述密文的替代文是数据方随机生成密文的替代值,并根据所述替代值对所述密文进行掩盖后得到的,所述明文和替代文之间的绑定关系是所述替代值与所述明文和所述第一哈希值的乘积的差值;
针对每个密文,所述验证方根据所述明文和替代文之间的绑定关系、所述密文的加密公钥、所述第一哈希值和所述密文,得到验证文;
所述验证文是根据以下方式获得的:
针对密文y1=x1*G1,其验证文v1=s1*G1+c1*y1,其中,所述明文和替代文之间的绑定关系s1=r1-c1*x1,所述明文为x1,所述明文的替代值为r1,所述密文的加密公钥为G1,所述第一哈希值为c1;
根据所述各密文的零知识证明和所述各密文,得到第二哈希值;
所述验证方在确定所述第一哈希值等于所述第二哈希值时,确定所述密文为未被篡改的密文;在所述验证文与所述密文的替代文一致时,确定每个密文是通过同一明文得到的。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述验证方生成各明文对应的各随机数;所述各明文的第i密文是通过第i加密公钥产生的;第i密文与第k密文的加密公钥不同;i与k为不相等的正整数;
针对第i加密公钥,所述验证方根据所述第i加密公钥、各明文对应的随机数及各明文和各替代文之间的绑定关系,确定第一验证部分;根据各明文对应的随机数、各明文的第一哈希值及各明文的第i密文,确定第二验证部分;根据各明文对应的随机数及各明文的第i密文的第i替代文,确定第三验证部分;确定所述第一验证部分、所述第二验证部分和所述第三验证部分满足设定关系,从而完成批量验证。
3.如权利要求2所述的方法,其特征在于,根据下述公式(1)完成批量验证;
其中,zj为第j个随机数,sj为第j个明文和替代文之间的绑定关系,Gi为第i加密公钥,cj为第j个第一哈希值,yij为第i密文中第j个密文,tij为第i替代文中第j个替代文。
4.如权利要求1至3任一项所述的方法,其特征在于,针对任一密文的替代文,所述替代文是数据方随机生成所述密文的替代值,根据所述加密公钥确定的。
5.如权利要求4所述的方法,其特征在于,针对任一明文和替代文之间的绑定关系,所述明文和替代文之间的绑定关系是数据方根据所述明文、所述明文的第一哈希值和所述密文的替代值确定的。
6.一种分布式存储一致性的验证装置,其特征在于,包括:
获取模块,用于从分布式存储的各存储方获取同一明文的各密文和所述各密文对应的零知识证明;所述各密文是数据方对同一明文采用不同的加密公钥得到的;所述零知识证明包括密文的替代文、密文和替代文之间的绑定关系、第一哈希值及各加密公钥;所述第一哈希值是根据各密文、各替代文及各加密公钥得到的;所述密文的替代文是数据方随机生成密文的替代值,并根据所述替代值对所述密文进行掩盖后得到的,所述明文和替代文之间的绑定关系是所述替代值与所述明文和所述第一哈希值的乘积的差值;
处理模块,用于针对每个密文,所述验证方根据所述明文和替代文之间的绑定关系、所述密文的加密公钥、所述第一哈希值和所述密文,得到验证文;
所述验证文是根据以下方式获得的:
针对密文y1=x1*G1,其验证文v1=s1*G1+c1*y1,其中,所述明文和替代文之间的绑定关系s1=r1-c1*x1,所述明文为x1,所述明文的替代值为r1,所述密文的加密公钥为G1,所述第一哈希值为c1;
根据所述各密文的零知识证明和所述各密文,得到第二哈希值;
所述验证方在确定所述第一哈希值等于所述第二哈希值时,确定所述密文为未被篡改的密文;在所述验证文与所述密文的替代文一致时,确定每个密文是通过同一明文得到的。
7.如权利要求6所述的装置,其特征在于,所述处理模块还用于:
生成各明文对应的各随机数;所述各明文的第i密文是通过第i加密公钥产生的;第i密文与第k密文的加密公钥不同;i与k为不相等的正整数;
针对第i加密公钥,根据所述第i加密公钥、各明文对应的随机数及各明文和各替代文之间的绑定关系,确定第一验证部分;根据各明文对应的随机数、各明文的第一哈希值及各明文的第i密文,确定第二验证部分;根据各明文对应的随机数及各明文的第i密文的第i替代文,确定第三验证部分;确定所述第一验证部分、所述第二验证部分和所述第三验证部分是否满足设定关系,从而完成批量验证。
8.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至5任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011576622.0A CN112528340B (zh) | 2020-12-28 | 2020-12-28 | 一种分布式存储一致性的验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011576622.0A CN112528340B (zh) | 2020-12-28 | 2020-12-28 | 一种分布式存储一致性的验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112528340A CN112528340A (zh) | 2021-03-19 |
CN112528340B true CN112528340B (zh) | 2024-07-09 |
Family
ID=74976779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011576622.0A Active CN112528340B (zh) | 2020-12-28 | 2020-12-28 | 一种分布式存储一致性的验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112528340B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107959567A (zh) * | 2016-10-14 | 2018-04-24 | 阿里巴巴集团控股有限公司 | 数据存储方法、数据获取方法、装置及*** |
CN108390942A (zh) * | 2018-03-21 | 2018-08-10 | 山东超越数控电子股份有限公司 | 一种硬件加密的分布式云存储方法与装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10129029B2 (en) * | 2016-06-16 | 2018-11-13 | International Business Machines Corporation | Proofs of plaintext knowledge and group signatures incorporating same |
KR102172181B1 (ko) * | 2018-09-07 | 2020-10-30 | 고려대학교 산학협력단 | 실시간 데이터 전송을 위한 블록 암호 장치 및 방법 |
US11240025B2 (en) * | 2018-11-09 | 2022-02-01 | Ares Technologies, Inc. | Systems and methods for distributed key storage |
CN110224837B (zh) * | 2019-06-06 | 2021-11-19 | 西安纸贵互联网科技有限公司 | 基于分布式身份标识的零知识证明方法及终端 |
-
2020
- 2020-12-28 CN CN202011576622.0A patent/CN112528340B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107959567A (zh) * | 2016-10-14 | 2018-04-24 | 阿里巴巴集团控股有限公司 | 数据存储方法、数据获取方法、装置及*** |
CN108390942A (zh) * | 2018-03-21 | 2018-08-10 | 山东超越数控电子股份有限公司 | 一种硬件加密的分布式云存储方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112528340A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3673609B1 (en) | Method and apparatus for obtaining input of secure multiparty computation protocol | |
CN107579819B (zh) | 一种sm9数字签名生成方法及*** | |
CN113569294B (zh) | 一种零知识证明方法及装置、电子设备、存储介质 | |
EP3616356B1 (en) | Preventing misrepresentation of input data by participants in a secure multi-party computation | |
EP2553866B1 (en) | System and method for protecting cryptographic assets from a white-box attack | |
CN109067528B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
JP2020502856A5 (zh) | ||
CN109347625B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN110535635B (zh) | 一种支持信息隐藏的协同签名方法与*** | |
CN113037479B (zh) | 数据验证方法和装置 | |
CN112632630A (zh) | 一种基于sm2的协同签名计算方法及装置 | |
CN112948789B (zh) | 身份认证方法及装置、存储介质及电子设备 | |
CN113901424A (zh) | 一种数字身份属性的选择性披露方法和装置 | |
CN110798313B (zh) | 基于秘密动态共享的包含秘密的数的协同生成方法及*** | |
CN110363528B (zh) | 协同地址的生成、交易签名方法及装置、存储介质 | |
US8582761B2 (en) | Cryptographic method with elliptical curves | |
CN112541197B (zh) | 一种结果验证方法及装置 | |
CN112487464A (zh) | 一种基于区块链的加密数据分享方法及装置 | |
CN112528340B (zh) | 一种分布式存储一致性的验证方法及装置 | |
CN112184245A (zh) | 一种跨区块链的交易身份确认方法及装置 | |
CN112769539B (zh) | 一种生成rsa密钥并协同rsa签名和解密的方法及*** | |
CN115118433A (zh) | 客户授权方法及装置、隐私保护集合交集计算方法及装置 | |
CN111274613B (zh) | 迭代式sm2数字签名生成方法、***、介质和设备 | |
CN114329614A (zh) | 一种基于字符串混淆的数据脱敏方法及*** | |
Dong et al. | Fully Verifiable Algorithm for Secure Outsourcing of Bilinear Pairing in Cloud Computing. |
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 |