其他分享
首页 > 其他分享> > 冷钱包安全吗?

冷钱包安全吗?

作者:互联网

使用过数字钱包的人,应该都会遇到助记词,用一句话来解释助记词就是:它是私钥的明文显示。

意如其名,帮助你记忆私钥的单词。因为,一串长长的字符总没有几个单词好记忆。

在写完《比特币里的私钥,公钥,地址是如何产生的?》文章后,其实财神还是有点迷惑的,就是当时在写助记词的时候,只是顺带一句话,并不知道它的真实产生过程。

好在,最近又看了精通以太坊这本书的介绍。

回顾一下私钥空间,比特币,以太坊的私人密钥空间的大小(2^256)是一个难以置信的大数目。十进制大约是10^77。可见宇宙估计含有10^80原子。

要从这么大的空间里找到一个私钥,它刚好是V神的钱包,这概率……比大海捞针,而且是不能借助任何工具,还难。

后来,财神了解到,所有的助记词字典,其实只有2048个单词。

生成助记词

1. 先从熵开始,熵的长度是32的整数倍,分别为 128, 160, 192, 224, 256,也就是我们私钥的长度。

2. 熵的长度再加上校验和的长度。为熵的长度/32 位, 所以校验和长度可为 4,5,6,7,8 位;

3. 一共有2048个助记词,用二进制表示的话需要11位。 2的11次方等于2048。所以,上面助记词的个数分别是12,15,18,21,24。

例如: 128位的熵,加上 4位校验和,等于132位长度的二进制,每11个切割成一组,那需要12组。

(128+4)/11 =12, 也即128长度的熵需要12个助记词

(256+8)/11 =24, 也即256长度的熵需要24个助记词

画张流程图就是

 

每个单词有唯一一个码,好了,上面就是助记词生成的整个过程。

12个助记词安全吗?

2048 第一个数的变动需要2048的1次方
4194304 第二个数的变动需要2048的2次方
8589934592 第三个数的变动需要2048的3次方
17592186044416 第四个数的变动需要2048的4次方
36028797018963968 第五个数的变动需要2048的5次方
73786976294838206464 第六个数的变动需要2048的6次方
151115727451828646838272 第七个数的变动需要2048的7次方
309485009821345068724781056 第八个数的变动需要2048的8次方
633825300114114700748351602688 第九个数的变动需要2048的9次方
1298074214633706907132624082305024 第十个数的变动需要2048的10次方
2658455991569831745807614120560689152第十一个数的变动需要2048的11次方
5444517870735015415413993718908291383296第十二个数的变动需要2048的12次方

如果使用暴力破解助记词的话需要达到次数数2048的12次方才能完全破解开。按照现在的科技来看目前一个人还是无法进行破解,当然我看过一篇文章,说如果现在的黑客集合破解的话,应该还是有可能破解开的。当然如果你是使用24个助记词的话那更安全,不过小编就不在详细写上这24个助记词的破解次数了最后的结果是2048的24次方就是29642774844752946028434172162224104410437116074403984394101141506025761187823616这个80位数就是24位助记词的破解次数。至于想要用12个助记词还是15或者更高的话,还是看大伙如果选择了。

你们密钥破解呢,我想你们也是很期待吧,不过你们更别想了,密钥虽然只有10个数字+6个英文单词组成,破解难道更大。下面就是为大家使用时间算法进行计算的具体数,至于最后那个数怎么读小编是不懂怎么读,看看有没有懂的可以去读看看也不多就78位数。

16
256
4096
65536
1048576
16777216
268435456
4294967296
68719476736
1099511627776
17592186044416
281474976710656
4503599627370496
72057594037927936
1152921504606846976
18446744073709551616
295147905179352825856
4722366482869645213696
75557863725914323419136
1208925819614629174706176
19342813113834066795298816
309485009821345068724781056
4951760157141521099596496896
79228162514264337593543950336
1267650600228229401496703205376
20282409603651670423947251286016
324518553658426726783156020576256
5192296858534827628530496329220096
83076749736557242056487941267521536
1329227995784915872903807060280344576
21267647932558653966460912964485513216
340282366920938463463374607431768211456
5444517870735015415413993718908291383296
87112285931760246646623899502532662132736
1393796574908163946345982392040522594123776
22300745198530623141535718272648361505980416
356811923176489970264571492362373784095686656
5708990770823839524233143877797980545530986496
91343852333181432387730302044767688728495783936
1461501637330902918203684832716283019655932542976
23384026197294446691258957323460528314494920687616
374144419156711147060143317175368453031918731001856
5986310706507378352962293074805895248510699696029696
95780971304118053647396689196894323976171195136475136
1532495540865888858358347027150309183618739122183602176
24519928653854221733733552434404946937899825954937634816
392318858461667547739736838950479151006397215279002157056
6277101735386680763835789423207666416102355444464034512896
100433627766186892221372630771322662657637687111424552206336
1606938044258990275541962092341162602522202993782792835301376
25711008708143844408671393477458601640355247900524685364822016
411376139330301510538742295639337626245683966408394965837152256
6582018229284824168619876730229402019930943462534319453394436096
105312291668557186697918027683670432318895095400549111254310977536
1684996666696914987166688442938726917102321526408785780068975640576
26959946667150639794667015087019630673637144422540572481103610249216
431359146674410236714672241392314090778194310760649159697657763987456
6901746346790563787434755862277025452451108972170386555162524223799296
110427941548649020598956093796432407239217743554726184882600387580788736
1766847064778384329583297500742918515827483896875618958121606201292619776
28269553036454149273332760011886696253239742350009903329945699220681916416
452312848583266388373324160190187140051835877600158453279131187530910662656
7237005577332262213973186563042994240829374041602535252466099000494570602496
115792089237316195423570985008687907853269984665640564039457584007913129639936

算到现在我想大家都应该明白如果要破解助记词或者密钥的难度了吧,助记词最后的结果是40位,密钥虽然只有16个数组合,但是却达到了78位,因此破解难道是相当的大,让你以1秒千万算都得用多长时间,你们可以去算下,小编就不在这边为你们进行计算了。

助记词生成原理

助记词 其实 就是 将 128bits 的 seed 补位成 132bits 的数值,然后 平均 拆分成 12个 数值,最后到 助记词列表中 根据下标 获取对应的 12个 单词 组成。

生成过程:
1.随机生成 128 bits 的 seed (需是32的倍数)
2.将 seed 进行hash256运算,获取hash值 开头的 4个 bits,与 seed 组成一个组新数值
3.以11bits为单位,拆分 上组新数值,每 11bits 个数值 转成一个10进制数
4.用这个十进制数 作为 助记词单词数组 的下标,获取 对应的 一个单词作为 助记词
5.一共12组11bits数,所以 生成 12个 单词

标签:24,变动,12,助记,2048,安全,钱包,次方
来源: https://blog.csdn.net/scc03/article/details/121068974