486 / 691SEED-GEN

Seed Generation

Генерация seed кошелька

Seed Generation получает непредсказуемый вход и применяет точно заданный процесс кошелька. Правильное число слов или контрольная сумма сами не доказывают качественную случайность либо секретность.

В BIP39 начальная энтропия становится фразой; фраза и необязательная passphrase затем создают бинарный seed. BIP32 выводит из него главный ключ и chain code. Значения и шаги не взаимозаменяемы; другие форматы резервирования могут действовать иначе.

BIP39 предназначен для читаемой записи компьютерной случайности, а не придуманных человеком предложений. Выбор известной цитаты или собственной последовательности слов не равнозначен генерации энтропии заданным процессом. [BIP39 — Mnemonic generation and seed conversion]

Linux getrandom() по умолчанию ждёт инициализации источника. GRND_NONBLOCK может вместо ожидания вернуть EAGAIN. Реализация должна учитывать состояние и возвращённую длину; ошибку чтения нельзя выдавать за успешно полученный вход. [Linux getrandom — Initialization and return values]

Web Crypto getRandomValues() предоставляет криптографически безопасные байты целочисленному массиву; свыше 65536 байтов вызывает QuotaExceededError. Соответствие интерфейсу само не проверяет загруженный код, дальнейшую обработку или защиту фразы от утечки. [W3C Web Crypto — getRandomValues contract]

BIP39 добавляет 4 контрольных бита к 128 входным битам для 12 слов; к 256 битам добавляет 8 битов для 24 слов. Эти биты получены из SHA256, а не являются дополнительной независимой энтропией. [BIP39 — Mnemonic generation and seed conversion]

BIP39 выводит 512-битовый seed через PBKDF2-HMAC-SHA512 с 2048 итерациями. Использует фразу и соль из буквального текста mnemonic плюс passphrase, оба в UTF-8 NFKD. Отсутствующая passphrase пуста; длина не доказывает 512 бит входной энтропии. [BIP39 — Mnemonic generation and seed conversion]

BIP32 обрабатывает seed через HMAC-SHA512 с ключом Bitcoin seed и делит результат на главный закрытый ключ и chain code. Нулевое значение или выход за допустимый диапазон невалидны; весь seed не используется прямо как один закрытый ключ. [BIP32 — Master key generation]

BIP39 публикует векторы с энтропией, фразой и seed, включая тестовую passphrase TREZOR. Совпадение подтверждает преобразование данного входа, не непредсказуемость рабочего генератора. Публичный тестовый вход не должен быть секретной резервной копией реальных средств. [BIP39 — Mnemonic generation and seed conversion]

NIST SP 800-90C связывает источники энтропии и механизмы генерации. Оценка кошелька должна также проследить конкретную версию, обработку ошибок и передачу значений следующим шагам. Доказательство для одной компоненты не подтверждает безопасность всего процесса или последующего хранения копии. [NIST SP 800-90C — Random bit generator constructions]

Для полной картины прочитайте эту статью вместе с Random Number Generator, BIP 39, HD Wallet, Seed Phrase. На эту статью также ссылаются Random Number Generator, CSPRNG, Deterministic RNG, Entropy Mixing.

DOC · 001BIP39 — Mnemonic generation and seed conversionСпецификация ↗DOC · 002Linux getrandom — Initialization and return valuesДокументация ↗DOC · 003W3C Web Crypto — getRandomValues contractСпецификация ↗DOC · 004BIP32 — Master key generationСпецификация ↗DOC · 005NIST SP 800-90C — Random bit generator constructionsСпецификация ↗
Сначала источники · Не является инвестиционной рекомендацией