type
status
date
slug
summary
tags
category
icon
password
概念
流密码(也称序列密码):将被加密的消息m分成连续的符号(一般为比特串),m=m1m2m3……;然后使用密钥流k=k1k2k3……中的第i个元素ki对m的第i个元素mi执行加密变换,i=1,2,3,……;所有的加密输出连接在一起就构成了对m执行加密后的密文。
简单流密码加密
通常,加解密需要的序列是由确定性密钥流生成器产生的,初始密钥(种子)为输入
安全性
流密码的安全性完全取决于密钥的安全等级.
实用的流密码以少量的、一定长度的种子密钥经过逻辑运算产生周期较长、可用于加解密运算的伪随机序列。
同步流密码 自同步流密码
同步流
密钥流的产生与明文消息流相互独立
密钥流与明文串无关,所以同步流密码中的每个密文ci 不依赖于之前的明文mi-1,……,m1。从而,同步流密码的一个重要优点就是无错误传播:在传输期间一个密文字符被改变只影响该符号的恢复,不会对后继的符号产生影响。
自同步流
密钥流的产生与之前已经产生的若干密文有关
线性反馈移位寄存器 LFSR
反馈移位寄存器 FSR
如图为一个反馈移位寄存器的流程图,信号从左到右。a_i表示存储单元,取值为0或1,a_i的个数n称为反馈移位寄存器的级。在某一时刻,这些级的内容构成该反馈移位寄存器的一个状态,共有2^n个可能的状态,每一个状态对应于与F2上的一个n维向量,用(a_1, a_2,…,a_n)表示。函数f是一个n元布尔函数,称之为反馈函数。
*最右侧是一个输出序列,a1会输出,f代替an
LFSR
f为反馈函数
系数取值对不同形成了2^n种反馈函数
一定有1,其他相连则代表对应幂数
LFSR会有周期性(均为01,总会重复)
状态转移图(0000特殊)
若以状态转移图中任一状态作为初始状态,沿箭头所指示的路径依次取出最右边的分量还可得到另外X-1个序列。全部X个序列取自同一个状态转移图上,将这X个序列之一经过适当的移位可以得到其余任一序列,称这X个序列是移位等价的。
m序列与最大周期移位寄存器
根据LFSR的状态转移图可以看出,一个n级LFSR序列的周期最大只能为2^n-1
F2上n次多项式为联接多项式的n级LFSR所产生的非零序列的周期为2^n-1,称这个序列是n级最大的线性移位寄存器周期序列,简称m序列 .
m序列需要其特征多项式是本原多项式
p=2^n-1。将x^p+1因式分解,排除掉所有少于n次的因式,其他因式若不能整除任何x^Q+1(Q<P)则为本原。
反馈系数从右开始,最右为C0
n=3,Ci=(13)8 = 001011(1011)
n=3 Ci=23
n=7,Ci=(211)8 = 010001001
m序列只有两个圈(0和2^n-1)
伪随机序列
随机序列
假定抛掷一枚硬币,倘若出现正面,就记为1,出现反面则记为-1。反复抛掷硬币就得到一个二元随机变量序列:(IID)
联在一起的1的一段,它的两端都是-1,叫做1的游程 ,其中1的个数叫做游程的长度 .类似地,能够定义-1的游程 .类似可以定义长度为k的游程
*Golomb随机性假设(每一周期里01数量近似相等) → m序列的伪随机性
线性复杂度
线性复杂度 :能够输出该序列的最短线性移位寄存器的级数
如果序列的线性复杂度为l,则只要知道序列中任意相继的2l位,就可确定整个序列 .
基于LFSR的伪随机序列生成器
在LFSR的基础上加入非线性化的手段
滤波生成器(多一个非线性滤波函数)、组合生成器(多个LFSR)和钟控生成器(用一个或多个移位寄存器来控制另一个或多个移位寄存器的时钟,即由LFSR1来控制LFSR2的移位)
1则移位,0则重复输出
在钟控寄存器的基础上,使用多个LFSR设计交错停走式生成器
当LFSR1的输出是1时,LFSR2被时钟驱动;当LFSR1的输出是0时,LFSR3被时钟驱动。最后,LFSR1的输出与LFSR2的输出做异或运算即为这个交错式停走生成器的输出,输出的序列具有长周期和大的线性复杂度
除了LFSR之外
RC4 - 密钥调度算法 获取密钥流
输入是一个可变长度的密钥,该密钥用于初始化内部状态。初始化后对向量进行置换。RC4的输出是状态中按照一定方式选出的某一个元素K,该输出构成密钥流的一个字节,加解密时这个字节K与一个明文/密文字节执行XOR运算。
- Author:faii
- URL:https://www.faii.top/article/495b41c6-5ad3-41e9-8df0-41c373b892ef
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts