[发明专利]用于零知识证明的证明方法、系统、电子设备和存储介质有效
申请号: | 202111375621.4 | 申请日: | 2021-11-19 |
公开(公告)号: | CN113806059B | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 李浩天;江寒 | 申请(专利权)人: | 杭州字节方舟科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06T1/20 |
代理公司: | 北京维正专利代理有限公司 11508 | 代理人: | 谢绪宁 |
地址: | 311100 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 知识 证明 方法 系统 电子设备 存储 介质 | ||
1.一种用于零知识证明的证明方法,其特征在于包括:
获取证明参数和待证明数据,对所述证明参数和所述待证明数据进行电路合成处理,得到R1CS数据,其中,用于电路合成处理的电路包括至少一个子电路,所述R1CS数据包括至少一个R1CS子数据,每个所述子电路用于构造一个所述R1CS子数据;
当存在尚未被FFT计算处理的所述R1CS子数据时,基于所述R1CS子数据,使用GPU进行FFT计算处理,得到所述R1CS子数据对应的多项式数据;
当存在尚未被FFT计算处理的所述R1CS子数据时,基于所述R1CS子数据及所述R1CS子数据对应的多项式数据,使用CPU进行MultiExp计算处理,得到所述R1CS子数据对应的证明分量;
当所有的R1CS子数据均已被FFT计算处理时,基于所述R1CS子数据及所述R1CS子数据对应的多项式数据,使用所述CPU和所述GPU并行进行MultiExp计算处理,得到所述R1CS子数据对应的证明分量;
基于所述R1CS数据中所有的R1CS子数据对应的证明分量,生成证明;
基于所述R1CS子数据及所述R1CS子数据对应的多项式数据,使用CPU进行MultiExp计算处理,得到所述R1CS子数据对应的证明分量包括:
基于所述R1CS子数据,使用CPU进行MultiExp计算处理,得到所述R1CS子数据对应的证明分量的第一分量数据,其中,所述第一分量数据与所述R1CS子数据对应的多项式数据无关;
基于所述R1CS子数据及所述R1CS子数据对应的多项式数据,使用CPU进行MultiExp计算处理,得到所述R1CS子数据对应的证明分量的第二分量数据,其中,所述第二分量数据所述R1CS子数据对应的多项式数据相关;
基于所述第一分量数据和所述第二分量数据,获取所述R1CS子数据对应的证明分量;
其中,所述第一分量数据包括:、和;所述第二分量数据包括:;表示一个有限域,个数分别为m个,表示输入的公开信息中中的元素的个数,,为中的元素,、、代表多项式,、、为随机数;
表示特定根组成的一个多项式,的阶数比的阶数小2,
。
2.根据权利要求1所述的用于零知识证明的证明方法,其特征在于,所述CPU为多核多线程CPU,所述CPU使用至少一个线程进行MultiExp计算处理,其中,每个线程包括多个协程,所述多个协程用于并发处理一个所述R1CS子数据对应的证明分量。
3.根据权利要求1所述的用于零知识证明的证明方法,其特征在于,所述CPU为多核多线程CPU,所述CPU使用多个线程进行MultiExp计算处理,其中,所述多个线程用于并行处理一个所述R1CS子数据对应的证明分量。
4.根据权利要求1所述的用于零知识证明的证明方法,其特征在于,基于所述R1CS子数据,使用GPU进行FFT计算处理,得到所述R1CS子数据对应的多项式数据包括:
使用GPU对所述至少一个R1CS子数据依次进行FFT计算处理,得到与各所述R1CS子数据对应的多项式数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州字节方舟科技有限公司,未经杭州字节方舟科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111375621.4/1.html,转载请声明来源钻瓜专利网。