论文部分内容阅读
在流密码的设计与分析中,如何设计出满足高非线性度和弹性的多输出布尔函数一直是函数设计领域一个重要的研究方向。通常情况下,性能优异的多输出布尔函数需要满足以下指标:高非线性度、弹性、高代数次数、差分性等。但是这些指标又在不同程度上存在着相互制约的关系,因此针对这些指标的折中优化是设计高非线性度多输出弹性布尔函数亟需解决的关键问题,特别是非线性度和弹性,作为最重要的两个指标,对于多输出布尔函数安全性的研究具有重大的意义。 1)提出了一种具有高维输出的弹性半Bent函数的设计方法。设输入维度为n,当n为奇数时,设n=2k+1,可以构造映射Fk2→Fk+12,利用2k个不同的k+1元线性函数来设计函数的分量函数。同理,当输入维度n为偶数时,设n=2k,可以构造映射Fk?12→Fk+12,利用2k?1个不同的k+1元线性函数来设计函数的分量函数。可以证明这种方法设计出来的函数的非线性度都达到几乎最优,并且与已有结果相比,在保证相同弹性阶的情况下,函数的输出维度更高。 2)提出了一种令非线性度达到严格几乎最优的多输出弹性布尔函数的构造方法。通过[n/2,m,t+1]不相交线性码和已知多输出弹性布尔函数,可以设计出一系列输入维度更高的多输出弹性(n,m,t)函数,且非线性度达到严格几乎最优。相比于其他已知构造方法,本文的构造方法在保证了相同弹性阶的基础上,大大地提高了非线性度。并且,通过本方法所设计的部分多输出弹性布尔函数的非线性度为目前已知的最大值。