您当前的位置: 首页 > 

mutourend

暂无认证

  • 2浏览

    0关注

    661博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

密码学中的AEAD(authenticated encryption with associated data)

mutourend 发布时间:2019-09-06 14:46:32 ,浏览量:2

AEAD(authenticated encryption with associated data):关联数据的认证加密,顾名思义,除可提供对密文数据的隐私、完整性和真实性保证外,还可提供对未加密的关联数据的完整性保证。常用的关联数据通常包括消息的长度和消息的编码方式。

AEAD为AE的变种,可让receiver验证所收到消息中已加密和未加密信息的完整性。任何企图将有效加密信息与不同上下文结合的篡改都可通过AEAD发现。

AEAD的实现步骤为:

  • 通过密钥key对消息加密,通过增加随机数来保证隐私;
  • 计算一个认证标签,通过该认证标签可保证一条消息中加密和未加密的部分均未被篡改。

常用的AEAD加密算法主要有: 在这里插入图片描述libsodium中,对AES256-GCM和ChaCha20-Poly1305 这两种常用的算法做了支持。

libsodium中AES256-GCM算法的实现,需依赖Intel SSSE3指令集及aesnipclmul等指令来进行硬件加速。对于不依赖于硬件的纯软件实现,容易有cache-collision timing attacks。

对于不支持SSSE3指令集的硬件平台,可采用ChaCha20-Poly1305算法,该算法对timing攻击不敏感。

参考资料: [1] https://cryptography.io/en/latest/hazmat/primitives/aead/ [2] https://zh.wikipedia.org/wiki/%E8%AE%A4%E8%AF%81%E5%8A%A0%E5%AF%86 [3] https://en.wikipedia.org/wiki/Authenticated_encryption [4] https://shadowsocks.org/en/spec/AEAD-Ciphers.html [5] https://libsodium.gitbook.io/doc/secret-key_cryptography/aead

关注
打赏
1664532908
查看更多评论
立即登录/注册

微信扫码登录

0.0402s