系統設計 摘要、對稱加密、非對稱加密

摘要

採用單向加密算法,比如 MD5,SHA1,MAC 等,這是一種數據完整性的加密,這種單向加密一般我們稱爲摘要,而不是純意義上的加密。防止數據在傳輸過程中被篡改,因爲摘要是不可逆的,比較常見的場景,某會員系統裏,會員密碼信息都是通過摘要入庫的,驗證密碼是否一致,也是通過對比摘要,這保護了用戶密碼的安全性。

對稱加密

對稱加密體制要求加密與解密使用同一個共享密鑰,解密是加密的逆運算,由於雙方共享同一個密鑰,就要求必須在通信前商定該密鑰,並妥善保管。我們在網絡中傳輸密鑰時,往往爲了密鑰的安全性,再對密鑰進行一次非對稱加密。對稱加密有兩種方式,一種是基於固定密鑰的加密與解密,另一種是基於隨機源密鑰的加密與解密。

常用的一些對稱加密: DES、AES、3DES、RC4、RC5、RC6 等。

非對稱加密

非對稱加密體制的加密密鑰和解密密鑰不同,一個公開,稱爲公鑰;一個保密,稱爲私鑰。因此,通信雙方都有一對自己的公私鑰,私鑰自己保管好,公鑰提供給對方。

如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密。

如果用私有密鑰對數據進行加密,只有用對應的公開密鑰才能解密。

非對稱加密一般有兩種:
1)進行數據認證(鑑權)服務校驗,保證信息的來源,防止信息被篡改。發送方私鑰加簽,接收方公鑰驗籤
2)對數據進行加密,發送方公鑰加密,接收方私鑰解密

另:

1)私鑰用於簽名、公鑰用於驗籤

簽名和加密作用不同,簽名並不是爲了保密,而是爲了保證這個簽名是由特定的某個人簽名的,而不是被其它人僞造的簽名,所以私鑰的私有性就適合用在簽名用途上。

私鑰簽名後,只能由對應的公鑰解密,公鑰又是公開的(很多人可持有),所以這些人拿着公鑰來解密,解密成功後就能判斷出是持有私鑰的人做的簽名,驗證了身份合法性。

2)公鑰用於加密、私鑰用於解密,起到加密作用

因爲公鑰是公開的,很多人可以持有公鑰。若用私鑰加密,那所有持有公鑰的人都可以進行解密,這是不安全的。

若用公鑰加密,那隻能由私鑰解密,而私鑰是私有不公開的,只能由特定的私鑰持有人解密,保證的數據的安全性。

由於非對稱加密算法的低效,所以各密碼機構主張對稱加密算法和非對稱加密算法結合,用對稱加密算法加密內容,用非對稱加密算法加密對稱算法的密鑰。在算法設計上,非對稱加密算法對待加密數據長度要求極爲苛刻。比如,RSA算法要求待加密數據長度不得超過53個字節。所以,非對稱加密主要用於交換對稱加密的祕密密鑰,而非數據內容上的加密。

常用的一些非對稱加密: DSA、RSA、ECDSA 等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章