【文章】9.5 自同步序列密码 - 密钥流发生器

admin 2021年4月3日18:54:24评论50 views字数 789阅读2分37秒阅读模式

9.5 自同步序列密码

    自同步序列密码就是密钥流的每一位是前面固定数量密文位的函数[1378]。军方称为密文自动密钥(CTAK)。其基本思想是在1946年成形的[667]。

    图9.8描述了其工作原理。其中,内部状态是前面n比特密文的函数。该算法的密码复杂性在于输出函数,它收到内部状态后生成密钥序列位。

    因为内部状态完全依赖前面n个密文位,所以解密密钥流发生器在收到n个密文位后自动跟加密密钥流发生器同步。

    在该模式的智能化应用中,每个消息都以随机的n位报头开始。这个报头被加密、传输、解密,在n位密文之前整个解密是不正确的,直到之后两个密钥流发生器同步。

    自同步密码的缺点是错误扩散。对传输中每一个密文位被窜改,解密密钥流发生器就有n位密钥流位不能正确生成。因此,一位密文错误就会导致n位相应的明文错误,直到内部状态里面不再有该错误位。

安全问题

    自同步序列密码算法同样对回放攻击很敏感。Mallory先记录下一些密文位。接着,一段时间后他就用这些记录代替当前数据流。在一些初始位过后,当收端重新同步时,一些旧的密文仍正常的解密。接收端没有办法知道它是不是当前数据,但旧的数据则可以被回放。如果不用时间邮戳,Mallory就可以回放相同的信息(当然假定密钥还没被更换)使银行相信并将大笔的钱一遍又一遍的存入自己帐户。在频繁再同步情况下,该方案的还有其它可利用的弱点[408]。

图 9.8 自同步密钥流发生器

文章来源于lcx.cc:【文章】9.5 自同步序列密码 - 密钥流发生器

相关推荐: 【VB】CopyMemory - 复制内存函数详解

    VB CopyMemory() 函数功能详解 函数声明:     Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Sour…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月3日18:54:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【文章】9.5 自同步序列密码 - 密钥流发生器https://cn-sec.com/archives/319138.html

发表评论

匿名网友 填写信息