数字签名正如其名——是手写在纸上签名的一种更现代的选择。让我们在这篇文章中深入探讨一下。
数字签名如何工作?
数字签名的基础是公钥密码学,通常称为非对称密码学。使用公钥算法(例如RSA,即Rivest-Shamir-Adleman)生成两个密学上连接的密钥,一个是私钥,一个是公钥。
数字签名的工作原理是通过公钥密码学的两个相互认证的密钥。制作数字签名的人使用私钥对与数字签名相关联的数据进行加密,而只有使用签名者的公钥才能解密。
如果接收方无法使用签名者的公钥访问文档,则存在文档或签名的问题。数字签名就是通过这种方式进行验证的。
使用数字签名技术的所有方必须相信创建签名的人保持了私钥的机密性。如果第三方能够访问私有签名密钥,他们可能会伪造以私钥持有者的名义进行数字签名。
如何创建数字签名?
签名软件(例如电子邮件程序)提供了要签名的电子数据的单向哈希,以建立数字签名。
哈希是由算法生成的一串具有固定长度的字母和数字。然后,使用数字签名的创建者的私钥对哈希进行加密。数字签名包括加密的哈希以及其他详细信息,如哈希算法。
哈希而不是完整的消息或文档被加密,因为哈希函数可以将任何输入转换为通常明显较短的固定长度值。由于哈希比签名快得多,因此可以节省时间。
哈希的值取决于其哈希的数据。如果以任何方式更改数据,即使是更改一个字符,该值也将更改。这个特性使得其他用户可以使用签名者的公钥解密哈希并验证数据的完整性。
如果解密的哈希与相同数据的第二个计算的哈希匹配,这表明数据在签名后没有发生变化。如果两个哈希不匹配,可能存在认证问题或数据已被篡改并且已被破坏。签名是用与签名者提供的公钥不匹配的私钥进行的。
任何类型的消息都可以使用数字签名,无论它是否加密,只是接收方可以确信发送方的身份并确保消息完好无损。数字签名使得签署者否认签署某些内容变得困难,因为数字签名对文档和签署者都是唯一的,将它们绑定在一起。这种性质被称为不可否认性。
数字证书不应与数字签名混淆。数字证书是一份具有发行CA的数字签名的电子文档。通过将公钥与标识连接起来,可以使用数字证书验证公钥属于某个特定的个人或实体。
由于大多数现代电子邮件程序接受数字签名和数字证书的使用,因此签署任何传出的电子邮件并验证数字签名的传入消息变得非常简单。
希望阅读本文《数字签名如何工作?如何创建数字签名?》能够帮助您更好地理解。





















