密碼學入門科普

1、對稱加密和非對稱加密入門算法

1. 如何不被竊聽 —— 加密安全

  • 這種加密方案在密碼學裏稱爲對稱密碼,加密方和解密方使用的是相同的密鑰。性能

  • 知名的密碼算法有 AES(2001)、Blowfish(1993)、DES(1977),再遠一點,有二戰時期的恩尼格碼(轉輪機原理,德國)、紫色密碼(轉輪機原理,日本),以及著名的凱撒密碼(沒錯就是地中海北岸那個凱撒)、柵欄密碼等。阿里雲

2. 如何交換密鑰 —— 非對稱加密加密

解決信道安全問題blog

  • Bob 事先生成一對公鑰和私鑰,私鑰 pri 由本身保管,把公鑰 pub 發給 Alice。md5

  • Alice 使用 pub 對消息內容進行加密,Bob 用 pri 進行解密。it

  • 須要注意的是, 只有私鑰才能夠解密,因此即便 Eve 竊取到了 pub(只有 pub 被傳輸而容易被竊取),她也沒法解密。io

  • 這種加密方式在密碼學裏稱爲非對稱密碼,所謂「非對稱」指的是加密方和解密方用的密鑰不同。入門

  • 知名的非對稱算法有:DSA(數字簽名算法,只能用於簽名,1991)、ECC(橢圓曲線加密,1985)、RSA(公鑰加密算法,1977)等。

  • 這些算法除了用於加密外,還能夠用於 數字簽名。非對稱算法有個致命弱點: 性能很低。實際應用中通常採用混合加密體制、哈希簽名體制。

3. 如何防止數據篡改 —— MAC

圖中的 MAC 指的是 消息認證碼(Message Authentication Code),你如今不需知道它的原理,只要記住 :(1)傳入兩個參數 message 和 key,進行一系列計算後獲得一個值叫 MAC。(2)只有 message 和 key 相同的狀況下,才能獲得相同的 MAC。

  • 消息認證碼有多種實現方式,其中最多見的是 HMAC(Hash MAC),即便用哈希算法來實現 MAC,還有一種是基於分組密碼算法的 MAC,不常見。

  • 聰明如你,確定會想到若是 key 被竊取該怎麼辦?這就涉及到 數字簽名了,後文會講到。

4. 如何校驗身份 —— MAC

  • MAC包含幾種實現方式:基於 HASH 的 MAC 稱爲 HMAC,應用比較普遍。

  • 有些同窗應該接觸過阿里雲的 Access Key,其實就是 HMAC 的原理。

  • 有些同窗在兩個系統之間API調用時,會使用同一個 key 作 md5 計算來實現 API 鑑權,這稱爲「加鹽HASH」,能夠簡單理解爲 HMAC 的簡化版。

  • 一樣的,若是 key 被竊取該怎麼辦?這能夠用 數字簽名來解決。

5.更進一步 —— 數字簽名

發送方是用 私鑰進行簽名,而接收方用 公鑰 進行驗籤,這跟加密狀況正好相反。

6. 公鑰的身份證 —— 數字證書

僞造公鑰,Bob 須要事先生成公鑰 pub 和私鑰 pri ,而後把 pub 分發給 Alice。那麼攻擊過程就從這入手,Eve 生成本身的一對公鑰 pub' 和 私鑰 pri',截獲 Bob 的 pub,並用本身的 pub' 冒充 Bob 的公鑰發給 Alice。

這是個「偷天換日」的過程,Eve 經過僞造公鑰(中間人攻擊),不光竊聽到 Alice 的消息,還能保證整個過程當中 Alice 和 Bob 都沒有察覺!

Eve 不是喜歡僞造公鑰嗎,Bob 此次就要請 Trent 爲本身的公鑰註冊一張 「身份證」 —— 數字證書。見證如見人,哦不對,見證如見公鑰!如下是註冊數字證書的過程:

  • Bob 請求 Trent 爲本身的公鑰 pub 註冊一個證書。

  • Trent 收到請求後,用本身的私鑰 pri ' 對 pub(以及身份信息) 進行簽名,獲得一個 sign。

  • Trent 把證書 certificate = pub + sign 頒發給 Bob。

  • Bob 把本身的證書 pub + sign 發給 Alice。

  • Alice 使用 Trent 的公鑰 pub ' 對 sign 進行驗籤,若是校驗成功則說明 pub 的確是 Bob 的公鑰,由於她相信 Trent 的權威性。

Eve 不可能找 Trent 爲她辦一個 Bob 的數字證書,由於 Trent 不會贊成的,就像警察蜀黍不會給我辦一張別人的身份證同樣。因此,Eve 沒法僞造 Bob 的公鑰。

  • 考慮到非對稱算法的效率問題,實際應用中通常是先對數據進行哈希,而後才用私鑰對哈希值(摘要)進行簽名。

  • Trent 在密碼技術領域中通常稱爲 認證機構(Certification Authority,即 CA)。

  • 以數字證書爲基礎,業界制定了一系列的規範和規格,好比由誰頒發證書、如何進行頒發、如何做廢證書等,稱爲 公鑰基礎設施(Public-Key Infrastructure,即 PKI)。

2、對稱加密常見密碼學

AES,DES,3DES,TDEA,Blowfish,RC5,IDEA

3、非對稱加密經典算法

RSA、Elgamal、揹包算法、Rabin、D-H、ECC(橢圓曲線加密算法)

相關文章
相關標籤/搜索