消息认证码的应用和实现

一 消息认证码的应用

1 SWIFT

SWIFT是于1973年成立的一个组织,其目的是为了国际银行间的交易保驾护航。该组织成立时候有15个成员国,2008年时已经发展到208个成员国。

银行和银行之间是通过SWIFT来传递交易消息的。而为了确保消息的完整性以及对消息进行验证,SWIFT中使用了消息认证码。

在使用公钥密钥进行密钥交换之前,消息认证码所使用的共享密钥都是由人来进行配送的。

2 IPsec

IPsec是对互联网基本通信协议IP协议增加安全性的一种方式。在IPsec中,对通信内容的认证和完整性校验都是采用消息认证码来完成。

3 SSL/TLS

SSL/TLS是我们在网上购物等场景中所使用的通信协议。SSL/TLS中对通信内容的认证和完整性校验也使用了消息认证码。

二 消息认证码的实现方法

1 使用单向散列函数实现

使用SHA-2之类的单向散列函数可以实现消息认证码,其中一种实现方法称为HMAC。

2 使用分组密码实现

使用AES之类的分组密码可以实现消息认证码。

将分组密码的密钥作为消息认证码的共享密钥来使用,并用CBC模式将消息全部加密。此时,初始化向量是固定的。由于消息认证码不需要解密,因此将除最后一份分组意外的密文全部丢弃,而将最后一个分组用作MAC值。由于CBC模式额最后一个分组会受到整个消息以及密钥的双重影响,因此可以将它用作消息认证码。例如,AES-CMAC就是一种基于AES来实现的消息认证码。

3 其他实现方法

使用流密码和公钥密码也可以实现消息认证码。

三 认证加密

2000年以后,关于认证加密的研究逐步展开。认证加密是一种将对称密码和消息认证码相结合,同时满足机密性、完整性和认证三大功能的机制。

Encryt-then-MAC:先用对称密码将明文加密,然后计算密文的MAC值。

Encrpt-and-MAC:将明文用对称密码加密,并对明文计算MAC值。

MAC-then-Encrpt:计算明文的MAC值,然后将明文和MAC值同时用对称密码加密。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值