网站后台账号密码破解,wordpress二级域名,广东省建设信息网三库一平台官网,做淘宝客建网站的好处是什么MAC算法有两种形式#xff0c;分别是CBC-MAC算法和HMAC算法。 CBC-MAC算法从块密码算法的CBC分组模式演变而来#xff0c;简单地说就是最后一个密文分组的值就是MAC值。 HMAC#xff08;Hash-based Message Authentication Code#xff09;算法使用Hash算法作为加密基元分别是CBC-MAC算法和HMAC算法。 CBC-MAC算法从块密码算法的CBC分组模式演变而来简单地说就是最后一个密文分组的值就是MAC值。 HMACHash-based Message Authentication Code算法使用Hash算法作为加密基元HMAC结合Hash算法有多种变种比如HMAC-SHA-1、HMAC-SHA256、HMAC-SHA512。 AD加密模式 使用者结合对称加密算法和MAC算法提供机密性和完整性的模式也叫作Authenticated EncryptionAE加密模式。 主要有三种 1Encrypt-and-MAC (EM)
这种模式图2-11就是对消息分别进行加密运算和MAC运算然后将两个运算结果结合起来发送给接收方。 2MAC-then-Encrypt (MtE)
这种模式图2-12先对消息进行MAC计算然后将消息和MAC值组合在一起再进行加密最终的加密值再发送给接收方。在HTTPS中一般使用这种模式进行处理比如AES-128-CBC#PKCS7-HMAC-SHA256模式。 3Encrypt-then-MAC (EtM)
这种模式图2-13先对消息进行加密得到密文然后对密文再计算MAC值最终将密文和MAC值组合在一起再发送给接收方。 目前建议使用Encrypt-then-MAC模式。需要强调的是这三种模式使用者必须分别处理一旦处理不当就可能会存在安全风险。 那有没有一种方法在底层直接提供加密和MAC运算呢无须使用者分别处理加密和MAC运算这就是AEAD模式。 AEAD加密模式在底层组合了加密算法和MAC算法能够同时保证数据机密性和完整性减轻了使用者的负担。 主要有三种模式 1CCM模式 这种模式使用CBC-MAC一种MAC算法算法保证完整性使用块密码AES算法CTR模式的一种变种进行加密运算底层采用的是MAC-then-Encrypt模式。 2GCM模式 GCMGalois/Counter Mode是目前比较流行的AEAD模式。在GCM内部采用GHASH算法一种MAC算法进行MAC运算使用块密码AES算法CTR模式的一种变种进行加密运算在效率和性能上GCM都是非常不错的。 3ChaCha20-Poly1305 ChaCha20-Poly1305是谷歌发明的一种算法使用ChaCha20流密码算法进行加密运算使用Poly1305算法进行MAC运算。