CN111277416B - 交互式零知识证明方法、装置、计算机设备和存储介质 - Google Patents

交互式零知识证明方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111277416B
CN111277416B CN202010037165.1A CN202010037165A CN111277416B CN 111277416 B CN111277416 B CN 111277416B CN 202010037165 A CN202010037165 A CN 202010037165A CN 111277416 B CN111277416 B CN 111277416B
Authority
CN
China
Prior art keywords
polynomial
verification node
linear combination
node
polynomials
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
Application number
CN202010037165.1A
Other languages
English (en)
Other versions
CN111277416A (zh
Inventor
袁立威
李志辉
王凌斌
陈海洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An E Wallet Electronic Commerce Co Ltd
Original Assignee
Ping An E Wallet Electronic Commerce Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An E Wallet Electronic Commerce Co Ltd filed Critical Ping An E Wallet Electronic Commerce Co Ltd
Priority to CN202010037165.1A priority Critical patent/CN111277416B/zh
Publication of CN111277416A publication Critical patent/CN111277416A/zh
Application granted granted Critical
Publication of CN111277416B publication Critical patent/CN111277416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3026Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请涉及一种交互式零知识证明方法、装置、计算机设备和存储介质,其中,方法包括:将资源转移数据转换成零知识证明,获取零知识证明对应的计算机完整性语言数据,再将计算机完整性语言数据转换成多项式约束形式,基于FRI协议对线性组合多项式进行低度测试,发送低度测试数据至所述验证节点,由所述验证节点根据所述低度测试数据验证所述线性组合多项式的最大度数是否小于预设值,当接受所述验证节点反馈的证明接受消息时,判定本次资源转移有效。整个过程中,无需第三方进行公共参数设置,基于FRI协议将需证明的内容转换为线性组合多项式进行低度测试过程,避免第三方作恶,显著的提高零知识证明安全性。

Description

交互式零知识证明方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机加密技术领域,特别是涉及一种交互式零知识证明方法、装置、计算机设备和存储介质。
背景技术
当前社会正处于信息时代,要解决好各种安全问题,密码技术的应用必不可少。目前密码学在网络、通信、支付等领域也有了广泛的应用,与人类的生活息息相关,可以说,密码学是解决现代信息安全技术的核心技术之一,在对信息安全有极高要求的资源转移网络(如交易网络,支付网络等)中,密码学更是重中之重。
在传统资源转移网络中,其资源转移者可能是匿名的或者是由网络分配的临时身份,在资源转移网络上的身份所做的所有资源转移信息是透明的,也就是说第三方可以通过持续观察资源转移网络上的资源转移信息,比如资源转移金额、资源转移时间等,去把这些资源转移和某个真实的人去来联系到一起,因此,传统资源转移网络中资源转移者实际上是半匿名的。针对这种问题,密码学专家们作出了不少努力,研究出了针对性的技术,其中零知识证明技术最具代表性。零知识证明技术凭借其数学保障性,除了唯一的解之外,其他任何数字都无法解码,使其具有极高的隐私性及安全性,目前已经得到广泛应用。
零知识证明技术虽然有上述优势,但是其同样存在缺陷,计算机网络在应用零知识证明技术时,需依赖第三方完成公共参数的设置,如果第三方作恶,则无法建立可靠的零知识证明,对整个资源转移网络中资源转移带来风险。
发明内容
基于此,有必要针对上述技术问题,提供一种安全的交互式零知识证明方法、装置、计算机设备和存储介质。
一种交互式零知识证明方法,所述方法包括:
获取资源转移网络中资源转移节点产生的资源转移数据;
根据所述资源转移数据生成零知识证明,获取所述零知识证明对应的计算机完整性语言数据;
将计算机完整性语言数据分别转换成多项式约束形式得到多项式,并将多项式线性组合后发送至验证节点;
基于FRI协议对线性组合多项式进行低度测试,发送低度测试数据至所述验证节点,由所述验证节点根据所述低度测试数据验证所述线性组合多项式的最大度数是否小于预设值;
当接受所述验证节点反馈的证明接受消息时,判定本次资源转移有效,所述证明接受消息由所述验证节点根据所述低度测试数据验证所述线性组合多项式的最大度数小于预设值时生成。
在其中一个实施例中,所述将计算机完整性语言数据分别转换成多项式约束形式得到多项式,并将多项式线性组合后发送至验证节点包括:
将所述计算机完整性语言数据编码成多项式,将所述多项式分别发送至所述验证节点;
接收所述验证节点反馈的组合因子,根据所述组合因子将所述计算机完整性语言数据对应的多项式进行线性组合,得到线性组合多项式;
将所述线性组合多项式发送至所述验证节点,由所述验证节点验证所述线性组合多项式中组合因子为已反馈至证明节点的组合因子。
在其中一个实施例中,所述将所述计算机完整性语言数据编码成多项式包括:
根据计算机完整性语言数据生成初始多项式A;
提取所述计算机完整性语言数据中输入向量x;
根据所述初始多项式A和所述输入向量x生成执行跟踪,记录每一步执行的多项式输入和多项式输出;
根据记录的数据,采用reed-solomon算法对多项式系数进行纠错,得到所述计算机完整性语言数据对应的多项式。
在其中一个实施例中,所述基于FRI协议对线性组合多项式进行低度测试,发送所述低度测试数据至验证节点包括:
获取线性组合多项式的度数,将所述线性组合多项式分解为两个度数相同的组合多项式;
发送分解后的组合多项式至所述验证节点,接收所述验证节点发送的随机数;
将所述随机数更新至分解后的组合多项式,并将更新后的组合多项式发送至所述验证节点;
将分解后的组合多项式重新作为新的线性组合多项式,返回所述获取线性组合多项式的度数,将所述线性组合多项式分解为两个度数相同的组合多项式的步骤,直至得到只包含常量因子的多项式;
推送所述只包含常量因子的多项式至所述验证节点。
在其中一个实施例中,所述推送所述只包含常量因子的多项式至所述验证节点之后,还包括:
接收所述验证节点发送的查询消息,所述查询消息携带所述验证节点在预设数值范围内生成的随机数Z和-Z;
计算变量为Z和变量为-Z时分解后的组合多项式的值,并将分解后的组合多项式的值反馈至所述验证节点;
接收所述验证节点查询分解前线性组合多项式的值的消息,反馈分解前线性组合多项式的值至所述验证节点,以使所述验证节点验证对比接收到的分解前线性组合多项式的值与本地已存的分解前线性组合多项式的值,所述本地已存的分解前线性组合多项式的值由验证节点根据分解后的组合多项式的值计算得到,当对比结果表征一致时,所述验证节点判定本次接收到的线性组合多项式正确;
接收所述验证节点返回的证明接受消息,所述证明接受消息由所述验证节点验证每次接收的线性组合多项式正确时生成。
在其中一个实施例中,所述资源转移数据包括资源转出地址、资源接收地址以及资源转移值,所述计算机完整性语言数据包括资源转出地址合法性校验数据、资源接收地址合法性校验数据、余额合法性校验数据以及转账平衡校验数据。
一种交互式零知识证明装置,所述装置包括:
获取模块,用于获取资源转移网络中资源转移节点产生的资源转移数据;
计算机完整性语言数据获取模块,用于根据所述资源转移数据生成零知识证明,获取所述零知识证明对应的计算机完整性语言数据;
多项式约束模块,用于将计算机完整性语言数据分别转换成多项式约束形式得到多项式,并将多项式线性组合后发送至验证节点;
低度测试模块,用于基于FRI协议对线性组合多项式进行低度测试,发送所述低度测试数据至所述验证节点,由所述验证节点根据所述低度测试数据验证所述线性组合多项式的最大度数是否小于预设值;
判定模块,用于当接受所述验证节点反馈的证明接受消息时,判定本次资源转移有效,所述证明接受消息由所述验证节点根据所述低度测试数据验证所述线性组合多项式的最大度数小于预设值时生成。
在其中一个实施例中,所述多项式约束模块还用于将所述计算机完整性语言数据编码成多项式,将所述多项式分别发送至所述验证节点;
接收所述验证节点反馈的组合因子,根据所述组合因子将所述计算机完整性语言数据对应的多项式进行线性组合,得到线性组合多项式;
将所述线性组合多项式发送至所述验证节点,由所述验证节点验证所述线性组合多项式中组合因子为已反馈至证明节点的组合因子。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的方法的步骤。
上述交互式零知识证明方法、装置、计算机设备和存储介质,将资源转移数据转换成零知识证明,获取零知识证明对应的计算机完整性语言数据,再将计算机完整性语言数据转换成多项式约束形式,基于FRI协议对线性组合多项式进行低度测试,发送低度测试数据至所述验证节点,由所述验证节点根据所述低度测试数据验证所述线性组合多项式的最大度数是否小于预设值,当接受所述验证节点反馈的证明接受消息时,判定本次资源转移有效。整个过程中,无需第三方进行公共参数设置,基于FRI协议将需证明的内容转换为线性组合多项式进行低度测试过程,避免第三方作恶,显著的提高零知识证明安全性。
附图说明
图1为一个实施例中交互式零知识证明方法的应用环境图;
图2为一个实施例中交互式零知识证明方法的流程示意图;
图3为另一个实施例中交互式零知识证明方法的流程示意图;
图4为又一个实施例中步骤S400的子流程示意图;
图5为一个实施例中交互式零知识证明装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的交互式零知识证明方法,可以应用于如图1所示的应用环境中。资源转移网络120中某个节点122发生资源转移(交易),服务器110获取本次资源转移事件对应的资源转移数据,根据资源转移数据生成零知识证明,获取零知识证明对应的计算机完整性语言数据,将计算机完整性语言数据分别转换成多项式约束形式得到多项式,并将多项式线性组合后发送至验证节点,基于FRI协议对线性组合多项式进行低度测试,发送低度测试数据至验证节点,由验证节点根据低度测试数据验证线性组合多项式的最大度数是否小于预设值,当接受验证节点反馈的证明接受消息时,判定本次资源转移有效,证明接受消息由验证节点根据低度测试数据验证线性组合多项式的最大度数小于预设值时生成,服务器将反馈授权消息至该资源转移节点。具体来说,服务器110可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种交互式零知识证明方法,以该方法应用于图1中的证明节点为例进行说明,包括以下步骤:
S100:获取资源转移网络中资源转移节点产生的资源转移数据。
资源转移网络具体可以为交易网络,更具体可以为进行交易的区块链网络。在资源转移网络中包括多有多个资源转移节点,资源可以从一个节点转移至另外一个节点。以交易网络为例,资金从交易节点A转移至交易节点B,在资源转移的过程中为确保资源的安全,需要对本次资源转移操作进行证明,这个证明的过程即为本申请互式零知识证明方法的方案。资源转移数据具体可以包括资源转出地址、资源接收地址以及转移资源值,当资源转移网络中某个资源转移节点需要转移资源时,资源转移网络中证明节点捕捉到该事件,获取本次资源转移事件对应的资源转移数据。以基于区块链的交易网络为例,在区块链中某个节点发生交易时,获取该笔交易对应的交易数据,交易数据包括资金转出地址s、资金接收地址r以及转账金额v。
S200:根据资源转移数据生成零知识证明,获取零知识证明对应的计算机完整性语言数据。
零知识证明主要需要证明资源转移数据是合法有效的,具体来说,零知识证明包括资源转出地址合法性校验、资源接收地址合法性校验、资源转出地址对应余额合法性校验以及资源转移(资源转出地址、资源接收地址以及转移资源值)平衡校验。继续以基于区块链的交易网络为例,交易网络中交易节点发生交易的同时,证明节点获取交易数据并且生成一份零知识证明,该零知识证明试图证明以下内容:资金转出地址s合法性校验;资金接收地址r合法性校验;资金转出地址s对应的余额合法校验;转账(s,r,v)平衡校验。将生成的零知识证明采用计算机完整性语言表述,得到零知识证明对应的计算机完整性语言数据。
S300:将计算机完整性语言数据分别转换成多项式约束形式得到多项式,并将多项式线性组合后发送至验证节点。
简单来说,整个零知识证明过程为:证明节点将它想证明的内容(计算机完整性语言数据),转换成代数形式(组合多项式),即问题转换为:证明节点由最初的证明:我知道x,使得计算机完整性语言成立,变成证明:组合多项式是低于某个阶数的,证明的过程由FRI实现(后续内容会详细解释)。整个过程中,验证节点不会知道x中的任何信息,因此是零知识的,又因为证明过程中,证明者和验证者之间存在交互,因此证明又是交互式的。其中x一个向量,其具体可以为资源转出地址s、资源接收地址r以及资源转移值v。具体来说,上述转换过程为:证明节点将要证明的内容转换成真正的数学表达式的形式,举个简单的示例,证明节点想要证明“我知道x,y,满足x+y=5,且x,y均小于4”,那么其对应的计算机完整性语言数据转换成的代数方程组形式:1、x+y=5;2、x<4;3、y<4。
可以采用编码的方式将计算机完整性语言数据分别转换成多项式约束形式得到多项式,再将多项式线性组合之后发送至验证节点,以便验证节点进行后续的多项式验证操作。
S400:基于FRI协议对线性组合多项式进行低度测试,发送低度测试数据至验证节点,由验证节点根据低度测试数据验证线性组合多项式的最大度数是否小于预设值。
证明节点向验证节点证明组合多项式的最大度数是小于固定预设值的。具体来说,其包括发生在证明节点侧的提交(Commit)阶段以及主要发生在验证节点的查询阶段。固定预设值是预先设定的值,FRI协议实现并没有用到离散对数难题,只是一些简单的数学论证与实现过程,因此,使用该协议的本申请可以不依赖于数学难题假设,具有抗量子性。低度测试是指如之前提到的,将零知识证明转换为多项式形式,证明节点向验证节点证明该多项式的阶数(幂)是低于某个阶数(固定的预设值)的。在低度测试过程中,证明节点将低度测试数据发送验证节点,由验证节点来验证低度测试过程中产生的数据是否正确,具体来说低度测试过程中产生的数据主要为低度测试过程中降阶(幂)的线性组合多项式。证明节点将低度测试过程中每次降阶(幂)产生的线性组合多项式发送至验证节点。
S500:当接受验证节点反馈的证明接受消息时,判定本次资源转移有效,证明接受消息由验证节点根据低度测试数据验证线性组合多项式的最大度数小于预设值时生成。
当验证节点验证证明节点在低度测试过程中的数据均正确时,验证节点验证线性组合多项式的最大度数小于预设值,此时验证节点生成证明接收消息,即验证节点接收之前生成的零知识证明,本次资源转移是合法有效的。具体来说,验证节点是验证证明节点在低度测试过程中发送的线性组合多项式是否正确,若线性组合多项式均正确,则验证通过。更进一步来说,验证节点可以本地计算线性组合多项式的值,另外请求证明点发送该线性组合多项式的值,当两者一致时,表明线性组合多项式正确。
上述交互式零知识证明方法,将资源转移数据转换成零知识证明,获取零知识证明对应的计算机完整性语言数据,再将计算机完整性语言数据转换成多项式约束形式,基于FRI协议对线性组合多项式进行低度测试,发送低度测试数据至验证节点,由验证节点根据低度测试数据验证线性组合多项式的最大度数是否小于预设值,当接受验证节点反馈的证明接受消息时,判定本次资源转移有效。整个过程中,无需第三方进行公共参数设置,基于FRI协议将需证明的内容转换为线性组合多项式进行低度测试过程,避免第三方作恶,显著的提高零知识证明安全性。
如图3所示,在其中一个实施例中,步骤S300包括:
S320:将计算机完整性语言数据编码成多项式,将多项式分别发送至验证节点。
S340:接收验证节点反馈的组合因子,根据组合因子将计算机完整性语言数据对应的多项式进行线性组合,得到线性组合多项式。
S360:将线性组合多项式发送至验证节点,由验证节点验证线性组合多项式中组合因子为已反馈至证明节点的组合因子。
证明节点可以根据计算机完整性语言数据得到初始多项式A,根据生成的多项式A以及输入的向量x生成执行跟踪,统计每一步执行对应的输入以及输出结果,根据输入以及输出结果,采用reed-solomon算法调整多项式A中系数,得到计算机完整性语言数据对应的多项式,证明节点将多项式发送至验证节点。验证节点在接收到多项式之后,发送组合因子至证明节点,证明节点接收该组合因子,基于该组合因子将每条计算机完整性语言数据对应的多项式进行线性组合,得到组合多项式。证明节点将步骤S320和步骤S340处理得到的组合多项式发送至验证节点,验证节点进行一致性校验,以判断证明节点是否使用发送的组合因子生成组合多项式。进一步的,向量x即为上述计算机完整性语言数据中交易发起者知道的一些信息,包含转账金额、转账目的地址以及转账者的账户地址等。
如图4所示,在其中一个实施例中,步骤S400包括:
S420:获取线性组合多项式的度数,将线性组合多项式分解为两个度数相同的组合多项式。
证明节点进行低度测试的过程可以理解为对线性组合多项式进行降幂测试的过程,即进行log()运算的过程。具体来说,获取组合多项式的度数d,证明节点将组合多项式分解为两个度数相同的组合多项式,即分解后的组合多项式的度数为d/2。获取步骤S300得到的组合多项式的度数d,证明节点将该组合多项式分解为两个度数相同的组合多项式,分解后的线性组合多项的度数为d/2。为了算法逻辑简单,在这里以d=2进行示例,步骤S300得到的组合多项式为f0(x)=g0(x^2)+yh0(x^2),其分解后得到f1(x)=g0(x)+yh0(x)。其中y为多项式函数变量,该变量具体可以为后续接收到来自验证节点随机发送的a0。
S440:发送分解后的组合多项式至验证节点,接收验证节点发送的随机数。
S460:将随机数更新至分解后的组合多项式,并将更新后的组合多项式发送至验证节点。
接收验证节点重新发送的随机数a0,将该随机a0重新作为组合因子更新至分解后的组合多项式f1(x)中,得到更新后的组合多项式f1(x)=g0(x)+a0h0(x),将该组合多项式f1(x)发送至验证节点。
S480:将分解后的组合多项式重新作为新的线性组合多项式,返回获取线性组合多项式的度数,将线性组合多项式分解为两个度数相同的组合多项式的步骤,直至得到只包含常量因子的多项式。
重复S420、S440以及S460,在经过log(d)次后,原始组合多项式被log(d)次降幂,其分解为只包含常量因子的多项式,例如上述d=2时,步骤S42得到的f1(x)=g0(x)+a0h0(x)即为只包含常量因子的多项式,将该只包含常量因子的多项式至验证节点。
S490:推送只包含常量因子的多项式至验证节点。
在其中一个实施例中,推送所述只包含常量因子的多项式至所述验证节点之后,还包括:
接收验证节点发送的查询消息,查询消息携带验证节点在预设数值范围内生成的随机数Z和-Z;计算变量为Z和变量为-Z时分解后的组合多项式的值,并将分解后的组合多项式的值反馈至验证节点;接收验证节点查询分解前线性组合多项式的值的消息,反馈分解前线性组合多项式的值至验证节点,以使验证节点验证对比接收到的分解前线性组合多项式的值与本地已存的分解前线性组合多项式的值,本地已存的分解前线性组合多项式的值由验证节点根据分解后的组合多项式的值计算得到,当对比结果表征一致时,验证节点判定本次接收到的线性组合多项式正确;接收验证节点返回的证明接受消息,证明接受消息由验证节点验证每次接收的线性组合多项式正确时生成。
零知识证明过程除了上述实施例中在证明节点侧的提交阶段之后还包括在验证节点侧的查询阶段,提交阶段可以理解为由证明节点发送一系列证明数据到验证节点侧,由验证节点侧验证根据这些证明数据验证是否可以接收本次零知识证明。
具体来说,上述实施例中证明节点与验证节点交互完成查询验证过程包括如下步骤:
1、验证节点在查询验证时,验证节点预设数值L范围内,生成随机数Z,并且想证明者查询f0(Z)和f0(-Z)的数值。验证节点具体可以发送查询消息的方式询问,其具体发送携带有随机数Z和-Z的查询消息至证明节点,证明节点在接收到该查询消息时,查询随机数Z和-Z对应原始组合多项式f0(Z)和f0(-Z)的数值,并返回至验证节点。
2、验证节点根据下述方程组:
f0(z)=g0(z^2)+zh0(z^2)
f0(-z)=g0(z^2)-zh0(z^2)
得到g0(z^2)和h0(z^2)的数值,根据这两个数值可以计算出f1(z^2)的值。具体来说,根据上述方程组,可以计算得到g0(z^2)和h0(z^2)的数值,在之前步骤S43已经得到f1(x)=g0(x)+a0h0(x)的函数式,将其中x替换为z^2,则得到f1(z^2)的值。
3、验证节点向证明节点查询f1(z^2)的值,判断本地数值与证明节点反馈的数值是否一致,若一致,表明证明节点发送的多项式是正确的。
4、循环步骤2和和步骤3log(d)次后,若每一次均验证证明节点发送的多项式是正确的,则证明证明节点提供的零知识证明有效,反馈零知识证明接受消息至证明节点。验证节点重复步骤2和步骤3,在执行降幂log(d)次后,若每一次均验证证明节点发送的多项式是正确的,则表明证明节点提供的零知识证明是有效的,该零知识证明被验证节点所接受,该笔交易是有效的。
进一步来说,在一个简单的场景中上述循环降幂的过程可以参照如下实例理解。如果证明节点拥有一个度数为4的多项式,它想向验证者证明多项式度数是小于5的,那么一般的做法是:验证者向证明者随机访问6个点,用其中5个点进行拉格朗日插值(n+1点可唯一确定一个n阶多项式),得到一个度为4的多项式,然后用插值的多项式计算第6个点的值,如果与证明者提供的第六个点值相同,则说明证明者拥有的多项式和验证者插值出的多项式是同一个多项式,并且是度小于5。在实际应用中,多项式的度数往往跟高,普通的验证方式算法消耗太大,因此在本申请中采用了FRI协议,借鉴了FFT(Fast FourierTransformation,快速傅氏变换)的思想,使得复杂度由n变为log(n),根据FFT的原理,4阶多项式可以变形为2阶多项式,最后可以变形为常量形式具体过程上述已经描述,如果经过log(4)=2次,多项式就会被转化成常量形式,那就说明原多项式的次数为4。为了保证证明者的每次转化都是正确的(即防止证明者作恶),需要对每次转换的多项式进行正确性检验,换言之,若每一次均验证证明节点发送的多项式是正确的,则证明证明节点需要证明的内容是正确的,即证明节点提供的零知识证明有效,可以被验证节点接受。
5、若证明成功,则零知识证明被验证者接受,该笔交易有效。验证节点反馈证明接受消息至证明节点。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图5所示,本申请还提供一种交互式零知识证明装置,装置包括:
获取模块100,用于获取资源转移网络中资源转移节点产生的资源转移数据;
计算机完整性语言数据获取模块200,用于根据资源转移数据生成零知识证明,获取零知识证明对应的计算机完整性语言数据;
多项式约束模块300,用于将计算机完整性语言数据分别转换成多项式约束形式得到多项式,并将多项式线性组合后发送至验证节点;
低度测试模块400,用于基于FRI协议对线性组合多项式进行低度测试,发送低度测试数据至验证节点,由验证节点根据低度测试数据验证线性组合多项式的最大度数是否小于预设值;
判定模块500,用于当接受验证节点反馈的证明接受消息时,判定本次资源转移有效,证明接受消息由验证节点根据低度测试数据验证线性组合多项式的最大度数小于预设值时生成。
上述交互式零知识证明装置,将资源转移数据转换成零知识证明,获取零知识证明对应的计算机完整性语言数据,再将计算机完整性语言数据转换成多项式约束形式,基于FRI协议对线性组合多项式进行低度测试,发送低度测试数据至验证节点,由验证节点根据低度测试数据验证线性组合多项式的最大度数是否小于预设值,当接受验证节点反馈的证明接受消息时,判定本次资源转移有效。整个过程中,无需第三方进行公共参数设置,基于FRI协议将需证明的内容转换为线性组合多项式进行低度测试过程,避免第三方作恶,显著的提高零知识证明安全性。
在其中一个实施例中,多项式约束模块300还用于将计算机完整性语言数据编码成多项式,将多项式分别发送至验证节点;接收验证节点反馈的组合因子,根据组合因子将计算机完整性语言数据对应的多项式进行线性组合,得到线性组合多项式;将线性组合多项式发送至验证节点,由验证节点验证线性组合多项式中组合因子为已反馈至证明节点的组合因子。
在其中一个实施例中,多项式约束模块300还用于根据计算机完整性语言数据生成初始多项式A;提取计算机完整性语言数据中输入向量x;根据初始多项式A和输入向量x进行执行跟踪,记录每一步执行的多项式输入和多项式输出;根据记录的数据,采用reed-solomon算法对多项式系数进行纠错,得到计算机完整性语言数据对应的多项式。
在其中一个实施例中,低度测试模块400还用于获取线性组合多项式的度数,将线性组合多项式分解为两个度数相同的组合多项式;发送分解后的组合多项式至验证节点,接收验证节点发送的随机数;将随机数更新至分解后的组合多项式,并将更新后的组合多项式发送至验证节点;将分解后的组合多项式重新作为新的线性组合多项式,返回获取线性组合多项式的度数,将线性组合多项式分解为两个度数相同的组合多项式的步骤,直至得到只包含常量因子的多项式;推送只包含常量因子的多项式至验证节点。
在其中一个实施例中,上述交互式零知识证明装置还包括验证模块,用于接收验证节点发送的查询消息,查询消息携带验证节点在预设数值范围内生成的随机数Z和-Z;计算变量为Z和变量为-Z时分解后的组合多项式的值,并将分解后的组合多项式的值反馈至验证节点;接收验证节点查询分解前线性组合多项式的值的消息,反馈分解前线性组合多项式的值至验证节点,以使验证节点验证对比接收到的分解前线性组合多项式的值与本地已存的分解前线性组合多项式的值,本地已存的分解前线性组合多项式的值由验证节点根据分解后的组合多项式的值计算得到,当对比结果表征一致时,验证节点判定本次接收到的线性组合多项式正确;接收验证节点返回的证明接受消息,证明接受消息由验证节点验证每次接收的线性组合多项式正确时生成。
在其中一个实施例中,资源转移数据包括资源转出地址、资源接收地址以及资源转移值,计算机完整性语言数据包括资源转出地址合法性校验数据、资源接收地址合法性校验数据、余额合法性校验数据以及转账平衡校验数据。
关于交互式零知识证明装置的具体限定可以参见上文中对于交互式零知识证明方法的限定,在此不再赘述。上述交互式零知识证明装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预设交易网络的配置参数等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种交互式零知识证明方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取资源转移网络中资源转移节点产生的资源转移数据;
根据资源转移数据生成零知识证明,获取零知识证明对应的计算机完整性语言数据;
将计算机完整性语言数据分别转换成多项式约束形式得到多项式,并将多项式线性组合后发送至验证节点;
基于FRI协议对线性组合多项式进行低度测试,发送低度测试数据至验证节点,由验证节点根据低度测试数据验证线性组合多项式的最大度数是否小于预设值;
当接受验证节点反馈的证明接受消息时,判定本次资源转移有效,证明接受消息由验证节点根据低度测试数据验证线性组合多项式的最大度数小于预设值时生成。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将计算机完整性语言数据编码成多项式,将多项式分别发送至验证节点;接收验证节点反馈的组合因子,根据组合因子将计算机完整性语言数据对应的多项式进行线性组合,得到线性组合多项式;将线性组合多项式发送至验证节点,由验证节点验证线性组合多项式中组合因子为已反馈至证明节点的组合因子。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据计算机完整性语言数据生成初始多项式A;提取计算机完整性语言数据中输入向量x;根据初始多项式A和输入向量x生成执行跟踪,记录每一步执行的多项式输入和多项式输出;根据记录的数据,采用reed-solomon算法对多项式系数进行纠错,得到计算机完整性语言数据对应的多项式。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取线性组合多项式的度数,将线性组合多项式分解为两个度数相同的组合多项式;发送分解后的组合多项式至验证节点,接收验证节点发送的随机数;将随机数更新至分解后的组合多项式,并将更新后的组合多项式发送至验证节点;将分解后的组合多项式重新作为新的线性组合多项式,返回获取线性组合多项式的度数,将线性组合多项式分解为两个度数相同的组合多项式的步骤,直至得到只包含常量因子的多项式;推送只包含常量因子的多项式至验证节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收验证节点发送的查询消息,查询消息携带验证节点在预设数值范围内生成的随机数Z和-Z;计算变量为Z和变量为-Z时分解后的组合多项式的值,并将分解后的组合多项式的值反馈至验证节点;接收验证节点查询分解前线性组合多项式的值的消息,反馈分解前线性组合多项式的值至验证节点,以使验证节点验证对比接收到的分解前线性组合多项式的值与本地已存的分解前线性组合多项式的值,本地已存的分解前线性组合多项式的值由验证节点根据分解后的组合多项式的值计算得到,当对比结果表征一致时,验证节点判定本次接收到的线性组合多项式正确;接收验证节点返回的证明接受消息,证明接受消息由验证节点验证每次接收的线性组合多项式正确时生成。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取资源转移网络中资源转移节点产生的资源转移数据;
根据资源转移数据生成零知识证明,获取零知识证明对应的计算机完整性语言数据;
将计算机完整性语言数据分别转换成多项式约束形式得到多项式,并将多项式线性组合后发送至验证节点;
基于FRI协议对线性组合多项式进行低度测试,发送低度测试数据至验证节点,由验证节点根据低度测试数据验证线性组合多项式的最大度数是否小于预设值;
当接受验证节点反馈的证明接受消息时,判定本次资源转移有效,证明接受消息由验证节点根据低度测试数据验证线性组合多项式的最大度数小于预设值时生成。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将计算机完整性语言数据编码成多项式,将多项式分别发送至验证节点;接收验证节点反馈的组合因子,根据组合因子将计算机完整性语言数据对应的多项式进行线性组合,得到线性组合多项式;将线性组合多项式发送至验证节点,由验证节点验证线性组合多项式中组合因子为已反馈至证明节点的组合因子。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据计算机完整性语言数据生成初始多项式A;提取计算机完整性语言数据中输入向量x;根据初始多项式A和输入向量x生成执行跟踪,记录每一步执行的多项式输入和多项式输出;根据记录的数据,采用reed-solomon算法对多项式系数进行纠错,得到计算机完整性语言数据对应的多项式。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取线性组合多项式的度数,将线性组合多项式分解为两个度数相同的组合多项式;发送分解后的组合多项式至验证节点,接收验证节点发送的随机数;将随机数更新至分解后的组合多项式,并将更新后的组合多项式发送至验证节点;将分解后的组合多项式重新作为新的线性组合多项式,返回获取线性组合多项式的度数,将线性组合多项式分解为两个度数相同的组合多项式的步骤,直至得到只包含常量因子的多项式;推送只包含常量因子的多项式至验证节点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收验证节点发送的查询消息,查询消息携带验证节点在预设数值范围内生成的随机数Z和-Z;计算变量为Z和变量为-Z时分解后的组合多项式的值,并将分解后的组合多项式的值反馈至验证节点;接收验证节点查询分解前线性组合多项式的值的消息,反馈分解前线性组合多项式的值至验证节点,以使验证节点验证对比接收到的分解前线性组合多项式的值与本地已存的分解前线性组合多项式的值,本地已存的分解前线性组合多项式的值由验证节点根据分解后的组合多项式的值计算得到,当对比结果表征一致时,验证节点判定本次接收到的线性组合多项式正确;接收验证节点返回的证明接受消息,证明接受消息由验证节点验证每次接收的线性组合多项式正确时生成。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种交互式零知识证明方法,所述方法包括:
获取资源转移网络中资源转移节点产生的资源转移数据;
根据所述资源转移数据生成零知识证明,获取所述零知识证明对应的计算机完整性语言数据;
采用编码的方式将计算机完整性语言数据分别转换成多项式约束形式得到多项式,并将多项式线性组合后发送至验证节点;
基于FRI协议对线性组合多项式进行低度测试,发送低度测试数据至所述验证节点,由所述验证节点根据所述低度测试数据验证所述线性组合多项式的最大度数是否小于预设值;
当接受所述验证节点反馈的证明接受消息时,判定本次资源转移有效,所述证明接受消息由所述验证节点根据所述低度测试数据验证所述线性组合多项式的最大度数小于预设值时生成。
2.根据权利要求1所述的方法,其特征在于,所述将计算机完整性语言数据分别转换成多项式约束形式得到多项式,并将多项式线性组合后发送至验证节点包括:
将所述计算机完整性语言数据编码成多项式,将所述多项式分别发送至所述验证节点;
接收所述验证节点反馈的组合因子,根据所述组合因子将所述计算机完整性语言数据对应的多项式进行线性组合,得到线性组合多项式;
将所述线性组合多项式发送至所述验证节点,由所述验证节点验证所述线性组合多项式中组合因子为已反馈至证明节点的组合因子。
3.根据权利要求2所述的方法,其特征在于,所述将所述计算机完整性语言数据编码成多项式包括:
根据计算机完整性语言数据生成初始多项式A;
提取所述计算机完整性语言数据中输入向量x;
根据所述初始多项式A和所述输入向量x生成执行跟踪,记录每一步执行的多项式输入和多项式输出;
根据记录的数据,采用reed-solomon算法对多项式系数进行纠错,得到所述计算机完整性语言数据对应的多项式。
4.根据权利要求1所述的方法,其特征在于,所述基于FRI协议对线性组合多项式进行低度测试,发送所述低度测试数据至验证节点包括:
获取线性组合多项式的度数,将所述线性组合多项式分解为两个度数相同的组合多项式;
发送分解后的组合多项式至所述验证节点,接收所述验证节点发送的随机数;
将所述随机数更新至分解后的组合多项式,并将更新后的组合多项式发送至所述验证节点;
将分解后的组合多项式重新作为新的线性组合多项式,返回所述获取线性组合多项式的度数,将所述线性组合多项式分解为两个度数相同的组合多项式的步骤,直至得到只包含常量因子的多项式;
推送所述只包含常量因子的多项式至所述验证节点。
5.根据权利要求4所述的方法,其特征在于,所述推送所述只包含常量因子的多项式至所述验证节点之后,还包括:
接收所述验证节点发送的查询消息,所述查询消息携带所述验证节点在预设数值范围内生成的随机数Z和-Z;
计算变量为Z和变量为-Z时分解后的组合多项式的值,并将分解后的组合多项式的值反馈至所述验证节点;
接收所述验证节点查询分解前线性组合多项式的值的消息,反馈分解前线性组合多项式的值至所述验证节点,以使所述验证节点验证对比接收到的分解前线性组合多项式的值与本地已存的分解前线性组合多项式的值,所述本地已存的分解前线性组合多项式的值由验证节点根据分解后的组合多项式的值计算得到,当对比结果表征一致时,所述验证节点判定本次接收到的线性组合多项式正确;
接收所述验证节点返回的证明接受消息,所述证明接受消息由所述验证节点验证每次接收的线性组合多项式正确时生成。
6.根据权利要求1所述的方法,其特征在于,所述资源转移数据包括资源转出地址、资源接收地址以及资源转移值,所述计算机完整性语言数据包括资源转出地址合法性校验数据、资源接收地址合法性校验数据、余额合法性校验数据以及转账平衡校验数据。
7.一种交互式零知识证明装置,其特征在于,所述装置包括:
获取模块,用于获取资源转移网络中资源转移节点产生的资源转移数据;
计算机完整性语言数据获取模块,用于根据所述资源转移数据生成零知识证明,获取所述零知识证明对应的计算机完整性语言数据;
多项式约束模块,用于采用编码的方式将计算机完整性语言数据分别转换成多项式约束形式得到多项式,并将多项式线性组合后发送至验证节点;
低度测试模块,用于基于FRI协议对线性组合多项式进行低度测试,发送所述低度测试数据至所述验证节点,由所述验证节点根据所述低度测试数据验证所述线性组合多项式的最大度数是否小于预设值;
判定模块,用于当接受所述验证节点反馈的证明接受消息时,判定本次资源转移有效,所述证明接受消息由所述验证节点根据所述低度测试数据验证所述线性组合多项式的最大度数小于预设值时生成。
8.根据权利要求7所述的装置,其特征在于,所述多项式约束模块还用于将所述计算机完整性语言数据编码成多项式,将所述多项式分别发送至所述验证节点;
接收所述验证节点反馈的组合因子,根据所述组合因子将所述计算机完整性语言数据对应的多项式进行线性组合,得到线性组合多项式;
将所述线性组合多项式发送至所述验证节点,由所述验证节点验证所述线性组合多项式中组合因子为已反馈至证明节点的组合因子。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202010037165.1A 2020-01-14 2020-01-14 交互式零知识证明方法、装置、计算机设备和存储介质 Active CN111277416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010037165.1A CN111277416B (zh) 2020-01-14 2020-01-14 交互式零知识证明方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010037165.1A CN111277416B (zh) 2020-01-14 2020-01-14 交互式零知识证明方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111277416A CN111277416A (zh) 2020-06-12
CN111277416B true CN111277416B (zh) 2024-04-05

Family

ID=71000307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010037165.1A Active CN111277416B (zh) 2020-01-14 2020-01-14 交互式零知识证明方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111277416B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035889B (zh) * 2020-09-03 2023-11-28 平安壹钱包电子商务有限公司 计算外包的区块链隐私验证方法、装置及计算机设备
CN112101944A (zh) * 2020-09-28 2020-12-18 平安壹钱包电子商务有限公司 一种高效隐私支付实现方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2849973A1 (fr) * 2003-01-10 2004-07-16 Jean Francois Geneste Procede permettant de faire des transactions securisees a l'aide d'un dispositif a memoire passive seulement
CN1806411A (zh) * 2003-04-11 2006-07-19 英特尔公司 交互式零知识证明协议
CN109756582A (zh) * 2019-03-15 2019-05-14 腾讯科技(深圳)有限公司 区块链网络中的信息记录方法、装置、节点及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2849973A1 (fr) * 2003-01-10 2004-07-16 Jean Francois Geneste Procede permettant de faire des transactions securisees a l'aide d'un dispositif a memoire passive seulement
CN1806411A (zh) * 2003-04-11 2006-07-19 英特尔公司 交互式零知识证明协议
CN109756582A (zh) * 2019-03-15 2019-05-14 腾讯科技(深圳)有限公司 区块链网络中的信息记录方法、装置、节点及存储介质

Also Published As

Publication number Publication date
CN111277416A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
US10878248B2 (en) Media authentication using distributed ledger
WO2018158936A1 (ja) ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム
CN111490878B (zh) 密钥生成方法、装置、设备及介质
EP3566389B1 (en) Distributed privacy-preserving verifiable computation
CN111277416B (zh) 交互式零知识证明方法、装置、计算机设备和存储介质
CN111342962B (zh) 一种验证密文消息范围的方法和系统
US20110246779A1 (en) Zero-knowledge proof system, zero-knowledge proof device, zero-knowledge verification device, zero-knowledge proof method and program therefor
CN111275438B (zh) 区块链网络的共识方法、装置、设备和存储介质
CN113435121B (zh) 基于联邦学习的模型训练验证方法、装置、设备及介质
JP6644195B1 (ja) 認証されたデータ上のピノキオ/トリノキオ
CN112070501B (zh) 一种区块链交易发起、验证方法及系统
CN110690974A (zh) 基于区块链的数据验证方法、装置、设备及可读存储介质
CN113507513B (zh) 一种基于zk-snark的泛在电力物联网交易数据管理方法
CN111640018B (zh) 一种区块链交易存在性验证方法及装置
CN112165448B (zh) 业务处理方法、装置、系统、计算机设备和存储介质
CN112184441B (zh) 数据处理方法、装置、节点设备及存储介质
CN112422516A (zh) 电力系统的连接方法、装置、计算机设备和存储介质
CN116975901A (zh) 基于区块链的身份验证方法、装置、设备、介质及产品
CN116170144A (zh) 智能电网匿名认证方法、电子设备及存储介质
CN116156498A (zh) 一种验证码处理方法、装置、存储介质及设备
CN117407388A (zh) 幂等控制方法及其装置、电子设备
CN116488816A (zh) 一种基于区块链网络的数据处理方法、装置及存储介质
CN111027992A (zh) 基于区块链系统的资产交易方法、装置及硬件设备
CN112184440A (zh) 数据处理方法、装置、节点设备及存储介质
CN110766407A (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