第7章 序列密码
定义7.6.4 二元序列a a0 , a1,..., aN1 的线性复 杂度C(a)定义为产生该序列的级数
最少的线性移位寄存器的级数。对全零序列 a,约定C(a)=0。
定理 7.6.7 设α= {ai}是二元周期序列, 且序列{ai}的线性复杂度C(α)=L≥1,则 只要知道{ai}中任意相继的2L位就可确定整 个序列{ai}及产生{ai}的极小多项式。
lLn [ x]
记为Nf,即f(x)的非线性度为其与所有线性 函数之最短距离,于是线性函数的非线性度
为0。称max lLn [ x]
d
(
f
,
l
)为f(x)的线性度,记为Cf。即
的线性度是f(x)与所有线性函数的最大距离。
定义 7.4 若l(x)使得
,则称l(x)为
f(x)的最佳线性逼近。d( f ,l) N f
7.1.4 布尔函数不同性质之间的关系
一种性质表示了函数在某一应用中的性能, 其量化便是这种性能的衡量指标,如非线性 是密码系统中为抵抗线性攻击而提出的性能, 非线性度则是衡量其非线性性能强弱的指标。 若从这个意义上讲,非线性度越高越好,但 非线性度达到最高的函数,其他性能将变弱。 如当非线性度达到最高时,将失去相关免疫 性。因此,研究不同性质之间的关系,特别 是不同性能指标之间的数量关系是布尔函数 研究中的一个重要课题。
1,
Ra
(
)
1 T
,
当 0 当0 T 1
定理 7.6.2 设线性移位寄存器的特征多项
式为 令
Ax
定义
p7ix1.a6i xii.n12,0 ci x则设i,pA递((xx) 推)p为序((xx))G列,F其(a2j 中)上((的xp)(x多)i)n1。项cni式xn,i ji。1 a j
定理7.6.1 n级m序列{ai}具有如下性质: (i)在一个周期内,0,1出现次数分别为2n-1-1和2n-1 次.
(ii)在一个周期圈内,总游程数为2n-1,对1≤i≤n-2, 长为i的游程有2n-i-1个,且0,1游程各半,长为n-1 的0游程一个,长为n的1游程1个。
(iii) {ai}的自相关函数为二值:
NF
2 n1
1
22
。
7.2 序列密码的原理
信源
编码器
加密器
信宿
信 源
译码器
加 密 器
解密器
解
信
密
宿
器
明文序列 mi
密钥序列生成器
ki
器 kI
密钥源
kI
秘密信道
器
ci
密钥序列生成器
器
mi
恢复的明文序列
7.3 序列的伪随机性
定义 7.3.1序列{ai}称为周期序列,若存在 正整数使得
aiT ai , i 0,1,2, (7.3.1)
定理7.3 足N f 2n1
任 2意n2,1n使元等布式尔成函立数(f(即x)非的线非性线度性最度高满)的
函数定义为Bent函数。
定义7.5 若对任意c (c1, , cn ) GF (2)n , w(c) 1 ,有
w( f (x) f (x c)) 2n1,即 f (x) f (x c) 是平衡函数,则
2
P( f (x) wx) 1 S( f ) (w) 2
,这里P(.)表示概率。
7.1.2 布尔函数的非线性
定义 7.3 设f(x)是一个n元布尔函数,记Ln[x]
为所有n元线性函数(包括仿射函数)之集。
f(x)的非线性度定义为
min d( f ,l) min w( f l)
lLn [ x]
7.1.5 多输出布尔函数
定义7.8 设F(x) ( f1(x), , fm (x)) 是GF (2)n到GF (2)m的 多输出布尔函数,令
D(F) min deg( F | 0, GF(2)m
m
min{deg( bi fi (x)) | (b1, ,bm ) 0, (b1, ,bm ) GF(2)m}
称f(x)满足严格雪崩准则。若将f(x)的任意k个分 量固定为常数,得到n-k的元函数均满足严格雪崩 准则,则f(x)称满足k(0≤k≤n-2)阶雪崩准则。严 格雪崩准则记为SAC,k阶雪崩准则记为SAC(k)。 满足严格雪崩准则的函数称为SAC函数。
定义7.6 设 GF (2)n , 0 ,若 f (x) f (x ) 是 平衡函数,即 w( f (x) f (x )) 2n1
定理 7.7.2 GF(2)上n级M序列的数目
为 2 2 n1 n
。
7.7.2 非线性前馈序列
引理7.7.1 在图7.7.1中n级LFSR为n级m
序列生成器时,对任一组不全为0的k j ( j 0,1,2, ,2n 2)
,存在唯一的前馈函数f(x),使前馈序列
是周期序列k k 0k1
第7章 序列密码
序列密码又称流密码。它是将明文消息字符 串逐位地加密成密文字符。
7.1 布尔函数
7.1.1 布尔函数的表示 真值表 小项表示 多项式表示 Walsh谱表示
定义7.1 设 x (x1, , xn ) ,w (w1, , wn ) GF (2)n,x 与w的点积定义为x w x1w1 xn wn GF (2)
若的r周i两期两为互素,f(nx)(与2ri 各1) 变元均有关,则{kj}
,n元布尔函数f(x)的Walsh变换定义为
,其逆变换为 2n1
S f (w) 2n (1)wx f (x)
2n 1
f (x) 2n S f (w)(1)wx
x0
w0
。S f (w)(wGF(2)n ) 称为的第一种谱或Walsh谱。
2n 1
定义7.2 定义 为f(x)的 S( f ) (w) 2n (1) f (x) (1)wx
F(x)满足严格雪崩准则(SAC)。称F(x)是 SAC函数。
定义7.12 设 ,若 , F(x) ( f1(x), , fm (x)), m n
F 2nm
则称F(x)是完全非线性函数。
定义7.13 设 F(x) ( f1(x), , fm (x)), m n,称
为F(x)的非线性度。 N F
定理 7.6.5 n级线性移位寄存器产生的状态序列有 最大周期2n-1的必要条件是其特征多项式p(x)是 不可约的。
定义7.6.3 p(x)为n次不可约多项式,若p(x)阶为 2n-1 ,称p(x)为n次本原多项式。
定理7.6.6 {ai}为n级m序列的充要条件是其特征 多项式p(x)为n次本原多项式。
x
j
1
使得p(x)|xp-1的最小p称为p(x)的周期或
的p(x)阶。
定理 7.6.3 若p(x)为GF(2)上的n次多项式, 且p(x)是序列{ai}的特征多项式,p为p(x) 的阶,则{ai}的周期r|p。
定理 7.6.4 设m(x)是产生线性移位寄存器序列 {ai}的极小多项式,则{ai}的周期等于多项式m(x) 的阶。
则称D(F)为i1 F(x)的代数次数。这里 fi (x)(1 i m) 是n元布尔函数,deg( .)表示布尔函数的 代数次数。当D(F)=k时,称F(x)为k次函 数。
定义7.9 设F(x) ( f1(x), , fm (x)), m n ,若对任意
GF (2)m ,集合{ | GF (2)n , F ( ) }
当 计, xim且独仅立当,或z与者,当x中且1,的仅, x任当n m互个信随息机变量I(
z;
xi1
,, ,
xim
)
统
0
对 当任m=一1组时x,i1 ,称,fx(ixm ),1是1i1阶 相 关im 免 疫n 成函立数。,或一般地
称为相关免疫函数;当m≥2时,亦称f(x)为高阶
免疫函数。
一个函数f(x)是相关免疫的,也说f(x)具有相关免 疫性,或说f(x)满足相关免疫准则。
k
2n
k
1
0
k
1
这里f(0)=0。
定理7.7.2 设LFSR为n级m序列生成器, f (x ) f (x 0 , x 1, , x n1) 。若f(x)的次数为k,则 {kj}的线性复杂度C({kj})满足
k
C(kj )
C
j n
i 1
7.7.3非线性组合序列
定理 7.7.3 设 ai , k, f (x), ri ,(i 1,2, ,, n) 如前所述。
3) 自相关函数为二值。
7.4 序列密码对密钥流的要求
(1) 极大的周期。周期不少于3×1016或255。 (2) 良好的统计特性。即满足或部分满足Golomb
的三个随机性假设。 (3) 不能用级数较小的(可实现长度)线性移位寄存
器近似代替。即有很高的线性复杂度。 (4) 用统计方法由密钥序列提取密钥生成器结构或
密钥源的足够信息在计算上是不可能的。 以上要求对保证系统安全性是必要的,但不是充分 的。
7.5 密钥流生成器
密钥流生成器
7.6 线性移位寄存器
反馈移位寄存器
例 7.6.1 有一个三级移位寄存器如图
其中初态为 s1 (a1, a2 , a3 ) (1,0,1) 。则 此移位寄存器输出序列为
101110111011… 它是周期为4的序列。
f (a1, a2 ,..., an ) cn a1 cn1a2 ... c1an
状态
10 1
110 111 011 101 110
……
输出
1 0 1 1 1 0 …
定义 7.6.1 当n级线性移位寄存器产生的序列{ai} 的周期为T=2n+1时,则称{ai}为n级m序列。
满足(7.3.1)式的最小正整数T称为序列{ai} 的周期。若存在n0,使得 an0 , an01, 是周期 序列,则称{ai}是终归周期的。