Jump to content
rammendo

Генерация собственной сид-фразы

Recommended Posts

Кто знает, как создать свою собственную сид-фразу из 12-ти слов? То есть хочется, чтобы сид-фраза начиналась с конкретного слова, мне удобного для запоминания. Допустим, со слова "swim".

Просто взять 12 слов не получится, так как последнее слово из фразы - это что-то вроде чек-суммы. А может, есть еще какие заковыки.

 

Для примера: 11 слов таких:
swim unknown pattern ten chef actual planet roof right yard picnic

Word Indexes : 1759, 1903, 1290, 1783, 314, 23, 1327, 1501, 1486, 2038, 1313.

Как узнать 12-тое слово ?

 

P.S. Разобрался. Сам себе отвечу - дело в энтропии. 12 слов - 132 бита энтропии. Берем 128 бит, переводим в десятичную форму, отсюда находим все слова.

Последнее, 12-ое слово - через каждые (132-128) бита, то есть каждое 1111 битное (шестнадцатое), поэтому может быть одним из 128 вариантов.

Edited by rammendo

Share this post


Link to post
Share on other sites

Можно еще с этим поиграться https://iancoleman.io/bip39/ 

Share this post


Link to post
Share on other sites

Продолжу обсуждение.
Немного теории.
Размер энтропии всегда кратен 32 битам. Каждые 32 бита энтропии - это три 11-битных слова сида. 
Дополнительные "лишние" биты - это проверочные биты (некоторое кол-во первых бит от хэша (SHA 256) энтропии), они присоединяются к энтропии (конкатенация).
Т.е. для 128-битной энтропии используется 12 слов сида, это 132 бита (из них 128 бит - это энтропия, 4 бита - проверочные).
Для 256-битной  энтропии используется 24 слова сида, это 264 бита (из них 256 бит - это энтропия, 8 бит - проверочные).
Теперь практика (рассмотрим пример с сидом из 24 слов).
Допустим вы выбрали случайные (на сколько это возможно) 23 слова сида. Из словаря берём порядковые номера этих слов (отсчет начинается с нуля). 
Переводим эти порядковые номера в двоичную систему счисления (не забываем что каждое слово - это 11 двоичных символов, поэтому если символов не хватает, то спереди дописываем недостающее кол-во нулей).
Получили строку из 253-х двоичных символов. До 256 бит не хватает три символа, поэтому добавляем три любых (случайных) символа.
Всё таким образом мы получили нашу 256-битную энтропию в бинарном виде. Переводим её в hex. Для этого последовательно заменяем: 
"0000" на "0"
"0001" на "1"
"0010" на "2"
-------------
"1110" на "E"
"1111" на "F"
Таким образом у нас имеется 64 hex-символа нашей энтропии. Далее вычисляем от нее хэш (SHA 256) и берем первые два символа. Это и будут наши проверочные 8 бит.
Переводим их обратно в двоичный формат и дописываем их к нашим тем трем случайным битам, которые мы добавляли к энтропии.
Таким образом мы получили 11 бит нашего последнего 24-го слова. Переводим их в десятичную систему счисления и получаем порядковый номер нашего слова.
Ну и по словарю находим само слово (не забываем, что отсчёт в словаре начинается с нуля).
Небольшое лирическое отступление:
так делать нельзя, (насколько случайными будут ваши выбранные слова никто не знает).
Правильно - это генерация случайной энтропии и уже из нее вычислять сид.

Share this post


Link to post
Share on other sites

@edward_n 👍

Ещё бы увидеть подробный алгоритм получения адреса биткоина из сида.

 

Есть мысль сделать отдельный приборчик для создания максимально надёжных бумажных кошельков (с минимальной вероятностью компрометации).

Суть такая: имеем коробочку с 6 кнопками и экраном. Кидаем кубик и нажимаем кнопку, соответствующую выпавшему числу на кубике. После 100 бросков (или сколько там достаточно для нормальной генерации) на экране получаем адрес кошелька и сид для него.

 

 

 

Edited by Antei75

Share this post


