首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从一种语言的所有单词中随机使用7-8个单词作为密码是个好主意吗?

从一种语言的所有单词中随机使用7-8个单词作为密码是个好主意吗?
EN

Cryptography用户
提问于 2019-12-28 13:04:11
回答 2查看 2.1K关注 0票数 5

比特币Bip-39字典有2048个单词。他们中的24人在一起很安全。如果源更大(语言中的所有单词),但只有7-8个单词,怎么办?这些词将完全由他们的索引随机选择。

EN

回答 2

Cryptography用户

回答已采纳

发布于 2019-12-28 13:34:45

拥有2048个单词的比特币Bip-39字典可以通过掷硬币256次随机选择单词来创建\approx 2^{263}-entropy。随机比特被转换为24个11位块,每个块通过ID映射到2048个单词中的一个,由于随机选择允许重复,所以我们需要n^r而不是P(n,r)

2048^{24} \approx 2.9642774844752946\mathrm{e}{+79} \approx 2^{264}

如果我们假设英语有171,476个单词。再用8个字;

因此,171476^{8} \approx 7.475267765296064\mathrm{e}{+41} \approx 2^{139}.会有更低的熵,也就是Bip-39。7字;

因此,171476^7 \approx 4.3593667716158903\mathrm{e}{+36} \approx 2^{121}.的熵比Bip-39要低。

正如人们所看到的,Bip-39中的选择2048和24显然是为了达到2^{264}熵。如果你用16个单词作为密码(正如丹·尼利所指出的)

171476^{16} \approx 5.587962816287441\mathrm{e}{+83} \approx 2^{278}.将淘汰Bip-39.15个单词到达3.258743390496303\mathrm{e}{+78} \approx 2^{260}

它还被认为是安全的吗

是的,它仍然是安全的,超出了任何集体力量的范围,就像比特币矿商的总实力一样,他们在一年内可以达到2^{92}双SHA256哈希。

注:我以前经常周旋。我已经决定使用完整的数字,因为这至少改变了一点。所以,这里是Python;

代码语言:javascript
运行
复制
import math

def prinPowInBase2(b,p):

    print(b,"^",p)
    print("\t", math.pow(b,p))
    print("\t", math.log2(math.pow(b,p)+1))
    print("\t", math.floor(math.log2(math.pow(b,p)+1)))

prinPowerInBase2(2048,24)
票数 11
EN

Cryptography用户

发布于 2019-12-28 14:04:32

是的,7-8个单词是随机挑选出来的,这是一个强密码.

首先,我们应该考虑什么是强密码,我们根据密码中熵的大小来衡量产生密码的方法的强度。XKCD方法https://xkcd.com/936/使用4个随机的公共词,有44位熵。这被认为是一个合理的妥协,如果你想要一个难忘的密码。

如果你不想依赖PBKF,你可能需要更多的熵。随机的15个字符从64个可能值的字母表(例如大写大写、小写数和一些更多的字符)将给你90位熵,这是非常强的。

从一个质量好的字典中抽取8个随机单词,加上50K个单词,你就会得到几乎124位的熵。

有了完整的牛津词典,你就可以得到170 K个单词,甚至其中7个会给你121个熵。

所提到的BIP方法有264位,这是更多,但我们几乎不需要为一个密码。即使是来自密码管理器的不值得记忆的密码,通常也不会达到如此高的程度。

票数 4
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/76701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档