有限域gf(2^227)上的乘法器及模乘算法_3

文档序号:8361173阅读:来源:国知局
,本模块实现的功能是(A iXχ)modf(x) = Ai+1,其中f (χ) = x227+lo对于位宽m= 226bit的时候,此位宽具有AOP类型的约减多项式f (χ) = x226+x225+x224......+x2+x+l,具有AOP约减式的位宽经过冗余表示之后,
可以化简其约减多项式,使得对其进行设计的时候具有很多优势,因此对226bit位宽进行冗余表示使得m = 227bit,此时约减式就是f (χ) = χ227+1,因此本设计就基于此理论。这样
(Α226 X χ226+Α225 X χ225+Α224X χ224......AO) X χ = A226 X x227+A225 X χ226...AO X x,对其进行约减,χ227= 1,这样相乘的结果就是A2 2 5Xx 226+A224Xx225......AOXX+A226,即如图5
所示,输入数据Ai进行Reduct1n操作就是对其进行一次循环左移操作。
[0070]图6所示是本发明的流水执行过程,图中从上而下第一行是整个模乘操作执行的状态,第二行到第五行是每一次227*57模乘所执行的操作,每一次模乘都包括5个操作,分别是 LOAD, PARTIAL REGFI LEI, PARTIAL REGFILE 2, PARTIAL REGFILE3, RESULT1,分别执行的操作是输入数据加载,部分积叠加寄存1,部分及叠加寄存2,部分积叠加寄存3和每次模乘的部分积累加,详细执行过程已在上述状态机描述中陈述,将四次模乘流水执行缩短了模乘执行周期。注意:图中的缩写已经在图旁边标示。
[0071]图7所示是本发明的整体设计框图,包含了所有的接口信号。输入接口信号为:系统时钟Clk_i ;全局低电平复位信号Rstn_i ;模乘操作使能信号,高有效,Mul_en_i ;两个输入操作位宽为227bit。输出接口信号为:最终模乘结果输出数据C_o ;模乘执行完成单周期标志位信号,高有效,0utvalid_O。当检测到高电平的模乘使能信号的时候启动模乘操作,执行完成后给出模乘操作结束标志位,并输出模乘结果数据,调用模乘操作的其他单元检测到模乘操作结束标志位就可以采样模乘结果输出数据。
[0072]综上所述,本发明具有以下有益效果:
[0073](I)复用了乘法操作单元227*57,节约了资源;
[0074](2)很少的使用移位寄存器,直接进行了乘法操作而不需要截断矩阵和矩阵简化模块,使设计得到简化;
[0075](3)在部分积叠加部分中插入了寄存器,切断了模乘操作的路径,从而减小关键路径长度,使得关键路径最大延时为TA+2Tx,提高时钟频率;
[0076](4)通过状态机控制使得整个操作流水执行,是在多消耗寄存器资源的条件下提高时钟频率,提升模乘操作的效率;
[0077](5)提出了应用于位宽m= 226的ECC系统的m = 227的模乘模块,m = 226的时候,具有AOP类型约减多项式,对其操作数进行冗余表示为m = 227,简化其约减多项式,提高模乘性能。
【主权项】
1.有限域GF(2~227)上的乘法器,其特征在于,将一个操作数由低位至高位划分为固定字长的若干部分,对各部分与另一操作数按位相乘的部分积进行模加,模乘器具体包括: 部分积叠加模块、第一寄存器、第一累加模块、第二寄存器、第二累加模块、第三寄存器、模加模块、第四寄存器,其中: 部分积叠加模块,其输入端接操作数信号,其输出端与第一寄存器输入端连接,输出操作数按位相乘部分积的叠加结果至第一寄存器输入端; 第一寄存器,其输出端与第一累加模块输入端连接,输出寄存的部分积叠加结果至第一累加模块; 第一累加模块,其输出端与第二寄存器输入端连接,输出第一累加结果至第二寄存器; 第二寄存器,其输出端与第二累加模块输入端连接,输出寄存的第一累加结果至第二累加模块; 第二累加模块,其输出端与第三寄存器输入端连接,输出第二累加结果至第三寄存器; 第三寄存器,其输出端与模加模块第一输入端连接,输出寄存的第二累加结果至模加丰吴块; 模加模块,其第二输入端与第四寄存器输出端连接,其输出端与第四寄存器输入端连接,模加模块对第二累加结果进行组合逻辑运算得到模乘结果,第四寄存器寄存模乘结果并将该模乘结果反馈至模加模块作为下一次模加运算的输入数据。
2.根据权利要求1所述的有限域GF(2~227)上的乘法器,其特征在于,所述第一和/或第二累加模块为2级异或树链结构的累加模块。
3.有限域GF(2~227)上的模乘算法,其特征在于,利用权利要求1所述的乘法器并采用数字串行的执行方式完成模乘运算,包括如下步骤: A.将两个乘数填位表示成位宽m为227bit的第一操作数、第二操作数; B.将第一操作数由低位至高位依次划分为字长是57bit的第一至第四部分,将第一操作数的每一部分依次与第二操作数按位相乘所得的部分积叠加后再模加。
4.根据权利要求3所述的有限域GF(2~227)上的模乘算法,其特征在于,步骤B中所述的部分积按如下方法得到:采用AOP型约减式进行冗余表示后的约减多项式f(x) = x227+l对第二操作数循环左移以确定第二操作数的下一操作位,采用并行方式计算第一操作数每一部分与第二操作数每一操作位的积。
5.根据权利要求3或4所述的有限域GF(2~227)上的模乘算法,其特征在于,步骤B具体包括如下状态: a.第一寄存器寄存第一操作数的第一部分与第二操作数按位相乘的部分积叠加结果,导入第一操作数第二部分并进入状态b ; b.第一寄存器寄存的数据经第一累加器处理后得到第一累加结果,第一累加结果寄存在第二寄存器中,第一操作数的第二部分与第二操作数按位相乘的部分积叠加结果寄存在第一寄存器中,导入第一操作数第三部分并进入状态c ; c.第二寄存器寄存的数据经第二累加器处理后得到第二累加结果,第二累加结果寄存在第三寄存器中,第一寄存器寄存的数据经第一累加器处理后得到第一累加结果,第一累加结果寄存在第二寄存器中,第一操作数第三部分与第二操作数按位相乘的部分积叠加结果寄存在第一寄存器中,导入第一操作数第四部分并进入状态d; d.模加器对第二累加结果进行组合逻辑运算得到第一次模乘结果,第二寄存器寄存的数据经第二累加器处理后得到第二累加结果,第二累加结果寄存在第三寄存器中,第一寄存器寄存的数据经第一累加器处理后得到第一累加结果,第一累加结果寄存在第二寄存器中,第一操作数第四部分与第二操作数按位相乘的部分积叠加结果寄存在第一寄存器中; e.模加器对第二累加结果、第一次模乘结果进行组合逻辑运算得到第二次模乘结果,第二寄存器寄存的数据经第二累加器处理后得到第二累加结果,第二累加结果寄存在第三寄存器中,第一寄存器寄存的数据经第一累加器处理后得到第一累加结果,第一累加结果寄存在第二寄存器中; f.模加器对第二累加结果、第二次模乘结果进行组合逻辑运算得到第三次模乘结果,第二寄存器寄存的数据经第二累加器处理后得到第二累加结果,第二累加结果寄存在第三寄存器中; g.模加器对第二累加结果、第三次模乘结果进行组合逻辑运算得到最后的模乘结果。
【专利摘要】本发明公开了有限域GF(2^227)上的乘法器及模乘算法,属于数据信息加解密的技术领域。乘法器包括:部分积叠加模块、第一寄存器、第一累加模块、第二寄存器、第二累加模块、第三寄存器、模加模块、第四寄存器。模乘算法复用乘法操作单元227*57,提出了应用于位宽m=226的ECC系统的m=227的模乘模块,m=226的时候,具有AOP类型约减多项式,对其操作数进行冗余表示为m=227,简化其约减多项式,提高模乘性能,在部分积叠加部分中插入了寄存器,切断了模乘操作的路径,从而减小关键路径长度,流水执行模乘操作,提高了时钟频率,提升了处理速度以及数据吞吐量,节约资源。
【IPC分类】G06F7-523
【公开号】CN104679474
【申请号】CN201510115408
【发明人】李冰, 张余, 王凡, 杜清, 赵霞, 刘勇, 王刚, 董乾
【申请人】东南大学
【公开日】2015年6月3日
【申请日】2015年3月16日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1