6.4 MAC算法家族

MAC算法结合了MD5和SHA算法的优势,并加入密钥的支持,是一种更为安全的消息摘要算法。

6.4.1 简述

MAC(Message Authentication Code,消息认证码算法)是含有密钥散列函数算法,兼容了MD和SHA算法的特性,并在此基础上加入了密钥。因此,我们也常把MAC称为HMAC(keyed-Hash Message Authentication Code)。

MAC算法主要集合了MD和SHA两大系列消息摘要算法。MD系列算法有HmacMD2、HmacMD4和HmacMD5三种算法;SHA系列算法有HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384和HmacSHA512五种算法。

经MAC算法得到的摘要值也可以使用十六进制编码表示,其摘要值长度与参与实现的算法摘要值长度相同。例如,HmacSHA1算法得到的摘要长度就是SHA1算法得到的摘要长度,都是160位二进制数,换算成十六进制编码为40位。

有关HMac算法详情请参见RFC 2104(http://www.ietf.org/rfc/rfc2104.txt),其中包含了HmacMD5算法的C语言版实现。

基于SSH(Secure Shell,安全外壳)协议的一些软件,也使用了AES算法。图6-6中展示了SecureCRT软件中如何配置加密算法。

figure_0194_0044

图 6-6 SecureCRT配置界面中的加密算法