学位论文 > 优秀研究生学位论文题录展示
可编程密码处理器关键技术研究与实现
作 者: 赵学秘
导 师: 王志英;戴葵
学 校: 国防科学技术大学
专 业: 计算机科学与技术
关键词: 密码处理 公钥算法 分组密码 安全Hash 代码压缩 片内互连 配置流驱动 专用指令集处理器
分类号: TN918.2
类 型: 博士论文
年 份: 2006年
下 载: 254次
引 用: 2次
阅 读: 论文下载
内容摘要
密码算法是保证信息的机密性、完整性以及可用性等安全要求的基本手段。性能和实现安全等方面的原因使得密码算法需要采用硬件方法实现。专用集成电路(ASIC)和细粒度可重构结构是硬件实现密码算法的两种传统方法。ASIC方法效率高,却无法满足应用环境中灵活实现密码算法的需求。细粒度可重构结构灵活性强,但其通用性带来了较高的设计代价。由于密码算法具有相对固定的处理模式,相关研究工作者分别以空间可编程和时间可编程为基础,面向密码处理领域提出了多种密码专用可重构结构和密码处理器,在一定程度上平衡了性能与灵活性的折衷。然而,已有的密码专用可重构结构普遍存在算法映射困难的问题,使其应用受到了限制;而目前的密码处理器虽然借助编译工具可方便的开发密码算法,但受限于传统体系结构,能够增加的定制功能单元的复杂度及其数量均有限,数据通路效率偏低。本文从时间可编程性出发,将传统体系结构的软硬件界面下移,使得软件看到处理器内部的数据传输以及互连网络,可支持复杂却高效的数据通路,更容易匹配密码处理模式,最终实现高效可编程密码处理器。主要工作及研究成果如下:1.提出了传输触发体系结构(TTA)指导下的专用指令集处理器(ASIP)自动生成方法。TTA中,软件所见为功能单元(FU)之间的数据传输,故硬件设计可以支持寄存器文件分割以及定制更多更复杂的FU,同时解决了指令集生成、可重定向编译等问题。提出了配置流驱动计算体系结构(CSDCA),将软硬件界面进一步下移,由编译器完成处理器内的传输路由,以支持高效却复杂的互连网络,采用段式总线互连技术,较好的解决了随着FU数量增加,数据传输延迟成为主频瓶颈和总线功耗冗余严重等问题。提出了通过双模式计算提高代码密度的方法:程序中的关键循环在CSDCA模式下执行以提高性能,其余部分则工作在RISC模式下以降低代码冗余。这些工作建立了支持高效数据通路的ASIP设计流程。2.提出并实现了一种高性能模幂处理器。提出以基数长度为处理字长的高基数Montgomery算法(RBHRMMM),结合并行模幂算法,将大数模幂运算拆分为原子操作矩阵序列,按照列共享原则设计列共享超流水处理阵列(CSSA)。CSSA作为特殊功能单元,基于上述ASIP设计流程,得到完整模幂运算处理器SEA-II,其电路等效门数为923k。基于SEA-II的1024位RSA解密速度达到6,353Kbps。3.提出并实现了一种可扩展双域公钥密码整体算法处理器。提出双域统一RBHRMMM算法,并以此为基础设计出行共享流水单元(RSSA),将RSSA耦合到已有ASIP设计流程,并增加大数寄存器,得到公钥整体算法处理器SPKP。SPKP具有如下特点:①通过软件工具,可快速开发出整体公钥密码系统;②RSSA具有良好的可扩展性;③流水单元实现矢量乘操作,并支持GF(p)和GF(2~n)双域;④通过调整总线宽度和RSSA中流水单元数量,可满足不同性能/面积约束。4.提出并实现了一种高性能安全Hash处理器。提出新型Hash算法计算模块划分方法,即分为压缩模块和扩散模块,而且每个模块包括队列、混洗和累加等三个子模块。据此设计出可重构功能单元,耦合到已有ASIP设计流程中,得到安全Hash处理器PSHP。与细粒度可重构结构相比,其逻辑利用率高,配置速度和运算速度快,而且开发方便;与ASIC实现相比,可以在性能和面积开销较小的前提下,灵活的支持常用Hash算法。5.提出并实现了一种高性能分组密码算法处理器PSCP。提出分组密码处理器优化的两个原则:①增加置换单元和子密钥存储单元,将核心运算期间的访存次数减少为零;②对基本操作进行重新组合,均衡延迟分布。与ASIC实现相比,在CBC、OFB、CFB等分组相关的加密模式下,PSCP获得相似的性能,但更灵活。与密码专用可重构结构相比,PSCP开发方便,可以实现包括密钥扩散在内的完整算法,具有更好的安全性。以上研究工作首先建立了支持复杂数据通路的ASIP设计流程,然后针对具体种类的密码算法和实际应用环境需求,研究并实现了四种效率高、可用性强的可编程密码处理器。处理器采用的目标工艺均为0.18μm 1P6M CMOS工艺,其中模幂处理器已经实现应用。
|
全文目录
摘要 12-14 ABSTRACT 14-16 第一章 绪论 16-34 1.1 引言 16-17 1.2 密码算法实现需求 17-19 1.2.1 密码算法简介 17-18 1.2.2 实现需求 18-19 1.3 计算密集型应用的处理平台 19-23 1.3.1 三种传统方法 19-21 1.3.2 面向应用定制处理结构——效率与灵活性的折衷 21-23 1.4 专用指令集处理器的发展和研究现状 23-29 1.4.1 微结构模板 24-26 1.4.2 软件开发方法 26-27 1.4.3 设计空间搜索 27-28 1.4.4 可编程密码处理器研究现状 28-29 1.5 本文的研究内容及其主要贡献 29-32 1.5.1 本文的研究内容 29-31 1.5.2 本文的主要贡献 31-32 1.6 论文结构 32-34 第二章 传输触发体系结构指导下的ASIP 自动生成 34-46 2.1 引言 34-35 2.2 相关工作 35-38 2.2.1 ASIP 设计 35 2.2.2 传输触发体系结构 35-36 2.2.3 应用TTA 到ASIP 设计中 36-37 2.2.4 TTA 数据通路参数 37-38 2.3 ASIP 自动生成 38-43 2.3.1 总体设计流程 38-39 2.3.2 应用程序特征分析 39 2.3.3 初始微结构生成 39-40 2.3.4 指令生成与调度 40-41 2.3.5 代价估算 41-42 2.3.6 优化过程 42-43 2.3.7 硬件生成 43 2.4 设计原型及结果 43-45 2.5 本章小结 45-46 第三章 配置流驱动计算及其指导下的片内互连网络设计 46-62 3.1 引言 46-47 3.2 配置流驱动计算体系结构 47-50 3.2.1 配置流计算体系结构的软硬件折衷 47-49 3.2.2 CSDCA 体系结构模板 49-50 3.3 处理器内部的互连网络类型 50-52 3.3.1 交叉开关 50-51 3.3.2 多总线网络 51 3.3.3 段式总线互连网络 51-52 3.4 段式总线互连的ASIP 设计流程 52-57 3.4.1 生成传输流 52-53 3.4.2 宏模块布局优化 53 3.4.3 段式总线互连 53-54 3.4.4 路由与优化 54-56 3.4.5 分段数:代价与收益的折衷 56-57 3.5 实验结果 57-61 3.5.1 功耗与延迟模型 57-58 3.5.2 评估结果 58-61 3.6 本章小结 61-62 第四章 通过双模式计算提高CSDCA 代码密度 62-72 4.1 引言 62 4.2 基于字典的代码压缩方法在CSDCA 中的应用评估 62-65 4.2.1 基于字典的代码压缩方法 62-64 4.2.2 评估结果 64-65 4.3 利用双模式计算提高代码密度 65-66 4.3.1 概念 65 4.3.2 例子 65-66 4.4 双模式计算微结构模板 66-67 4.5 工具链移植 67-69 4.6 评估结果 69-70 4.7 本章小结 70-71 4.8 第二、三、四章联合小结 71-72 第五章 高性能大数模幂处理器 72-89 5.1 引言 72-73 5.2 算法 73-77 5.2.1 并行二进制模幂算法 73-74 5.2.2 高基数Montgomery 模乘算法 74-75 5.2.3 RBHRMMM 算法 75-77 5.3 列共享超流水处理阵列 77-80 5.3.1 并行性分析 77-79 5.3.2 列共享流水处理阵列-CSSA 79-80 5.4 组合逻辑计算阵列优化 80-82 5.5 基于CSSA 的模幂乘算法设计 82-83 5.6 实验结果 83-88 5.6.1 基数长度k 与CSSA 复杂度的关系 83-85 5.6.2 系统级优化评估及流片结果 85-86 5.6.3 应用到RSA 算法 86-87 5.6.4 与相关工作的比较 87-88 5.7 本章小结 88-89 第六章 可扩展双域公钥密码整体算法处理器 89-103 6.1 引言 89-90 6.2 公钥密码计算困难性分析 90-92 6.2.1 基于IFP 和DLP 的公钥算法 90 6.2.2 ECC 算法 90-91 6.2.3 公钥密码计算困难性 91-92 6.3 行共享可扩展双域流水处理阵列 92-95 6.3.1 基于基数长度的双域统一高基数Montgomery 算法 92-93 6.3.2 UniRBHRMMM 算法并行性分析 93 6.3.3 可扩展双域行共享流水处理阵列 93-95 6.4 基于RSSA 的模乘算法设计 95-96 6.5 实验结果 96-101 6.5.1 正确性验证 96 6.5.2 大数寄存器参数ω 96-97 6.5.3 RSSA 设计代价评估 97-98 6.5.4 性能与RSSA 参数k, ρ的关系 98-99 6.5.5 针对应用环境的参数配置 99-100 6.5.6 与相关工作的比较 100-101 6.6 本章小结 101-103 第七章 高性能安全Hash 算法处理器 103-116 7.1 引言 103-104 7.2 安全Hash 算法特征分析 104-106 7.2.1 策略 104-105 7.2.2 具体Hash 算法分析 105-106 7.3 Hash 算法专用可重构功能单元 106-108 7.3.1 压缩模块单元 106-107 7.3.2 扩散模块单元 107-108 7.4 系统级设计 108-112 7.4.1 基本的Hash 处理器 108-109 7.4.2 算法映射 109-111 7.4.3 优化 111-112 7.5 实验结果 112-115 7.5.1 正确性验证 112 7.5.2 基于标准单元的实现 112-113 7.5.3 与传统实现方法的比较 113-115 7.6 本章小结 115-116 第八章 高性能分组密码算法处理器 116-124 8.1 引言 116-117 8.2 分组密码算法特点 117 8.3 优化技术 117-119 8.4 系统级设计 119-120 8.4.1 硬件设计 119 8.4.2 算法映射 119-120 8.5 实验结果 120-123 8.5.1 正确性验证 120 8.5.2 基于标准单元的实现 120-122 8.5.3 与相关工作的比较 122-123 8.6 本章小结 123-124 第九章 结束语 124-126 9.1 所做的工作 124-125 9.2 进一步的研究方向 125-126 致谢 126-128 参考文献 128-137 作者在学期间取得的学术成果 137-138 发表的论文 137-138 获得的专利 138 攻读博士学位期间参加的主要研究工作 138
|
相似论文
- 基于可重构密码处理的IPSec VPN网关研究与设计,TP393.05
- 用于文档加密的Rijndael算法研究,TP309.7
- 分组密码抗差分攻击分析技术研究,TN918.2
- 混沌网络文件密码系统研究,TN918.2
- ECC协处理器专用指令与可重构单元设计技术研究,TN918.2
- (X+K)mod2~n加密环节的性质及其在数据库加密中的应用研究,TP309.7
- 面向密码算法的粗粒度可重构结构研究与设计,TN918.1
- 分组密码的关键组件检测及实际安全性研究,TN918.1
- 分组密码扩散结构的构造与分析,TN918.1
- 分组密码的差分故障分析,TN918.1
- 对缩减轮数的分组算法Serpent和ICEBERG的差分攻击,TN918.1
- 嵌套SPN结构的Feistel型分组密码的可证明安全性,TN918.1
- 密码函数的理论和分析,TN918.1
- 多媒体信息的混沌加密算法研究,TP309.7
- 计算机应用基础无纸化网络考试系统的研究与实现,TP311.52
- 基于APN函数的S盒研究,TN918.1
- IDEA密码体制的安全性分析,TN918.1
- 基于分组密码的增量哈希函数的设计与分析,TN918.1
- 基于ARCA3处理器的GPS软件接收机研究,P228.4
- 跳频电台加密算法研究与实现,TN914.41
- 基于混沌理论的非对称加密算法研究,TN918.1
中图分类: > 工业技术 > 无线电电子学、电信技术 > 通信 > 通信保密与通信安全 > 密码、密码机
© 2012 www.xueweilunwen.com
|