CN118093442B - 一种基于零知识证明的神经网络模型可验证测试方法及系统 - Google Patents
一种基于零知识证明的神经网络模型可验证测试方法及系统 Download PDFInfo
- Publication number
- CN118093442B CN118093442B CN202410497607.9A CN202410497607A CN118093442B CN 118093442 B CN118093442 B CN 118093442B CN 202410497607 A CN202410497607 A CN 202410497607A CN 118093442 B CN118093442 B CN 118093442B
- Authority
- CN
- China
- Prior art keywords
- model
- test data
- test
- holder
- 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.)
- Active
Links
- 238000003062 neural network model Methods 0.000 title claims abstract description 34
- 238000010998 test method Methods 0.000 title claims abstract description 27
- 238000012360 testing method Methods 0.000 claims abstract description 162
- 238000012795 verification Methods 0.000 claims abstract description 47
- 238000000528 statistical test Methods 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 16
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 230000006835 compression Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 3
- 230000001186 cumulative effect Effects 0.000 claims description 2
- NUHSROFQTUXZQQ-UHFFFAOYSA-N isopentenyl diphosphate Chemical compound CC(=C)CCO[P@](O)(=O)OP(O)(O)=O NUHSROFQTUXZQQ-UHFFFAOYSA-N 0.000 claims description 2
- 238000006116 polymerization reaction Methods 0.000 claims description 2
- 238000012353 t test Methods 0.000 claims description 2
- 238000013527 convolutional neural network Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及数据安全技术领域,提出一种基于零知识证明的神经网络模型可验证测试方法及系统,其中包括:测试数据持有方生成关于其测试数据的基于多项式的承诺,将承诺和测试数据上传;模型持有方生成关于其模型参数的基于多项式的承诺,并将承诺上传;模型持有方获取测试数据和承诺后,验证每一测试数据持有方的测试数据与其相应的承诺是否一致,若是,则模型持有方使用测试数据进行模型测试,输出统计性测试结果,并对测试过程生成关于模型正确运行的公开可验证证明;模型持有方将统计性测试结果和公开可验证证明发送至测试数据持有方或任意第三方进行有效性验证,输出验证结果。
Description
技术领域
本发明涉及数据安全技术领域,更具体地,涉及一种基于零知识证明的神经网络模型可验证测试方法及系统。
背景技术
卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习神经网络,其结构灵感源自人类视觉系统的工作原理。CNN在许多领域广泛应用,其中包括但不限于图像识别、计算机视觉、自然语言处理和医疗影像分析等。CNN模型的关键特征是其对图像等多维数据的处理方式。这些网络通过多层神经元和卷积层,能够自动提取和学习数据的特征,包括边缘、纹理、形状和更高级别的特征,这对于图像和数据的分类、识别和分析至关重要。
为提高神经网络的分类、识别和分析的准确性,尤其是应用于关键安全场景时,模型部署者需要测试CNN模型的性能,比如,在自动驾驶汽车的相机图像识别中,应确保CNN模型对扰动图像也有着高度的准确性。因此,为了提高应用安全性,神经网络模型需要进行基准性能测试,并对通过测试的神经网络模型进行部署。然而,可靠的基准测试数据集通常来说难以收集,当测试神经网络模型的测试数据来源于多方时,测试数据的隐私保护问题和正确性可验证问题变得尤为突出,例如拥有测试数据的一方不愿意提前公开测试数据,而模型持有方不愿暴露模型参数,因此测试数据隐私和模型隐私需要在测试过程中被保护。此外,对于不能获得测试数据和模型的模型使用方,需要能验证被测试模型测试后性能的真实性。
发明内容
本发明为克服上述现有技术所述的神经网络模型测试过程中难以同时保护测试数据隐私和模型隐私的缺陷,提供一种基于零知识证明的神经网络模型可验证测试方法及系统。
为解决上述技术问题,本发明的技术方案如下:
一种基于零知识证明的神经网络模型可验证测试方法,包括以下步骤:
S1、测试数据持有方生成关于其测试数据的基于多项式的承诺CX,将所述承诺CX上传至去中心化的区块链平台,同时将测试数据上传至公有云平台;
模型持有方生成关于其模型参数的基于多项式的承诺CW,将所述承诺CW上传至所述区块链平台;
S2、模型持有方从所述公有云平台和区块链平台分别获取测试数据和承诺CX,验证每一测试数据持有方的测试数据与其相应的承诺CX是否一致,若是,则模型持有方使用测试数据进行模型测试,输出统计性测试结果,并对测试过程生成关于模型正确运行的公开可验证证明;
S3、模型持有方将所述统计性测试结果和公开可验证证明发送至测试数据持有方或任意第三方进行有效性验证,输出验证结果。
进一步地,本发明还提出了一种基于零知识证明的神经网络模型可验证测试系统,应用本发明提出的基于零知识证明的神经网络模型可验证测试方法。所述系统包括去中心化的区块链平台、公有云平台、测试数据持有方和模型持有方;其中:
测试数据持有方生成关于其测试数据的基于多项式的承诺CX,将所述承诺CX上传至去中心化的区块链平台,同时将测试数据上传至公有云平台;
模型持有方生成关于其模型参数的基于多项式的承诺CW,将所述承诺CW上传至所述区块链平台;
模型持有方从所述公有云平台和区块链平台分别获取测试数据和承诺CX,验证每一测试数据持有方的测试数据与其相应的承诺CX是否一致,若是,则模型持有方使用测试数据进行模型测试,输出统计性测试结果,并对测试过程生成关于模型正确运行的公开可验证证明;
模型持有方将所述统计性测试结果和公开可验证证明发送至测试数据持有方或任意第三方进行有效性验证,输出验证结果。
与现有技术相比,本发明技术方案的有益效果是:本发明基于多项式的承诺进行数据验证,可以实现对批量输入数据的证明,同时对多输入数据情况下的卷积操作封装为关于模型正确运行的公开可验证证明,基于公开可验证证明进行有效性验证,提高了有效性验证的效率;本发明对模型参数和测试数据进行隐私保护,且模型测试过程正确性可验证,实现在一定数量的测试数据持有方合谋的情况下也无法获取关于数据、计算结果、计算策略和访问策略等隐私。
附图说明
图1为实施例1的基于零知识证明的神经网络模型可验证测试方法的流程图。
图2为实施例2的基于零知识证明的神经网络模型可验证测试系统的架构图。
具体实施方式
附图仅用于示例性说明,不能理解为对本发明的限制;为了更好说明本实施例,附图某些公知说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本实施例提出一种基于零知识证明的神经网络模型可验证测试方法,如图1所示,为本实施例的神经网络模型可验证方法的流程图。
本实施例提出的基于零知识证明的神经网络模型可验证测试方法中,包括以下步骤:
S1、测试数据持有方生成关于其测试数据的基于多项式的承诺CX,将所述承诺CX上传至去中心化的区块链平台,同时将测试数据上传至公有云平台;
模型持有方生成关于其模型参数的基于多项式的承诺CW,将所述承诺CW上传至所述区块链平台;
S2、模型持有方从所述公有云平台和区块链平台分别获取测试数据和承诺CX,验证每一测试数据持有方的测试数据与其相应的承诺CX是否一致,若是,则模型持有方使用测试数据进行模型测试,输出统计性测试结果,并对测试过程生成关于模型正确运行的公开可验证证明;
S3、模型持有方将所述统计性测试结果和公开可验证证明发送至测试数据持有方或任意第三方进行有效性验证,输出验证结果。
本实施例提出的方法尤其适用于卷积神经网络模型的测试,需要说明的是,一个神经网络模型测试过程描述了卷积神经网络模型接收测试数据,并运行模型推理过程,最后输出模型预测的过程。其中,卷积神经网络模型基本包含卷积层fconv、全连接层ffc、激活层fact、池化层fpool和输出层fo。
定义一个单通道输入测试数据x,则模型测试过程可表示为:y=fo(ffc(ffc(gpool(fact(fconv(fpool(fact(fconv(x)))))))))。
本实施例在模型测试过程中,定义测试所执行计算为卷积神经网络的全连接层模型参数和测试数据的相乘计算,得到统计性测试结果Y=W·X。
此外,对于每一个测试过程,生成一个模型正确运行的公开可验证证明,所述公开可验证证明包含了模型运行中涉及的卷积操作的高效证明,同时此公开可验证证明不泄漏模型参数的隐私。
本实施例基于多项式的承诺进行数据验证,可以实现对批量输入数据的证明,同时对多输入数据情况下的卷积操作封装为关于模型正确运行的公开可验证证明,基于公开可验证证明进行有效性验证,提高了有效性验证的效率。同时,本实施例对模型参数和测试数据进行隐私保护,且模型测试过程正确性可验证。本实施例实现在一定数量的测试数据持有方合谋的情况下也无法获取关于数据、计算结果、计算策略和访问策略等隐私,因此本实施例提出的测试方法尤其适用于任意一个数据拥有方与数据加工方不合谋的场景。
在一可选实施例中,S1步骤中,还包括以下步骤:
测试数据持有方和模型持有方协商制定用于生成基于多项式的承诺的公开参数,其表达式为:
其中,i∈[0,d],j∈[0,n],d为多项式度大小,n为测试数据与模型参数的长度;g,h为素数p阶循环群随机选择的元素,即/>g*为环群/>的群元素,即/>元素元素/>元素/>元素/>元素h1=hs,α,s,t为从素数群Zp随机选择的元素;Hash(·)为散列函数;gi,j和/>分别根据/>来生成,分别有(d+1)×(n+1)项。
进一步地,生成关于其测试数据的基于多项式的承诺CX的步骤包括:
测试数据持有方从素数群Zp随机选择随机数rX,并基于所述公开参数生成关于其测试数据X={xi,j}i=0,…d,j=0,…,n的基于多项式的承诺其中:
而生成关于其模型参数的基于多项式的承诺CW的步骤包括:模型持有方从素数群Zp随机选择参数rW,并基于所述公开参数生成关于其模型参数W={wi,j}i=0,…d,j=0,…,n的基于多项式的承诺其中:
式中,xi,j表示测试数据值,wi,j表示模型参数值。
本实施例采用了基于多项式的承诺,可以实现对批量输入数据的证明。
进一步地,在一可选实施例中,S2步骤中,模型持有方验证每一测试数据持有方的测试数据与其相应的承诺CX是否一致的步骤包括:
模型持有方从所述公有云平台获取测试数据X'={x'i,j}i=0,…d,j=0,…,n,以及从所述区块链平台获取相应的承诺
模型持有方向测试数据持有方请求获取承诺CX'相应的随机数rX',验证测试数据X'是否与承诺CX'相应的数据一致;其表达式为:
式中,==为判断相等的符号。
进一步地,在一可选实施例中,S2步骤中,模型持有方对测试过程生成关于模型正确运行的公开可验证证明的步骤包括:
所述模型持有方从素数群Zp随机选择参数rY,生成关于统计性测试结果Y={yi,j}i=0,…d,j=0,…,n的基于多项式的承诺其中:
式中,yi,j表示统计性测试结果值;
所述模型持有方利用SHA-256哈希函数生成哈希值k,其表达式为:
k=Hash(CW,CX,CY,Y,W,X),k∈Zp;
所述模型持有方从素数群Zp随机选择参数生成关于预定义的多项式L1的基于多项式的承诺/>其中:
式中,li,j为多项式L1的系数;
所述模型持有方从素数群Zp随机选择参数rT,生成关于预定义的多项式T的基于多项式的承诺其中:
式中,元素元素/>
所述模型持有方从素数群Zp随机选择参数a,b,并基于所述承诺和CT,以及哈希值k,生成公开可验证证明π=(CT,h2,σ,τ);其中:
τ=b-rT·h2mod q;
式中,h2为哈希值;U为双线性对值;σ,τ为证明参数,q为素数。
本实施例对多输入数据情况下的卷积操作进行矩阵计算封装,降低了证明生成过程的时间。
进一步地,在一可选实施例中,S3步骤中,测试数据持有方或任意第三方对其接收的所述统计性测试结果和公开可验证证明进行有效性验证,其步骤包括:
验证所述公开可验证证明π的有效性,其表达式为:
同时,计算参数值 记/>
基于有效性系数b1,b2,b3和b4,生成验证值b=(b1∧b2∧b3∧b4),若验证值b为1,则表示当前测试有效;若验证值b为0,则表示当前测试无效。
本实施例在有效性验证过程中,基于非交互式零知识证明完成有效性验证。其中,非交互式零知识证明实现让证明者向验证者证明某个陈述的有效性,而无需透露其他任何信息。
在另一可选实施例中,S3步骤中还包括以下步骤:所述模型持有方将模型在若干测试数据上运行后生成的所述公开可验证证明进行压缩,生成压缩证明,再将所述统计性测试结果和所述压缩证明发送至测试数据持有方或任意第三方进行有效性验证。
本实施例可选地对将模型在多个测试数据上运行后生成的证明进行压缩,以提高数据传输和有效性验证效率。
进一步地,在一可选实施例中,所述模型持有方将模型在若干测试数据上运行后生成的所述公开可验证证明进行压缩,生成压缩证明,其步骤包括:
(1)对于nt个测试数据持有方,在其测试数据上进行模型m的测试,生成nt个公开可验证证明其中,每个公开可验证证明的Ai,Bi,Ci,Di通过利用如下算法生成:
从素数群Zp随机选择参数α,β,γ,δ,η,z,构造维度nt×nt的矩阵Z,从循环群选择参数g和h,计算参数gα,gβ,hβ,hγ,gδ,hδ,和/>定义与模型参数W相关的多项式为LW(x),定义与测试数据X相关的多项式为RX(x),定义与预测结果相关的多项式为OY(x);定义两个多项式h(x,Z)和t(x)使得以下等式成立:trace{ZΤ·LW(x)·RX(x)}-trace{ZΤ·OY(x)}=h(x,Z)t(x);
用上述参数生成公开可验证证明的Ai,Bi,Ci,Di:
计算上述多项式分别在x=z的取值,获得LW(z),RX(z),OY(z);
从素数群Zp随机选择参数(t,s,v),计算公开可验证证明的Ai,Bi,Ci,Di:
Ai:=gα·gZL(z)·gδt,
Bi:=hβ·hR(z)·hδs,
(2)定义压缩证明关系用于验证每个证明πm,i是有效的;其表达式为:
其中,stagg,wtagg为压缩证明的论断和秘密;vkm为公开可验证证明的参数,从参数crsagg中选择;stm,i为待压缩的证明πm,i的论断。
(3)调用零知识证明的Setup算法,根据压缩证明关系生成公共随机字符串λ为安全参数,并利用公共参数crsagg选择随机群元素g和h,以及从素数群Zp随机选择参数a1,b1,生成用于生成承诺的密钥;其表达式为:
其中,密钥参数
调用并基于子公共参数crsMT,更新公共参数crsagg=(vkm,cktwo,ckone,crsMT);其中,/>表示聚合关系;
基于公共参数crsagg,证明和论断/>生成关于证明的承诺,其表达式为:
其中,每一项e(·,·)之间均为相乘关系;
生成nt个挑战得到/> 计算累乘值/> 基于crsMT,C1-AB,C2-AB,CC和CD,以及IAB,IC,ID和/>生成聚合证明πMT,得到压缩证明πagg=(C1-AB,C2-AB,CC,CD,IAB,IC,ID,πMT)。
进一步地,在一可选实施例中,测试数据持有方或任意第三方对其接收的所述统计性测试结果和经过压缩的压缩证明πagg进行有效性验证,其步骤包括:
调用MT_IPP.Verify算法,输入crsMT,C1-AB,C2-AB,CC,CD,IAB,IC,ID,πMT,输出得到验证值b'1;
计算验证值b'2:其中α,β,δ是属于素数群Zp的随机元素;
若验证值b'1和b'2均为1时,则表示当前测试有效;否则表示当前测试无效。
本实施例中基于零知识证明进行有效性验证,作为示例性说明,定义一种简洁非交互式零知识证明方案的基本算法步骤,包括设置算法Setup,证明算法Prove,验证算法Verify,由证明者和验证者来执行。其具体算法定义如下:Setup算法可以由证明者执行,该算法接收一个安全参数和一个待证明的关系作为输入,输出一个公共参数。Prove算法由证明者执行,该算法接收一个公共参数、一个公开论断和一个只有证明者知道的秘密,输出一个证明。Verify算法由验证者执行,接收一个被证明的关系,一个公共参数,一个论断和一个证明,输出0或者1,其中0表示证明验证不通过,1表示证明验证通过。
由此,本实施例采用的非交互式的零知识证明能够有效保护模型参数的隐私,避免向测试数据持有方泄露模型参数信息。
实施例2
本实施例应用实施例1提出的基于零知识证明的神经网络模型可验证测试方法,提出一种基于零知识证明的神经网络模型可验证测试系统。如图2所示,为本实施例的神经网络模型可验证测试系统的架构图。
本实施例提出的神经网络模型可验证测试系统中,包括去中心化的区块链平台、公有云平台、若干测试数据持有方和若干模型持有方。
其中,测试数据持有方生成关于其测试数据的基于多项式的承诺CX,将所述承诺CX上传至去中心化的区块链平台,同时将测试数据上传至公有云平台。
同时,模型持有方生成关于其模型参数的基于多项式的承诺CW,将所述承诺CW上传至所述区块链平台。
当需要执行模型测试时,模型持有方从所述公有云平台和区块链平台分别获取测试数据和承诺CX,验证每一测试数据持有方的测试数据与其相应的承诺CX是否一致,若是,则模型持有方使用测试数据进行模型测试,输出统计性测试结果,并对测试过程生成关于模型正确运行的公开可验证证明。
最后,模型持有方将所述统计性测试结果和公开可验证证明发送至测试数据持有方或任意第三方进行有效性验证,输出验证结果。
可以理解,本实施例的系统对应于上述实施例1的方法,上述实施例1中的可选项同样适用于本实施例,故在此不再重复描述。
实施例3
本实施例提出一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,其中所述计算机可读指令被所述处理器执行时,使得所述处理器执行实施例1提出的神经网络模型可验证测试方法的步骤。
实施例4
本实施例提出一种存储介质,其上存储有计算机可读指令,其中,所述计算机可读指令被处理器执行时实现实施例1提出的神经网络模型可验证测试方法的步骤。
示范性地,所述存储介质包括但不限于U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
示范性地,所述指令、程序、代码集或指令集可采用常规编程语言实现。
示范性地,所述处理器包括但不限于智能手机、个人计算机、服务器、网络设备等,用于执行实施例1所述的神经网络模型可验证测试方法的全部或部分步骤。
附图中的用语仅用于示例性说明,不能理解为对本发明的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (8)
1.一种基于零知识证明的神经网络模型可验证测试方法,其特征在于,包括:
S1、测试数据持有方生成关于其测试数据的基于多项式的承诺将所述承诺CX上传至去中心化的区块链平台,同时将测试数据上传至公有云平台;
模型持有方生成关于其模型参数的基于多项式的承诺将所述承诺CW上传至所述区块链平台;
所述测试数据持有方和所述模型持有方协商制定用于生成基于多项式的承诺的公开参数,其表达式为:
其中,i∈[0,d],j∈[0,n],d为多项式的大小,n为测试数据与模型参数的长度;g,h为素数p阶循环群随机选择的元素,即/>g*为环群/>的群元素,即/>元素/>元素/>元素/>元素/>元素h1=hs,α,s,t为从素数群Zp随机选择的元素;Hash(·)为散列函数;gi,j和/>分别根据/>来生成,分别有(d+1)×(n+1)项;
S2、模型持有方从所述公有云平台和区块链平台分别获取测试数据和承诺CX,验证每一测试数据持有方的测试数据与其相应的承诺CX是否一致,若是,则模型持有方使用测试数据进行模型测试,输出统计性测试结果,并对测试过程生成关于模型正确运行的公开可验证证明;
所述模型持有方对测试过程生成关于模型正确运行的公开可验证证明的步骤包括:
所述模型持有方从素数群Zp随机选择参数rY,生成关于统计性测试结果Y={yi,j}i=0,...d,j=0,...,n的基于多项式的承诺其中:
式中,yi,j表示统计性测试结果值;
所述模型持有方利用SHA-256哈希函数生成哈希值k,其表达式为:
k=Hash(CW,CX,CY,Y,W,X),k∈Zp;
其中模型参数W={wi,j}i=0,...d,j=0,...,n;测试数据X={xi,j}i=0,...d,j=0,...,n;
所述模型持有方从素数群Zp随机选择参数生成关于预定义的多项式L1的基于多项式的承诺/>其中:
式中,li,j为多项式L1的系数;
所述模型持有方从素数群Zp随机选择参数rT,生成关于预定义的多项式T的基于多项式的承诺其中:
式中,元素元素/>
所述模型持有方从素数群Zp随机选择参数a,b,并基于所述承诺和CT,以及哈希值k,生成公开可验证证明π=(CT,h2,σ,τ);其中:
τ=b-rT·h2mod q;
式中,h2为哈希值;U为双线性对值;α,τ为证明参数,q为素数;
S3、模型持有方将所述统计性测试结果和公开可验证证明发送至测试数据持有方或任意第三方进行有效性验证,输出验证结果。
2.根据权利要求1所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述S1步骤中,生成关于其测试数据的基于多项式的承诺CX的步骤包括:测试数据持有方从素数群Zp随机选择随机数rX,并基于所述公开参数生成关于其测试数据X={xi,j}i=0,...d,j=0,...,n的基于多项式的承诺其中:
生成关于其模型参数的基于多项式的承诺CW的步骤包括:模型持有方从素数群Zp随机选择参数rW,并基于所述公开参数生成关于其模型参数W={wi,j}i=0,...d,j=0,...,n的基于多项式的承诺其中:/> 式中,xi,j表示测试数据值,wi,j表示模型参数值。
3.根据权利要求2所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述S2步骤中,所述模型持有方验证每一测试数据持有方的测试数据与其相应的承诺CX是否一致的步骤包括:
模型持有方从所述公有云平台获取测试数据X′={x′i,j}i=0,...d,j=0,...,n,以及从所述区块链平台获取相应的承诺
模型持有方向测试数据持有方请求获取承诺CX′相应的随机数rX′,验证测试数据X′是否与承诺CX′相应的数据一致;其表达式为:
式中,==为判断相等的符号。
4.根据权利要求2所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述S3步骤中,测试数据持有方或任意第三方对其接收的所述统计性测试结果和公开可验证证明进行有效性验证,其步骤包括:
验证所述公开可验证证明π的有效性,其表达式为:
同时,计算参数值 记/>
基于有效性系数b1,b2,b3和b4,生成验证值b=(b1∧b2∧b3∧b4),若验证值b为1,则表示当前测试有效;若验证值b为0,则表示当前测试无效。
5.根据权利要求1~3任一项所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述S3步骤中,还包括以下步骤:
所述模型持有方将模型在若干测试数据上运行后生成的所述公开可验证证明进行压缩,生成压缩证明,再将所述统计性测试结果和所述压缩证明发送至测试数据持有方或任意第三方进行有效性验证。
6.根据权利要求5所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述模型持有方将模型在若干测试数据上运行后生成的所述公开可验证证明进行压缩,生成压缩证明,其步骤包括:
(1)对于nt个测试数据持有方,在其测试数据上进行模型m的测试,生成nt个公开可验证证明其中,每个公开可验证证明的Ai,Bi,Ci,Di通过利用如下算法生成:
从素数群Zp随机选择参数α,β,γ,δ,η,z,构造维度nt×nt的矩阵Z,从循环群选择参数g和h,计算参数ga,gβ,hβ,hγ,gδ,hδ,和/>定义与模型参数W相关的多项式为LW(x),定义与测试数据X相关的多项式为RX(x),定义与预测结果相关的多项式为OY(x);定义两个多项式h(x,Z)和t(x)使得以下等式成立:trace{ZT·LW(x)·RX(x)}-trace{ZT·OY(x)}=h(x,Z)t(x);
用上述参数生成公开可验证证明的Ai,Bi,Ci,Di:
计算上述多项式分别在x=z的取值,获得LW(z),Rx(z),OY(z);
从素数群Zp随机选择参数(t,s,v),计算公开可验证证明的Ai,Bi,Ci,Di:
Ai:=gα·gZL(z)·gδt,
Bi:=hβ·hR(z)·hδs,
(2)定义压缩证明关系用于验证每个证明πm,i是有效的;其表达式为:
其中,stagg,wtagg为压缩证明的论断和秘密;vkm为公开可验证证明的参数,从参数crsagg中选择;stm,i为待压缩的证明πm,i的论断;
(3)调用零知识证明的Setup算法,根据压缩证明关系生成公共随机字符串λ为安全参数,并利用公共参数crsagg选择随机群元素g和h,以及从素数群Zp随机选择参数a1,b1,生成用于生成承诺的密钥ckone和cktwo;其表达式为:
其中,密钥参数
调用设置算法生成子公共参数并基于子公共参数crsMT,更新公共参数crsagg=(vkm,cktwo,ckone,crsMT);其中,/>表示聚合关系;
基于公共参数crsagg,证明和论断/>生成关于证明的承诺C=(C1-AB,C2-AB,CC,CD),其表达式为:
其中,每一项e(·,·)之间均为相乘关系;
生成nt个挑战得到/> 计算累乘值/> 基于crsMT,C1-AB,C2-AB,CC和CD,以及IAB,IC,ID和/>生成聚合证明πMT,得到压缩证明πagg=(C1-AB,C2-AB,CC,CD,IAB,IC,ID,πMT)。
7.根据权利要求6所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,所述S3步骤中,测试数据持有方或任意第三方对其接收的所述统计性测试结果和经过压缩的压缩证明πagg进行有效性验证,其步骤包括:
调用MT_IPP.Verify算法,输入crsMT,C1-AB,C2-AB,CC,CD,IAB,IC,ID,πMT,输出得到验证值b′1;
计算验证值b′2:其中α,β,δ是属于素数群Zp的随机元素;
若验证值b′1和b′2均为1时,则表示当前测试有效;否则表示当前测试无效。
8.一种基于零知识证明的神经网络模型可验证测试系统,应用权利要求1~7任一项所述的基于零知识证明的神经网络模型可验证测试方法,其特征在于,包括去中心化的区块链平台、公有云平台、测试数据持有方和模型持有方;其中:
测试数据持有方生成关于其测试数据的基于多项式的承诺CX,将所述承诺CX上传至去中心化的区块链平台,同时将测试数据上传至公有云平台;
模型持有方生成关于其模型参数的基于多项式的承诺CW,将所述承诺CW上传至所述区块链平台;
模型持有方从所述公有云平台和区块链平台分别获取测试数据和承诺CX,验证每一测试数据持有方的测试数据与其相应的承诺CX是否一致,若是,则模型持有方使用测试数据进行模型测试,输出统计性测试结果,并对测试过程生成关于模型正确运行的公开可验证证明;
模型持有方将所述统计性测试结果和公开可验证证明发送至测试数据持有方或任意第三方进行有效性验证,输出验证结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410497607.9A CN118093442B (zh) | 2024-04-24 | 2024-04-24 | 一种基于零知识证明的神经网络模型可验证测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410497607.9A CN118093442B (zh) | 2024-04-24 | 2024-04-24 | 一种基于零知识证明的神经网络模型可验证测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118093442A CN118093442A (zh) | 2024-05-28 |
CN118093442B true CN118093442B (zh) | 2024-06-25 |
Family
ID=91144325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410497607.9A Active CN118093442B (zh) | 2024-04-24 | 2024-04-24 | 一种基于零知识证明的神经网络模型可验证测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118093442B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569294A (zh) * | 2021-09-22 | 2021-10-29 | 浙江大学 | 一种零知识证明方法及装置、电子设备、存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB202209495D0 (en) * | 2022-06-29 | 2022-08-10 | Nchain Licensing Ag | Proof of ownership |
CN117240438B (zh) * | 2023-11-10 | 2024-04-26 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于零知识证明的神经网络输出结果产权证明方法及装置 |
CN117808470B (zh) * | 2023-12-21 | 2024-06-18 | 暨南大学 | 一种基于门限签名的高效匿名原子交换的跨链方法及系统 |
-
2024
- 2024-04-24 CN CN202410497607.9A patent/CN118093442B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569294A (zh) * | 2021-09-22 | 2021-10-29 | 浙江大学 | 一种零知识证明方法及装置、电子设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
"一种区块链交易信息的隐私保护方案";于金霞等;《重庆邮电大学学报(自然科学版)》;20230104;第34卷(第6期);第1048-1055页 * |
Also Published As
Publication number | Publication date |
---|---|
CN118093442A (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ghodsi et al. | Safetynets: Verifiable execution of deep neural networks on an untrusted cloud | |
CN109325584B (zh) | 基于神经网络的联邦建模方法、设备及可读存储介质 | |
US11799655B2 (en) | Method for verifying information | |
CN110490128B (zh) | 一种基于加密神经网络的手写识别方法 | |
CN110855443B (zh) | 一种基于区块链和零知识证明的投票方法及装置 | |
US20110246779A1 (en) | Zero-knowledge proof system, zero-knowledge proof device, zero-knowledge verification device, zero-knowledge proof method and program therefor | |
CN113379042B (zh) | 保护数据隐私的业务预测模型训练方法及装置 | |
KR102128059B1 (ko) | 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치 | |
CN113704357A (zh) | 一种基于区块链的智慧城市数据共享方法及系统 | |
Weng et al. | pvcnn: Privacy-preserving and verifiable convolutional neural network testing | |
CN112860800A (zh) | 基于区块链和联邦学习的可信网络应用方法和装置 | |
CN116777294A (zh) | 区块链协助下基于联邦学习的众包质量安全评估方法 | |
CN114930357A (zh) | 经由梯度提升的隐私保护机器学习 | |
US11627125B1 (en) | Apparatus and methods for credentialing users across user devices | |
CN114036566A (zh) | 基于区块链和轻量级承诺的可验证联邦学习方法及装置 | |
CN114362970A (zh) | 一种基于智能合约的环签名方法、系统、存储介质及设备 | |
CN118093442B (zh) | 一种基于零知识证明的神经网络模型可验证测试方法及系统 | |
CN111861737B (zh) | 基于区块链的风控模型优化方法、装置和计算机设备 | |
CN113420886A (zh) | 纵向联邦学习模型的训练方法、装置、设备及存储介质 | |
US11907874B2 (en) | Apparatus and method for generation an action validation protocol | |
CN108667624B (zh) | 一种标准模型下的紧凑环签名方法及系统 | |
US20230080048A1 (en) | Method and apparatus for generating a contagion prevention health assessment | |
CN113792282B (zh) | 身份数据验证方法、装置、计算机设备和存储介质 | |
CN114547684A (zh) | 一种保护隐私数据的多方联合训练树模型的方法及装置 | |
KR102271983B1 (ko) | 고객정보와 가상화폐 구매이력을 기반으로 한 기계학습 수행을 통해 사용자 맞춤의 가상화폐 추천을 제공하는 가상화폐 거래 플랫폼 서버 및 그 동작 방법 |
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 |