gpt4 book ai didi

cryptography - 公钥和私钥有何不同?

转载 作者:行者123 更新时间:2023-12-03 12:41:49 25 4
gpt4 key购买 nike

我对 Given a private key, is it possible to derive it’s public key? 有后续问题

公钥和私钥是否“相同”(从某种意义上说,您只是选择公开一个)还是您可以使用私钥而不是使用公钥做更多的事情?

编辑 - 更好地陈述我的问题:

生成两个 key 后,我可以随机选择其中一个作为公钥吗?

最佳答案

一些论文描述将公钥和私钥的角色呈现为非常对称,但您绝对不能在现实世界中交换私钥和公钥的角色。

常用 :

  • 公钥必须用于加密和验证签名
  • 必须使用私钥进行解密和签名

  • 有几个原因:
  • 您不想让用户选择应该发布哪个 key ,哪个不应该发布 .公钥在全局范围内发布,您可以将其视为您的公共(public)身份。当您必须向其他人证明您比其他人更了解此身份时,需要私有(private)部分:您可以阅读发送给它的消息,您可以签署可以由知道您的公共(public) ID 的任何人验证的消息。如果要发布的公钥/私钥的哪一部分留给用户,那么您将以用户同时发布这两种方式结束。但这不是主要原因。
  • 当您拥有私钥时,您确实拥有两个 key 我知道的每个常见实现都提供了从私有(private)文件中提取公钥的工具。这对于 pgp、gpg、openssl 来说都是如此。这意味着所谓的私钥文件存储了算法中描述的私钥和公钥。这是设计使然。

  • 例如,使用 openssl 生成 RSA key 对的命令序列可以是:
    openssl genrsa -out private.key 2048
    openssl rsa -in private.key -pubout -out public.key

    应该很清楚,第一个命令在私钥文件中生成两个 key ,而公钥只是从中提取出来的。

    结果是,如果您的私钥被泄露,那么您的两个 key 都会被泄露。另一种方法是安全的,如果您既不从文件中也不从数学攻击中知道公钥,则无法推断出私钥。
  • 使用私钥加密在数学上很弱 : 好吧,前一点已经足够了,但是一些狡猾的用户可能会考虑使用非对称密码学
    保持两个键隐藏以交换数据。不要,如果你想进行这种交换,请使用对称加密。是的,可以使用私钥加密消息并使用公钥解密(这基本上是用于签名的,但用例不同,因为您也有初始消息)。两个 key 的内部参数不相同,并且密码学的所有强度都已被证明仅用于通常的方向和常用用途。
  • 关于cryptography - 公钥和私钥有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/696563/

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