對稱和非對稱加密簡介
你可以通過實施加密技術來提高資料傳輸或儲存的安全性。使用 System.Security.Cryptography 時,基本上有兩種方法 : 對稱和非對稱。
對稱加密
此方法使用私鑰來執行資料轉換。
優點:
- 對稱演算法消耗的資源更少,並且比非對稱演算法更快。
- 你可以加密的資料量不受限制。
缺點:
- 加密和解密使用相同的金鑰。如果金鑰被洩露,有人將能夠解密你的資料。
- 如果你選擇對不同的資料使用不同的金鑰,則最終可能需要管理許多不同的金鑰。
在 System.Security.Cryptography 下,你有不同的類執行對稱加密,它們稱為分組密碼 :
- AesManaged ( AES 演算法)。
- AesCryptoServiceProvider ( AES 演算法 FIPS 140-2 投訴 )。
- DESCryptoServiceProvider ( DES 演算法)。
- RC2CryptoServiceProvider ( Rivest Cipher 2 演算法)。
- RijndaelManaged ( AES 演算法)。注意 :RijndaelManaged 不是 FIPS-197 投訴。
- TripleDES ( TripleDES 演算法)。
非對稱加密
此方法使用公鑰和私鑰的組合來執行資料轉換。
優點:
- 它使用比對稱演算法更大的金鑰,因此它們不易被使用強力破解。
- 更容易保證誰能夠加密和解密資料,因為它依賴於兩個金鑰(公共和私有)。
缺點:
- 你可以加密的資料量有限制。每種演算法的限制是不同的,並且通常與演算法的金鑰大小成比例。例如,金鑰長度為 1,024 位的 RSACryptoServiceProvider 物件只能加密小於 128 位元組的訊息。
- 與對稱演算法相比,非對稱演算法非常慢。
在 System.Security.Cryptography 下,你可以訪問執行非對稱加密的不同類: