密码学 January 03, 2020

消息验证码MAC和数字签名研究

Words count 1.1k Reading time 1 mins. Read count 0

一、MAC的原理和分析

MAC算法结合了md5和sha算法的优势,并加入密钥的支持,是一种更为安全的消息摘要算法,MAC是含有密钥的散列函数算法,兼容了md5和sha算法的特性,并在此基础上加入了密钥。

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

57641404017

多对一函数的话,可以知道一般比较难破译,正常来说,可以分为3种类型,如图所示:

57646356815

后面两种方式显然是多了一重加密在里面,因此也更安全~

二、数字签名

1、直接数字签名(DDS)

2、仲裁数字签名

数字签名的基本过程如下:

57646563993

用自己的话解释就是分为2个过程:签名和验证

签名:将签名者的数据通过散列函数运算得到散列值,用签名者的私钥加密散列值得到签名,将数据和加密生成的签名整合到一起得到含有数字签名的数据。

验证:接收方先将数据和签名分离,对数据进行散列函数运算后得到散列值,将签名用签名者的公钥解密得到散列值,将解密的散列值和函数运行后的散列值进行对比,如果相同则说明数字签名有效,反之无效。

3、PKI(数字签名)技术

身份验证

通过验证对方的签名,可以证明只有对方才有这样的结果

利用CA的公开密钥可以验证证书,通过证书可以知道对方的身份

0%