CN116599669A - 数据处理方法、装置、计算机设备及存储介质 - Google Patents
数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116599669A CN116599669A CN202211695435.3A CN202211695435A CN116599669A CN 116599669 A CN116599669 A CN 116599669A CN 202211695435 A CN202211695435 A CN 202211695435A CN 116599669 A CN116599669 A CN 116599669A
- Authority
- CN
- China
- Prior art keywords
- polynomial
- data
- blockchain
- point data
- prover
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 46
- 239000011159 matrix material Substances 0.000 claims abstract description 99
- 238000000034 method Methods 0.000 claims abstract description 95
- 238000004364 calculation method Methods 0.000 claims abstract description 67
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 48
- 238000012795 verification Methods 0.000 claims description 83
- 230000006870 function Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 59
- 239000002699 waste material Substances 0.000 abstract description 9
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000021615 conjugation Effects 0.000 description 8
- 239000004973 liquid crystal related substance Substances 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 206010010099 Combined immunodeficiency Diseases 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001360 collision-induced dissociation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Finance (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据处理方法、装置、计算机设备及存储介质。该方法包括接收验证者端提供的随机值;通过椭圆加密曲线算法,根据随机值和曲线随机点数据,得到混合加密点数据;根据混合加密点数据和π矩阵,生成区块链证明摘要;通过第一多项式算法,根据区块链证明摘要和反π矩阵,生成秘密标识;将包括秘密标识的区块链证明文件存储到区块链节点,区块链证明文件用于验证者端验证证明者端的身份。如此,基于π矩阵与反π矩阵形成的共轭关系,以及采用零知识证明对海量交易数据进行证明计算,在生成区块链证明文件过程中,可以有效保护交易数据的隐私,在避免内存浪费的同时,缩短零知识证明的计算时间,提高零知识证明的计算效率。
Description
技术领域
本申请属于计算机技术领域,具体涉及一种数据处理方法、装置、计算机设备及存储介质。
背景技术
零知识证明(Zero-Knowledge Proof,ZKP)是现代密码学中的一类经典协议,用于在不泄露关于某个命题任何信息的情况下证明该命题的正确性。为了解决零知识证明技术的广泛应用需求,提供了多个开源算法库如libsnark库、bellman库等。
在相关技术中,可以通过libsnark库的多项式生成算法生成证明文件(proof),其中,libsnark库在内存引用时采用的是值对象和指针对象,这样,在值对象在移动后,关联的数据会移动到新值,而在传递或者赋值过程中会进行拷贝,引起内存浪费;以及,指针对象是交由用户人工管理或者使用智能指针来引用计数,由于用户人工管理存在延时,且该机制存在指针指向无效内存地址情况。如此,上述生成proof的方式会造成内存浪费、计算过程繁琐且浪费计算时间,影响零知识证明的计算效率。
发明内容
本申请实施例提供一种数据处理方法、装置、计算机设备及存储介质,能够解决现有技术中生成证明文件的方式造成内存浪费、计算过程繁琐且浪费计算时间,影响零知识证明的计算效率的问题。
第一方面,本申请实施例提供一种数据处理方法,应用于证明者端,该方法可以包括:
接收验证者端提供的随机值;
通过椭圆加密曲线算法,根据随机值和曲线随机点数据,得到混合加密点数据;
根据混合加密点数据和π矩阵,生成区块链证明摘要;
通过第一多项式算法,根据区块链证明摘要和反π矩阵,生成秘密标识;
将包括秘密标识的区块链证明文件存储到区块链节点,区块链证明文件用于验证者端验证证明者端的身份。
第二方面,本申请实施例提供一种数据处理方法,应用于验证者端,该方法可以包括:
向证明者端发送随机值;
接收证明者端反馈的混合加密点数据,混合加密点数据由随机值计算得到;
通过第二多项式算法,根据混合加密点数据,生成多项式验证数据;
从区块链节点中读取区块链证明文件,区块链证明文件包括秘密标识;
通过多项式验证数据对秘密标识进行验证,得到证明者端的身份验证结果。
第三方面,本申请实施例提供了一种数据处理装置,应用于证明者端,该装置可以包括:
接收模块,用于接收验证者端提供的随机值;
计算模块,用于通过椭圆加密曲线算法,根据随机值和曲线随机点数据,得到混合加密点数据;
生成模块,用于根据混合加密点数据和π矩阵,生成区块链证明摘要;
生成模块还用于,通过第一多项式算法,根据区块链证明摘要和反π矩阵,生成秘密标识;
存储模块,用于将包括秘密标识的区块链证明文件存储到区块链节点,区块链证明文件用于验证者端验证证明者端的身份。
第四方面,本申请实施例提供了一种数据处理装置,应用于验证者端,该装置可以包括:
发送模块,用于向证明者端发送随机值;
接收模块,用于接收证明者端反馈的混合加密点数据,混合加密点数据由随机值计算得到;
生成模块,用于通过第二多项式算法,根据混合加密点数据,生成多项式验证数据;
读取模块,用于从区块链节点中读取区块链证明文件,区块链证明文件包括秘密标识;
验证模块,用于通过多项式验证数据对秘密标识进行验证,得到证明者端的身份验证结果。
第五方面,本申请实施例提供了一种计算设备,该计算设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如第一方面所示的数据处理方法、或者如第二方面所示的数据处理方法。
第六方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面所示的数据处理方法、或者如第二方面所示的数据处理方法。
第七方面,本申请实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面所示的数据处理方法、或者如第二方面所示的数据处理方法。
第八方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所示的数据处理方法、或者如第二方面所示的数据处理方法。
本申请实施例的数据处理方法、装置、设备及存储介质,接收验证者端提供的随机值;通过椭圆加密曲线算法,根据随机值和曲线随机点数据,得到混合加密点数据;根据混合加密点数据和π矩阵,生成区块链证明摘要;通过第一多项式算法,根据区块链证明摘要和反π矩阵,生成秘密标识;将包括秘密标识的区块链证明文件存储到区块链节点,区块链证明文件用于验证者端验证证明者端的身份。这样,证明者端通过证明者端与验证者端之间的加密通道,接收验证者端发送的随机值并基于此进行零知识证明的验证,由于随机值是验证者端随机产生的,无法按照一定规则逆推,且由随机值确定混合加密点数据是零知识证明生成区块链证明文件proof的加密基础,所以,通过混合加密点数据无法逆推出曲线随机点数据,使得曲线随机点数据的安全性更高。另外,本申请实施例采用π矩阵来筛选验证者端提供的随机值,防止基于假数据生成proof情况发生,在通过多项式算法生成秘密标识N的过程中,采用了混合加密点数据和π矩阵的模糊计算方式,确保了加密的可靠性,以及,π矩阵是分配在特殊有限域空间的矩阵,与反π矩阵形成一个共轭关系,基于此,在生成proof过程中,对相关多项式生成方法的优化和生命周期的线程数据共享起到调节作用,经由π矩阵和反π矩阵的过滤后,生成proof的过程更加简洁,验证速度也更快。如此,基于π矩阵与反π矩阵形成的共轭关系,采用零知识证明对海量交易数据进行证明计算,在生成proof过程中,可以有效保护交易数据的隐私,并将几个G的大小缩减到几百M,在避免内存浪费的同时,缩短了零知识证明的计算时间,提高了零知识证明的计算效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据处理架构的结构示意图之一;
图2为本申请实施例提供的一种数据处理架构的结构示意图之二;
图3为本申请实施例提供的一种基于证明者端的数据处理方法的流程图;
图4为本申请实施例提供的一种基于验证者端的数据处理方法的流程图;
图5是本申请一个实施例提供的数据处理方法的交互示意图;
图6是本申请一个实施例提供的基于证明者端的数据处理装置的结构示意图;
图7是本申请一个实施例提供的基于验证者端的数据处理装置的结构示意图;
图8是本申请一个实施例提供的计算机设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
近年来,随着区块链等新兴技术的发展以及隐私计算需求的兴起,零知识证明技术再次成为包括科技、大数据等相关行业关注的焦点。在隐私交易数据的交易过程中,区块链以特殊的方式记账,即左边的输入和右边的输出相等,通过随机数承诺的方式确保这种关系,只要第一个数等于后两个数之和,验证者不会看到交易量具体值,区块中的交易采用同态加密的方式,以形成隐私交易。在审计方面,为防止暴露被审计方的秘密,通常是将数据加密后再交给审计方验证,但是,被审计方又不能造假,通过承诺(Pedersen)可解决,基于该等式Comm(v1,r1)+Comm(v2,r2)=Comm(v3,r3),被审计方只需要向审计方发送v3和r3即可验证等式是否成立,即被审计方仅提供交易后最终的余额,不提供所有交易过程数据,以此达到隐藏秘密的效果。
以及,在相关技术中,可以通过libsnark库的多项式生成算法,生成证明文件(proof),即基于待证明的陈述表达为R1CS(Rank One Constraint System),可使用生成算法(G)为命题生成公共参数,使用证明算法(P)生成R1CS可满足性的证明,使用验证算法(V)来验证证明。其中,libsnark库可以通过以下步骤实现:通过函数C(x,out),判断秘密x是否满足等式x^3+x+5==out,若满足则返回true,其中,第一步,将函数C(x,out)在libsnark中进行表达转述;第二步,对应Generator函数(G),lambda为随机产生,在信任数据配置(trusted setup)过程中产生的toxic waste秘钥,为了不被窃取,toxic waste秘钥产生后被销毁,使lambda<-random(),(pk,vk)=G(C,lambda),以生成proving key(pk)和verification key(vk);第三步,使用Prove函数(P)生成证明,需要证明的陈述是prover知道一个秘密值x和计算结果out可使等式满足;因此,可将x、out还有pk作为输入一起传给P,以生成proof,即proof=P(pk,out,x);第四步,使用Verify函数(V)验证证明,将proof、out还有vk传给G,即可在不暴露秘密的情况下证明存在一个秘密值可使如下等式满足:V(vk,out,proof)?=true。
需要注意的是,程序运算的工作量主要集中在上述第一步,需要按照libsnark的接口规则手写电路代码来描述命题,由代码构造R1CS约束。整个过程也就是从Computation->Arithmetic Circuit->R1CS的计算转换过程。libsnark库在生成proof的过程中,采用了多项式生成方法,在接口规则方面,用电路代码来描述命题,形成多项式,经由多项式生成方法后,由代码构造R1CS约束。但libsnark库在内存安全与数据争用机制两方面扩展性不足:内存引用时,libsnark库采用的是值对象和指针对象。值语义的对象超出作用域会自动调用析构函数销毁,值对象在移动以后,关联的数据会移动到新值,而在传递或者赋值的时候会进行一次拷贝,引起一定内存浪费。指针语义则交给工作人员来管理,或者使用智能指针来引用计数,该机制存在指针指向无效内存地址情况。在大量的多项式运算中,体现为内存安全与数据争用机制方面扩展性不足。
由于大部分用户不希望自己的交易信息被人看到,产生了交易数据隐私化的需求。在密码学领域,交易数据隐私化的一个有效解决方式,是采用零知识证明对交易数据进行证明计算。基于此,本申请实施例提供的数据处理方法可以解决零知识证明计算过程中,突破多项式生成计算引起的内存安全和数据争用的效率瓶颈,提高零知识证明的计算效率,即通过π矩阵与反π矩阵形成一个共轭关系,在生成区块链证明文件proof过程中,对陈述进行筛选,将几个G的大小缩减到几百M,使得证明文件proof更加简洁,相比于libsnark库,缩短了零知识证明的计算时间。
基于此,为了解决上述问题,本申请实施例提供了一种数据处理架构10,下面结合图1,对本申请实施例提供的数据处理架构进行详细地说明。
如图1所示,本申请实施例中零知识证明的数据处理架构10,用于根据大文件bigfile通过πclient generate-car模块,生成car文件;通过πclient import模块,导入到加密文件系统中,并产生内容唯一标志符(CID);将car文件发送给矿工节点进行扇区封装,矿工节点采用基于π矩阵多项式生成算法的零知识证明系统对car文件封装,其中,在封装过程中,会先将car文件切成256k的小数据块,生成默克尔树,并对小数据块进行零知识证明计算,计算产生的消息有P1(预提交阶段1)消息、P2(预提交阶段2)消息、C1(提交阶段1)消息、C2(提交阶段2)消息,将这些消息写入区块链。以及,数据处理架构10还可以用于,当需要从密封扇区中,提取加密数据时,根据CID检索区块链,并从矿工节点提取出car文件,将car文件脱壳后,还原出大文件bigfile。
进一步地,如图2所示,可以通过P1计算单元,计算上述涉及的P1(预提交阶段1)消息,即由中央处理器(CPU)做单线程PoRep SDR编码,将car文件进行切片,分装成小箱子,小箱子最大不能超过256K。接着,通过P2计算单元,计算上述涉及的P2(预提交阶段2)消息,即通过CPU或图形处理器(graphics processing unit,GPU)基于P1计算单元输出的碎片生成动态哈希表(DHT),以后查找文件要依靠这个动态哈希表DHT,计算过程主要是采用波塞冬哈希算法,生成默克尔树。再者,通过C1计算单元,计算上述涉及的C1(提交阶段1)消息,即通过CPU给这些小箱子贴上标签。然后,通过C2计算单元,计算上述涉及的(提交阶段2)消息,即基于其C1计算单元的输出进行π矩阵和反π矩阵的零知识证明计算。
基于此,在P1计算单元、P2计算单元、C1计算单元和C2计算单元的计算过程中,可以通过rust语言严格的编译器审查的属性,管理区块链proof的生命周期,避免线程之间数据争用,在多项式生成计算过程中,相关数据类型包含Send接口和Sync接口,Send接口确保数据实例的所有权可以在多个线程之间安全传递,Sync接口给数据实例添加互斥锁,使多个线程之间安全地共享数据,有效地避免了数据争用。基于此,矿工节点每个30秒会按照预期共识选取一个节点作为出块节点,出块节点打包所有消息,并对自己封装的扇区做零知识证明的验证,产生的winningPost消息,写入区块链,每30分钟会进行一个windowPost计算,并将windowPost消息写入区块链。
基于上述内容,本申请实施例中数据处理方法是针对上述C2计算单元生成proof的过程以及验证的过程提出的数据处理方案,即通过引入π矩阵与反π矩阵形成一个共轭关系,生成区块链证明文件proof,以提高计算效能和安全性。以及,从验证者端(verifier)选择一个随机值x0,将x0值发送给证明者端(prover),通过verifier和prover之间的加密通信,实现零知识证明验证的过程。具体地,为了实现内存安全,防止数据争用,基于π矩阵多项式生成算法的零知识证明系统采用rust语言实现,可利用其严格的编译器审查的属性,管理区块链proof的生命周期,避免线程之间数据争用;在多项式生成过程中,相关数据类型包含Send接口,Send接口确保数据实例的所有权可以在多个线程之间安全传递;同时,在多项式生成计算过程中,将数据类型实现Sync接口,Sync接口给数据实例添加互斥锁,使多个线程之间安全地共享数据,有效地避免了数据争用;π矩阵与反π矩阵形成一个共轭关系,在生成区块链证明文件proof过程中,对陈述进行筛选,将几个G的大小缩减到几百M,使得证明文件proof更加简洁,缩短了零知识证明的计算时间,验证速度也更快,因此对相关多项式生成方法的优化和生命周期的线程数据共享起到调节作用。
由此,基于上述数据处理架构可以将密码学问题转换为多项式,突破多项式生成计算引起的内存安全和数据争用的效率瓶颈,本申请实施例基于π矩阵多项式生成算法的零知识证明系统,采用rust语言实现,通过rust语言严格的编译器审查的属性,管理区块链proof的生命周期,避免线程之间数据争用,在多项式生成计算过程中,相关数据类型包含Send接口和Sync接口,Send接口确保数据实例的所有权可以在多个线程之间安全传递,Sync接口给数据实例添加互斥锁,使多个线程之间安全地共享数据,有效地避免了数据争用。
基于上述数据处理架构,本申请实施例提供了一种数据处理方法、装置、设备及存储介质。下面将结合附图3至图6,详细描述本申请实施例的数据处理方法、装置、设备及存储介质,应注意,这些实施例并不是用来限制本申请公开的范围。
下面结合图3对本申请实施例提供的数据处理方法进行详细说明。
图3为本申请实施例提供的一种基于证明者端的数据处理方法的流程图。
如图3所示,该数据处理方法可以应用于如图1所示的数据处理架构中的证明者端,该数据处理方法具体可以包括如下步骤:
步骤310,接收验证者端提供的随机值Xo;步骤320,通过椭圆加密曲线算法,根据随机值和曲线随机点数据K,得到混合加密点数据Kxo;步骤330,根据混合加密点数据和π矩阵,生成区块链证明摘要πKxo;步骤340,通过第一多项式算法,根据区块链证明摘要和反π矩阵,生成秘密标识N;步骤350,将包括秘密标识的区块链证明文件存储到区块链节点,区块链证明文件用于验证者端验证证明者端的身份。
由此,证明者端接收验证者端发送的随机值并基于此进行零知识证明的验证,由于随机值是验证者端随机产生的,无法按照一定规则逆推,且由随机值确定混合加密点数据是零知识证明生成区块链证明文件proof的加密基础,所以,通过混合加密点数据无法逆推出曲线随机点数据,使得曲线随机点数据的安全性更高。另外,本申请实施例采用π矩阵来筛选验证者端提供的随机值,防止基于假数据生成proof情况发生,在通过多项式算法生成秘密标识N的过程中,采用了混合加密点数据和π矩阵的模糊计算方式,确保了加密的可靠性,以及,π矩阵是分配在特殊有限域空间的矩阵,与反π矩阵形成一个共轭关系,基于此,在生成proof过程中,对相关多项式生成方法的优化和生命周期的线程数据共享起到调节作用,经由π矩阵和反π矩阵的过滤后,生成proof的过程更加简洁,验证速度也更快。如此,基于π矩阵与反π矩阵形成的共轭关系,采用零知识证明对海量交易数据进行证明计算,在生成proof过程中,可以有效保护交易数据的隐私,并将几个G的大小缩减到几百M,在避免内存浪费的同时,缩短了零知识证明的计算时间,提高了零知识证明的计算效率。
下面对上述步骤进行详细说明,具体如下所示:
首先,涉及步骤310,在一种或多种可能的实施例中,证明者端(prover)通过证明者端与验证者端(verifier)之间的加密通道,接收验证者端发送的随机值Xo并基于此进行零知识证明的验证。
接着,涉及步骤320,在一种或多种可能的实施例中,该步骤320具体可以包括:
步骤3201,从预设椭圆加密曲线上随机选择一个目标点,所述目标点对应目标点数据;
步骤3202,将所述目标点数据确定为所述曲线随机点数据K;
步骤3203,通过预设混合算法,对所述随机值和曲线随机点数据K进行混合处理,得到所述混合加密点数据。
示例性地,在预设椭圆加密曲线上随机选择一个目标点,将目标点数据确定为曲线随机点数据K,通过预设混合算法,对曲线随机点数据K和随机值Xo进行混合处理,得到另一个加密点的混合加密点数据kx0。
在另一种或多种可能的实施例中,在步骤320之后,该数据处理方法还可以包括:
向所述验证者端发送所述混合加密点数据,所述混合加密点数据用于所述验证者端根据所述混合加密点数据确定多项式验证数据,所述多项式验证数据用于验证所述证明者端的身份。
再者,涉及步骤330,在一种或多种可能的实施例中,该步骤330具体可以包括:将所述混合加密点数据代入所述π矩阵,得到所述区块链证明摘要。
示例性地,将混合加密点数据Kxo代入所述π矩阵,得到区块链证明摘要πKxo。
需要说明的是,π矩阵是分配在特殊有限域空间的矩阵,与反π矩阵形成一个共轭关系,在生成区块链证明文件proof过程中,对相关多项式生成算法的优化和生命周期的线程数据共享起到调节作用。π矩阵的纠缠计算方式来自于椭圆加密的多域仿射性质,构建椭圆两条加密曲线及其仿射曲线,经过两次交互调用操作后,多域的交互计算形成纠缠计算,在纠缠计算的过程中产生的中间结果,排列成一个矩阵,就是π矩阵。
其次,涉及步骤340,在一种或多种可能的实施例中,所述第一多项式算法对应第一预设多项式和所述第二预设多项式,基于此,步骤340具体可以包括:
将所述区块链证明摘要分别与所述第一预设多项式和所述第二预设多项式进行多项式拍平处理,得到第一随机多项式t2π和第一哈希多项式h2π;
通过预设同态加密函数E,基于所述第一随机多项式、第一哈希多项式和所述反π矩阵,生成秘密标识。
示例性地,以第一预设多项式为t2(x),第二预设多项式为h2(x)为例,其中,x为未知量,此时,可以将区块链证明摘要πKxo分别与t2(X)和h2(X)进行多项式拍平处理,得到第一随机多项式t2(π[kx0])和第一哈希多项式h2(π[kx0])。然后,通过预设同态加密函数E,基于所述第一随机多项式、第一哈希多项式和所述反π矩阵,生成秘密标识N=P2(x0)=E(π’[t2(π[kx0])])E(π’[h2(π[kx0])])。
然后,涉及步骤350,在一种或多种可能的实施例中,将包含N的区块链证明文件即proof文件写入区块链节点。
由此,本申请实施例中的π矩阵是分配在特殊有限域空间的矩阵,与反π矩阵形成一个共轭关系,在生成proof过程中,对相关多项式生成方法的优化和生命周期的线程数据共享起到调节作用,经由π矩阵和反π矩阵的共轭关系进行过滤后,将几个G的大小的proof,缩减到几百M,使得区块链证明文件proof更加简洁,验证速度也更快,缩短了零知识证明的计算时间。
下面结合图4对本申请实施例提供的数据处理方法进行详细说明。
图4为本申请实施例提供的一种基于验证者端的数据处理方法的流程图。
如图4所示,该数据处理方法可以应用于如图1所示的数据处理架构中的验证者端,该数据处理方法具体可以包括如下步骤:
步骤410,向证明者端发送随机值;步骤420,接收证明者端反馈的混合加密点数据,混合加密点数据由随机值计算得到;步骤430,通过第二多项式算法,根据混合加密点数据Kxo,生成多项式验证数据;步骤440,从区块链节点中读取区块链证明文件,区块链证明文件包括秘密标识;步骤450,通过多项式验证数据M对秘密标识进行验证N,得到证明者端的身份验证结果。
由此,证明者端通过证明者端与验证者端之间的加密通道,接收验证者端发送的随机值并基于此进行零知识证明的验证,由于随机值是验证者端随机产生的,无法按照一定规则逆推,且由随机值确定混合加密点数据是零知识证明生成区块链证明文件proof的加密基础,所以,通过混合加密点数据无法逆推出曲线随机点数据,使得曲线随机点数据的安全性更高。另外,本申请实施例采用π矩阵来筛选验证者端提供的随机值,防止基于假数据生成proof情况发生,在通过多项式算法生成秘密标识N的过程中,采用了混合加密点数据和π矩阵的模糊计算方式,确保了加密的可靠性,以及,π矩阵是分配在特殊有限域空间的矩阵,与反π矩阵形成一个共轭关系,经由π矩阵和反π矩阵的过滤后,生成proof的过程更加简洁,这种方式极大地减少了证明大小和缩短了验证时间。
下面对上述步骤进行详细说明,具体如下所示:
首先,涉及步骤410,在一种或多种可能的实施例中,在接收到用户数据加密请求(如car文件)的情况下,向所述证明者端发送随机值。
接着,涉及步骤430,在一种或多种可能的实施例中,所述第二多项式算法对应第三预设多项式和第四预设多项式,基于此,该步骤430具体可以包括:
步骤4301,通过所述第二多项式算法,根据所述混合加密点数据Kxo和所述第三预设多项式,生成第二随机多项式t1kxo;以及,通过所述第二多项式算法,根据所述混合加密点数据Kxo和所述第四预设多项式,生成第二哈希多项式h2kxo;
步骤4302,通过预设同态加密函数E,对所述第二随机多项式t1kxo和第二哈希多项式h2kxo进行同态加密处理,生成多项式验证数据M。
示例性地,以第三预设多项式为t1(x),第三预设多项式为h1(x)为例,其中,x为未知量,此时,通过所述第二多项式算法,基于混合加密点数据Kxo,生成第二随机多项式t1(kxo)和第二哈希多项式h1(kxo);然后,通过预设同态加密函数E,对第二随机多项式t1(kxo)和第二哈希多项式h1(kxo)进行同态加密处理,生成多项式验证数据M=E(t1(kxo))E(h1(kxo))。
然后,涉及步骤450,在一种或多种可能的实施例中,所述证明者端的身份验证结果包括第一身份验证结果,所述第一身份验证结果用于表征所述证明者与所述验证者为预设协议方;基于此,步骤450具体可以包括:
在所述多项式验证数据与所述秘密标识匹配的情况下,将所述第一身份验证结果确定为所述证明者端的身份验证结果。
反之,所述证明者端的身份验证结果包括第二身份验证结果,所述第二身份验证结果用于表征所述证明者与所述验证者为非协议方,基于此,步骤450具体可以包括:
在所述多项式验证数据与所述秘密标识不匹配的情况下,将所述第二身份验证结果确定为所述证明者端的身份验证结果。
为了更好的说明上述内容,下面结合图5为例,对本申请实施例中的数据处理方法进行详细说明。
如图5所示,本申请实施例提供的数据处理方法应用于验证者端(verifier)和证明者端(prover)是否知道同一个秘密,即n阶多项式P(x)的n个系数即[a1,a2,......,an])。秘密(n位数组[a1,a2,......,an])的验证步骤是:
Verifier随机选择一个随机值x0,将x0发送给prover;
prover接收到x0后,在预设椭圆加密曲线上随机选择一个目标点,将目标点的目标点数据确定为所述曲线随机点数据K;
prover通过预设混合算法,对x0和K进行混合处理,得到所述混合加密点数据Kxo,并向prover发送Kxo;
prover将kx0代入π矩阵生成π[kx0],再通过t2(x)和h2(x)计算出t2(π[kx0])和h2(π[kx0]),通过预设同态加密函数E,生成秘密标识N=P2(x0)=E(π’[t2(π[kx0])])E(π’[h2(π[kx0])]),并将包含N的区块链证明文件proof写入区块链节点;
以及,Verifier通过预设同态加密函数E,基于t1(x)、h1(x)、Kxo,生成多项式验证数据M=E(t1(kxo))E(h1(kxo)),并从区块链节点中读取区块链证明文件,所述区块链证明文件包括秘密标识N,通过所述多项式验证数据M对所述秘密标识进行验证N,在M与N匹配如M与N相等的情况下,则代表prover知道秘密,即所述证明者与所述验证者为预设协议方,反之,在M与N不匹配如M与N不相等的情况下,则代表prover不知道秘密,即所述证明者与所述验证者不为预设协议方,其中,秘密是多项式的系数即[a1,a2,......,an]。
需要说明的是,区块链proof证明文件生成过程,是要把一个问题改造成一个关于多项式系数的陈述(知道还是不知道秘密),该文件是有0和1组成的,文件中写入π矩阵,作为区块链证明摘要,其中,proof是prover对陈述问题的充分计算后得到计算结果。
verifier利用多项式一致性检查协议来验证一个区块链proof的方式,其中,多项式一致性检查协议的原理是P(x)代表变量为x证明多项式,t(x)代表变量x的随机多项式,h(x)代表变量为x的哈希多项式,P(x)=t(x)h(x)。基于此,区块链proof相关多项式生成方法的推导过程如下,从第一步到第四步的过程,是逐步进化的过程,第四步是本申请实施例中采用对比M与N的原因,以及基于M与N的对比结果验证者端验证证明者端的身份的结论。
基于此,第一步,分解出要验证的两个多项式,要检查的程序被编译成多项式的二次方程:t(x)h(x)=π’[t(π[x])]×π’[h(π[x])]。其中,当且仅当程序计算正确时,该等式才成立,证明者端要说服验证者端这种等式成立。第一步结论,需要验证的两个多项式是:t(x)h(x)=π’[t(π[x])]×π’[h(π[x])]。
第二步,随机数验证两个多项式,在第一步的基础上,引入随机数来简化计算过程。验证者端选择一个随机值作为秘密评估点,来将问题从多项式相乘和多项式函数相等性减少到对数字进行简单的乘法和相等性检查:t(x0)h(x0)=π’[t(π[x0])]×π’[h(π[x0])]。通过将x0代入左右两端的多项式,判断它们是否相等,来验证这个两个多项式是否相同,这种方法极大地减少了证明大小和验证时间,是简洁的验证方法。第二步结论,需要验证的两个多项式是:t(x0)h(x0)=π’[t(π[x0])]×π’[h(π[x0])]。
第三步,通过预设同态加密函数,验证两个被加密的多项式,即使用一个同态加密函数E,进行同态加密验证,在证明者端不知道随机值的情况下,计算E(t(x0))、E(h(x0))、E(π’[t(π[x0])])、E(π’[h(π[x0])),通过判断E(t(x0))E(h(x0))与E(π’[t(π[x0])])×E(π’[h(π[x0])])是否相等,来验证验证者端和证明者端是否知道同一个多项式。第三步结论,需要验证的两个多项式是:E(t(x0))E(h(x0))=E(π’[t(π[x0])])E(π’[h(π[x0])])。这里,第三步的多项式验证方法是加密的,而第二步的验证方法不是加密的。
第四步,证明者端也生成一个曲线随机点数据K,用k乘以E(π’[t(π[x0])])×E(π’[h(π[x0])]),由于预设椭圆加密曲线的上点的交换率,k被置换到多项式中。第四步结论,需要验证的两个多项式是:E(t(kx0))E(h(kx0))=E(π’[t(π[kx0])])E(π’[h(π[kx0])])。第四步的多项式验证方法是隐藏了x0,而第三步的x0是暴露的。
通过以上四步的论证过程,得出最终结论是用于验证证明者端和验证者端是否知道同一个秘密(n阶多项式P(x)的n个系数即[a1,a2,......,an])的验证方法是,验证下列等式:即M=E(t1(kx0))E(h1(kx0)),N=E(π’[t2(π[kx0])])E(π’[h2(π[kx0])]),如果M=N,则说明证明者端和验证者端知道同一个秘密。
由此,在prover和verifier在加密交互过程中,x0是verifier随机产生的,是安全的,混合加密点数据Kxo是加密点,通过kx0,无法逆推出曲线随机点数据K,使得曲线随机点数据K也是安全的。区块链证明文件是加密的证明电路,也是安全的,所以,verifier和prover之间的加密通信是安全的。以及,本申请实施例还考虑到了假数据困扰的情况,采用π矩阵来筛选verifier提供的随机数,在多项式的生成过程中,采用了模糊计算的方法,确保了加密的可靠性。
基于π矩阵多项式生成算法的零知识证明,采用零知识证明对海量交易数据进行证明计算,保护交易数据的隐私,缩短了零知识证明计算过程比较消耗时间。引入π矩阵与反π矩阵形成一个共轭关系的证明文件系统,提高计算效能和安全性。如此,本申请实施例提供的数据处理方法,突破多项式生成计算引起的内存安全和数据争用的效率瓶颈,提高零知识证明的计算效率。用户通过将大文件bigfile通过πclient generate-car模块,生成car文件,将car文件发送给矿工节点,通过π矩阵与反π矩阵形成一个共轭关系,在生成区块链证明文件proof过程中,对陈述进行筛选,将几个G的大小缩减到几百M,使得证明文件proof更加简洁,由于用户的大文件以碎片的方式存入矿工节点,在提取时候,可以快速得到解密的大文件bigfile。
基于相同的发明构思,本申请还提供了一种数据处理装置。具体结合图6进行详细说明。
图6是本申请一个实施例提供的基于证明者端的数据处理装置的结构示意图。
在本申请一些实施例中,图6所示数据处理装置可以设置于如图1所示的证明者端。
如图6所示,该数据处理装置60具体可以包括:
接收模块601,用于接收验证者端提供的随机值;
计算模块602,用于通过椭圆加密曲线算法,根据随机值和曲线随机点数据,得到混合加密点数据;
生成模块603,用于根据混合加密点数据和π矩阵,生成区块链证明摘要;
生成模块603还用于,通过第一多项式算法,根据区块链证明摘要和反π矩阵,生成秘密标识;
存储模块604,用于将包括秘密标识的区块链证明文件存储到区块链节点,区块链证明文件用于验证者端验证证明者端的身份。
在本申请实施例中,证明者端接收验证者端发送的随机值并基于此进行零知识证明的验证,由于随机值是验证者端随机产生的,无法按照一定规则逆推,且由随机值确定混合加密点数据是零知识证明生成区块链证明文件proof的加密基础,所以,通过混合加密点数据无法逆推出曲线随机点数据,使得曲线随机点数据的安全性更高。另外,本申请实施例采用π矩阵来筛选验证者端提供的随机值,防止基于假数据生成proof情况发生,在通过多项式算法生成秘密标识N的过程中,采用了混合加密点数据和π矩阵的模糊计算方式,确保了加密的可靠性,以及,π矩阵是分配在特殊有限域空间的矩阵,与反π矩阵形成一个共轭关系,基于此,在生成proof过程中,对相关多项式生成方法的优化和生命周期的线程数据共享起到调节作用,经由π矩阵和反π矩阵的过滤后,生成proof的过程更加简洁,验证速度也更快。如此,基于π矩阵与反π矩阵形成的共轭关系,采用零知识证明对海量交易数据进行证明计算,在生成proof过程中,可以有效保护交易数据的隐私,并将几个G的大小缩减到几百M,在避免内存浪费的同时,缩短了零知识证明的计算时间,提高了零知识证明的计算效率。
下面分别对本申请实施例中数据处理装置60进行详细说明。
在一种或者多种可选的实施例中,本申请实施例中的数据处理装置60还可以包括:选择模块、确定模块和处理模块;其中,
选择模块,用于从预设椭圆加密曲线上随机选择一个目标点,目标点对应目标点数据;
确定模块,用于将目标点数据确定为曲线随机点数据;
处理模块,用于通过预设混合算法,对随机值和曲线随机点数据进行混合处理,得到混合加密点数据。
在另一种或者多种可选的实施例中,生成模块603具体用于,将混合加密点数据代入π矩阵,得到区块链证明摘要。
在又一种或者多种可选的实施例中,生成模块603具体用于,在第一多项式算法对应第一预设多项式和第二预设多项式的情况下,将区块链证明摘要分别与第一预设多项式和第二预设多项式进行多项式拍平处理,得到第一随机多项式和第一哈希多项式;
通过预设同态加密函数,基于第一随机多项式、第一哈希多项式和反π矩阵,生成秘密标识。
在再一种或者多种可选的实施例中,本申请实施例中的数据处理装置60还可以包括发送模块;其中,
发送模块,用于向验证者端发送混合加密点数据,混合加密点数据用于验证者端根据混合加密点数据确定多项式验证数据,多项式验证数据用于验证证明者端的身份。
图7是本申请一个实施例提供的基于验证者端的数据处理装置的结构示意图。
在本申请一些实施例中,图7所示数据处理装置可以设置于如图1所示的验证者端。
如图7所示,该数据处理装置70具体可以包括:
发送模块701,用于向证明者端发送随机值;
接收模块702,用于接收证明者端反馈的混合加密点数据,混合加密点数据由随机值计算得到;
生成模块703,用于通过第二多项式算法,根据混合加密点数据,生成多项式验证数据;
读取模块704,用于从区块链节点中读取区块链证明文件,区块链证明文件包括秘密标识;
验证模块705,用于通过多项式验证数据对秘密标识进行验证,得到证明者端的身份验证结果。
在本申请实施例中,证明者端通过证明者端与验证者端之间的加密通道,接收验证者端发送的随机值并基于此进行零知识证明的验证,由于随机值是验证者端随机产生的,无法按照一定规则逆推,且由随机值确定混合加密点数据是零知识证明生成区块链证明文件proof的加密基础,所以,通过混合加密点数据无法逆推出曲线随机点数据,使得曲线随机点数据的安全性更高。另外,本申请实施例采用π矩阵来筛选验证者端提供的随机值,防止基于假数据生成proof情况发生,在通过多项式算法生成秘密标识N的过程中,采用了混合加密点数据和π矩阵的模糊计算方式,确保了加密的可靠性,以及,π矩阵是分配在特殊有限域空间的矩阵,与反π矩阵形成一个共轭关系,经由π矩阵和反π矩阵的过滤后,生成proof的过程更加简洁,这种方式极大地减少了证明大小和缩短了验证时间。
下面分别对本申请实施例中数据处理装置70进行详细说明。
在一种或者多种可选的实施例中,发送模块701还可以用于,在接收到用户数据加密请求的情况下,向证明者端发送随机值。
在另一种或者多种可选的实施例中,生成模块703具体可以用于,在第二多项式算法对应第三预设多项式和第四预设多项式的情况下,通过第二多项式算法,根据混合加密点数据和第三预设多项式,生成第二随机多项式;以及,通过第二多项式算法,根据混合加密点数据和第四预设多项式,生成第二哈希多项式;
通过预设同态加密函数,对第二随机多项式和第二哈希多项式进行同态加密处理,生成多项式验证数据。
在又一种或者多种可选的实施例中,本申请实施例中数据处理装置70还可以包括确定模块;其中,
确定模块,用于在证明者端的身份验证结果包括第一身份验证结果,第一身份验证结果用于表征证明者与验证者为预设协议方、且多项式验证数据与秘密标识匹配的情况下,将第一身份验证结果确定为证明者端的身份验证结果。
基于相同的发明构思,本申请还提供了一种计算机设备。具体结合图8进行详细说明。
图8是本申请一个实施例提供的计算机设备的结构示意图。
如图8所示,该计算机设备可以包括本申请实施例中涉及的下述中的至少一种:电子设备、服务器。其中,该计算机设备可以包括处理器801以及存储有计算机程序指令的存储器802。
具体地,上述处理器801可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器802可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器802可在综合网关容灾设备的内部或外部。在特定实施例中,存储器802是非易失性固态存储器。在特定实施例中,存储器802包括固态存储(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器801通过读取并执行存储器802中存储的计算机程序指令,以实现上述实施例中的任意一种数据处理方法。
在一个示例中,数据处理设备还可包括通信接口803和总线810。其中,如图8所示,处理器801、存储器802、通信接口803通过总线810连接并完成相互间的通信。
通信接口803,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线810包括硬件、软件或两者,将流量控制设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该数据处理设备可以执行本申请实施例中的数据处理方法,从而实现结合图1至图5描述的数据处理方法和装置。
另外,结合上述实施例中的数据处理方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据处理方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (13)
1.一种数据处理方法,其特征在于,应用于证明者端,包括:
接收验证者端提供的随机值;
通过椭圆加密曲线算法,根据所述随机值和曲线随机点数据,得到混合加密点数据;
根据所述混合加密点数据和π矩阵,生成区块链证明摘要;
通过第一多项式算法,根据所述区块链证明摘要和反π矩阵,生成秘密标识;
将包括所述秘密标识的区块链证明文件存储到区块链节点,所述区块链证明文件用于所述验证者端验证证明者端的身份。
2.根据权利要求1所述的方法,其特征在于,所述通过椭圆加密曲线算法,根据所述随机值和曲线随机点数据,得到混合加密点数据,包括:
从预设椭圆加密曲线上随机选择一个目标点,所述目标点对应目标点数据;
将所述目标点数据确定为所述曲线随机点数据;
通过预设混合算法,对所述随机值和曲线随机点数据进行混合处理,得到所述混合加密点数据。
3.根据权利要求1所述的方法,其特征在于,所述根据所述混合加密点数据和π矩阵,生成区块链证明摘要,包括:
将所述混合加密点数据代入所述π矩阵,得到所述区块链证明摘要。
4.根据权利要求1所述的方法,其特征在于,所述第一多项式算法对应第一预设多项式和所述第二预设多项式;所述通过第一多项式算法,根据所述区块链证明摘要和反π矩阵,生成秘密标识,包括:
将所述区块链证明摘要分别与所述第一预设多项式和所述第二预设多项式进行多项式拍平处理,得到第一随机多项式和第一哈希多项式;
通过预设同态加密函数,基于所述第一随机多项式、第一哈希多项式和所述反π矩阵,生成秘密标识。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
向所述验证者端发送所述混合加密点数据,所述混合加密点数据用于所述验证者端根据所述混合加密点数据确定多项式验证数据,所述多项式验证数据用于验证所述证明者端的身份。
6.一种数据处理方法,其特征在于,应用于验证者端,包括:
向证明者端发送随机值;
接收所述证明者端反馈的混合加密点数据,所述混合加密点数据由所述随机值计算得到;
通过第二多项式算法,根据所述混合加密点数据,生成多项式验证数据;
从区块链节点中读取区块链证明文件,所述区块链证明文件包括秘密标识;
通过所述多项式验证数据对所述秘密标识进行验证,得到所述证明者端的身份验证结果。
7.根据权利要求6所述的方法,其特征在于,所述向证明者端发送随机值,包括:
在接收到用户数据加密请求的情况下,向所述证明者端发送随机值。
8.根据权利要求6所述的方法,其特征在于,所述第二多项式算法对应第三预设多项式和第四预设多项式;所述通过第二多项式算法,根据所述混合加密点数据,生成多项式验证数据,包括:
通过所述第二多项式算法,根据所述混合加密点数据和所述第三预设多项式,生成第二随机多项式;以及,通过所述第二多项式算法,根据所述混合加密点数据和所述第四预设多项式,生成第二哈希多项式;
通过预设同态加密函数,对所述第二随机多项式和第二哈希多项式进行同态加密处理,生成多项式验证数据。
9.根据权利要求6所述的方法,其特征在于,所述证明者端的身份验证结果包括第一身份验证结果,所述第一身份验证结果用于表征所述证明者与所述验证者为预设协议方;所述通过所述多项式验证数据对所述秘密标识进行验证,得到所述证明者端的身份验证结果,包括:
在所述多项式验证数据与所述秘密标识匹配的情况下,将所述第一身份验证结果确定为所述证明者端的身份验证结果。
10.一种数据处理装置,其特征在于,应用于证明者端,所述装置包括:
接收模块,用于接收验证者端提供的随机值;
计算模块,用于通过椭圆加密曲线算法,根据所述随机值和曲线随机点数据,得到混合加密点数据;
生成模块,用于根据所述混合加密点数据和π矩阵,生成区块链证明摘要;
所述生成模块还用于,通过第一多项式算法,根据所述区块链证明摘要和反π矩阵,生成秘密标识;
存储模块,用于将包括所述秘密标识的区块链证明文件存储到区块链节点,所述区块链证明文件用于所述验证者端验证证明者端的身份。
11.一种数据处理方法,其特征在于,应用于验证者端,包括:
发送模块,用于向证明者端发送随机值;
接收模块,用于接收所述证明者端反馈的混合加密点数据,所述混合加密点数据由所述随机值计算得到;
生成模块,用于通过第二多项式算法,根据所述混合加密点数据,生成多项式验证数据;
读取模块,用于从区块链节点中读取区块链证明文件,所述区块链证明文件包括秘密标识;
验证模块,用于通过所述多项式验证数据对所述秘密标识进行验证,得到所述证明者端的身份验证结果。
12.一种计算机设备,所述计算设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-5任意一项所述的数据处理方法、或者如权利要求6-9任意一项所述的数据处理方法。
13.一种存储介质,所述存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-5任意一项所述的数据处理方法、或者如权利要求6-9任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211695435.3A CN116599669A (zh) | 2022-12-28 | 2022-12-28 | 数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211695435.3A CN116599669A (zh) | 2022-12-28 | 2022-12-28 | 数据处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116599669A true CN116599669A (zh) | 2023-08-15 |
Family
ID=87592564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211695435.3A Pending CN116599669A (zh) | 2022-12-28 | 2022-12-28 | 数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116599669A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155570A (zh) * | 2023-10-30 | 2023-12-01 | 北京天润基业科技发展股份有限公司 | 密文置换方法、存储介质及电子设备 |
CN117278213A (zh) * | 2023-10-31 | 2023-12-22 | 杭州趣链科技有限公司 | 基于多项式承诺的方法、电子设备及可读存储介质 |
-
2022
- 2022-12-28 CN CN202211695435.3A patent/CN116599669A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155570A (zh) * | 2023-10-30 | 2023-12-01 | 北京天润基业科技发展股份有限公司 | 密文置换方法、存储介质及电子设备 |
CN117155570B (zh) * | 2023-10-30 | 2024-01-23 | 北京天润基业科技发展股份有限公司 | 密文置换方法、存储介质及电子设备 |
CN117278213A (zh) * | 2023-10-31 | 2023-12-22 | 杭州趣链科技有限公司 | 基于多项式承诺的方法、电子设备及可读存储介质 |
CN117278213B (zh) * | 2023-10-31 | 2024-02-09 | 杭州趣链科技有限公司 | 基于多项式承诺的方法、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046996B (zh) | 数据处理方法和装置 | |
JP2024073535A (ja) | ブロックチェーンを用いる論理ゲート機能の実装 | |
US10846372B1 (en) | Systems and methods for trustless proof of possession and transmission of secured data | |
CN109417479A (zh) | 密码逻辑可重写区块链 | |
CN116599669A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN118041602A (zh) | 使用调解器计算机系统确保计算机程序正确执行的系统和方法 | |
CN112084234B (zh) | 数据获取方法、装置、设备和介质 | |
CN107851169B (zh) | 计算系统、计算装置、其方法及记录介质 | |
CN111311258B (zh) | 基于区块链的可信交易方法、装置、系统、设备及介质 | |
CN114358782A (zh) | 区块链交易审计方法、装置、设备及存储介质 | |
CN111241586B (zh) | 区块链地址匿名处理方法及系统、终端、存储介质 | |
US11676111B1 (en) | Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing | |
CN112734423A (zh) | 一种基于区块链的交易方法及终端设备 | |
CN111817859A (zh) | 基于零知识证明的数据共享方法、装置、设备及存储介质 | |
Deshpande et al. | Safe: A blockchain and secure element based framework for safeguarding smart vehicles | |
CN114514550A (zh) | 将请求分区成区块链的交易 | |
CN112751675B (zh) | 一种基于区块链的信息监控方法、系统、设备及存储介质 | |
Chen et al. | How to bind a TPM’s attestation keys with its endorsement key | |
CN114026586A (zh) | 用于授予对加密资产的访问权的零知识或有支付协议 | |
CN111861489A (zh) | 基于区块链的金融产品交易份额确定方法及装置 | |
CN110766407A (zh) | 基于区块链的交易验证方法、记账节点及介质 | |
CN112749964B (zh) | 一种信息监控方法、系统、设备及存储介质 | |
CN112887097A (zh) | 基于sm2椭圆曲线的签名方法、相关装置、及存储介质 | |
JP2007157021A (ja) | 耐タンパ証明携帯プログラム配信システム及びその方法 | |
CN109523258A (zh) | Pos用户公钥安全认证方法、装置和终端设备 |
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 |