密碼學(英語:Cryptography)可分為古典密碼學[1]和現代密碼學。在西方語文中,密碼學一詞源於希臘語kryptós「隱藏的」,和gráphein「書寫」。古典密碼學主要關注信息的保密書寫和傳遞,以及與其相對應的破譯方法。而現代密碼學不只關注信息保密問題,還同時涉及信息完整性驗證(消息驗證碼)、信息發布的不可抵賴性(數字簽名)、以及在分布式計算中產生的來源於內部和外部的攻擊的所有信息安全問題。古典密碼學與現代密碼學的重要區別在於,古典密碼學的編碼和破譯通常依賴於設計者和敵手的創造力與技巧,作為一種實用性藝術存在,並沒有對於密碼學原件的清晰定義。而現代密碼學則起源於20世紀末出現的大量相關理論,這些理論使得現代密碼學成為了一種可以系統而嚴格地學習的科學。
密碼學是數學和計算機科學的分支,同時其原理大量涉及信息論。著名的密碼學者羅納德·李維斯特解釋道:「密碼學是關於如何在敵人存在的環境中通信」,自工程學的角度,這相當於密碼學與純數學的差異。密碼學的發展促進了計算機科學,特別是在於電腦與網絡安全所使用的技術,如訪問控制與信息的機密性。密碼學已被應用在日常生活:包括自動櫃員機的芯片卡、電腦用戶訪問密碼、電子商務等等。
目錄
術語
直到現代以前,密碼學幾乎專指加密算法[2]:將普通信息(明文)轉換成難以理解的數據(密文)的過程;解密算法則是其相反的過程:由密文轉換回明文;加解密包含了這兩種算法,一般加密即同時指稱加密與解密的技術。
加解密的具體運作由兩部分決定:一個是算法,另一個是密鑰。密鑰是一個用於加解密算法的秘密參數,通常只有通信者擁有。歷史上,密鑰通常未經認證或完整性測試而被直接使用在加解密上。
密碼協議是使用密碼技術的通信協議。近代密碼學者多認為除了傳統上的加解密算法,密碼協議也一樣重要,兩者為密碼學研究的兩大課題。在英文中,「cryptography」和「cryptology」都可代表密碼學,前者又稱密碼術。但更嚴謹地說,前者(cryptography)指密碼技術的使用,而後者(cryptology)指研究密碼的學科,包含密碼術與密碼分析。密碼分析是研究如何破解密碼學的學科。但在實際使用中,通常都稱密碼學(即cryptography),而不具體區分其含義。
口語上,編碼常意指加密或隱藏消息的各種方法。然而,在密碼學中,編碼有更特定的意義:它意指以碼字取代特定的明文。例如,以『蘋果派』(apple pie)替換『拂曉攻擊』(attack at dawn)。編碼已經不再被使用在嚴謹的密碼學,它在信息論或通信原理上有更明確的意義。
在漢語口語中,電腦系統或網絡使用的個人賬戶通行碼也常被以密碼代稱,雖然通行碼亦屬密碼學研究的範圍,但學術上通行碼與密碼學中所稱的密鑰並不相同,即使兩者間常有密切的關連。
參考文獻
- ↑ 淺析古典密碼學,論文榜,2014-07-18
- ↑ 計算機密碼學的加密解密算法分析與改進,豆丁網 , 2015-3-2