[发明专利]基于RLWE加密方案的高性能全同态加密处理器电路有效
申请号: | 202111499003.0 | 申请日: | 2021-12-09 |
公开(公告)号: | CN114172629B | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 杜高明;郭文杰;廖秋竹;宋宇鲲;尹勇生 | 申请(专利权)人: | 合肥工业大学 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/08;H04L9/30;G06F5/16;G06F13/16;G06F17/14 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 陆丽莉;何梅生 |
地址: | 230009 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 rlwe 加密 方案 性能 同态 处理器 电路 | ||
1.一种基于RLWE加密方案的高性能全同态加密处理器电路,其特征包括:存储模块、两个NTT模块、控制模块、编码器和译码器;
所述存储模块通过数据选择器按照倒序存储的方式存储有多项式系数,包括:三个输入噪声e1、e2和e3、消息m、NTT运算过程中的中间系数以及NTT运算后的两个公钥A、P和私钥R2;所述中间系数包括:正缩放因子ψi、逆缩放因子ψ-i、旋转因子ω;
第一NTT模块包含第一蝶形模块、第二蝶形模块、第一取模模块、第一倒序模块;其中,第一NTT模块包含第一蝶形模块和第二蝶形模块;
第二NTT模块包含第三蝶形模块、第四蝶形模块、第二取模模块、第二倒序模块;其中,第二NTT模块包含第三蝶形模块和第四蝶形模块;
在所述控制模块的控制下,所述编码器获取所述存储模块中的消息m并进行编码处理,得到编码后的消息me并存入存储模块中;
四个蝶形模块同时从所述存储模块中读取编码后的消息me和第三噪声e3并进行相加后,得到处理后的第三噪声e3m;
所述第一蝶形模块从所述存储模块中获取输入噪声e1的低位以及缩放因子ψi并进行预计算,得到噪声e1ψ的低位并存入所述存储模块的原地址中;
所述第二蝶形模块从所述存储模块中获取输入噪声e1的高位以及缩放因子ψi并进行预计算,得到噪声e1ψ的高位并存入所述存储模块的原地址中;
同时,所述第三蝶形模块从所述存储模块中获取输入噪声e2的低位以及缩放因子ψi并进行预计算,得到噪声e2ψ的低位并存入所述存储模块的原地址中;
所述第四蝶形模块从所述存储模块中获取输入噪声e2的高位以及缩放因子ψi并进行预计算,得到噪声e2ψ的高位并存入所述存储模块的原地址中;
所述第一NTT模块从所述存储模块中读取所述噪声e1ψ和旋转因子ω并进行蝶形运算,得到运算结果E1后存入所述存储模块的原地址中;同时,所述第二NTT模块从所述存储模块中读取所述噪声e2ψ和旋转因子ω并进行蝶形运算,得到运算结果E2后存入所述存储模块的原地址中;
所述第一蝶形模块从所述存储模块中读取所述第三噪声e3m的低位和缩放因子ψi并进行预计算,得到计算结果e3mψ的低位后存入所述存储模块的原地址中;同时所述第二蝶形模块从所述存储模块中述第三噪声e3m的高位和缩放因子ψi并进行预计算,得到计算结果e3mψ的高位后存入所述存储模块的原地址中;
所述第一NTT模块从所述存储模块读取计算结果e3mψ和旋转因子ω并进行原位NTT运算,得到运算结果E3M;同时,所述第三蝶形模块从所述存储模块中读取公钥A、NTT运算结果E1和E2并计算密文C1=A⊙E1+E2后发送给所述第二取模模块进行取模处理,得到的结果存入所述存储模块的原地址中;同时,所述第四蝶形模块从所述存储模块中读取公钥P和NTT运算结果E1并计算第一参数PE1=P⊙E1后写入所述存储模块的原地址中;
所述第一蝶形模块和第二蝶形模块对所述计算结果e3mψ进行最后一级的蝶形运算,同时,所述第三蝶形模块、第四蝶形模块从所述存储模块中读取参数PE1和运算结果E3M并进行加法计算得到密文C2=PE1+E3M后存入所述存储模块的原地址中,从而完成对消息m的加密;
四个蝶形模块分别从存储模块中读取密文C1、C2和私钥R2并进行点乘和加法运算,得到第二参数MD=C1⊙R2+C2并发送给相应的倒序模块进行倒序排列后,存入所述存储模块的原地址中;
所述第一蝶形模块和第二蝶形模块从所述存储模块中读取所述第二参数MD和旋转因子ω并进行最后一级的蝶形运算,得到两个蝶形运算结果;同时,所述第三蝶形模块和第四蝶形模块从所述存储模块中读取缩放因子ψ-i和两个蝶形运算结果进行点乘运算,得到INTT计算结果md并存入所述存储模块的原地址中;
在INTT运算结束后,四个蝶形模块从所述存储模块中读取所述INTT计算结果md和缩放因子ψ-i并行乘法运算,得到后计算结果mdψ后写入所述存储模块的原地址中;
在所述控制模块的控制下,所述译码器获取所述存储模块中的后计算结果mdψ并进行译码处理,得到消息m,从而完成消息m的恢复。
2.根据权利要求1所述的基于RLWE加密方案的高性能全同态加密处理器电路,其特征在于,两个NTT模块是按如下过程进行八级蝶形运算:
步骤1、定义蝶形运算的级数为L,并初始化L=1;
步骤2、第一蝶形模块从所述存储模块中读取第L-1级蝶形运算的中间数据e1ψL-1的低位和旋转因子ω的低位并进行蝶形运算得到第L级蝶形运算的中间结果e’1ψL的低位;
第二蝶形模块从所述存储模块中读取第L-1级蝶形运算的中间数据e1ψL-1的高位和旋转因子ω的高位并进行蝶形运算得到第L级蝶形运算的中间结果e’1ψL的高位;
第三蝶形模块从所述存储模块中读取第L-1级蝶形运算的中间数据e2ψL-1的低位和旋转因子ω的低位并进行蝶形运算得到第L级蝶形运算的中间结果e’2ψL的低位;
第四蝶形模块从所述存储模块中读取第L-1级蝶形运算的中间数据e1ψL-1的高位和旋转因子ω的高位并进行蝶形运算得到第L级蝶形运算的中间结果e’2ψL的高位;
当蝶形级数L=1时,令第L-1级蝶形运算的中间数据e1ψL-1和e2ψL-1分别为噪声e1ψ和噪声e2ψ;
步骤3、所述第一取模模块从所述第一蝶形模块和第二蝶形模块获取第L级蝶形运算的中间结果e’1ψL并进行取模运算:
步骤3.1、将中间结果e’1ψL的高位和低位分别输入两个减法器中,并将其中一个减法器的输出结果与模数q相加,得到加法结果;
步骤3.2、将另一个减法器的输出结果作为数据选择器的选通信号,如果e’1ψL的高位e’1ψL的低位,则数据选择器将加法结果输出;若e’1ψL的高位e’1ψL的低位,则所述数据选择器将减法器的输出结果输出;
步骤3.3、将所述数据选择器的输出结果与e’1ψL的最高位相加,得到第L级蝶形运算的中间结果e1ψL;
同理,所述第二取模模块从所述第三蝶形模块和第四蝶形模块获取第L级蝶形运算的中间结果e’2ψL并进行取模运算,得到第L级蝶形运算的中间数据e2ψL;
步骤4、将L+1赋值给L后,判断L8是否成立,若成立,则表示蝶形运算结束,并最终得到的中间数据e1ψL和e2ψL即为运算结果E1和E2,否则,返回步骤2顺序执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111499003.0/1.html,转载请声明来源钻瓜专利网。