[发明专利]一种对于基于格的公钥加密算法的加速方法有效
申请号: | 201910618291.3 | 申请日: | 2019-07-10 |
公开(公告)号: | CN110519058B | 公开(公告)日: | 2020-09-29 |
发明(设计)人: | 王斌;顾小卓;杨颖珊 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | H04L9/30 | 分类号: | H04L9/30 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 对于 基于 加密算法 加速 方法 | ||
1.一种对于基于格的公钥加密算法的加速方法,其特征在于,首先使用克罗内克变换将格密码算法中的多项式乘法转换为大数乘法运算,然后使用大数协处理器执行大数乘法运算;
其中,使用克罗内克变换将基于格的公钥加密算法中的多项式乘法转换为大数乘法运算的方法为:首先采用Karatsuba或Toom-Cook算法将格密码算法中的高维多项式乘法拆分为数次的低维多项式乘法,然后用克罗内克变换将低维多项式乘法转换为大数协处理器支持计算的短比特长度的大数乘法运算,最后使用大数协处理器计算这些短比特长度的大数乘法;
基于格的公钥加密算法为Saber算法;在ESP32芯片上使用大数协处理器对Saber算法进行加速;对Saber算法中的256维13比特系数的多项式乘法,使用2次递归的Karatsuba算法将其转化为9次的64维13比特系数的多项式乘法,然后将64维多项式乘法使用克罗内克变换KS1转换为大数乘法;然后用大数协处理器计算9次2048比特的大数乘法。
2.一种对于基于格的公钥加密算法的加速方法,其特征在于,首先使用克罗内克变换将格密码算法中的多项式乘法转换为大数乘法运算,然后使用大数协处理器执行大数乘法运算;
其中,使用克罗内克变换将基于格的公钥加密算法中的多项式乘法转换为大数乘法运算的方法为:首先采用Karatsuba或Toom-Cook算法将格密码算法中的高维多项式乘法拆分为数次的低维多项式乘法,然后用克罗内克变换将低维多项式乘法转换为大数协处理器支持计算的短比特长度的大数乘法运算,最后使用大数协处理器计算这些短比特长度的大数乘法;
基于格的公钥加密算法为Saber算法;在ESP32芯片上使用大数协处理器对Saber算法进行加速;对Saber算法中的256维10比特系数的多项式乘法,使用1次Toom-Cook-4-way算法将其转换为7次的64维13比特系数的多项式乘法,将64维多项式乘法使用克罗内克变换KS1转换为大数乘法;然后使用大数协处理器计算7次2048比特的大数乘法。
3.如权利要求2所述的方法,其特征在于,在Toom-Cook-4-way的插值变换阶段,对于含有对系数的除法运算,如果除数是奇数的除法运算,则使用乘以该除数对应乘法逆元的方式来代替除法;如果除数是偶数的除法运算,则将该除数分解为一个奇数a与一个偶数b的积,然后将该除数先乘以奇数a的关于模数的乘法逆元,然后对于偶数b做除法运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910618291.3/1.html,转载请声明来源钻瓜专利网。