论文部分内容阅读
RSA算法在公钥密码体制中占有重要的地位,它广泛应用于各种高安全性的智能卡应用领域。RSA是目前比较成熟的公钥加密算法。但在智能卡等资源受限的系统中,完成数值较大的RSA密码算法具有很大的挑战性。因此,本文提出了一种改进的Montgomery模乘算法来减少硬件实现的规模,并结合中国剩余定理加快了RSA私钥的运算速度。主要工作如下:
1、埘密码学的基本原理和RSA的基本数学原理进行了深入的研究,从不同方面探讨了RSA的安全性,以及RSA算法中各个参数的选择原则。
2、对RSA基本运算的算法原理及实现方法进行了研究,实现了RSA的各种基本算法:大数的存储、大数的加减法、大数的乘法、大数的除法、大数的取模算法和相关的扩展的欧几里得算法。其中,着重讨论了Karatsuba算法和Montgomery模乘算法,并提出了改进的算法。
3、提出了一种随机数产生的方法,产生的随机数能够通过随机性检测软件。并在C和C++的设计思想的基础上,提出了一种改进的有利于Vetjlog实现Montgomery模乘的算法。
经过测试,RSA的私钥运算速度最大可提高4倍,硬件实现面积减少6.2%.
最后,对于RSA防范DPA攻击的防护措施的研究作了分析与展望。