现在我知道这是一个非常开放的问题,例如“一条弦多长时间”,但我是这个游戏的新手。
从我的基本理解(在我深入研究这个主题之前),我相信AES 256bit加密是非常安全的。
我的需求是使用.Net使用尽可能最安全的加密来生成私钥和公钥。
现在我从专家的角度知道这可能是一个天真的问题,但请帮助我扩展我的知识,并提出最佳方法,算法以及此类项目中需要考虑的其他事项。
非常感谢。
答案 0 :(得分:2)
可能没有这样的东西可用。您的加密级别应与与数据关联的线程成比例。请记住,通常由人类创造的任何东西都可以被人类打破。
如果您想使用一对密钥加密/解密数据,您很可能会走上非对称加密的路径 - google it。从.NET点开始,您可以查看RSA algorithm的实现,其中considered to be secure的密钥大小为 1024 2048位或更多。
答案 1 :(得分:0)
您无需加密即可生成公钥/私钥。这是一个数学运算。然后将密钥用于加密。
快速概述它们如何连接在一起是
第2部分将使用散列和签名等方案来确保通信是真实的和未被禁止的。 PKI非常慢,所以尽管你可以在实践中使用它来保护通信,但它通常只在开始时使用,然后使用更快的方案,如AES。
其中很多内容应该出现在维基百科上,并查看Bruce Schneier的作品。
答案 2 :(得分:0)
AES是一种对称算法 - 意思是一键......如果你想要密钥对查找RSA库......快速谷歌搜索提供以下链接: