---
title: "Сид-фраза с помощью игральных кубиков: пошаговая инструкция"
url: "https://bip39-phrase.com/ru/sid-fraza-kubikami/"
language: "ru"
published: "2026-10-19T00:00:00+00:00"
updated: "2026-10-19T00:00:00+00:00"
---

Опубликовано 19 октября 2026 г. 

# Сид-фраза с помощью игральных кубиков: пошаговая инструкция

![Сид-фраза с помощью игральных кубиков: пошаговая инструкция](/images/blog/seed-phrase-with-dice-hero.webp) 

Чтобы создать сид-фразу BIP39 с помощью кубиков, бросьте честный шестигранный кубик не меньше 50 раз для фразы из 12 слов или 99 раз для фразы из 24 слов, превратите броски в биты и завершите фразу последним словом, в котором записана контрольная сумма. Каждый бросок даёт log₂ 6 ≈ 2,585 бита энтропии, поэтому 50 бросков покрывают 128 бит, из которых состоят 12 слов. Превратить броски в слова может аппаратное устройство — Coldcard, SeedSigner или Krux, — а можно обойтись бумагой и ручкой: каждое слово собирается из 11 бросков «чёт или нечет», а выбрать последнее поможет [калькулятор последнего слова](/ru/kalkulyator-poslednego-slova/). В обоих случаях случайность задаёт кубик, а не микросхема, которой приходится верить на слово, и не ваш вкус к словам.

## Броски и слова: коротко

|                                                | 12 слов                               | 24 слова                               |
| ---------------------------------------------- | ------------------------------------- | -------------------------------------- |
| Нужно энтропии                                 | 128 бит                               | 256 бит                                |
| Шестигранный кубик, броски хеширует устройство | 50 бросков                            | 99 бросков                             |
| Двадцатигранный кубик (Krux)                   | 30 бросков                            | 60 бросков                             |
| Вручную: 1 бит за бросок кубика или монеты     | 121 на первые 11 слов, 7 на последнее | 253 на первые 23 слова, 3 на последнее |
| Бит контрольной суммы в последнем слове        | 4                                     | 8                                      |
| Подходящих последних слов                      | 128                                   | 8                                      |

## Зачем кубики, если кошелёк сам создаёт фразу?

Кошелёк получает сид-фразу от своего генератора случайных чисел, и со стороны не проверишь, хорошо ли тот работает. Обычно он работает как надо, но сбои известны:

