Shannon理论——笔记1

Shannon理论——笔记1

引言

  • 我们知道有这样几个评价密码体制安全性的常用的准则:
    • 计算安全性
    • 可证明安全性
    • 无条件安全性
  • 其中无条件安全性允许无限的计算资源、无限的计算时间,所以不能用计算复杂性的观点来研究。
  • 研究无条件安全性的合适框架是概率论,我们将在后文进行讨论

概略

  • Shannon的思想对密码学的研究产生了巨大影响,那么这些究竟意味什么呢
  • 本文主要打算介绍如下概念、思想
    • 完善保密性
    • 伪密钥和唯一解距离
    • 乘积密码体制

完善保密性

  • 通俗地讲,完善保密性就是说攻击者Oscar不能通过观察密文获得明文的任何信息
    • 推测明文为某种情况的概率不会因为知道密文而改变

定义:
一个密码体制具有完善保密性,如果对于任意的 x ∈ P \mathcal{x\in P} xP y ∈ C \mathcal{y\in C} yC,都有 P r [ x ∣ y ] = P r [ x ] Pr[x|y]=Pr[x] Pr[xy]=Pr[x]。也就是说,给定密文 y y y,明文 x x x的后验概率等于明文 x x x的先验概率

  • 一般的完整保密性
    • 对于任意固定的 x ∈ P \mathcal{x\in P} xP。由Bayes定理,有:对每个 y ∈ C \mathcal{y\in C} yC,我们有 P r [ y ∣ x ] = P r [ y ] > 0 Pr[y|x]=Pr[y]>0 Pr[yx]=Pr[y]>0(概率为零的情况可以直接从定义域中去掉)。
      • 也就是说,在完善保密密码体制下,对于某固定明文,密文有限集中的任意元素都存在是由此明文被加密后的结果的可能
    • 因此,对于每个 y ∈ C \mathcal{y\in C} yC,一定至少存在一个密钥 K K K,满足 e k ( x ) = y e_k(x)=y ek(x)=y。这样就有 ∣ K ∣ ≥ ∣ C ∣ \mathcal{|K|\geq |C|} KC
    • 又因为在任意一个密码体制中,加密函数是单射的,所以一定有 ∣ C ∣ ≥ ∣ P ∣ \mathcal{|C|\geq |P|} CP
    • 于是我们得到
      • 在一个完善保密密码体制中, ∣ K ∣ ≥ ∣ C ∣ ≥ ∣ P ∣ \mathcal{|K|\geq |C|\geq |P|} KCP
  • 需要注意的是,上一步讨论的是完善保密密码体制所具备的必要条件,并不能作为判定依据
  • 关于判定依据,当 ∣ K ∣ = ∣ C ∣ = ∣ P ∣ \mathcal{|K|=|C|=|P|} K=C=P时,Shannon最早提出了一个性质:

定理
假设密码体制 ( P , C , K , E , D ) \mathcal{(P,C,K,E,D)} (P,C,K,E,D)满足 ∣ K ∣ = ∣ C ∣ = ∣ P ∣ \mathcal{|K|=|C|=|P|} K=C=P。该密码体制是完善保密的    ⟺    \iff 每个密钥被使用的概率都是 1 ∣ K ∣ \cfrac{1}{|\mathcal{K}|} K1,并且 ∀ x ∈ P   a n d   y ∈ C , ∃ ! K ,    s . t .      e K ( x ) = y \forall \mathcal{x\in P}\,and \,\mathcal{y\in C},\exist!K,\,\,s.t.\;\,\, e_K(x)=y xPandyC,!K,s.t.eK(x)=y

  • 度量信息不确定性
    • 值越大,表示的不确定性越大
  • 对于随机变量X,其熵表示为H(X)

定义
假设随机变量 X \mathbf{X} X在有限集合X上取值,则随机变量 X \mathbf{X} X的熵定义为 H ( X ) = − ∑ x ∈ X P r [ x ] l b P r [ x ] H(\mathbf{X})=-\sum_{x\in X}\mathrm{Pr[x]lbPr[x]} H(X)=xXPr[x]lbPr[x]

  • 比如当X只有一种可能取值时(即取该值的概率为1),其熵为0

熵的性质

  • 0 ≤ H ( X ) ≤ l b    n , 其 中 n = ∣ X ∣ 0\leq H(\mathbf{X})\leq \mathrm{lb}\,\,n,\quad其中n=|X| 0H(X)lbn,n=X
    • 可由Jenson不等式证得
  • H ( X , Y ) ≤ H ( X ) + H ( Y ) H(\mathbf{X,Y})\leq H(\mathbf{X})+H(\mathbf{Y}) H(X,Y)H(X)+H(Y),当且仅当 X , Y \mathbf{X,Y} X,Y统计独立时等号成立

