数字签名原理

数字签名是非对称加密算法与数字摘要技术的应用,数字摘要验证了原文是否被篡改、公钥私钥保证了数字摘要的安全性,两者配合使用安全性高,速度快。

   非对称密钥加密: RSA 、ECC等,依赖密钥长度来提高安全性,

   数字摘要:将任意长度的消息变成固定长度的短消息,常用的加密算法包括 HASH (MD5、SHA1、SHA256)、HMAC(HmacMD5/HmacSHA1/HmacSHA256)等。

数字签名过程:

环境:A 的公钥公开,私钥保密 ,A 和 B 都使用同样的摘要算法 HASH。

•  A 给 B 发送一段数据data,首先 A 使用 HASH 算法生成 data 的数字摘要 digestA,然后利用A的私钥对数字摘要 digestA 进行加密生成 digestEncodeA ,然后将 data 和 digestEncodeA 一起发送给B。

•  B 收到 A 发过来的 data 和 digestEncodeA 以后,首先使用 HASH 算法生成 data 的数字摘要 digestB ,然后用 A 的公钥对 digestEncodeA 进行解密得到数字摘要 digestDecodeB,然后如果 digestB = digestDecodeB ,那么标明 data 是由 A 发送过来的 ,否则不是。

猜你喜欢

转载自blog.csdn.net/watson2017/article/details/85113807