5.6.2 熵
在高效的密码系统中,都是用一个密钥来加密大量不同的明文,因此想要无条件安全是不可能的。于是退而求其次,我们试图构建计算安全的密码系统。不过不幸的是,任何不完全保密的信息都有可能泄露密钥等重要信息。为了研究这一现象,Shannon 引入了熵的概念,熵是系统中不确定性的度量。因此,如果我们将 视为某个实验的结果等于 的概率,那么如果单个实验的结果揭示了关于随机变量 的大量信息,则认为 的熵很小。
设 是具有有限个可能值 的随机变量,并设 是对应概率
我们可以理解 是一个随机变量的期望值,该随机变量度量了实验结果 发生的不确定性。因此,的值越大,实验结果所揭示的关于 的信息就越少。那么 有哪些性质呢?
性质 函数 对于变量 来说应该是连续的。这反映了一种直觉,即 的微小变化会导致 所揭示的信息量的微小变化
性质 设 是均匀分布在集合 的随机变量,即随机变量 有 个不同的结果,且每个结果的概率都是 ,那么
这也反映了一种直觉,即如果所有结果出现的概率都相同,那么不确定性则会随着结果数量的增加而增加。(即每一种结果出现的概率随着结果数量的增多而减少)
性质 第三个性质不是那么自然,即,如果 的一个结果被认为是一个选择,并且如果该选择可以被分解为两个连续的选择,那么 的原始值是连续选择的 值的加权和。为了量化这种直觉,我们考虑随机变量 和在 集合中的取值
即表示实验结果 被分解为连续的 ,其中 ,那么性质 可以表示为
例 5.58
我们将 视为在集合 中进行选择,并将这个选择分解为,首先选择 ,然后选择 ,那么根据性质 ,我们有
例 5.59
我们再用一个更详细的例子来说明 ,假设 有五个可能的结果 ,相应的概率为
我们把 的可能结果视为一个选择,现在我们把这个选择分解为两个连续的选择,第一次选择子集 还是 ,第二次选择自己里具体元素。所以我们有随机变量 ,其中 ,并且
如图 5.2 b 所示。于是,用这个例子说明 就是
定理 5.60 每个函数都有性质 ,并且 是下列函数(熵的计算公式)的常数倍数
证明见《A mathematical theory of communication》
为了说明不确定性的概念,考虑当一个概率 而其他概率为零时会发生什么。在这种情况下,熵的计算公式(5.51)给出 ,这是有意义的,因为对于只有一个可能结果的实验,其本身并没有不确定性。
事实证明,当所有概率 都相等时,会出现另一个极端,即最大不确定性。为了证明这一点,我们使用了一个重要不等式,称为 Jensen 不等式。在介绍 Jensen 不等式之前,我们首先需要一个定义。
定义
如果以下不等式对于 中的所有 和所有 和 都成立,则实线上的函数 称为区间 上的凹(向下)函数:
这个定义可能看起来很神秘,但它有一个简单的几何解释。注意,如果我们固定 和 ,并让 从 0 变为 1,则点 则是在区间 中从 走到 。所以不等式(5.52)是连接 图上任意两点的线段位于 图下方的几何描述。例如,函数 是凹的。图5.3 给出了凹形和非凹形函数的图例,以及代表性线段。如果函数 有二阶导数,那么你在微积分中学到的二阶导数可以用来测试凹性。
定理 5.61 ( Jensen 不等式)假设 在区间 中是凹函数,设 为非负数,满足
当且仅当 是线性函数或者 取等。(对于 n=2,不等式(5.53)正是凹(5.52)的定义)
引理 5.62 设 为具有有限个可能值 的随机变量,则有
-
-
证明:设 , 其中 。然后 ,所以我们对函数 应用 Jensen 不等式()。5.53 式左手边其实就是熵的公式(5.51),所以我们有
这就完成了 1 的证明。另外,函数 不是线性的,所以当且仅当 时才能取等,即所有的事件概率 时取等。这完成了 2 的证明。
注意推论 5.62 说当所有概率相等时熵最大化。这符合我们的直觉,即当每个结果都有可能且概率相等时,不确定性最大化。
熵理论也被应用于密码学,通过计算与密码系统相关的随机变量(如)的熵,并将实际值与最大可能值进行比较。显然,熵越大,对用户越好,因为增加的不确定性使密码分析员的工作更困难。
例如,考虑移位密码和与其密钥相关的随机变量 。随机变量 有26个可能的值,因为移位可以是 0 到 25 之间的任何整数,并且每个移位量都是相等的,因此 具有的最大熵为 。
例 5.63
我们考虑示例 5.54 中描述的具有两个密钥的系统。每个密钥的概率相等,因此 。类似地,我们可以使用由(5.48)给出的该系统的明文概率来计算与明文相关的随机变量 的熵。
注意到 仅比 小了一点,而 是具有三个明文的密码系统中 的最大可能熵。
我们现在介绍条件熵的概念及其在密码系统中的应用。假设信号通过有噪声的信道发送,这意味着信号在传输过程中可能失真。Shannon 将 “equivocation” 定义为原始信号的条件熵。他使用这个量来测量在噪声信道上传输的 确定性。Shannon后来观察到,有噪声的通信信道可以看作保密系统的模型。原始信号(明文)通过应用加密过程而“失真”,因此接收的信号(密文)是原始信号的噪声版本。通过这种方式,“equivocation”的概念可以应用于密码学,其中如果 “equivocation” 很大,则表示密文隐藏了有关明文的大部分信息
定义
设随机变量 ,相应的可能结果为 , 关于 的条件熵定义为
当 是密钥随机变量, 是密文随机变量时, 称为“密钥 equivocation”。它度量密文所揭示的密钥的信息总量,或者更准确地说,它是给定 的单个观测值 后 的条件熵 的期望。 “密钥 equivocation”可以通过计算密码系统的所有条件概率 来确定。或者,可以使用以下结果。
命题 5.64 密码系统的 “密钥 equivocation” 与 的单个熵有关,公式如下:
例 5.65
我们计算示例5.54和5.63中描述的密码系统的 “密钥 equivocation”。我们已经计算了 和 ,因此仍需计算。为此,我们需要每个密文 的 值。我们已经计算了 ,然后使用(5.48)和表5.12进行类似的计算
原文始发于微信公众号(山石网科安全技术研究院):密码学 | 5.6.2 熵