青青草国产成人av片免费/香港三级日本韩国三级专线/国内自拍在钱/天堂国产女人av

回復

淺談密碼學之古典密碼

樓主: 172542 | 查看: 2851 | 回復: 9

發(fā)表于 2022-1-29 14:27:37 | 2022-1-29 22:55編輯
淺談密碼學
古典密碼
古典密碼最早開始實用于希臘各邦之間戰(zhàn)爭的各種秘密信息的傳遞于軍事情報的運輸之中。在希羅多德的《歷史》一書中曾記載,在公園前5世紀波斯于希臘各個城邦之間的沖突時就誕生了最古早的信息隱藏技術即隱寫術故事是由一位希臘的流亡者德瑪拉托斯在親眼目睹波斯正在集結軍事力量試圖通知斯巴達人,因此他用了一個巧妙的方法——刮去一對折疊木片上的石蠟,將試圖送給希臘人的秘密消息寫在木片的底層,然后用石蠟覆蓋住,因此他成功的將消息傳遞了出去這種掩飾信息存在性的保密通訊法稱之為隱匿法(steganigraphy)或隱寫術。但與此同一個時代的古斯巴達人卻有著更高級的密碼加密技術,即密碼法(cryptography)從此就引出了我們接下來要講的古典密碼。古典密碼雖然在形式上種類繁多但是在總體的思想上確實非常的簡單,即移位法(transposition)和代換法(substitution)接下來我們就一一介紹
(一)        移位法(Transposition)
所謂的移位法,就是將明文中的字母進行調動順序。聽上去也許十分簡單,不過這種加密方法對于簡短的信息加密效果不佳比如:cat,能靠移位的加密方法十分的簡單cat,cta,act,atc,tac,tca。不過一旦字母數量一增加,排列方式的數目就會急劇的升高,除非知曉加密過程否則幾乎不可能將明文破譯出。“For example,considet this short sentence”這句話雖然只有短短35個字母但卻有超過50,000,000,000,000,000,000,000,000,000,000種排列方式。因此在加密信息時如果將一句話中的字母任意順序打亂那么它的安全程度一定會非常高,可是這樣有一個小小的缺點,即移位法所帶來的的回文謎的數量多到驚人,例如cat重組的回文act,lived重組為devil所以一般在信息的傳遞過程中明文和密文的接收者會通常之間有一套自己所謂約定俗成的規(guī)律而我們將其整理稱之為xx密碼
①        籬笆式移位法(2柵欄)
這是一種簡單的位移密碼,即把明文中奇數位字母排成一排、偶數位字母排在另一排,再把偶數位字母接到奇數位字母后面。例如:
THY SECRET IS THY PRISONER;IF THOU LET IT GO,THOU ART A PRISONER TO IT

T  Y  E  R  T  S  H  P  I  O  E  I  T  O  L  T  T  O  H  U  R  A  R  S  N  R  O  T
  H  S  C  E  I  T  Y  R  S  N  R  F  H  U  E  I  G  T  O  A  T  P  I  O  E  T  I

TYERTSHPIOEITOLTTOHURARSNROTHSCEITYRSNRFHUEIGTOATPIOETI
缺點:籬笆密碼法并非一種強的加密法,其加密原理限制籬笆的最高數量不可能超過明文字母數,而實際加密時更要把籬笆數目減少,因此有些密碼分析員甚至能用手直接解出明文。
②        斯巴達密碼棒
早在公元前404年,古希臘斯巴達城邦就用了一種十分有趣的移位密碼——斯巴達棒(Skytale)如下圖圖一
以此來舉例斯巴達密碼棒的使用方式:假設明文為:Send more troops to southern Flankand(往南翼增兵)按照圖中所示的方法將紙帶纏繞在密碼棒上,逐行寫下明文。寫好后將明文從密碼棒上取下來,結果就呈現(xiàn)為:stsferolnouadotnmphkoseartrneond,本質上就是打亂明文的字母順序。
③        柵欄密碼(Rail-fence Cipher)
在移位密碼中,擾亂字母位置生成密文的方式有很多。較為簡單的擾亂方法就是在明文中樹立一個個“柵欄”,沿著柵欄的樹立的方向重寫明文以得到密文。一般柵欄密碼別名為列移位密碼(Columnar Transposition Cipher)
二柵欄在上文中以及提到過了,因此本次采用四欄 加密來演示。明文:Transposition Cipher加密得:
T             O               N                       R
  R         P    S         O     C               E        S
    A    S         I     I            I        H
      N              T                  P
