信息安全密码学必备知识:商农(Shannon)信息理论,信息熵和完全保密性

熵的概念在信息理论中的应用

在上一篇中已经引出了熵的概念及其公式,在进一步介绍密码学的密码理论之前,先由熵的概念以数学的方式表达密码系统中的定义。

以下所提到的“未知信息量”,“不确定性”,“熵值”指的是同一值,即熵。

信息熵

设M = { mi , m2 ,… , mn }为明文空间,mi 出现的概率为 P(mi) ,由此定义信息熵: H ( M ) = − ∑ m i ∈ M P ( m i ) × log ⁡ 2 P ( m i ) H(M)=-\sum _{m_i ∈M}P(m_i)×\log _2P(m_i) H(M)=miMP(mi)×log2P(mi) 表示为从明文空间M中取一份发送给接收者的不确定性的度量

密钥熵

设K = { ki , k2 ,… , kn }为明文空间,ki 出现的概率为 P(ki) ,由此定义信息熵:
H ( K ) = − ∑ k i ∈ K P ( k i ) × log ⁡ 2 P ( k i ) H(K)=-\sum _{k_i ∈K}P(k_i)×\log _2P(k_i) H(K)=kiKP(ki)×log2P(ki) 表示对密钥的不确定性的度量

条件熵(暧昧度)

密文用 C 表示,条件熵是密码学中最符合实际情况的,即在已获得某些密文的情况下,明文和密钥的不确定性的度量,明文不确定性数学表达为:
H ( M ∣ c ) = − ∑ m i ∈ M P ( m i ∣ c ) × log ⁡ 2 P ( m i ∣ c ) H(M|c)=-\sum _{m_i∈M}P(m_i|c)×\log_2P(m_i|c) H(Mc)=miMP(mic)×log2P(mic) P ( m i ∣ c ) P(m_i|c) P(mic) 表示在知道密文c的情况下,是mi的概率。
密文不确定性数学表达式:
H ( K ∣ c ) = − ∑ k i ∈ K P ( k i ∣ c ) × log ⁡ 2 P ( k i ∣ c ) H(K|c)=-\sum _{k_i∈K}P(k_i|c)×\log_2P(k_i|c) H(Kc)=kiKP(kic)×log2P(kic) P ( k i ∣ c ) P(k_i|c) P(kic) 表示在知道密文c的情况下,是ki的概率。

理论上的完全保密性

考察的是唯密文攻击方法平均所能获得的最大信息量。
I ( M ; C ) = 0 I(M;C)=0 I(M;C)=0 则称该密码是完全保密的
M是明文空间
C是密文空间
现实意义为,在知道密文的情况下,关于M的信息量。
可参见上一篇的这张图:详细信息在这里插入图片描述

与完全保密的等价的条件:
  1. 一个密码体制是完全保密的
  2. I ( M ∣ C ) = 0 ; ( 意 思 是 明 文 和 密 文 不 互 相 提 供 信 息 ) I(M|C)=0;\color {blue}(意思是明文和密文不互相提供信息) I(MC)=0;
  3. H ( M ∣ C ) = H ( M ) ; ( 知 道 密 文 的 情 况 下 , 不 能 降 低 原 明 文 的 熵 ) H(M|C)=H(M);\color {blue}(知道密文的情况下,不能降低原明文的熵) H(MC)=H(M);
  4. H ( C ∣ M ) = H ( C ) ; ( 知 道 明 文 的 情 况 下 , 不 能 降 低 原 密 文 的 熵 ) H(C|M)=H(C);\color {blue}(知道明文的情况下,不能降低原密文的熵) H(CM)=H(C);
  5. ∀ a ∈ M , ∀ b ∈ C    有 P ( m = a ∣ c = b ) = P ( m = a ) ; ( 当 P ( c = b ) ≠ 0 时 ) \forall_a\in M,\forall_b\in C\;有P(m=a|c=b)=P(m=a);\color{red}(当P(c=b)\neq0时) aM,bCP(m=ac=b)=P(m=a);(P(c=b)=0) 意思是在已知密文b的情况下m=a的概率,与不知道的情况下 m=a的概率相同

定理:(M是明文空间,C是密文空间,K是密钥空间)
H ( K ∣ C ) = H ( M ∣ C ) + H ( K ∣ M , C ) ; 已 知 密 文 C 的 的 条 件 下 , 密 钥 K 的 未 知 信 息 量 = 已 知 密 文 的 情 况 下 , 明 文 的 未 知 信 息 量 + 已 知 明 文 M 和 密 文 C 的 条 件 下 , 密 钥 K 的 未 知 信 息 量 H(K|C)=H(M|C)+H(K|M,C);\\ \color{blue} 已知密文C的的条件下,密钥K 的未知信息量=\\ 已知密文的情况下,明文的未知信息量+\\ 已知明文M和密文C的条件下,密钥K的未知信息量 H(KC)=H(MC)+H(KM,C);CK=+MCK
根 据 实 际 要 有 , H ( M ∣ C , K ) = 0 ; 即 已 知 密 文 和 密 钥 的 条 件 下 , 其 明 文 的 不 确 定 性 必 须 为 0 ; 根据实际要有,H(M|C,K)=0;\\即已知密文和密钥的条件下,其明文的不确定性必须为0; H(MC,K)=0;0

