我们讨论了许多主题,并使用熵的度量来确定攻击者成功的难易程度。在密码学的上下文中,熵是什么意思?一般情况下如何计算熵?

评论

我想到这样的熵:假设攻击者想知道您的密码,并且您愿意通过回答她的问题来告诉她密码。查找密码?

#1 楼

在信息论中,熵是与随机变量相关的不确定性的量度。就密码术而言,必须由密码提供熵以注入到消息的明文中,以便抵消不安全的明文消息中存在的结构量。如何测量取决于密码。

看看下面的文章。它提供了对熵测度及其在密码学中的应用的概述:“密码学中的熵测度和无条件安全性(1997)”

#2 楼

给您一个简短的答案:熵的常见概念是香农熵。以概率$ \ Pr [x] $出现的值$ x $的信息内容$ H_x $是
$$ H_x =-\ log_2(\ Pr [x])\ text。$$
随机源的熵是它输出的符号的预期信息内容,即
$$ H(X)= E [H_X] = \ sum_x \ Pr [x] H_x = \ sum_x-\ Pr [x] \ log_2(\ Pr [x])\ text。$$

您可以将其解释为符号$ x $的预期不确定性,只知道$ x $的分布选择。对于位字符串,重要的信息是,熵并不总是等于$ x $的位长。即如果您想为伪随机生成器提供种子,那么选择具有高熵的种子非常重要。如果将实际时间用作种子,则种子的熵非常低,因为每个人都可以轻松猜出种子的各个部分(年,日,甚至小时和分钟)。问Netscape,他们应该已经学过了……

其他答案中还讨论了熵的其他几种概念,但是我想这是最重要的,如果您不想研究复杂性的话或信息论。