按照從左到右,從上至下的順序來重寫明文,得到密文為:tonrrpsocesasiiihntp
同時也不一定非要按照z字形線路愛來撰寫明文也可以通過表格來
T        R        A        N        S
P        O        S        I        T
I        O        N        C        I
P        H        E        E        S
按照從上至下、從左至右的順序重寫明文,得到密文為:tpiproohasnenicestis。當然也可以從下向上,自右向左寫明文,這樣就會得到密文:sitsrcinensah oorpipt。這樣加密比前一個更加具有隱蔽性。
不過如果明文長度為質數,那么可以在明文之后適當擴充字母來達到合適的長度。英文中最常見的擴充字母就是X,因為根據下表X的使用頻率最低
A 8.19  B 1.47  C 3.83  D 3.91  E 12.25  F 2.26  G 1.71
H 4.57  I 7.10  J 0.14   K 0.41   L 3.77   M 3.34  N 7.06
O 7.26   P 2.89   Q 0.09   R 6.85   S 6.36   T 9.41
U 2.58   V 1.09   W 1.59   X 0.21   Y 1.58   Z 0.08
因此破譯人很容易猜出X為擴充字母。如果想使密碼安全性更高,那么使用英文中出現(xiàn)頻率較高的字母也是一個好辦法如使用E,K,T,W,O一類。以下舉例:明文:Transposition Cipher擴充字母:KETWO得到以下5x5表格
T        R        A        N        S
P        O        S        I        T
I        O        N        C        I
P        H        E        R        S
K        E        T        W        O
自上而下、從左到右重寫明文,可得密文:stisonicrw  asnetroohe  tpipk
④        帶秘鑰的柵欄移位密碼
以上的柵欄密碼的特點是:無論柵欄如何設計、如何設計重寫明文的順序,只要密碼破譯者知道了柵欄的使用方法和重寫明文的順序,就可以輕易的破解柵欄移位密碼。因此,最好在柵欄移位密碼中嵌入秘鑰,讓柵欄位移密碼根據秘鑰重寫明文的順序,這樣可以大大增加柵欄位移密碼的隱蔽性。
常見的秘鑰嵌入方法為:根據秘鑰確定柵欄密碼中各列的重寫順序,老規(guī)矩明文還是Transposition Cipher,這次我們以自然對數e=2.7182818284為秘鑰。以秘鑰e中小數點后出現(xiàn)的7,1,8,2,4作為保留放在第一排
7        1        8        2        4
T        R        A        N        S
P        O        S        I        T
I        O        N        C        I
P        H        E        R        S
按照設置的編號順序從小到大,從上至下重寫明文,可以得到密文:roohnicrstist Pipasne。。
此外也可以用英文單詞作為秘鑰,比如秘鑰為:my keys。將英文字母與它在26個字幕中出現(xiàn)順序一致,可以判斷出m,y,k,e,s分別對應13/25/11/05/19同理
13        25        11        05        19
T        R        A        N        S
P        O        S        I        T
I        O        N        C        I
P        H        E        R        S
從小到大、從上至下重寫明文得到密文為:nicrasnetpips tisrooh
雖然這種方式嵌入秘鑰可以擾亂柵欄中列的重寫順序,但是柵欄中行的重寫順序依舊是固定的,因此我們還可以同時擾亂行的重寫順序來進一步提高隱蔽性。此類柵欄位移密碼稱之為雙格柵欄位移密碼(Double Transposition Cipher)。在此就不過多舉例,有興趣的朋友可以自己動手試一試。


⑤        卡登格子(Cardan Grille)
格子密碼幼教棋盤密碼。在加密時,首先將合社個字置于棋盤左上方的方格中,在白色格子中從上至下、從左至右撰寫明文。在寫完18個后將棋盤旋轉90°,白色格子就被置于左上角了。繼續(xù)在白色格子中從上至下、從左到右撰寫明文。最后,移除格子,從左至右,從上至下重寫明文就得到密文了
下圖作為舉例加密明文:“I will be at the national grand opera today”

        L                T                I
I                E                N       
        L                H                O
W                A                A       
        B                E                N
I                T                T       
A                D                T       
        R                E                A
L                O                O       
        A                R                Y
G                P                D       
        N                A                .







A        L        D        T        T        I
I        R        E        E        N        A
L        L        O        H        O        O
W        A        A        R        A        Y
G        B        P        E        D        N
I        N        T        A        T        .




