BIP39校验和规则详解:熵的位数为128,校验和为什么是取4位不是8位

校验和取前4位还是8位,并非随意决定,而是由熵的长度决定的,严格遵循BIP-39标准的计算公式:

校验和位数 = 熵的位数 ÷ 32

具体规则:

熵的位数(bits) 校验和位数(bits) 助记词数量 计算逻辑(熵位数 ÷ 32)
128 4 12 128 ÷ 32 = 4
160 5 15 160 ÷ 32 = 5
192 6 18 192 ÷ 32 = 6
224 7 21 224 ÷ 32 = 7
256 8 24 256 ÷ 32 = 8

为什么这样设计?

核心目的是让 “熵 + 校验和”的总位数刚好是11的倍数,确保能平均分割为11位的分组(每个分组对应一个助记词,因为11位二进制可表示0~2047的索引,对应BIP-39词表的2048个单词)。

以128位熵为例:

  • 熵(128位) + 校验和(4位) = 132位
  • 132 ÷ 11 = 12 → 刚好得到12个11位分组 → 对应12个助记词

如果128位熵取8位校验和:

  • 总位数 = 128 + 8 = 136位
  • 136 ÷ 11 ≈ 12.36 → 无法整除,无法平均分割为11位分组,导致助记词数量不整数(不符合标准)。

总结:

校验和的位数由熵的长度决定,本质是为了满足“总位数是11的倍数”这一硬性要求,确保助记词数量为整数(12/15/18/21/24)。128位熵对应4位校验和,256位熵对应8位校验和,都是为了适配助记词的生成规则,同时兼顾安全性(熵越长,校验和也越长,错误检测能力更强)。

posted @ 2025-07-25 17:30  ffffox  阅读(89)  评论(0)    收藏  举报