30

HMAC与数字签名

密码学与安全技术

数字签名

数字签名用于证实某数字内容的完整性integrity和来源(或不可抵赖性non-repudiation)

典型场景:A需要给B一份数据,但B如何确认这份数据是来自于A且没有被篡改过呢?
方法:
1. A将数据通过摘要算法进行计算生成摘要信息。
2. A将摘要信息通过自己的私钥进行加密生成加密串。
3. A将数据和加密串一起发送给B。
4. B收到A的数据和加密串之后,通过A的公钥进行解密得到A数据的摘要信息。
5. B再将A发送数据部分进行进行摘要计算,如果生成的摘要与传递的摘要相同则认为数据没有被篡改。 Continue reading