文章横幅PC版
文章横幅iPad版
文章横幅手机版

流密码的特点与分类

TIME:2019-03-21 10:36  click: 587 次 来源: 未知

按照现代密码学的观点,可以将密码体制分为对称密码体制和非对称密码体制; 对称加密算法又分为分组密码和流密码。在分组密码中, 一般将消息分成固定长度的明文块来逐块进行加密;而流密码则可较容易地实现任意长度消息的加密。流密码使用一个时变函数来对每一个消息符号进行加密,相比于分组密码, 流密码在理论和应用上具有一些无可比拟的优势。

流密码的实现非常简单,便于软硬件实施,同时流密码加密和解密的速度都很快, 没有或只有有限的错误传播。这些特点使得流密码在实际中得到了广泛的应用,特别是在政府、军事及外交部门,流密码的应用几乎占据了主导地位。 1949 年Shannon 证明了一次一密体制在唯密文攻击下是理论上不可破译、绝对安全的,这可看成是最早的流密码方案;然而,为了建立一次一密的密码系统, 通常需要在安全信道上交换传输一个其长度至少和明文一样长的密钥,这在很多情况下是不现实和不经济的,在密钥的产生和管理方面也面临着许多复杂问题, 很容易造成各类安全隐患。这也许就是后来人们设计各种流密码算法来代替一次一密体制的主要动因,亦即各种流密码算法本质上都是对于一次一密体制的模仿, 同时消除了密钥产生、分配和管理维护中的各类问题;流密码所产生的密钥流至少要做到看起来“很像”随机比特序列,且恢复算法的初始状态和密钥、或者将算法及其密钥流与随机情况区分开来都是在一定计算能力与许可范围内困难的。安全高效流密码的设计与分析一直都是密码学领域中核心研究方向与问题之一。

流密码一般可分为同步流密码和自同步流密码两大类。在同步流密码中, 生成的密钥流和发送的明文消息之间相互独立,其内部状态仅仅依赖于上一时刻的内部状态,与输入明文无关。同步流密码的优点在于其有限的错误传播,当一个符号在传输过程中发生错误后不会影响到后续的符号。而自同步流密码的密钥流则依赖于之前的明/密文信息,常见的有类似于分组算法密文反馈模式的自同步流密码,即密文参与密钥流的生成过程, 这使得这类流密码的安全性从理论上分析起来非常困难,也造成这类算法的设计非常稀少。目前常见的大多数流密码算法都是同步流密码,因其设计上的可分析性,使得设计者在设计过程中能够更好的理解自己所设计的流密码方案对于已知甚至某些未知攻击的抵抗力。从总体上说,一个流密码的安全性在很大程度上取决于其所采用的密钥流生成器, 由于以线性反馈移位寄存器为研究对象的伪随机序列代数理论的成熟,上世纪50、60 年代以来的大量流密码设计多是基于线性反馈移位寄存器(LFSR)而设计, 例如美国未公开的Fibonacci 生成器、E0、A5/1 等。另一方面,由于LFSR 的线性性质对于密码分析没有任何免疫力,如Berlekamp-Massey算法等, 需要采用各种非线性部件来显式或隐式地掩盖线性性质与增强其非线性性,常见的方法有非线性组合、非线性滤波、不规则钟控、带记忆及其各种组合方式等。有学者给出了这一类流密码设计的一些方法和准则, 比如著名的线性驱动部件加非线性组合部件的设计范式。这些代表了传统的流密码设计思路及其衍生准则,其中一些已经很少见,另外一些的影响则仍然存在。

 

上一篇:密钥安全与虚拟化技术 下一篇:虚拟化平台中密钥直接攻击途径