ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
数字签名技术有多种解决方案,RSA签名算法和DSA签名算法都可以实现数字签名 数字签名技术有以下几个特点: 防篡改:数据不会被修改,MAC算法也有这个特点; 防抵赖:消息签署者不能抵赖; 防伪造:发送的消息不能够伪造,MAC算法也有这个特点 数字签名生成流程: 1. 发送者对message进行hash运算生成消息摘要; 2. 使用私钥对消息摘要进行加密生成签名; 3. 发送者将message和签名一起发送给接收者; 签名验证流程: 1. 接收者接收到消息后,拆分出消息和消息签名值A; 2. 接收者使用公钥对签名值A进行解密得到消息摘要A; 3. 接收者对消息进行hash运算得到摘要值B;验证消息摘要值A和B是否相同,如果相同表示签名验证成功,否则就是验证失败 【知识点】 为什么不直接对消息进行签名,而是对消息的摘要值进行签名? 签名值除了验证之外并没有其他用途,那么基于消息生成签名和基于消息摘要值生成签名并无区别,考虑到公开密钥算法运行是相对缓慢的,数字签名算法建议对消息摘要值进行签名,因为摘要值的长度是固定的,运算的时候速度会比较快