密码学中的AEAD(authenticated encryption with associated data)
AEAD(authenticated encryption with associated data):关联数据的认证加密,顾名思义,除可提供对密文数据的隐私、完整性和真实性保证外,还可提供对未加密的关联数据的完整性保证。常用的关联数据通常包括消息的长度和消息的编码方式。
AEAD为AE的变种,可让receiver验证所收到消息中已加密和未加密信息的完整性。任何企图将有效加密信息与不同上下文结合的篡改都可通过AEAD发现。
AEAD的实现步骤为:
- 通过密钥key对消息加密,通过增加随机数来保证隐私;
- 计算一个认证标签,通过该认证标签可保证一条消息中加密和未加密的部分均未被篡改。
常用的AEAD加密算法主要有:
在libsodium
中,对AES256-GCM和ChaCha20-Poly1305 这两种常用的算法做了支持。
libsodium
中AES256-GCM算法的实现,需依赖Intel SSSE3指令集及aesni
和pclmul
等指令来进行硬件加速。对于不依赖于硬件的纯软件实现,容易有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)相关推荐
- des算法密码多长_密码学中的多个DES
des算法密码多长 This is a DES that was susceptible to attacks due to tremendous advances in computer hardw ...
- 密码学加密算法分类_密码学中的国际数据加密算法(IDEA)
密码学加密算法分类 Introduction 介绍 International Data Encryption Algorithm (IDEA) is a type of cryptography a ...
- mcq 队列_MCQ | 密码学中作为IDEA,DES,AES,RSA的块密码
mcq 队列 1) In the AES-128 algorithm there are mainly __________ similar rounds and _________ round is ...
- 密码学电子书_密码学中的电子密码书(ECB)
密码学电子书 This Electronic Code Book (ECB) is cryptography as a mode of operation for a block cipher, wi ...
- ofb模式_密码学中的输出反馈模式(OFB)
ofb模式 This is an output feedback (OFB) mode is similar in structure to that of CFB in Cryptography. ...
- des加密密码补位_密码学中的数据加密标准(DES)
des加密密码补位 This is a Data Encryption Standard that is the asymmetric key generation for the encryptio ...
- 密码学中的同态加密算法,保证数据的安全,你了解吗?
密码学中的同态加密算法,保证数据的安全,你了解吗? 目录 密码学中的同态加密算法,保证数据的安全,你了解吗? 1:什么是同态加密? 2:同态加密算法原理 3:标准化进展 4: 主流同态加密算法原理 4 ...
- 密码学中经典算法及应用
一.加密算法理论基础 1.1 背景 密码学相关安全技术在整个信息技术领域的重要地位无需多言.如果没有现代密码学和信息安全的研究成果,人类社会根本无法进入信息时代. 实际上,密码学和安全领域所涉及的知识 ...
- 一文读懂密码学中的证书
一文读懂密码学中的证书 之前的文章中,我们讲到了数字签名,数字签名的作用就是防止篡改和伪装,并且能够防止否认.但是要正确运用数字签名技术还有一个非常大的前提,那就是用来验证签名的公钥必须真正的属于发送 ...
最新文章
- GridView不能添加头布局,并且scrollView与GridView冲突导致一些页面无法融合
- Storm入门之第一章
- Java里的线程控制
- 【Java类加载机制】深入类加载器(二)自定义加密、解密类加载器
- mybatis缓存二级缓存_MyBatis缓存与Apache Ignite的陷阱
- html 显示不吃,20180902_html_第二次_张旺
- Bailian2884 Problem III【入门】
- 90后程序猿失业倒计时,还剩4年时间!!!
- 《Spring揭秘》
- SecureCRT 完美代替超级终端
- js如何实现页面跳转(大全)
- 海森矩阵(Hessian)
- 基于MSCNN的人群密度估计之数据集制作
- linux find命令按文件内容查找,linux下的find文件查找命令与grep文件内容查找命令...
- ranhcer添加Longhorn存储
- 三极管:NPN和PNP
- Unity开发VR项目(二)——SteamVR按键设置
- Spring Kafka消费模式(single, batch)及确认模式(自动、手动)示例
- 初步认知Next.js中ISR/RSC/Edge Runtime/Streaming等新概念
- CLIP在视频领域的应用(CLIPBERT,CLIP4Clip,CLIP2Video,CLIPTV)