论文部分内容阅读
随着安全通信和数据保密的需求日益增长,需要在越来越多的信息系统上处理密码编码类的负载。对于密码编码算法的实现,常用的纯软件方案往往只能提供较慢的处理速度,因此在要求高数据吞吐率的场合通常采用专用硬件进行密码编码。但是硬件实现方案也有明显的缺点,例如缺乏灵活性、成本较高和设计周期较长等。另一种设计方案是通过通用处理器的专用指令扩展,使之能更好地支持密码编码运算,这样,密码编码算法的实现便可以结合硬件实现和软件实现的优点。
本文研究了支持对称密码编码运算的指令集结构方面的相关技术。我们首先分析了典型对称密码算法的特征。通过对称密码算法的运算分解和负载特征化,得出了对称密码中影响性能且使用频繁的一组核心操作。
根据这些操作对指令集结构的需求,我们设计了一组专用指令以支持对称密码算法的核心操作,将其作为SPARC指令集结构的扩展。这组扩展指令包括:S盒代换指令;轮换指令,支持数据无关的轮换和数据相关的轮换;属于一类确定置换的混合指令。
最后,本文给出了实现扩展指令功能的硬件功能单元的设计,并将其集成到一个嵌入式处理器核Leon2的内部,构成面向对称密码编码的专用指令集处理器。我们以Virtex-Ⅱ为目标器件,给出了基于FPGA的专用指令集处理器实现方案,并衡量了硬件资源的开销情况。另外我们还演示了扩展指令在对称密码编码运算中的使用。
总之,对于有密码编码处理需求的系统来说,本文给出的指令集扩展的方案是一种有吸引力的设计选择。这种软硬件协同设计的方案能够取得实现的灵活性和性能之间较好的折中。