素数域椭圆曲线密码SoC的设计与实现
| 致谢 | 第4-5页 |
| 摘要 | 第5-6页 |
| Abstract | 第6页 |
| 目录 | 第7-9页 |
| 插图和附表目录 | 第9-11页 |
| 1 绪论 | 第11-16页 |
| 1.1 课题背景及意义 | 第11-12页 |
| 1.2 国内外研究现状 | 第12-14页 |
| 1.3 本文研究内容和主要创新点 | 第14-15页 |
| 1.4 本文架构 | 第15-16页 |
| 2 SOC平台和SOC软硬件协同设计 | 第16-19页 |
| 2.1 软硬件协同设计 | 第17-19页 |
| 3 椭圆曲线密码算法理论基础 | 第19-31页 |
| 3.1 椭圆曲线密码算法 | 第19-20页 |
| 3.2 椭圆曲线密码SM2标准 | 第20-22页 |
| 3.2.1 数字签名算法 | 第21页 |
| 3.2.2 密钥交换协议 | 第21-22页 |
| 3.2.3 公钥加密算法 | 第22页 |
| 3.3 椭圆曲线密码运算层次研究 | 第22-23页 |
| 3.4 椭圆曲线运算分析 | 第23-31页 |
| 3.4.1 模加运算 | 第23-24页 |
| 3.4.2 模减运算 | 第24页 |
| 3.4.3 模乘运算 | 第24-26页 |
| 3.4.4 模逆运算 | 第26-27页 |
| 3.4.5 模幂运算 | 第27页 |
| 3.4.6 点加运算和倍点运算 | 第27-29页 |
| 3.4.7 点乘运算 | 第29页 |
| 3.4.8 素数检测 | 第29-31页 |
| 4 椭圆曲线密码SOC架构 | 第31-49页 |
| 4.1 芯片功能定义 | 第31-32页 |
| 4.2 软硬件划分 | 第32-44页 |
| 4.2.1 纯软件的SM2椭圆曲线密码算法应用 | 第32-44页 |
| 4.2.1.1 开放源代码库OpenSSL简介 | 第33-34页 |
| 4.2.1.2 椭圆曲线建立与功能函数 | 第34-35页 |
| 4.2.1.3 软件流程图 | 第35-41页 |
| 4.2.1.4 软件算法性能 | 第41-44页 |
| 4.2.2 软硬件划分方案 | 第44页 |
| 4.3 SoC架构 | 第44-49页 |
| 4.3.1 SMS静态存储器系统 | 第46-47页 |
| 4.3.2 POWM功耗管理 | 第47-49页 |
| 5 ECC硬件加速器的VLSI实现 | 第49-66页 |
| 5.1 点乘运算 | 第50-57页 |
| 5.1.1 点乘控制模块 | 第51-52页 |
| 5.1.2 点加运算模块 | 第52-54页 |
| 5.1.3 倍点运算模块 | 第54-55页 |
| 5.1.4 椭圆曲线的坐标系转换 | 第55-57页 |
| 5.2 RABIN素数检测 | 第57-59页 |
| 5.3 模乘运算 | 第59-61页 |
| 5.4 模幂运算 | 第61-62页 |
| 5.5 模逆运算 | 第62页 |
| 5.6 模加和模减运算 | 第62-63页 |
| 5.7 加速器综合结果和性能分析 | 第63-66页 |
| 6 芯片实现 | 第66-67页 |
| 7 总结与展望 | 第67-68页 |
| 参考文献 | 第68-71页 |
| 攻读硕士学位期间主要的研究成果 | 第71页 |