AES128与AES256使用强力

时间:2013-09-17 10:37:11

标签: encryption cryptography aes combinations brute-force

我遇到了这个:

Key combinations versus Key size

我不明白AES128在强力攻击中如何强于AES256,或AES256如何允许比AES128更多的组合。

这些是我的简化前提 - 假设我的键盘上有100个独特的字符,而我理想的密码长度是10个字符 - 将会有100 ^ 10(或1x10 ^ 20)组合用于强力攻击以解密给定密文。

在这种情况下,无论是否应用AES128或AES256都没有区别 - 请更正我。

2 个答案:

答案 0 :(得分:13)

是的,你是对的(因为弱密码会否定AES128和AES256之间的差异,并使密码与密码一样复杂)。但是,当密码是密钥生成的唯一来源时,这仅适用于

在正常使用中,AES密钥由“真正的”随机源生成,而不是由简单的伪随机生成器(如C ++ rand())生成;

AES256比AES128“更安全”,因为它具有256位密钥 - 这意味着2 ^ 256个可能的暴力密钥,而不是2 ^ 128(AES128)。可能的键数量在表格中显示为“组合”。

就个人而言,我使用KeePass和20个符号及以上的密码。 使用由小+大写字母(26 + 26),数字(10)和特殊符号(大约20)组成的20个符号密码,可以给出(26+26+10+20)^20 = 1.89*10^38个可能的组合 - 与AES128密钥相当。 / p>

答案 1 :(得分:9)

  

AES128在强力攻击中如何强于AES256

AES会对每个数据块进行多轮转换,并在这些不同轮次中使用密钥的不同部分。将密钥部分用于何时的规范称为密钥计划。 256位密钥的密钥调度设计不如128位密钥的密钥调度。近年来,在将这些设计问题转化为对AES 256的潜在攻击方面取得了实质性进展。这是关键选择建议的基础。

  

AES256如何实现比AES128更多的组合

AES256使用256位,为您提供2 ^ 256的允许组合,而在128的情况下,其为2 ^ 128。

  

这些是我的简化前提 - 假设我的键盘上有100个独特的字符,我的理想密码长度为10   字符 - 粗暴的将有100 ^ 10(或1x10 ^ 20)组合   强制攻击以解密给定的密文。

我不太清楚你的理解是什么,但当你说应用AES128 / AES256时,你实际上是将密码加密成密文。它是编码信息,因为它包含一个原始明文的形式,这是一个不可读的形式。人类。它不会只使用键盘上的所有100个唯一字符。它使用的不止于此。因此,如果要获取原始密码,则必须找到加密密钥。这给你组合数字2 ^ 128 ans 2 ^ 256。