The invention discloses an acceleration method for the lattice based public key encryption algorithm. The method is as follows: firstly, the karatsua algorithm or the toom \u2011 cook algorithm is used to divide the high-dimensional polynomial operation in the lattice encryption algorithm into multiple low-dimensional polynomial multiplication, then the low-dimensional polynomial multiplication is converted into the large number multiplication supported by the large number coprocessor by the croneck transformation, and finally Use the large coprocessor to perform large multiplication. The invention can improve the calculation efficiency of polynomial multiplication, thereby accelerating the lattice based post quantum cryptography algorithm.
【技术实现步骤摘要】
一种对于基于格的公钥加密算法的加速方法
本专利技术属于密码
,尤其涉及一种利用大数运算协处理器的对于基于格(lattice)的公钥加密算法的加速方法。
技术介绍
基于公钥密码学的加解密技术应用广泛,成为保证信息安全的重要工具,尤其是在数据加密、数字签名等方面发挥着巨大的作用。目前,RSA加密算法、ECC加密算法、DH密钥交换协议等公钥密码算法被广泛的使用,这些密码算法均基于经典数学困难问题,如大数分解(integerfactorization)和离散对数(discretelogarithm)等。研究表明,这些基于经典数学困难问题的公钥密码算法在量子计算模型下存在多项式时间的破解算法。近年来,量子计算机及其相关技术的不断发展,严重威胁着基于经典数学困难问题的公钥密码算法的安全性。后量子(或称“抗量子”)密码算法(post-quantumcryptography)被视为可以抵抗量子计算攻击的密码算法,主要包括基于格的密码、基于编码的密码、基于多变量的密码和基于杂凑函数的密码等。在几种后量子密码算法中,基于格的密码算法具有良好的安全性与运行效率,近年来发展迅速。格(lattice)密码系统是一种新型的密码系统,一个格L就是线性空间Rn上确定的一组线性无关向量的整线性组合,这组向量称为格L。格上的困难问题主要包括最短向量问题(shortestvectorproblem,SVP),最近向量问题(closestvectorproblem,CVP),小整数解问题(smallintegersolutionproblem ...
【技术保护点】
1.一种对于基于格的公钥加密算法的加速方法,其特征在于,首先使用克罗内克变换将格密码算法中的多项式乘法转换为大数乘法运算,然后使用大数协处理器执行大数乘法运算。/n
【技术特征摘要】
1.一种对于基于格的公钥加密算法的加速方法,其特征在于,首先使用克罗内克变换将格密码算法中的多项式乘法转换为大数乘法运算,然后使用大数协处理器执行大数乘法运算。
2.如权利要求1所述的方法,其特征在于,使用克罗内克变换将格密码算法中的多项式乘法转换为大数乘法运算的方法为:首先使用克罗内克变换将格密码算法中的高维多项式乘法转换为长比特长度的大数乘法运算,然后通过Karatsuba或Toom-Cook算法将长比特长度的大数乘法拆分为数次大数协处理器支持计算的短比特长度的大数乘法,最后使用大数协处理器计算这些短比特长度的大数乘法。
3.如权利要求2所述的方法,其特征在于,使用克罗内克变换将格密码算法中的多项式乘法转换为大数乘法运算的方法为:首先使用克罗内克变换将格密码算法中的多项式乘法转换为N比特的大数乘法运算,通过a次递归的Karatsuba或一次b-way的Toom-Cook快速大数乘法运算,将该N比特的大数乘法拆分为数次的M比特长度的大数乘法,然后使用大数协处理器计算M比特的大数乘法;其中,a≥log2(N/M),b≥(N/M),M为大数运算协处理器所在芯片支持的定长比特。
4.如权利要求1所述的方法,其特征在于,使用克罗内克变换将格密码算法中的多项式乘法转换为大数乘法运算的方法为:首先采用Karatsuba或Toom-Cook算法将格密码算法中的高维多项式乘法拆分为数次的低维多项式乘法,然后用克罗内克变换将低维多项式乘法转换为大数协处理器支持计算的短比特长度的大数乘法...
【专利技术属性】
技术研发人员:王斌,顾小卓,杨颖珊,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。