MD(消息摘要)、MAC(消息认证码)、数字签名的区别

本文介绍了MD、MAC和数字签名在数据验证和安全中的作用。MD是哈希值,用于验证数据完整性;MAC在MD基础上结合密钥,确保数据来源的可信性;数字签名则通过公钥密码体制提供不可抵赖性,防止篡改。MAC和数字签名在防止中间人攻击和保证消息不可伪造方面各有优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MD(消息摘要)、MAC(消息认证码)、数字签名的区别

1.MD(消息摘要)

摘要是哈希值,我们通过散列算法⽐如MD5算法就可以得到这个哈希值。
摘要只是⽤于验证数据完整性和唯⼀性的哈希值,不管原始数据是什么样的,得到的哈希值都是固定长度的。
不管原始数据是什么样的,得到的哈希值都是固定长度的,也就是说摘要并不是原始数据加密后的密⽂,只是⼀个验证⾝份的令牌。所以我
们⽆法通过摘要解密得到原始数据。

2.MAC(消息认证码)

hash算法只能验证数据的完整性,不能防⽌数据被篡改。⽐如:遇见中间⼈攻击,你会发现攻击者对消息进⾏篡改了,但是通过hash算法
计算摘要值,你是⽆法知道消息被改动过的。因此这个时候就需要MAC算法了。
MAC值 = mac(消息+密钥)
2.2MAC的特点
跟hash算法⼀样,可以验证数据的完整性。
可以验证数据确实是由原始发送⽅发出的。
MAC值⼀般和原始消息⼀起传输,原始消息可以选择加密,也可以选择不加密,通信双⽅会以相同的⽅式⽣成MAC值,然后进⾏⽐较,⼀旦
两个MAC值相同表⽰MAC验证正确,否则验证失败。

3.数字签名

MAC不能保证消息的不可抵赖性,⽽数字签名可以保证。
因为数字签名使⽤的是公钥密码体制,私钥只有你⾃⼰才知道;⽽MAC使⽤对称加密,既然⼀⽅能够验证你的MAC,就能够伪造你的
MAC,因为发送⽅和接收⽅的秘钥是⼀样的。当然如果你在MAC中绑定⼀些关键信息,并通过某些⼿段,让⼀⽅只能⽣成MAC,另⼀⽅只
能验证MAC,其实也是可以实现签名效果的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值