Link to post
Share on other sites
17 минут назад, Antei75 сказал:

Ещё бы увидеть подробный алгоритм получения адреса биткоина из сида.

 

Вот все прямо здесь и лежит https://github.com/bitcoin/bitcoin , но есть проблема в надежности нынешних сид-фраз? Вроде основная проблема в компроментации вирусами, а от этого кубики не помогут.

Share this post


Link to post
Share on other sites
42 минуты назад, zavr сказал:

Вроде основная проблема в компроментации вирусами, а от этого кубики не помогут.

Есть ещё проблема - "случайности могут быть и не случайны". Кубики уже несколько тысячелетий решают именно эту проблему.  Кубикам можно верить. Можно ли верить другим способам генерации случайных последовательностей чисел, используемых для создания криптокошельков -  вопрос.

 

Share this post


Link to post
Share on other sites
21 час назад, Antei75 сказал:

Есть мысль сделать отдельный приборчик для создания максимально надёжных бумажных кошельков

Это оффтоп, но не нужны никакие "приборчики" и "коробочки". Просто кидаешь кубики и на основе этих значений создаешь энтропию. Дальше все просто, из энтропии получается сид.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Topics

    • ЦБ Новой Зеландии не планирует запуск собственной криптовалюты в ближайшем будущем

      Ассистент управляющего Центральным банком Новой Зеландии Кристиан Хоксби (Christian Hawkesby) сообщил, что в ближайшее время регулятор не будет запускать собственную цифровую валюту. Такое заявление Хоксби сделал на ежегодной конференции Royal Numismatic Society в Новой Зеландии. При этом он подчеркнул, что центробанк активно изучает функционирование государственных криптовалют и возможность их практического использования. Исследователи Резервного Банка Новой Зеландии (RBNZ) занимаются эт

      in Новости криптовалют

    • Wasabi Wallet заменит технологию микширования CoinJoin собственной разработкой

      Разработчики кошелька Wasabi Wallet планируют создать собственную технологию WabiSabi вместо функции конфиденциальности транзакций CoinJoin. Новый протокол совмещает обязательства Педерсена и анонимные учетные данные с проверкой ключей (KVAC) — эту функцию использует приватный мессенджер Signal. Текущий протокол CoinJoin требует, чтобы пользователи перечисляли одинаковые суммы для микширования, а затем излишки возвращаются обратно. Если протокол WabiSabi будет на практике работать так же

      in Новости криптовалют

    • ЦБ Бразилии изучает возможность выпуска собственной цифровой валюты

      Центральный банк Бразилии Banco Central do Brasil (BCB) организовал специальную межведомственную группу, которая исследует потенциал и возможность выпуска государственной цифровой валюты. Группа, состоящая из 12 участников, изучит риски, связанные с безопасностью стейблкоинов от центральных банков, возможные экономические последствия применения таких монет, а также чем будут полезны государственные криптовалюты для общественности, если использовать их в качестве платежного средства. Специ

      in Новости криптовалют

    • ЦБ Швеции объявил о начале тестирования собственной криптовалюты

      Центральный банк Швеции начинает тестирование первой в Европе государственной криптовалюты. Цель данной инициативы – показать, что граждане могут получить выгоду от использования электронной кроны. Центральный банк Швеции на этой неделе объявил о начале тестирования первой на территории ЕС государственной криптовалюты. Уже несколько лет Швеция лидирует в процессе перехода к безналичным расчетам среди развитых государств. Более половины шведских банков даже не хранят наличные деньги в своих

      in Новости криптовалют

    • НБК сообщил об успешном завершении основной части разработки собственной цифровой валюты

      Народный банк Китая завершил основную часть разработки своей цифровой валюты. Также подготовлены стандартные формулировки и функциональные исследования.   «Стадия разработки на высоком уровне подошла к концу. Также подготовлены стандартные формулировки и функциональные исследования», - цитируют местные СМИ заявление ЦБ.   Далее Народный банк Китая займется вопросами стабильности, безопасности и управления инструментом. Об этом заявил директор подразделения платёжных

      in Новости криптовалют

×
×
  • Create New...