gpt4 book ai didi

cryptography - 数字签名公钥

转载 作者:行者123 更新时间:2023-12-04 04:48:52 26 4
gpt4 key购买 nike

关闭。这个问题是off-topic .它目前不接受答案。












想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。

10年前关闭。




Improve this question




我是加密新手。

在公钥密码学中,我们有一对 key ——一个用于加密,一个用于解密。

如果 Alice 希望 Bob 发送她的 secret 消息,她会公布她的加密 key (称为公钥)并将解密 key 保密(称为私钥)。 Bob 使用 Alice 的公钥加密消息,Alice 使用她的私钥解密 Bob 的消息。

到目前为止,我认为我们都同意。

现在让我们看看签名会发生什么。 Alice 想向 Bob 发送一条消息并对其进行签名,以证明 Bob 该消息属于她的 Alice。签名旨在解决身份验证问题。使用公钥密码术,签名是用 Alice 私钥加密的消息摘要(例如校验和),并由 Bob 用 Alice 公钥解密。由于只有 Alice 知道它的私钥,Bob 可以确定该消息来自 Alice。

这是如何解释签名 here :

Some Asymmetric Algorithms (public key algorithms) such as RSA allow the process to work in the opposite direction as well: a message can be encrypted with a private key and decrypted with the corresponding public key. If the recipient wants to decrypt a message with Bob's public key he/she must know that the message has come from Bob because no one else has sender's private key. Digital signatures work this way.



我很困惑的是爱丽丝用来加密签名的这个私钥是什么?
因此,对于签名,我们使用:
  • 相同一组 key ,用于从 Bob 向 Alice 发送安全消息,
    这意味着 Alice 用来解密从 Bob 收到的消息的同一私钥可以
    用于加密消息的摘要,由 Alice 发送回 Bob 或 ...
  • 附加 用于签署 Alice 消息的一对加密/解密 key ,其中
    Alice 发布该对的解密 key 。
  • 最佳答案

    签名为“用私钥加密”的解释是错了 .嗯,大部分。这是对 RSA 签名如何工作的传统解释,但实际上它与 RSA 签名的实际工作方式不匹配,因为存在“填充”之类的东西,即将数据元素转换为大整数并返回。填充的详细信息对于安全性至关重要——您不会将相同的填充用于加密和签名。

    此外,将签名视为“用私钥加密”的观点仅适用于使用“陷门置换”的非对称算法,而许多签名算法则不能(例如 DSA )。所以我建议忘记那个解释,它充其量是令人困惑的。

    使用私钥在给定消息上生成签名算法。它通过消息和公钥进行验证;如果公钥与用于生成签名的私钥对应,则验证算法只有在这是同一条消息时才会说“ok”(或者,更准确地说,在计算上不可能找到一个不同的验证算法仍将接受的消息)。所以签名是一种“非对称”算法,因为它们使用一对 key ,一个是公开的,另一个是私有(private)的。

    有一些 key 对类型(实际上是 RSA key 对)可用于签名和加密(分别使用 RSA 签名算法和 RSA 加密算法——它们不是同一种算法,尽管它们共享相同的数学核心运算)。从技术上讲,您可以为两者使用相同的 key 对;但是,不建议这样做:

  • 由于算法之间的相互作用,可能存在隐含的弱点。关于该主题的研究很少。尽管填充差异应该防止这些,但没有证据。
  • 加密 key 和签名 key 具有不同的生命周期。见 this answer有关详细信息(简而言之:您要备份加密私钥,而不是签名私钥,因此它们不能是相同的 key )。
  • 如果在 RSA 中发现了一些严重的弱点,您可能希望将您的 key 替换为其他算法的 key ,并且无法保证替换的加密和签名算法仍然能够共享相同的 key 类型。
  • 关于cryptography - 数字签名公钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8110566/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com