论文部分内容阅读
密码算法处理是需要高效计算的应用,要求计算系统具有强大的数据处理能力。同时,由于计算系统对数据安全的要求越来越高,密码算法和标准在更新;现代安全协议支持的算法在增加;协议具体使用的密码算法可能基于会话协商结果变化。计算系统在保证高效执行的同时还要适应上述变化,专用ASIC和通用微处理器难以在密码处理性能和灵活性两方面进行合理的折衷。 可重构处理结构结合了微处理器的软件灵活性和专用ASIC的硬件高效性,从结构上容易匹配密码处理模式,实现较高的并行性,在性能上更易达到计算要求。同时,可重构结构可以根据会话协商的结果改变硬件实现的算法,使同一硬件能够高效支持密码应用领域内的多种算法,具有很大的灵活性。算法和密钥可以灵活修改,更减小了安全系统失密的可能性,在商用、军事等领域具有很大的应用潜力。 密码算法处理具有相对固定的粒度和处理模式,粗粒度可重构结构更易匹配密码算法,可避免大量布线,减小配置存储容量,降低算法映射的复杂度,利于系统实现动态、局部重构。基于上述原因,本文把粗粒度可重构密码处理结构作为研究方向,深入结合密码处理特点,研究能高效灵活处理各类密码算法的可重构结构。主要的工作和研究成果如下: 1.可重构密码处理结构首先要遵循可重构的基本特点。本文根据参与密码处理的各种数据具有不同变化频度这一特点,从输入分类的角度认识可重构处理的本质特征,抽象出可重构密码处理单元模型——RUC模型。RUC模型能描述用于密码处理的主要功能单元、非时序电路和时序电路,可有效概括任意粒度的可重构处理特征和各种配置组织方式。以RUC模型为核心建立的可重构密码处理结构(RCA)模型可描述密码流水处理的特点和局部重构的特性。RUC模型和RCA模型为可重构密码处理结构的研究提供了基本的参考结构、分析方法和设计准则。 2.在RCA模型的基础上,结合对分组和公钥两类主流密码体系中算法特点的深入分析,本文提出了可重构密码处理框架RCPF。RCPF是由粗粒度可重构单元按照二维阵列结构和层次原则组织形成的可重构密码处理结构原型,可以组成可变并行度的流水结构,具有支持S盒查找的分布RAM,采用静态和动态混合重构方式,能有效支持两类密码核心操作的执行。确定不同的RCPF参数取值便可得到具有不同规模和适用性的可重构密码处理结构。 3.公钥密码的操作类型较为单一,在可重构密码处理结构上的映射比较固定,而分组密码的映射灵活性较大。本文主要针对分组密码研究了算法操作在RCPF上的拆分方法并根据两类算法的特点合理确定了RCPF参数的取值。根据确定的RCPF参数值,提出并设计了可重构层次互连密码处理结构RHCA。RHCA基于粒度对齐原则采用层次式置换网络结构,在综合考虑分组密码操作和公钥大数模乘操作控制特点的前提下,RHCA在数据通路、功能单元、置换网络、重构机制、在线控制国防科学技术大学研究生院学位论文 等方面以统一的结构和模式处理两种不同体系算法的操作,具有较大的灵活性。4.算法映射是RHCA要解决的首要问题。本文基于RHCA层次式置换网络结构研究了 两类体系中算法的映射。针对公钥算法,提出了统一大数模乘在RHCA上的并行 处理算法,有效指导了各类模乘计算在RHCA上的映射。针对分组算法,利用模 板方法进行操作映射,分别给出了乘法和置换两类复杂模板的映射规律和映射算 法,减小了算法操作序列的映射复杂度。映射结果表明,RHCA能成功实现所有 主流算法的映射,绝大多数密码映射结构紧凑,在RHCA上达到较高的利用率。5.本文研究了RHCA的接口组织策略,得出RHCA利用有限的存储空间和一定的控制 能够满足RHCA动态重构和流水执行要求的结论。最后,我们给出了RHCA的具体 实现。RHcA采用Verilog语言编码,进行了功能模拟,并在0.13卜m工艺下进行了 逻辑综合、布局和布线。 以上研究工作都是以在统一的可重构处理框架下灵活支持不同体系、不同种类的密码算法为目标进行的。实验结果表明,RHCA执行多种分组密码的性能比通用高性能微处理器性能提高了10一30倍;与其它可重构结构实现相比,其性能提高了1.7一8倍;与其它专用硬件相比,RHCA执行公钥操作的性能提高了2.5一6倍。结果说明RHCA既能保证各类密码算法应用的灵活性又能达到较高的性能。关键词:密码处理、可重构、分组密码、大数模乘、流水处理、动态重构第11页