【问题标题】:Public key encryption vs private key encryption公钥加密与私钥加密
【发布时间】:2014-11-07 14:03:27
【问题描述】:

我在我的项目中实施了非对称加密,使用“公钥”来“加密”消息,使用“私钥”来“解密”消息。

我们是否曾经使用“私钥”来“加密”消息并使用“公钥”来“解密”。如果是,有人可以给我一个用例吗?这种密码学是否也称为“非对称加密”

【问题讨论】:

  • 使用您的私钥加密某些内容的简单示例是签名一些文档/文本/哈希/...
  • @ArtjomB。我试图更广泛地解释here - 不过在投票中并没有取得太大的成功。也许解释太复杂了。
  • @owlstead 我最初搜索过类似的东西,但没有找到。伟大的自我发布。对于 Crypto.SE 来说当然不是太复杂,但 SO 用户可能会遇到问题。
  • @ArtjomB。我已经重组了这个答案,希望现在更容易阅读。

标签: java encryption cryptography public-key-encryption private-key


【解决方案1】:

加密一词被认为是消息本身而言,答案是,因为这样的加密完全没有用.由于公钥应该是公开的,因此每个人都可以使用它来解密。因此,使用私钥加密无法提供机密性。

正如其他人已经提到的那样,在另一边签名是唯一的用例。它不会将加密应用于实际的有效负载(消息)。它使用不同的填充方案对消息(只能从同一消息复制)加密一个加密散列。通过这种方式,您可以确定拥有私钥的实际一方对消息进行了签名。

【讨论】:

    【解决方案2】:

    非对称意味着您不能使用与加密相同的密钥进行解密。 代码签名是使用私钥加密的一种情况。然后,代码的接收者可以使用他们的公钥来验证代码是否未更改。

    【讨论】:

    • 永远不要混淆加密和签名,即使是 RSA。确实,两者都使用模幂运算,但这就是比较结束的地方。甚至模幂运算在 PKCS#1 规范中也被明确地赋予了不同的名称,然后填充和散列也有所不同...
    • Applied Cryptography-Bruce Schneier(1.1. 术语):“有时,消息将使用私钥加密并使用公钥解密;这用于数字签名。”关于 RSA 当然和一般意义上的。同意之前在现实世界中的评论,细节很重要。一些库不允许使用私钥加密 - 例如 MS CryptoAPI
    猜你喜欢
    • 2018-02-27
    • 2013-04-06
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 2013-05-07
    相关资源
    最近更新 更多