《深入浅出HTTPS》读书笔记(16):消息验证码算法分类 ...

打印 上一主题 下一主题

主题 1702|帖子 1702|积分 5106

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
MAC算法有两种情势,分别是CBC-MAC算法和HMAC算法。
 
CBC-MAC算法从块暗码算法的CBC分组模式演变而来,简朴地说就是最后一个密文分组的值就是MAC值。
 
HMAC(Hash-based Message Authentication Code)算法使用Hash算法作为加密基元,HMAC结合Hash算法有多种变种,比如HMAC-SHA-1、HMAC-SHA256、HMAC-SHA512。
 
AD加密模式
 
使用者结合对称加密算法和MAC算法,提供机密性和完备性的模式也叫作Authenticated Encryption(AE)加密模式。
 
主要有三种
 
1)Encrypt-and-MAC (E&M)
这种模式(图2-11)就是对消息分别举行加密运算和MAC运算,然后将两个运算结果结合起来发送给接收方。
 
2)MAC-then-Encrypt (MtE)
这种模式(图2-12)先对消息举行MAC计算,然后将消息和MAC值组合在一起再举行加密,最终的加密值再发送给接收方。在HTTPS中,一般使用这种模式举行处置惩罚,比如AES-128-CBC#PKCS7-HMAC-SHA256模式。
 
3)Encrypt-then-MAC (EtM)
这种模式(图2-13)先对消息举行加密得到密文,然后对密文再计算MAC值,最终将密文和MAC值组合在一起再发送给接收方。
 
目前建议使用Encrypt-then-MAC模式。需要强调的是,这三种模式使用者必须分别处置惩罚,一旦处置惩罚不当,就大概会存在安全风险。
 
那有没有一种方法在底层直接提供加密和MAC运算呢?无须使用者分别处置惩罚加密和MAC运算,这就是AEAD模式。
 
AEAD加密模式在底层组合了加密算法和MAC算法,能够同时包管数据机密性和完备性,减轻了使用者的负担。
 
主要有三种模式
 
1)CCM模式
 
这种模式使用CBC-MAC(一种MAC算法)算法包管完备性,使用块暗码AES算法CTR模式的一种变种举行加密运算,底层采用的是MAC-then-Encrypt模式。
 
2)GCM模式
 
GCM(Galois/Counter Mode)是目前比较流行的AEAD模式。在GCM内部,采用GHASH算法(一种MAC算法)举行MAC运算,使用块暗码AES算法CTR模式的一种变种举行加密运算,在效率和性能上,GCM都黑白常不错的。
 
3)ChaCha20-Poly1305
 
ChaCha20-Poly1305是谷歌发明的一种算法,使用ChaCha20流暗码算法举行加密运算,使用Poly1305算法举行MAC运算。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

不到断气不罢休

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表