密码学学习笔记(四):Authenticated Encryption - 认证加密

news/2025/4/1 6:59:48/

加密数据的最新方法是使用一种称为一体式结构的认证加密算法,该算法也称为有附加数据的认证加密。从之前的博客中,我们看到在特定的操作模式中使用的分组密码,如CBC、OFB、CFB、CTR,提供了IND-CPA安全性。

但是IND-CCA安全性呢?

不可篡改性/不可延展性 - Non-Malleability

可篡改性:给定密文C,可以为相关消息生成C'(不知道消息)

  • 例如,给定M的C,生成M+1的C'
  • IND-CCA意味着不可延展性

事实上IND-CCA ≡ NM-CCA,NM就是Non-Malleability。

那么OFB是IND-CCA吗?

对于未知 𝑀1来说𝐶 = (𝐶0, 𝐶1)

  • 对于𝑀1′= 𝑀1 ⊕ Δ来说,𝐶′= (𝐶0, 𝐶1 ⊕ Δ)是一个有效的密文

事实上,CBC, OFB, CFB, CTR都不属于IND-CCA安全。

那么该如何实现IND-CCA安全呢?

  • 为了避免Malleability,我们需要确保如果任何密文被更改,它们都会无效
  • 即我们需要保护密文的完整性/真实性
  • 针对早期版本IPSec的实际攻击表明了这一点

加密-and-MAC

输入:

消息𝑀, 钥匙(𝐾1.𝐾2)

输出:

密文𝐶, 𝑇

这样不安全,因为MAC标签𝑇 可以泄露有关的信息𝑀。

  • MAC不提供任何保密保证
  • 适用于SSH
  • 通过修改,SSH版本可以变得安全

先MAC再加密

MAC消息,然后加密消息标签对

输入:

消息𝑀, 钥匙(𝐾1.𝐾2)

输出:

密文C

总体上不安全

  • 在TLS中使用,TLS版本显示为安全的
  • WEP使用了类似的想法(CRC,然后是流密码加密),但被打破了

先加密再MAC

对消息进行加密,然后对生成的密文进行MAC处理。

输入:

消息𝑀, 钥匙(𝐾1.𝐾2)

输出:

密文(C,T)

如果底层加密是IND-CPA安全的,而MAC是UF-CMA安全的,则生成的加密是IND-CCA安全的。

  • 用于IPSec

认证加密

在实践中,我们可以直接设计认证加密方案
经过身份验证的加密方案保证:

  • 保密性:密文与随机密文无法区分
  • 不可伪造性:密文不可伪造 

这被称为AE安全

AE安全性比IND-CCA安全性更强,因为:

  • 如果Enc_{K}𝑀1) 与随机无法区分,并且Enc_{K}(𝑀2) 也无法与随机区分,那么Enc_{K}(𝑀1) 将无法与区分Enc_{K}(𝑀2)
  • 密文的不可扩展性意味着对手将无法使用解密查询,因为它甚至无法生成新的密文。

Galois Counter Mode(GCM) - 伽罗瓦计数器模式

在实践中,使用先加密然后MAC比直接构造(如GCM)慢。

  • 上半部分类似于CTR,下半部分正在动态生成MAC标签
  • GCM提供AE安全
  • 另一种方案是偏移代码簿模式 - Offset Codebook Mode(OCB)

总结:

  • CCA下的不可延展性等同于CCA中的不可区分性,它们要求保护密文的完整性。
  • CBC, OFB, CFB, CTR只能实现IND-CPA安全不能实现IND-CCA安全。
  • 当组合对称加密和MAC以实现IND-CCA时,先加密然后MAC是首选解决方案。
  • 身份验证加密可以通过某些操作模式实现,如GCM和OCB。

http://www.ppmy.cn/news/753973.html

相关文章

免费图床、mp3外链,音乐上传,QQ空间永久背景音乐,mp3联接

mp3链接外链终于上线了!你可以把它当做免费图床使用,上传自己的照片并在站外调用,也可以上传自己的MP3音乐,并把它设为QQ空间永久背景音乐! mp3链接最大支持30M的单个文件,支持MP3 SWF PNG JPG BMP GIF 等格…

免上传音乐外链(QQ音乐)

方法一:使用QQ音乐客户端制作方法 方法二:免下QQ音乐客户端制作方法 方法一:使用QQ音乐客户端制作方法 1.首先 打开qq音乐客户端 查看歌曲信息 2.然后复制id后面的数字 把这些数字复制到 http://tsmusic24.tc.qq.com/ 的后面最后的格式如下图…

如何更换计算机中音乐的播放器,电脑中自定义更换QQ音乐歌曲封面图的操作步骤...

QQ音乐音乐的使用中,小伙伴们遇到故障可以直接在本网站上进行搜索,找到处理故障的方法,那有用户发现听歌的时候,歌曲封面和显示的出处内容与不相符的问题导致我们的听歌体验不是很好,遇到这一个QQ音乐使用中歌曲封面故…

vue获取qq音乐歌曲音频资源

最近在看一个仿QQ音乐的移动端音乐App,发现获取不到音乐的音频资源,于是打开QQ音乐官网,发现音频的播放地址改变了 在下图audio标签中可查看,地址为 http://ws.stream.qqmusic.qq.com/C400003gfggs1r3Bcc.m4a?guid1329984726&a…

怎么在网易云或者QQ音乐上上传自己翻唱的歌

假期无聊,在全民K歌上唱了几首歌,有朋友想下载来听,我就找了一下怎么将翻唱的歌曲上传到网易云或者QQ音乐。就弄了一下,发现目前只能做到自己听,其他人搜索不到(可以直接把音频发给其他人下载保存&#xff…

码多多ChatAI智能聊天系统v2.1.2版本啦~

🤖 码多多ChatAI智能聊天系统 2.1.2版本更新内容如下: ✅ 功能 1.移动端底部导航栏支持自定义(请重新设置底部菜单)。 优化 1.移动端-绘画操作标题文案。 2.pc端-购买套餐弹窗的套餐内容文案。 3.pc端-充值套餐默认选中的要…

青岛大学_王卓老师【数据结构与算法】Week03_12_线性表的链式表示和实现12_学习笔记

本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权,请留言作删文处理。 课程视频链接: 数据结构与算法基础–…

Redis 7 十大数据类型

10大数据结构图示 10大数据类型: redis字符串(String)redis列表(ist)redis哈希表(Hash)redis集合(Set)redis有序集合(ZSet)redis地理空间(GEO)redis基数统计(HyperLogLog)redis位图(bitmap)redis位域(bitfield)redis流(Stream) Redis键(key) 命令不区分大小写&am…