level 1
星际足联
楼主
不知道吧里有没有人研究过AES加密算法,这几天在学习AES加密算法,发现一个很严重的问题!
那就是AES的分组是128位,128位说短不短,其实也就4个无符号整数,但是我们知道一个字符也要占一个无符号整数位,那么问题就来了:
AES加密一次加密只能加密128位的数据,也就是一次加密只能加密4个字符!关键是,在密码一定的情况下,AES的密文是不变的,也就是两次加密ABCD,得到的密文是一样的。
如果知道了加密数据的类型:比如英文文本,那么所有英文加标点也不会超过128个数,那么4个英文数据的组合也最多才268,435,456种可能,这样很容易不需要知道密码就能破解密文了。
如果分组是256位,那么就是8个字符,加上一个长度位,复杂度为:3,940,649,673,949,184,也才4000个TB,事先生成这些数字组合,估计也就几天功夫就破解了。
哪位大牛帮我看看是不是这样的?
2016年02月09日 11点02分
1
那就是AES的分组是128位,128位说短不短,其实也就4个无符号整数,但是我们知道一个字符也要占一个无符号整数位,那么问题就来了:
AES加密一次加密只能加密128位的数据,也就是一次加密只能加密4个字符!关键是,在密码一定的情况下,AES的密文是不变的,也就是两次加密ABCD,得到的密文是一样的。
如果知道了加密数据的类型:比如英文文本,那么所有英文加标点也不会超过128个数,那么4个英文数据的组合也最多才268,435,456种可能,这样很容易不需要知道密码就能破解密文了。
如果分组是256位,那么就是8个字符,加上一个长度位,复杂度为:3,940,649,673,949,184,也才4000个TB,事先生成这些数字组合,估计也就几天功夫就破解了。
哪位大牛帮我看看是不是这样的?