一种针对RISC-V处理器的NTRU优化实现方法技术

技术编号:38916177 阅读:12 留言:0更新日期:2023-09-25 09:30
本发明专利技术公开了一种针对RISC

【技术实现步骤摘要】
一种针对RISC

V处理器的NTRU优化实现方法


[0001]本专利技术涉及电力
,具体为一种针对RISC

V处理器的NTRU优化实现方法。

技术介绍

[0002]后量子密码算法利用了比传统公钥密码算法更复杂的数学困难问题,可以有效抵后量子计算带来的威胁;然而,后量子密码算法所提供的密钥交换协议和数字签名协议占用空间大,难以直接部署到资源受限的物联网设备中,如无线传感器网络中常用的8

bit处理器,其ROM空间为128KB左右,还需要部署操作系统和大量的业务逻辑,留给密码算法的空间十分有限,在此类处理器上部署后量子密码十分困难,如无线传感器网络中常用的8

bit处理器,其ROM空间为128KB左右,还需要部署操作系统和大量的业务逻辑,留给密码算法的空间十分有限,在此类处理器上部署后量子密码十分困难。此外,大多数物联网应用都非常强调运行效率,如智能家居及可穿戴设备上常用ARM Cortex

M系列处理器(如Cortex

M0、Cortex

M3等),其主频通常在32MHZ~120MHZ左右,在该场景下,密码算法的延时对用户感知的影响较大,在使用后量子密码算法为物联网应用提供安全保障的同时,需要大力提升后量子密码算法的运行效率,为物联网用户提供良好的使用体验。
[0003]当前,后量子密码算法在资源受限的物联网嵌入式设备上的相关适配性、性能优化以及内存优化研究不够充分;现有的技术方案大多使用NTT算法来加速算法中多项式乘法的运算速度,这虽然能够降低运算的时间复杂度,但是会大幅度增加算法指令周期,拖慢算法的运行效率,为此我们提出一种针对RISC

V处理器的NTRU优化实现方法用于解决上述问题。

技术实现思路

[0004]本专利技术的目的是进行NTRU算法在RISC

V 32bit处理器上的优化实现,给后量子密码算法在资源受限的物联网嵌入式设备上的相关适配性、性能优化以及内存优化研究不够充分的问题提供一个解决方案;NTRU与其他后量子密码算法相比,拥有相对较短并且容易产生的密钥、算法的运算速度快、所需的存储空间小的特点;NTRU的主要算术运算是将438次多项式(与NTRU的128位安全等级对应)与小系数相乘,这显然比对3072位(与RSA的128位安全等级对应)整数执行的模幂运算或256位椭圆曲线组中的标量乘法成本更低;这一特性使NTRU非常适合于多种资源受限的设备,例如智能卡、无线传感器节点和RFID设备。
[0005]在NTRU算法加解密的过程中,多项式乘法运算对算法的性能和内存占用影响最大;针对在嵌入式平台上实现后量子密码算法需要兼顾空间占用和性能优化的需求,本专利技术在RISC

V平台上为NTRU适配恒定时间的稀疏多项式乘法算法的汇编实现,减少了加解密过程中的循环次数,在保证安全性和算法性能的同时,减少了运算过程中乘法指令的使用次数。
[0006]为实现上述目的,本专利技术提供如下技术方案:一种针对RISC

V处理器的NTRU优化实现方法,包括临时寄存器gp、指针寄存器tp、若干个暂存寄存器s和NTRU算法,步骤如下:
[0007]S1、将NTRU算法中的多项式乘法运算改写为卷积运算,所述卷积运算由若干因式卷积得到,所述因式中至少有一个稀疏多项式;
[0008]S2、通过对稀疏多项式预处理,将包含N个系数的稀疏多项式转化为存储稀疏多项式中非零系数索引的数组v(x);
[0009]S3、对存储稀疏多项式中非零系数索引的数组v(x)进行预计算,将预计算得到多项式地址临时存放至临时寄存器gp中;
[0010]S4、在进行完预计算后,使用若干因式进行卷积运算,即完成算法的优化,卷积运算是由一个外循环和两个内循环循环嵌套组成;
[0011]S41、外循环,将未改写前NTRU算法中多项式系数进行迭代,每次迭代计算出未改写前NTRU算法中的若干多项式系数;
[0012]S42、通过两个内循环分别对计算出的若干多项式系数,进行若干次的加减法运算。
[0013]优选的,S1至S3具体步骤如下:
[0014]S11、改写之后的NTRU算法可以表示为N次多项式数组h(x)与稀疏多项式数组r(x)卷积运算;
[0015]S21、对稀疏多项式数组r(x)进行遍历,记稀疏多项式r(x)中系数为1的数量为n,

1的数量为m,通过n+m的值确定存储稀疏多项式中非零系数索引v(x)的大小;
[0016]S22、再次对数组r(x)进行遍历,当遍历到数组r(j)=1时,将此时的索引j的值从v(0)开始按顺序记录;当遍历到数组r(j)=

