加密某些数据和对某些数据进行签名(使用RSA)有什么不同?
它是否简单地颠倒了公钥-私钥的角色?
例如,我想使用我的私钥来生成消息,这样只有我才有可能成为发送者。我希望我的公钥用于阅读消息,我不关心谁阅读它们。我希望能够加密某些信息,并将其用作我的软件的产品密钥。我只关心我是唯一能生成这些的人。我希望在我的软件中包含我的公钥,以解密/读取密钥的签名。我不关心谁可以读取密钥中的数据,我只关心我是唯一可以生成这些数据的可验证的人。
签名在这种情况下有用吗?
发布于 2009-01-17 13:11:04
签名是用你的私钥生成一个“散列”,可以用你的公钥来验证。文本以明文形式发送。
加密使用接收方的公钥来加密数据;解码是用他们的私钥完成的。
因此,密钥的使用不会颠倒(否则您的私钥将不再是私有的!)。
发布于 2009-01-17 13:20:27
您确切地描述了如何以及为什么在公钥密码术中使用签名。请注意,对其他人提供的任意消息进行签名(或加密)是非常危险的-这允许对算法进行攻击,从而可能危及您的密钥。
发布于 2009-01-17 15:08:38
签名表明你确实是被签名对象的来源或担保。不过,每个人都可以读取该对象。
加密意味着只有那些拥有相应私钥的人才能读取它,但如果没有签名,就不能保证您处于加密对象的后面。
https://stackoverflow.com/questions/454048
复制