定义
假设 X , Y \mathbf{X,Y} X,Y是两个随机变量。对于 Y \mathrm{Y} Y的任何固定值y,得到一个 X \mathrm{X} X上的条件概率分布;记相应的随机变量为 X ∣ y \mathbf{X}|y Xy,显然 H ( X ∣ y ) = − ∑ x P r [ x ∣ y ] l b   P r [ x ∣ y ] H(\mathbf{X}|y)=-\sum_x\mathrm{Pr[x|y]lb\,Pr[x|y]} H(Xy)=xPr[xy]lbPr[xy]定义条件熵 H ( X ∣ Y ) H(\mathbf{X|Y}) H(XY)为熵 H ( X ∣ y ) H(\mathbf{X}|y) H(Xy)取遍所有y的加权平均值。计算公式为 H ( X ∣ Y ) = − ∑ y ∑ x P r [ y ] P r [ x ∣ y ] l b   P r [ x ∣ y ] H(\mathbf{X|Y})=-\sum_y\sum_x\mathrm{Pr[y]Pr[x|y]lb\,Pr[x|y]} H(XY)=yxPr[y]Pr[xy]lbPr[xy]条件熵度量了 Y \mathbf{Y} Y揭示的 X \mathbf{X} X的平均信息量

  • H ( X , Y ) = H ( Y ) + H ( X ∣ Y ) ≤ H ( Y ) + H ( X ) H(\mathbf{X,Y})= H(\mathbf{Y})+H(\mathbf{X|Y})\leq H(\mathbf{Y})+H(\mathbf{X}) H(X,Y)=H(Y)+H(XY)H(Y)+H(X)等式成立当且仅当 X , Y \mathbf{X,Y} X,Y统计独立

伪密钥和唯一解距离

预备知识

密钥含糊度
H ( K ∣ C ) H(\mathbf{K|C}) H(KC):度量了给定密文下密钥的不确定性
  • H ( C ∣ K , P ) = 0 \mathbf{H(C|K,P)}=0 H(CK,P)=0
    • 因为密钥和明文唯一决定密文
  • H ( P ∣ K , C ) = 0 \mathbf{H(P|K,C)}=0 H(PK,C)=0
    • 因为密钥和密文唯一决定明文
  • K , P \mathbf{K,P} K,P是统计独立的    ⟹    H ( K , P ) = H ( K ) + H ( P ) \implies H(\mathbf{K,P})= H(\mathbf{K})+H(\mathbf{P}) H(K,P)=H(K)+H(P)
    • 因为密钥是在Alice知道明文之前选取的,所以可以合理地假设密钥、明文是统计独立的随机变量
  • 值得注意的是,尽管密钥和密文唯一决定明文,但我们并不能像上一步那样认为 K , C \mathbf{K,C} K,C是统计独立的

定理
( P , C , K , E , D ) \mathcal{(P,C,K,E,D)} (P,C,K,E,D)是一个密码体制,那么 H ( K ∣ C ) = H ( K ) + H ( P ) − H ( C ) H(\mathbf{K|C})=H(\mathbf{K})+H(\mathbf{P})-H(\mathbf{C}) H(KC)=H(K)+H(P)H(C)

伪密钥

  • 密码分析的基本目的是确定密钥
  • 考虑唯密文攻击,对于Oscar而言,它可以得到多个密钥
    • 通过这些密钥对某些明文加密得到Oscar所唯一知道的密文,这一过程在计算上是可行的
    • 但这样的明文不一定都有意义,很多可能只是杂乱的字母的组合而已,这部分对应的密钥可直接被Oscar排除
    • 但仍可能会有多个密钥,其对应明文在一个语言体系下都是有意义的,并非杂乱的字母组合
  • 在这些密钥中,只有一个密钥是正确的
  • 那些可能的但不正确的密钥称为 伪密钥

唯一解距离

