有限状态自动机的模型
- 有限状态自动机是具有离散输入和输出(输入集和输出集均有
限)的一种数学模型,由以下3部分组成:
① 有限状态集S={ si| i=1,2,…,l }。
② 有限输入字符集A1={ A(1)j| j=1,2,…,m}和有限输出字符集A2={A(2)k |k=1,2,…,n}。
③ 转移函数A(2)
k=f1(si, A(1)j ),sh=f2(si, A(1)j)即在状态为si,输入为A(1)j时,输出为A(2)k,而状态转移为sh。
有限状态机的有向图表示
有限状态机可用有向图表示,称为转移图
- 转移图的顶点对应于自动机的状态,若状态si在输入A(1)i时转为状态sj,且输出一字符A(2)j,则在转移图中,从状态si到状态sj有一条标有(A(1)i,A(2)j)的弧线
有限状态自动机的矩阵表示
设S={s1,s2,s3},A1={A1(1),A2(1),A3(1)} A2={A1(2),A2(2),A3(2)},则该有限状态自动机的矩阵表示如下
有限状态自动机的实例
若输入序列为
A(1)1 A(1)2 A(1)1 A(1)3 A(1)3 A(1)1
初始状态为s1,
则得到状态序列
s1s2s2s3s2s1s2
输出字符序列
A(2)1 A(2)1 A(2)2 A(2)1 A(2)3 A(2)1
密钥流生成器
- 密钥流产生器: 参数为k的有限状态自动机
- 一个输出符号集Z、一个状态集∑、两个函数φ和ψ以及一个初始状态σ0组成
- 状态转移函数φ:σi→σi+1,将当前状态σi变为一个新状态σi+1,
- 输出函数ψ:σi→zi,当前状态σi变为输出符号集中的一个元素zi。
作为有限状态自动机d的密钥流生成器
密钥流生成器设计的关键
- 关键在于:找出适当的状态转移函数φ和输出函数ψ,使得输出序列z满足密钥流序列z应满足的随机性条件,并且要求在设备上是节省的和容易实现的。
- 一般采用线性的φ和非线性的ψ,这样将能够进行深入的分析并可以得到好的生成器
密钥流生成器的分解
密钥流生成器可以分成驱动部分和非线性组合部分
驱动部分控制生成器的状态转移,并为非线性组合部分提供统计性能好的序列
非线性组合部分要利用这些序列组合出满足要求的密钥流序列
常见的两种密钥流产生器
• 目前最为流行和实用的密钥流产生器,其驱动部分是一个或多个线性反馈
移位寄存器。
• 前者称为滤波生成器,或前馈生成器
• 后者称为非线性组合生成器
• 还有钟控生成器,缩减生成器,停走生成器等