Key-Size

C# Triple DES Encryption 需要 128 位密鑰還是 192 位密鑰

  • June 7, 2018

我在 C# 中有以下程式碼

using System.Web.Security;

TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Key = keyArray;
ICryptoTransform cTransform = tdes.CreateEncryptor();
byte[] resultArray =
           cTransform.TransformFinalBlock(plainTextArray, 0,
               toEncryptArray.Length);

程式碼是使用 Key1 Key2 Key1 加密方法還是 Key1 Key2 Key3 加密方法?我聽說根據它使用的方法,第一種方法需要 128 位密鑰,第二種方法需要 192 位密鑰。

文件指出

該算法支持從 128 位到 192 位的密鑰長度,以 64 位為增量。

這是一種有點奇怪但可以理解的方式來說明您可以傳遞 128 位密鑰或 192 位密鑰。

要查看使用什麼,請查看您正在實施的任何遺留系統的文件。目前的安全標準傾向於禁止雙密鑰 DES(這意味著 128 位密鑰)並建議反對三密鑰 DES(這意味著 192 位密鑰)。如果不強制您使用兩鍵 DES,請使用三鍵 DES。如果您沒有被迫使用 DES,請使用 AES(對於 AES,128 位密鑰就可以了)。

引用自:https://crypto.stackexchange.com/questions/59870