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

布尔函数的密码学性质研究布尔函数是密码学领域中的重要概念,它在密码算法和协议中扮演着重要的角色。
本文将探讨布尔函数的密码学性质,并分析其在密码学中的应用。
布尔函数是一类把有限域上的二进制向量映射到一个二进制值的函数。
在密码学中,布尔函数广泛应用于密码算法和协议的设计中。
它们被用于数据加密、数字签名、密钥生成等方面。
布尔函数的密码学性质包括均匀性、平衡性、非线性性和秘密性等。
均匀性是指布尔函数输出值的分布均匀,其中每个输出值的次数接近于理论上的平均值。
平衡性是指函数的输出值在0和1两个状态之间平均分布。
非线性性是指函数的输出值与输入值之间的关系不是线性的,这是密码学强度的必要条件。
秘密性是指函数应该能够保持输入值的机密性,防止信息泄露。
密码学中的S盒和布尔函数有密切关联。
S盒是一种用于替换密码算法中的线性变换的非线性表格结构,常常通过布尔函数实现。
布尔函数的非线性性决定了S盒的安全性和复杂性。
合适的布尔函数可以提高S盒的非线性性,提高密码算法的安全性。
布尔函数还有其他几种重要的性质。
差分性是指对于任意两个相邻输入的差异,布尔函数输出值的差异应该是均匀分布的。
典型性是指在一个有限域上的布尔函数在输入领域中均匀地分布。
自相关性是指输出值与输入值之间的相关性应尽量接近于0。
布尔函数在密码学中的应用非常广泛。
在对称密钥加密算法中,布尔函数常常用于设计S盒和置换盒,用于替换和置换算法中的线性变换。
在公钥加密算法中,布尔函数可以用于生成密钥对中的随机数,保证密钥的安全性。
在数字签名算法中,布尔函数可以用于生成和验证签名。
总之,布尔函数是密码学领域中的重要概念,具有均匀性、平衡性、非线性性和秘密性等密码学性质。
布尔函数在密码算法和协议的设计中有广泛的应用,如S盒设计、置换盒设计、密钥生成和签名等。
研究布尔函数的密码学性质,可以提高密码算法的安全性和效率,对密码学的发展具有重要意义布尔函数在密码学中扮演着重要的角色,特别是在密码算法和协议的设计中。
密码函数的密码学性质分析及构造

密码函数的密码学性质分析及构造密码函数是多种密码系统的重要组成部分.要使设计的密码系统能够抵抗各种已有的攻击,要求该系统所选用的密码函数必须满足一些相应的密码学性质,如平衡性、相关免疫性、弹性、高代数次数、高非线性度、高代数免疫度、低差分均匀度等.因此研究和构造具有优良密码学性质的密码函数在理论和实际应用上都具有重要意义.本文主要研究密码函数几个关键密码学性质的分析和构造问题,得到了如下研究成果:针对非线性度、代数免疫度及差分均匀度这三类关键密码学安全性指标,本文首先运用组合数学中的重要工具一 Schur·函数,给出了最优代数免疫平衡布尔函数的一种新刻画.利用此刻画给出了 Carlet-Feng函数是最优代数免疫函数的新证明.同时,构造了三类平衡的最优代数免疫布尔函数.发现所构造的三类函数中存在高非线性度、高代数次数等其它优良密码学性质的例子.其次,采用将函数的定义域分为两个子集,且在这两个子集上定义不同置换的方法,得到了一类4-差分置换.研究了其代数次数、非线性度等密码学性质.还讨论了该类函数与12类4-差分置换的CCZ不等价性.最后,构造了五类二次Semi-bent函数及两类Plateaued函数,并与已知构造进行了比较.本文还对Budaghyan-Carlet多项式及Dembowski-Ostrom型函数的重要密码学性质进行了分析.讨论了一个与Budaghyan-Carlet多项式有关的集合所含元素的性质和个数.通过研究Budaghyan-Carlet多项式的分量函数,得到了一类Bent函数,回答了 Budaghyan-Carelt多项式是否能通过加上线性化多项式成为置换多项式这一问题.另外,证明了若Dembowski-Ostrom型多输出布尔函数有唯一零根且其导函数有一个或者四个根,则该布尔函数具有经典Walsh谱,且其Walsh谱分布可以明确给出.由此进一步得到了四类Dembowski-Ostrom型APN函数的Walsh谱分布.。
布尔函数相关理论及其应用

