gpt4 book ai didi

encryption - 使用 RSA 加密,我应该使用相同的证书来签署和加密消息吗?

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

如果我想使用 X509 证书对消息进行签名和加密,是否有任何理由不使用相同的证书进行加密和签名?

更新:回首往事,我认为这一定是我在 SO 上问过的最愚蠢的问题。对不起。

最佳答案

发件人使用自己的私钥对消息进行签名。消息使用收件人公钥加密。证书包含公钥。据推测,发送者公钥(对应于用于签署消息的发送者私钥)也在证书中表示。

接收者使用自己的私钥(对应于他证书中的公钥)来解密传入的消息。收件人使用发件人公钥(来自发件人证书)来验证签名。

话虽如此,您可能会设想一个通用场景,每个人都可以发送和接收电子邮件。因此,每个人都有一个 key 对(在证书中带有公共(public)部分),用于加密和解密电子邮件(Bob 的公钥用于加密发送给 Bob 的电子邮件,Bob 使用相应的私钥解密它们,即阅读电子邮件)。此外,每个人都有一个用于签名的 key 对(Bob 使用他的私钥对他发送的消息进行签名,Alice 使用 Bob 的公钥来验证据称由 Bob 计算的签名)。
那么问题来了:Bob 将有两个 key 对(一个用于加密/解密,一个用于签名/验证),还是只有一个用于两个工作的 key 对?

碰巧 RSA 公共(public)加密算法和 RSA 签名算法可以使用同一种 key ,称为(相当合乎逻辑的)“RSA key ”。所以这是可行的,实际上它经常发生。

但是,一般来说,签名 key 和加密 key 具有不同的生命周期和管理程序。在业务环境中,该方向将用于加密的所有私钥的副本保存在安全中,因为丢失加密 key 意味着丢失数据。员工可能会变得“不可用”(员工被解雇,员工退休,员工被公共(public)汽车撞到......)。相反,当签名 key 丢失时,之前发出的签名仍然有效且可验证,因此只需创建一个新的 key 对即可生成其他签名。此外,只有在某个保险箱中没有 key 副本的情况下,数字签名才能获得强大的法律地位。因此,一般建议是将加密 key 和签名 key 分开。对两者使用相同的 key 是一种近似值,可能会产生不必要的副作用(例如数据丢失或缺乏法律值(value))。根据上下文,这可能是也可能不是问题。

关于encryption - 使用 RSA 加密,我应该使用相同的证书来签署和加密消息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2876526/

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