第3-4讲_流密码概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长度为1的1游程数:2
r 3
长度为1的0游程数:2
r 3
例如对4级m序列一个周期中 长度为4的1游程,1个;长度为4的0游程,0个;
长度为3的1游程,0个;长度为3的0游程,1个;
长度为2的0、1游程各有1个;
长度为1的0、1游程各有2个。
本原多项式
f ( x) x 4 x 1
11101011001000 111101011001000 111010110010001 …
3、序列和周期
移存器序列表示为: a a0a1a2 ai 对于序列 a a0a1a2 ai ,若存在整数p使得 对任意整数k有 ak ak p 成立,称满足该式的最小正 整数p为序列的周期。 最长周期: 2 r 1 ,能达到最长周期的线性移存器 序列称为m序列。
4、线性移存器表示方法
定义2: 设a是周期为p的二元序列,则称函数
1 p Ca ( ) (1) ai ai p i 1
为周期序列a的自相关函数。 其指数位表示在一个周期内对应位相同的位数与 对应位不同的位数模二加。 当 0时, R( ) 1 当 0 时,称 R( ) 为异自相关函数
线性移位寄存器序列是构造密钥流序列的基础。
1、反馈移存器结构
1 2 3 f r
一个反馈移位寄存器由两部分组成:移位寄存 器和反馈函数,其抽象的简单逻辑框图如上图所 示。 我们称这一函数为该组合门电路的反馈逻辑函 数,表示为: xr 1 f ( x1, x2 ,, xr )
函数f是一个含有r个逻辑变元的布尔函数
非线 LSFR(线 性变 形移位寄 存器)换
f (K , i ) ki Ci
i
Eki (mi )
密钥流生成器的有限状态自动机描述
根据 i 与明文信息的关系,流密码可以分 为同步流密码和自同步流密码两类
1、同步流密码
σi独立于明文字符的叫做同步流密码,否则叫 做自同步流密码。 对明文而言,同步流密码的加密变换是无记忆 的;解密要求密钥流与加密密钥严格同步。
一次一密是否现实?
存在问题: 1、密钥的传输与存贮 2、一次一变 结论:“一次一密”密码虽然是理论保密的, 却很不实用 能不能找到一种类似的方法,既可以降低 密钥管理的难度,又能达到必须的安全性 呢?
一个可行的方法是:用一个较小的密 钥伪随机地生成密钥流,该密钥流在具有 有限计算能力的对手看来是随机的。 这种流密码不是无条件安全的,仅是计算 上安全的。
性质3:自相关特性
二元域上的r级m序列的自相关函数满足:
1 , 若 是2r 1的倍数; 1 Ca ( ) r (1)ai ai 2 1 i 0 1/(2r 1) , 其它.
2r 2
2.4 非线性序列
密钥流生成器可分解为驱动子系统和非线性组 合子系统。 驱动子系统常用一个或多个线性反馈移位寄存 器来实现。 非线性组合子系统用非线性组合函数F来实现。
k {ki }i 0 k0k1k2
脱密变换为:
m Dk (c) Dk0 (c0 ) Dk1 (c1 ) Dk2 (c2 )
在实用的流密码中,加密变换通常采用二 元加法运算。 即: ci mi ki
mi ci ki
密码系统的安全性取决于密钥流的性能 特点:使用随机密钥,且密钥不重用。 一次一密的安全性是基于密钥的随机性, 由于密钥是真正随机的,没有人能预测到密钥 流。
在j+1时刻其内部状态变为:(a j , a j 1,, a j r 1 ) 其中: a j f (a j 1, a j 2 ,, a j r )
此时的输出为j时刻的最高级:a j r
1
2
3
0 1 1 1 0 1 0 0
0 0 1 1 1 0 1 0
1 0 0 1 1 1 0 1
3、反馈多项式表示 一个r级线性移存器的反馈多项式表示为:
f ( x) cr x r cr 1 x r 1 c1 x 1
1
2
3
4
f ( x) x 4 x3 x 2 1
用反馈多项式表示,可利用有限域的理论 深入细致的考查移存器序列的特性。
给定反馈多项式f(x)后,f(x)产生的序列A就完
2、自同步流密码
σi与明文m1,m2,„,mi-1有关,称为自同步流密码。
k 。。 。 mi 密钥流生成器
Ek (mi )
ci
2.2线性移位寄存器简介
反馈移存器是序列密码设计中常用乱源, 其目的在于以种子密钥为序列的初态,按照确 定的递推关系,产生一个周期长、线性复杂度 高、统计特性好的初始乱源,然后利用非线性 函数、有记忆变换等密码变换,最终产生抗破 译能力强的乱数序列。
全确定;但给定一个序列A,能产生序列的多项 式f(x)有很多。 其中,能产生序列A的次数最小的多项式称为 序列的极小多项式。
极小多项式的次数就是能产生序列的最短移 存器级数,通常称其为序列的线性复杂度。
内容之间的联系
移存器工作原理;表示方法
基 础
目Байду номын сангаас
的
布尔函数
移存器 序列
应用
流 密 码 的 初 始 乱 源
弱点:密钥管理的困难性。
密钥流是完全随机序列,被称为一次一 密密码。Shannon从理论上证明了该体制在 唯密文攻击条件下是理论上保密的,这是密 码学中唯一的一个能够被证明是无条件安全 的密码。 这个体制的特点是:使用随机密钥,且密 钥不重用。
一次一密的安全性是基于密钥的随机性, 由于密钥是真正随机的,没有人能预测到密 钥序列。
(2)长度为r-1的0游程有1个;
(3)长度为 k (1 k r 2) 的0、1游程各有 2r 2k 个;
2 r 1 个,且0、1游程各占一半。
(4)游程总数为
长度为k的游程占游程总数的1/2k 同理长度为2的游程占游程总数的1/4 r 2 长度为1的游程总数:2 占游程总数的1/2
1、Geffe序列生成器
LFSR2作为控制生成器使用。当LFSR2输 出1时,LFSR2与LFSR1相连接;当LFSR2输 出0时,LFSR2与LFSR3相连接。
设LFSRi的输出序列为{a(i)k} (i=1,2,3),则输 出序列{bk}可以表示为
bk ak ak ak ak ak ak ak ak ak
(三)m序列的特性
性质1:“0、1”信号频次
r级m序列的一个周期中,1出现 2 r 1 2 r 1 1 个。 0出现
本原多项式
f ( x) x 4 x 1
个,
序列的一个周期:011110101100100
性质2:在r级m序列的一个周期中,没有大于r的游程 (1)长度为r的1游程有1个;
2.3 m序列特性
重点:线性移位寄存器产生的序列特性
理想序列
随机特性好 周期足够长 由反馈多项式决定
1、本原多项式
本原多项式 设初态为0001
f ( x) x 4 x 1
0001,1000,1100,1110,1111,0111,1011,0 101,1010,1101,0110,0011,1001,0100,0 010,0001 状态图:含有15个状态,所以序列的周期为15。
第二章 流密码
流密码基本概念
线形反馈移位寄存器简介
m序列特性
非线性序列
2.1 流密码基本概念
1、什么是流密码(序列密码)
按加密方式不同,密码体制可分为流密码 和分组密码。 流密码的加密方式 加密变换为:
c Ek (m) Ek0 (m0 )Ek1 (m1 )Ek2 (m2 ) m {mi }i 0 m0m1m2
状态图:为了从直观上描述反馈移存器的状 态转移情况,可以使用一些方框及联接这些方框 的箭头组成的图形,在数学上,把表示反馈移存 器功能的图形称为状态转移图。 在状态图中,从任意状态出发,依次取出各 状态相同位置的分量,即得到输出序列。 3级线性移位寄存器产生序列为:0111010…… 和一个全零序列。
(二)一般伪随机序列的特性
1、在序列的一个周期内,0、1的个数相差最多一个。 2、在序列的一个周期内,长为1的游程占游程总数 1 1 的 2 ,长为2的游程占游程总数的 2 ,长为i的游程 1 占游程总数的 2 ,且在等长的游程中0的游程个数 和1的游程个数相等。
2
i
3、异自相关函数是一个常数。
1)说明:序列中0、1出现的概率基本相同 2)说明:0、1在序列中每一位置上出现 的概率相同; 3)说明通过对序列与其平移后的序列作比 较,不能给出其它任何信息。
1 2
3 2
1 2
3 2
3
多路复合器表示的Geffe序列生成器
设LFSRi的特征多项式分别为ni次本原 多项式,且ni两两互素,则Geffe序列的 周期为
3 i1
2ni 1
2、J-K触发器
J
序列:按状态图的状态转移关系,依次取出各状 态相同位置的一个分量,即得序列:01111010110 0100„„
结论:产生一个周期为15的序列及一个全零序列。
该移存器的周期是最长周期。 称能产生m序列的移存器为本原移存器,该 移存器对应的反馈多项式为本原多项式。 本原多项式所产生的序列是最长周期序列, 即 2 r 1 ,称为m序列。
1
2
3
4
4级线性反馈移存器
1
2
3
3级非线反馈性移存器
2、反馈移存器工作原理
反馈移存器的功能完全由其反馈逻辑函数来决定 移存器受时钟脉冲控制,在某一时刻各级 都有一个确定的值,我们把此时刻各级的值称 为移存器的一个内部状态
( 假设在j时刻其内部状态为:a j 1, a j 2 ,, a j r )
2、布尔函数简介
一般地,我们定义n元布尔函数为如下映射:
f : F2n F2
x ( x1, x2 ,, xn ) F2n , f ( x) F2 记为 f (x) ,其中
一个n元布尔函数是否给定,关键在于该函数 之值是否对于每组自变量均已确定,如果把每组 自变量与其所对应的函数值全部列成表格,这种 表格就叫做反馈函数的真值表。
因此,现代流密码设计的关键是如何生成“随机 性”好的密钥序列,这部分称为密钥发生器。 密钥发生器组成:驱动部分和非线性组合部分
驱动部分控制密钥发生器的状态序列, 并为非线性组合部分提供统计特性好的序列。
非线性组合部分通过一系列复杂变换,将 输入序列组合成密码学特性好的序列。
密钥流生成器
我们希望密钥发生器驱动部分提供的序 列应该实现简单,且具有较好的统计特性, 那么,存在这样的序列么? 线性移位寄存器序列正是满足该要求的 序列。
m序列在密码学中有广泛的应用。
2、m序列特性
(一)基本定义
定义1:游程 若干个信号连续出现的现象称游程。 给定序列a a (a0 a1 a2 ) 若存在一段序列:
0110 两端为0中间连续k个1,称长为k的1游程。 1001 两端为1中间连续k个0,称长为k的0游程。
如0110为一个长为2的1游程,101为一个长为1 的0游程。
常见的两种密钥流产生器
2、流密码分类
若密钥是一个完全随机的非周期序列,则可 实现一次一密体制,这需要无限的存储单元和复 杂的逻辑函数。 实际中,流密码多采用有限的存储单元和确定 性算法,使用有限的存储单元和确定性算法来实现。 因此,可以使用有限状态自动机来描述。
f s ( K , i 1 )
(1)真值表
例如 f ( x) f ( x1 , x 2 )
x
0 0 1 1 0 1 0 1
f(x)
0 1 1 0
(2)多项式表示
f ( x) x1 x2
3、线性反馈移存器定义 定义1:若反馈移存器的反馈逻辑函数是线 性函数,则称该反馈移存器为线性反馈移存器, 否则称为非线性反馈移存器。
1、逻辑框图表示
1
2
3
4
含有4个二元存储器,2,3,4级的开关是连 通的,参与反馈。
2、线性递推式表示
一个r级线性移存器的线性递推式表示为:
an c1an1 c2an2 cr anr (n r )
1
2
3
4
an an2 an3 an4 (n 4)
含义:表示序列中第n个信号与其前r个信号的 线性制约关系。