我想使用混合加密技术,它结合了AES技术和RSA技术来加密数据块。由于这种技术涉及使用AES算法生成随机密钥加密数据,然后RANDOM KEY是也使用RSA算法加密公钥。但我很困惑这里将使用什么算法来生成我的随机密钥和公钥。将使用单个密钥生成算法来生成随机密钥和公钥吗?或者我应该使用两种不同的方法来生成这些密钥???请通过提供合适的解决方案来清除我的困惑。
答案 0 :(得分:1)
公钥/私钥对在数学上是相关的,因此需要使用明显不同的算法来生成它们。它们具有非常特定的属性,这也是您需要这么大的密钥(1024位或更多)才能拥有安全密钥的原因。
AES之类的对称密码使用更短的密钥,因为密码不依赖于密钥本身的任何特定数学属性。这就是为什么只用AES的128位密钥就可以获得良好的安全性。
通常,您描述的体系结构使用AES和一次性随机会话密钥来加密批量数据,然后私钥加密AES会话密钥。公钥/私钥对提前生成并用于多条消息。会话密钥更改消息到消息。 (正如我记得的那样,这是PGP背后的基本思想。)
如果您不理解这些元素之间的差异以及它们的使用方式,我是否可以建议您依靠已经过验证的软件,如GPG,PGP或基于它们的库?