首页
社区
课程
招聘
[求助]md5对抗部分已知明文/部分选择明文攻击效果如何
发表于: 2012-8-6 17:35 9922

[求助]md5对抗部分已知明文/部分选择明文攻击效果如何

2012-8-6 17:35
9922
现在很多APP使用md5(请求参数+时间+app_key)的方式来验证app的合法性
而其中的请求参数,时间还有md5的结果对用户来说是可见甚至是可控的,那么对X阔来说,这是一个部分已知明文或者部分选择明文的MD5,在此弱问一下:
在请求参数可控,时间范围基本可控,能获取散列后的值的前提下,要计算app_key可行么,或者说md5对抗选择明文攻击的效果如何
记得以前看到某密码学书记扯过,但是书放童鞋那里了。。。。。等不到了。。。。
=====可耻的分割线=====
在楼主的条件下
app_key是一个128 bits大整数的32位16进制表示,其实它就是一个md5
$app_key = "$user_id".time().rand(1000,9999);
$app_key = md5($app_key);
这里user_id未知,但是可以猜测,time也基本可以猜测
似乎问题就转化为了暴力猜解app_key

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 962
活跃值: (1756)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
基本上不可行。不用想了,MD5碰撞是要求长度不限的情况才行
2012-8-6 18:42
0
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
加盐以后的md5无法破解
2012-8-6 18:46
0
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
如果盐是随机的,更加不可破解。
如果盐是相对固定的,比如楼主所说盐=请求参数+时间,那么楼主构造一个MD5的明码库,
比如从"请求参数+时间"+0直到“请求参数+时间”+999999(六位)或者+abcdef直到ZZZZZZ(意思是所有六位可能密码)这么多的密码先算出其MD5的值,那么可以查这个MD5的数据库就可以知道密码了,可是,这也仅仅是6位密码而已,如果是8位,10位,12位呢?那么这个库的规模很恐怖,显然不可能在现实中实现。
2012-8-6 18:50
0
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不是碰撞,你没看清问题
2012-8-6 19:02
0
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我说的不是+salt数据库的问题,我说的是md5算法本身对抗部分已知明文和部分选择明文攻击的能力问题
2012-8-6 19:03
0
游客
登录 | 注册 方可回帖
返回
//