第1章 密码学概论 1
1.1引言 1
1.2对称密码体制 2
1.3公钥密码体制 3
1.3.1公钥密码体制概述 3
1.3.2离散对数公钥密码 4
1.3.3椭圆曲线公钥密码 5
1.3.4HASH算法 6
1.4RSA公钥密码算法 8
1.4.1RSA算法的数学描述 9
1.4.2RSA算法安全性探讨 10
1.4.3RSA算法的技术难题 11
1.5本书内容 12
1.4.4RSA算法的应用情况 12
第2章 Montgomery算法的研究与改进 15
2.1Montgomery算法的证明与分析 15
2.1.1Montgomery算法的证明 15
2.1.2Montgomery算法的分析 16
2.2.Montgomery算法的改进 17
2.2.1预计算式Montgomery算法的提出和应用 17
2.2.2模216Montgomery算法的提出和应用 18
2.3改进型Montgomery算法的实现及其复杂性分析 20
2.3.1改进型Montgomery算法的实现 20
2.3.2改进型Montgomery算法的复杂性分析 22
2.4算法复杂性比较 24
2.4.1FIPS算法的步骤和复杂性分析 24
2.4.2算法性能分析比较 27
2.5本章小结 27
3.1程序总体构思 28
第3章 RSA快速算法的C语言编程 28
3.2大数基本运算程序编程 29
3.3大数模幂乘程序编程 30
3.3.1大数模乘的C语言编程 31
3.3.2大数模幂乘的C语言编程 32
3.4RSA算法的辅助性程序 34
3.4.1随机数的产生 34
3.4.2随机数的素性判定 35
3.5公钥和私钥的产生 37
3.6加密、解密运算的实现 38
3.6.1加密运算 38
3.6.2解密运算 40
3.7程序性能测试 41
3.8本章小结 42
4.1TMS320VC54X芯片简介 44
第4章 RSA快速算法的DSP实现 44
4.2DSP开发环境 45
4.2.1硬件开发系统 45
4.2.2软件开发系统 47
4.3C程序转化 48
4.3.1DSP的C编译器[37] 48
4.3.2CCS环境下RSA快速算法的实现 49
4.4性能测试与比较 52
4.4.1加密、解密速率测试 52
4.4.2FIPS性能测试与比较 53
4.4.3整体性能测试 54
4.5程序优化 55
45.1代码性能分析 55
4.5.2C语言和汇编语言混合编程 55
4.5.3优化性能测试 57
4.6本章小结 57
5.1系统方框图 58
第5章 RSA快速算法的系统设计 58
5.2DSP处理系统设计 59
5.2.1TMS320VC5409简介 59
5.2.2CCS集成开发环境 60
5.2.3DSP处理程序 61
5.3 DSP自举加载设计 67
5.3.1 TMS320VC5409自举程序简介 67
5.3.2 AM29LV200B的烧写 72
5.4 USB接口及应用程序设计 76
5.4.1USB 1.1协议简介 76
5.4.2 PDIUSBD12接口芯片简介 80
5.4.3单片机的固件编程 81
5.4.4用户软件编程 86
5.5硬件辅助系统设计 87
5.5.1 IDT7024双口RAM的设计 87
5.4.5 USB固件与应用程序流程 87
5.5.2 FPGA控制电路设计 90
5.5.3外围器件设计 92
5.6硬件系统的改进 93
5.6.1基于HPI实现DSP系统的USB接口 94
5.6.2基于CPLD的DSP控制系统设计 99
5.7系统测试与验证 102
5.7.1系统测试内容 102
5.7.2功能块测试与验证 103
5.8本章小结 109
第6章 基于FPGA的大数模幂乘快速算法研究 110
6.1基于Montgomery的大数模乘快速算法 110
6.1.1 Montgomery模乘算法 110
6.1.2适合FPGA的Montgomery模乘快速算法 112
6.2免比较免进位免预处理的模乘快速算法 115
6.2.1免比较大小的模乘快速算法 115
6.2.2高效的免比较的模乘快速算法 116
6.2.3免比较免进位免预处理的模乘快速算法 117
6.3大数模乘运算脉动阵列结构设计 119
6.3.1基于CSA算法的大数模乘运算脉动阵列结构设计 120
6.3.2基于RCA算法的大数模乘运算脉动阵列结构设计 124
6.4基于Montgomery算法的大数模乘运算脉动阵列结构设计 126
6.4.1交替输入式模乘运算脉动阵列结构设计 126
6.4.2并行输入式模乘运算脉动阵列结构设计 131
6.4.3流水线方式模乘运算脉动阵列结构设计 135
6.5模幂乘运算脉动阵列结构设计 137
6.5.1模幂乘算法 137
6.5.2模乘运算脉动阵列结构设计 139
6.5.3模幂乘运算器逻辑设计和时序设计 143
6.5.4模密乘运算器不同时钟控制逻辑之间的通信 151
6.6基于芯片XC2s200-5pq208综合与仿真 153
6.6.1SPARTAN-II系列FPGA芯片简介 153
6.6.2FPGA芯片开发流程及软件简介 157
6.6.3基于Foundation4.1开发系统仿真与分析 158
6.7本章小结 161
结束语 163
附录 165
附录A同余类 165
附录B中国剩余定理 165
附录C欧几里得算法 166
附录D欧拉函数 167
附录E逆元素存在定理 167
附录F时钟发生器仿真波形 167
附录GPECT控制功能模块仿真波形 168
附录H模长为768比特模乘器VHDL源程序 168
附录I模乘仿真波形(n=256) 170
附录J指数控制功能模块ECONTROL仿真波形(n=16,e=1101) 171
参考文献 172