论文部分内容阅读
物联网作为新一代的网络应用,将互联网技术从人与人的通信扩展到物与物的通信,为人类生活带来了极大的便利。随着物联网的飞速发展,人们对物联网中数据的保密性、完整性和可用性更加重视。密码技术是支撑整个信息安全保障体系的核心技术。然而,传统的密码学算法(如AES)难以满足物联网产品中功耗低、计算资源受限的要求,一类新的密码算法—轻量级密码算法应运而生。所谓轻量级,是指在设计密码算法的过程中,充分考虑底层硬件运行环境的特点,力求在达到最快速度与最高效率的同时,满足一定级别的安全性。轻量级分组密码算法是物联网中广泛使用的算法,为保障物联网正常、稳定、安全运作起着举足轻重的作用。在研究轻量级分组密码算法的安全性时,作为算法中的非线性部件,S盒起着支撑整个算法安全性的作用。综合考虑安全和效率的平衡,轻量级分组密码算法一般使用4比特S盒,其中有一类特殊的S盒更是受到算法设计者的重视—自反S盒。所谓自反,是指一个输入经过两次S盒后得到的结果仍然是本身。自反S盒能够为密码算法的电路实现带来空间及效率的优势,但其安全性仍需要进一步的研究。轻量级分组密码算法在实际中面临的状况是复杂的,攻击者可以轻易地接触到整个密码算法芯片,然后实施一类特殊的攻击—差分功耗攻击。该类攻击通过采集密码算法实际运算中泄露的信息,结合统计理论进行分析,从而快速地破解密码系统。抵抗差分功耗攻击的方法有多种,其中Nikova等人提出了一种保护S盒的门限实现方法—sharing。该方法结合秘密共享、门限密码和安全多方计算来对S盒重新进行设计,能够从理论上抵抗差分功耗攻击。然而该方法的计算复杂度较高,在实际中难以应用。因此,研究一个快速、有效、通用的S盒门限实现方法对设计安全的轻量级分组密码算法具有重要意义。随着计算机性能的迅猛发展,研究者对密码学分析加速的需求也越来越大。作为潜力巨大的硬件加速平台,GPU显卡具有成本低、并行计算能力强的特点。越来越多的科研机构开始利用GPU的通用计算能力处理非图形绘制方面的科学计算研究。因此,密码学分析与GPU相结合成为了一个新颖的研究课题。结合GPU的并行计算来合理优化密码学分析中经常需要的大量计算,能够极大地提高分析效率,使得分析结果变得更加有效、可用。本文重点研究轻量级分组密码算法中4比特S盒的安全性,并结合GPU通用计算对分析的过程进行优化,取得了以下的进展:1.研究了4比特自反S盒的安全性,包括抗线性攻击性质、抗差分攻击性质以及almost-resilient性质,发现了4比特自反S盒能够严格满足抗线性攻击的要求,但不能够严格满足抗差分攻击的要求,并指出almost-resilient性质对于判别S盒安全性并不十分有效。本文还给出了一些安全的自反S盒供算法设计者参考和选用。2.提出了一个可抵抗差分功耗攻击的4比特S盒门限实现的自动化搜索方法。该方法具有通用性,能够适用于任意一个4比特S盒。本文成功地找到了常用轻量级分组密码算法的S盒的门限实现,并分析了所有4特自反S盒的门限实现。3.研究了GPU通用计算中的软件流水线优化技术,证明了均匀分割是数据分块的最优方式,提出了多种情况所对应的最优调度方式,并给出了不同应用所对应的最优数据粒度。本文的研究成果能够在原来实现基础上提升31%-59%的性能。4.分析了S盒自动化搜索算法的实现细节并研究了GPU通用计算的优化技术,提出了一个基于GPU的快速构建S盒门限实现的算法。该算法与未经优化的并行算法相比提升了5-50倍,与原来CPU的算法相比提升了大约300倍。