[发明专利]用于联邦学习的基于FPGA芯片实现的Paillier加密方案有效
申请号: | 202010661420.X | 申请日: | 2020-07-10 |
公开(公告)号: | CN111832050B | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 冯新亚;王玮;胡水海 | 申请(专利权)人: | 深圳致星科技有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/76;G06N20/00 |
代理公司: | 北京永新同创知识产权代理有限公司 11376 | 代理人: | 林锦辉;刘景峰 |
地址: | 518038 广东省深圳市南山区粤海街道高新*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 联邦 学习 基于 fpga 芯片 实现 paillier 加密 方案 | ||
1.一种基于FPGA芯片实现Paillier加密的方法,所述FPGA芯片包括数据分发模块、参数计算模块、多个模幂计算引擎、模幂计算结果聚合模块和混淆加密引擎,所述方法包括:
经由所述数据分发模块,将明文数据集M分发给所述混淆加密引擎,将密钥n分发给所述参数计算模块以及将随机数集r分发给所述多个模幂计算引擎,所述随机数集r中的随机数的个数与所述明文数据集M中的明文数据的个数相同;
在所述参数计算模块处,根据所述密钥n,确定Paillier加密所需的第一参数N、第二参数RR、第三参数U0和第四参数np,并将密钥n以及第一到第四参数分发给所述多个模幂计算引擎和所述混淆加密引擎,所述第一参数N是密钥n的平方,所述第二参数RR是蒙哥马利化参数,所述第三参数U0是整数1的蒙哥马利化,所述第四参数np是蒙哥马利模乘参数;
在所述多个模幂计算引擎处,使用所述随机数集r、密钥n和第一到第四参数进行并行模幂计算,并将模幂计算结果提供给所述模幂计算结果聚合模块;
在所述模幂计算结果聚合模块处,对所述模幂计算结果进行聚合处理,并将聚合处理结果提供给所述混淆加密引擎;以及
在所述混淆加密引擎处,使用所述聚合处理结果、所述密钥n、第一到第四参数以及所述明文数据集M进行混淆加密,得到密文数据集。
2.如权利要求1所述的方法,其中,所述第二参数RR和所述第三参数U0是同时计算出的。
3.如权利要求2所述的方法,其中,所述第四参数np的计算与所述第二参数RR和所述第三参数U0的计算并行执行。
4.如权利要求1所述的方法,其中,所述第四参数np基于所述第一参数N的低比特数据计算出。
5.如权利要求1所述的方法,其中,所述第四参数np的计算采用普通乘法计算实现。
6.如权利要求1所述的方法,其中,所述随机数集r以轮询的方式分发给所述多个模幂计算引擎。
7.如权利要求6所述的方法,其中,所述模幂计算采用基于蒙哥马利化域的平方乘计算和基于蒙哥马利化域的大数模乘计算实现。
8.如权利要求7所述的方法,其中,在所述模幂计算采用基于蒙哥马利化域的大数模乘计算实现时,所使用的位宽、流水级数和/或循环次数是可配置的。
9.如权利要求1所述的方法,其中,所述混淆加密被分解为多个并行执行的计算过程。
10.如权利要求1所述的方法,其中,所述参数计算模块、所述多个模幂计算引擎和所述混淆加密引擎的计算过程并行执行。
11.如权利要求1所述的方法,其中,所述FPGA芯片包括输入数据缓存模块和输出数据缓存模块,所述方法还包括:
将所述明文数据集、所述密钥n和所述随机数集r缓存在所述输入数据缓存模块中,以供所述数据分发模块读取来执行数据分发;和/或
将所述密文数据集缓存在所述输出数据缓存模块中。
12.如权利要求1所述的方法,其中,所述FPGA芯片包括随机数生成模块,所述方法还包括:
从外部设备接收所述明文数据集M和所述密钥n;以及
响应于接收到所述明文数据集M,生成所述随机数集r。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳致星科技有限公司,未经深圳致星科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010661420.X/1.html,转载请声明来源钻瓜专利网。