最終生成密文:a ldtt ii re ena llohoow aarayg bpedn intat
格子密碼還可以存在很多種變式:格子可以被設計的更加復雜,格子數量可大可小。使用方法也多種多樣:可以旋轉任意角度,可以正反使用柵格,柵格的旋轉中心點和旋轉方向也可以任意設置。
(二)        代換法(Substitution)
早在公元4世紀,婆羅門學者跋舍業(yè)業(yè)所寫的《愛欲經》即曾提到過用代替法加密信息。《愛欲經》鼓勵婦女學習64種技藝,比如烹飪,服飾,制作香水等,在第45項中曾提到過秘密書信,理由是可以幫助婦女隱瞞她們的曖昧關系。其中一種方法便是:先將字母隨意配對,再用配對字母取代信息里的原始字母。
例如以下配對:
A  D  H  I K  M O R S  U W Y Z
↓ ↓ ↓ ↓↓ ↓↓↓↓ ↓↓↓↓
V  X  B  G J  C Q L  N  E F  P T
這樣一來,發(fā)信人可以吧meet at midnight改寫成CUZZ  VZ CGXSGIBZ.
替代密碼在軍事上首次運用于凱撒大帝的《高盧戰(zhàn)記》中,凱撒大帝本人非常青睞這種信息加密方式,聲稱這是一種加密技術的革新。替代密碼的缺點是在傳輸大量的文字和信息時,統(tǒng)計學可以根據同個字母在文本中出現(xiàn)的頻率進行暴力破解越是大量的文本易被識別概率就越大。
①        凱撒密碼(Caesar Cipher)
凱撒密碼其實就是明文中的所有字母都在字母表上向后(或向前)按照一個固定數目進行偏移后被替換成密文。舉例當秘鑰為3時
明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ ;
密文:DEFGHIJKLMNOPQRSTUVWXYZABC。
這種加密方式在現(xiàn)代看來極易被破解,只要知道字母的偏移量(即秘鑰數字),可是對當時人來說確是天方夜譚。
同時凱撒密碼也同時衍生出來了一個變種其中最著名的當屬回轉13密碼(rotate by 13 place, ROT 13)即凱撒密碼秘鑰為13。ROT 13最大的特點就是它的加密過程和解密過程幾乎相同,都是在對應字母上往后/往前偏移13個字母所以又稱為回轉13.雖然回轉13非常好被破解,但是有趣的地方在于不少單詞被偏移了13個單位之后會得到另一個完全同的單詞,例如abjurer(發(fā)誓放棄)變成了nowhere(任何地方都不)chechen(車臣)變成了purpura(紫癜)。
②        埃特巴什碼(Atbash Cipher)
埃特巴什碼它使用字母表中的最后一個字母代表第一個字母,倒數第二個字母代表第二個字母
明文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
③        關鍵字密碼(keyword Cipher)
首先先繪制一個空白字母代換表格,我們選取substitution當成秘鑰并填入空白字母表中,注意要去除單詞中重復的字母
a        b        c        d        e        f        g        h        i        j        k        l        m        n        o        p        u        r        s        t        u        v        w        x        y        z


s        u        b        t        i        o        n        a        c        d        e        f        g        h        j        k        l        m        p        q        r        v        w        x        y        z


④        豬圈密碼(Piggen Cipher)
不僅字母可以帶換成字母,甚至我們可以把符號帶換成字母。在密碼設計者有趣的設計中產出了很多有趣的代換密碼最著名的莫過于豬圈密碼了,因為代換的符號看起來像是被圈養(yǎng)在豬圈里一樣。18世紀共濟會常常使用這種密碼來進行密碼通信,因此也被稱之為共濟會密碼(Masonic Cipher)
下面是豬圈密碼的對照表
⑤        跳舞小人密碼
跳舞小人是來自于《福爾摩斯探案集》中的一個小故事下面是對照表格


我們可以根據福爾摩斯的破案心路歷程可以看出其實這個代換密碼的缺陷。即字母與字母,字母與符號一一對應,意味著文字中相同的明文字母的密文代換結果也一定相同。每種語言本身都有獨特的規(guī)律個特性,利用這一點便不難從密文中探尋蛛絲馬跡,然后用計算機暴力的窮舉法便可以輕易破除。這種分析法被稱之為頻率分析攻擊。
因為app原因表格和圖片可能有缺失可以打開以下連接: https://shimo.im/docs/DGvHCwgTGKQX8rJh/  《淺談密碼學》,可復制鏈接后用石墨文檔 App 或小程序打開
3-5天后更新近代密碼學
現(xiàn)代密碼算法由于過于復雜可以寫但是我認為要推廣給大家還是盡量用我的概括法來進行通俗化處理回重新發(fā)帖如果覺得有用可以給我點個贊鼓勵一下哦
本帖子中包含更多圖片或附件資源

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

7

18

分享

| 發(fā)表于 2022-1-31 07:58:54 | 發(fā)自安卓客戶端
感謝分享
| 發(fā)表于 2022-1-31 09:17:04 | 發(fā)自安卓客戶端
謝謝幫忙復習密碼學
| 發(fā)表于 2022-7-3 00:51:58 | 發(fā)自安卓客戶端
感謝分享
| 發(fā)表于 2022-7-4 09:25:36 | 來自小霸王手機
感謝分享
[已注銷]
該學員已被刪除
| 發(fā)表于 2022-7-4 09:41:24 | 發(fā)自安卓客戶端 發(fā)帖際遇
感謝分享
| 發(fā)表于 2022-10-5 20:04:14 山東| 發(fā)自安卓客戶端 發(fā)帖際遇
感謝分享
尚未登錄
您需要登錄后才可以回帖 登錄 | 加入學院