签名
参考资料签名验签 - 知乎 (zhihu.com)
公私钥公私钥并不都是向ssl中公钥用于加密,私钥用于解密,具体要看使用场景。
但有一点是不变的,就是从名字上看,公钥就是公开的,私钥就是自己留着的。
签名对于签名来说,签名要完成的功能是,对一段信息进行计算,生成一段数据,这段数据需要简短,且对原始报文进行修改后,可以通过之前的签名发现报文被修改。将原始报文以及签名一并发给接收方后,接收方可以通过“验签”操作验证报文是否被修改。
之前一直以为签名由于数据变短,不可复原,所以使用的一定是单向加密,但今天了解e签宝原理时突然想到,如果是单向加密,那如何验签?假如签名算法暴露,那完全可以修改原文的同时修改密文,这样还是看不出来原文被修改。
原理签名方持有一对公私钥,公钥公开,私钥自己持有。
签名方首先使用摘要算法对原始报文进行摘要,这段摘要操作是不可逆的,保证签名简短。
签名方使用私钥对摘要进行加密,获得签名。接着将原始报文,签名发给验签方。
验签方使用之前保存的公钥对签名进行解密,获取摘要1,接着使用同样的摘要算法对原文进行摘要获得摘要2,最后对比摘要1和摘要2的内容是否相同,若相同则说明 ...