面向硬件的RSA密钥快速生成方法设计及其FPGA实现
摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
缩略语对照表 | 第9-12页 |
第一章 绪论 | 第12-16页 |
1.1 研究意义和背景 | 第12-13页 |
1.2 研究现状 | 第13-15页 |
1.3 内容与组织结构 | 第15-16页 |
第二章 相关背景介绍 | 第16-30页 |
2.1 RSA公钥密码体制 | 第16-18页 |
2.1.1 RSA密钥对生成 | 第16页 |
2.1.2 RSA算法加解密过程 | 第16页 |
2.1.3 RSA安全性 | 第16-18页 |
2.2 素性检测方法 | 第18-22页 |
2.2.1 概率性检测方法 | 第18-20页 |
2.2.2 确定性素数产生方法 | 第20-22页 |
2.3 FPGA及Verilog HDL语言介绍 | 第22-30页 |
2.3.1 CPLD简介 | 第22页 |
2.3.2 FPGA简介 | 第22-24页 |
2.3.3 FPGA与CPLD的区别 | 第24-25页 |
2.3.4 FPGA实现流程 | 第25-27页 |
2.3.5 Verilog HDL语言介绍 | 第27-30页 |
第三章 RSA密钥的快速生成方法 | 第30-40页 |
3.1 RSA算法及参数选择 | 第30页 |
3.1.1 模值n的选择 | 第30页 |
3.1.2 公钥指数e的选择 | 第30页 |
3.2 大素数生成 | 第30-34页 |
3.2.1 随机数的生成 | 第31-32页 |
3.2.2 预筛选处理 | 第32-33页 |
3.2.3 素性检测 | 第33-34页 |
3.3 公钥指数与私钥指数的生成 | 第34-40页 |
3.3.1 求解模逆运算的一般方法 | 第34-36页 |
3.3.2 改进的Stein算法求模逆 | 第36-40页 |
第四章 RSA密钥生成的FPGA仿真与实现 | 第40-50页 |
4.1 实验环境介绍 | 第40页 |
4.2 密钥生成的整体设计 | 第40-41页 |
4.3 密钥生成的各模块设计 | 第41-45页 |
4.3.1 控制模块RSA_Ctr | 第41页 |
4.3.2 FIFO模块 | 第41-42页 |
4.3.3 基本运算模块 | 第42-43页 |
4.3.4 存储模块 | 第43页 |
4.3.5 预处理模块 | 第43-44页 |
4.3.6 素性检测模块 | 第44-45页 |
4.3.7 模逆模块 | 第45页 |
4.4 模逆模块的硬件实现与仿真分析 | 第45-50页 |
4.4.1 模逆模块结构设计 | 第45-47页 |
4.4.2 模逆模块功能仿真 | 第47-50页 |
第五章 总结与展望 | 第50-52页 |
5.1 工作总结 | 第50页 |
5.2 展望 | 第50-52页 |
附录A 模逆算法实现代码 | 第52-62页 |
参考文献 | 第62-66页 |
致谢 | 第66-68页 |
作者简介 | 第68-70页 |