1、密碼學(cryptography)是一種關于隐藏資訊的學科。
2、加密是一種将資料從純文字或明文格式,轉換為編碼或加密文本格式的密碼技術!而加密算法是就資料轉換為密文的通用規則集或指令集。
3、加密密碼通常有兩種主要類型:流密碼、塊密碼!
4、散列加密是一種将明文轉換為密文的單向加密!
5、常見的散列加密算法有:MD5、安全雜湊演算法(hash)、NTLAN管理員(NTLM#)、RACE完整性基元評估資訊摘要(RIPEMD)、基于散列的消息認證代碼(HMAC)!
6、對稱加密是一種雙向加密機制,在這種加密機制中,加密和解密都使用同一個密鑰。存在的潛在缺陷是由于需要在雙方之間共享密鑰,是以存在密鑰破壞或丢失的可能性!
7、常見的對稱加密算法有:資料加密标準(DES)、3DES、進階加密标準(AES)、blowfish、towfish、rivest密碼(RC)4,5,6。
8、非對稱加密使用公鑰和私鑰來實作,公鑰用于加密(安全保障是這種密鑰不會在雙方之間共享),私鑰由于解密。
9、常見的非對稱加密有:RSA、Diffie-Hellman(DH)、橢圓曲線密碼(ECC)、Diffie-Hellman臨時(DHE)、橢圓曲線Diffie-Hellman臨時(ECDHE)。
10、加密密鑰是一種與算法相結合執行加密和解密任務的特殊資訊形式,不同的密鑰可以使用在同一個算法中,形成不同的密文。簡單來說,密鑰是算法産生的實際數值,與加密算法相比基本的加密過程是相同的!
11、密碼組合是一組用于建立主機之間安全連接配接的對稱與非對稱加密算法集合。通常會結合傳輸層安全(TLS)和安全套接字(SSL)網絡協定。
12、密碼組合定義了一種密鑰交換算法、批量加密算法、消息認證代碼算法、僞随機函數!
13、密鑰延伸是加強弱密鑰的一種技術,包括:
重複循環執行密碼散列函數
重複循環分組密碼
在密鑰應用于密碼的位置上,配置密碼的密鑰,一種實施密鑰延伸的流行做法是使用一個密鑰導出函數。
基于密碼的密鑰導出函數2(PBKDF2),需要使用5個輸入參數來建立衍生密鑰:一個僞随機函數,如散列和密碼以及HMAC等、用于生成衍生密鑰的主密碼、密碼鹽(salt)、特定次數的疊代,使函數重複運作、衍生密鑰的期望長度!
Bcrypt函數!
本文轉自 eth10 51CTO部落格,原文連結:http://blog.51cto.com/eth10/1981833