<noscript id="lol87"></noscript>
  • <form id="lol87"><td id="lol87"></td></form>
    <optgroup id="lol87"><tt id="lol87"><pre id="lol87"></pre></tt></optgroup>
    <optgroup id="lol87"><th id="lol87"><span id="lol87"></span></th></optgroup>
    1. 
      
      • <rt id="lol87"></rt>
        <span id="lol87"><del id="lol87"></del></span>
        回復(fù)

        詳解維熱納爾密碼

        樓主: 4679 | 查看: 6萬 | 回復(fù): 105

        發(fā)表于 2009-7-23 22:08:13
        本帖最后由 偵銘の印 于 2009-7-24 11:52 編輯

        寫在前面:本文所有的密碼資料不是原創(chuàng),但為了更加簡潔的介紹此密碼,本人用自己的語言對密碼進行了解釋,這樣能讓大家更好的掌握。以下內(nèi)容全部為本人親手輸入。

        本文介紹的是維熱納爾密碼,這是由意大利佛羅倫薩的里昂巴蒂斯特•阿爾伯特提出的一種多字母的替換式密碼,關(guān)鍵是,用兩個或兩個以上的密碼表交替使用來進行加密,經(jīng)過后人的努力,最終維熱納爾密碼成型。其主要構(gòu)成是維熱納爾方陣:


        它的明碼表后有26個密碼表,每個表相對前一個發(fā)生一次移動。簡單說,如果只用其中一個密碼表進行加密,那就是凱撒密碼!但是,如果用方陣中不用的幾個字母同時加密,它就變得很強大了。本人來舉個例子,用關(guān)鍵詞FOREST來加密Better to do well than to say well.


        (看維熱納爾方陣第5行,是F開頭,明文是b,所以用G來加密;同理,第14行,O開頭,明文是e,所以用S來加密,如此類推……)


        大家會想,維熱納爾密碼既客服了頻率分析,又具有數(shù)目眾多的密鑰,發(fā)送者和接受者可以使用字典任何一個單詞,或詞組,甚至是虛構(gòu)的單詞作為關(guān)鍵詞來加密,那如此復(fù)雜的密碼,我們怎么去破解呢?此密碼流行于19世紀(jì),不過,也正是在19世紀(jì),查爾斯•巴比奇,一個性格古怪的天才將其破解了。

        讓我們來看看解密的過程。

        首先,看看剛才那段被加密的文字。


        認真觀察可以看到,to兩次被加密為YC,因為它兩次都是用FO來進行加密的,關(guān)鍵詞正好輪回了2此,而這種重復(fù),就是解開維熱納爾密碼的突破點。

        導(dǎo)致這種重復(fù),有兩種可能。

        1、明文中的相同字母序列(如上面的to),被相同的關(guān)鍵詞加密(如FO);
        2、明文中不同的字母序列,剛好被不同的關(guān)鍵詞加密成同樣的密文,純屬巧合。
        但是,假如我們限制在長序列的范圍內(nèi)考慮的話,那第二種可能性就大大的降低了,這種情況下,我們多數(shù)考慮4個字母或者4個以上的重復(fù)序列。如下面的密文:

        I S W Z P N Q C K M Y Y Y J K A Y Y E Z F F S W E E S S P G Z X Q A H F
        I S W Z P N Q C K M T V Y J O A C V E H A E S A Z R L T P Q I Z M X O T
        Q S W M C V U D S I J G G D E U W A Z R S F X W I L K U E J Q L D A C B
        G D L Y J X M Y L M D Q K Z M P L D I L Q E M W F S W D P A Z E Z Q N W
        D Y W D Z X F S A E E A Z J D U E L V P T M C E K W S E E F U R Z F S W
        D P X A C Q A F K M X W A W V E Z F S D B G D L A Y U Q X G D P E K W S
        E E F U R Z F S W D P O U E Z K Z M Y L Q N P Q Q D E M J T Q Y G U V A
        Z O G R W A W P V U E Q A F J Q J G G C O M J Z A H Q A F K T J D K A D
        M N W P J G G C W K P K A Y E Q Z Z P T V K Z M Q G W D V F A H L T L L
        U S S P X A Z P G Z J G G O S D W A Z R K A E Z Q C W K Z M M C W I T L
        T E Z M E D A Z C A Y Q A F J R L U Q L K U Q Q A F J Q Y W H P J T F J
        F L K U Q Q A F J Q Y W H P J P Z O Z D Z M W D U M W F S W A Y W R Z J
        K Z M I S G B T F O S E E J G G D G R E D K M M F D M D P A R Q J A H F
        U D K T Z O Z E Z Q Y A I T D X V F A H L T L L K Z M M C W Z Z V D P S Y P J

        在這里面,重復(fù)的長序列有ISWZPNQCKM,BGDL,SEEFURZFSWDP,JGGC,LKUQQAFJQYWHPJ,VFAHLTLL等。

        破譯的第二個關(guān)鍵在于,確定關(guān)鍵詞的長度。說到這,讓我們先看看最開始那個短的加密文字:


        第一個YC出現(xiàn)后到第二個YC的結(jié)尾一共有12個字母(U S O X Q Z K L S G Y C),那么密鑰的長度就是12的約數(shù)!即1、2、3、4、6、12之中的一個(其中1可以排除,因為如果關(guān)鍵詞的長度是1個字母的話,那就成了簡單的凱撒密碼了)。

        OK,讓我們再次回到長的這段文字。ISWZPNQCKM間隔是36個字母,BGDL間隔是93個字母,SEEFURZFSWDP間隔是45個字母,JGGC間隔是24個字母,LKUQQAFJQYWHPJ間隔是18個字母等。

        很顯然,每個重復(fù)的間隔都能被3整除,所以關(guān)鍵詞應(yīng)該有3個字母。

        下一步,頻率分析,但是因為關(guān)鍵詞有3個字母,所以我們把整個長的密文分成3組。把第1、4、7、10、13……個字母分為一組,暫且稱之為L1,把第2、5、8、11、14……個字母分為第二組,稱之為L2,余下的自然就是第三組,稱之為L3。數(shù)數(shù)每組的字母個數(shù),每組169個字母。

        接下來,需要先做一個標(biāo)準(zhǔn)頻率的分布表,我們用169乘以每個字母的標(biāo)準(zhǔn)百分比,如字母A,169*8.2%=14(結(jié)果四舍五入)。

        那么由各個字母的標(biāo)準(zhǔn)頻率(單位:%):

        A:8.2   B:1.5   C:2.8   D:4.3   E:12.7   F:2.2
        G:2.0   H:6.1   I:7.0   J:0.2   K:0.8    L:4.0
        M:2.4   N:6.7   O:7.5   P:1.9   Q:0.1    R:6.0
        S:6.3   T:9.1   U:2.8   V:1.0   W:2.4    X:0.2
        Y:2.0   Z:0.1
        計算得到標(biāo)準(zhǔn)字母個數(shù)(單位:個):

        A:14   B:3   C:5   D:7   E:21   F:4
        G:3    H:10  I:12  J:0   K:1    L:7
        M:4    N:11  O:13  P:3   Q:0    R:10
        S:11   T:15  U:5   V:2   W:4    X:0
        Y:3    Z:0
        根據(jù)上面得到的數(shù)據(jù),用26字母作橫坐標(biāo),個數(shù)作為縱坐標(biāo),做散點圖。見下圖:


        然后,讓我們先統(tǒng)計L1中169個字母出現(xiàn)的次數(shù):

        A:22   B:1   C:0   D:10  E:10   F:9
        G:7    H:2   I:9   J:0   K:11   L:0
        M:14   N:1   O:1   P:5   Q:16   R:5
        S:2    T:7   U:14  V:1   W:1    X:2
        Y:5    Z:14
        同理,做出L1的散點圖:


        與標(biāo)準(zhǔn)圖對比一下:


        我們發(fā)現(xiàn),標(biāo)準(zhǔn)頻率和L1的頻率都有峰值、平穩(wěn)期和低谷。他們之間的區(qū)別在于相互錯開了一些位置,比較兩者應(yīng)該可以找到最顯著地特征。

        例如,L1圖表中A-F這一段,A的峰值過后是低谷,特別是C沒有出現(xiàn),然后是一段平穩(wěn)期,這與標(biāo)準(zhǔn)頻率中的O-T段比較吻合。

        再看,標(biāo)準(zhǔn)頻率中,O的前面I-N這段和L1中U-Z的這段也大致吻合。(說的是大致,不是非得一模一樣,請注意。)

        又看看,L1曲線中,J和L得缺失,可以與標(biāo)準(zhǔn)曲線中X和Z得缺失相對應(yīng),L1曲線中M-O這段應(yīng)該就是標(biāo)準(zhǔn)曲線中A-E這段。

        這就暗示著L1的密碼表是有M、N、O、P……開始的,把L1的圖形向左平移12個單位再去標(biāo)準(zhǔn)頻率曲線對比:

        位移后的L1曲線。
        標(biāo)準(zhǔn)字母曲線。
        由此而知,關(guān)鍵詞的第一個字母是M?。▊渥ⅲ阂恍┱`差是在所難免的,比如說K替換Y,兩者在圖標(biāo)上比較起來好像很不符合,但整體趨勢差不多,所以我們要懂得忽略。)


        繼續(xù),我們來統(tǒng)計L2中的169個字母出現(xiàn)的次數(shù):

        A:1    B:0   C:12  D:11  E:14   F:7
        G:1    H:6   I:0   J:12  K:0    L:10
        M:3    N:2   O:3   P:18  Q:3    R:5
        S:13   T:5   U:1   V:2   W:7    X:5
        Y:12   Z:16
        畫出L2的曲線:


        大家應(yīng)該留意到F-K,L-P,Z-A-E這些連續(xù)段的特助,考慮把圖標(biāo)左移11位,得:

        位移后的L2曲線。
        我們再次貼出標(biāo)準(zhǔn)頻率圖,讓大家對照下。

        標(biāo)準(zhǔn)字母曲線。
        所以,我們可以確定關(guān)鍵詞的第二個字母是L!

        最后,我們用同樣的方法可以確定關(guān)鍵詞的第三個字母是S,至此,我們得到整個關(guān)鍵詞——MLS。

        得到關(guān)鍵詞就一切都解開了,反向套用維熱納爾方陣,得到明文,如下:


        Whenever sang my songs
        On the stage on my own
        Whenever said my words
        Wishing they would be heard
        I saw you smiling at me
        Was it real or just my fantasy
        You'd always be there in the corner
        Of this tiny little bar
        My last night here for you
        Same old songs just once more
        My last night here with you
        Maybe yes maybe no
        I kind of liked it you're your way
        How you shyly placed your eyes on me
        Oh did you ever know
        That I had mine on you
        Darling so there you are
        With that look on your face
        As if you're never hurt
        As if you're never down
        Shall I be the one for you
        Who pinches you softly but sure
        If frown is shown then
        I will know that you are no dreamer
        本帖子中包含更多圖片或附件資源

        您需要 登錄 才可以下載或查看,沒有帳號?加入學(xué)院

        8

        248

        分享

        | 發(fā)表于 2009-7-23 22:10:18
        ... - -#  崇拜下~

        看見密碼就頭大....

        不過既然有詳解,值得學(xué)習(xí)一下
        166
        | 發(fā)表于 2009-7-23 22:15:39
        占板凳

        頻率分析對于長篇密文的確非常好用
        | 發(fā)表于 2009-7-23 23:03:50
        理論知識對于一名偵探來說也很重要。
        | 發(fā)表于 2009-7-24 08:33:06
        ..LZ辛苦了
        | 發(fā)表于 2009-7-24 10:01:24
        世界上沒有最安全的密碼~
        | 樓主| 發(fā)表于 2009-7-24 14:24:01
        想當(dāng)年,我寫過一篇全是密碼的小說,里面有一段長的文字,就是用維熱納爾密碼來加密的,加密花了我?guī)讉€小時,然后自己去破譯又花了幾個小時。
        | 發(fā)表于 2009-7-24 16:49:24
        厲害,只是這種理論知識我真的犯暈,而且,本人接觸密碼還沒幾天,看樣子要走的路還很長?。?/td>
        | 發(fā)表于 2009-7-25 18:35:50
        最慘的就是密鑰我學(xué)來學(xué)去也不明白。
        | 樓主| 發(fā)表于 2009-7-25 21:01:09
          9#  冷月夕靜


        你哪里看不明白?
        我可以詳細解釋下。
        尚未登錄
        您需要登錄后才可以回帖 登錄 | 加入學(xué)院

        <noscript id="lol87"></noscript>
      • <form id="lol87"><td id="lol87"></td></form>
        <optgroup id="lol87"><tt id="lol87"><pre id="lol87"></pre></tt></optgroup>
        <optgroup id="lol87"><th id="lol87"><span id="lol87"></span></th></optgroup>
        1. 
          
          • <rt id="lol87"></rt>
            <span id="lol87"><del id="lol87"></del></span>
            小黄片资源 | 国产精品a v | 顶楼的大象啪啪片段 | 欧美乱妇狂野欧美在线视频 | 亚洲视频免费看 | 麻豆精品无码国产 | 国产成人精品一级毛片在码A片 | 国产高清三区 | 一级a毛一级a看免费视频 | 国产成人AV无码一区二区三区 |