定义
一个密码体制的唯一解距离定义为使得伪密钥的期望数等于零的 n n n的值,记为 n 0 n_0 n0,即在给定的足够的计算时间下分析者能唯一计算出密钥所需密文的平均值

  • 可以看出,伪密钥的存在对密文的破译造成了障碍

  • 伪密钥数越小,破译自然越方便

  • 所以我们的目的就是推导伪密钥的期望数的下界

    • 为什么是期望数?
      • 因为所拥有密文的不同会造成伪密钥数的不同
      • 所以对所有这些值的期望的描述才能更好地描述背后的密码体制
  • 伪密钥的期望数如何表示?

    • 给定 y ∈ C n y\in \mathcal{C}^n yCn,定义 K ( y ) = { K ∈ K : ∃ x ∈ P n , s . t .    P r [ x ] > 0 , e k ( x ) = y } K(y)=\{K\in \mathcal{K}:\exist x\in \mathcal{P}^n,s.t.\,\,\mathrm{Pr[x]}>0,e_k(x)=y\} K(y)={KK:xPn,s.t.Pr[x]>0,ek(x)=y}
      • K ( y ) K(y) K(y)是密文为 y y y的可能密钥的集合
        • 这里可能的含义需要格外注意
          • 在这些密钥下 y y y对应的明文有意义
          • 否则对应密钥可以直接被排除,便无所谓可能了
    • 于是 y y y对应的伪密钥数目为 ∣ K ( y ) ∣ − 1 |K(y)|-1 K(y)1
    • 伪密钥的平均数目(期望)为 s n ‾ = ∑ y ∈ C n P r [ y ] ( ∣ K ( y ) ∣ − 1 ) = ∑ y ∈ C n P r [ y ] ∣ K ( y ) ∣ − ∑ y ∈ C n P r [ y ] = ∑ y ∈ C n P r [ y ] ∣ K ( y ) ∣ − 1 \begin{aligned} \overline{s_n}&=\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}(|K(y)|-1)\\ &=\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}|K(y)|-\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}\\ &=\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}|K(y)|-1 \end{aligned} sn=yCnPr[y](K(y)1)=yCnPr[y]K(y)yCnPr[y]=yCnPr[y]K(y)1
  • 如前所述,唯一解距离为使得 s n ‾ = 0 \overline{s_n}=0 sn=0 n n n的值

  • 想要找到这个 n 0 n_0 n0,就要考虑 s n ‾ \overline{s_n} sn n n n之间的关系

  • 如何建立与 n n n的联系?

    • 回顾 s n ‾ \overline{s_n} sn的关系式
      • 其与每个密文y的概率以及y下可能密钥集的大小有关
      • 而由前述知识,密钥集大小 ∣ K ( y ) ∣ |K(y)| K(y)的对数是熵 H ( K ∣ y ) H(\mathbf{K}|y) H(Ky)的上限
        • 这为我们提供了一条向外建立联系的思路
      • 联立: s n ‾ + 1 = ∑ y ∈ C n P r [ y ] ∣ K ( y ) ∣ ∑ y ∈ C n P r [ y ] H ( K ∣ y ) = H ( K ∣ C n ) \begin{aligned} \overline{s_n}+1=&\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}|K(y)|\\ &\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}H(\mathbf{K}|y)=H(\mathbf{K|C}^n) \end{aligned} sn+1=yCnPr[y]K(y)yCnPr[y]H(Ky)=H(KCn)
    • 于是 H ( K ∣ C n ) = ∑ y ∈ C n P r [ y ] H ( K ∣ y ) ≤ ∑ y ∈ C n P r [ y ] l b ∣ K ( y ) ∣ ≤ l b ∑ y ∈ C n P r [ y ] ∣ K ( y ) ∣ ≤ l b ( s n ‾ + 1 ) \begin{aligned} H(\mathbf{K|C}^n)&=\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}H(\mathbf{K}|y)\\ &\leq \sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}\mathrm{lb}|K(y)|\\ &\leq \mathrm{lb}\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}|K(y)|\\ &\leq \mathrm{lb}(\overline{s_n}+1) \end{aligned} H(KCn)=yCnPr[y]H(Ky)yCnPr[y]lbK(y)lbyCnPr[y]K(y)lb(sn+1)
  • 而由预备知识中定理 H ( K ∣ C n ) = H ( K ) + H ( P n ) − H ( C n ) H(\mathbf{K|C}^n)=H(\mathbf{K})+H(\mathbf{P}^n)-H(\mathbf{C}^n) H(KCn)=H(K)+H(Pn)H(Cn)

  • 由于自然语言中各字符间并非毫无关联,引入如下概念:

