Shannon 理论

作者: 谁吃了我的薯条 | 来源:发表于2018-01-16 10:13 被阅读0次

    Shannon 理论 是古典密码学与现代密码学的分水岭;它的反表,对密码学的 研究产生了巨大的影响

    首先,评价密码体制安全性的不同途径,定义了几个有用的准则

    • 计算安全性
      如果使用最好的算法攻破一个密码体制需要至少N次操作,这里的N是个特别大的数字,我们定义这个密码体制是计算安全的
    • 可证明安全性
    • 无条件安全性
      即使使用无穷的计算资源,也是无法被攻破的。

    1、概率论基础

    研究无条件安全的合适框架是概率论

    1. 联合概率密度和条件概率
     P(a,b)=P(a/b)*P(b);
     P(a,b)=P(b/a)*P(a);
    
    1. 贝叶斯定理
        如果P(a)>0,P(a/b)=P(a)*P(b/a)/P(b)
    

    2、完善保密性

    假设(P,C,K,E,D)是一个特殊的密码体制,密钥K∈K只用于一次加密。假设明文空间P存在一个概率分布,因此当X∈P,X=xs时,其先验概率为:P[X=x]。同时假设(Alice和Bob)以固定的概率分布选取密钥(通常时随机选取的,等概率的)。定义一个密钥k,P[K=k]表示密钥K发生的概率。密钥是知道明文之前选取的,故可以视密钥和明文是独立的随机变量

    P与K的概率分布到处C的概率分布:
    把密文元素看出随机变量,用Y表示,则有:P[Y=y].对于K∈K定义: C(K)={ek(x):x∈P}
    即C(K)代表密钥是K时的所有可能的密文。对于任意的y∈C,我们有:

    同样可以观察到,对任意的y∈C和x∈P,可如下计算条件概率P[Y=y|X=x] (给定明文x,求密文y的概率):


    利用贝叶斯定理可以计算出计算条件概率P[X=x|Y=y] (给密文y,求明文x,的概率)


    一个例子:

    假设P={a,b},满足P[a]=1/4,P[b]=3/4,设K={K1,K2,K3},P[K1]=1/2,P[K2]=P[K3]=1/4,设C={1,2,3,4},加密函数定义为eK1(a)=1,ek1(b)=2,ek2(a)=2,ek2(b)=3,ek3(a)=3,ek3(b)=4;

    这个密码体制可以用以下加密矩阵表示:

    加密体制 a b
    K1 1 2
    K2 2 3
    K3 3 4

    则在C(密文)上的概率分布:
    P[1]=P[K1]P[a] =1/21/4=1/8 C=1
    p[2]=p[k2]p[a]+p[k1]p[b]=7/16 C=2
    P[3]=P[a]P[k3]+p[k2]p[b]=1/4; C=3
    P[4]=...=3/16 C=4

    计算出给定密文后,明文空间上的条件概率分布为:

    P[a|1]=(1/41/2)/(1/8)=1 P[b|1]=(3/40)/(1/8)=0
    p[a|2]=(1/4*1/4)/(7/16)=1/7 p[b|2]=6/7
    p[a|3]=1/4 p[b|3]=3/4
    p[a|4]=0 p[b|4]=1

    定义:一个密码体制具有完整保密性,即如果对于任意的x∈P及y∈C,有P[x|y]=p[x]。即给定密文的明文的后验概率等于明文的后验概率;

    定义:假设密码体制满足|k|=|C|=|P|,这个密码体制是完善保密的,当且仅当每个密钥被使用的概率为1/|K|,并且对于任意的x∈P及y∈C,存在唯一的密钥K,使得eK(x)=y

    一次一密:

    3、 熵

    研究一个密钥加密多个消息的基本工具是熵,熵可以看作是消息或者不确定性的数学度量,是一个通过概率分布的函数进行计算的。

    假设随机变量X在有限集合X上取值,则随机变量X的熵定义为:


    如果|X|=n,并且对于所有的x∈X,P[X]=1/N,那么H(X)=log2n。同样的,对任意的随机变量X,H(X)>0。

    一个例子
    计算上个例子的熵:
    H(P)=-1/4log2(1/4)-3/4log2(3/4)≈0.81;
    H(K)=1.5 H(C)≈1.85

    4、熵的性质

    5、伪密钥和唯一解距离

    条件熵H(K|C) 称为密钥含糊度,度量了给定密文下密钥的不确定性

    伪密钥,可能但不正确的密钥

    6、乘积密码体制

    简单起见,以C=P的密码体制为例:这种类型的密码体制称为内包的密码体制。设S1={P,P,K1,E1,D},S2={P,P,K2,E2,D2}
    具体两个相同明文空间(密文空间)的内包的密码体制。那么S1与S2的乘积是:{P,P,K1xK2,E,D}
    乘积密码体制的密钥形式为K=(K1,K2),加密和解密的规则定义如下:


    P[(K1,K2)]=P[K1]xP[K2] ,即K1和K2的概率分布,独立的选取K1和K2

    则乘法密码的密码体制如下:


    以上研究的密码体制都是幂等的

    相关文章

      网友评论

        本文标题:Shannon 理论

        本文链接:https://www.haomeiwen.com/subject/dudkoxtx.html