487 / 691CS

BIP39 checksum

니모닉 백업의 체크섬

BIP39 checksum은 단어 백업의 일부 오류를 찾아냅니다. 원래 엔트로피에서 계산되며 무작위성, 비밀 유지 또는 찾으려는 지갑과의 관계를 입증하지 않습니다.

BIP39는 ENT비트 엔트로피에 그 SHA-256의 첫 ENT/32비트를 붙인 뒤 결과를 단어 목록의 11비트 인덱스로 나눕니다. 검사 비트는 공개된 방법으로 계산할 수 있으며 비밀 엔트로피를 추가하지 않습니다.

BIP39는 ENT = 128, 160, 192, 224 또는 256비트를 허용합니다. 해당 체크섬은 4, 5, 6, 7 또는 8비트이며 12, 15, 18, 21 또는 24개 단어를 만듭니다. 각 11비트 묶음은 해당 2048개 단어 목록에서 인덱스 0‑2047을 선택합니다. [BIP39 — Mnemonic generation and seed conversion]

128비트에서는 128 + 4 = 132 = 12 × 11입니다. 마지막 단어는 엔트로피 7비트와 검사 4비트를 담습니다. 24개 단어에서는 엔트로피 3비트와 검사 8비트를 담습니다. 따라서 마지막 단어를 하나의 범용 검사 단어로 단순히 바꿀 수 없습니다. [BIP39 — Mnemonic generation and seed conversion]

유효한 단어로 만든 균등 무작위 배열 중 12개 단어에서는 1/16, 24개 단어에서는 1/256이 검사를 통과합니다. 이는 해당 길이의 모든 가능한 배열에 대한 비율이며, 특정 오타나 단어 이동을 발견한다는 보장이 아닙니다. 잘못된 백업 중 일부는 여전히 유효합니다. [BIP39 — Mnemonic generation and seed conversion]

검증기는 올바른 목록으로 단어를 비트로 바꾸고 엔트로피를 분리한 다음 첨부된 비트를 그 SHA-256과 비교합니다. 공격자도 유효한 체크섬을 계산할 수 있습니다. 약하거나 공개된 입력도 통과할 수 있으므로 체크섬은 인증이나 일반적인 오류 수정 알고리즘이 아닙니다. [BIP39 — Mnemonic generation and seed conversion]

단어 체크섬은 BIP39 passphrase를 검증하지 않습니다. PBKDF2-HMAC-SHA512로 구문과 passphrase를 변환하면 단어 검사와 별도로 512비트 seed가 만들어집니다. 유효한 구문만으로 원래 지갑을 찾았다고 확인할 수 없습니다. 정확한 단어와 순서, 필요한 passphrase를 보존해야 합니다. 다른 단어 목록으로 백업을 번역하면 seed가 바뀝니다. [BIP39 — Mnemonic generation and seed conversion]

구현은 자신의 비밀 백업 대신 공개 테스트 벡터로 검증하세요. 공개 벡터는 자금을 안전하게 받을 지갑이 아닙니다. 복구할 때는 지갑의 신뢰할 수 있는 절차를 따르고 실제 단어를 모르는 웹 검사기에 보내지 마세요. 체크섬 통과는 앱이 단어를 훔치지 않았다는 증거가 아닙니다. [BIP39 — Mnemonic generation and seed conversion]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 BIP 39, Seed Generation, BIP39 passphrase, Cryptographic Entropy. 다음 항목에서도 이 글을 참조합니다 BIP 39, BIP39 passphrase, COLDCARD RNG Incident (2026).

DOC · 001BIP39 — Mnemonic generation and seed conversion명세 ↗
1차 출처 우선 · 투자 조언이 아닙니다