1. 程式人生 > >密碼學的進化史——手工加密階段

密碼學的進化史——手工加密階段

    密碼學很早就廣泛應用於古代戰爭中,使用手工方式完成加密損傷,以確保戰爭中軍事資訊的祕密傳送,這一階段稱為手工加密階段。這一階段是古典密碼學蓬勃發展的時期,稱為古典加密階段。
    公元前1000年左右,武王伐紂時期。見於周朝兵書《六韜·龍韜》,書中記載了周朝著名軍事家姜子牙為戰時通訊制定的兩種軍事通訊密碼:陰符和陰書。陰符是使用雙方在通訊前事先製造的一套尺寸不等、形狀各異的“陰符”,共八種,每種都代表一定的意義,只有通訊雙方知道。陰符,可算是密碼學中的替代法。陰書在陰符的基礎上繼續發展,它應用“一合而再離,三發而一知”的理論,也就是密碼學中的移位法。將一份完整的軍事文書一分為三,分三人傳遞,必須要把三份文書重新合併後才能獲得完整的軍事資訊。即便途中一人或二人被捕,也不至於暴露軍事機密。
    公元前480年,波希戰爭。波斯大量軍隊祕密集結,意圖對雅典和斯巴達發動一次突襲。恰逢希臘人狄馬拉圖斯(Demaratus)在波斯的蘇薩城內看到了這次集結,於是他在木板上記錄了波斯突襲希臘的意圖,然後用蠟把木板上的字封住。這塊木板就這樣在蠟封的掩蓋下送到了希臘,最終使得波斯海軍覆沒於雅典附近的薩拉米灣——薩拉米灣海戰。
    公元前404年,斯巴達征服希臘。斯巴達在波斯帝國的幫助下,征服了希臘。斯巴達北路軍司令萊薩德還沒來得及慶祝,就接到密探送來的密函。萊薩德接過密探的腰帶,將其纏繞在斯巴達密碼棒(Scytale)上,得知波斯帝國意圖吞併他的城池。萊薩德當機立斷,成功反擊了波斯帝國的進攻。斯巴達密碼棒實際上是一個指揮棒,將羊皮紙卷在密碼棒上,把要保密的資訊寫在羊皮紙上。由上述“腰帶”的含義可知,羊皮紙沿卷軸繞行方向做了切割,切割後的羊皮紙上的資訊雜亂無章,資訊得以加密。
    公元前100年,高盧戰爭。羅馬帝國的凱撒大帝(Caesar)使用以自己的名字命名的密碼——凱撒密碼,對重要的軍事資訊進行加密,這是一種簡單的單字母替代密碼,屬於替代法。在當時,凱撒的敵人大多數是目不識丁的,對於這種“移形換位”大法,可謂是根本不知所云。凱撒密碼的加密強度,在當時來看是相當有效的。
    公元1040年,北宋時期。火藥鼻祖曾公亮與北宋文字訓詁學家丁度等奉敕集體編撰了《武經總要》,共40卷,該書詳細記載了中國古代已知最早的軍事情報通訊密碼。其中,收集了軍隊中常用的40種戰鬥情況,編成40條短語,分別編碼產生密碼本。這套密碼的使用方法是,由軍事部門指定一首沒有重複的五言律詩(40字),作為解密金鑰。詩中的每個字都與短語一一對應,短語順序在戰前臨時隨機排列。密碼本由戰時前後兩方高階將領保管,前後方通過該密碼本進行戰時通訊。
    公元1578年,瑪麗女王被伊麗莎白女王軟禁,安東尼·貝平頓及其同黨意圖營救。英國人菲力普·馬尼斯利用頻度分析法,成功破解了安東尼發給瑪麗的密碼資訊。信件內容除了營救瑪麗女王的計劃外,還計劃行刺伊麗莎白女王。信件的破解將安東尼及其同黨一舉抓獲,審判並處死了瑪麗女王。