我正在研究公钥密码学的主题,我有几个关于如何创建签名的问题。
那么数字签名只是加密的散列吗?如果是这样,那么我可以散列我对称加密的消息,用我的私钥将它传递给签名制造者,然后它可以保证真实性和它的数据不被篡改(因为你必须在另一边重新计算哈希)?相同的私钥和相同的散列会给出相同的签名吗?另一方面,验证者所做的是创建自己的签名版本,并将其与接收到的签名匹配,还是公钥能够解密使用私钥加密的消息?
抱歉,我昨晚刚开始问你这么多问题。提前感谢!
发布于 2017-05-13 08:09:56
PKCS #1v1.5签名基本上是签名散列。因此,从正确签名中提取散列和应用哈希算法( ASN.1 DigestInfo格式)是可能的。
在一些旧术语中,这一操作可能被称为“私钥加密”。但是,不应该使用这个术语,因为私钥操作没有提供您希望从加密(机密性)中获得的安全性,而是允许使用用于验证(真实性)的私钥匹配公钥进行签名。
有关新版本的PKCS标准,请参见RFC 3447 / PKCS #1 v2.1。它调用底层签名基元RSASP1。
引用该文件:
每个原语中的主要数学运算是指数运算,如5.1节的加解密原语。除了输入和输出参数的名称之外,RSASP1和RSAVP1与RSADP和RSAEP是相同的;它们是区分的,因为它们用于不同的目的。
https://crypto.stackexchange.com/questions/47389
复制相似问题