Java教程

2.1 流密码

本文主要是介绍2.1 流密码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

2.1 流密码

  • 一次一密
  • 流密码的定义
  • 同步流密码

一次一密密码

一种理想的加密方案。密钥是随机产生的,且只使用一次

如下,每一个对x加密的密钥k是不同的,以下的函数是一种加密方式,其他的还有异或等等。

优点:

  • 密钥随机产生,仅使用一次
  • 无条件安全
  • 加密和解密为加法运算,效率较高

缺点:

  • 密钥长度至少与明文长度一样长
  • 密钥共享困难
  • 不太实用

流密码的定义

流密码:明文消息按字符或比特逐个加密,又称序列密码

产生条件:主要是基于硬件实现,密钥流可以用移位寄存器电路来产生,也促进了线性和非线性移位寄存器发展

流密码基本思想

利用密钥k产生一个密钥流(就是一长串的密钥),然后对每个x依次加密。【这里的k一般是自己指定】

密钥流

流密码与分组密码的区别

区别在于流密码具有内部记忆元件,而这内部记忆原件由一组移位寄存器构成。

同步流密码

同步流密码:内部记忆元件的状态与明文字符无关的叫做同步流密码,否则叫做自同步流密码。

同步流密码体制模型

加法流密码体制模型

流密码的产生原因

一次一密密码是加法流密码的原型

如果密钥用作滚动密钥流【区别在于这里的密钥流是一大段都变化,而密钥是一个个变化】,则加法流密码就退化成一次一密密码。

密码设计者的最大愿望是设计出一个滚动密钥生成器,使得密钥经其扩展成的密钥流序列具有如下性质:

  • 极大的周期
  • 良好的统计特性
  • 抗线性分析
这篇关于2.1 流密码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!