论文部分内容阅读
随着计算机、互联网的普及,开启了网络和信息时代的大门。计算机网络安全和信息安全是一个至关重要的问题,于是人们采用各种方法来加强信息安全。最行之有效且简便易行确保信息安全的方法是使用密码技术。密码技术是信息安全的关键技术之一。在分组密码中有两种常用的结构,就是SP结构和Feistel结构,本文就是针对这两种结构的分组密码进行设计研究。针对这两种结构,在密码设计时,先是把密码系统的设计分解成密码部件的设计,力求每个密码部件具有良好密码学性质,能抵抗现有的各种攻击方法,然后由这些部件组装成一个轮函数,经过总体测试后并进行多轮迭代加密,得到密码系统。本文中的设计方法也可以推广到其他结构的密码系统中。在SP结构和Feistel结构密码系统中,密码部件的设计主要分两类,一类是非线性部件称为S-box,起混淆作用,一类是线性部件,称为P-置换,起扩散作用。综合讨论了S-box的几种密码性质,包括非线性度、差分均匀性、扩散性、相关免疫性、雪崩准则等性质,这些性质在密码设计时都需要考虑。本文在设计S-box时主要考虑非线性度、差分均匀性及代数攻击指标。密码设计和密码分析总是相互促进,共同发展的。今天人们分析密码的方法不断提高、技术手段不断改进,所以本文在设计密码时,综合考虑各种分析方法,所设计的密码务求做到能有效抵抗线性分析、差分分析、代数攻击等当今主流分析方法。设计出安全的密码和使密码设计自动化是密码学长期追求的目标,本文研究了密码部件自动化设计的问题,这些问题包括以下几个方面。本文第一个主要研究的内容是正形置换,正形置换以其特有的密码学性质可被用来设计密码部件。正形置换分为两类,一类是线性正形置换,另一类是非线性正形置换。非线性正形置换可以用来设计S-box,所以本文着重讨论了有限域GF(28)上的非线性正形置换。本文总结了已有的GF(28)上非线性正形置换生成算法,对于有限域GF(28)上的非线性正形置换主要利用置换多项式和布尔置换这两种方法来进行研究。利用正形置换多项式来研究正形置换时主要是研究次数的分布,找出哪些次数的正形置换多项式是存在,哪些次数的正形置换多项式是存在的;利用布尔置换来研究正形置换的优点是便于产生有限域GF(28)上的非线性正形置换。由于GF(28)上正形置换相对于GF(24)上正形置换其数量呈现“组合爆炸”,难于完全产生,我们总结了正形置换生成算法后结合演化计算或智能算法来产生GF(28)上的非线性正形置换。这一部分的主要内容包括两点:(1)GF(28)上非线性正形置换的产生;(2)研究有限域GF(28)上正形置换多项式的次数分布情况。本文第二个研究内容是对有限域上的线性正形置换作了推广,研究特征为任意素数的有限域上的广义正形置换,解决了广义线性正形置换的构造和计数问题。也研究了一般整数剩余类环Zn上的线性正形置换(或者全向置换)和正形矩阵,得到了它们的构造方法和计数性质。完全就解决了环Zn上全向置换、线性正形置换及正形矩阵的计数与构造问题。最后利用广义线性正形置换来设计P-置换,其分支数可以达到最大值,而特征为2的有限域上阶数小于8的正形矩阵分支数最大只能是5。本文第三个研究内容是利用纠错码来设P-置换,主要利用Goppa码和BCH码来设计P-置换,这样的P-置换优的点在于分支数可以指定下界,缺点在于其分支数可能不是最大,只有特殊情况下才达到最大分支数。轮换矩阵在AES中被用到,所以这一部分里还研究了有限域上的轮换矩阵,得到了轮换矩阵可逆的判断方法及求逆方法。讨论了轮换对称矩阵和轮换正形矩阵的一些性质。给出了生成4阶分支数最大的轮换矩阵的算法。本文第四个研究内容是演化计算、粒子群算法及蚁群算法在密码学中的应用,分别利用演化计算和粒子群算法,在有限域GF(24)上非线性正形置换基础上,产生GF(28)上的非线性正形置换,其中要求这些正形置换被设计成S-box后满足非线性度尽可能大,差分均匀性尽可能小,同时具有抗代数攻击能力。本文还指出可以利用蚁群算法来求多轮加密系统的轮特征和线性逼近优势,这有利于研究整个密码系统抵抗线性和差分攻击的能力。依靠演化计算和粒子群算法得到的正形置换转化为成正形置换多项式,用于研究正形置换多项式次数的分布。