论文部分内容阅读
RSA算法是最具有典型意义的公钥密码算法,目前大多数采用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。RSA算法的安全性是基于大整数素因子分解的困难性,而大整数因子分解问题是数学上长期以来的难题,至今没有有效的方法予以解决,因此RSA算法是公认安全度比较高的算法。RSA密码算法需要进行大操作数的模幂运算,运算强度非常大,用软件方法实现会非常慢。而用微电子技术将加密算法转换成硬件实现的ASIC芯片,不仅解密速度快,而且抗物理攻击能力强,所以研究如何用硬件快速实现RSA有着重要的现实意义。
本论文基于此目的,提出了一种可配置的1024位RSA协处理器结构,并完成了运算核的RTL级设计。
本论文完成了以下工作:
1. 对采用CSA(保留进位加法器)的基2 Montgomery模乘算法作了进一步的改进,使用新型的CSA,省去了每次模乘运算需要的超长大数全加运算,从而获得更高的数据流通速率。
2. 完成了RSA协处理器运算核从算法分析→系统建模→编程验证→RTL级代码实现→仿真验证→ASIC综合的完整的设计流程。
3. 设计了模乘运算单元的结构,并采用双模乘结构组成了运算核数据路径模块。
4. 设计了运算核控制模块。
设计采用SMIC公司0.18μm CMOS工艺库综合,运算核的规模约为20万等效门,该协处理器能以很高的时钟频率运行,若以100MHz来保守估计,每秒能完成1024位的模乘运算约97000次,它定位在中端应用上,在速度上能满足目前大部分的应用需求。
本文通过算法实现和硬件设计对该类协处理器的设计进行了初步的尝试,得出了一些有益的经验,也为以后开发此类芯片提供了宝贵经验。