助记是一种复制难以记忆的东西的方法,比如一系列的数据。通过将数据与诸如随机单词之类的东西联系起来,这样就可以使用助记词来记忆原始数据。助记词的生成过程是从BIP 39单词表(2048个单词)里选出12个单词(或者更长)组成随机数列。
第一步:生成一个128~256位的随机序列(熵)。熵只能是32的整数倍,熵值越大,越安全,助记词也会越多。熵的长度称为ENT(128~256);熵的来源比较重要,一般使用OS提供,用户不会感知这个过程;有些为了提高熵值,会让用户通过摄像头取获取照相。
(熵是用来度量无序程度的。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高,也就更难破解。)
第二步:取熵哈希后的前CS位作为校验值,这里CS=ENT/32。CS取值4,5,6,7,8 。
第三步:生成一个新的序列,即:熵+校验值。
第四步:把第三步中生成的序列,按照11位进行切割。为什么是11呢?上边说了2048个助记词,如果把这2048个词编个号,则每11位就对应一个单词。
第五步:步骤四中依次产生的单词就是助记词了。
注:助记词一定要保管好,切勿告诉他人,因为知道你助记词的人就可以进入你的钱包。