序列密码

序列密码

序列密码所使用的加解密器是模2加法器,所以序列密码工程的实现很方便。

关键在于产生密钥序列算法。 (通过种子密钥 产生 无限长度的伪随机序列)

这个密钥序列算求要求能良好随机性不可预测性的伪随机序列。

 

随机要求:

周期为r的0-1序列的随机性公设如下:

1)当r为奇数,要求0出现的次数和1出现的次数相等;当r为偶数,要求0出现的次数比1出现的次数多一次或者少一次。

2)在长度为r的周期内,长为1的游程的个数为游程总数的1/2,长为2的游程的个数占游程总数的1/22,…长为c的游程的个数占总游程的1/2c.而且.对于任意长度,0的游程个数和1的游程个数相等。

注:称二元序列中连续i个1组成的子序列为长度等于i的1游程,连续i个0组成的子序列为长度等于i的0游程。

例:011011101中,4个游程长度为1,1个游程长度为2,1个游程长度为4。

3)异相自相关函数是一个常数

设一个周期为r的序列:a1,a2,a3...,ar,ar+1,ar+2...

将序列平移T位得到另外一个序列:aT,aT+1,...ar+T,ar+t+1...

若ai=ai+T,则称对应的第i位相等。

设两个序列相同位的个数为n,不同位的个数为d,则R(T)=(n-d)/r为自相关函数

 

同步流密码:在同步流密码中,密/明文符号是独立的,一个错误传输只会影响一个符号,不会影响后面的符号

缺点:一旦接收端和发送端的种子密钥和内部状态不同步,解密就会失败,两者必须立即借助外界手段重新建立同步。(所以在大规模民用上比较困难)

 

自同步流密码

优点:即使接收端和发送端不同步,只要接收端能连续地正确地接收到n个密文符号(n为寄存器长度),就能重新建立同步。因此自同步流密码具有优先的差错传播,且分析较同步流密码的分析困难得多。

例子:一段声音 突然中断 或者 一张图片 出现马赛克

 

CFB模式是自同步流密码 ; OFB模式和CTR模式是同步流密码

posted @ 2020-05-04 15:22  SjYu  阅读(682)  评论(0编辑  收藏  举报