密码学理论04:对称密码 Private-key Encryption

要构建 CPA 安全方案,我们首先需要引入伪随机函数的概念。

但首先我们将定义 3.22 (CPA已知明文攻击下的安全性定义)扩展到多重加密的情况。

伪随机函数

Pseudorandom function(PRF): a keyed, efficiently computable function that can’t be efficiently distinguished from a random function.一种带密钥的的、可高效计算的函数,无法有效地与真随机函数区分开来。

(通过oracle实验来证明安全性)

伪随机置换 Pseudorandom permutations

伪随机置换函数 Permn ⊂ Funcn,表示{0, 1}^n上的所有排列:

|Permn| = 2^n!

定理:

 强伪随机置换

对于一个排列函数,反向查询也有很好的定义。即允许反向查询也是安全的 PRP 称为强 PRP。

在实际应用中,分组密码算法(AES,DES)是强PRP。 

注:满足CPA安全的算法必须是概率加密算法。

 (注:可使用归约证明)

PRG 与流密码 & PRP与分组密码

 在现实世界中,PRG 是使用流密码实例化的。

PRP 使用块密码实例化。实际上,分组密码是 PRP 的别称。

PRG由于输出的长度固定,它是不灵活的:

在实践中用于实例化 PRG 的流密码提供了更大的灵活性:输出比特是按需逐渐产生的;形式上,流密码是一对确定性算法(Init,Next),其中:Init 将种子 s 和可选的初始化向量 IV 作为输入,并输出一些初始状态 st。Next 将当前状态 st 作为输入并输出位 y 以及更新状态 st' 。 流密码操作模式:同步模式和非同步模式

 同步模式通常用于各方之间的单个通信会话,其中状态是可接受的并且消息按顺序接收而不会丢失。

 分组密码操作模式:提供一种以较少(密文大小、随机性)开销加密任意长度消息的方法。 

  1. ECB模式:将分组密码应用于每个明文块——确定性算法
  2.  CBC模式:(类似同步流密码)——加密只能顺序进行。
  3. Chained CBC:重用最后一个密文块作为新的 IV。——“BEAST attack”
  4. OFB模式:(类似异步流密码)——可以使用任何 PRF 代替 PRP;明文长度不需要是n的倍数;与 CBC 不同,有状态变体(其中最后一个 yℓ 用作下一次加密的 IV)是安全的;仍然像 CBC 一样按顺序加密,但是可以在知道 mi之前计算 yi(预处理)。
  5. CTR模式:IV 和计数器(counter i)长度随意,只要它们总和为n。更长的 IV 会带来更好的具体安全性,但也会减少可加密的消息的最大长度。——可完全并行化;可解密单个块。

具体的安全性:使用块大小足够大的 PRF。

像 DES 中那样 n = 64 是不够的,因为 2^n/2 只有 ∼ 34GB 的明文,N = 128 的 AES 就足够了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值