数字签名技术

1,非对称加密技术

非对称加密算法需要两个密钥,公开密钥(publickey)和私有密钥(privatekey);公钥和私钥是成对出现的。

非对称加密例子:B想把一段信息传给A,步骤:1)A把公钥传给B;2)B拿到A的公钥并利用此密钥给信息加密;3)B把加密的信息传给A;4)A利用私有密钥对加密信息进行解密即可得到B想给自己的信息。(这个过程叫做密码传输,即B把信息加密后传给A)

问题:如果有个捣乱的冒充B,也用A的公钥给一段信息加密,并传给A,A再私钥解密得到的信息就会误认为是B的。

要解决此问题,B需要给A传个验证信息,让A可以验证自己受到的信息是B传的。该验证信息即下面的数字摘要(数字指纹)

2,数字摘要技术

该技术主要利用了哈希函数的两个特性:1)单向性;2)计算结果位数固定

数字摘要是采用单向Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文,这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。“数字摘要“是https能确保数据完整性和防篡改的根本原因。

3,数字签名技术

数字签名技术既利用了数字摘要(数字指纹)技术也利用了非对称加解密技术 。

数字签名过程:1)B利用哈希函数得到上面传输信息的哈希值;2)B利用私钥给哈希值加密(注意:这里的非对称加密(私钥加密,公钥解密)与密码传输过程的非对称加密(公钥加密,私钥解密)相反)并传给A;3)A利用B的公钥解密得到密码的哈希值。4)A把密码传输过程得到的信息进行哈希计算得到哈希值,如果计算的哈希值和解密得到的哈希值相同,则说明密码传输过程得到的信息确实是B传过来的。

总结:

1)数字签名过程主要是为了确定信息是否是A想要的那个人的(这里就是B的),当然同时也验证了信息的完整性。

2)密码传输过程的非对称加密(公钥加密,私钥解密),作用是传输内容保密(A有解密私钥),但是信息可伪造。

数字签名过程的非对称加密(私钥加密,公钥解密),作用是信息不可伪造(B有加密私钥),但是传输内容公开。

猜你喜欢

转载自www.cnblogs.com/xdyixia/p/9237742.html