我敢肯定这是以前问过的。这太明显了。
来自维基百科
“数字签名,其中一条消息使用发件人的私钥签名,并可由任何访问发件人的公钥的人进行验证。”
所以,假设Bob给Alice发送了一条未加密的消息,Charlie无意中听到了。有什么能阻止查理用那把私钥在自己的信息上签名,从此就有能力模仿鲍勃了?
那么,是否有必要对一些也未加密的消息进行数字签名?还是所有使用数字签名的通信都被加密了?维基百科似乎有两个独立的想法,但我看不出不加密的签名用例,也看不出不加密加密和加密签名的用例。
发布于 2018-11-06 01:12:04
所以,假设Bob给Alice发送了一条未加密的消息,Charlie无意中听到了。有什么能阻止查理用那把私钥在自己的信息上签名,从此就有能力模仿鲍勃了?
Alice已经拥有了Bob的公钥\text{pub}_{B},而Bob是唯一能够访问相应的私钥\text{priv}_{B}的。
私钥不与任何人共享,而公钥可以发布。
Bob可以使用\text{priv}_{B}执行签名过程,该过程从消息m创建签名s。
然后Alice获取s, m并与\text{pub}_{B}一起使用它们来执行验证过程,如果使用m, \text{priv}_{B}创建s,则只输出1。
Charlie没有\text{priv}_{Bob},因此他无法为通过Alice将执行的验证过程的任何m创建值s。(至少,假设签名方案是安全的,他不能以不可忽略的概率这样做)。
那么,是否有必要对一些也未加密的消息进行数字签名?
是
还是所有使用数字签名的通信都被加密了?
不是
维基百科让人觉得有两个独立的想法
这是两个独立的想法。
数字签名提供签名消息的真实性和完整性--如果签名验证正确,那么您就知道消息来自Bob,没有被篡改。
加密提供机密性,这意味着未经授权的各方无法了解消息的内容。
但我看不出不加密的签名用例,也看不出不加密和加密的用例。
有很多不用加密的签名用例。
将公钥交换为公钥加密或密钥协议是最重要的例子之一(例如公钥基础设施)。
https://crypto.stackexchange.com/questions/63723
复制相似问题