RSACryptoServiceProvider.KeySize尺寸有什么影响?

What effect does RSACryptoServiceProvider.KeySize size have?

我有一个大小为 42 的字节数组。

我正在使用 RSACryptoServiceProvider 对象对此进行加密:

$keySize = 16384
$rsaProvider = New-Object System.Security.Cryptography.RSACryptoServiceProvider($keySize)

你需要一台 cray 超级计算机来使用这么大的密钥解密吗?

在内存等方面使用 $keySize = 2048 而不是 16384 有什么好处吗?

使用更大的密钥大小会导致更大的素数和模数,这使得对模数进行因式分解以从中提取素数以揭示私钥变得更加困难。

RSA 基于模块化算法。更大的密钥大小还意味着必须对更大的数字执行求幂运算。密钥生成和解密会慢很多。加密会慢一点。

2048 是今天的最低推荐。您可能想使用 4096,但 16384 对于您的用例来说几乎肯定太多了。但这取决于攻击模型和攻击者的能力。