在正式講解https協議之前,我們首先要知道一些密碼學的知識。
明文: 明文指的是未被加密過的原始資料。
密文:明文被某種加密演算法加密之後,會變成密文,從而確保原始資料的安全。密文也可以被解密,得到原始的明文。
金鑰:金鑰是一種引數,它是在明文轉換為密文或將密文轉換為明文的演算法中輸入的引數。金鑰分為對稱金鑰與非對稱金鑰,分別應用在對稱加密和非對稱加密上。
對稱加密:對稱加密又叫做私鑰加密,即資訊的傳送方和接收方使用同乙個金鑰去加密和解密資料。對稱加密的特點是演算法公開、加密和解密速度快,適合於對大資料量進行加密,常見的對稱加密演算法有des、3des、tdea、blowfish、rc5和idea。
其加密過程如下:明文 + 加密演算法 + 私鑰 => 密文
解密過程如下:密文 + 解密演算法 + 私鑰 => 明文
對稱加密中用到的金鑰叫做私鑰,私鑰表示個人私有的金鑰,即該金鑰不能被洩露。
其加密過程中的私鑰與解密過程中用到的私鑰是同乙個金鑰,這也是稱加密之所以稱之為「對稱」的原因。由於對稱加密的演算法是公開的,所以一旦私鑰被洩露,那麼密文就很容易被破解,所以對稱加密的缺點是金鑰安全管理困難。
非對稱加密:非對稱加密也叫做公鑰加密。非對稱加密與對稱加密相比,其安全性更好。對稱加密的通訊雙方使用相同的金鑰,如果一方的金鑰遭洩露,那麼 整個通訊就會被破解。而非對稱加密使用一對金鑰,即公鑰和私鑰,且二者成對出現。私鑰被自己儲存,不能對外洩露。公鑰指的是公共的金鑰,任何人都可以獲得 該金鑰。用公鑰或私鑰中的任何乙個進行加密,用另乙個進行解密。
被公鑰加密過的密文只能被私鑰解密,過程如下:
明文 + 加密演算法 + 公鑰 => 密文, 密文 + 解密演算法 + 私鑰 => 明文
被私鑰加密過的密文只能被公鑰解密,過程如下:
明文 + 加密演算法 + 私鑰 => 密文, 密文 + 解密演算法 + 公鑰 => 明文
由於加密和解密使用了兩個不同的金鑰,這就是非對稱加密「非對稱」的原因。
非對稱加密的缺點是加密和解密花費時間長、速度慢,只適合對少量資料進行加密。
在非對稱加密中使用的主要演算法有:rsa、elgamal、rabin、d-h、ecc(橢圓曲線加密演算法)等。
密碼學 密碼學基礎
密碼學是研究編制密碼和破譯密碼的技術科學。密碼學的安全目標至少包含三個方面 保密性 完整性 可用性。完整性 資源只有授權方以授權的方式進行修改,所有資源沒有授權則不能修改。可用性 資源只有在適當的時候被授權方訪問,並按需求使用。密碼系統由5部分組成 1 明文空間m 全體明文的集合 2 密文空間c 全...
密碼學基礎
密碼學包括兩個分支 密碼編碼學和密碼分析學。密碼編碼學主要研究安全的密碼演算法和協議,來實現資訊加密保護或訊息認證 密碼分析學主要研究破譯密文資訊,進而獲取對應的明文資訊,這兩個分支既相互對立又相互依存,正是這種對立統一的關係推動了密碼學自身的發展。密碼演算法是密碼學的核心 現代密碼演算法的研究可大...
密碼學基礎
在密碼學中,我們稱原始的資訊為 明文 plaintext 加密之後的資訊為 密文 cipher text 所以加密就是把明文轉換成密文的過程,解密就是把密文轉換成明文的過程,轉換過程中所需要的資訊稱為 金鑰 簡單替代密碼 是通過把乙個字母轉換為另乙個字母進行加密,通過乙個相反的替換來對密文進行解密的...