我想使用混合加密技术,它涉及到AES技术以及用于加密数据块的RSA技术的组合。由于该技术涉及使用AES算法生成用于加密数据的随机密钥,并且随机密钥也是使用RSA算法通过公钥加密。但我很困惑这里使用什么算法来生成我的随机密钥和公钥。将使用单个密钥生成算法来生成随机密钥以及公钥?或者我应该使用两种不同的方法来生成这些键?请通过提供合适的解决方案来澄清我的困惑。什么方法或技术用于生成随机混合加密技术所需的随机密钥和公钥?
-2
A
回答
1
公钥/私钥对在数学上是相关的,因此需要一个显着不同的算法来生成它们。它们具有非常特定的属性,这也是为什么您需要这样一个大密钥(1024位或更多)才能拥有安全密钥。
对称密码(如AES)使用更短的密钥,因为密码不依赖密钥本身的任何特定数学属性。这就是为什么您只需使用AES的128位密钥即可获得良好的安全性。
通常,您所描述的体系结构使用AES与一次性随机会话密钥来加密批量数据,然后使用私钥加密AES会话密钥。公钥/私钥对提前生成并用于多条消息。会话密钥更改消息到消息。 (这是PGP背后的基本想法,我记得)。
如果你不明白这些元素之间的差异以及它们是如何使用的,我可能会建议你依赖已经被证实的软件,如GPG,PGP或基于它们的库?
相关问题
- 1. 如何在C#中使用公钥和私钥加密技术
- 2. SSL密钥交换加密技术
- 3. 随机密钥生成
- 4. 使用随机生成的密钥进行加密和解密?
- 5. Javascript或jquery加密技术
- 6. Simplejson和随机密钥值
- 7. iOS生成RSA非随机密钥对?
- 8. Ruby OpenSSL AES生成随机密钥
- 9. KeyPairGenerator没有生成随机密钥
- 10. 是AES密钥随机?
- 11. Deserialise JSON与随机密钥
- 12. 最佳加密技术
- 13. PHP中公钥加密的非随机替代方案?
- 14. 索引多个密钥用于不同密钥组合中的随机查询
- 15. 波雷费密码随机密钥(C#)
- 16. parse_str随机向密钥添加分号
- 17. 私钥分配技术?
- 18. 生成随机密钥作为唯一的ID(用完随机数)。
- 19. 随时掌握技术
- 20. OpenSSL编成密码随机密钥和IV-存放在DB
- 21. 使用SQL Server的随机密钥生成
- 22. 用随机密钥循环json
- 23. 使用ObjectMapper的加密技术
- 24. 记住随机选择的密钥
- 25. 需要使用密钥的可重复的随机数组随机洗牌
- 26. Windows产品密钥 - 来自不同技术的不同答案
- 27. 什么技术/ API /技术用于网络监控?
- 28. 生成随机密码
- 29. 生成随机密码?
- 30. PHP生成随机密码
欢迎来到Stackoverflow。本网站仅用于与编程直接相关的问题。这个问题属于crypto.stackexchange.com,但我建议你首先获得有关加密领域的更好的知识;你一定会犯错,否则可能很容易使你试图实现的安全无效。 –