15 | AEAD有哪些安全陷阱?
范学雷
你好,我是范学雷。
上一讲,我们讨论了加密数据如何才能够自我验证,自我验证就是指解密的时候,还能够同时检验数据的完整性。我们还谈到了带关联数据的认证加密(AEAD)是目前市场的主流思路。
我们有了带关联的认证加密算法,应用程序再也不需要自行设计、解决数据的完整性问题了。但问题是,如果我们要在应用程序中使用带关联数据的认证加密,有哪些算法可以使用?
带关联数据的认证加密算法,有没有需要小心的安全陷阱?这是我们这一次需要解决的问题。
有哪些常见的算法?
还是老规矩,我们先来看看有哪些常见的算法。现在,常见的 AEAD 模式有三种:
GCM;
CCM;
Poly1305。
一般地,我们可以把带关联数据的认证加密看做一个加密模式,就像 CBC 模式一样,我们可以和前面提到的 AES 等加密算法进行组合。但 ChaCha20 和 Poly1305 通常组合在一起;Camellia 与 AES 通常和 GCM 以及 CCM 组合在一起。
由于 AEAD 模式相对较新,而 3DES/DES 等遗留或者退役算法又存在明显的安全缺陷,所以,我们一般不会使用遗留或者退役算法的 AEAD 模式。
如果我们重新整理一下,综合考虑加密算法和加密模式,那么,当前推荐使用的、有广泛支持的、风险最小的算法是:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了带关联数据的认证加密算法(AEAD算法)的安全陷阱,重点介绍了常见的AEAD算法以及其安全性问题。文章首先列举了常见的AEAD算法,包括GCM、CCM和Poly1305,并指出了当前推荐使用的算法是AES/GCM、ChaCha20/Poly1305和AES/CCM。随后,文章重点讨论了使用随机数作为初始化向量的问题,包括初始化向量在信息发送方和接收方之间的同步问题、随机数大小的选择、随机数初始化的性能问题等。文章强调了使用随机数作为初始化向量的风险和注意事项,以及解决这些问题的方法。总的来说,本文通过深入讨论AEAD算法的安全陷阱,提醒读者在使用AEAD算法时需要小心谨慎,以确保数据的安全性和完整性。文章还提出了对称密钥依赖的技术随机数的讨论,并提出了一些思考题,引导读者思考在实际项目中初始化向量的使用情况。文章内容丰富,对于了解AEAD算法的读者具有一定的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《实用密码学》,新⼈⾸单¥59
《实用密码学》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(7)
- 最新
- 精选
- 可怜大灰狼1.密钥固定不变 2.密钥定期变化,但是没用初始化向量 3.用上了初始化向量,但是这个向量是固定值 4.没用MAC,没用AEAD 完了,完了,该犯的问题,都有了。
作者回复: 哈哈,能发现问题,就很好!
2020-12-282 - 韩露AEAD 模式能跟国密算法结合吗?现在都在提倡国产化,如果不能跟国密算法结合,还是用不了AEAD模式。
作者回复: 可以的
2021-01-0621 - 奕老师,后面讲完 非对称加密,可以再来个密码学应用实战,把这些理论知识实践上
作者回复: 唉,非对称加密都不知道什么时候能讲。圈子小的坏处之一,就是知识传播一点都没有竞争力,很多大部头(包括《应用密码学》)都没有多大的市场,推动不了版本更新。
2022-08-12归属地:美国4 - harryZ对于国密老师什么时候开个专题
作者回复: 应该不太远了,不过也不太确定,看时间吧。
2022-05-232 - Litt1eQ想到了802.11当中的wep算法采用了24位的初始化向量与同一把密钥进行运算 从而导致了严重的安全问题2020-12-2813
- ifelse初始化向量的重复问题,就是使用 AEAD 算法的最大风险,也是最难处理的风险。--记下来2022-11-10归属地:浙江
- ifelse学习打卡2022-11-10归属地:浙江
收起评论