挑戰隨機序列---懸賞破解基于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組
第2組
第3組
第4組
第5組
第6組
第7組
第8組
第9組
請問第九組嵌入的內容是什么?
提示:在上述嵌入算法上,并沒有涉及密碼算法,即嵌入內容只是被簡單地寫入到PNG圖片中去。
posted on 2006-06-13 09:44 david.turing 閱讀(3960) 評論(5) 編輯 收藏