本文结构:
助记词例子:脑酒老 丰如德 核角归 事挖商
听我解开这个谜团
助记词库
汉字助记词库
高阶玩儿法
字母移位替换
数列移位替换
把助记词改成不像助记词的样子:比如一首诗
后记:呼吁国内钱包团队阅读本篇文章
通过上期文章,我们知道了如何3分钟用旧手机做一个安全的冷钱包,可是新的问题又来了,这是那个困扰了各路好汉很多年的问题:私钥丢了怎么办?
私钥丢了,神仙难救,所以问题变成了:我如何能够保证助记词的安全?放得太秘密,怕自己找不到;放得不够隐秘,就被人发现,直接取走了我的钱。
我今天告诉你一套混合拳,可以保证你丢不了助记词,也能保证别人看到你助记词的时候不知道这是什么——这是密码学最实用和简单的生活应用。别怕,不枯燥,看数字、字母的时候直接跳过看汉字就好了。
助记词可以这样写:脑酒老 丰如德 核角归 事挖商
承接上篇文章,你有了助记词(如下图所示),如果要放很多加密资产进去这时候怎么记录这些助记词呢?
我以此为例,我可以记录成这样:
1208 786 212
850 76 502
758 234 999
124 1419 396
然后我再记录成:
脑酒老,丰如德。
核角归,事挖商。
好了的我的助记词就是,脑酒老 丰如德 核角归 事挖商。这十二个汉字。
我知道很多读者这时候还是一脸懵,这玩意儿怎么出来的?准不准?
听我解开这个谜团
助记词库
现在加密钱包最常用的协议是BIP39,然后给你生成12个助记词害怕你记不住,然后如果英文不好,反复核对麻烦到不行,其实这英文单词都来自一个单词库,单词库里有2048个单词,2048个单词对应着多个国家的单词体系。
BIP39词库总览:https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md
英文词表:https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt
助记词ctrl+f(搜索),比如第一个单词lesson:
汉字助记词库
lesson是第1028个词,对应到汉字词表:https://github.com/bitcoin/bips/blob/master/bip-0039/chinese_simplified.txt#L1
1028就是个“脑字”。
其他的单词全部可以按照顺序对应,不同的国家有不同的单词对照,都是常用字。
全部对照完,就可以得出12个汉字的助记词了,为了方便大家使用。我专门做了一个表格:https://shimo.im/docs/vjwcPPQPgVY6kQhd/ 《BIP39助记词:中英文序列对照表(Excel)》
根据这个表格就可以快速地查找单词(ctrl+f)对应的序列以及汉字,直接用汉字写下自己的助记词,然后如果要使用的时候打开对照表,输入对应的英语即可,打开后看到的部分形态是这样的:
这就做成了自己的12字汉字助记词,准确地说是把英文助记词转换成汉字方便记录,给看到你助记词的人也不知道这是什么。
但是问题来了,这篇文章一发很多人都已经知道了,或许看到了12个汉字连起来的东西,还是能找到你的助记词(其实,大概率不会发生)。
高阶玩儿法
1、字母移位替换
比如abc换成bcd,往后移动一位去记录单词,当然你可以移动两位或者有自己的一套移位方法去记录助记词,这样需要用的时候换回来,移动了几位,以及怎么替换的只有你自己知道,比如你的单词里移位后,把b全部换成了q——这是替换法和移位法结合。
2、数列移位替换
在记录的时候,可以记录汉字,也可以记录数列,也可以把数列全部转变为二进制。
如下这个例子,我把前文提到的助记词转化为序列数:
1208 786 212 850 76 502 758 234 999 124 1419 396
每个加5、加3或者加1记录下来,你只要记住这个数字不是真的数字,下面每个数字都加1了(你也可以加任意一个数,比如你的幸运数字)。
1209 787 213 851 77 503 759 235 1000 125 1420 397。
这么写更没有人看得懂,因为不知道你心里加了几,只需要你记录好之后,心里记住这些数字你加了几,还可以12个数字,第一个加1,第二个2……第十二个是加12,或者倒过来第一个加12,第二个加11……第十二个加1,等等,有一个自己方便记忆的方法就好。
3、把助记词改成不像助记词的样子:比如一首诗
脑酒老 丰如德 核角归 事挖商
这十二个汉字就是我的助记词(文中例子),然后我来个断句修改:
醒脑酒老,
财丰如德。
夜核角归,
临事挖商。
好了,你是在每句话前加了一个字,也可以随意在末尾或者第二个字等等地方加入一个字,写的莫名其妙,自己一看就懂,别人怎么看都不懂,不知道这是什么东西。
你看到这些汉字的时候,打开链接就可以找到英文单词,一个一个输入进去。
当你的助记词只有你知道它的本来面目,是什么的时候,你就不用担心存放问题,多放几个地方,也没有人看出来这是你的助记词,看出来了也不知道你进行了怎么样的修改。做到神出鬼没,你的助记词还用担心会丢吗?
后记:呼吁国内钱包团队阅读本篇文章
如果加密资产不多,这篇文章就当个乐趣吧,密码学在生活中的应用有很多。你玩儿密室逃脱的时候其实就有简单的密码学原理。
在此呼吁国内的钱包团队,做出来钱包可以用中英文对照,或者在app中加个小程序,直接让客户记录汉字,随时方便转换英文——这篇文章的思路写成程序就可以实现这个功能了。
英文记录真的挺麻烦的。对一个不常用英文的人,另外一个圈内人无意中(或者有意)发现这个人本子上记录了12个英文单词,还用想吗?这大概率就是助记词了。拍个照片,回去就把钱提走。所以钱包app发展这么多年,底层逻辑上要让大家觉得好用,这篇文章献给各位朋友,同时也希望钱包团队,做出一点革新,让大家使用钱包更加方便——至少助记词记着方便。
github上的助记词库:https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md
英文词库:https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt
汉字词库:https://github.com/bitcoin/bips/blob/master/bip-0039/chinese_simplified.txt#L1028
本人所做的、方便使用的Excel表格下载地址(可阅读原文直接跳转):https://shimo.im/docs/vjwcPPQPgVY6kQhd/ 《BIP39助记词:中英文序列对照表(Excel)》