---
title: "Как работает BIP39: энтропия, контрольная сумма и слова"
url: "https://bip39-phrase.com/ru/kak-rabotaet-bip39/"
language: "ru"
updated: "2026-10-19T00:00:00+00:00"
---

# Как работает BIP39: от энтропии к словам

BIP39 превращает 128–256 случайных бит в сид-фразу из 12–24 слов: добавляет контрольную сумму SHA-256, делит биты на группы по 11 и сопоставляет каждой группе одно из 2048 слов. Посмотрите все шаги на официальном тест-векторе или на новой случайной энтропии.

 Обновлено 19 октября 2026 г. 

## Четыре шага BIP39

[Спецификация BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) превращает случайное число в слова за четыре шага, одинаковых во всех совместимых кошельках:

1. **Энтропия.** Кошелёк берёт от 128 до 256 случайных бит с шагом 32\. Это число, ENT, и есть весь секрет.
2. **Контрольная сумма.** Кошелёк хеширует энтропию функцией SHA-256 и берёт первые ENT/32 бит хеша — это CS. Для 128 бит энтропии получается 4 бита.
3. **Группы.** Контрольная сумма дописывается к энтропии, и результат режется на группы по 11 бит. Каждая группа — число от 0 до 2047.
4. **Слова.** Каждое число — номер слова в [списке из 2048 слов](/ru/), считая с нуля. Слова по порядку и есть мнемоническая фраза.

| Слов | Энтропия (ENT) | Контрольная сумма (CS) | Всего бит     |
| ---- | -------------- | ---------------------- | ------------- |
| 12   | 128 бит        | 4 бит                  | 132 = 12 × 11 |
| 15   | 160 бит        | 5 бит                  | 165 = 15 × 11 |
| 18   | 192 бит        | 6 бит                  | 198 = 18 × 11 |
| 21   | 224 бит        | 7 бит                  | 231 = 21 × 11 |
| 24   | 256 бит        | 8 бит                  | 264 = 24 × 11 |

![Конвейер BIP39 на официальном тест-векторе: 128 нулевых бит энтропии, хеш SHA-256, начинающийся с 0x37, контрольная сумма 0011, двенадцать 11-битных групп и слова abandon ×11 и about.](/images/diagrams/bip39-entropy-to-words.webp) 

От энтропии к словам: первые 4 бита SHA-256 от энтропии — контрольная сумма (0011), а 132 бита, разрезанные на 11-битные группы, выбирают слова «abandon» ×11 и «about».

## Почему последнее слово особенное

Контрольная сумма всегда оказывается в конце, внутри последнего слова. В фразе из 12 слов последнее слово содержит 7 бит энтропии и 4 бита контрольной суммы, поэтому, когда первые 11 слов уже выбраны, закончить фразу могут только 128 слов из 2048\. В тест-векторе выше SHA-256 от 16 нулевых байтов начинается с 0x37, в двоичном виде 0011 0111, значит, контрольная сумма равна 0011, а последний номер — 3, то есть _about_. [Калькулятор последнего слова](/ru/kalkulyator-poslednego-slova/) покажет все допустимые окончания для тестового начала фразы, а [проверка сид-фразы](/ru/proverka-sid-frazy/) проверит контрольную сумму целой фразы.

## От слов к сиду

Слова не используются как ключ напрямую. Кошелёк пропускает фразу через PBKDF2-HMAC-SHA512 с 2048 итерациями, а солью служит текст `mnemonic` плюс необязательная [парольная фраза](/ru/parolnaya-fraza-bip39/); получается 512-битный сид. По BIP32 из сида получается главный ключ, а [путь деривации](/ru/put-derivacii/) выбирает ключи для каждого счёта и адреса. Все эти значения для тестовой фразы показывает [конвертер сид-фразы в приватный ключ](/ru/sid-fraza-v-privatnyj-klyuch/).

## Тест-векторы для проверки

