密碼學
密碼學(英語:Cryptography)可分為古典密碼學和現代密碼學。在西歐語文中,密碼學一詞源於希臘語 kryptós“隱藏的”,和 gráphein“書寫”。古典密碼學主要關注信息的保密書寫和傳遞,以及與其相對應的破譯方法。而現代密碼學不只關注信息保密問題,還同時涉及信息完整性驗證(訊息驗證碼)、信息發布的不可抵賴性(數字簽名)、以及在分散式計算中產生的來源於內部和外部的攻擊的所有信息安全問題。古典密碼學與現代密碼學的重要區別在於,古典密碼學的編碼和破譯通常依賴於設計者和敵手的創造力與技巧,作為一種實用性藝術存在,並沒有對於密碼學原件的清晰定義。而現代密碼學則起源於20世紀末出現的大量相關理論,這些理論使得現代密碼學成為了一種可以系統而嚴格地學習的科學。
密碼學是數學和計算機科學的分支,同時其原理大量涉及資訊理論。著名的密碼學者羅納德·李維斯特解釋道:“密碼學是關於如何在敵人存在的環境中通信”,自工程學的角度,這相當於密碼學與純數學的差異。密碼學的發展促進了計算機科學,特別是在於電腦與網路安全所使用的技術,如訪問控制與信息的機密性。密碼學已被套用在日常生活:包括自動櫃員機的晶片卡、電腦用戶訪問密碼、電子商務等等。
加密
在密碼學中, 加密(英語:Encryption)是將明文信息改變為難以讀取的密文內容,使之不可讀。只有擁有解密方法的對象,經由解密過程,才能將密文還原為正常可讀的內容。
歷史
雖然加密作為通信保密的手段已經存在了幾個世紀,但是只有那些對安全要求特別高的組織和個人才會使用它。
在1970年代中期,“強加密”(Strong Encryption)的使用開始從政府保密機構延伸至公共領域,並且目前已經成為保護許多廣泛使用系統的方法,比如網際網路電子商務、手機網路和銀行自動取款機等。
套用
加密可以用於保證安全性,但是其它一些技術在保障通信安全方面仍然是必須的,尤其是關於數據完整性和信息驗證。例如,信息驗證碼(MAC)或者數字簽名。另一方面的考慮是為了應付流量分析。
相關軟體
加密或軟體編碼隱匿(Code Obfuscation)同時也在軟體著作權保護中,用於對付反向工程,未授權的程式分析,破解和軟體盜版及數字內容的數字著作權管理(DRM)等。
加密算法
加密算法就是加密的方法。
加密算法可以分為兩類:對稱加密和非對稱加密
在密碼學中,加密是將明文信息隱匿起來,使之在缺少特殊信息時不可讀。
對稱加密就是將信息使用一個密鑰進行加密,解密時使用同樣的密鑰,同樣的算法進行解密。
非對稱加密,又稱公開密鑰加密,是加密和解密使用不同密鑰的算法,廣泛用於信息傳輸中。
公開密鑰加密
公開密鑰加密(英語: Public-key cryptography),也稱為 非對稱加密(英語: asymmetric cryptography),是密碼學的一種算法,它需要兩個密鑰,一個是公開密鑰,另一個是私有密鑰;一個用作加密的時候,另一個則用作解密。使用其中一個密鑰把明文加密後所得的密文,只能用相對應的另一個密鑰才能解密得到原本的明文;甚至連最初用來加密的密鑰也不能用作解密。由於加密和解密需要兩個不同的密鑰,故被稱為非對稱加密;不同於加密和解密都使用同一個密鑰的對稱加密。雖然兩個密鑰在數學上相關,但如果知道了其中一個,並不能憑此計算出另外一個;因此其中一個可以公開,稱為公鑰,任意向外發布;不公開的密鑰為私鑰,必須由用戶自行嚴格秘密保管,絕不通過任何途徑向任何人提供,也不會透露給要通信的另一方,即使他被信任。
基於公開密鑰加密的特性,它還提供數字簽名的功能,使電子檔案可以得到如同在紙本檔案上親筆簽署的效果。
公開密鑰基礎建設通過信任數字證書認證機構的根證書、及其使用公開密鑰加密作數字簽名核發的公開密鑰認證,形成信任鏈架構,已在TLS實現並在全球資訊網的HTTP以HTTPS、在電子郵件的SMTP以STARTTLS引入。
另一方面,信任網路則採用去中心化的概念,取代了依賴數字證書認證機構的公鑰基礎設施,因為每一張電子證書在信任鏈中最終只由一個根證書授權信任,信任網路的公鑰則可以累積多個用戶的信任。PGP就是其中一個例子。
參見
•密碼學
•公開密鑰基礎建設
•公開密鑰指紋
•數字簽名
•對稱密鑰加密
•密鑰管理
•密碼學安全偽隨機數生成器
•迪菲-赫爾曼密鑰交換
•明文
•密文
•加密