首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过使用更长的密文获得额外的安全性

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

Stack Overflow用户
提问于 2011-03-14 15:31:51
回答 3查看 334关注 0票数 2

我需要使用256位密钥对明文消息进行加密。

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

有没有一种加密方法可以在我允许密文更长的时候给我额外的安全性?

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-14 15:43:35

从理论上讲,没有办法通过将明文加密为更长的密文来获得任何额外优势。如果我天真地试图通过尝试所有可能的解密密钥来破解您的加密,那么密文的长度并不重要,因为我仍然在同一密钥空间上进行暴力搜索。在实践中,这可能会有所帮助,因为它会减慢我尝试反向加密的速度,但您不会因为拥有较长的密文而获得额外的安全性。

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

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

票数 2
EN

Stack Overflow用户

发布于 2011-03-14 15:40:37

添加随机填充可能是一个好主意,它确保相同的加密消息每次都会产生不同的密文(这样您就无法通过查看密文来判断消息是否相同)。

但8192位似乎有点杀伤力。在总数为512的情况下,多出256个就足够了。

添加任何非随机的东西应该根本不会提高安全性。

票数 1
EN

Stack Overflow用户

发布于 2011-03-14 15:42:45

不,至少不是以任何有意义的方式。256位足以使用(例如)具有256位密钥的AES。块大小固定为128位。AES是历史上最被仔细研究的密码之一,但仍然没有任何东西可以接近对它的实际攻击。您通常希望在消息中包含IV,但它实际上并不是加密消息本身的一部分(而且它的大小是一个额外的块,所以如果使用AES,它将是额外的128位)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5295880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档