论文部分内容阅读
具有优良密码性质的布尔函数在密码研究和应用中具有重要的意义,在流密码的安全设计中尤为重要;采用优良密码性质的布尔函数的密码体制可以抵抗多种已知的密码攻击.该文首先介绍了布尔函数密码性质的一些基本概念和定理,并简要的介绍布尔函数的基本构造方法.然后介绍一类具有较高非线性度和最大可能的代数次数的n元m阶弹性函数的构造.S.Maitra对两个Maiorana-McFarland方法构造的合适的Bent函数级联得到的布尔函数进行修改,这样可以构造得到具有最优代数次数和非线性度为2-2的n元平衡函数和1阶弹性函数.该文对这一修改方法做了进一步扩展,把构造中的常数值函数修改为海明重量为奇数的任意布尔函数,保持了原有函数的平衡性,代数次数和非线性度,这样就可以构造出更多的平衡函数和1阶弹性函数;而S.Maitra所构造的函数仅仅是它的一个特殊实例.把上述新构造得到的函数作为初始函数,通过递归运算来获得具有尽可能最优的代数次数和非线性度的更高阶弹性函数.与S.Maitra所能构造的函数相比,该文构造出的函数不但在代数次数,相关免疫度,平衡性,非线性度方面保持了原有的优良密码性质,而且在数量方面有进一步的增加.该文还研究了S.Maitra提出的1阶弹性函数进行次数最优化的一种方法.在次数最优化的过程中,由于改变了函数真值表中的4个比特,使得函数的非线性度可能会增加4,减少4,或者保持不变.该文对次数优化过程中非线性度的影响进行分析,并给出了决定非线性度变化相应的判定定理;利用这些判定定理,给出1阶弹性函数次数最优化的一系列算法,在对函数进行次数最优化的同时,使得非线性度增加4或者保持不变.这样就得到具有更高非线性度和最优代数次数的1阶弹性函数.该文将这些算法应用于6元和8元代数次数非最优化的1阶弹性函数.该文还将介绍布尔函数的基本运算以及该文所提到的n元m阶弹性函数的构造和1阶弹性函数次数最优化的一系列算法的实现.在算法实现的过程中,将广泛使用一些表单和关于Hadamard矩阵的快速算法.表单主要有三个:长度为8的比特串中"1"个数,"1"个数的奇偶性以及比特的逆序排列;这三个表单的使用可以节省程序的运行时间;计算Walsh谱,自相关性以及Reed-Muller谱中都采用了Hadamard矩阵的快速算法,将原有算法的计算复杂度从O(2<2n>·2<2n>)降到O(n·2<2n>),极大的提高了运算速度.最后,总结该文的主要工作和它的意义,并指出工作的不足之处.