论文部分内容阅读
互联网和信息科技的飞速进步,方便了人们的工作和生活,但同时也伴随着信息泄露的隐患。这一隐患,轻则威胁个人财产安全,重则威胁国家安全,因此,研究如何保护信息的安全,是一个十分紧迫的课题。分组密码是用于保护数据机密性的重要工具,在对大量数据进行加密或解密时,具有速度快、效率高的优势,因此得到了十分广泛的应用。然而,分组密码本身是否安全可靠,同样是一个需要研究的重要课题。 自从DES算法问世以来,关于分组密码设计和分析方面的研究,已经取得了重大的进展。首先,本文从分组密码的基础知识方面入手,针对分组密码做了数学模型化的定义,探讨了分组密码在设计上应遵循的两项原则:安全性原则和可实现性原则,总结了分组密码常用结构体系:如Feistel、SPN结构等。近些年来,为满足资源受限的硬件环境的使用需求,轻量级分组密码应运而生。针对轻量级分组密码在设计上的特点,本文也做了简要的探讨。接着,本文回顾和总结了针对分组密码的常见分析方法。对于最为经典和基本的差分分析法和线性分析法,本文做出了详尽的介绍,并给出相关的研究成果;对于相关的衍生分析方法,例如高阶差分分析、截断差分分析、不可能差分分析等,本文做了简单的介绍。 本文在上述内容的基础上,研究了一种最新提出的分组密码分析法,称为biclique分析法。Bogdanov等人在2011年亚密会上,提出了这种方法,并利用它对AES-128、192、256进行了攻击。他首先构造一个3轮8维的biclique,再以此为基础,结合中间相遇攻击的有关思想,通过创新的预计算和重新计算匹配技术,对中间变量进行匹配,从而有效降低了攻击的时间复杂度和数据复杂度。从此之后,针对分组密码进行安全性分析时,这一方法得到了广泛的应用。 最后,本文利用biclique分析法,对轻量级分组密码mCrypton-64和Zorro实施了密钥恢复攻击,取得的成果有:(1)针对mCrypton-64算法进行了全轮攻击,通过构造了11轮-12轮的4维biclique,对算法的前10轮进行了重新计算和匹配,攻击的时间复杂度为63.1152,数据复杂度为232,是目前已知最好的攻击结果;(2)首次针对Zorro算法进行了全轮平衡biclique攻击,通过构造19-24轮的8维biclique,对算法的前18轮进行了重新计算和匹配,攻击的时间复杂度为127.232,数据复杂度为216;(3)首次针对Zorro算法进行了星形biclique攻击,通过构造前1轮半的8维星形biclique,对算法的后22轮半进行了重新计算和匹配,攻击的时间复杂度为126.402,数据复杂度为264。 本文在以上成果的基础上,总结了平衡biclique和星形biclique攻击各自的优势和劣势。与此同时,本文通过研究,发现了biclique攻击的一些缺陷,并针对这些缺陷,提出了可能的改进方向,并针对biclique分析法未来的应用场景和研究前景,做出了一些展望。