首先我們需要先了解對稱加密
概念:採用單鑰密碼系統的加密方法,同一個金鑰加密和解密,常用的對稱加密演算法DES、3DES、AES、RC2、RC5等。
通俗的說就是你家大門鎖和鑰匙,你家裡有都有大門鑰匙來開這一把鎖。
那他有什麼優點呢?
1.加密計算量小,計算快,適合一些大數量進行加密。
那他有什麼缺點呢?
1.金鑰傳輸問題,擁有金鑰的一方必須要給另一方傳輸它的金鑰,否者另一方無法加密解密。剛剛說到加密解密都是同一把鑰匙,所以那鑰匙的保密性至關重要。加密者如何在請求時把金鑰傳輸給對方呢?
2.金鑰管理問題,好比你家大門鑰匙,全天下的人都用鑰匙開鎖,不就會存在不同家大門鑰匙一樣的情況嗎。對稱加密也同樣存在這樣的問題。
額外提到一個問題:
會有人質疑對稱加密的加密不安全性,被對稱加密過的資料確實存在被暴力破解的風險,但這種風險是相對較低的。我們暫且不考慮這個問題。
什麼是非對稱加密?
概念:非對稱加密有兩個金鑰:一個公鑰一個私鑰。公鑰私鑰成對存在。如果公鑰對資料加密那就只能用私鑰解密,這是他的一個很重要的特點。
特點:演算法強度強,因此存在解密效能消耗高,但是安全呀。
公鑰對資料加密那就只能用私鑰解密。
提到上面的金鑰傳輸問題,我們就會想到它的傳輸問題。這裡它的傳輸過程是,公鑰私鑰在後端經過計算生成後,私鑰進行資料庫儲存,不予公開,所以不走傳輸。公鑰公開,任何人可見。不存在洩密行的問題。
人們想用對稱加密存在金鑰傳輸問題,想用非對稱加密又存在演算法強度強,效能消耗大的問題。於是就誕生了混合加密。
什麼是混合加密,一般就是將 使用者的資料用對稱加密演算法加密,
用非對稱演算法對對稱機密的金鑰進行加密
傳送資料
私鑰解密非對稱資料
用解密後的金鑰去解密使用者資料
這樣非對稱解密的資料量小佔用效能相對小,對稱加密金鑰傳輸更安全。