序列密码

序列密码

引言

  • 序列密码又称流密码,它是将明文串逐位地加密成密文字符。并有实现简单、速度快、错误传播少等特点。
  • 密码按加密形式可分为:
    • 分组密码
    • 序列密码
  • 密码按密钥分为:
    • 对称密码(私钥密码)
    • 非对称密码(公钥密码)
  1. 加解密算法
  • 明文序列:m=m1m2……mn……
  • 密钥序列:k=k1k2……kn……
  • 加密:ci=mi+ki,i=1,2,3,……
  • 解密:mi=ci+ki,i=1,2,3,……
  • 注:+模2加,0+0=0,0+1=1,1+0=1,1+1=0
  • 例 m=101110011,
  • c=m+k=111000110,
  • m=c+k=101110011.

1949年,Shannon证明了“一次一密”密码体制是绝对安全的。如果序列密码使用的密钥是真正随机产生的,与消息流长度相同,则是“一次一密”体制。但缺点是密钥长度要求与明文长度相同,现实情况中不可能实现,故现实中常采用较短的种子密钥,利用密钥序列生成器产生一个伪随机序列。

序列密码的原理

分组密码与序列密码都属于对称密码,但两者有较大的不同:

  1. 分组密码将明文分组加密,序列密码处理的明文长度为1bit;
  2. 分组密码算法的关键是加密算法,序列密码算法的关键是密钥序列生成器。
  3. 序列密码分类
    同步序列密码
  • 密钥序列的产生仅由密钥源及密钥序列生成器决定,与明文消息和密文消息无关,称为同步序列密码。
    • 缺点:如果传输过程中密文位被插入或删除,则接收方与放送方之间产生了失步,解密即失败。
      自动同步序列密码
  • 密钥序列的产生由密钥源、密钥序列生成器及固定大小的以往密文位决定,称为自同步序列密码(非同步密码)。
    • 优点:如果密文位被删除或插入时,可以再失去同步一段时间后,自动重新恢复正确解密,只是一些固定长度的密文无法解密。
  1. 密钥序列生成器的要求(key generation)
  • 种子密钥k的长度足够大,一般128bit以上,防止被穷举攻击;
  • 密钥序列{ki}具有极大的周期性
    现代密码机数据率高达10^8 bit/s,如果10年内不使用周期重复的{ki},则要求{ki}的周期T>=3*106或255;
  • 良好的统计特征。在一个周期内0、1游程的频率大抵相当;
  • 用统计方法由{ki}提取KG的结构或K的信息在再计算上是不可信的。
  • 满足混乱醒、扩散性
posted @ 2020-03-11 11:41  insist钢  阅读(1826)  评论(0编辑  收藏  举报