什么是流加密算法(序列加密算法)?

2023年2月27日10:08:54什么是流加密算法(序列加密算法)?已关闭评论

流加密又称序列加密,是对称加密算法的一种。加密和解密双方使用相同伪随机数据流(pseudo-randomstream)作为密钥(这个密钥也称为伪随机密钥流,简称密钥流),明文数据每次与密钥数据流顺次对应加密,得到密文数据流。实践中,数据通常是一个位(bit),并用异或(xor)操作加密。

最早出现的类流密码形式是Veram密码。直到1949年,信息论创始人Shannon发表的两篇划时代论文《通信的数学理论》和《保密系统的信息理论》证明了只有“一次一密”的密码体制才是理论上不可破译、绝对安全的,由此奠定了流密码技术的发展基石。流密码长度可灵活变化,且具有运算速度快、密文传输中没有差错或只有有限的错误传播等优点。目前,流密码成为国际密码应用的主流,而基于伪随机序列的流密码成为当今最通用的密码系统,流密码的算法也成为各种系统所广泛采用的加密算法。目前,比较常见的流密码加密算法包括RC4、B-M、A5、SEAL等。

在流加密中,密钥的长度和明文的长度是一致的。假设明文的长度是n比特,那么密钥也为n比特。流密码的关键技术在于设计一个良好的密钥流生成器,即由种子密钥通过密钥流生成器生成伪随机流。通信双方交换种子密钥即可(已拥有相同的密钥流生成器),具体可见图3-2所示。

什么是流加密算法(序列加密算法)?

图3-2

伪随机密钥流(Pseudo-Random-Keystream)由一个随机的种子(seed)通过算法(Pseudo-Random Generator, PRG)得到,用k作为种子、G(k)作为实际使用的密钥进行加密解密工作。为了保证流加密的安全性,PRG必须是不可预测的。

设计流密码的一个重要目标就是设计密钥流生成器,使得密钥流生成器输出的密钥流具有类似“掷骰子”一样的完全随机特性。实际上,密钥流不可能是完全随机的,通常主要从周期性、随机统计性和不可预测性等角度来衡量一个密钥流的安全性。

鉴于流密码在军事和外交保密通信中有重要价值,因此通常在各国核心要害部门使用,并且各国政府基本都把流密码算法的出口作为军事产品的出口加以限制。允许出口的加密产品对其他国家来说已不再安全。这使得学术界对于流密码的研究成果远远落后于各个政府的密码机构,从而限制了流密码技术的发展速度。幸运的是,虽然还没有制定流密码的标准,但是流密码的标准化、规范化、芯片化问题已经引起各国政府和密码学家的高度重视并开始着手进行改善,以便能为赢得高技术条件下的竞争提供信息安全保障。目前公开的对称算法更多的是分组算法,比如SM1和SM4等。

  • A+
所属分类:JAVA
  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。