对于不对称加密,例如RSA,我知道Alice可以用她的秘密密钥对文档进行签名,并将其发送给Bob,然后他可以对其进行验证。
标志:\sigma=m^d \bmod N
核实:v=\sigma^e \bmod N
这可能是个愚蠢的问题,但如果情况正好相反,Bob想要向Alice发送一份文档。他要怎么签才能说是他写的。他能不能在不引入“Bob的秘密密钥”的情况下,只使用所提供的方案,还是必须这样做呢?还是有更好的方法?
发布于 2016-12-10 21:28:28
为了证明他签署了这份文件,他需要知道一些别人不知道的事情。在Alice的例子中,她知道她的私钥(我们通常在谈论签名密钥时使用私有一词而不是秘密),而且我们假设没有其他人知道它。
在Bob的例子中,每个人都知道Alice的公钥;因此,如果他以某种方式使用它来签署文档,那么其他人也可以这样做,这样签名就不会证明它是来自Bob的。
Bob还可以尝试其他方法来证明真实性(可能Bob和Alice共享一个其他人都没有的对称密钥;也许Bob与一个愿意为Bob担保的可信第三方有安全连接),但是,保持在一个简单的非对称协议的范围内,是的,Bob需要自己的私钥。
发布于 2016-12-10 21:29:54
公钥加密中的“保密”必须起源于某个地方。如果鲍勃拥有的一切都是公开的,那么任何人都可以模仿他。必须有一些对鲍勃来说是独一无二的东西,让其他人来确认他的身份。因此,Bob也需要一个秘密密钥。
这里有一些你可能感兴趣的事情:基于身份的加密
这种方法利用了Bob的独特身份。)而不是用于加密的“秘密密钥”。在这种情况下,“保密”来源于可信的第三方,它为Bob提供了一个独特的身份(例如。鲍勃的电子邮件提供商)。
https://crypto.stackexchange.com/questions/42201
复制相似问题