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

密码学中的AEAD(authenticated encryption with associated data)相关推荐

  1. des算法密码多长_密码学中的多个DES

    des算法密码多长 This is a DES that was susceptible to attacks due to tremendous advances in computer hardw ...

  2. 密码学加密算法分类_密码学中的国际数据加密算法(IDEA)

    密码学加密算法分类 Introduction 介绍 International Data Encryption Algorithm (IDEA) is a type of cryptography a ...

  3. mcq 队列_MCQ | 密码学中作为IDEA,DES,AES,RSA的块密码

    mcq 队列 1) In the AES-128 algorithm there are mainly __________ similar rounds and _________ round is ...

  4. 密码学电子书_密码学中的电子密码书(ECB)

    密码学电子书 This Electronic Code Book (ECB) is cryptography as a mode of operation for a block cipher, wi ...

  5. ofb模式_密码学中的输出反馈模式(OFB)

    ofb模式 This is an output feedback (OFB) mode is similar in structure to that of CFB in Cryptography. ...

  6. des加密密码补位_密码学中的数据加密标准(DES)

    des加密密码补位 This is a Data Encryption Standard that is the asymmetric key generation for the encryptio ...

  7. 密码学中的同态加密算法,保证数据的安全,你了解吗?

    密码学中的同态加密算法,保证数据的安全,你了解吗? 目录 密码学中的同态加密算法,保证数据的安全,你了解吗? 1:什么是同态加密? 2:同态加密算法原理 3:标准化进展 4: 主流同态加密算法原理 4 ...

  8. 密码学中经典算法及应用

    一.加密算法理论基础 1.1 背景 密码学相关安全技术在整个信息技术领域的重要地位无需多言.如果没有现代密码学和信息安全的研究成果,人类社会根本无法进入信息时代. 实际上,密码学和安全领域所涉及的知识 ...

  9. 一文读懂密码学中的证书

    一文读懂密码学中的证书 之前的文章中,我们讲到了数字签名,数字签名的作用就是防止篡改和伪装,并且能够防止否认.但是要正确运用数字签名技术还有一个非常大的前提,那就是用来验证签名的公钥必须真正的属于发送 ...

最新文章

  1. GridView不能添加头布局,并且scrollView与GridView冲突导致一些页面无法融合
  2. Storm入门之第一章
  3. Java里的线程控制
  4. 【Java类加载机制】深入类加载器(二)自定义加密、解密类加载器
  5. mybatis缓存二级缓存_MyBatis缓存与Apache Ignite的陷阱
  6. html 显示不吃,20180902_html_第二次_张旺
  7. Bailian2884 Problem III【入门】
  8. 90后程序猿失业倒计时,还剩4年时间!!!
  9. 《Spring揭秘》
  10. SecureCRT 完美代替超级终端
  11. js如何实现页面跳转(大全)
  12. 海森矩阵(Hessian)
  13. 基于MSCNN的人群密度估计之数据集制作
  14. linux find命令按文件内容查找,linux下的find文件查找命令与grep文件内容查找命令...
  15. ranhcer添加Longhorn存储
  16. 三极管:NPN和PNP
  17. Unity开发VR项目(二)——SteamVR按键设置
  18. Spring Kafka消费模式(single, batch)及确认模式(自动、手动)示例
  19. 初步认知Next.js中ISR/RSC/Edge Runtime/Streaming等新概念
  20. CLIP在视频领域的应用(CLIPBERT,CLIP4Clip,CLIP2Video,CLIPTV)

热门文章

  1. 用计算机连乘带加怎么算,计算器核心算法(一)
  2. TRXMarket:打造全新区块链生态圈应用
  3. 1024程序员节,17城公益骑行,传智播客邀你益骑燃!
  4. 华为设备如何查看光模块的序列号?
  5. ffmpeg播放MP4视频与分离音频
  6. 如何相互实现阀门定位器的正反作用
  7. SiTime TCXO频率稳定性和频率精度计算
  8. 计算机优秀教案设计,信息技术应用 用计算机画函数图象优秀教案设计
  9. 搭建自己的图床:七牛云+Mpic【弃】
  10. 50个抢票加速包,还不如这个Python抢票神器