1,将此时的索引j的值从v(x)开始按顺序记录;
[0017]S31、提取数组v(x)中记录的索引j,将索引j乘以2以获得字节偏移量,并于此时h(N)的地址进行减法运算,获得h(N

j)的地址,该地址信息位32位;
[0018]S32、将运算得到的32位地址信息存入到临时寄存器gp中。
[0019]优选的,S4具体步骤如下:
[0020]S411、未改写前的NTRU算法中的多项式系数记为数组w(x),计算出数组w(x)的8个系数w
k
,w
k+1
,...,w
k+7
,首次计算从w(x)中最小角标系数w0开始;
[0021]S412、当计算w
k
索引j的值为0时,临时寄存器gp存入的是h(0)的地址;
[0022]S413、当计算w
k
索引j的值不为0时,临时寄存器gp存入的是h(N

j+k)的地址;
[0023]S414、步骤S411至S413循环执行ceil((N+7)/8)次;
[0024]S421、第一个内循环迭代a次,进行每迭代循环8次,每次循环对w
k
,w
k+1
,...,w
k+7
其中一个系数进行加法运算;
[0025]S422、第二个内循环迭代b次进行每迭代循环8次,每次循环对w
k
,w
k+1
,...,w
k+7
其中一个系数进行减法运算;
[0026]其中,a+b=N。
[0027]优选的,第一个内循环包括如下步骤:
[0028]S4211、从临时寄存器gp中取出索引为j的h(N

j+k)地址,并将该地址存放至指针寄存器tp中;
[0029]S4212、根据指针寄存器tp中存放索引为j的h(N

j+k)地址取出N次多项式数组h(N

j+k)的值,并将系数w
k
与取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对RISC

V处理器的NTRU优化实现方法,包括临时寄存器gp、指针寄存器tp、若干个暂存寄存器s和NTRU算法,其特征在于:步骤如下:S1、将NTRU算法中的多项式乘法运算改写为卷积运算,所述卷积运算由若干因式卷积得到,所述因式中至少有一个稀疏多项式;S2、通过对稀疏多项式预处理,将包含N个系数的稀疏多项式转化为存储稀疏多项式中非零系数索引的数组v(x);S3、对存储稀疏多项式中非零系数索引的数组v(x)进行预计算,将预计算得到多项式地址临时存放至临时寄存器gp中;S4、在进行完预计算后,使用若干因式进行卷积运算,即完成算法的优化,卷积运算是由一个外循环和两个内循环循环嵌套组成;S41、外循环,将未改写前NTRU算法中多项式系数进行迭代,每次迭代计算出未改写前NTRU算法中的若干多项式系数;S42、通过两个内循环分别对计算出的若干多项式系数,进行若干次的加减法运算。2.根据权利要求1所述的一种针对RISC

V处理器的NTRU优化实现方法,其特征在于:S1至S3具体步骤如下:S11、改写之后的NTRU算法可以表示为N次多项式数组h(x)与稀疏多项式数组r(x)卷积运算;S21、对稀疏多项式数组r(x)进行遍历,记稀疏多项式r(x)中系数为1的数量为n,

1的数量为m,通过n+m的值确定存储稀疏多项式中非零系数索引v(x)的大小;S22、再次对数组r(x)进行遍历,当遍历到数组r(j)=1时,将此时的索引j的值从v(0)开始按顺序记录;当遍历到数组r(j)=

1,将此时的索引j的值从v(x)开始按顺序记录;S31、提取数组v(x)中记录的索引j,将索引j乘以2以获得字节偏移量,并于此时h(N)的地址进行减法运算,获得h(N

j)的地址,该地址信息位32位;S32、将运算得到的32位地址信息存入到临时寄存器gp中。3.根据权利要求2所述的一种针对RISC

V处理器的NTRU优化实现方法,其特征在于:S4具体步骤如下:S411、未改写前的NTRU算法中的多项式系数记为数组w(x),计算出数组w(x)的8个系数w
k
,w
k+1
,...,w
k+7
,首次计算从w(x)中最小角标系数w0开始;S412、当计算w
k
索引j的值为0时,临时寄存器gp存入的是h(0)的地址;S413、当计算w
k
索引j的值不为0时,临时寄存器gp存入的是h(N

j+k)的地址;S414、步骤S411至S413循环执行ceil((N+7)/8)次;S421、第一个内循环迭代a次,进行每迭代循环8次,每次循环对w
k
,w
k+1
,...,w
k+7
其中一个系数进行加法运算;S422、第二个内循环迭代b次进行每迭代循环8次,每次循环对w
k
,w
k+1
,...,w
k+7
其中一个系数进行减法运算;其中,a+b=N。4.根据权利要求3所述的一种针对RISC

V处理器的NTRU优化实现方法,其特征在于:第一个内循环包括如下步骤:S4211、从临时寄存器gp中取出索引为j的h(N

j+k)地址,并将该地址存放至指针寄存
器tp中;S4212、根据指针寄存器tp中存放索引为j的h(N

j+k)地址取出N次多项式数组h(N
‑...

【专利技术属性】
技术研发人员:张峰石建章文刘哲韩朝阳
申请(专利权)人:杭州后量子密码科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1