论文部分内容阅读
线性函数和非线性函数在序列密码、分组密码、Hash函数和纠错码的设计与分析中都具有非常重要和广泛的应用.为了得到较高的扩散性,使得密码算法的明文比特和密钥比特能够影响更多的密文比特,设计扩散性能良好的线性变换就是很重要的环节.为了抵抗差分密码攻击和线性密码攻击,序列密码中的滤波函数和非线性组合函数、分组密码中的S盒和Hash函数中的非线性组件大都采用非线性函数来构造,同时非线性函数还与性能优良的纠错码的构造密切相关.作为一类具有高非线性度的函数,完全非线性函数成为许多研究者关注的焦点,其主要研究集中于完全非线性函数的构造、等价及其在编码密码学中的应用等问题.本文首先对密码算法中线性变换的设计方法进行了研究,给出了具有良好密码学性质的线性变换的构造;接着讨论了采用比较成熟的线性变换所设计的分组密码在抵抗积分攻击中的表现;然后对非线性函数的理论及其应用进行分析,给出了一类完全非线性函数的证明和计数,确定了由DO型完全非线性函数构造的线性码的权分布.主要成果如下:(1)利用循环移位和异或运算的方法,给出了三类从(F_n~2)~4到(F_n~2)~4的线性变换的构造,证明了这三类四进四出的线性变换的分支数均为4,达到了次最优分支数的标准,进而指出这三类线性变换在某些给定条件下是对合的.(2)韩国密码标准ARIA算法采用一个分支数为8的对合线性变换,较大的分支数保障了其对差分密码攻击和线性密码攻击是免疫的,我们对其进行了积分密码攻击.通过计数方法找到了一些ARIA算法的3轮积分区分器;接着利用3轮积分区分器可以对4、5和6轮ARIA算法进行了有效的积分攻击.其中对4轮ARIA算法积分攻击的时间和空间复杂度都是225;5轮ARIA算法的时间和空间复杂度分别是227.2和276.7;6轮ARIA算法的时间和空间复杂度分别是2124.4和2172.4.这些结果表明,4轮和5轮的攻击结果相比其他已有攻击结果是最好的.攻击结果说明算法所采用的线性变换还需要对各种攻击方法进行测试,大的分支数并不能保证密码算法对积分攻击的免疫性.(3)对Helleseth等人给出的一类二项式形式的完全非线性函数进行了研究,这是至今为止所发现的第一类由两个互不等价的单项式组成的二项式形式的完全非线性函数.本文将其变形并利用有限域上的多项式理论,给出了这类函数的完全非线性性质及其计数的简洁证明.(4)分别用有限域中的方法和工具研究了幂函数型和DO型完全非线性函数的性质,并给出了这两者原像分布特征,然后利用有限域上的指数和理论确定了基于DO型完全非线性函数的线性码的权分布.