RSA非常慢,并且具有填充的开销。因此,生成随机对称密钥,使用RSA加密它,并使用对称密钥加密消息是很常见的。这种方法被称为 混合密码系统 。
如果使用单个密钥加密多个消息,则IV很重要,但由于此代码为每个消息创建了一个新密钥,因此IV在这里并不重要。仍然使用IV可以防止多目标攻击,因此对于唯一密钥并不完全没用,特别是如果密钥只有128位。
这段代码也非常低效:它分别加密IV和密钥,而不是连接它们。这使RSA开销翻倍。
模数和指数是RSA公钥的两个部分。查找维基百科了解详情。通常选择指数为 2^16 + 1 = 65537 ,对应于 {1,0,1} 在这段代码中。
2^16 + 1 = 65537
{1,0,1}