UG活动将于6月3日举行,关于安全的topic分三部分:1,密码学;2,PKI;3,Java Security,4,Weblogic Security
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组 第2组第3组第4组第5组第6组第7组第8组第9组请问第九组嵌入的内容是什么?提示:在上述嵌入算法上,并没有涉及密码算法,即嵌入内容只是被简单地写入到PNG图片中去。
posted on 2006-06-13 09:44 david.turing 阅读(20) 评论(0) 编辑 收藏 收藏至365Key 所属分类: 随机数序列(伪随机)Java实现