正如William Stallings的书中所述,PGP加密是在压缩后进行的,因为它减少了冗余。

我无法将加密强度与冗余联系在一起。有人能解释更多吗?

评论

就目前而言,这不是一个问题。这是一个解释的要求。

#1 楼

压缩至少有一种方法可以削弱安全性。它与以下事实有关:基本上,所有加密任意长消息的方法都不可避免地会泄漏有关输入长度的信息。避免此泄漏的唯一方法是在加密所有消息之前将所有消息填充到恒定长度,但是如果压缩了消息,压缩将以取决于其内容的方式更改其长度,这可能使攻击者可以获取有关基于密文长度的内容的信息。

有关此类攻击的实际示例,请参见例如Wright等人的“通过IP对话发现加密语音中的口语短语”。 (2010)。

评论


$ \ begingroup $
其目的是减少压缩后的冗余,一旦可以使用填充方案,该填充方案将在随机标记中永远不会出现的固定标记之后使用随机值。
$ \ endgroup $
– kelalaka
19年8月18日在8:38

#2 楼

从技术上讲,如果您在(全块)CFB等机密模式下使用具有新鲜随机密钥的加密安全加密算法,则无需担心纯文本的冗余,因为假定密码+模式组合即使对手已经知道明文的重要部分,也可以确保安全。某些攻击通过在加密之前压缩纯文本而稍微困难一些。例如适用于使用带64位块的任一块密码加密的非常大的纯文本。如果使用64位块,则在4GB密文中至少有一个CFB模式状态冲突的可能性约为0.5。如果纯文本块在发生时也相等,则下一个块的密文也将相等,以此类推。

#3 楼

简短的回答:“不”。最新研究表明,压缩实际上会损害安全性。

“减少冗余”是20世纪后期的一个过时的概念。直觉是,如果我们的密码很弱,我们可以通过为攻击者提供较少的信息来避免机密性的丧失。

例如,在下面来自Wikipedia的插图中,图像使用ECB模式进行了加密,但是由于ECB模式较弱且未压缩图像,我们仍然可以清楚地看到企鹅的图像:


是错误的。我们的密码实际上非常好,并且今天,对自动系统生成的消息(而不是人类编写的电子邮件)进行了很多加密。在这种情况下,压缩经常会泄漏足够的信息(通过密文的长度)以完全破坏加密。

在HTTP上下文中,这现在被称为BREACH漏洞。

评论


$ \ begingroup $
不是主要要点,如果事实证明您的密码很弱,那么在纯文本中具有重复模式真的很有帮助,如果您被告知“此文本将在消息中出现10次”,比“没有文字会出现两次”更容易。您也可以在压缩后进行填充,以免数据泄漏。
$ \ endgroup $
–丹尼尔
17年6月19日在22:35

$ \ begingroup $
@dlitz您在第一句中发布的链接完全不支持以下说法:“最新研究表明,压缩实际上损害了安全性。”这就是为什么我投反对票。
$ \ endgroup $
–爱国者
19年8月6日在4:40

#4 楼

压缩数据可以通过多种方式提高安全性。它通过翻转密​​文位来降低攻击者影响解密输出的能力。它删除了纯文本中的常规模式(它可能会创建其他常规模式,但它们不是直接的纯文本)。

OpenPGP上有许多攻击都受到压缩的阻碍。其中大多数实际上是针对CFB模式的攻击,但仍然如此。特别是Schneier-Katz攻击对压缩数据无效,因为它通过操纵密文消除了攻击者操纵明文的自由。

Jon

评论


$ \ begingroup $
“降低攻击者影响解密输出的能力”签名不应该抓住这些变化来阻止攻击吗?
$ \ endgroup $
– CodesInChaos
2012年6月20日上午8:47