挑戰(zhàn)隨機序列---懸賞破解基于PRNG的Hacker
5年前,寫過一篇偽隨機序列的文章
http://www.nsfocus.net/index.php?act=magazine&do=view&mid=990
這篇文章是從TCP/IP協(xié)議層一個廣為人知的TCP Spoof攻擊方法說起,深入地討論偽隨機數(shù)PRNG原理及其設(shè)計方法。
Secure PRNG并不容易設(shè)計,Knuth經(jīng)常教導(dǎo)我們,計算機本身不能產(chǎn)生安全的隨機數(shù),當(dāng)你看到一串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? 開始重新來過!
我不認為這是一個笑話,隨機數(shù)理論被認為是密碼學(xué)領(lǐng)域里面的第一要素。為什么我們需要隨機數(shù)來確保信息的安全性?因為如果沒有隨機特性,所有的加密算法將變成白癡算法。
我舉一個很簡單的事實:
世界上有很多恐怖分子,他們不依賴于BBS/移動電話/電子郵件而能夠阻止策劃恐怖活動,靠的就是協(xié)議。
有人認為,密碼協(xié)議可能會其作用,但拉登很難通過公眾渠道向他的部屬發(fā)送指令,在互聯(lián)網(wǎng)上,他們以賴于一些信息隱藏技術(shù)來傳達指令。在這種情況下,密碼協(xié)議的作用通常不大,因為密碼協(xié)議是Protect信息本身,它無法Protect密碼協(xié)議的對等實體。信息隱藏技術(shù)通常稱之為水印技術(shù),它最終被引用于信息版權(quán)領(lǐng)域,它可以防止你盜用別人的圖庫并用于你的客戶,改用途已經(jīng)被恐怖分子所利用。他們光明正大地在論壇,網(wǎng)站,郵件中抄送一些看上去很普通的圖片(或者文本),然而,恐怖分子的行動通過圖片放到AOL的貼圖區(qū),7月3日,你看到名為littlegirl用戶發(fā)了一個美女圖片,你毫不在意,但圖片中嵌入了:"自殺式炸彈將于7月4日襲擊美國駐約旦大使館!"
這樣的協(xié)議非常依賴于恐怖分子如何在圖像中嵌入信息(先不討論密碼技術(shù)),這里一個非常重要的原則是,每次嵌入信息到圖片中,每Byte信息在圖像中的位置是隨機的(這是一個非常重要的原則!),否則NSA必定可以輕松察覺這些圖片的規(guī)律。
為了拋磚引玉,我提出這樣一個小游戲,懸賞破解隨機數(shù)序列的Cracker。
游戲是這樣的:
我使用Java的隨機數(shù)PRNG(算法是SHA1PRNG)生成一個基礎(chǔ)序列,然后,我按照這個序列嵌入信息到一個PNG流中去。
請你根據(jù)未嵌入隨機序列的圖像和已嵌入隨機序列的圖像,來判斷其余圖像中的隨機序列。
1,我將一個字符串變成通用的Bytes數(shù)組
2,Byte數(shù)組按Byte嵌入到帶Alpha通道的ARGB PNG流中(即32Bit的支持透明的PNG圖像)
3,我告訴你前7組(原圖和嵌入了內(nèi)容的圖像
4,我提供一組未知嵌入內(nèi)容的圖像
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組
請問第九組嵌入的內(nèi)容是什么?
提示:在上述嵌入算法上,并沒有涉及密碼算法,即嵌入內(nèi)容只是被簡單地寫入到PNG圖片中去。
posted on 2006-06-13 09:44 david.turing 閱讀(3971) 評論(5) 編輯 收藏