首页 百科知识 数字化的“笔迹鉴定”

数字化的“笔迹鉴定”

时间:2022-08-25 百科知识 版权反馈
【摘要】:数字签名用来确定信息的真实性,并且确认该信息是由署名者本人发送的。数字签名是一个数字串,只能由信息的发送者生成。此外,由于数字签名的基本原理是在信息中嵌入发送者本人的身份信息,并且这种身份信息必须具有唯一性,而公钥密码中的私钥恰好符合这种特性,所以,RSA算法也是数字签名的常用算法。

数字签名用来确定信息的真实性,并且确认该信息是由署名者本人发送的。数字签名是一个数字串,只能由信息的发送者生成。

可靠性上,数字签名具有以下原则:

1.签名可以被确认:接收方能够验证发送方签名的真实性和有效性;

2.签名不可被伪造:除了发送方以外,任何人无法伪造签名;

3.签名不可重复使用:对于同一个发送方来说,不同信息的签名是不相同的,同一信息的再次发送,签名也是不相同的;

4.签名后信息无法被篡改:签名可以验证信息的完整性;

5.签名不可被否认:签名具有唯一性,签名者无法抵赖自己发出的信息。

数字签名有很多方法,比如,利用数学函数从信息中提取摘要值作为签名内容,这一点与信息的完整性验证相一致,因此,单向散列函数是实现数字签名的方法之一。此外,由于数字签名的基本原理是在信息中嵌入发送者本人的身份信息,并且这种身份信息必须具有唯一性,而公钥密码中的私钥恰好符合这种特性,所以,RSA算法也是数字签名的常用算法。

RSA算法数字签名的过程是:发送方用自己的私钥对信息签名,并将信息和签名一并发送给接收方;接收方收到密文后,利用发送方的公钥采用相应的验证方程对签名进行验证,判断其是否有效。如下页图:

RSA签名仍然使用了原来的加密解密算法,但公钥与私钥的用法不同。在原来的算法中,加密使用公钥,解密使用私钥,即:

加密:C=Memod n

解密:M=Cdmod n

而在签名算法中,签名使用私钥,验证使用公钥,即:

签名:C=Md mod n

验证:M=Ce mod n

上述公式中,e和d分别表示公钥和私钥,C分别表示密文和签名后的信息。

下面以一个例子来说明RSA数字签名的过程。

数字签名与验证

用户A需要向用户B发送信息,双方约定,当B接收到信息后,应立即向A回发一个字符串“good”,代表“我已接收到”。但此时A无法确认这条信息是不是真正由B发出的,因此,B在发送“good”的时候需要进行签名,以便向A证明自己的身份。

在签名之前,B已经按一定的算法生成了自己的公钥e=7和私钥d=23,以及参数n=187,并且将公钥e=7和n=187告知了A。签名及验证过程如下:

1.B将字符串“good”转换成ASCII码,分别为“103111111100”;

2.B利用私钥d=23对信息进行签名,计算如下:

10323mod 187=86

11123mod 187=155

10023mod 187=144

3.B将签名“86155155144”发送给A;

4.A用B的公钥e=7对签名进行验证:

867mod 187=103

1557mod 187=111

1447mod 187=100

从计算结果可以验证出信息“good”确实是由A发的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