BIP39 ссылается на официальные тест-векторы в [python-mnemonic](https://github.com/trezor/python-mnemonic/blob/master/vectors.json), эталонной реализации стандарта. Вставьте энтропию любого из них в инструмент выше — слова должны совпасть в точности. Векторы общеизвестны, поэтому никогда не отправляйте на них средства.

| Энтропия (hex)                   | Мнемоническая фраза                                                                                                                                                                                                                                                                                                                                                                         |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 00000000000000000000000000000000 | [abandon](/bip39-word/abandon/) [abandon](/bip39-word/abandon/) [abandon](/bip39-word/abandon/) [abandon](/bip39-word/abandon/) [abandon](/bip39-word/abandon/) [abandon](/bip39-word/abandon/) [abandon](/bip39-word/abandon/) [abandon](/bip39-word/abandon/) [abandon](/bip39-word/abandon/) [abandon](/bip39-word/abandon/) [abandon](/bip39-word/abandon/) [about](/bip39-word/about/) |
| 7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f | [legal](/bip39-word/legal/) [winner](/bip39-word/winner/) [thank](/bip39-word/thank/) [year](/bip39-word/year/) [wave](/bip39-word/wave/) [sausage](/bip39-word/sausage/) [worth](/bip39-word/worth/) [useful](/bip39-word/useful/) [legal](/bip39-word/legal/) [winner](/bip39-word/winner/) [thank](/bip39-word/thank/) [yellow](/bip39-word/yellow/)                                     |
| 80808080808080808080808080808080 | [letter](/bip39-word/letter/) [advice](/bip39-word/advice/) [cage](/bip39-word/cage/) [absurd](/bip39-word/absurd/) [amount](/bip39-word/amount/) [doctor](/bip39-word/doctor/) [acoustic](/bip39-word/acoustic/) [avoid](/bip39-word/avoid/) [letter](/bip39-word/letter/) [advice](/bip39-word/advice/) [cage](/bip39-word/cage/) [above](/bip39-word/above/)                             |
| ffffffffffffffffffffffffffffffff | [zoo](/bip39-word/zoo/) [zoo](/bip39-word/zoo/) [zoo](/bip39-word/zoo/) [zoo](/bip39-word/zoo/) [zoo](/bip39-word/zoo/) [zoo](/bip39-word/zoo/) [zoo](/bip39-word/zoo/) [zoo](/bip39-word/zoo/) [zoo](/bip39-word/zoo/) [zoo](/bip39-word/zoo/) [zoo](/bip39-word/zoo/) [wrong](/bip39-word/wrong/)                                                                                         |
| 0000…0000 (256 бит)              | 23 раза abandon, затем [art](/bip39-word/art/)                                                                                                                                                                                                                                                                                                                                              |

Самое рискованное — создавать энтропию самому: люди плохо придумывают случайные числа. Сколько слов выбрать, разбирает статья [12 или 24 слова](/ru/12-ili-24-slova/), а что такое сама сид-фраза — статья [что такое сид-фраза](/ru/chto-takoe-sid-fraza/).

## Другие инструменты

- [Генератор сид-фразы BIP39](/ru/generator-sid-frazy/)
- [Конвертер сид-фразы в приватный ключ](/ru/sid-fraza-v-privatnyj-klyuch/)
- [Генератор приватных ключей](/ru/generator-privatnyh-klyuchej/)
- [Проверка сид-фразы (контрольная сумма)](/ru/proverka-sid-frazy/)
- [Калькулятор последнего слова](/ru/kalkulyator-poslednego-slova/)
- [Список слов BIP39 с транскрипцией и переводом](/ru/)

## Как работает BIP39 — частые вопросы

Почему в BIP39 ровно 2048 слов?

Потому что 2048 — это 2 в 11-й степени, и одно слово хранит ровно 11 бит. Энтропия вместе с контрольной суммой всегда даёт число бит, кратное 11: 132 бита для 12 слов и 264 для 24.

Контрольная сумма защищает фразу?

Нет, она только ловит ошибки: опечатка или переставленные слова обычно её ломают, и кошелёк отклоняет фразу, а не открывает пустой кошелёк. Секретности она не добавляет — её может вычислить любой, кто знает энтропию.

Можно ли сделать фразу из своей энтропии?

Технически да, как показывает инструмент выше, но настоящую случайность дают только честные игральные кости или монета.

В других языках всё так же?

Да. Биты и номера те же, отличается только список из 2048 слов. Номер 0 — это abandon в английском и ábaco в испанском, поэтому одна и та же энтропия даёт на разных языках разные фразы и разные сиды. Русского списка в BIP39 нет.
