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