论文部分内容阅读
分组密码可以用来实现信息的机密传输,也可以和其他算法协议搭配,实现签名、认证等功能,被广泛地应用于多种安全协议,在信息安全领域具有重要作用。目前常见的分组密码算法有十几种之多,这些算法具有相同的原理,即使用多种基本运算构成一个轮变换函数,通过多次轮迭代,实现对于明文的混淆与扩散,得到难以破解的密文。分组密码常见的实现方式有软件实现和硬件实现两种,软件实现灵活性高、成本低,但是性能较低;硬件实现性能高,但是需要把算法固化为硬件电路,因此灵活性低而且通常成本较高。微处理器指令扩展技术是一种折中方案,通过扩展微处理器的指令集,增加加速分组密码运算的指令,能够提高微处理器进行分组密码运算的性能。本文在深入地研究微处理器指令扩展技术的基础上,提出了一种面向分组密码的指令扩展方法,其特点是基于数据触发单元来实现指令扩展。本文通过统计分析36种分组密码算法的运算特点,发现了四种需要加速的基本运算,并设计了四个密码运算单元对这四种基本运算进行加速。通过将这四个密码运算单元设计成为一个数据触发单元植入微处理器中,从而实现了分组密码运算的加速。该方法具有实现简单、可扩展性强等优点。评估结果显示该方法对于AES、SM4、DES和IDEA算法的加速比为2.5~8.8,而硬件开销仅为扩展前的微处理器的1.8倍。