加密算法的科普文章。
加密算法 科普文
常用術語
明文(Plaintext):待加密資訊。
密文(Ciphertext):經過加密後的。
加密(Encryption):将明文轉換為密文的過程。
解密(Decryption):将密文轉換為明文的過程。
科克霍夫原則(Kerckhoffs’ Principle):資料的安全基于密鑰而不是算法的保密。
加密算法分類
加密算法分為對稱加密算法和非對稱加密算法。
對稱加密算法(Symmetric Cipher):也稱為單鑰密碼算法或私鑰密碼算法,指加密密鑰和解密密鑰相同,即加密過程與解密過程使用同一套密鑰。常見的DES、AES算法都是對稱密碼算法的典範。
非對稱加密算法(Asymmetric Cipher):也稱為雙鑰密碼算法或公鑰密碼算法,指加密密鑰與解密密鑰不同,密鑰分為公鑰與私鑰,公鑰對外公開,私鑰對外保密。比如RSA算法。
散列函數提供的消息認證技術
對于資訊完整性驗證需要其他技術來支援,這種技術就是由散列函數提供的消息認證技術。
散列函數,也稱作哈希函數、消息摘要函數、單向函數或雜湊函數,其主要作用是用來驗證資料的完整性,是資料簽名的核心技術。
通過散列函數,可以為資料建立數字指紋(散列值),散列值通常是一個短的随機字母和數字組成的字元串。
散列函數具有确定性,并且散列函數的運算過程是不可逆的,即單向的。
散列函數的常用算法有:
MD:消息摘要算法;
SHA:安全雜湊演算法;
MAC:消息認證碼算法。
參考資料
幾種常見加密算法初窺及如何選用加密算法:
http://clement.blog.51cto.com/2235236/948107
作者: 聖騎士Wind
出處: 部落格園: 聖騎士Wind
Github: https://github.com/mengdd
微信公衆号: 聖騎士Wind
