首页> 中文学位 >基于FPGA的RSA密码算法的模幂模乘的快速实现
【6h】

基于FPGA的RSA密码算法的模幂模乘的快速实现

代理获取

目录

文摘

英文文摘

第一章 引言

1.1 背景与意义

1.2 国内外现状

1.3 本课题研究内容

1.4 论文组织结构

第二章 RSA密码算法的研究

2.1 数学背景[12][13][14][15]

2.2 RSA公钥密码算法

2.3 MONTGOMERY算法的研究

2.4 几种适合硬件模幂乘算法分析

2.4.1 模幂算法

2.4.2 两种模幂方案比较

2.4.3 模乘算法

第三章 算法的具体改进

3.1 KARATSUBA算法以及存在的问题

3.2 FIPS算法改进的基本思想

第四章 核心模块的FPGA实现

4.1 FPGA技术简介

4.1.1 FPGA的基本特点

4.1.2 FPGA设计流程

4.1.3 Verilog语言

4.2 RSA核心模块的详细设计

4.2.1 u,s,k值的确定

4.2.2 系统的总体分析与设计

4.3 模幂运算模块分析与设计

4.3.1 存储器的选择

4.3.2 模幂控制器设计实现

4.3.3 模幂运算数据流程

4.4 模乘运算模块分析与设计

4.4.1 FIPS算法结构分析

4.4.2 数据路径设计

4.4.3 模乘控制器的设计

第五章 系统的仿真与测试

第六章 总结与展望

参考文献

致谢

学位论文评阅及答辨情况表

展开▼

摘要

随着电子商务等网络服务的兴起,安全问题成为越来越重要的话题。公钥密码算法是解决安全问题的一个重要途径。而RSA密码算法是应用最为广泛的公钥密码算法。在数学理论中大数分解是很难做到的,在密码学理论中RSA公钥密码体制依赖于该问题,因此RSA具有理论原则上的可靠安全性能,并且被ISO,ITU,SWIFT等国际化标准组织所认可。RSA成为当前研究领域和技术应用上普遍认可的公钥密码体制。
   模乘运算是RSA体制实现过程中最基础也是最关键的一部分,而原始模幂运算是以耗费大量时间为代价的除法运算来实现的,尤其是运算数据非常大,比如1024bit时,整个RSA的实现效率将大打折扣。Montgomery算法巧妙地回避了模幂中除法运算带来的巨大时间消耗这一问题,大大提高了模幂运算效率,从而使得整个RSA体制效率方面得以很大提升。
   当前,RSA体制中模数n一般为1024bit、2048bit,在模幂模乘运算过程中需要处理大量的运算数据,占用大量的存储空间,如果单独用软件来处理这些操作,将会是整个体制效率降低,所以,考虑使用FPGA来处理整个过程的硬件方法。这里,提高大数的模幂模乘运算效率是需要关心的问题,使用FPGA来实现RSA能够解决效率上的担忧问题,并且可以很好保证整体安全性。
   本文对Montgomery模乘算法进行了改进,将快速大整数乘法的递归算法Karatsuba算法应用于Montgomery模乘算法的一种形式--FIPS算法。相比前人所实现的结构,改进的算法既能减少了硬件资源又提高了运算的速度。同时本文实现了RSA密码算法的新的硬件结构,根据大数模乘运算和硬件实现的要求对模幂系统进行了分析和设计,提高了RSA模乘幂运算能力。主要阐述了RSA密码芯片的设计实现过程,在对系统进行了模块划分的基础上,通过对算法流程分析,在分析算法的运算时序后,采用计算器与译码器相结合的方式实现了模幂、模乘两级控制器。讨论了在Xilinx的FPGA上的实现方法和过程,并用Verilog语言进行了代码实现,在ISE和Modsim环境中进行了仿真验证。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号