AES128与AES256使用强力

Geo*_*rge 11 encryption combinations cryptography aes brute-force

我遇到了这个:

键组合与键大小

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

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

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

Dar*_*rer 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密钥相当.

  • 不,他错了.唯一已知的攻击仅适用于弱化版本的AES-256(9或10轮).完整的AES-256有14轮(参见https://www.schneier.com/blog/archives/2009/07/another_new_aes.html) (3认同)

Sha*_*dne 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.

  • 如果你仔细阅读,我从未说过AES128"更强".我刚才说建议使用AES128! (2认同)