随着信息化时代的发展,相信很多年轻人都没有写过信,但是经历过的人都知道,在信件落款处往往都要留下自己的姓名,以确定和表明我们的身份。但你可听说过“数字签名”?

数字签名

“数字签名”简单的来说,就是在网络中传输数据时候,给数据添加一个数字签名,表示是谁发的数据,而且还能证明数据没有被篡改。

为了更好的了解“数字签名”,下面我们来举个例子:

张三有两个好友:A和B,张三和A、B写邮件的时候为了安全都需要加密。

于是张三想到了数字签名:

第一步:加密采用非对称加密,张三有三把钥匙,两把公钥,送给朋友,一把私钥留给自己。

数字签名
图片来源于网络

第二步:A或者B写邮件给张三。A先用公钥对邮件加密,然后张三收到邮件之后使用私钥解密。

数字签名
图片来源于网络

第三步:张三写邮件给A或者B。

(1)张三写完邮件,先用hash函数生成邮件的摘要,附着在文章上面,这就完成了数字签名,然后张三再使用私钥加密。就可以把邮件发出去了。

(2)A收到邮件之后,先把数字签名取下来,然后使用自己的公钥解密即可。这时候取下来的数字签名中的摘要若和张三的一致,那就认为是张三发来的;再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。

数字签名
图片来源于网络

看完上面的简单介绍,我们可以知道“数字签名”其主要作用就是能够保证数据的有效性(验证是谁发的)和完整性(证明信息没有被篡改)。它类似于写在纸上的物理签名,同样具有法律效应。