当前位置:文档之家› 布尔函数的密码性质及其相互关系

布尔函数的密码性质及其相互关系

布尔函数的密码学性质及其相互关系摘要:本文的主要工作是对布尔函数的密码学性质进行简单的介绍以及整理,并将近期密码函数安全性领域里面的主要结论进行归纳和比较,通过各种性质及之间相互关系找出一种构造具有“优秀”密码学性质的函数的方法。

本文第一部分为基本概念,主要内容是布尔函数的基本知识以及文章中将会用到的相关符号和语言。

这一部分还简单介绍了布尔函数的两个基本性质:均衡性、代数次数。

这两个性质对函数的安全性具有十分重要的意义。

第二部分介绍了布尔函数的相关免疫性以及弹性的有关内容,末尾简单地介绍了几种构造具有特定相关免疫阶的布尔函数的方法。

第三部分介绍了布尔函数的非线性度以及具有最高非线性度的Bent 函数的相关内容。

这一部分最后还给出了两个完善Bent 函数以使其均衡的方法。

第四部分简单地介绍了布尔函数差分均匀度和PN 函数的相关内容,并且给出了一个PN 函数的等价定义。

第五部分简单介绍了布尔函数的代数免疫度的概念。

第六部分给出了许多重要的结论,这些结论揭示了各种密码函数性质之间的内在联系. 这一部分主要以总结归纳为主,适当加入笔者对结论的一些观点.第一部分:基本概念定义1.1 设2F 是二元有限域,n 为正整数,称映射n F F f 22:→为布尔函数. 若记全体n 维布尔函数的集合为n B . 使得n F x 2∈且1)(=x f 的x 的个数称为函数f 的Hamming 重量,记为)(f W H . 如果一个n 维布尔函数f 满足12)(-=n H f W ,则称这个函数是均衡的. 设n B g f ∈,,f 和g 的Hamming 距离定义为{})()(),(2x g x f F x g f d n ≠∈= 其中,A 表示集合A 中元素的个数. 容易发现:)(),(g f W g f d H -=. n 维布尔函数的代数正规型: n nn nn x x x n a x x n n a x x a x x a x n a x a x a a x x x f y ⋯⋯+⋯+-+⋯++++⋯+++=⋯=-21131212121),,2,1(),1()3,1()2,1()()2()1()0(),,,(为了方便书写,记)(N P 表示N 的幂集,其中{}n N ,,2,1⋯=,则 I N P I n x I a x x x f ∑∈=⋯)(21)(),,,(其中,),,()(21k i i i a I a ⋯=,),2,1(k j I i j ⋯=∈,∏∈=I i i I x x .这种表示方法称为布尔函数的小项表示.]1[在n 维布尔函数的代数正规型中,系数不为0的项的最高次数称为该函数的代数次数,记为)deg(f . 特殊地,① 代数次数为1的布尔函数称为仿射函数.② 常数项为0的仿射函数称为线性函数.③ 含有高于1次的项的布尔函数称为非线性函数.易证:仿射函数都是均衡的.从布尔函数的代数正规型中可以发现:代数次数越低的布尔函数越容易被确定,这是因为我们可以将)(I a 看成未知数,代数次数越低的函数未知数越少,那么我们就可以用越少的真值对将其确定出来. 因此,代数次数越低的布尔函数越不适合用作密码函数.在上面的介绍中,有两个性质对于一个布尔函数能否“胜任”密码函数来说有着十分重要的意义:均衡性、代数次数:均衡性:序列密码体制产生的密钥流是否具有高的安全强度,取决于它们是否具有良好的伪随机性. 均衡性就是序列伪随机性的一个重要指标. 一条序列称为均衡的是指该序列中不同元素出现的次数至多只相差一个.代数次数:密码体制中所使用的布尔函数通常具有高的代数次数,低代数次数的密码体制容易遭到Berlekamp-Massey 算法攻击、插值攻击、代数攻击以及高阶差分攻击.]1[以上为第一部分的主要内容,即布尔函数的基本内容. 从第二部分开始,我们将对布尔函数的多种密码性质进行整理、归纳和总结,并将近期密码学界的相关结论呈现出来.第二部分:布尔函数的相关免疫性这一部分主要介绍了布尔函数相关免疫性的内容,包括相关免疫的定义以及它的一些等价刻画、布尔函数的Walsh 变换与其相关免疫性的关系、如何构造具有特定阶的相关免疫函数及其记数. 下面先给出相关免疫性的定义:定义2.1 设有布尔函数nF F f 22:→. 如果①n 维随机变量),,,(21n x x x ⋯在n F 2上均匀分布;②对下标集{}n ,,2,1⋯中任意t 个下标{}t j j j ,,,21⋯,随机变量),,,(21n x x x y ⋯=与t 个随机变量相互独立,即对于任意的m m F a a a 221),,,(∈⋯及2F a ∈)(),,,|(2121a f P a x a x a x a f P t j j j t ===⋯===就称f 为t 阶相关免疫布尔函数. 如果f 是t 阶相关免疫布尔函数但不是1+t 阶相关免疫函数,则称函数f 的相关免疫阶为t .下面的结论是n 维布尔函数相关免疫性的等价刻画:定理2.1 以下四个叙述等价:①n 维布尔函数f 是t 阶相关免疫函数.②对任意的t s ≤,令),,,(21n x x x ⋯的任意s 个分量取任意定值,s n -维布尔函数f 是s t -阶相关免疫函数.③对任意的),,,(21n c c c c ⋯=,t c W H ≤)(,随机变量),,,(21n x x x y ⋯=与变量x n x c x c x c x c +⋯++=⋅2211相互独立.④]2[对任意的),,,(21n c c c c ⋯=,t c W H ≤)(, 函数x c y ⋅+是平衡函数.以上对于相关免疫性的描述对于理解布这个性质的本质还具有一定的困难. 布尔函数的Walsh 变换对于理解其本质有着至关重要的作用:定义 2.2 设)(x f 是一个n 维布尔函数. 取n n F w w w w 221) , ,,(∈⋯=,令x n x w x w x w x w +⋯++=⋅2211. 称)(w S f 为)(x f 的循环Walsh 变换. 其中,∑+-=xwx x f f w S )()1()(定理2.2 设n 维布尔函数f . 若n t ≤≤1,则f 是t 阶相关免疫函数的充要条件是对于所有n F w 2∈且t w W H ≤≤)(1,0)(=w S f .上面的定理刻画了t 阶相关免疫函数的谱特征,对理解相关免疫性的实质有着非常大的帮助. 下面介绍具有均衡性的相关免疫函数——弹性函数:定义2.3]1[ 设n 维布尔函数f ,若函数f 既是一个t 阶相关免疫函数又是均衡函数,则称f 是一个t 阶弹性函数.注意到布尔函数f 是均衡的当且仅当0)0(=f S ,于是定理 2.3]1[ 布尔函数f 是一个t 阶弹性函数的充要条件是对于所有的n F w 2∈且t w W H ≤≤)(0,均有0)(=w S f .在密码学研究中,密码函数的均衡性是密码函数的最基本的性质,所以一下讨论都将围绕弹性函数展开.下面将简单地介绍一下弹性函数的构造. 由于一阶弹性函数的构造方法比较复杂,而且方法种类繁多,这里将省略介绍之. 参考文献[1]中有比较详细的关于一阶弹性函数的构造方法. 这里介绍一下如何通过已知的弹性函数构造新的弹性函数. 定理2.4 设f 是n 维t 阶弹性函数,则))1,,1,1(),,,((),,,(),,,,(2121121121n n n n n n x x x f x x x f x x x x f x x x x h +⋯+++⋯+⋯=⋯++是1+n 维1+t 阶弹性函数.定理2.5 设f 是n 维t 阶弹性函数,g 是m 维s 阶弹性函数,则),,,(),,,(),,,,(212121m n n n n m n n x x x g x x x f x x x x h ++++⋯+⋯=⋯是m n +维1++s t 阶弹性函数.定理 2.6]3[ 若函数)(),(),(321x f x f x f 均是n 维t 阶弹性函数,则函数)()()()(321x f x f x f x g ++=也是t 阶弹性函数的充要条件是)()()()()()()(323121x f x f x f x f x f x f x h ++=是t 阶弹性函数.这一部分最后将给出几个关于循环Wlash 变换的结论,循环Wlash 变换的定义已经由定义2.2给出.定义2.4设)(x f 是一个n 维布尔函数. 称)(w F 为)(x f 的线性Walsh 变换. 其中,∑⋅-=xx w x f w F )1)(()(x w ⋅的定义如上. 称)(x f 为)(w F 的线性Walsh 反变换,容易验证,∑⋅-=w x w f n w S x f )1)((21)(线性Walsh 变换与循环Wlash 变换之间存在着如下关系:⎩⎨⎧=-≠-=0),(220),(2)(w w F w w F w S n f 由此可知两种Walsh 变换可以相互唯一确定,所以以后不加说明的话布尔函数的Walsh 变换指的就是循环Walsh 变换.容易验证布尔函数)(x f 的循环Walsh 变换有如下性质:定理2.7 若)(w S f 为)(x f 的循环Walsh 变换,即∑+-=xwx x f f w S )()1()(,那么, ①)(x f 称为)(w S f 的循环Walsh 逆变换,且∑⋅-=w x w f n w S x f )1)((21)(.②能量守恒公式:n w fw S 222))((=∑. ③卷积公式:对于任意的0≠a ,0)()(=+∑a w S w S f w f .第三部分:布尔函数的非线性度布尔函数的非线性度从形象上说指的是布尔函数与仿射函数之间的“距离”. 为了抵抗线性密码攻击,密码体制中所使用的布尔函数应该离所有的仿射函数的“距离”尽可能大. 所以布尔函数f 的非线性度定义为f 和所有仿射函数的最小Hamming 距离.定义 3.1 设)(x f 是一个n 维布尔函数,称如下的f N 为)(x f 的非线性度,),(min l f d N nL l f ∈= 其中n L 表示所有n 维仿射函数的集合.定理3.1 设)(x f 是一个n 维布尔函数,则)(max 2121w S N f wn f -=- 其中,)(w S f 是)(x f 的循环Walsh 变换.这个定理给出了布尔函数非线性度的计算方法,下面的定理给出一个布尔函数的非线性度紧的上界.定理3.2 设)(x f 是一个n 维布尔函数,则它的非线性度满足12122---≤n n f N 定理3.2中的上界是可达的. 定义 3.2设)(x f 是一个n 维布尔函数,如果)(x f 的非线性度达到12122---=n n f N ,那么称)(x f 为Bent 函数定理3.3 设)(x f 是一个n 维布尔函数,则)(x f 是Bent 函数当且仅当对任意的nF a 2∈,)(a S f 的取值只能是22n±. 容易发现,Bent 函数的维数n 必定为偶数. 定义3.2和定理3.3都可以作为Bent 的定义,其本质是相同的. Bent 函数是非线性度最高的布尔函数,下面给出一些关于Bent 函数的结论.定理3.4 (存在性)设m n 2=为任意正偶数,令m m m m x x x x x x x f 22211)(+⋯++=++则)(x f 是一个n 元Bent 函数.定理3.5 设)(x f 是n 维Bent 函数,A 是2F 上的n n ⨯阶可逆方阵,n F b 2∈,令)()(b xA f x g +=,则g 也是n 维Bent 函数.定理3.6 设)(x f 是任意一个n 维布尔函数数,则),,(),,,,,,,(21112121n n n n n x x x f y x y x y y y x x x g ⋯++⋯+=⋯⋯是n 2维Bent 函数.虽然Bent 函数拥有最高的非线性度,但是Bent 函数却没有作为密码函数最基本的性质——均衡性. 下面简单地给出两个构造方式,可以通过对Bent 函数进行改造,使其具有均衡性.定理3.7 高非线性度均衡布尔函数构造方法构造方法1. 取定k 2个n 2维Bent 函数a g ,其中k a 2∈. 其中的12-k 个函数满足n n a y x y x y x g +⋯+=11),(另外12-k 个函数形状为n n a y x y x y x g +⋯+=11),(定义n k 2+维布尔函数),(),,(y x g z y x f z =,则11222-+-+-≥n k n k f N 且f 均衡.构造方法2. 设有n 2维Bent 函数n n y x y x y x f +⋯+=11),(,定义n 2维布尔函数),(y x h 如下:⎩⎨⎧=+⋯++≠=0,0),,(),(21x y y y x y x f y x h n 则112222----≥n n n h N ,且h 均衡.第四部分:布尔函数的差分均匀度以及完全非线性函数差分分布的均匀性是密码函数的一个重要的安全性指标,差分密码分析方法的成功正是通过布尔函数差分分布的不均匀性实现的. 函数的差分均匀性越好,那么函数抵抗差分攻击的能力就越强. 用来刻画布尔函数查分分布均匀性的指标是差分均匀度.定义4.1]1[ 设f 是从有限群A 到有限群B 的函数,令{}b x f a x f A x Bb A a f ==+∈=∈∈≠)()(|max max 0δ 则称f δ为函数f 的差分均匀度.定理4.1 设f 是从有限群A 到有限群B 的函数,则A B Af ≤≤δ由之前的谈论知差分均匀度越小,布尔函数的安全性就越高. 定理4.1给出了差分均匀度的一个下界,由此引出完全非线性函数的概念:定义4.2]1[ 设f 是从有限群A 到有限群B 的函数,且B A ≥,如果B Af =δ,则称f 为完全非线性函数,简称PN 函数.为了给出一个完全非线性函数的等价定义,首先引入一个概念——平衡函数: 定义4.3]1[ 设f 是从有限群A 到有限群B 的函数,f 称为平衡函数是指,对于任意的B b ∈,集合{}b x f A x b f =∈=-)(|)(1中所含的元素个数相等. 也即如群A 的阶是A ,群B 的阶是B ,则B A b f=-)(1. 下面给出PN 函数的等价刻画:定理 4.2]1[ 设f 是从有限群A 到有限群B 的函数,M B n A ==,且n m |.那么f 是PN 函数当且仅当对任意的非零A a ∈,函数)()()(x f a x f x f a =+=∆为平衡函数.这个定理反映了PN 函数的本质特征,即它的差分分布的均匀性已经达到最优,对于差分均匀度和完全非线性函数的介绍也就到此为止.第五部分:布尔函数的代数免疫度布尔函数的代数免疫度是对一个布尔函数抵抗代数攻击能力的衡量标准,也是密码函数安全性的一个重要指标. 代数免疫度低的布尔函数容易遭到代数攻击,代数攻击所利用的理论依据与差分攻击和线性攻击等攻击手段不一样. 前者是利用密码算法的内部代数结构实施攻击,而后者则是利用密码算法的统计性质实施攻击. 然而,对布尔函数f 实施代数攻击能否成功的关键在于是否存在一个低次的函数g ,使得0=fg .定义5.1]4[ 设n 维布尔函数f ,称满足0=fg 的布尔函数g 为布尔函数f 的零化子. 对任意的n 维布尔函数f ,记其零化子的集合为)(f Ann定义5.2 设n 维布尔函数f ,使得0=fg 或0)1(=+g f 成立的非零布尔函数g 的最小代数次数称为f 的代数免疫度,记为)(f AI . 即{})1()(0|deg min )(+⋃∈≠=f Ann f Ann g g f AI下面的定理给出了代数免疫度的上界.定理5.1]5[设f 是n 维布尔函数,则f 的代数免疫度满足:⎭⎬⎫⎩⎨⎧⎥⎦⎤⎢⎣⎡≤f n f AI deg ,2min )( 定义5.3 若一个n 维布尔函数的代数免疫度达到⎥⎦⎤⎢⎣⎡2n ,则称该函数具有最优代数免疫度.有关代数免疫度的结论,更多的是与其他密码性质放在一起讨论的. 如具有固定代数免疫度是函数的非线性度具有一个紧的下界,代数免疫度确定是函数的相关免疫阶和弹性阶的取值规律,代数免疫度与函数的重量也有密切的关系. 如此多的性质和结论将在第六部分给出.第六部分:布尔函数密码性质之间的相互关系构造一个具有好的密码学性质的密码函数是密码学研究者们梦寐以求的事情,然而大量的结果表明这些密码学性质之间存在着相互制约的关系.一种性质好了另一种性质就会受到制约而变差. 正是因为如此,构造一个性质“兼顾”的布尔函数也成了比较困难的事. 这一部分将给出各性质之间相互的关系,以便从中找到一种构造“优质”密码函数的方法.密码函数的安全性指标在第一、二、三、四、五部分中均已介绍,指的是布尔函数的均衡性、代数次数、相关免疫性和弹性、非线性度、差分均匀度以及代数免疫度.1. 相关免疫性与其他性质的关系定理6.1]6[ 设n 维布尔函数f ,若f 是)11(-≤≤n m m 阶相关免疫函数,则m n f -≤deg ;若f 是)11(-≤≤n m m 阶弹性函数,则1deg --≤m n f . 这个定理说明了布尔函数的相关免疫性和弹性与函数的代数次数相互制约. 定理6.2]7[ 给定n 维布尔函数f ,若f 是m 阶相关免疫函数,1-≤n m ,则m n f N 221-≤-若f 是m 阶弹性函数,2-≤n m ,则1122+--≤m n f N这个定理揭示了布尔函数相关免疫性和弹性与非线性度的相互制约关系. 定理中的非线性度的上限被称作Sarkar 限.2. 非线性度与其他性质的关系由第三部分我们知道Bent 函数具有最高的非线性度,下面的定理说明了Bent 函数的一些其他密码学性质.定义6.1 设f 是一个n 维布尔函数,其自相关函数定义为∑∈++-=n F x x f a x f f a C 2)()()1()(自相关函数刻画了布尔函数)(x f 的自相关性,这个概念可以与序列的自相关性类比理解.定理6.3 设f 是一个n 维布尔函数,则)(x f 是Bent 函数当且仅当⎩⎨⎧≠==0,00,2)(a a a C n f 这个定理表明Bent 函数是具有最有自相关性的布尔函数.定理6.4 设f 是一个n 维布尔函数,4≥n ,若f 是Bent 函数,则它的代数次数不超过2n . 这个定理表明了函数的非线性度与函数的代数次数之间存在着相互制约的关系.定理6.5 设n 维布尔函数f ,其非线性度f N 与其相关免疫阶t 有如下的关系:12121≤-+∑=t i i nn n fC N有这个定理知道布尔函数的非线性度与相关免疫阶呈负相关.3. 代数免疫度与其他性质的关系第五部分定理5.1给出了布尔函数的代数免疫度与代数次数的关系:设f 是n 维布尔函数,则f 的代数免疫度满足:⎭⎬⎫⎩⎨⎧⎥⎦⎤⎢⎣⎡≤f n f AI deg ,2min )( 定理6.6]3[ 设n 维布尔函数f ,f 的代数免疫度d f AI >)(,则∑∑+-==≤≤)1(00)(d n i i n H d i i n C f W C特别地,⎥⎦⎤⎢⎣⎡>2)(n f AI 意味着 (1)当n 为奇数时,f 必为平衡函数;(2)当n 为奇数时,∑∑=-=≤≤20120)(n i i n H n i i n C f W C 这个定理没有揭示代数免疫度与其他性质的关系,它是联系代数免疫度和函数Hamming 重量的重要事实.定理6.7]8[ 设n 维布尔函数f ,d f AI =)(,则∑∑-=---=--=-≥20111122d i i n d n d i i n n f C C N 定理6.8]8[ 对于任意的正整数n 和⎥⎦⎤⎢⎣⎡≤2n d ,定理6.7中的界是紧的. 这两个定理告诉我们函数的代数免疫度和函数的非线性度存在着相互制约的关系,但是这种制约关系是可以被估计的,并且这个界可以达到.定理6.9 设f 为n 维m 阶相关免疫函数,则m n f AI -≤)(;若f 还是均衡的,即f 是m 阶弹性函数,则1)(--≤m n f AI这个定理是定理6.1的直接推论. 联合定理6.5,可以马上得到一个新的结果: 定理6.10 设f 为n 维布尔函数,d f AI =)(,若f 是m 阶相关免疫函数,则- 11 - 1212120112≤-+∑∑-==--d i m i i nn i n n C C若f 是m 阶弹性函数,则121212012≤-+∑∑-==--d i m o i i nn i n n C C这两个定理都说明了布尔函数的代数免疫度与相关免疫性之间的关系,可以发现这两者之间也存在着负相关性.可以发现布尔函数的各项密码学性质均存在着相互的制约关系,如何构造一个性质中庸、抗攻击性强的布尔函数依然是现今比较流行的话题.参考文献[1] 李超,屈龙江,周悦. 密码函数的安全性指标分析 [M]. 第一版. 科学出版社,2011.[2] 冯国登. 频谱理论及其在密码学中的应用 [M]. 科学出版社,2000.[3] Carlet C. On bent and highly nonlinear balanced/resilient functions and their algebraic immunities[C]. AAECC 16,LNCS 3857. Springer-Verlag, 2006:1-28[4] 张玉丽,蔡庆军. 一类布尔函数的代数免疫度研究[J]. 计算机工程,2009,第35卷第7期:164-165[5] Courtois N, Meier W. Algebraic attacks on stream ciphers with linear feedback[C]. EUROCRYPT 2003,LNCS 2656. Springer-Verlag, 2003: 345-359[6] Siegenthaler T. Correlation immunity of nonlinear combining functions for cryptographic applications[J]. IEEE Transactions on Information Theory,1984,30(5):776-780[7] Sarkar P, Maitra S. Nonlinearity bounds and constructions of resilient Boolean functions[C].CRYPTO 2000, LNCS 1880. Springer-Verlag,2000:515-532[8] Lobanov M. Tight bound between nonlinearity and algebraic immunity[EB]./2005/441.。

相关主题