定义
自然语言 L L L的的熵(每字母) H L = lim ⁡ n → ∞ H ( P n ) n H_L=\lim_{n\to \infty}\frac{H(\mathbf{P}^n)}{n} HL=nlimnH(Pn)
语言L的冗余度定义为 R L = 1 − H L l b ∣ P ∣ R_L=1-\frac{H_L}{\mathrm{lb}|\mathcal{P}|} RL=1lbPHL

  • 可知 H L H_L HL是属于一种自然语言 L L L的固有性质,它度量了这种语言的每个字母的平均熵,一个随机语言具有熵 l b ∣ P ∣ \mathrm{lb}|\mathcal{P}| lbP
    • 同时,这也提供了一种对 H ( P n ) H(\mathbf{P}^n) H(Pn)的估计
  • { H ( P n ) ≈ n H L = n ( 1 − R L ) l b ∣ P ∣ H ( C n ) ≤ n l b ∣ C ∣ \begin{cases} H(\mathbf{P}^n)\approx nH_L=n(1-R_L)\mathrm{lb}|\mathcal{P}|\\ H(\mathbf{C}^n)\leq n\mathrm{lb}|\mathcal{C}| \end{cases} {H(Pn)nHL=n(1RL)lbPH(Cn)nlbC
  • 所以,如果 ∣ C ∣ = ∣ P ∣ |\mathcal{C}|= |\mathcal{P}| C=P l b ( s n ‾ + 1 ) ≥ H ( K ∣ C n ) = H ( K ) + H ( P n ) − H ( C n ) ≥ H ( K ) − n R L l b ∣ P ∣ \mathrm{lb}(\overline{s_n}+1)\geq H(\mathbf{K|C}^n)=H(\mathbf{K})+H(\mathbf{P}^n)-H(\mathbf{C}^n) \geq H(\mathbf{K})-nR_L\mathrm{lb}|\mathcal{P}| lb(sn+1)H(KCn)=H(K)+H(Pn)H(Cn)H(K)nRLlbP
  • 考虑等概率选取密钥的情况,此时 H ( K ) = l b ∣ K ∣ H(\mathbf{K})=\mathrm{lb}|\mathcal{K}| H(K)=lbK,有

定理
假设 ( P , C , K , E , D ) \mathcal{(P,C,K,E,D)} (P,C,K,E,D)是一个密码体制, ∣ C ∣ = ∣ P ∣ |\mathcal{C}|= |\mathcal{P}| C=P并且密钥是等概率选取。设 R L R_L RL表示明文的自然语言的冗余度,那么给定一个充分长(长为n)的密文串,伪密钥的期望数满足 s n ‾ ≥ ∣ K ∣ ∣ P ∣ n R L − 1 \overline{s_n}\geq \frac{|\mathcal{K}|}{|\mathcal{P}|^{nR_L}}-1 snPnRLK1

  • 在这种情况下,我们可以得到 n 0 ≈ l b ∣ K ∣ R L l b ∣ P ∣ n_0 \approx \frac{\mathrm{lb}|\mathcal{K}|}{R_L\mathrm{lb}|\mathcal{P}|} n0RLlbPlbK
    • 这意味着,给定的密文串的长度至少为25时,通常解密才是唯一的
  • 至此,关于唯一解距离的求解已经讨论结束
  • 值得注意的是,所求结果并不一定准确,而且运算中的符号连接很多都是不等号,但这样的求得的唯一解距离实际上也可以标明一个密码系统的好坏
    • 唯一解距离越长,密码系统越好
    • 当唯一解距离为无穷大时,系统称为理想保密系统
      • 此时Oscar便无法从众多“可能”的密钥中得到真正正确的密钥
      • 而实际上由于自然语言的复杂性,目前没有任何一种分析方法可以做到

乘积密码体制

  • 即通过“乘积”组合密码体制
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1948年,美国科学家克劳德·香农(Claude Shannon)提出了信息论理论,这一理论对信息传输和存储的原理进行了研究和探索。基于香农的信息论理论,我们可以从以下几个方面来回答。 首先,香农的信息论理论主要研究了信息的传递和存储的问题。他将信息定义为消除不确定性的事物,认为信息的量可以通过信息熵来度量,即信息的平均不确定性的度量。这为我们理解信息的含义和计算信息的量提供了一个基础。 其次,香农提出了信息的传输和存储的两个重要原理:编码和解码。编码是将信息通过某种方式转换成对应的编码形式,以便在传输和存储中更高效地使用。解码则是将编码的信息转换回原始的信息形式,使接收者能够理解和使用这些信息。通过编码和解码,我们可以实现信息的传输和存储的有效性和可靠性。 此外,香农还提出了信道容量的概念,即在特定信道条件下传输的最大可靠信息量。他通过数学上的分析和推导,得出了通信系统中信道容量的计算公式,并提出了一种称为香农编码的编码方式,可以实现接近信道容量的信息传输效率。这为我们提高通信系统的容量和效能提供了指导和解决方案。 最后,基于香农的信息论理论,我们可以深入理解信息传输和存储的内在机制和原理,优化和改进通信系统的设计与性能。通过对信息熵、编码和解码、信道容量等概念的理解和应用,我们可以更好地利用信息资源,提高信息传输的效率和可靠性。香农的信息论理论为信息科学和通信领域做出了巨大贡献,对现代社会的信息技术和通信发展有着重要影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值