【密码学复习】第五讲 PRG和流密码(一)
OTP与伪随机数发生器
自同步流密码的优点:有限错误传播,即使接收端和发送端不同步,只要接收端能连续地接受到n个正确的密文符号,就能重新建立同步。
缺点:评估自同步流密码的安全性困难得多
在同步流密码中,密(明)文符号是独立的,一个错误传输只会影响一个符号,不影响后面的符号。
缺点:一旦接收端和发送端的种子密钥和内部状态不同步,解密就会失败,两者必须立即借助外界手段重新建立同步。
基于LFSR的PRG
移位寄存器是指有n个寄存器(称为n-级移位寄存器)R1 ,R2 ,…,Rn从右到左排列,每个寄存器中能存放1位二进制数,所有寄存器中的数可以统一向右(或向左)移动1位,称为进动1拍. 即R1的值(b1 )右移1位后输出,然后R2的值(b2 )送R1 , R3的值(b3 )送R2 ,……最后,Rn的值(bn )送Rn-1.
个寄存器移出的值是输出位,最左边一个寄存器的值由反馈函数的输出值填充,此过程称为进动1拍. 反馈函数f是n个变元(b1 ,b2 ,…,bn )的布尔函数. 移位寄存器根据需要不断地进动m拍,便有m位的输出,形成输出序列a1 ,a2 ,…,am .
Ø 线性反馈移位寄存器LFSR(linear feedbackshift register)的反馈函数为线性函数密钥流 {ki }的周期一定要大
Øn级LFSR输出的序列的最大周期是2n-1
ØLFSR的寄存器状态遍历2n -1个非零状态
Ø初始状态为全零,则输出序列为0的循环
定义 当LFSR的寄存器状态遍历2n -1个非零状态时,序列的周期达到最大2n-1,这种序列被称为m序列
定义 若n次不可约多项式p(x)的阶为2n -1,则称p(x)为n次本原多项式。
定理 {ki }是周期为2n -1的m-序列的充要条件是其特征多项式p(x)为n阶本原多项式
可以推导初始状态(初始密钥)
RC4算法
RC4使用了一个256字节大小的非线性数据表(简称S表),依据表进行非线性变换,得到密钥流. S表的值S0,S1,…,S255是数字0到255的一个排列,RC4有两个计数器I和J,初值都为0.