当前位置: 首页 > 专利查询>南京大学专利>正文

基于同源曲线的后量子密码学的高速模乘器及其模乘方法技术

技术编号:23557702 阅读:34 留言:0更新日期:2020-03-25 03:27
本发明专利技术公开了一种基于同源曲线的后量子密码学的高吞吐率模乘器及其相应的模乘方法。所述模乘器主要包括乘法模块,约减模块以及后处理模块。其中,乘法模块通过Karatsuba等方法减少乘法器数量。约减模块使用资源消耗更少的常数乘法器和并行化策略。后处理模块通过对加法器进行并行化处理同时提前计算好常数参数进行优化。因此,综上所述,本发明专利技术的模乘器具有高吞吐率的特点。另外,本发明专利技术公开的模乘方法为基于非常规基数的素数形式,使用优化的巴雷特约减方法,比传统的蒙哥马利表示方法有更快的计算速度。综上,本发明专利技术为目前的基于同源曲线的后量子加密学的加密方案提供了一种有效的模乘器架构和模乘方法。

High speed modular multiplier and its method of post quantum cryptography based on homologous curve

【技术实现步骤摘要】
基于同源曲线的后量子密码学的高速模乘器及其模乘方法
本专利技术涉及一种密码学领域的模乘器及模乘方法;特别涉及后量子加密方案中一种高吞吐率的模乘器及其模乘方法。
技术介绍
近年以来,在量子计算机的研究上已经取得了很大的进展。许多常用的公钥密钥算法,比如说RSA算法和椭圆曲线密码(ECC)等算法可以很轻易的根据肖尔算法用强力的量子计算机进行破解。这无疑加速了后量子密码学(PQC)的发展。从2017年以来,国家标准技术研究所(NIST)举办了两轮竞赛,旨在发展后量子标准。超奇异同源密钥封装协议(SIKE)作为26个候选之一,从这两轮竞赛中脱颖而出。SIKE的优点在于与其他候选者相比,它的公钥和私钥的尺寸非常短,可以非常完美地与传统的ECC协议进行兼容。SIKE协议是通过使用密钥封装机制封装超奇异同源diffie-hellman(SIDH)密钥交换协议而开发的。SIDH最初在2011年被提出。SIDH基于在不同的超奇异曲线之间寻找到同源难度的原理来抵御量子攻击。通常,协议中大量串行的同源计算耗费了很长时间的延时,这也是其在实际应用中的瓶颈。因此,加速SIDH的方法可以直接用来加速SIKE协议。许多研究人员对基于软件和硬件平台的SIDH/SIKE协议进行了优化。2011年,Jao使用GMP大数据库对SIDH进行了实现,这也被视为SIDH最早的实现版本。在那之后C.Costello和P.Longa等提供的最新版本通常被认为是目前最快的软件实现,它不断地集成了最先进的超奇异同源密码方案。同时,它也结合开放文献中提出的优化方法,提供了SIDH在FPGA和ARM上的硬件实现。通过分解这些计算,可以发现模乘运算是方案的基本运算之一,也是设计中需要重点关注的问题。在运算中,可以注意到一个超奇异曲线的平滑同源素数通常满足公式p=f·axby±1。其中a和b为小的素数,x和y为正整数,f是一个使得p为素数的辅因子。由于素数p的特殊结构,可以通过对取模操作做一些其他的工作以提升其性能。Karmakar发表了一个高效的素数格式为2·2xby-1的取模算法EFFM,其中x和y为偶数。这样他们可以将域上的元素用一个基于非常规基数R=2x/2by/2的二次式来表示,以增加少量的加法操作为代价减少一半的乘法操作。以此为基础的FFM1算法,通过一个额外的映射函数将EFFM算法中的系数由三个减少到两个,这样可以在不改变复杂度的情况下丢弃提前计算的常数参数。而FFM2算法以牺牲更多的计算为代价将素数p的格式拓展为f·2xby±1,同时也是目前为止最先进的算法。
技术实现思路
本专利技术针对以上问题,基于之前的研究,提出了一个基于非常规基数的素数形式的模乘方法。该方法采用了优化后的Barrettreduction方法,具有比之前的蒙哥马利表示方法更快的速度。本专利技术还基于该方法提出了相应的模乘器架构,具有高吞吐率的特点,具体专利技术如下:一种基于同源曲线的后量子密码学加密方案的高吞吐率的模乘器架构,其特征在于,架构的主要模块有:1)乘法模块,用于计算大数据拆分后二次项系数项的乘法;2)约减模块,通过取模和求余操作进行数据约减;3)后处理模块,对数据进行后处理得到最终输出。上述的模乘器架构的乘法模块,其特征在于,输入为大数据拆分后二次项的系数项,使用Karatsuba方法进行优化,减少了乘法器的数量,减小了计算的复杂度。上述的模乘器架构的约减模块,其特征在于,使用优化后的Barrettreduction算法处理数据,得到约减后的数据。并且在模块中使用了比普通乘法器资源消耗更少的常数乘法器,同时使用了并行化以减少关键路径的长度。上述的模乘器架构的后处理模块,其特征在于,通过对计算中的加法器进行并行化处理同时提前计算好常数参数来减少其关键路径的长度。本专利技术中模乘器架构的模乘方法,其特征在于,包括输入数据处理,一阶Karatsuba计算,优化Barrettreduction计算,输出数据计算,输出数据后处理五个步骤:一、第一步输入数据处理,若需要计算A和B关于素数p的模乘,其中本算法中的超奇异曲线的平滑素数格式为f·2xby±1,其中f为1或2,x和y为偶数,这样可以使用R=2x/2by/2作为非传统基数,从而将输入量变为二次项A=a2R2+a1R+a0(f=2)、A=a1R+a0(f=1),并将系数(a2)、a1、a0、(b2)、b1、b0作为输入项。对于支持多精度运算的版本,由于系数不能一次性的进入运算模块中,需要添加存储或者缓存单元来保存数据;对于f为2时的情况,还需要在输入的a2、a1、a0、b2、b1、b0后加上映射:这样可以将输入系数的数量从三个降到两个,有效减少运算的复杂度。二、一阶Karatsuba计算,即利用Karatsuba公式计算系数的乘积a1b1、a0b0、a1b0+a0b1,公式为:aibi+aibi=(ai+ai)(bi+bi)-aib这样可以将乘法器的数量减少到三个,由于理论上Karatsuba方法可以无限的降低乘法运算的复杂度,但是与此同时,硬件资源的消耗也会迅速增长,所以需要在两者之间取一个很好的折中。三、优化的Barrettreduction计算,通过取模和求余操作得到约减后的数据。由于常数乘法器消耗的资源比普通乘法器更少,而该算法中需要用到常数参数的乘法,所以在此使用了分开设计的常数乘法器。另外对于多精度版本,根据算法公式,需要在约减之前另外加上,上一次迭代的步骤四的输出进行一些移位操作后的数据。四、输出数据计算,即通过上一步约减得到的商和余,按照算法公式叠加得到初步的输出数据。如果是多精度版本,则需要将这些数据进行一些移位操作后,加到进入步骤三约减运算前的数据上。通过采用并行化策略进行优化,来进一步提升时钟频率。五、输出数据后处理,对于f=2时的情况,需要通过反映射将系数的数目变回三个;步骤四得到的数据虽然也为正确数据,但需要进行进一步的处理。因为该数据可能不满足算法公式的约束范围,需要进行进位。一些加减法操作需要引入而使输出满足算法约束;通过对计算中的加法器进行并行化处理,同时提前计算好用到的常数参数,可以提高其吞吐率。本专利技术上述的模乘器架构与模乘方法的结合,具有以下的有益效果:首先,本专利技术的模乘器基于非常规基数的形式进行计算,实现后的计算速度比之前传统的蒙哥马利表示方法更快,计算得到的输出流中输出数据之间的间隔最快仅为一个时钟周期左右;第二,本专利技术吞吐率高且支持多精度计算,多精度版本的实现结果在硬件资源消耗相当或者稍有增加的情况下,吞吐率达到了之前设计的10倍左右。而非多精度版本虽然硬件的资源消耗相比之下增加了一些,但是与吞吐率的提升相比要小的多,将非多精度版本与之前的设计相比,吞吐率的优势会更加明显,约为之前设计的60倍以上;第三,本专利技术的多个模块都采用了并行化的策略,提高了时钟频率;第四,输入数据处理中可能用到的映射操作和Karatsuba计算,降低了运算复杂本文档来自技高网
...

【技术保护点】
1.一种基于同源曲线的后量子密码学加密方案的高吞吐率的模乘器架构,其特征在于,架构的主要模块有:/n1)乘法模块,用于计算大数据拆分后二次项系数项的乘法;/n2)约减模块,通过取模和求余操作进行数据约减;/n3)后处理模块,对数据进行后处理得到最终输出。/n

【技术特征摘要】
1.一种基于同源曲线的后量子密码学加密方案的高吞吐率的模乘器架构,其特征在于,架构的主要模块有:
1)乘法模块,用于计算大数据拆分后二次项系数项的乘法;
2)约减模块,通过取模和求余操作进行数据约减;
3)后处理模块,对数据进行后处理得到最终输出。


2.根据权利1所述的模乘器架构的乘法模块,其特征在于,输入为大数据拆分后二次项的系数项,使用Karatsuba方法进行优化,减少了乘法器的数量,减小了计算的复杂度。


3.根据权利1所述的模乘器架构的约减模块,其特征在于,使用优化后的Barrettreduction算法处理数据,得到约减后的数据。并且在模块中使用了比普通乘法器资源消耗更少的常数乘法器,同时使用了并行化以减少关键路径的长度。


4.根据权利1所述的模乘器架构的后处理模块,其特征在于,通过对计算中的加法器进行并行化处理同时提前计算好常数参数来减少其关键路径的长度,提升吞吐率。


5.一种基于权利1所述的模乘器架构的模乘方法,其特征在于,包括输入数据处理,一阶Karatsuba计算,优化Barrettreduction计算,输出数据计算,输出数据后处理五个步骤:
一、第一步输入数据处理,若需要计算A和B关于素数p的模乘,其中本算法中的超奇异曲线的平滑素数格式为f·2xby±1,其中f为1或2,x和y为偶数,这样可以使用R=2x/2by/2作为非传统基数,从而将输入量变为二次项A=a2R2+a1R+a0(f=2)、A=a1R+a0(f=1),并将系数(a2)、a1、a0、(b2)、b1、b0作为输入项。对于支持多精度运算的版本,由于系数不能一次...

【专利技术属性】
技术研发人员:王中风汪漂洋田静林军
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

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

1