- **Coldcard, 2021–2026 годы.** В июле 2026 года Coinkite [сообщила](https://blog.coinkite.com/entropy-technical-backgrounder/), что после изменения прошивки в марте 2021 года устройства Coldcard брали случайность для сидов не из аппаратного генератора, а из программного генератора общего назначения MicroPython. По оценке компании, вместо 128 бит перебирать приходилось около 40 бит на Mk2 и Mk3 и около 72 бит на Mk4, Mk5 и Q, и злоумышленники восстанавливали такие ключи у себя и выводили средства. Сиды, при создании которых было сделано не меньше 50 честных, независимых и никому не показанных бросков кубика, Coinkite не считает уязвимыми из-за одной только этой ошибки.
- **Libbitcoin Explorer, 2023 год.** Команда `bx seed` в версиях с 3.0.0 по 3.6.0 инициализировала генератор «вихрь Мерсенна» всего 32 битами системного времени, так что возможных сидов было не больше 4,29 млрд. 12 июля 2023 года злоумышленники вывели с таких кошельков около 29,65 BTC ([разбор Milk Sad](https://milksad.info/disclosure.html)).

С кубиками от генератора устройства ничего не зависит. Платить за это приходится временем и новыми поводами ошибиться — о них ниже. Для большинства людей генератор надёжного кошелька остаётся практичным выбором: даже для новых сидов взамен уязвимых Coinkite называет кубики необязательными, а сид, созданный исправленной прошивкой, — достаточным. Как из случайного числа получаются слова, а из слов — ключи, объясняет статья [что такое сид-фраза](/ru/chto-takoe-sid-fraza/).

## Сколько бросков нужно?

У честного кубика шесть равновероятных граней, поэтому один бросок несёт log₂ 6 ≈ 2,585 бита. Разделите энтропию фразы на это число и округлите вверх:

| Длина фразы | Энтропия | Бросков шестигранного кубика | Бит в этих бросках |
| ----------- | -------- | ---------------------------- | ------------------ |
| 12 слов     | 128 бит  | 50                           | 129,2              |
| 15 слов     | 160 бит  | 62                           | 160,3              |
| 18 слов     | 192 бита | 75                           | 193,9              |
| 21 слово    | 224 бита | 87                           | 224,9              |
| 24 слова    | 256 бит  | 99 (или 100)                 | 255,9 (или 258,5)  |

49 бросков дают лишь 126,7 бита, поэтому для 12 слов минимум — 50\. Для 24 слов точный ответ — 99,03: 99 бросков не дотягивают до 256 бит на десятую долю бита, что на практике ничего не меняет, и [Coldcard](https://coldcard.com/docs/verifying-dice-roll-math/), SeedSigner и Krux просят именно 99 бросков. Coldcard и Krux принимают и больше, так что сотый бросок — бесплатный запас.

Подойдут и монета, и другие кубики. Подбрасывание монеты даёт ровно 1 бит, так что на 12 слов нужно 128 подбрасываний. Двадцатигранный кубик даёт log₂ 20 ≈ 4,32 бита, и [Krux](https://selfcustody.github.io/krux/getting-started/usage/generating-a-mnemonic/) просит 30 бросков для 12 слов и 60 — для 24.

Лишние броски никогда не вредят, а недостающие вредят всегда, причём хеширование, о котором речь пойдёт ниже, нехватку скрывает. Двадцать бросков превращаются в 256-битное значение, которое выглядит случайным, но злоумышленнику достаточно перебрать 6²⁰ последовательностей бросков — около 52 бит.

## Способ 1: броски хеширует устройство

Быстрее всего — аппаратное устройство для подписи, которое принимает броски кубика:

- **Coldcard:** New Seed Words → Advanced → 12 Word Dice Roll или 24 Word Dice Roll. Устройство предупреждает, что аппаратная случайность к броскам подмешиваться не будет.
- **SeedSigner:** Tools → New seed (пункт со значком кубика), затем 12 words (50 rolls) или 24 words (99 rolls).
- **Krux:** режимы для шестигранного (D6) и двадцатигранного (D20) кубика, с индикатором минимального числа бросков и оценкой энтропии.

Результат каждого броска вы вводите сразу, как он выпал. Затем все три устройства вычисляют SHA-256 от бросков, записанных текстом ровно так, как вы их ввели, и берут хеш как энтропию: все 256 бит для 24 слов и первые 128 бит для 12\. Формула открыта ([Coldcard](https://coldcard.com/docs/verifying-dice-roll-math/), [SeedSigner](https://github.com/SeedSigner/seedsigner/blob/dev/docs/dice%5Fverification.md), [Krux](https://selfcustody.github.io/krux/getting-started/usage/generating-a-mnemonic/)), поэтому одни и те же броски дают на всех трёх устройствах одни и те же слова — документация Krux говорит об этом прямо. Весь расчёт умещается в несколько строк на Python:

```python
import hashlib

rolls = "123456"  # пример из документации Coldcard; для настоящей фразы нужно 50 или 99 бросков
digest = hashlib.sha256(rolls.encode("ascii")).hexdigest()
print(digest[:32])  # энтропия для 12 слов: первые 128 бит
print(digest)       # энтропия для 24 слов: все 256 бит
```

Для «123456» хеш начинается с `8d969eef`, как в документации Coldcard. Визуализатор на странице [«Как работает BIP39»](/ru/kak-rabotaet-bip39/) принимает эти 32 или 64 шестнадцатеричных символа и показывает контрольную сумму, группы по 11 бит и слова.

Разные программы читают броски по-разному. В документации SeedSigner отмечено, что режим «Dice \[1-6\]» на странице BIP39 Иэна Коулмана (Ian Coleman) заменяет каждую шестёрку нулём и поэтому даёт другие слова; там советуют выбирать режим «Base 10» или «Hex». Для перекрёстной проверки устройства берите инструмент с той же формулой.

Coldcard умеет и подмешивать броски к собственному случайному числу, а не использовать их одни. В этом режиме вы выбираете New Seed Words и длину фразы, а затем добавляете броски кубика или монеты. Тогда сид не определяется ни микросхемой, ни кубиком по отдельности, зато по одним броскам его уже не воспроизвести: чтобы проверить результат, нужно записать собственное значение устройства — его показывают в виде 24 «TRNG-слов» — и запустить скрипт verify\_seed\_mix.py от Coinkite.

## Способ 2: каждое слово вручную из 11 бросков

Без такого устройства броски можно превратить в слова самому. Каждое слово BIP39 — это 11-битное число от 0 до 2047, его номер в списке, поэтому нужен лишь честный способ получать биты:

- **Чёт или нечет.** Один бросок — один бит: 2, 4 или 6 — это 0, а 1, 3 или 5 — это 1\. Так же работает монета: орёл — 1, решка — 0\. На 12 слов уходит 128 бросков.
- **По два бита, когда получается.** Читайте 1 как 00, 2 как 01, 3 как 10, 4 как 11, 5 как 0, а 6 как 1\. Все биты остаются честными, а в среднем выходит около 1,67 бита на бросок, так что на 128 бит хватит примерно 77 бросков.

Дальше:

1. **Запишите биты в одну строку** в порядке бросков и разрежьте её на группы по 11\. Первым 11 словам фразы из 12 слов нужен 121 бит, первым 23 словам фразы из 24 слов — 253\. Следующие 7 бит (3 для 24 слов) оставьте для последнего слова.
2. **Переведите каждую группу в число.** Под каждой единицей напишите вес её разряда — от 1024 слева до 1 справа — и сложите.
3. **Найдите слово.** Номер 0 — abandon, 2047 — zoo. Кошельки почти всегда используют английский список, а русского в стандарте нет. В [словаре BIP39 с переводом](/ru/) слова пронумерованы с единицы, поэтому прибавьте к числу 1\. На [странице со списком слов](/) (на английском) можно выбрать нумерацию Binary (11 bits) и ввести 11 бит прямо в поиск.
4. **Подберите последнее слово** так, как описано ниже.

Вот первое слово ещё одного официального тест-вектора, `7f7f7f7f…` (legal winner thank year wave sausage worth useful legal winner thank yellow; как и все тест-векторы, он публичный), собранное из 11 бросков «чёт или нечет»:

| Вес разряда | 1024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| ----------- | ---- | --- | --- | --- | -- | -- | -- | - | - | - | - |
| Бросок      | 2    | 5   | 3   | 1   | 5  | 3  | 3  | 1 | 4 | 5 | 1 |
| Бит         | 0    | 1   | 1   | 1   | 1  | 1  | 1  | 1 | 0 | 1 | 1 |

512 + 256 + 128 + 64 + 32 + 16 + 8 + 2 + 1 = 1019, а слово с номером 1019 (1020 при счёте с единицы) — legal.

Никогда не складывайте очки нескольких кубиков: у двух кубиков сумма 7 выпадает в шесть раз чаще, чем 2 или 12\. Читайте каждый кубик отдельно.

## Разбор на официальном тест-векторе

У самого простого официального тест-вектора BIP39 энтропия — 128 нулевых бит, `00000000000000000000000000000000` в hex, а фраза — «abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about». Он опубликован среди [эталонных тест-векторов](https://github.com/trezor/python-mnemonic/blob/master/vectors.json), так что никогда не отправляйте на него средства, но нули удобно разбирать вручную. Допустим, все 128 ваших бросков «чёт или нечет» оказались чётными:

1. **Первый 121 бит — нули.** В каждой из одиннадцати групп по 11 бит стоит 00000000000 = 0, а слово 0 — abandon, так что первые одиннадцать слов — abandon, одиннадцать раз.
2. **Введите их в калькулятор.** После одиннадцати abandon [калькулятор последнего слова](/ru/kalkulyator-poslednego-slova/) покажет 128 слов, которые завершают корректную фразу.
3. **Выберите вариант последними 7 битами.** Они равны 0000000 = 0, значит, берём вариант номер 0, первый в списке: about.
4. **Почему именно about.** По [спецификации BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) контрольная сумма — это первые ENT/32 бита хеша SHA-256 от энтропии, а для 128 бит энтропии — 4 бита. SHA-256 от 16 нулевых байт начинается с 0x37, в двоичном виде 0011 0111, так что контрольная сумма — 0011\. Последнее слово — это 7 свободных бит и за ними контрольная сумма: 0000000 0011 = 3, а слово номер 3, после abandon, ability и able, — about.
5. **Проверьте.** На странице [«Как работает BIP39»](/ru/kak-rabotaet-bip39/) кнопка «Официальный тест-вектор» покажет те же биты, хеш и слова, а [проверка сид-фразы](/ru/proverka-sid-frazy/) подтвердит, что фраза корректна.

С 24 словами всё так же. 253 нулевых бита дают двадцать три abandon, а последнее слово — это 3 нулевых бита и 8-битная контрольная сумма 0110 0110, потому что SHA-256 от 32 нулевых байт начинается с 0x66\. Получается 102 — слово art.

## Как случайно выбрать последнее слово

В последнем слове — остаток энтропии и контрольная сумма: во фразе из 12 слов 7 случайных бит и 4 бита суммы, во фразе из 24 слов — 3 и 8\. Для суммы нужен SHA-256, а его вручную никто не считает, поэтому варианты находит программа, а выбирает из них кубик:

1. **Введите первые 11 слов (или 23)** в [калькулятор последнего слова](/ru/kalkulyator-poslednego-slova/). Он покажет все слова, с которыми контрольная сумма сходится, в порядке списка: 128 после 11 слов и 8 после 23.
2. **Получите ещё 7 бит** (3 для 24 слов) и прочитайте их как двоичное число от 0 до 127 (от 0 до 7).
3. **Отсчитайте вариант с этим номером,** считая первый вариант нулевым. Маленькие цифры рядом со словами — номера в общем списке BIP39, а не в списке вариантов.

В порядке списка варианты отличаются ровно этими свободными битами, поэтому фраза сохраняет все 128 или 256 бит. Выбор слова по вкусу часть их теряет, как и привычка всегда брать первый вариант. В SeedSigner тот же шаг встроен как Calc 12th/24th word: свободные биты можно задать бросками монеты или [заполнить нулями](https://github.com/SeedSigner/seedsigner/blob/dev/src/seedsigner/views/tools%5Fviews.py), но нули отнимают 7 бит и оставляют фразе из 12 слов 121 бит.

## Как проверить готовую фразу

- **Контрольная сумма.** Введите фразу на странице [проверки сид-фразы](/ru/proverka-sid-frazy/). Положительный результат значит, что все слова есть в списке и последнее подходит к остальным, но ничего не говорит о том, насколько слова случайны.
- **Каждый шаг.** Если вы собирали слова вручную, запишите 128 бит как 32 шестнадцатеричные цифры (каждые 4 бита — одна цифра от 0 до f) и введите их в визуализатор на странице [«Как работает BIP39»](/ru/kak-rabotaet-bip39/): группы и слова должны совпасть с вашими.
- **Второе устройство.** Для первого способа введите те же броски в другой инструмент с той же формулой SHA-256 — слова должны совпасть.
- **Настоящее восстановление.** Восстановите фразу в кошельке, которым будете пользоваться, и запишите первый адрес получения, а перед первым переводом восстановите кошелёк ещё раз по бумажной копии: тот же адрес значит, что копия верна. Пошагово это описано в статье о том, [как восстановить кошелёк по сид-фразе](/ru/kak-vosstanovit-koshelek-po-sid-fraze/). Не каждый кошелёк принимает 24 слова — Exodus, например, работает только с 12; подробнее — в статье [12 или 24 слова](/ru/12-ili-24-slova/).

## Частые ошибки

- **Неровный кубик.** Берите кубик с острыми рёбрами и точками вровень с гранью — например, казино-кубик: такие [делают так, чтобы они оставались сбалансированными](https://en.wikipedia.org/wiki/Dice), а у игровых кубиков скруглённые углы и углублённые точки. Небольшой перекос обходится дёшево: кубик, у которого шестёрка выпадает в одном случае из пяти, всё равно даёт 2,58 бита на бросок — около 129 бит за 50 бросков. Сильный перекос виден по подсчёту: [прошивка Coldcard](https://github.com/Coldcard/firmware/blob/master/shared/seed.py) отказывается создавать сид только из бросков, если какое-то число выпало больше чем в 30% бросков, а Krux показывает оценку энтропии, чтобы подозрительные броски бросались в глаза.
- **Пропущенные или «исправленные» броски.** Записывайте каждый бросок сразу. Если перебрасывать кубик всякий раз, когда число повторяет предыдущее, у каждого броска остаётся 5 исходов вместо 6, и 50 бросков несут около 116 бит, а не 129\. Инструкция Coldcard: бросать заново перед каждым вводом, вводить только выпавший результат и перебрасывать неясные броски и те, где кубик лёг с перекосом.
- **Слишком мало бросков.** Хеш выглядит одинаково, получен ли он из 20 бросков или из 99.
- **Приложение или компьютер вместо кубика.** Приложение-«кубик» возвращает программный генератор, то есть то, от чего вы хотели уйти; Coldcard прямо просит не выдумывать броски и не пользоваться приложением или компьютером.
- **Оставленные записи.** Броски, биты и номера слов — это ваша фраза в другой форме: тот, у кого есть вся последовательность, восстановит кошелёк. Когда фраза записана и проверена, уничтожьте черновики или храните их так же надёжно, как саму фразу; не фотографируйте их и не набирайте в телефоне. Бросайте там, где стол не видят ни люди, ни камеры: Coldcard просит прятать от людей и камер даже хеш, который показывает во время бросков.
- **Последнее слово по вкусу.** Так теряется до 7 бит; пусть выбирает кубик, как описано выше.

Готовую фразу храните как любую другую — на бумаге или металле, без копий в сети. Варианты сравнивают статьи [как хранить сид-фразу](/ru/kak-hranit-sid-frazu/) и [металлическая сид-фраза](/ru/metallicheskaya-sid-fraza/).

## Кубики или придуманные слова?

И кубики, и придуманные слова отнимают выбор у кошелька, но случайность сохраняют только кубики. Кубику всё равно, какие слова легко запомнить. Человек же выбирает слова со смыслом, ставит их в грамматическом порядке и берёт из нескольких сотен знакомых, а если выбирать только понятные английские слова, круг сужается ещё сильнее. Именно такие варианты злоумышленники перебирают первыми. Сам стандарт BIP39 оговаривает, что не предназначен для превращения придуманных пользователем предложений в сид, а мозговые кошельки (brain wallets) из придуманных фраз почти все были опустошены, как правило, в течение суток. Калькулятор последнего слова сделает корректными любые 11 слов, но случайными их не сделает: если первые 11 выбрали вы, фраза остаётся придуманной. Подробно, с разбором реальных взломов, — в статье [можно ли придумать сид-фразу самому](/ru/pridumat-sid-frazu-samomu/).

## Частые вопросы

### Надёжнее ли фраза из бросков кубика, чем фраза от аппаратного кошелька?

Не сама по себе. Кубики убирают одну вещь, которой приходится доверять, — генератор случайных чисел устройства, — но добавляют место для человеческих ошибок. Некоторые устройства сочетают источники: Trezor [смешивает свою аппаратную случайность](https://trezor.io/guides/trezor-devices/trezor-fundamentals/what-is-entropy-and-how-does-trezor-generate-your-wallet) со случайностью компьютера или телефона, а Coldcard умеет подмешивать броски к собственному значению. Как устроены такие устройства, рассказывает статья об [аппаратных кошельках](/ru/apparatnyj-koshelek/). И в любом случае фраза ничего не защитит, если её плохо хранить.

### Можно ли использовать кубики с Trezor или Ledger?

Не для создания фразы. Устройства Ledger создают её генератором случайных чисел [внутри защищённого чипа (Secure Element)](https://www.ledger.com/academy/topics/security/what-is-the-entropy), а Trezor в августе 2026 года сообщил, что [рассматривает поддержку энтропии от пользователя](https://trezor.io/blog/news/coldcard-vulnerability-trezor-devices-are-not-affected), но пока не может её обещать. Восстановить фразу, созданную кубиками, можно на обоих, если они принимают её длину.

### Можно ли взять монету или другой кубик?

Да, если все исходы равновероятны. Монета даёт 1 бит за подбрасывание, двадцатигранный кубик — около 4,32 бита за бросок. Для ручного способа удобнее всего кубики с 4, 8 или 16 гранями: каждый их бросок даёт ровно 2, 3 или 4 бита.

### Нужно ли хранить записи бросков?

Нет. Когда слова записаны и проверены, броски только добавляют риска: уничтожьте их или храните так же надёжно, как фразу.

### Можно ли бросками кубика выбрать и парольную фразу BIP39?

Да. Для паролей и парольных фраз Trezor в своём руководстве описывает выбор слов из стандартного списка бросками настоящих кубиков: случайность дают кубики, а не ваша голова. [Парольная фраза BIP39](/ru/parolnaya-fraza-bip39/) меняет весь кошелёк, поэтому храните её копию отдельно от слов.

### Можно ли тянуть слова из шапки?

Да, если жеребьёвка честная. В [документации Passport](https://docs.foundation.xyz/advanced/user-added-entropy/) от Foundation описано, как сложить все 2048 слов в коробку и тянуть по одному, возвращая каждое перед следующим разом, — 11 раз для фразы из 12 слов или 23 раза для 24 слов; последнее слово затем вычисляет устройство. Та же идея, что с кубиками, только бумаги больше.
