论文部分内容阅读
对称分组加密算法AES和3DES在金融安全、卫星通信、网关服务器、视频传输、移动设备、虚拟专用网络、波分复用等领域都有重要应用。这两种算法最常用的CBC工作模式由于首尾相接的反馈环的存在限制了ECB模式常用的流水线等技术的使用来提高吞吐率。非对称加密算法领域,基于R-LWE困难问题的格密码算法是目前兼顾安全性与实现效率的最有竞争力的抗量子攻击的密码系统,其作为传统的诸如RSA和ECC密码算法的替代,具有重要意义。其核心问题是其运算速度较慢以及硬件资源消耗较大,而多项式环上的乘法是提高吞吐率及减少资源消耗的瓶颈。基于此,本文针对3DES算法、AES算法和基于R-LWE的加密算法分别提出了不同的优化设计,并对应进行了高速硬件实现。本文的设计主要有:1、对于3DES算法,由于关键路径上除S盒外均为线性函数,根据线性函数的交换律及异或门的结合律,将相邻两个轮函数的连接部分的两个异或门移动且合并后成为一个异或门;再通过预计算,根据密钥及异或门改变S盒的排列顺序,从而将异或门与S盒融合且维持S盒的规模不变。通过上述方式,本文移除了3DES算法关键路径上的两个异或门,从而提高了吞吐率。在SMIC 65nm、0.13?m、0.18?m工艺下完成的ASIC实现吞吐率分别达到2.84Gbps、1.69Gbps和1.07Gbps,面积功耗增加不明显。相比以往的工作,性能得到了不小的提升。2、对于AES算法,将列混淆变换与S盒进行合并,预计算S盒的每一字节与固定值在有限域上的乘积来得到T盒。T盒采用扭曲的BDD结构实现,该结构由并行的2:1选择器组及5:32译码器两部分组成,根据密钥改变并选择2:1选择器组且置换5:32译码器按位输出顺序来预计算T盒,从而将关键路径上轮密钥加变换中的异或门移除。在SMIC 0.13?m工艺下吞吐率达到12.4Gbps,其相对以往相关技术指标数据更高。3、对于基于R-LWE的加密算法,将模数化成少数几个2的幂的和与差的形式,类似NIST素数快速求模。将高位值通过同余运算转移至低位,将转移后的和与差分别拼凑成不同的低位数,然后再进行相加或相减,直至相加减的结果只比模数高一位后用选择器实现。在SMIC 0.13?m工艺下,该算法的34位取模运算实现面积、功耗、延时分别为5656?m~2、3.9mw、1.68ns。