蒙哥马利模乘算法改进及硬件实现.pdf
《蒙哥马利模乘算法改进及硬件实现.pdf》由会员分享,可在线阅读,更多相关《蒙哥马利模乘算法改进及硬件实现.pdf(6页珍藏版)》请在咨信网上搜索。
1、蒙哥马利模乘算法改进及硬件实现任仕伟,王华阳,郝越,薛丞博(北京理工大学 集成电路与电子学院,北京100081)摘 要:在嵌入式和物联网等领域的加密应用场景中,需要在加密实现的性能和资源消耗之间找到综合效率最佳的平衡点.模乘法器是 Rivest-Shamir-Adleman 算法(RSA)和椭圆曲线密码(ECC)等公钥密码算法的核心运算模块,其资源占用和运算速度直接影响上层密码算法的整体性能.本文提出高效低延迟的蒙哥马利模乘算法可以有效降低运算量,减少硬件设计的复杂度,结合使用提出的 5-2 低延迟加法器进一步降低模乘法器的关键路径长度,从而提高算法的运行效率.在 Xilinx-K7 系列平台
2、上实现的 1 024 位模乘运算模块系统主频可达 278 MHz,同时面积时间积(ATP)比已有同类算法提高了 15%以上,综合效率表现最优.结果表明,改进后的蒙哥马利模乘算法硬件资源消耗低,适用于物联网等轻量级密码系统.关键词:加密算法;模乘;蒙哥马利;保留进位加法器中图分类号:TN402 文献标志码:A 文章编号:1001-0645(2024)03-0306-06DOI:10.15918/j.tbit1001-0645.2023.082An Improved Montgomery Modular Multiplication Algorithm andIts Hardware Implem
3、entationREN Shiwei,WANG Huayang,HAO Yue,XUE Chengbo(School of Integrated Circuits and Electronics,Beijing Institute of Technology,Beijing 100081,China)Abstract:In cryptographic application scenarios such as embedded and IoT,it is necessary to balance the per-formance and resource consumption of cryp
4、tographic implementation to find the best balance of comprehensiveefficiency.As the core computing module of public key cryptographic algorithms such as Rivest-Shamir-Adle-man algorithm(RSA)and elliptic curve cryptography(ECC),the resource consumption and computing speed ofthe modulo multiplier dire
5、ctly determine the overall performance of the upper layer cryptographic algorithms.The proposed efficient low-latency Montgomery modulo multiplication was designed to effectively reduce theamount of operations and the complexity of hardware design.On this basis,the length of the critical path in the
6、modulo multiplier was arranged to be further reduced by using the proposed 5-2 low-latency adder in combina-tion to improve the algorithm operation efficiency.The system main frequency of the 1024-bit modulo moduleimplemented on the Xilinx-K7 series platform can reach 278 MHz,while the area-time-pro
7、duct(ATP)is im-proved by more than 15%compared with the existing similar algorithms,and the overall efficiency is optimal.The results show that the improved Montgomery modulo multiplication algorithm can give a low hardware re-source consumption,being suitable for lightweight cryptosystems such as I
8、oT.Key words:encryption algorithm;modulo multiplier;Montgomery;carry save adder 数字通信技术的发展在提高信息传输的便利性和效率的同时,也加剧了信息泄漏和窃听的风险.为了加强信息安全,许多加密算法被提出1.目前,作为现代公钥密码学两个主要标准的 Rivest-Shamir-Adle-man 算法(RSA)和椭圆曲线密码(elliptic curve crypto-graphy,ECC)是密码系统研究的焦点之一2 4.收稿日期:2023 04 06基金项目:国家自然科学基金资助项目(62201039);重庆自然科学基金
9、资助项目(cstc2021jcyj-msxmX1096)作者简介:任仕伟(1985),女,博士,副教授,E-mail:.通信作者:薛丞博(1988),男,博士,实验师,E-mail:.第 44 卷第 3 期北 京 理 工 大 学 学 报Vol.44No.32024 年 3 月Transactions of Beijing Institute of TechnologyMar.2024MdeAC=AemodMA=CdmodMAemodM以 RSA 为例,该算法使用一个模数(modulus)和两个密钥 和,其中至少有一个密钥是私钥.要传递的信息通过模幂运算被加密为,解密阶段同样通过模幂运算解密.的
10、计算过程主要由模乘和幂运算组成.ABNS=ABNSSN从前述可以看出,RSA 算法在加解密的过程中都会进行重复的模乘运算.类似地,ECC 算法中的点乘操作基于模乘操作实现5.对于模乘运算,以 RSA常用的 1 024 位大数为例,设有乘数,被乘数,模数,需要先计算两个 1 024 位大数的积,再将结果积对模数取余数,在此计算过程中将会产生 2 048 位的中间结果.对中间结果的模约减步骤通常需要将与模进行比较,在最坏的情况下,意味着需要依次检查两个长数的每一位.因此模乘运算是 RSA 和 ECC 算法中主要的耗时操作,提高模乘操作的效率对提高公钥密码系统的性能起着关键作用.在现有模乘算法中,蒙
11、哥马利算法6是最有效的方案.该算法提出基于加法及除以 2n(nZ)的替代方法,以避免除法操作7,而除以 2n(nZ)可通过简单的移位操作在硬件上实现,从而达到节省硬件资源的效果.该算法在很多密码学应用中都得到了广泛的应用,如用于抗侧信道攻击、密钥管理和其他依赖安全性的应用8 10,其高效性和安全性得到了广泛认可,成为现代密码学领域中不可或缺的重要工具.然而在物联网等轻量级的应用场景下,由于要兼顾设备资源敏感、低功耗和速度,该算法的性能表现较为有限11 12.为解决前述问题,本文提出使用高效低延迟蒙哥马利模乘及 5-2 低延迟加法器相结合的方法优化基-2 的蒙哥马利模乘的结构,以减少资源消耗并提
12、高计算速度.在 Xilinx-K7 平台上的实现结果表明,与已有同类算法相比,所提出的方法可降低 15%以上的面积时间积(area-time-product,ATP),在资源和速度上达到了很好的平衡,更加适用于物联网安全等轻量型应用场景.1 算法理论基础 1.1 蒙哥马利模乘算法NABR2k1 A,B 2kR=2kgcd(N,R)=1R1给定模数、两个整数和以及大整数,满足,且13.此时存在自然数满足:RR1mod N=1(1)A N蒙哥马利算法首先将操作数转换为蒙哥马利表示形式,然后进行蒙哥马利乘运算.对于,其蒙哥马利表示定义为A:=AR mod N(2)AB和的蒙哥马利乘积定义为C:=AB
13、R1(mod N)(3)C故而可以通过蒙哥马利约减算法计算得到C:=C+(CNmod R)NR(4)R1N其中和满足RR1NN=1(mod N)(5)R1NMonpro(A,B)和均通过扩展的欧几里得算法预先计算6.综合上述可知,蒙哥马利模乘算法()主要有以下 3 个步骤:AB(1)求出大数 和 的蒙哥马利乘积为T:=ABR1(mod N),(2)将结果进行蒙哥马利约减U:=(T+(T Nmod R)N)/R,U NU NN(3)判断是否成立,若判断结果为成立,则返回,否则返回.1.2 基-2 的蒙哥马利算法基-2 的蒙哥马利模乘算法按位进行交错循环计算,算法伪代码如算法 1 所示.算法 1:
14、基-2 的蒙哥马利算法A B;N输入:操作数,模数AB mod N输出:结果的蒙哥马利表示 S1 function Radix-2s Monpro(A,B)2 S0=0;3 for i=0 upto k-1 do4 qi=(Si0+AiB0)mod 2;5 Si+1=(Si+AiB+qiN)/2;6 end for7 return Sk8 end function基-2 的蒙哥马利模乘算法具备实现简单、资源消耗少、系统主频高的特点,更适用于硬件实现14 15.观察算法 1 可知,基-2 的蒙哥马利算法的延迟主要来自于循环迭代的大数加和的运算.本文致力于对该部分运算的优化从而实现对基-2 的蒙哥
15、马利算法的改进.1.3 保留进位加法器传统的进位传播加法器在进行加法计算时,需要等待每一位的进位信号从低位到高位逐个传递,第 3 期任仕伟等:蒙哥马利模乘算法改进及硬件实现307最终才能得到整个加法结果.这种逐位传递的方式,虽然可以确保计算的正确性,但在计算速度上存在瓶颈.相比之下,保留进位加法器(carry save adder,CSA)会同时计算出所有位的结果,并将进位信号暂时保留,以备后续的加法计算使用.待所有位计算完成后,保留的进位信号会一次性地进行处理,最终得到整个加法结果.这种方式可以大大提升加法器的计算速度,特别是在对长数字进行计算时,其优势更为显著.所以,相对于传统的进位传播加
16、法器,保留进位加法器在计算速度和效率上具有明显的优势.SUMCARRY保留进位加法器将操作数表示为保留进位格式(carry save representation,CSR)进行计算,在加法器链中,每个操作数的和()与进位()被计算并存储在两个独立的链路中,即:SUM=X1 xor X2 xorX3,CARRY=(X1 and X2)or(X1 and X3)or(X2 and X3),在加法器链路末端,和与进位相加得出最终结果.2 算法改进 2.1 高效低延迟蒙哥马利模乘qiNqiBB0ASi0B0AiB0qi如前所述,在基-2 的蒙哥马利模乘法器中,计算求和的过程是其中关键的一环.该过程需要
17、计算值并将其乘以,然后将结果与另外两个参数的求和结果相加.然而,在计算的过程中,需要将的最低位()和进行逻辑与运算,然后将其与上一轮次结果的最低位()相加.为了避免这种情况的发生,本文提出了一种改进方案,即将 B 乘以 2(左移1 位)后作为算法的输入,以使得=0.通过这种方式,可以省略掉的计算,从而减小计算的复杂度.使用改进后的蒙哥马利模乘无需额外计算,即qi=(Si0+AiB0)mod 2=(Si0+Ai0)mod 2=Si0mod 2=Si0(6)由于将 B 左移后,新的操作数比原操作数多了一个二进制位,算法的计算时间也相应地增加了一个时钟周期.qiSi0qiSi+1硬件实现的计算速度取
18、决于计算所需周期数和系统主频.公钥密码系统中的模幂运算实际上是模乘算法进行一定次数的迭代,所以单次迭代延时直接影响了算法整体延时.改进后的蒙哥马利模乘相比原算法减少一个乘加计算,并且由于与位数均为 1,所以改进后的算法并不增加电路面积.且由于原算法中与的计算存在固定的前后串行关系,因此改进后的算法单次迭代用时减半,从而在减小计算复杂度的情况下直接缩减了整体计算用时.为了验证改进算法的效率提升,将原算法与高效低延迟蒙哥马利模乘分别使用 MATLAB 实现并计时进行对比.实验采用 64 位无符号整数操作数循环计算 16 次来模拟 1 024 位大数的计算,并在此基础上计算 100 次以得到足够的样
19、本并减小误差,结果表明,本算法的计算时间为 39.575 ms,而原算法的计算时间为 80.487 ms,本文提出的改进算法具有更高的效率和更低的时间延迟,同时由前述分析可知,改进后的算法硬件资源占用方面也具有优势.2.2 5-2 低延迟加法器S i+1=(S i+AiB+Si0N)/2由 2.1 节可知,使用了高效低延迟蒙哥马利模乘后,基-2 的模乘在单次迭代中仅含一次乘加运算,即.在 实 际 应 用 中,公钥密码方法通常选取位宽较大的操作数以满足安全性需求,而在大位宽数的加法中,常规的进位传播加法器会引起长进位链问题,导致整体电路时序紧张、系统主频降低,从而影响模乘运算的吞吐率,降低电路的
20、性能与稳定性,保留进位加法器是在减少进位传播延迟的同时添加多个操作数的最常用方法之一,可用于解决这个问题,本节以此为出发点对该计算进行改进.S i+1=S i+AiB+Si0S1i+1,S2i+1=CSRS1i+S2i+Ai(B1+B2)+Si0N/2S1、S2、AiB1、AiB2Si0N基于上述思想,将式转换为保留进位格式可得式.观察可知,新的算式操作数增加为 5 个,即和.针对此情况,本文提出了将 3 级 CSA级联构建为 5-2 低延迟加法器的结构,将 5 个操作数加和为 2 个输出,最大限度地减小关键延迟,更好地平衡资源占用与运算速度.5-2 低延迟加法器的结构框图如图 1 所示.CS
21、A0CSA1CSA2RegisterCLOCKRESETCARRYSUMSUMCARRYCSAX1X1X2X2X3X3X4X5图 1 5-2 低延迟加法器结构框图Fig.1 Structure block diagram of 5-2 low latency adder X1X2X3由图 1 可知,5-2 低延迟加法器具有 5 个输入、2个输出.前 3 个操作数、和作为第一级 CSA的输入在第一个时钟周期参与运算,运算结果以308北 京 理 工 大 学 学 报第 44 卷X4SUMCARRYCSR 表示与第 4 个操作数共同作为第二级 CSA 的输入参与第二个时钟周期的计算,依次类推输出最终计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 马利 算法 改进 硬件 实现
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。