gscienty的專欄
密碼(cryptography)是一種資訊處理體系,涉及資訊的機密性、完整性、認證性和不可否認性等許多方面。
密碼學發展歷程
自從人類社會有了戰爭,就有了保密通訊,就需要資訊處理體系。在1949年以前,密碼的研究與應用僅僅是文字變換技術,簡稱為密碼術。自1949年之後,Shannon做了相關的工作,發表了《保密系統的通訊理論》一文,為密碼學的發展奠定了堅實的理論基礎。
密碼學發展大致分為古典密碼時期、近代密碼時期以及現代密碼時期, 其中,古典密碼時期與近代密碼時期成為傳統密碼時期。
密碼學的兩次飛躍與兩個里程碑事件
- 1949年Shannon發表題為《保密系統的通訊理論》,為密碼系統建立了理論基礎,從此密碼學成為了一門科學。第一次飛躍
- 1976年後,美國資料加密標準DES公佈,使得密碼學研究公開,並得到迅速發展里程碑事件
- 1976年,Diffe和Hellman發表了《密碼學的新方向》,提出了一種新的密碼設計思想,從而開創了公鑰密碼學的新紀元。第二次飛躍
- 1978年,Rivest、Shamire和Adleman首先提出第一個實用的公鑰密碼體制RSA。里程碑事件
傳統密碼技術
傳統密碼體制的技術、思想以及分析方法雖然很簡單,但是反映了密碼設計和分析的思想,是學習密碼學的基本入口,對於理解、設計和分析現代密碼學仍然具有借鑑意義。
置換密碼
根據一定規則重新排列明文,以便打破明文的結構特性。置換密碼的特點是保持明文的所有字元不變,只是利用置換打亂了明文字元位置和次序。
列置換密碼
其加密過程是,首先將明文以設定的固定分組寬度m按行寫出,即每行有m個字元。若明文長度不是m的整數倍,則不足部分用雙方約定的方式填充。按照
譬如將明文“Beijing 2008 Olympic Games”加密,則代表明文的矩陣為:
其金鑰可表示為 (1,4,3,5,6) 以矩陣形式表示為:
則加密過程就是
解密過程就是將加密矩陣叉乘
週期置換密碼
週期置換密碼是將明文串P按照固定的長度m分組,然後對每組中的子串按照
假設明文可以等長度劃分為若干個分組,則每個分組的字母可以看作是一個m維向量。 倘若金鑰為(1 5 6 2 3) 則對應的金鑰為:
假設某明文段所表示的向量為
則加密過程為:
代換密碼
所謂代換,就是將明文中的一個字母由其它字母、數字或符號替代的一種方法。
代換密碼通常是指建立一個代換表,加密時需要將加密的明文依次通過查表,替換為相應的字元,明文字元被逐個替換後,生成無任何意義的字串就是密文。 這樣的代換表稱為金鑰。
按照一個明文子母是否總是被一個固定的字元替代,可以劃分為單表代換密碼 和 多表代換密碼 兩種。
希爾密碼
與上文所屬週期置換密碼神似, 只不過叉乘的右部的矩陣可以擴充為