security - 通过使用更长的密文获得额外的安全性

标签 security language-agnostic encryption

我需要使用 256 位 key 加密明文消息。

密文可以是任意长度(不等于明文长度)

当我允许密文更长时,是否有一种加密方法可以为我提供额外的安全性?

例如:将 256 位明文编码为 8192 位密文比将其编码为 256 位密文更安全。

最佳答案

从理论上讲,将明文加密为更长的密文并没有任何额外的好处。如果我天真地尝试通过尝试所有可能的解密 key 来破解您的加密,那么密文的长度并不重要,因为我仍在对同一 key 空间进行强力搜索。实际上,这可能会有所帮助,因为它会减慢我反转加密的尝试,但使用较长的密文并不会获得额外的安全性。

这样做的原因是,破解密码(不攻击密码本身)的难度在于尝试探索整个 key 空间来解密。如果您的密文较长,但仍然可以使用 256 位 key 解密,那么我必须搜索的空间并不比开始时大。

现在,如果您通过某种方式引入更大的 key 空间(例如,通过选择四个随 secret 钥并使用每个 key 加密消息的不同部分)来使密文更长,那么您确实会获得额外的安全性,因为尝试解密消息时我必须搜索的 key 现在要大得多。

关于security - 通过使用更长的密文获得额外的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5295880/

相关文章:

PHP - 你如何清理你的联系表格?

用于查找满足 w+x = y+j 的 (x,y,z,j) 的所有组合的算法,其中 w,x,y,j 是 -N...N 之间的整数(含)

c# - aspnet_Membership 表中有解密密码的方法吗?

language-agnostic - 编程教程的工具?

visual-studio - 保护自己的开发人员的代码

java - 如何在 Java 中创建安全的随机 AES key ?

ssl - Fiddler - 无法解密 SSL 流量 - 未指定的 CryptographicException

c-String 漏洞

algorithm - 检测网页抓取的方法

java - 访问被拒绝(java.net.SocketPermission 127.0.0.1 :8080 connect, 解析)