摘要
目前主要研究和应用的公开密钥(PKI)系统的密码算法有两种:RSA算法和ECC算法,前者基于大整数因子分解难题,后者基于椭圆曲线上离散对数计算难题。绝大部分公开密钥系统中进行加解密和数字签名使用的是RSA算法,随着RSA所要求的密钥比特长度的不断增长,效率成为一个最大的瓶颈,尤其是对于越来越要求进行大量的安全交易的应用场合如电子商务等场合更是如此。ECC应用于公钥密码算法与RSA相比的主要优点是:更快的加解密速度、更大的带宽节省、更高的存储效率,160位ECC密码体制的加密强度已相当于1024位RSA密码体制加密强度。而可以预见的是RSA和ECC必将在相当长一段时间内共存,因此研究一种同时支持实现两者的加密算法的芯片的协处理器,这样应用于加密系统中,可以实现两种算法互相配合,交替使用,无疑对提高信息安全有着很大的意义和应用前景。
可重组理论思想是通过改变可重组电路内部可控节点的值从而的改变可重组电路结构实现不同的电路功能的可重组运算,并且由可控节点设置指令可见的指令流,组成算法配置文件,通过软硬件的协同工作,用有限的电路规模实现尽可能的多种算法。本文运用可重组理论,通过RSA、ECC算法在以Montmoney模乘为核心操作粒度上的可重组分析,依据RSA和ECC算法基本操作的连集、并集和共集等关系,设置可控节点,设计了一种基于Montmoney算法的双域密码可重组电路(协处理器),该重组电路核心部分双域模乘器电路由加法器构成,并且采用用8级流水实现模乘,用一种电路实现了RSA和ECC算法。本文的设计是利用可重组理论进行重组电路设计的一次初步的实践,对硬件的实现和软件指令的配置等做了描述。
本文中设计采用Verilog语言输入,并且在Modelsim环境下通过RTL逻辑功能仿真。
At present the main research and the application public key (PKI) the system crypto-algorithm has two kinds: The RSA algorithm and the ECC algorithm, former based on the great divisor of integers decomposition difficult problem, latter is separated the logarithmic computation difficult problem based on the elliptic curve in. In the major part public key system carries on adds the decipher and the digital signature use is the RSA algorithm. The key length unceasing growth requests which along with RSA, the efficiency becomes a biggest bottleneck, regarding more and more requests to carry on massive security transaction situations and so on application situation like electronic commerce is in particular so. ECC applies the main merit which compares in the public key crypto-algorithm and RSA is: The quicker Canadian decipher speed, a greater band width saves, the higher memory efficiency, 160 bits ECC password system encryption intensity has been equal to 1024 bits RSA password system encryption intensity. But may foresee is RSA and ECC will certainly to coexist in quite long period of time, therefore studies one kind simultaneously to support realizes both encryption algorithm chip association processor, like this applies in the cryptographic system, may realize two algorithms to coordinate mutually, uses in turn, without doubt to enhances the information security to have the very big significance and the application prospect.
The Reconfigurable theory thought is may reorganize the electric circuit interior controllable node through the change thus value the change to be possible to reorganize the electric circuit structure realization different electric circuit function to be possible to reorganize the operation, and by the controllable node establishment instruction obvious instruction class, is composed the algorithm configuration files, through the software and hardware joint operation, realizes as far as possible many kinds of algorithms with the limited electric circuit scale. This article utilizes may reorganize the theory, through RSA, the ECC algorithm in while may reorganize the analysis take the Montmoney mold as the core operation granularity in, rests on RSA and the ECC algorithm elementary operation eo company collection, the sum aggregate and altogether relations and so on collection, the establishment controllable node, designed one kind to be possible to reorganize the electric circuit based on the Montmoney algorithm double territory password (to cooperate processor), this
引文
[1] B.Schneier著.吴世忠.祝世雄.张文攻等译.应用密码学(协议.算法与C源程序)[M]机 械工业出版社 2000年1月.
[2] 卢开澄著 计算机密码学——计算机网络中的数据保密与安全(第3版)[M]北京:清华大学出版社 2005年8月.
[3] 牛凤举.刘元成.朱明程.基于IP复用的数字IC设计技术.电子工业出版社.2003年9月.
[4] 任艳颖.王彬.IC数字设计基础.西安电子科技大学出版社.2004年2月.
[5] 张迎新.雷文.姚静波.C8051F系列SOC单片机原理及应用.国防工业出版社.2005年8月。
[6] 曲英杰.李占才.王沁.涂序彦.“适用于可编程加密芯片的可重组体系结构”.计算 机工程与应用.2001年第37卷第19期.
[7] 曲英杰.“可重组密码逻辑的研究与设计”.北京科技大学博士学位论文.2001年3月.
[8] 李翔.智能卡研发技术与工程实践.人民邮电出版社.2003年11月.
[9] 邓勇.周铎.邓斌.数字电路设计完全手册.国防工业出版社.2004年6月.
[10] 夏宇闻.Verilog数字系统设计教程.北京航空航天大学出版社.2005年1月.
[11] 陈超.曾晓洋.章倩苓.一种新型硬件可配置公钥制密码协处理器的VLSI实现.通信学
[12] 报.2005年1月。
[13] 史焱.吴行军.高速双有限域加密协处理器设计.微电子学与计算机.2005年第22卷第5期.
[14]王延斌.叶兵.孙东昱.基于改进Montgomery模乘算法的智能卡协处理器设计.微电子学与计算机 2004年第21卷第12期.
[15] 孔凡玉.于佳.李大兴.一种改进的Montgomery模乘快速算法.计算机工程.2005年4月.
[16] 桂宇光.李林森.一种基于CSA加法器的Montgomery模幂乘硬件实现算法.信息技术.2005年11期.
[17] 张伟.ECDSA算法实现及其安全性分析.信息与电子工程.2003年6月.
[18] 蒋勇.罗玉平.马晏.叶新基。于FPGA的32位并行.乘法器的设计与实现.计算机工程.2005年12月.[19] 董兰飞.冀蓉.孙锁林.曲献君64位子字并行整数乘法器设计.计算机应用.2005年12月.
[20] 沈晓强.郭阳.一种通用有限域乘法器的设计与实现.中国集成电路.2005年8月.
[21] 王新刚.樊晓桠.李瑛.齐斌一种并行乘法器的设计与实现.计算机应用研究.2004年第七期.
[22] 栾玉霞.李存志.32×32乘法器的一种设计.西安电子科技大学学报(自然科学版).2004年2月.
[23] 王飞.来金梅.章倩苓.任俊彦.可配置G(2m)域Digit—Serial乘法器.微电子学与计算机.2004年1月.
[24] 鲁俊生.张文祥.王新辉.一种基于复合域的ECC的快速乘法器.计算机工程与应用2003.20.
[25] 张宪.王喜成.Montgomery算法的研究与实现‘现代电子技术》2004年第8期总第175期.
[26] 丁宏.胨勤.大数模幂乘动态匹配快速算法及其应用.小型微型计算机系统.2002年11月.
[27] 伍军.段斌.刘念.RSA密码计算构件的设计与应用.武汉大学学报(理学版).2004年10月.
[28] 刘强.佟冬.程旭.一款RSA模乘幂运算器的设计与实现.电子学报.2005年5月
[29] 范明钰.王建华.王光卫.大数快速模幂算法的硬件设计.西南交通大学学报.2004年6月.
[30] Savas E, Koc C K. The Montgomery modular inverserevisited[J]. IEEE Trans Computers. 2000, 49(7): 763—766.
[31] Los. J. Menezes. Elliptic Curve Public Key Cryptosystems. Kluwer Academic Publishers. Boston. MA. 1993. 19 P. L. Montgomery. Modula multiplication without trial division. Mathematics of
[32] C. D. Walter. Space/Time trade-offs for higher radix modular multiplication, using repeated addition. IEEE Transactions on Computers,46(2): 139-141, F ebruary 1997.
[33] J.-H. Oh and S.-J. Moon. Modular multiplication method. IEEE Proceedings: Computers and Digital Techniques. 145(4): 317-318. July 1998.
[34] E. Sava. S and C. K. Ko. C. The Montgomery modular inverse-revisited. IEEE Transactions on Computers. to appear. 2000.
[35] C. D. Walter. Space/Time trade-offs for higher radix modular multiplication using repeated??addition. IEEE Transactions on Computers.46(2):139 - 141.F ebruary 1997.20
[36] Kobayashi, Morita. fast Modular Inversion Algorithm to Match Any Opemtion Unit. IEICE Trans. Fundamentals, May 1999, E82 — A(5): 733—740.
[37] Blake, Seroussi, Elliptic Curves in Cryptography, Cambridge University Press: New York, 1999.