密码可以比原始文本短吗?

问题描述 投票:0回答:2

我正在阅读 Jean-Philippe Aumasson 所著的《严肃的密码学》一书,书的开头有一条注释:

“对于某些密码,密文与明文大小相同;对于另一些密码,密文稍长。但是,密文永远不会比明文短。”

这对我来说似乎不正确,因为我不明白为什么密码不能压缩它正在加密的文本。 例如,我可以创建一个密码,其中每个字母映射到字母表中的 1 个字母,除了单词“THE”映射到 1,单词“IS”映射到 2。

用这个密码加密文本“The cat is old”将产生“1 dbu 2 pme”,它比原始文本短。 我有什么遗漏的吗?

编辑:我还想限制我接受的纯文本输入仅包含字母。

encryption cryptography
2个回答
3
投票

通常加密作用于无法压缩的输入。应该可以输入任何类型的消息。由于大多数现代密码都是面向位/字节的,这意味着特定位/字节大小的所有可能的消息都是可能的。

请注意,现代密码应该是 IND-CPA 安全的。这意味着任何相同大小的消息都应该返回无法区分的密文。如果您有一组特定的消息可以增加密文,那么显然它们可以与其他消息区分开来。由于鸽子洞原理,对于所有可能的消息来说当然不可能有更小的密文。

可以使用压缩算法来压缩特定类型的消息,以防您的消息集较小。但是,您应该记住,生成的密文的大小可能会将信息泄露给对手。对压缩音频流或 HTTPS 连接的攻击当然不仅仅是理论上的威胁,它们都太实际了。

请注意,即使没有压缩,密文大小也会“总是”泄漏有关明文的信息。由于上述原因,明文包含的信息毕竟必须少于特定密文大小可以编码的信息。


0
投票

“哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈,哈哈哈,

(减压)

“大声笑,大声笑,大声笑,大声笑,大声笑,大声笑,哈哈,你想象一下,因为大声笑,这个大声笑,会大声笑,大声笑,长笑,大声笑,大声笑,大声笑,但是大声笑大声笑这个密码有效 大声笑 大声笑”

  • 也许那是我不知道

© www.soinside.com 2019 - 2024. All rights reserved.