基于FPGA的Montgomery模乘器的高效实现
发布时间:2019-08-26 11:35
【摘要】:为了提高椭圆曲线密码处理器的模乘速度,提出了一种更有效且更适合硬件实现的Montgomery算法。改进的算法分析了基于CSA加法器的Montgomery模乘算法,提出了多步CSA加法器的Montgomery算法,该算法能够在一个时钟内做多次CSA迭代运算,可以有效地降低时钟个数,进而提高模乘速度。通过ModelSim仿真工具仿真,正确完成一次256位的Montgomery模乘运算只需要16个时钟周期。在Altera EP3SL200F1517C2 FPGA中的运行结果表明,71.5 MHz的时钟频率下,完成一次256位的模乘运算仅需要0.22μs。
【图文】:
罚嘌釼看蔚仌次迭代运算都是在t次循环下(即t个时钟)进行的,故经过s步迭代运算后就应该进入到剩余步数r是否大于0的判断,如果r>0,则还需要多一个时钟执行完剩余的r位数据处理,这样才能全部处理完k位数据,最后输出结果z=xyR-1modm;反之,直接跳转到输出结果,即可结束运算。图2给出的是每次迭代运算的电路结构图,,可以看出,该电路结构主要包括与门、加法器、数据选择器以及移位寄存器等几个器件单元。图2的目的主要是计算每处理1bit的输入数据x与y的结果,而图1中的迭代运算指的是每次处理多位的输入数据。图1Montgomery模乘硬件实现流程图图2迭代单次电路结构4仿真结果与性能分析对于本文所设计的Montgomery模乘器结构,本文采用Verilog语言进行编程,并在ModelsimSE10.1a中验证了其正确性,仿真结果如图3所示,是256bitMontgomery模乘的运算结果,测试数据为m:256'HFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF;x:256'H7FE0BB5B55741B27F619CF03E1878F77C42943766A3F808C4EAAF9642B0A9411;y:256'HAE155036DC8FD3F05BB05800BCD0B6526D2B2B88E4A995070220E8368C50B2EF;得到的结果为M(x,y)=256’HD72933ED20DC83F41AD27B9ACB6EA970D452C40BAA8238FF7442327D68255DF7图3256bitMontgomery模乘的运算结果为了更好地分析本文Montgomery模乘的性能,在功能仿真得到验证后,又利用Altera对此设计进行综合,选用StriaxIII系列的EP3SL200F1517C2器件,结果表明:计算256bit模乘,选取步数s=4时,综合后的器件频率为193.15MHz,面积为6237ALUTs(adaptivelook-uptables,自适应查找表),需要耗费64个时钟,完成一次256bit的Montgomery模乘需要0.22μs;选取步数s=16时,综合后的频率71.5MHz,面积为1870
脑怂憬峁鉖囝兄
本文编号:2529260
【图文】:
罚嘌釼看蔚仌次迭代运算都是在t次循环下(即t个时钟)进行的,故经过s步迭代运算后就应该进入到剩余步数r是否大于0的判断,如果r>0,则还需要多一个时钟执行完剩余的r位数据处理,这样才能全部处理完k位数据,最后输出结果z=xyR-1modm;反之,直接跳转到输出结果,即可结束运算。图2给出的是每次迭代运算的电路结构图,,可以看出,该电路结构主要包括与门、加法器、数据选择器以及移位寄存器等几个器件单元。图2的目的主要是计算每处理1bit的输入数据x与y的结果,而图1中的迭代运算指的是每次处理多位的输入数据。图1Montgomery模乘硬件实现流程图图2迭代单次电路结构4仿真结果与性能分析对于本文所设计的Montgomery模乘器结构,本文采用Verilog语言进行编程,并在ModelsimSE10.1a中验证了其正确性,仿真结果如图3所示,是256bitMontgomery模乘的运算结果,测试数据为m:256'HFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF;x:256'H7FE0BB5B55741B27F619CF03E1878F77C42943766A3F808C4EAAF9642B0A9411;y:256'HAE155036DC8FD3F05BB05800BCD0B6526D2B2B88E4A995070220E8368C50B2EF;得到的结果为M(x,y)=256’HD72933ED20DC83F41AD27B9ACB6EA970D452C40BAA8238FF7442327D68255DF7图3256bitMontgomery模乘的运算结果为了更好地分析本文Montgomery模乘的性能,在功能仿真得到验证后,又利用Altera对此设计进行综合,选用StriaxIII系列的EP3SL200F1517C2器件,结果表明:计算256bit模乘,选取步数s=4时,综合后的器件频率为193.15MHz,面积为6237ALUTs(adaptivelook-uptables,自适应查找表),需要耗费64个时钟,完成一次256bit的Montgomery模乘需要0.22μs;选取步数s=16时,综合后的频率71.5MHz,面积为1870
脑怂憬峁鉖囝兄
本文编号:2529260
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2529260.html