联系
消息认证码和数字签名都属于哈希函数的应用,目的是保障数据完整性,其关键在于哈希函数的单向性。
认证
分为实体认证和消息认证,消息认证码只能实现消息认证。
消息认证分为消息源认证(消息来源未被冒充)和消息完整性(消息未被篡改)。
数字签名
可实现消息认证和实体认证
区别
消息源验证与实体认证区别
消息源认证只表示消息来源可靠,因为除收发双方外,无其他人知晓消息认证码对应的密钥。
实体认证更加严格。数字签名的私钥只是签名方独自拥有,验证签名使用的是对应的公钥,公钥和签名者身份用证书进行了绑定,所以该签名只能由私钥拥有者生成,同时便也实现了不可否认性(发送方可确认)。
所以关键在于数字签名使用了私钥(间接与签名者身份绑定),而消息认证码的双方使用同一密钥。
消息认证和数字签名区别
数字签名其实也是一种消息认证技术,但是数字签名属于非对称密码体制,而消息认证码属于对称密码体制,所以消息认证码的处理速度也会比数字签名快很多,但是消息认证码无法实现不可否认性。
数字签名可实现不可否认性,为什么还需要实体认证?
实现了不可否认性,与实际的本人还存在区别。因此可通过生物识别技术等来认证实体(本人操作)。