密码是一个相当安全的密码选项(如果创建正确的话)。它们很容易记住,并且有很高的熵。他们有一个很大的缺点:打字很容易,因为他们太长了。
另一种选择是使用稍长的密码,但只使用每个单词的第一个字母。因此,您会得到一个更短的密码(因为您需要稍长的密码,所以更难记住这一点)。
例子:“这是一个随机的句子,我在5分钟左右就想出来了。”
=> "Tiars,Icuwi5mos“
这是否可以被认为是安全的(稍短一点)密码呢?
给出一些观点:假设我们将一个15-1个字符的密码与一个7个单词/35个字符的密码进行比较。
发布于 2016-11-30 17:22:38
从表面上回答你的问题:
将15-1个字符的密码与7个单词/35个字符的密码进行比较。
在我们进行有意义的比较之前,我们需要先做一些假设。
所以,一些快速的数学,我们有:
通过这个计算,一个15个字符的随机密码比一个7个常用的单词密码略强。(13个字符随机密码的强度大致相同。)
请注意,假设#4很弱,因为第一个字母算法可能与随机密码没有相同的熵(因为您将使用较少的特殊字符,单词的起始字母分布不同,等等)。因此,我认为用您描述的方法导出的7个单词密码比15个字符密码强得多,如果您的密码中至少有一个单词是不常见的,则更容易得出结论。
发布于 2016-11-30 14:12:28
一些数学背景:
对你的秘密进行适当的暴力攻击将首先使用最有可能的秘密。
因此,您可以通过计算随机源S的熵H来表示密码类的“质量”(例如,以20个字符作为起始字母的秘密,而不是真正随机的8个字符)。
熵,在信息论的上下文中是信息的期望。随机事件X的信息I(在本例中是一个特殊的秘密)
I(X) =- log2(p(X)),
P是事件发生的概率。
现在,对于一个真正随机的密码N-字符8位字符,每个字符是同样有可能的,无论字符串在哪里发生。这意味着这些字符的期望值是从N个字符串中得到的最大值。
现在,如果您使用了第一个字母方法,情况就会发生巨大的变化:在字符串中的任何地方使用?的次数要比结束时多多少次?X作为你秘密的第一个字母的可能性有多大,T有多大可能?如果W是第一个字母,那么下一个字母是i还是a的可能性有多大(考虑到第一个单词很可能是什么/在哪里/谁,这些中间代词后面通常是" is“或" are ")?如果第一个字母不是W,你会像选第二个字母一样选择i吗?
语言不使用概率一致的字符。因此,每个字符添加8位熵,添加可能是4.7位熵左右-因此,您真正随机的N个字符的密码有8N位熵(或者7N,如果限制在ASCII中),但是您的第一个字母的概率要少得多,特别是因为字母概率是强链接的(例如,W后面可能是i或a)。因此,虽然第一个字符的熵可能仍然是4.7位,但下一个字符却没有,因此,源的熵会低得多。所以,与其将一个8个字符真正随机地与12个字符的首字母秘密进行比较,不如将其与至少两倍长度的第一个字母秘密进行比较。
发布于 2017-07-18 02:29:55
开头人物的想法不是很好。问题是英文单词的首字母并非完全相同。。请注意,本文表中的Gutenberg项目数据是英文文本中单词标记的初始字母的频率(而不是字典条目首字母的频率)。从表面上看,这是你所考虑的普通英语密码的合理近似。
该表中分布的最小熵约为2.6位(-log2(0.16671)),这为我们估计了根据您的方法生成的密码的最坏情况熵/字符。因此,用15个单词的英文句子的开头字母生成的密码不应该超过39位的最小熵。
不管怎样,这是一个乐观的估计,因为我们还没有尝试过任何复杂的方法,比如在前面单词的首字母上对初始字母的概率进行调整。
结论:你的建议听起来不太好。
https://security.stackexchange.com/questions/144000
复制相似问题