本发明涉及数据处理,尤其涉及一种可批量验证的时间非对称编码方法、设备及介质。
背景技术:
1、目前普遍使用的可验证延迟编码方法主要包括:基于有限域上求r次方根的可验证延迟函数、基于未知阶群进行方案构造可验证延迟函数、求解超奇异椭圆曲线的同源问题与配对等候选方案,这些方案并没有考虑离散对数问题,不是基于散对数问题的时间非对称编码方案,没有办法完成批量验证的工作。
2、公开号为cn116614238a的中国发明,涉及一种基于聚合器的支持批量验证的选择性披露证书方法。在需要对大量证书进行验证时,传统的证书方法无法提供批量证明,证书的验证需使用双线性对运算,开销较大,涉及到多证书验证的情况下会给验证者带来高昂的运算代价。同时为了使用户可仅保留单个证书证据即可完成对批量证书的验证,本方法能对用户拥有的证书证据进行聚合,使得单个证据即可完成对多个证书的验证。在涉及多证书验证的情况下仍然以低时间消耗代价完成证书的验证,对证书系统功能做了进一步的扩展,适用于计算资源有限的应用场景。本发明在双线性配对聚合器基础上,完成对于阈值发行选择性披露凭证系统的功能扩展,对实现功能更丰富和实用的证书系统起到积极推动作用。但是这些方案并没有考虑离散对数问题,不是基于散对数问题的时间非对称编码方案,批量验证的工作效率有限。
技术实现思路
1、有鉴于此,本发明的目的在于提出一种可批量验证的时间非对称编码方法,可以准确、快速地验证存储方是否存储有对应的文件。
2、为了实现上述的技术目的,本发明所采用的技术方案为:
3、本发明提供了一种可批量验证的时间非对称编码方法,应用于存储方和验证者之间,包括如下步骤:
4、步骤1、存储方生成公共参数并公开;
5、步骤2、验证者将文件发送给存储方;
6、步骤3、存储方根据公共参数对文件进行编码,并将编码结果发送给验证者;
7、步骤4、验证者根据公共参数对编码结果进行验证,得到验证结果;
8、步骤5、验证者根据验证结果判断存储方是否保存有文件,若验证成功,则说明存储方保存有文件;若验证失败,则说明存储方未保存文件。
9、进一步的,所述步骤1具体包括:
10、步骤11、设定编码时间和验证时间之间的比例o,o≈u+v;
11、步骤12、根据所述比例o选择u和v的取值,u和v为正整数;
12、步骤13、根据u和v的取值确定对应的皮尔庞特素数p,p=2u3v+1;
13、步骤14、根据皮尔庞特素数p选定模p下的乘法群的生成元g;
14、步骤15、随机从{0,1,2,...,p-2}选择初始值y0;
15、步骤16、公开公共参数p、g、u、v和y0。
16、进一步的,所述步骤3具体包括:
17、步骤31、根据文件的大小和每组的最大容纳个数n将文件分成q组,定义第j组中第i个的输入元素为xji,其中,xji∈{0,1,2,...,p-2},j=1,2,3……q;
18、i=1,2,3……n;第q组的输入元素个数小于或等于n;
19、步骤32、根据公共参数、输入元素和离散对数求法计算出每一个输入元素xji对应的输出元素yji;
20、步骤33、将每一对(xji,yji)依次发送给验证者。
21、进一步的,所述步骤32具体包括:
22、步骤321、当j=1时,对于第1组文件,分别计算yi-1与xi的和:(yi-1+xi);
23、步骤322、令xi=(yi-1+xi)mod(p-1)+1;
24、步骤323、计算yi=logg(xi)-1;
25、步骤324、多次重复步骤321-步骤323,计算出每组文件中每一个输出元素yi;
26、步骤325、得到与每一个输入元素xji一一对应的输出元素yji。
27、进一步的,所述步骤4具体为:验证者根据公共参数并采用并行验证的算法、小指数验证算法和桶验证算法中的一种算法对编码结果进行验证。
28、进一步的,当采用并行验证的算法进行验证时,执行如下步骤:
29、步骤41、验证者接收到每一对(xji,yji)后,根据每一对(xji,yji)的分组情况进行按组验证;
30、步骤42、将每一组的每一对(xi,yi)代入等式:
31、
32、步骤43、判断等式是否成立,若是,则验证成功,若否,则验证失败。
33、进一步的,当采用小指数验证算法进行验证时,执行如下步骤:
34、步骤44、获取生成元g、{(x1,y1),(x2,y2),...,(xn,yn)}和安全参数l;
35、步骤45、若任意
36、步骤46、随机从{0,1}l当中选择r1,r2,...,rn,r表示从{0,1}l中选取的随机数;计算和
37、步骤47、判断y=gx是否成立,若是,则验证成功,若否,则验证失败。
38、进一步的,当采用桶验证算法进行验证时,执行如下步骤:
39、步骤48、获取模p下的乘法群g及其生成元g,假设|g|=p-1,{(x1,y1),(x2,y2),...,(xn,yn)},安全参数l,安全参数m,m是整数且m≥2,m=2m,m表示集合,包含2m个;
40、步骤49、若任意计算迭代次数
41、步骤410、对于i=1,2,...,n,随机从{0,1,2,...,m-1}中选择ti;ti表示从{0,1,2,...,m-1}中选择的随机数;
42、步骤411、对于f=0,1,...,m-1,令bf={i|ti=f};计算bf表示中间参数;cf和df分别表示将xi和yi转换后对应元素;
43、步骤412、以安全参数m对{(c0,d0),(c1,d1),...,(cm-1,dm-1)}进行小指数测试;
44、步骤413、重复步骤410-步骤412,完成t次测试;若t测测试均通过,则验证成功,否则,验证失败。
45、本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述的一种可批量验证的时间非对称编码方法。
46、本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的一种可批量验证的时间非对称编码方法。
47、采用上述的技术方案,本发明与现有技术相比,其具有的有益效果为:
48、1、基于以pierpont素数为模数的离散对数问题和pohlig-hellman算法设计了一类新型的时间非对称编码方案,将桶验证算法和小指数验证算法两种批量验证算法应用到新方案的验证工作当中,大大加快验证的速度。
49、2、可以通过调整pierpont素数来调整编码时间和验证所需要的时间,灵活性很强。
1.一种可批量验证的时间非对称编码方法,其特征在于,应用于存储方和验证者之间,包括如下步骤:
2.如权利要求1所述的一种可批量验证的时间非对称编码方法,其特征在于,所述步骤1具体包括:
3.如权利要求2所述的一种可批量验证的时间非对称编码方法,其特征在于,所述步骤3具体包括:
4.如权利要求3所述的一种可批量验证的时间非对称编码方法,其特征在于,所述步骤32具体包括:
5.如权利要求4所述的一种可批量验证的时间非对称编码方法,其特征在于,所述步骤4具体为:验证者根据公共参数并采用并行验证的算法、小指数验证算法和桶验证算法中的一种算法对编码结果进行验证。
6.如权利要求5所述的一种可批量验证的时间非对称编码方法,其特征在于,当采用并行验证的算法进行验证时,执行如下步骤:
7.如权利要求5所述的一种可批量验证的时间非对称编码方法,其特征在于,当采用小指数验证算法进行验证时,执行如下步骤:
8.如权利要求5所述的一种可批量验证的时间非对称编码方法,其特征在于,当采用桶验证算法进行验证时,执行如下步骤:
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述的一种可批量验证的时间非对称编码方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8任一项所述的一种可批量验证的时间非对称编码方法。
