-3

跟进这个问题,我想知道 RSA 密钥是什么,以及我将如何在 C# 中创建和使用密钥。

4

2 回答 2

7

来自维基百科

在密码学中,RSA(代表第一个公开描述它的 Rivest、Shamir 和 Adleman;见下文)是一种用于公钥密码学的算法。它是已知的第一个适用于签名和加密的算法,也是公钥密码学的第一个重大进步之一。RSA 广泛用于电子商务协议中,并且在足够长的密钥和使用最新实现的情况下被认为是安全的。

你看过RSACryptoServiceProvider类吗?.NET 使大多数应用程序都可以轻松实现这一点。

于 2009-09-25T18:55:10.233 回答
1

有两种加密方式:对称和非对称。

对称加密使用在发送者和接收者之间共享的单个密钥。

非对称加密,也称为公钥加密,使用两个密钥(密钥对),其中一个(私钥)保密,另一个(公钥)可供其他所有人使用。发送方使用接收方的公钥加密数据,接收方使用自己的私钥解密。

RSA 是一种非对称/公钥加密方案。

AES 是一种对称加密方案。

混合方案将两者结合起来,因此数据使用对称加密进行加密,但加密密钥本身使用非对称加密进行加密、存储和交换。

因此,您需要弄清楚您打算如何管理加密密钥。如果您正在设计一个只需要加密事物(例如,SSN 或密码)以将它们保存到数据库中然后在需要使用它们时解密它们的系统,那么对称加密是合适的。如果您打算跨不同系统传输加密信息,那么非对称(或混合)加密是合适的。

于 2009-09-25T20:13:53.290 回答