一、MAC的原理和分析
MAC算法结合了md5和sha算法的优势,并加入密钥的支持,是一种更为安全的消息摘要算法,MAC是含有密钥的散列函数算法,兼容了md5和sha算法的特性,并在此基础上加入了密钥。
经过mac算法得到的摘要值也可以用16进制编码表示,其摘要值长度与参与实现的摘要值长度相同,例如,HmacSHA1算法得到的摘要长度就是SHA1算法得到的摘要长度,都是160位二进制,换算成十六进制编码为40位。
多对一函数的话,可以知道一般比较难破译,正常来说,可以分为3种类型,如图所示:
后面两种方式显然是多了一重加密在里面,因此也更安全~
二、数字签名
1、直接数字签名(DDS)
2、仲裁数字签名
数字签名的基本过程如下:
用自己的话解释就是分为2个过程:签名和验证
签名:将签名者的数据通过散列函数运算得到散列值,用签名者的私钥加密散列值得到签名,将数据和加密生成的签名整合到一起得到含有数字签名的数据。
验证:接收方先将数据和签名分离,对数据进行散列函数运算后得到散列值,将签名用签名者的公钥解密得到散列值,将解密的散列值和函数运行后的散列值进行对比,如果相同则说明数字签名有效,反之无效。
3、PKI(数字签名)技术
身份验证
通过验证对方的签名,可以证明只有对方才有这样的结果
利用CA的公开密钥可以验证证书,通过证书可以知道对方的身份