数字签名

数字签名过程:A-->B发邮件

A先对原文用哈希算法生成摘要,再用私钥对摘要进行加密生成数字签名,将原文与数字签名送给B;

B先用A的公钥对数字签名进行解密,然后对A的原文也用哈希算法生成摘要,对比两个摘要是否相同。


为了防止第三方冒充,引入了数字证书CA

这时A需要做的有:

A把公钥发送给CA,CA用自己的私钥把A的信息和A的公钥生成数字证书;

A先对原文用哈希算法生成摘要,再用私钥对摘要进行加密生成数字签名,将原文、数字签名、数字证书送给B

这时B需要做的有:

B也把公钥发送给CA,CA用自己的私钥B的信息和B的公钥生成数字证书;(若B给回信,与A给B发信息的过程一致)

B拿到CA的公钥对A的数字证书进行解密,然后验证A的信息是否正确并且得到A的公钥,用A的公钥对A的数字签名进行解密得到摘要,然后对A的原文进行哈希运算得到的摘要与解密的摘要进行对比。

优点:A、B各自得到对方证书后,利用从CA得到的公钥(在CA的自签证书中)验证彼此对方的证书是否有效,如果有效,那么就得到了彼此的公钥。利用对方的公钥,可以加密数据,也可以用来验证对方的数字签名。

哈希算法:(不可逆,抗穷举性)

X+123=Y^2=Z(取2~4位)=K/12取整

你可能感兴趣的:(数字签名)