密码学 - 流密码



流密码通过对数据流的每个比特逐一应用密钥和算法来加密文本。相比之下,分组密码一次处理多个比特的数据块。流密码主要用于一次加密一个字节(8位)。

由于流密码是线性的,因此消息使用相同的密钥进行加密和解密。虽然破解它们很困难,但黑客必须设法做到这一点。

在此,密钥流(一系列随机比特)是从密钥生成的。为了加密数据流,每个比特都与密钥流中的等效比特进行异或 (XOR) 运算。

它是如何工作的?

流密码使用公共密钥(“对称密钥”)来编码其数据。数据的加密和解密过程由该对称密钥处理。与公钥密码不同,流密码使用一个密钥进行加密和解密,无需为每个任务使用不同的密钥(例如,使用一个密钥加密,另一个密钥解密)。

密码学方法通常通过对其进行混淆来隐藏数据免受未授权访问。但是,流密码的不同之处在于它逐位处理数据,而分组密码则对称为块的数据集合进行操作。

流密码涉及

  • 明文 - 要加密的原始消息。

  • 密钥流 - 替换明文字符的随机字符序列(例如,数字、字母、符号)。

  • 密文 - 加密的消息。密钥生成是一个复杂的数学运算,但现代计算机可以快速执行它。

在流密码中,明文的单个比特被输入并进行数学运算。结果是需要正确密钥才能解码的混淆文本。

使用正确的密钥,接收者可以反转该过程并将混淆的文本转换回其明文。

在流密码加密中,称为一次性密码的密钥由于其独特的属性而非常安全。它被设计成与要加密的消息长度相同,确保攻击者如果没有原始密钥,就无法通过数学方法解密消息。

Stream Cipher

密钥流生成

让我们看看使用基于 XOR 的流密码创建密钥流的基本示例。

假设我们有以下数据:

  • 密钥:101011

  • 初始化向量 (IV):110100

创建加密数据流(密钥流)

  • 使用密钥和初始化向量 (IV) 设置加密算法。

  • 如果需要,调整密钥和 IV 与要加密的消息长度相同。

  • 使用异或 (XOR) 运算组合密钥和 IV 以生成密钥流。

以下是分步过程:

  • 密钥:101011

  • IV:110100

密钥流:011111

现在,假设我们有一个明文消息:1100101。

要使用密钥流加密此明文:

  • 明文:1100101

  • 密钥流:011111

密文:1011010

要解密密文,我们将使用相同的密钥流:

  • 密文:1011010

  • 密钥流:011111

明文:1100101

此示例说明如何生成密钥流,然后使用密钥和初始化向量对消息进行编码和解码。为了更好的安全性,实际应用中使用了更复杂的方法和更大的密钥大小。

流密码类别

流密码分为两大类,其机制略有不同:

同步流密码 - 使用密钥生成与明文和密文无关的密钥流。

自同步流密码 - 使用密钥和附加随机化来增强针对黑客攻击的安全性。

另一种加密选项是分组密码,它将消息分成较小的块,并将加密算法应用于每个块。

流密码的优点

以下是流密码的一些优点

  • 快速加密和解密:流密码以单个比特或字节的速度加密和解密数据,使其成为实时通信和高要求应用的理想选择。

  • 低硬件要求:流密码可以轻松地在简单的性能(例如 XOR)硬件中实现,允许它们在各种设备和系统上高效地实现。

  • 选择性访问:流密码提供选择性地解密加密数据的特定部分的能力,这在需要访问或修改特定部分而无需解密整个消息时很有用。

流密码的缺点

以下是流密码技术的某些缺点:

  • 已知明文攻击的漏洞 - 已知明文攻击对流密码有害。攻击者在拥有明文和密文(包括加密消息)的部分时,可以识别加密密钥流。这可能会泄露受保护的数据。

  • 缺乏扩散 - 流密码扩散性差。当明文发生轻微变化时,密文也只会发生轻微变化。这使得攻击者更容易研究模式,并可能恢复原始消息,即使他们不知道加密密钥。

流行的流密码

一些流行的流密码是:

  • RC4 - 由于其快速且易于使用,RC4 以前广泛用于 SSL/TLS 和 WEP/WPA 协议中,但由于安全漏洞而过时。

  • Salsa20 - Daniel J. Bernstein 开发的 Salsa20 以其效率和安全性而闻名。安全通信和磁盘加密等应用程序经常使用它。

  • ChaCha - ChaCha 是 Salsa20 的一个较新版本,旨在更好地扩散并防止某些攻击。它经常用于 TLS 和 VPN 等协议中。

  • HC-128 - Hongjun Wu 的流密码提供卓越的效率和强大的安全性。它在能力有限的设备(如手机)中有效工作。

  • Grain - Martin Hell 和 Thomas Johansson 开发了这种轻量级流密码。在硬件中实现时,它特别高效,使其成为 RFID 标签和传感器网络等应用的理想选择。

广告