推论:

  1. H ( K ∣ C ) ≥ H ( M ∣ C ) H(K|C)\geq H(M|C) H(KC)H(MC)
  2. I ( M ; C ) ≥ H ( M ) − H ( K ) I(M;C)\geq H(M)-H(K) I(M;C)H(M)H(K)

此式很重要,说明 H ( K ) H(K) H(K)越大, I ( M ∣ C ) I(M|C) I(MC)就越小,表明密文C中含有明文M的信息量也就越小。当满足了 I ( M ∣ C ) = 0 ; 的 时 候 , 称 为 该 密 码 系 统 是 完 全 保 密 的 。 I(M|C)=0;的时候,称为该密码系统是完全保密的。 I(MC)=0也称无条件保密的。即无论截获多少密文,对明文的信息量总是0;
要使得本式成立, H ( M ) − H ( K ) 的 值 必 须 小 于 I ( M ; C ) H(M)-H(K)的值必须小于I(M;C) H(M)H(K)I(M;C)的最小值0,
故而,( H ( M ) − H ( K ) H(M)-H(K) H(M)H(K))的值只能是负数。

  1. 完全保密的必要条件是: H ( K ) ≥ H ( M ) ; H(K)\geq H(M); H(K)H(M);(密钥的不确定性(熵值)要大于明文的不确定性(熵值),即破译密钥的难度要大于破解明文的难度)
  2. 完全保密的充要条件:
  • 将每一个明文加密成每一个密文的密钥只有一个
    mi+ki=ci      知 道 明 文 m i 和 密 钥 k i 仅 能 得 到 一 个 密 文 c i \;\;\color{red}知道明文m_i和密钥k_i仅能得到一个密文c_i mikici
  • 所有密钥都是等概率的

由密文C求不出密钥K的任何信息的充要条件:

形 式 化 表 达 式 : H ( K ∣ C ) = H ( K ) + H ( M ) − H ( C ) 形式化表达式:H(K|C)=H(K)+H(M)-H(C) H(KC)=H(K)+H(M)H(C)
直 观 涵 义 : 获 取 密 文 C 后 密 钥 K 的 未 知 信 息 量 等 于 明 文 M 与 密 文 C 的 未 知 信 息 量 减 去 从 已 知 密 文 C 中 获 得 的 信 息 量 \color{blue}直观涵义:\\获取密文C后密钥K的未知信息量等于\\明文M与密文C的未知信息量减去从已知密文C中获得的信息量 :CKMCC

证明:
H ( K ∣ C ) = H ( K , C ) − H ( C ) = H ( K , M ) − H ( C ) = H ( K ) + H ( M ) − H ( C )    ( 依 据 : H ( X , Y ) = H ( X ) + H ( Y ) ) H ( K , C ) = H ( K , M ) 因 为 密 钥 和 明 文 密 文 都 是 相 互 独 立 的 H(K|C)\\ =H(K,C)-H(C)\\ =H(K,M)-H(C)\\ =H(K)+H(M)-H(C)\;(依据:H(X,Y)=H(X)+H(Y))\\ H(K,C)=H(K,M) 因为密钥和明文密文都是相互独立的 H(KC)=H(K,C)H(C)=H(K,M)H(C)=H(K)+H(M)H(C)H(X,Y)=H(X)+H(Y)H(K,C)=H(K,M)

推 论 : H ( K ∣ C ) = H ( K ) 等 价 于 H ( M ) = H ( C ) 推论:H(K|C)=H(K)等价于H(M)=H(C) H(KC)=H(K)H(M)=H(C)
直 观 涵 义 : 截 获 密 文 对 求 解 密 钥 没 有 任 何 帮 助    等 价 于 明 文 包 含 的 未 知 信 息 量 = 密 文 包 含 的 未 知 信 息 量 \color{blue}直观涵义:\\截获密文对求解密钥没有任何帮助\;等价于\\明文包含的未知信息量=密文包含的未知信息量 :=

由密文C唯一确定密钥K的充要条件:(唯一解码量,唯一解距离)

表 达 为 : H ( K ∣ C ) = 0 因 此 : H ( K ) + H ( M ) − H ( C ) = 0 表达为:H(K|C)=0\\因此:H(K)+H(M)-H(C)=0 H(KC)=0H(K)+H(M)H(C)=0
直 观 涵 义 : 密 文 C 的 信 息 量 达 到 了 一 定 的 数 量 , 使 得 H ( K ) + H ( M ) = H ( C ) ( 密 钥 K 的 未 知 信 息 量 和 明 文 M 的 未 知 信 息 量 之 和 同 密 文 C 的 未 知 信 息 量 相 同 时 ) 就 可 以 确 定 对 应 的 明 文 和 密 文 。 这 样 , 我 们 将 密 钥 唯 一 确 定 所 需 要 的 最 少 的 密 文 字 符 数 , 称 唯 一 解 码 量    或 唯 一 解 距 离 \color{blue}直观涵义:\\密文C的信息量达到了一定的数量,使得H(K)+H(M)=H(C)\\(密钥K的未知信息量和明文M的未知信息量之和同密文C的未知信息量相同时)\\就可以确定对应的明文和密文。\\这样,我们将密钥唯一确定所需要的最少的密文字符数,称\color{red}唯一解码量\;或唯一解距离 :C使H(K)+H(M)=H(C)KMC

理论上,当截获的密文数量大于唯一解码量的时候,原则上就可以对该密码系统进行破解。
但实际上,唯一解码量仅是一个理论值,一般破译密码系统所需要的密文量都远大于唯一解码量。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值