现代密码学2.1--完美安全和完美不可区分/Perfectly secret, Perfectly indistinguishable

本文是博主对《现代密码学》的学习笔记,探讨了完美安全和完美不可区分的概念。完美安全定义了一个即使面对无限算力攻击者也能证明安全的密码方案,要求密文不透露明文的任何信息。完美不可区分则意味着攻击者无法区分加密的不同明文。文章还包含了相关定理的证明和实验过程的解释。
摘要由CSDN通过智能技术生成

现代密码学2.1--完美安全和完美不可区分/Perfectly secret, Perfectly indistinguishable

博主正在学习INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些笔记供自己回忆,如有错误请指正。整理成一个系列现代密码学,方便检索。

《现代密码学》第一章所介绍的古典密码,全都已经被破解了。之前由于没有正式的定义、精确的假设,无法证明一个密码方案是否具有严格的安全性。在第二章第一节中,《现代密码学》介绍了对抗具有无限算力的攻击者,也能被证明是安全的密码方案的定义,这样的密码方案被称为是完美安全的;而针对攻击者而言,密码方案的完美不可区分是等价于完美安全的。

完美安全

定义

对于信息空间 M \mathcal{M} M上的每一种概率分布,所有信息 m ∈ M m\in \mathcal{M} mM,所有密文 c ∈ C c\in \mathcal{C} cC,如果 P r [ C = c ] > 0 Pr[C=c]>0 Pr[C=c]>0,都满足 P r [ M = m ∣ C = c ] = P r [ M = m ] Pr[M=m|C=c]=Pr[M=m] Pr[M=mC=c]=Pr[M=m]

也就是,密文 c ∈ C c\in \mathcal{C} cC不会透露任何关于明文 m ∈ M m \in \mathcal{M} mM的信息,完美地隐藏了关于被加密明文 m m m的所有信息。

定理

如果对于 ∀ m , m ′ ∈ M , ∀ c ∈ C \forall m,m'\in \mathcal{M},\forall c\in \mathcal{C} m,mM,cC,都有 P r [ E n c K ( m ) = c ] = P r [ E n c K ( m ′ ) = c ] Pr[Enc_K(m)=c]=Pr[Enc_K(m')=c] Pr[EncK(m)=c]=Pr[EncK(m)=c],那么这个信息空间是 M \mathcal{M} M的密码方案是完美安全的。

证明:
要证明“密码方案是完美安全的”,即证满足“ P r [ M = m ∣ C = c ] = P r [ M = m ] Pr[M=m|C=c]=Pr[M=m] Pr[M=mC=c]=Pr[M=m]”。

  • P r [ M = m ] = 0 Pr[M=m]=0 Pr[M=m]=0,则 P r [ M = m ∣ C = c ] Pr[M=m|C=c] Pr[M=mC=c]肯定也是0,那么有 P r [ M = m ∣ C = c ] = P r [ M = m ] Pr[M=m|C=c]=Pr[M=m] Pr[M=mC=c]=Pr[M=m]
  • P r [ M = m ] > 0 Pr[M=m]>0 Pr[M=m]>0
    贝叶斯定理得 P r [ M = m ∣ C = c ] = P r [ C = c ∣ M = m ] ⋅ P r [ M = m ] P r [ C = c ] Pr[M=m|C=c]=\frac{Pr[C=c|M=m]\cdot Pr[M=m]}{Pr[C=c]} Pr[M=mC=c]=Pr[C=c]Pr[C=cM=m]Pr[M=m]
    = P r [ C = c ∣ M = m ] ⋅ P r [ M = m ] ∑ m ′ ∈ M P r [ C = c ∣ M = m ′ ] ⋅ P
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值