图解密码技术笔记消息认证码——消息被正确传送了吗
Posted nceuaprsf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图解密码技术笔记消息认证码——消息被正确传送了吗相关的知识,希望对你有一定的参考价值。
消息认证码(message authentication code)
消息的完整性(integrity):消息没有被篡改,也叫一致性
消息的认证(authentication):消息来自正确的发送者
消息认证码(message authentication code)是一种确认完整性并进行认证的技术,简称为MAC
消息认证码的输入是任意长度的消息和一个发送者与接收者之间的共享的密码,它可以输出固定长度的数据,这个数据称为MAC值
消息认证码是一种与密钥相关联的单向散列函数
消息认证码的应用实例
SWIFT(环球银行金融电信协会):
银行和银行之间是通过SWIFT来传递交易消息的。而为了确认消息的完整性以及对消息进行验证,SWIFT中使用了消息认证码。在使用公钥密码进行密钥交换之前,消息认证码所使用的共享密钥都是由人来进行配送的
IPSec:
IPSec是对IP协议增加安全性的一种方式。在IPSec中,对通信内容的认证和完整性校验都是采用消息认证码来完成的
SSL/TLS:
SSL/TLS中对通信内容的认证和完整性校验也采用消息认证码来完成的
消息认证码的多种实现方式
使用单向散列函数实现:
使用SHA-1,MD5之类的单向散列函数可以实现消息认证码,其中一种实现方法称为HMAC
使用分组密码实现:
使用DES,AES之类的分组密码可以实现消息认证码。
将分组密码的密钥作为消息认证码的共享密钥来使用,并用CBC模式将消息全部加密。由于消息认证码中不需要解密,因此将除最后一个分组以外的密文部分全部丢弃,而将最后一个分组用作MAC值。
其他实现方法:
使用流密码和公钥密码等也可以实现消息认证码
HMAC
HMAC是一种使用单向散列函数来构造消息认证码的方法(RFC2104),其中HMAC中的H就是Hash的意思
HMCA中所使用的单向散列函数并不仅限于一种,任何高强度的单向散列函数都可以被用于HMAC
使用SHA-1,MD5,RIPEMD-160所构造的HMAC,分别称为HMAC-SHA-1,HMAC-MD5和HMAC-RIPEMD
HMAC的步骤:
以上是关于图解密码技术笔记消息认证码——消息被正确传送了吗的主要内容,如果未能解决你的问题,请参考以下文章