📜  密码学中的密码熵

📅  最后修改于: 2021-08-25 10:28:05             🧑  作者: Mango

密码熵是密码强度或给定密码强度的度量。它衡量密码对猜测或蛮力攻击的有效性。它决定输入的密码是否通用并且容易破解。通过了解所使用的字符集(低位字母,高位字母,数字,符号等)和创建的密码的长度来计算该值。它以每个字符的熵位数表示。

计算可能的密码总数:

在本文中,您将看到如何通过示例计算给定字符集可以创建的可能密码的总数。

示例1:

考虑以下信息系统的密码策略,在该信息系统中,用户需要使用至少5个字符和最多7个字符的密码来创建其密码,该字符集应包含小写字母az,大写字母AZ和数字0-9。计算可以从中创建的可能密码的总数。

解决方案 –

总字符= 26(az)+ 26(AZ)+ 10(0-9)= 62密码必须介于5个字符到7个字符=> P = \Sigma^{7}_{k=5} 62^k\\ = 62^5 + 62^6 + 62^7\\ = 3.5 * 10^{12}   可能的密码。

示例2:

考虑以下信息系统的密码策略,在该信息系统中,用户需要使用至少5个字符和最多7个字符的密码来创建其密码,该字符集应包含小写字母az,大写字母AZ和数字0-9。使用至少一个可以从中创建的数字来计算可能的密码总数。

解决方案 –

总字符= 26(az)+ 26(AZ)+ 10(0-9)= 62可以不使用任何数字组成的密码= 62-10(0-9)= 52密码必须介于5个字符到7个字符至少一位数字=> P = \Sigma^{7}_{k=5} 62^k -  \Sigma_{k=5}^{7} 52^k\\= 3.5 * 10^{12} - 1.048 * 10^12 \\= 2.45 * 10^{12}  可能的密码。

示例3:

现在假设攻击者使用的计算机的测试能力为每秒破解250万个密码,并且如果它可以测试密码总数的75%,则平均成功。然后计算出示例2中攻击者破解密码所需的时间。

解决方案 –

所需时间=可能的密码总数*速率*准确性= 2.45 * 10^{12} * \frac{1}{250000} * \frac{75}{100}\\ = 8.67

密码熵的计算:

在这里,您将看到如何计算密码熵。密码熵是通过以下公式计算得出的。

密码熵= log_{2}  (字符集中的字符数)*密码长度

示例4:

计算从示例1中使用的字符集中选择的geeksfg123的密码熵。

解决方案 –

字符集中的字符数= 62密码长度= 10(geeksfg123)密码熵= \log_{2} (62) *10\\ = 5.95 * 10\\ = 59.5  每个字符的熵位数