布尔函数的密码性质及其相互关系
布尔函数的密码学性质研究
布尔函数的密码学性质研究布尔函数是密码学领域中的重要概念,它在密码算法和协议中扮演着重要的角色。
本文将探讨布尔函数的密码学性质,并分析其在密码学中的应用。
布尔函数是一类把有限域上的二进制向量映射到一个二进制值的函数。
在密码学中,布尔函数广泛应用于密码算法和协议的设计中。
它们被用于数据加密、数字签名、密钥生成等方面。
布尔函数的密码学性质包括均匀性、平衡性、非线性性和秘密性等。
均匀性是指布尔函数输出值的分布均匀,其中每个输出值的次数接近于理论上的平均值。
平衡性是指函数的输出值在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函数的代数范式。
布尔函数导数的一些密码学性质
推论
如果布尔函数f( … , 是含 (≤j z , 1 . ) ≤,的线性函数 ,则
d
=1 ,
因为这 时f( … , 关于 是线性的. , 定理 2 若 f( … , 是 H布尔函数 ,则f( 1 Ⅺ, X,… , 与每一个 1 . ,都有关. ≤j z ≤ ) 证明 假设f( l X,… , 与某个 无关,取£ =0 ,0 0 f (…0l …. , ),有
= ,
=
一
一
a[ i , i , X l …Xk , )
f x,. .X ,.. +f x,. .X  ̄ (a. . i., ) (a. ., ,k.X n ., . i  ̄ ,ko 勋) 9 o
.
称为函数f(1 … , 关于x。… , 的导数,其 中( X, , 咒… . , ) 1  ̄n = , . ) X,. . 咒^ ( ≤i j l . 是 1. < ., 七 . 中任 何 一个 部分 的组合 . 为方便 起 见 ,下 面把 它 记为 A 若 kl =, 则f(1 … , 关于 x 的导数记为 X, i
维普资讯
第 2 卷 总第 6 8 5期 20 0 7年 3月
西 北 民 族 大 学 学 报 ( 自然科学版 ) Ju a o Notwet nvri fr ainl e( a rl c n e or l f n r s h U iesy o N t at s t a S i c t o i N u e i
个有 关线性性 、平衡性等的性质.
[ 关键词】 布 尔函数 ;导数 ;H 尔函数;平衡布 尔函数 ;线性 函数 布
【 分类号 O1 . 中图 】 71 4
[ 文献标 识码】A
[ 文章编号】1 92 22 )1 060 0 -1 ( 0- 1 6 0 0 ∞7 0 -
布尔函数的几类密码性质研究与S盒的构造
布尔函数的几类密码性质研究与S盒的构造布尔函数的几类密码性质研究与S盒的构造摘要:布尔函数在密码学领域中扮演着重要的角色。
本文探讨了布尔函数的几类密码性质以及S盒的构造方法。
首先,介绍了布尔函数的基本概念和性质。
然后,重点研究了平衡性、非线性性、代数次数和自相关性等几类密码性质,并分析了它们在密码学中的应用。
最后,介绍了S盒的构造方法,包括代数构造法、迭代构造法和启发式构造法,并比较了它们的优缺点。
本文的目的是为密码学的研究和应用提供参考和指导。
关键词:布尔函数、密码性质、S盒、代数构造法、迭代构造法、启发式构造法一、引言布尔函数是一种特殊形式的数学函数,它的取值为0或1。
在密码学中,布尔函数广泛应用于加密算法的设计和分析。
布尔函数的本质是一个逻辑运算,通过它可以实现对信息的加密。
二、布尔函数的基本概念和性质1. 布尔函数基本概念布尔函数是一个定义在有限域上的函数,它的输入和输出皆为0或1。
一个n变量的布尔函数可以表示为f(x1, x2, ..., xn),其中xi是输入变量。
2. 平衡性平衡性是指布尔函数0和1的输出值的个数相等。
对于一个n变量的布尔函数,如果f(x1, x2, ..., xn)的值为0和1的个数相等,则称该函数具有平衡性。
3. 非线性性非线性性是指布尔函数的输出值与输入值之间的关系非线性。
一个函数越非线性,意味着对抵抗不同攻击方法的能力越强。
在密码学中,非线性性是衡量一个布尔函数安全性的重要指标。
4. 代数次数代数次数是指布尔函数表达式中最高次项的次数。
一个函数的代数次数越高,说明它的非线性性越强。
代数次数也是衡量一个布尔函数安全性的指标之一。
5. 自相关性自相关性是指布尔函数与它自身的相关性。
对于一个布尔函数f(x1, x2, ..., xn),如果存在一组输入xi使得f(x1⊕a1,x2⊕a2, ..., xn⊕an) = f(x1, x2, ..., xn),其中ai∈{0,1},则称该函数具有自相关性。
数字通信原理实验 布尔代数
数字通信原理实验布尔代数布尔代数作为一种表达逻辑关系的数学工具,在数字通信原理实验中扮演着重要的角色。
下面本文将从什么是布尔代数、布尔运算及其逻辑关系、布尔函数及其应用等几个方面来详细介绍布尔代数在数字通信原理实验中的应用。
一、什么是布尔代数?布尔代数是由英国数学家布尔(George Boole)在19世纪60年代提出的,它是处理逻辑关系的数学工具。
布尔代数是传统数学的一种扩展形式,将1和0的二进制数值,以及AND、OR、NOT三种基本的逻辑运算,用代数的方式加以表述。
它是逻辑代数的基础,适用于电子、电信、计算机等技术领域。
在数字通信原理实验中,布尔代数常用于电路的设计及数字信号的处理等领域。
二、布尔运算及其逻辑关系布尔运算是指布尔代数中的逻辑运算,包括AND、OR、NOT三种主要的逻辑运算。
下面逐一介绍:1.AND(与)运算:AND运算是指两个输入变量A、B,当它们都为1时,输出变量Y才为1,否则Y为0。
用符号表示为:Y=A·B。
2.OR(或)运算:OR运算是指两个输入变量A、B,当它们都为0时,输出变量Y 才为0,否则Y为1。
用符号表示为:Y=A+B。
3.NOT(非)运算:NOT运算是指一个输入变量A,当它为1时,输出变量Y为0,当它为0时,输出变量Y为1。
用符号表示为:Y=¬A。
布尔运算有一些重要的逻辑关系:1.结合律:结合律是指对于布尔代数中的AND和OR运算,无论括号怎样套用,结果都是相同的。
比如:(A·B)·C=A·(B·C);(A+B)+C=A+(B+C)。
2.分配律:分配律是指对于布尔代数中的AND和OR运算,无论括号怎样套用,结果都是相同的。
比如:A·(B+C)=A·B+A·C;A+(B·C)=(A+B)·(A+C)。
3.德摩根定理:德摩根定理是指NOT运算在布尔代数中的运用。
关于布尔函数串的一些性质
文 章编 号 :034 7 (0 20 7 1 3 l0 -2 1 1)502 ・ 2 0
关 于布 尔 函数 串的一 些性 质
屈仁 春
( 四川 大学数 学学院,成都 606 10 4)
摘
要 :布 尔函数是 密码 学中的一类重要 函数,被广泛应 用于密码体 制和 密码协议 的构造 中.布 尔函数的密码 性质 在一
1 引言
布 尔 函数在 许 多领 域 都有 应 用背 景 . 们在 不 同 的领域 对布 尔 函数 进行 了大 量 的研 究,特 别在 密码 学 领 域 人
中, 布尔函数一直是研究热点川 Me r . i 等提出了代数免疫度的概念并指 出布尔函数的代数免疫度是布尔函数衡 e 量抵抗代数攻击的重要标志 . J实际上,为了能抵抗代数攻击,函数的代数免疫度不能太低. D l[ 而 a i 等通过引 a3 1 入布尔 函数串递 归构造 了具有最大代数免疫度的布尔函数, 此类函数被证明具有较好的密码性质. 在 本 文 中讨论 了布 尔 函数 的 O 串的一 些基 本性 质并给 出了证 明, 些性 质在 布尔 函数 的递 归构造 中是非常 1 这 有 用 的,通 过不 同 的递 归构造 找 出具有 最大代 数 免疫 阶,且有较 好 的非线性 度和 平衡 性等 密码性 质 的布 尔 函数 J 能 很好 的提 高抵 抗代 数 攻 击 的能 力 .
组成的环. 把 空间
的每 个 向量看成 一 个长 度为 的二 进制 数,则可 以把 中 的所有 向量与 0到 2 1 间 的所有整 数进 行一 一对 一 之
应. 任意一个/ - / 元的布尔函数f( , 从小到大的字典顺序, ) 按 可将其函数值从左到右排列合成一个2 维向
量: ( ) (( , 1…,( 一) 这个向 就称为 f o (, f2 1 , ) ) ) 量 布尔函 数f 的 值表. ( 可以 成是长度为 () 真 ) 看
密码学中布尔函数及多输出布尔函数的构造
密码学中布尔函数及多输出布尔函数的构造密码学中布尔函数及多输出布尔函数的构造密码学是一门研究如何保护信息安全的学科,其中,布尔函数在密码学中扮演着重要的角色。
布尔函数是一种将输入位映射到输出位的函数,常用于密码算法中的置换和代换操作。
本文将介绍密码学中布尔函数的概念、性质以及多输出布尔函数的构造方法。
一、布尔函数的概念和性质布尔函数是一种二进制函数,即函数的输入和输出都是由0和1组成的位。
对于n个输入位和一个输出位的布尔函数,共有2^n个可能的输入组合,每个输入组合对应一个输出位。
布尔函数的值域也是二进制位,通常用0和1表示。
布尔函数的性质包括可满足性、平衡性、非线性和防线性。
可满足性指的是布尔函数的真值表至少包含一个包含全部1或全部0的行,即存在至少一个输入组合使函数的输出为1或为0。
平衡性表示在布尔函数的真值表中,0和1的个数相等。
非线性是指布尔函数的真值表不能由线性函数组合得到。
防线性则表示将输入进行置换后,生成的新函数与原函数相互对偶。
二、布尔函数的构造方法1. 均匀布尔函数均匀布尔函数的性质是在任意的输入结合上,0和1的个数之差不大于1。
构造均匀布尔函数的一种方法是通过线性代换。
对于n个输入位和一个输出位的布尔函数,我们可以通过一个n×n的矩阵A和一个n维向量b来表示。
即将n个输入位视为长度为n的列向量x,输出位为长度为1的列向量y,则有 y=Ax+b。
通过适当的矩阵A和向量b的选择,可以构造出均匀布尔函数。
2. S盒S盒是一种常用的构造布尔函数的方法,它在密码算法中广泛应用。
S盒本质上是一张真值表,通过将输入按照某种规则映射到输出来构造。
例如,在DES算法中,使用的S盒是将6位输入映射到4位输出,共有8个S盒组成。
S盒的构造非常重要,它要求输入的每一位都对应输出的不同位置,以增加密码算法的安全性。
三、多输出布尔函数的构造除了常见的单输出布尔函数外,密码学中还有多输出布尔函数的应用。
布尔逻辑的原理
布尔逻辑的原理布尔逻辑,又称为布尔代数,是一种基于真值的逻辑运算系统,由乔治·布尔在19世纪中叶提出。
它以真(true)和假(false)两个相互排斥的值来描述命题的真伪性质,并用逻辑运算符进行描述与操作。
布尔逻辑的原理包括三个基本要素:命题、逻辑运算符和逻辑等价。
首先,命题是指陈述句或表达式,它要么是真,要么是假。
命题可以是简单的,也可以由多个简单命题通过逻辑运算符连接而成。
例如,简单命题可以是“今天是晴天”,而由多个简单命题构成的复合命题可以是“今天是晴天并且温度适宜”。
其次,逻辑运算符是用来表示命题之间的逻辑关系的符号。
常见的逻辑运算符有非(not)、与(and)、或(or)和蕴含(implication)。
非运算符用于取反命题的真假,与运算符表示同时满足多个命题的真假,或运算符表示至少满足一个命题的真假,蕴含运算符表示前提条件满足时结论的真假。
最后,逻辑等价指的是逻辑表达式之间的等同关系。
如果两个逻辑表达式在所有可能情况下都有相同的真假值,则称它们是逻辑等价的。
逻辑等价的关系可以用逻辑运算符连接的命题之间的相互替代关系来描述。
布尔逻辑的原理可以通过真值表和逻辑公式来表示和推导。
真值表是一种以列举所有可能的命题组合和其结果的表格,用于刻画逻辑运算符的操作。
例如,在非运算符的真值表中,包括两列,第一列为原命题的真假情况,第二列为非运算符对原命题的运算结果。
逻辑公式是用逻辑运算符连接的命题之间的表示和推导工具。
它是布尔逻辑的基本推理规则,可以通过推理规则和等价变换进行演绎推理。
常用的推理规则包括“与引入规则”、“或引入规则”和“蕴含消去规则”等。
布尔逻辑的应用广泛。
它在计算机科学、电子工程、数学和哲学等领域都具有重要的地位。
在计算机科学中,布尔逻辑是计算机电路和编程语言的基础,用于描述和操作计算机程序的逻辑关系。
在电子工程中,布尔逻辑是数字电路的基础,用于实现数字信号的操作和处理。
在数学和哲学中,布尔逻辑是严密推理和思维的基础工具,用于建立数学系统的逻辑基础。
布尔函数的构造及其密码学性质的研究
布尔函数的构造及其密码学性质的研究布尔函数是密码学中非常重要的工具,在信息安全领域扮演着关键角色。
本文将研究布尔函数的构造以及其在密码学中的性质。
布尔函数指的是接收一个或多个布尔变量作为输入,并产生一个布尔值作为输出的函数。
在密码学中,布尔函数常常用于数据加密、认证以及密钥生成等方面。
因此,对布尔函数进行深入研究,可以帮助我们更好地理解密码学的基本原理和算法。
首先,我们来讨论布尔函数的构造方法。
布尔函数可以通过逻辑运算如与(AND)、或(OR)、非(NOT)以及异或(XOR)来构建。
通过不同的逻辑运算和布尔变量之间的组合,可以创造出各种不同的布尔函数。
例如,一个简单的布尔函数可以表示为:f(x, y) = x AND y。
这个布尔函数接受两个输入变量x和y,并返回它们的与(AND)运算结果。
在密码学中,我们通常要求布尔函数具有一些特定的性质,以确保其在加密算法中的安全性。
其中一个重要的性质是均匀性。
一个布尔函数被称为均匀的,如果对于输入的任意改变,输出的每个可能取值都在所有可能的输出中具有相等的概率分布。
均匀性可以提高密码算法的安全性,因为它降低了对输入进行推断的可能性。
另一个重要的布尔函数属性是非典型性。
一个布尔函数被称为非典型的,如果对于任意输入的改变,输出的不平衡性保持不变。
具有非典型性质的函数在密码学中很有用,因为它们可以提供更好的扩散性,即输入的微小改变会导致输出的巨大改变。
此外,在密码学中,还有一个重要的性质是相关性。
一个布尔函数是否相关,取决于它对输入的改变如何影响输出的改变。
一个相关性较低的布尔函数在密码学中更为理想,因为它更难以被攻击者分析和破解。
除了构造和性质研究,布尔函数还可以应用于密码学中的各种算法。
例如,在对称加密算法中,布尔函数经常用于产生密钥编排算法(Key Scheduling Algorithm)和混淆函数(Confusion Function)。
在公钥加密算法中,布尔函数可以用于生成公钥和私钥,同时还可以增强安全性和隐私性。
布尔函数的几个密码学性质
布尔函数的几个密码学性质
温巧燕;肖国镇
【期刊名称】《陕西师大学报:自然科学版》
【年(卷),期】1997(025)004
【摘要】布尔函数的几个密码学性质温巧燕肖国镇(西安邮电学院电信工程系,
西安710061;西安电子科技大学应用数学系,西安710071;第一作者,女,37岁,副教授)布尔(逻辑)函数在许多领域都有广泛应用,在不同领域中各自都提出一些重要的函数类,如数字电路分析...
【总页数】2页(P106-107)
【作者】温巧燕;肖国镇
【作者单位】西安邮电学院电信工程系;西安邮电学院电信工程系
【正文语种】中文
【中图分类】O153.2
【相关文献】
1.密码学性质均衡布尔函数的构造 [J], 李振华;黄晓英;滕吉红;李凯
2.一类级联布尔函数的密码学性质 [J], 王春侠;卓泽朋
3.一类级联布尔函数的密码学性质 [J], 王春侠;卓泽朋;
4.构造具有良好密码学性质的旋转对称布尔函数 [J], 熊晓雯;魏爱国;张智军
5.e-导数的几个性质和几个布尔函数密码学性质定理 [J], 朱兴红;张志杰
因版权原因,仅展示原文概要,查看原文内容请购买。
特殊性质的布尔函数构造与序列设计
特殊性质的布尔函数构造与序列设计特殊性质的布尔函数构造与序列设计布尔函数是一种在计算机科学和电子工程领域中广泛应用的数学概念。
布尔函数能够将n个二进制变量映射到一个二进制输出。
在实际应用中,我们经常需要构造特殊性质的布尔函数。
这些特殊性质包括平衡性、非线性性、高阶无相关性等。
同时,布尔函数在序列设计中也扮演着重要的角色,能够用于加密算法、错误检测和纠错编码等。
首先,我们来介绍布尔函数的平衡性。
在布尔函数中,如果对于任意的输入变量组合,输出值为0和1的频数相等,那么该函数被称为平衡函数。
平衡函数在密码学中非常有用,因为它们能够提高密码算法的安全性。
如何构造任意输入变量个数的平衡函数是一个热门的研究领域。
一种常用的方法是利用递归结构来构造平衡函数。
通过将一个平衡函数与一个平衡函数的重复置换阶数结合,我们可以获得另一个平衡函数。
这种方法可以通过递归不断扩展变量的数量,最终构造出任意输入变量个数的平衡函数。
接下来,我们讨论布尔函数的非线性性。
在布尔函数中,如果将任意两个输入变量交换位置后,输出值的变化幅度较大,则该函数被称为非线性函数。
非线性函数在密码学中也非常重要,因为它们能够提供更好的加密性能。
构造非线性函数的一种常用方法是利用有限域理论。
有限域是一个具有有限个元素的数学结构,可以用来定义和操作布尔函数。
通过选择合适的有限域和合理的运算规则,我们可以构造出非线性函数。
此外,遗传算法和进化算法等智能优化方法也可以用于构造非线性函数。
最后,我们讲解布尔函数在序列设计中的应用。
序列是在离散时间上以一定顺序排列的元素集合。
在通信和存储系统中,序列设计是非常重要的。
布尔函数可以用于生成伪随机序列和冗余编码。
伪随机序列在加密算法和扩频通信中广泛应用,能够提高系统的安全性和抗干扰能力。
冗余编码可以在数据传输过程中对错误进行检测和纠正。
布尔函数的高阶无相关性特性使得它们在冗余编码中非常有用。
总结起来,特殊性质的布尔函数的构造与序列设计在计算机科学和电子工程领域中有着广泛的应用。
3.1布尔函数的表示方法
第一节布尔函数的表示非线性组合函数也称为逻辑函数或布尔函数(boolean function)。
研究布尔函数的密码学性质已成为序列密码、HASH 函数和分组密码设计与分析的关键所在。
目前,关于布尔函数的密码学的性质的研究主要包括以下几个方面:•非线性次数;•非线性度(相关度);•线性结构;•退化性;•相关免疫性(correlation immunity);•严格雪崩准则(strict avalanche criterion)•扩散准则(propagation criterion);•代数免疫性通常,布尔函数的以上密码学性质是相互关联的。
本章主要研究布尔函数的表示方法、重量与概率计算、非线性度和相关免疫性。
布尔函数的定义定义3.1 一个n 元布尔函数f (x ) = f (x 1, x 2, …, x n )是2n F 到2F 的一个映射。
由于2n F 含2n个元素, 故2n F 上的布尔函数共有22n个。
真值表表示:每个二元n维向量为(an-1, an-2, …, a)一个真值指派。
规定种可能的2n真值指派是按照它们表示的二进制数的大小排列的。
布尔函数的表示方法即对真值指派120(,,......,)−−n n a a a 和120(,,......,)−−n n b b b ,如果有1122−−==<∑∑n n i jiji j a b , 则120(,,......,)−−n n a a a 排在120(,,......,)−−n n b b b 之前。
称120(,,......,)n n f a a a −−为f (x )在真值指派120(,,......,)n n a a a −−下的函数值。
于是f (x )的真值表由2n F 中所有真值指派及其函数值构成。
下表是一个二元布尔函数的真值表。
1x 2x ),(21x x f 0 0 1 0 111 0 1 1 1任意两个n 元布尔函数f (x )和g (x )相等当且仅当它们在2n F 的每个真值指派下都有相同的函数值, 此时, 记作f (x ) = g (x ), 否则就说它们是不同的n 元布尔函数, 记作f (x ) ≠ g (x )。
两类旋转对称布尔函数的构造
两类旋转对称布尔函数的构造两类旋转对称布尔函数的构造布尔函数是计算机科学中重要的研究对象,它们在逻辑电路设计、密码学中具有广泛应用。
其中,旋转对称布尔函数是一类特殊的布尔函数,具有良好的对称性质。
本文将介绍两类旋转对称布尔函数的构造方法,并探讨它们的特性和应用。
一、旋转对称布尔函数的定义布尔函数是一个从 n 个布尔变量到一个布尔变量的映射。
对于一个 n 变量的布尔函数 f(x_1, x_2, ..., x_n),如果它在变量的任意旋转下保持不变,即对于任意整数 k 和任意x_i (i=1,2,...,n),都有 f(x_i, x_{i+1}, ..., x_n,x_1, ..., x_{i-1}) = f(x_1, ..., x_n),那么称该布尔函数具有旋转对称性。
二、一类旋转对称布尔函数的构造一类旋转对称布尔函数的构造方法是基于 Walsh 谱的性质。
Walsh 谱是描述布尔函数的一种有效方式,它表示布尔函数在所有输入组合下输出值的频率分布情况。
对于一个 n 变量的布尔函数 f(x_1, x_2, ..., x_n),它的 Walsh 谱是一个 2^n 阶方阵,其中第 i 行第 j 列的元素表示由输入变量(x_1, x_2, ..., x_n) 到输出变量之间的关系。
具体地,可以通过以下步骤构造一类旋转对称布尔函数: 1. 选择一个小于等于 n 的奇素数 p,构造一个 n 变量的旋转对称布尔函数 g(x_1, x_2, ..., x_n)。
2. 将 g(x_1, x_2, ..., x_n) 的 Walsh 谱逐行复制 p 次,并在每行末尾添加一个值为 0 的元素。
3. 将第 i 行的所有元素都乘以 x^i,其中 x 是 p 阶多项式。
4. 对于每一列,将所有元素相加得到新的 n 变量的布尔函数 f(x_1, x_2, ..., x_n)。
通过上述构造方法,我们可以得到一类旋转对称布尔函数。
- 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.。