本申请涉及计算机加密,特别是涉及一种零知识证明方法、验证方法、设备和存储介质。
背景技术:
1、当前社会正处于信息时代,信息泄露事件屡见不鲜。零知识证明技术可在保护隐私数据的前提下,更高效、更安全地完成验证。
2、而在一些场景中,待证明的问题包含的实例数量较多,对应的零知识证明过程中需要的计算量也较大,如何减小证明过程中的计算量对于解决证明效力意义重大。
技术实现思路
1、本申请主要解决的技术问题是提供一种零知识证明方法、验证方法、设备和存储介质,能够减少证明所需的计算量。
2、为解决上述技术问题,本申请采用的一个技术方案是:提供一种零知识证明方法,该方法包括:获取若干第一实例;不同第一实例为待证明问题不同方面的描述数据;叠加若干第一实例,得到叠加后的第二实例;利用第二实例生成待证明问题的证明值,以使验证者利用证明值验证待证明问题是否正确。
3、为解决上述技术问题,本申请采用的另一个技术方案是:提供一种零知识验证方法,包括:获取证明者发送的关于待证明问题的证明值,证明值为利用叠加若干第一实例得到的第二实例生成;利用证明值验证待证明问题是否正确。
4、为解决上述技术问题,本申请采用的再一个技术方案是:提供一种电子设备,包括相互耦接的存储器和处理器,存储器存储有程序指令;处理器用于执行存储器中存储的程序指令,以实现上述方法。
5、为解决上述技术问题,本申请采用的又一个技术方案是:提供一种计算机可读存储介质,用于存储程序指令,该程序指令能够被执行以实现上述方法。
6、上述方案,在获取若干第一实例后,叠加若干第一实例,得到叠加后的第二实例,然后利用第二实例生成待证明问题的证明值,以使验证者利用证明值验证待证明问题是否正确。本申请将若干第一实例叠加为一个第二实例,且证明值为利用第二实例生成,故在验证者验证待证明问题的正确性的过程中,只利用该证明值即可实现对待证明问题的正确性证明,相比于每次利用一个第一实例生成证明值进行证明的方式,本申请上述方式可有效减少证明的次数,进而能够减少整体证明所需的计算量。
1.一种零知识证明方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述利用所述第二实例生成所述待证明问题的证明值之前或者过程中,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,各所述第一实例包括若干实例数据;
4.根据权利要求3所述的方法,其特征在于,在所述利用所述第二实例生成所述待证明问题的证明值之前或者过程中,所述方法还包括如下步骤,以证明所述叠加若干所述第一实例的过程的正确性:
5.根据权利要求4所述的方法,其特征在于,每个所述第一实例的所述若干实例数据均以行列排布,以形成多个第一实例数据组和多个第二实例数据组,每个所述第一实例数据组为所述第一实例的一行实例数据、且每个所述第二实例数据组为所述第一实例的一列实例数据,或者,每个所述第一实例数据组为所述第一实例的一列实例数据、且每个所述第二实例数据组为所述第一实例的一行实例数据,每个所述第一实例数据组均对应一个组索引值;所述第一实例的每个所述第二实例数据组形成一函数,所述函数的自变量为所述组索引值、因变量为所述第二实例组中与所述组索引值对应的实例数据值;其中:
6.根据权利要求5所述的方法,其特征在于,所述将指定组索引值代入所述第二多项式得到所述第一计算结果,包括:
7.根据权利要求3所述的方法,其特征在于,所述若干第一实例数据划分为至少一个第二实例数据组,每个所述第二实例数据组的数据属性不同;
8.根据权利要求1所述的方法,其特征在于,
9.一种零知识验证方法,其特征在于,所述方法包括:
10.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有能够被处理器运行的程序指令,所述程序指令能够被处理器执行以实现权利要求1-9任一项所述的方法。