布尔函数相关理论及其应用布尔函数是数学和计算机科学领域中一个重要的概念。
它被广泛应用于逻辑设计、电路设计、密码学、信息安全等领域。
本文将介绍布尔函数的基本概念、性质以及它在实际应用中的一些例子。
一、布尔函数的定义布尔函数是由布尔变量和逻辑运算符组成的一种函数,它的取值只能是0或1。
布尔变量可以看作逻辑变量,它们代表了逻辑值的真和假。
逻辑运算符包括与、或、非等。
布尔函数可以表示一种逻辑关系,描述了不同变量之间的逻辑连接。
二、布尔函数的性质1. 单调性:对于任意布尔函数f(x1, x2, ..., xn),如果在某两个向量x 和y中,x的每个元素都小于等于y的对应元素,那么f(x)小于等于f(y)。
换句话说,单调性表示提高一个输入变量的取值会导致输出变量的取值增加或保持不变。
2. 自反性:对于任意布尔函数f(x), f(x')=1-f(x)。
这意味着如果一个布尔函数取真的输入向量x,那么将x的每个元素取反所得到的向量x'将导致函数值取反。
3. 幂等性:对于任意布尔函数f(x), f(x)=f(f(x))。
这表示一个布尔函数与它自己的复合等于它本身。
三、布尔函数的应用1. 逻辑设计:布尔函数被广泛应用于逻辑门电路的设计。
逻辑门将布尔函数的输入映射为输出。
通过组合不同的逻辑门,可以实现复杂的逻辑功能,如加法器、乘法器等。
2. 信息安全:布尔函数在密码学和信息安全领域中起着重要的作用。
它们被用于生成密钥和实现加密算法。
布尔函数的性质可以帮助设计强大的密码算法,抵抗各种攻击。
3. 电路设计:布尔函数被应用于电路设计中,用于描述和优化电路的功能和性能。
通过布尔函数分析和优化,可以提高电路的速度、面积和功耗等指标。
4. 模拟电路的离散化:布尔函数可以将连续的输入变量离散化,从而将模拟电路问题转化为数字逻辑的问题。
这种转化可以简化电路设计和分析的过程。
四、布尔函数应用案例1. DES加密算法:DES(Data Encryption Standard)是一种对称加密算法,它使用了布尔函数来实现复杂的密钥生成和数据变换。
布尔函数相关理论及应用

布尔函数相关理论及应用布尔函数是一类关于逻辑运算的特殊函数,其输入和输出都是逻辑值:0或1。
布尔函数在计算机科学、电子工程、密码学等领域有着广泛的应用。
本文将介绍布尔函数的基本理论和其在某些领域的应用。
一、布尔函数的定义和性质布尔函数是指输入和输出都是0或1的函数,它们通过逻辑运算符(如与、或、非)来组合。
一个布尔函数可以用一个真值表或者一个布尔表达式来表示。
布尔函数有一些重要的性质,其中包括:唯一性、恒等性、对偶性、平衡性、非线性等。
这些性质使布尔函数具有许多重要的特征,可以用于计算和逻辑设计中。
二、布尔函数的表达方式1. 真值表表示真值表是一种直观的方式来表示一个布尔函数。
它列举了所有可能的输入组合及其对应的输出值。
2. 布尔表达式表示布尔表达式是一种用逻辑运算符和变量表示布尔函数的方式。
其中常用的逻辑运算符有与、或、非,变量可以是输入变量或者中间变量。
三、布尔函数的基本运算1. 与运算与运算是布尔函数中最基本的运算之一。
它接受两个输入,当且仅当两个输入都为1时,输出结果为1,否则为0。
2. 或运算或运算也是布尔函数中常用的运算。
它接受两个输入,当且仅当两个输入至少有一个为1时,输出结果为1,否则为0。
3. 非运算非运算是对一个输入取反的运算。
它只接受一个输入,当输入为0时,输出为1,当输入为1时,输出为0。
四、布尔函数的应用1. 逻辑电路设计布尔函数在逻辑电路设计中起到关键作用。
逻辑门(如与门、或门、非门等)可以通过组合布尔函数来实现特定功能的逻辑电路。
2. 算法和数据结构布尔函数在算法和数据结构中也有广泛的应用。
例如,布尔函数可以用于判断两个集合是否相等,寻找图中的最短路径,进行排序等。
3. 密码学布尔函数在密码学中起到重要作用。
例如,布尔函数可以用于生成密钥,加密和解密数据,运行密码学协议等。
4. 生物信息学在生物信息学中,布尔函数被用于分析和处理生物数据。
例如,可以使用布尔函数来比较DNA序列的相似性,预测蛋白质的结构等。
bool函数

bool函数
bool函数是Python中常用的一种数据类型,又称布尔值函数,它只有两个取值True和False。
它包含了数学运算中的逻辑操作,比如逻辑与、逻辑或、逻辑非等等,用来实现程序逻辑判断。
一、bool函数定义
bool函数是一种数据类型,函数只有两个取值True和False。
它代表了逻辑数学系统中逻辑操作的结果,比如布尔代数中的逻辑与、逻辑或、逻辑非等等,可以表示正确或错误,可以用来编写逻辑判断语句,运算结果就是一个bool值。
二、bool函数运算
1、与运算:与运算是指两个布尔值运算,只有当左右两边的逻辑为真时,结果才为真。
2、或运算:或运算也叫或求值,左右两边的任何一边逻辑为真就可以求解为真。
3、非运算:非运算指的是一个bool函数的反值,比如原来是true,那么就计算出false,原来是false,那么计算出来的就是true。
三、bool函数的应用
1、bool函数可以用来判断一个表达式或变量是否成立,比如要判断一个数字是否大于10,可以使用bool函数来进行判断。
2、bool函数可以用来控制程序流程,比如要判断一个变量是否为空,可以使用bool函数来做程序流程控制。
3、bool函数可以用来比较事件的大小,比如比较一个时间是否比另一个早,可以使用bool函数来实现。
4、bool函数在构建机器学习算法中也得到了广泛的应用,比如在构建决策树时,用来判断特征属性和类别之间的关系。
总结:看来bool函数在这方面极为有用,它不仅可以用来表示逻辑数学操作的结果,也可以用在程序逻辑判断中,甚至可用于机器学习中,能够发挥强大的作用。
希望以后在编程中能够能够充分利用它,实现更高效的代码实现。
具有最优代数免疫阶布尔函数的构造

难 以控 制 , 的相 互 制 约 , 的没 有 关 系 ,这 就 使 有 有 的构 造一综 合性 质好 的布 尔 函数变 得 而很 困难 .本
文通 过研究 代数 免疫 度 、非线 性 度和 汉 明重 量之 间 的关 系得 出 了一 种构 造思 想 , 很好 的解决 了这个 问
一
设 ) 在 零化 子 g ) 存 ( ,且 d g g e ( )=
d 则 由定 义 1知 g( 的 A F为 g( , ,… , , ) N
n
有 f 成 的集 合 , 是 n元 布 尔 函数 ,则 f , , 构 f (
、
)=n 。+
,
+1
善 0 +. + 2 , . , n ・ …
D l 提 出的级 联 函数 等.对 于性 质优 秀 的 布 尔 函 aa i
数显然 只考 虑代 数免 疫是 不 行 了 , 他 的 如 :相 关 其 免疫度 ,非线性 度 ,平 衡性 ,代 数 次数 等 也 应 该 考 虑在 内 ,这样 构造 出来 的布尔 函数 才 能满 足 实 际 的 需要 .由于布 尔 函 数 的密 码 学 性 质 之 间 关 系 复 杂 、
取的.
w() tf ≤2
∑ () .
推 论 2 若 A ( =d 则有 Ij O ,
组 中共有 ∑ ( ) 变元 , tf 个方 程 ,由于 a ( ) 个 w () /f >d 说 明 g( 的代 数 次 数 至 少要 大 于 d 从 而有 , ) ,
元 素 的个 数 , 记为 w() 当 w ()= 时称 f tf , tf 2 为平
衡 函数. 定义 3 fg 且 f・ 0 则 称 g是 f , ∈B , g= , 的零
布尔函数相关理论及在最大满足性问题中的应用

布尔函数相关理论及在最大满足性问题中的应用布尔函数是指由0和1组成的变量的逻辑函数。
它在计算机科学和电子工程等领域中扮演着重要的角色。
本文将从布尔函数的定义、性质和应用,特别是在最大满足性(Max-SAT)问题中的应用方面进行探讨。
一、布尔函数的定义和性质布尔函数是指由n个布尔变量和运算符组成的表达式,其中运算符包括与(AND)、或(OR)、非(NOT)等。
它们可以通过真值表来表示,其中每一行对应着变量可能的取值以及函数的输出值。
布尔函数的值域为{0, 1},其中0表示假,1表示真。
布尔函数具有以下性质:1. 可满足性:对于任意的变量赋值,布尔函数都有一个对应的真值输出。
2. 完备性:布尔函数的真值表中包括了对于所有可能输入值的输出。
3. 唯一性:对于给定的输入,布尔函数的输出是唯一的。
二、布尔函数在最大满足性问题中的应用最大满足性(Max-SAT)问题是指在一组布尔约束条件下,找到一个赋值使得满足的约束条件数量最多。
布尔函数在Max-SAT问题中起到了关键作用。
1. 转化为布尔函数:Max-SAT问题可以通过将约束条件转化为布尔函数来解决。
每一个约束条件对应着一个布尔函数,其中1表示满足,0表示不满足。
通过将这些布尔函数进行AND运算,可以得到一个整体的布尔函数。
通过求解这个布尔函数,就可以解决Max-SAT问题。
2. 求解最优解:通过对布尔函数进行不断优化和求解,可以找到使得布尔函数取值最大的变量赋值,从而得到Max-SAT问题的最优解。
常用的求解方法包括基于启发式搜索的算法、约束满足问题的求解算法等。
3. 应用领域:Max-SAT问题在实际应用中具有广泛的应用,如自动化设计和验证、人工智能、组合优化等领域。
它在硬件电路设计、自动化产生测试模式、软件验证等方面发挥着重要的作用。
通过将Max-SAT问题转化为布尔函数的求解,可以提高系统的效率和可靠性。
三、总结布尔函数是由0和1构成的逻辑函数,具有可满足性、完备性和唯一性等性质。
密码学中布尔函数论文

密码学中的布尔函数摘要:本文介绍布尔函数中的bent函数及其的密码性质。
关键词:布尔函数;bent函数;线性;密码;相关度中图分类号:g712 文献标识码:a 文章编号:1002-7661(2012)22-368-01布尔函数(单输出和多输出)在密码算法的设计与分析中占有极其重要的地位.人们对布尔函数的平衡性、对称性、高非线性、相关免疫性、扩散性等进行了深入研究,特别是对抵抗相关攻击的相关免疫函数类、抗线性分析的bent函数类进行了系统的研究,取得了丰富的成果。
本文介绍布尔函数中的bent函数。
抗线性分析是密码系统必须具备的安全性能,所以非线性性是布尔函数最重要的密码学性质之一。
由rothaus 提出的bent函数是一类重要的密码函数,具有最高非线性度,由于其在密码、编码理论、序列以及设计理论中的重要应用,引起了密码学界的极大关注,取得了一系列的研究成果。
给出了bent函数的定义如下:定义1 如果元布尔函数的所有谱值都等于,称为bent函数。
另外,bent函数还有一些等价定义:定理1 设是元布尔函数,那么下面说法是等价的。
为bent函数。
对每一个都有,其中:是的第行。
其中:为矩阵;为的序列:为的序列,;;为集合中元素的个数;;为的非线性度。
一直以来对bent函数的构造都是研究者所关心的问题。
构造方法可分为两种,一种是间接构造,即用已有的函数来构造新的bent 函数;另一种就是直接构造。
至今所知道的直接构造主要有两类:一种是m()类,另一类是ps()类。
下面再介绍两个定理:定理2 ():令,则是元bent函数,其中是上的任意置换,而是上任意的布尔函数。
若将的子空间e的指示函数定义为,而ps类bent函数就是将由所有或个的“不交的”维子空间的指示函数的模2和所组成的函数的集合,其中,“不交的”意味着任意两个这样的子空间只交于0元素,且它们的维数都是p,所以任意两个这样的子空间的直和是。
在参考文献中给出了的一种划分,从而得到了一种构造这类函数的方法,并且给出了对应bent函数的代数范式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
布尔函数的密码学性质及其相互关系摘要:本文的主要工作是对布尔函数的密码学性质进行简单的介绍以及整理,并将近期密码函数安全性领域里面的主要结论进行归纳和比较,通过各种性质及之间相互关系找出一种构造具有“优秀”密码学性质的函数的方法。
本文第一部分为基本概念,主要内容是布尔函数的基本知识以及文章中将会用到的相关符号和语言。
这一部分还简单介绍了布尔函数的两个基本性质:均衡性、代数次数。
这两个性质对函数的安全性具有十分重要的意义。
第二部分介绍了布尔函数的相关免疫性以及弹性的有关内容,末尾简单地介绍了几种构造具有特定相关免疫阶的布尔函数的方法。
第三部分介绍了布尔函数的非线性度以及具有最高非线性度的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.。