David.Turing's blog

 

挑战随机序列---悬赏破解基于PRNG的Hacker

5年前,写过一篇伪随机序列的文章
http://www.nsfocus.net/index.php?act=magazine&do=view&mid=990
这篇文章是从TCP/IP协议层一个广为人知的TCP Spoof攻击方法说起,深入地讨论伪随机数PRNG原理及其设计方法。
Secure PRNG并不容易设计,Knuth经常教导我们,计算机本身不能产生安全的随机数,当你看到一串3193  337  7511  3013  784  1707  7139  2721  4078  7814  1942  4236  4964  6859  3756  5277  2806  7207  5792  5599  6955  2538  8146  3736  4295  3378  1754  2958  6365  2721  8798  178  1773  5128  1766  5947  6987  874  9263  7792  4746  3576  7238......
你觉得非常得意,但这串东西最终会回滚,然后又从3193  337  7511  3013  784  开始重新来过!

我不认为这是一个笑话,随机数理论被认为是密码学领域里面的第一要素。为什么我们需要随机数来确保信息的安全性?因为如果没有随机特性,所有的加密算法将变成白痴算法。
我举一个很简单的事实:
世界上有很多恐怖分子,他们不依赖于BBS/移动电话/电子邮件而能够阻止策划恐怖活动,靠的就是协议。
有人认为,密码协议可能会其作用,但拉登很难通过公众渠道向他的部属发送指令,在互联网上,他们以赖于一些信息隐藏技术来传达指令。在这种情况下,密码协议的作用通常不大,因为密码协议是Protect信息本身,它无法Protect密码协议的对等实体。信息隐藏技术通常称之为水印技术,它最终被引用于信息版权领域,它可以防止你盗用别人的图库并用于你的客户,改用途已经被恐怖分子所利用。他们光明正大地在论坛,网站,邮件中抄送一些看上去很普通的图片(或者文本),然而,恐怖分子的行动通过图片放到AOL的贴图区,7月3日,你看到名为littlegirl用户发了一个美女图片,你毫不在意,但图片中嵌入了:"自杀式炸弹将于7月4日袭击美国驻约旦大使馆!"

这样的协议非常依赖于恐怖分子如何在图像中嵌入信息(先不讨论密码技术),这里一个非常重要的原则是,每次嵌入信息到图片中,每Byte信息在图像中的位置是随机的(这是一个非常重要的原则!),否则NSA必定可以轻松察觉这些图片的规律。
为了抛砖引玉,我提出这样一个小游戏,悬赏破解随机数序列的Cracker。

游戏是这样的:
我使用Java的随机数PRNG(算法是SHA1PRNG)生成一个基础序列,然后,我按照这个序列嵌入信息到一个PNG流中去。
请你根据未嵌入随机序列的图像和已嵌入随机序列的图像,来判断其余图像中的随机序列。
1,我将一个字符串变成通用的Bytes数组
2,Byte数组按Byte嵌入到带Alpha通道的ARGB PNG流中(即32Bit的支持透明的PNG图像)
3,我告诉你前7组(原图和嵌入了内容的图像
4,我提供一组未知嵌入内容的图像
6,如果你答对了,你将挑选一份Dev2dev的礼物(http://dev2dev.bea.com.cn/bbs/gift!default.jspa

另外,我在第1组到第8组图片(见下面的图片)中都随机嵌入了

sex  is   not  sexy,  check  his link  on  http: // unruledboy.cnblogs.com /

注意:左边是原图,右面是嵌入了上述信息的图片
第1组

0.png 0_sig.png
第2组
1.png1_sig.png
第3组
2.png2_sig.png
第4组
3.png3_sig.png
第5组
4.png4_sig.png
第6组
5.png5_sig.png
第7组
6.png6_sig.png
第8组
7.png7_sig.png


第9组
8.png8_sig.png
请问第九组嵌入的内容是什么?

提示:在上述嵌入算法上,并没有涉及密码算法,即嵌入内容只是被简单地写入到PNG图片中去。

posted on 2006-06-13 09:44 david.turing 阅读(3633) 评论(5)  编辑  收藏

评论

# re: 挑战随机序列---悬赏破解基于PRNG的Hacker 2006-06-18 23:24 Hefe

对你研究的内容非常感兴趣,可以交流一下吗?MSN:hefehoo@hotmail.com  回复  更多评论   

# re: 挑战随机序列---悬赏破解基于PRNG的Hacker 2006-06-19 09:22 david.turing

@Hefe
我目前做了一些改善,比如通过LSB来改善图像质量,你看到上面的图片上是有一些很微细的点,经过LSB处理,会感觉不到水印的存在。  回复  更多评论   

# re: 挑战随机序列---悬赏破解基于PRNG的Hacker 2006-10-15 17:29 曲静波

能否对你的研究多给出点资料呢.msn:qu.jingbo@hotmail.com,十分感谢.  回复  更多评论   

# re: 挑战随机序列---悬赏破解基于PRNG的Hacker 2006-12-12 16:43 tonney_lee

能否多给点资料呢 谢谢 msn:liyizao@163.com  回复  更多评论   

# re: 挑战随机序列---悬赏破解基于PRNG的Hacker 2008-01-24 13:57 kemaliu

hehe...ms很高深。。
其实怎么讲呢。。。你给的这个命题本身就是不完全的命题,做法也不对
比如,你没有告诉我,在进行了加权的加权值是不是固定,或说是按某一种随机数或者字符编码进行加权。。
如果是按随机数进行加权,有个0加权的情况存在,这是必须考虑的
其次,你把生成的图像进行了滤镜处理,这对水印恢复是一个大忌
任何一种水印算法,能从被处理成1bit的灰度图中提取水印么?
总有一个水印恢复的抗干扰强度
而且你要别人在不知道你编码以及水印算法的前提下进行算法逆推,还过了一道滤镜
的确,还是有可能逆推出来的。。
只不过。。。。有这个能力的人应该也懒得解这种没什么意义的题  回复  更多评论   


只有注册用户登录后才能发表评论。

网站导航:
 

导航

统计

常用链接

留言簿(107)

我参与的团队

随笔分类(126)

随笔档案(155)

文章分类(9)

文章档案(19)

相册

搜索

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