我可以在.NET中加載一個128位RSA密鑰,並將其用於解密。但我似乎無法生成128位(或更低)的密鑰,我總是得到錯誤'指定的無效標誌'。當我嘗試512位密鑰大小時,一切正常。那麼對於.NET來說,512位的最小密鑰大小是多少?.NET RSA加密:最小密鑰大小?
1
A
回答
3
每個AsymmetricAlgorithm和SymmetricAlgorithm都有一個屬性LegalKeySizes,可以幫助您確定密鑰大小是否對算法有效。從鏈接,您可以打印出的有效密鑰大小的算法使用的是:
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
for (int i = 0; i < rsa.LegalKeySizes.Length; i++)
{
KeySizes key_size = rsa.LegalKeySizes[i];
Console.WriteLine(String.Format("[Key Size {0}] - min: {1}, max: {2}, step: {2}",
i, key_size.MinSize, key_size.MaxSize, key_size.SkipSize));
}
對於RSACryptoServiceProvider,這將打印:
[密鑰大小0] - 最小:384,最大: 16384,步驟:16384
5
512位(技術上)是RSA密鑰的最小大小,但它不安全。現在1024位是絕對最小值,推薦2048位。
注意,RSA中的1024位在安全級別上對應於128位對稱算法。也許你混淆了這些值,認爲128位對於非對稱和對稱加密是相同的,但不是,它們不是。
相關問題
- 1. 具有大密鑰大小的RSA加密
- 2. RSA加密輸出大小
- 3. RSA的最小密鑰長度
- 4. .NET DSACryptoServiceProvider密鑰大小
- 5. 試圖瞭解Java RSA密鑰大小
- 6. .NET中的最小郵件大小公鑰加密
- 7. .NET私鑰Rsa加密
- 8. RSA加密 - 如何加密到更小的尺寸比密鑰
- 9. 大密鑰大小的加密算法
- 10. 使用大於密鑰大小的密鑰加密消息
- 11. RSA加密,密鑰存儲
- 12. 加密密鑰大小和算法
- 13. 使用公鑰進行RSA加密。基於密鑰的數據大小
- 14. RSA解密後AES密鑰大小無效
- 15. JSEncrypt RSA 2048加密輸出大小
- 16. RSA加密數據塊大小
- 17. Cassandra的最大密鑰大小
- 18. PBE中的最大密鑰大小?
- 19. NSDictionary數據密鑰的最大大小
- 20. TLS 1.2 - 密鑰對大小和加密密鑰長度
- 21. Java中小於512位的RSA密鑰大小
- 22. 如何設置使用aspnet_regiis創建的RSA密鑰的密鑰大小?
- 23. RSA加密公鑰?
- 24. C#和PHP加密/解密密鑰大小的PHP問題
- 25. Java RSA加密 - 解密.NET
- 26. RSA .NET加密Java解密
- 27. iPhone - 使用SecKeyGeneratePair的iOS RSA算法中的最小密鑰大小(InBits)
- 28. .Net RSA加密,Java RSA解密
- 29. RSA密鑰加密/解密問題
- 30. 無法解密RSA加密密鑰
您可以更具體地瞭解您正在使用的API嗎? – 2011-01-31 15:35:39
你爲什麼在意?低於512位的RSA密鑰被完全破壞。 – CodesInChaos 2012-04-18 14:51:18