完善保密性

评价密码体制的安全性分为三种:计算安全性、可证明安全性(完善保密性)和无条件安全

不得不提的就是大神香农对密码学的贡献:

密码体制的安全性#

计算安全性#

从计算量上衡量密码体系的安全性

可证明安全性#

常用规约的方法证明多定义的安全性

无条件安全#

即使提供无限的计算资源,也无法被攻破

完善保密性(Perfect Secrecy)#

提出#

  • 在完善的密码体制下,分析者不能通过观察密文得到明文(必要条件)
  • 单表代换密码不完善的原因是在于使用同一个密钥得到的密文和明文具有相同的概率分布特征(重合指数)

假设#

  • 在一个密码体制(P,C,K,E,D)中,一个特定的密钥kK只用于一次加密
  • 明文空间存在一个概率分布,明文元素定一个随机变量,对于xPPr[x]表示明文x发生的先验概率
  • 以某种固定的概率分布选择密钥,通常随机等概选取,对kKPr[k]表示密钥k发生的概率
  • 密钥和明文是统计独立的随机变量

定义#

一个密码体制具有完善保密性,如果对于任意的xPyC,都有Pr[x|y]=Pr[x],即明文x后验概率等于明文x先验概率

含义#

  • 明文x对应的密文y具有统计独立关系
  • 明密文之间的互信息为0,即I(x;y)=0

互信息:指变量间相互依赖性的量度,度量两个事件集合之间的相关性(mutual dependence),I(X;Y)=0,表示两个变量独立

  • 攻击者分析y的统计规律无法推导出x

具体操作#

  • 获取到明文分布,就能得到每个明文的元素的先验概率Pr[X=x]
  • 计算所有的Pr[X=x|Y=y]的条件概率
  • 如果两者相等则可证明具有完善保密性

问题是:如何计算Pr[X=x|Y=y]

利用Bayes公式:

Pr[Y=y]的计算#

  • 密文的值由明文和密钥决定,因此Pr[Y=y]Pr[X=x]Pr[K=k]推导
  • 要分析所有导致Y=y的明文和密钥组合情况,并根据概率关系计算出Pr[Y=y]
  • 以移位密码为例,若密文为E,则会导致密文为EXK取值如下表:

  • Pr[Y=E]=Pr[X=a]Pr[K=4]+Pr[X=b]Pr[K=3]+...+Pr[X=z]Pr[K=5]
  • 若密钥的取值是等概的,即Pr[k]=1/26,则有Pr[Y=E]=(Pr[X=a]+Pr[X=b]+...+Pr[X=z])/26=1/26
  • 推广到一般:

    其中,C(k)表示密钥为k时所有可能的密文。

Pr[Y=y|X=x]的计算#

  • 当明文为x时,密文为y的概率

  • 若给定xy只能确定唯一的k,则有Pr[Y=y|X=x]=Pr[K=k]
    如移位密码,若X=a,Y=D,则可确定唯一的K=3,即Pr[Y=D|X=a]=Pr[K=3]=1/26

  • dk1(y)=xdk2(y)=x能否确定k1=k2?
    放射密码
    Playfair密码

例如:Playfair密码

所有能满足X=xY=y的密钥k的概率之和,即为:

Pr[X=x|Y=y]的计算#

举例#

计算Pr[Y=y]#

计算Pr[Y=y|X=x]和Pr[X=x|Y=y]#

结果#

定理#

定理1#

若移位密码的26个密钥以相同的概率随机使用,则对于任意的明文概率分布,移位密码具有完善的保密性

  • 完善保密性的条件为Pr[x|y]=Pr[x],等价于Pr[y|x]=Pr[y]
  • 可限定,对于任意的yC ,Pr[y]>0
  • |K|>|C|>|P|

定理2#

对于密码体制(P,C,K,E,D),满足|K|=|C|=|P|,这个密码体制是完善保密的,当且仅当每个密钥被使用的概率都是1/|K|,并且对于任意的xPyC,存在唯一的密钥k,使得Ek(x)=y


一次一密的密码体制#

1912年由GV提出,一直被认为是无法破解的(无法证明),直到用"完善保密性"可以证明该算法的安全性。

其中e表示加密,d表示解密

参考#

1、2-1-Shannon理论-完善保密性

作者:Hang Shao

出处:https://www.cnblogs.com/pam-sh/p/16189450.html

版权:本作品采用「知识共享」许可协议进行许可。

声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.

posted @   PamShao  阅读(1715)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-04-25 安装WindowsXP系统
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu