我无法理解RSA加密算法。
假设我们有两个人Alice和Bob,每个人都有自己的私钥和公钥。为了让Alice发出只有Bob可以阅读的消息,我们只是用Bob的公钥发送加密消息吗?
同样,为了让Alice发送一条消息,每个人都可以验证它是否来自她,我们只是发送加密消息和Alice的公钥吗?
谢谢!
答案 0 :(得分:0)
您需要了解的是公钥基础结构。这个结构包括每个"用户" 2个密钥,一个公共密钥,一个私有密钥。 PKI使用可以使用User1的公钥加密消息的算法,并且只知道User1的私钥,可以解密该消息。要使用您的示例,任何人都可以使用Alice的公钥加密消息,但只有Alice可以对其进行解密,因为Alice是唯一拥有私钥对应部分的人。
PKI或非对称密码比对称密码慢,这就是PKI仅用作对称密钥密码的前身的原因。有关详细信息,请参阅https://en.wikipedia.org/wiki/Public-key_cryptography。答案 1 :(得分:0)
假设我们有两个人Alice和Bob,每个人都有自己的私钥和公钥。为了让Alice发出只有Bob可以阅读的消息,我们只是发送一条带有Bob公钥的加密消息吗?
是的,邮件使用Bob的公钥加密,并使用私钥加密。 (请注意,消息的大小是由RSA密钥大小决定的,因此对于大型消息的加密,RSA加密用于共享对称加密密钥)
同样,为了让Alice发送一条消息,每个人都可以验证它是否来自她,我们只是发送一条带有Alice公钥的加密消息吗?
这是不正确的。这种情况如果称为“数字签名”。消息使用像SHA这样的散列算法进行消化,结果使用Alice的私钥加密。这是签名。 Bob可以使用Alice的公钥验证消息和签名(解密签名并检查消息的散列是否与加密的散列相同)。如果验证成功,您就知道它已由Alice发行,因为她拥有私钥