关于AES加密算法的疑惑
程序员吧
全部回复
仅看楼主
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
level 1
星际足联 楼主
强行扩展成256位的Rijndael,然后用随机数补齐,密文好歹看起来正常一些了!
2016年02月09日 12点02分 2
level 7
当你破解出一个再说吧。。说得这么简单[滑稽]
2016年02月09日 13点02分 3
level 12
请问楼主,密钥是干什么的。
2016年02月09日 14点02分 4
1