书接上篇笔记,假设声称对手可以在给定我们方案的密文的情况下找出明文的第一位。我们如何检验这一说法?
- 通过加密以0或1开头的明文生成密文
- 将密文交给对手,等待对手决定是哪种情况,检查决定是否正确
不可区分性:
如果我们想模拟任何泄漏怎么办?
为了模拟任何泄漏,我们可以让对手选择消息。
对手的能力:
- 选择明文攻击 Chosen-Plaintext Attack (CPA)
- 选择密文攻击 Chosen-Ciphertext Attack (CCA)
IND-CPA安全
对手有能力进行加密查询
- 不可区分性:任何对手获胜的概率与偶然获胜的概率相差可忽略不计(即½)
- 证明一个方案不是IND-CPA:给一个能以远大于½的概率赢得比赛的对手
伪码格式:
给定一个对手𝐴 = (𝐴1.𝐴2) ,IND-CPA游戏运行,使对手能够访问加密预言机ℰ𝑛𝑐 (·)。
如果对手猜测𝑏,它就赢了。
文章来源地址https://www.toymoban.com/news/detail-762601.html
IND-CCA安全
- 不可区分性:任何对手获胜的概率与偶然获胜的概率相差可忽略不计(即½)
伪码格式:
类似于IND-CPA游戏,加上对手可以访问解密预言机𝒟𝑒𝑐 (·)。
Block Ciphers - 块加密
使用相同大小的密文块的密钥加密固定长度的明文“块”
- 基本键控排列框
- D是E的倒数
- 安全性:对于随机选择的密钥,输出应与随机密钥无法区分
- 伪随机排列(PRP)安全,伪随机函数(PRF)安全的1-1版本
- 示例:高级加密标准(AES)
- 密钥大小:128/192/256,块大小:128
Electronic Codebook (ECB) - 电子密码本
将𝑀分成块,单独加密
ECB并不是IND-CPA安全,因为它是确定性的。
Cipher Block Chaining (CBC) - 密文分组链接模式
将明文块与先前的块密文随机组合,对第一个块使用随机初始化向量(IV)
如果E是安全分组密码(即安全PRP),则显示为IND-CPA安全
Output Feedback Mode (OFB) - 输出反馈模式
我们实际上不需要对消息块进行加密,我们可以使用类似于流密码的块密码
- 加密IV并将输出反馈到下一个区块
- 如果E是安全的伪随机函数(PRF),则显示为IND-CPA安全
- 允许预先计算
Ciphertext Feedback Mode (CFB) - 密文反馈模式
类似于OFB,但密文是反馈的。如果E是安全的伪随机函数(PRF),则显示为IND-CPA安全。
Counter Mode (CTR) - 计数器模式
减少块之间的依赖性以实现更快的处理.
- 加密一个随机计数器,例如从IV‖0开始,并递增每个块中的输入
- 如果E是安全的伪随机函数(PRF),则显示为IND-CPA安全
- 允许预计算、并行化和随机访问
分组密码操作模式
- ECB并不显示为IND-CPA安全
- CBC、OFB、CFB、CTR是IND-CPA安全因为它们的底层分组密码或伪随机函数是安全的
- CBC需要安全的块密码,但OFB、CFB、CTR使用伪随机函数
安全参数 - n
计划预期安全级别的衡量标准:
- 基本思想:如果对称加密方案设计得很好,对手“破解”它的唯一方法就是猜测𝑛-位键
- 打破方案需要𝑂(2n)次猜测/运算,或等效时间
- 按照惯例,对称加密方案中密钥的比特长度被称为其安全级别
- 因此,对于对称加密:安全级别=密钥长度
- 这允许在不同的基元之间进行比较
- 例如,如果我们说特定的公钥加密方案提供128位安全性,这意味着它提供的安全级别与具有128位密钥的对称加密方案相当
DES的现代应用
尽管DES经受住了多年的攻击,但密钥长度(𝑛 = 56位)对于现代对手来说太小了
解决方案:使用不同密钥进行多轮DES
攻击的操作存在,因此仅提供𝑛 = 56位安全性
3DES: 攻击需要次操作,因此提供2𝑛 = 112位安全
然而,有一种攻击利用了短块大小(64位)Sweet32,因此3DES现在不推荐使用,仅用于向后兼容性。
现代分组密码
90年代后期的高级加密标准竞赛
- Rijndael赢得了比赛,现在被称为AES
- 密钥长度:128/192/256,块大小:128
- 其他入围者:Serpent、Twofish、RC6、MARS
其他著名方案的示例:文章来源:https://www.toymoban.com/news/detail-762601.html
- KASUMI (又名 A5/3)
- Camellia
- SHACAL-2
现代密码学词汇
- 原语:在特定设置中使用的加密工具类型,例如对称加密、分组密码
- 方案:原语的特定实例,例如AES-CTR、Trivium
- 安全游戏:指定对手能力和目标的执行和通信步骤的程序,例如IND-CPA游戏
- 安全概念:针对具有特定能力和目标的对手的特定原语的安全定义,例如对称加密方案的IND-CPA安全
到了这里,关于密码学学习笔记(二):对称加密(二) IND-CPA、IND-CCA安全以及分组密码操作模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!