序列密码的工作原理
一次一密(One-time Pad,OTP)
	OTP的特点:
- 加解密操作相同——逐bit异或
 - 密钥流是真随机序列
 - 
			双方密钥流相同
 
	OTP的优点:
- 加解密速度非常快
 - 理论证明:OTP是无条件安全的。
 
	OTP的缺点:
- 双方实现长度长且相同的真随机密钥流是非常困难的。
 
	OTP的优点和缺点折中一下就是序列密码。
实用序列密码系统模型
- 序列密码体制的安全强度完全取决于密钥流的安全性。
 - 实用的流密码以长度较短的初始密钥k经过密钥流生成器产生周期较长的伪随机序列。
 
分组密码与序列密码的对比
| 
					 | 
				
					分组密码 | 
				
					序列密码 | 
			
| 
					密钥编排(生成) | 
				
					较简单 | 
				
					复杂 | 
			
| 
					加密/解密 | 
				
					复杂 | 
				
					非常简单 | 
			
序列密码的分类
	同步序列密码:密钥流的产生完全独立于明文和密文
	自同步序列密码:密钥流的产生依赖于固定长度的明文或密文
	同步序列密码的同步要求:加解密双方要求位置完全同步
	自同步序列密码的同步要求:
	假设t=3,分析密文丢失对解密的影响。
	令
,
。
反馈移位寄存器
序列密码的设计考虑
	在设计密钥流生成方法时,需要考虑以下三个因素:
- 种子密钥k应该易于分配和管理:k要比较短。
 - 密钥流生成方法应该易于快速实现:基本部件——反馈移位寄存器(FSR:Feedback Shift Register)。
 - 安全性:非线性部件
 
	FSR(Feedback Shift Register):
	移位寄存器(Shift Register):
	基本概念:
	级数:L,状态:L维向量
- 
			
是第j级存储单元的内容,且
。
 - 
			状态总数:
。
 
	例:5级移位寄存器
	反馈函数(Feedback function):
	基本概念分类:
	f是线性函数→LFSR。
	f是非线性函数→NLFSR。
	例:3级NLFSR
线性反馈移位寄存器
	LFSR(Feedback Shift Register)
	LFSR的表示方法
- 结构图(如上图)
 - 
			线性反馈函数:
 - 
			联结多项式(也称为特征多项式):
 
	例:4级LFSR结构图如下
	反馈系数:%3D(1%2C0%2C0%2C1))
	线性反馈函数:%3Dc_%7B1%7Dx_%7B3%7D%5Coplus%20c_%7B2%7Dx_%7B2%7D%5Coplus%20c_%7B3%7Dx_%7B1%7D%5Coplus%20c_%7B4%7Dx_%7B0%7D%3Dx_%7B3%7D%20%5Coplus%20x_%7B0%7D)
	联结多项式:%3D1%2Bc_%7B1%7Dx%2Bc_%7B2%7Dx%5E%7B2%7D%2Bc_%7B3%7Dx%5E%7B3%7D%2Bc_%7B4%7Dx%5E%7B4%7D%3D1%2Bx%2Bx%5E%7B4%7D)
	反馈值:
	初态:
		反馈值:
	
	
		初态:
	
	m序列定理:
	若
的联结多项式
为本原多项式,那么初态为任意一个非零状态时,均能产生周期为
的输出序列,即
序列。
	
A5-1序列密码算法
A5-1 序列密码算法的应用
	A5序列加密算法被广泛应用于全球移动通信系统GSM中,用来保护用户手机与基站之间的语音通信.
	A5结构图
	划分成三部分:
- 三个LFSR
 - 钟控部分
 - 输出函数
 
	A5-1序列密码算法
- 
			LFSR算法使用3个级数为19、22和23的LFSR。记
为第个LFSR的第k级寄存器的内容
 
- 钟控方式——决定了在一个时钟周期内哪些寄存器有动作。
 
	控制方式:择多原则。
	钟控
的值与寄存器动作方式的对应关系。
	A5-1序列密码算法流程
	Step 1:将三个LFSR的初态都设置为全零向量;
	Step 2:(密钥参与)三个LFSR都规则动作64次,每次动作1步。实现将64bit的初始密钥通过异或操作加载到三个寄存器中。
	Step 3:(帧序号参与)三个LFSR都规则动作22次,每次动作1步。实现将22bit的帧序列参与到密钥生成,从而保证每一帧的密钥流是不一样的
	Step 4:三个LFSR以钟控方式连续动作100次,但弃用输出;
	Step 5:三个LFSR以钟控方式连续动作228次,在每次动作后,将三个LFSR的最高级寄存器中的值进行异或,从而得到228-bit的密钥流KS;
	Step 6:将KS用于加密或解密。
	密钥流KS的使用

京公网安备 11010502036488号