MAC vs Digital signature

MAC algorithm和数字签名的区别

MAC(Message Authentication Code)验证消息的完整性(防篡改)以及辨认是否来自于正确的来源(防伪造)。

防篡改(Integrity):从算法层面认为是完整的,消息并没有被修改过。

防伪造(Authentication):即使消息是完整的(仅仅从算法层面认为是完整的),但是整个消息确是被伪造的。

MAC  : { message being transmitted, Hash(original message + secret key) } 是否相等 Hash(message being transmitted + secret key)


这个secret key的存在同时保证了防篡改和防伪造,

如果没有secret key,那么message和hash值可以同时被修改,此时这个消息是被伪造的。

由于secret key的保密,attacker虽然可以篡改message,但是却无法生成对应的hash值,由此保证了【防篡改】。只要hash值不能伪造,那么那么整个消息也不能伪造,保证了【防伪造】。


上面的特性和数字签名的特性很相近,但是MAC只是针对于互相信任的双方(发送方和接收方,只有这两方具有secret key)而已,但是数字签名不仅仅限于双方,可以一方发送,多方接收(Non-repudiation),因为数字签名是不对称加密,公钥可以公开。


参考文献:

https://crypto.stackexchange.com/questions/5646/what-are-the-differences-between-a-digital-signature-a-mac-and-a-hash

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值