Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
25 октября 2013, 5:24:53 PM   # 1
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: Мозговой штурм следующего поколения minikey

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я имею в виду придумывает новую зашифрованным minikey спецификацией для физического Bitcoins и защищенных бумажников бумаги. Я хотел бы думать вслух немного, возможно, в случае, если есть какие-либо действительно хорошие идеи, она может включать в себя, что я не подумал. Я хочу, чтобы включить основные черты BIP38 но и исправить то, что может быть его недостатки.

Вот то, что я надеюсь, что это будет так:

  • 30-символьный код, который начинается с P (так, 29 случайных символов)
  • Способность человека создавать minikeys, не зная пароль (у них есть только промежуточный код, который дает им немного соли плюс G * постоянная, способность знать / вычислить постоянные остатки с человеком, генерирующим промежуточный код)
  • Использует Scrypt для хэширования пароля и получения закрытого ключа
  • Перестраиваемые параметры Scrypt
  • Способность дорогостоящей операции Scrypt быть передана (например, с помощью мобильного устройства, на вебе-службу), без предоставления этой услуги ключевых / факторы, или какого-либо преимущества, кроме одного исключения возможности BruteForce ключа без стоимости Scrypt, если они должны были прийти во владение полного ключа самостоятельно
  • Обнаружение опечатки на пароле, который требует, чтобы все дорогостоящего вычисления было сделано, чтобы знать, проходит ли проверка или не

Эта схема кодирования будет только полезно для создания новых частных ключей и Bitcoin адресов, не для кодирования существующих / известных из них.

Двадцать девять случайных base58 символы дают около 169 бит, которые я по наитию мнению, были бы выделить следующие:
9 бит - опечатка защита контрольной суммы
32 бита - соль, выбранный человек, который знает пароль
4 бита - представляет собой версию и выбирает параметры Scrypt
124 бит - энтропия, предоставляемый minikey творец, который не знает пароль

Я надеюсь услышать конструктивную критику набора функций, а также распределение бит я предложил.
casascius сейчас офлайн Пожаловаться на casascius   Ответить с цитированием Мультицитирование сообщения от casascius Быстрый ответ на сообщение casascius


Как заработать Биткоины?
Без вложений. Не майнинг.


25 октября 2013, 7:29:55 PM   # 2
 
 
Сообщения: 116
Цитировать по имени
цитировать ответ
по умолчанию Re: Мозговой штурм следующего поколения minikey

Получил 1806 Биткоинов
Реальная история.





Можно также добавить поле даты, чтобы ограничить blockchain пересканирования на импорт. В моем предложении (шифрование HD бумажника корневых ключей) это поле 2 байта.



Кроме того, 4 байта соли, если это что-то вроде того, что он находится в bip38, больше из контрольной суммы. gmaxwell предложил мне, что это, вероятно, целесообразно включать все известные поля в соль, которая используется в Scrypt (увеличение энтропии немного). Таким образом, вы могли бы, вероятно, украсть по крайней мере, один байт из контрольной суммы для использования в поле даты.
riplin сейчас офлайн Пожаловаться на riplin   Ответить с цитированием Мультицитирование сообщения от riplin Быстрый ответ на сообщение riplin

25 октября 2013, 9:03:36 PM   # 3
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: Мозговой штурм следующего поколения minikey

Можно также добавить поле даты, чтобы ограничить blockchain пересканирования на импорт. В моем предложении (шифрование HD бумажника корневых ключей) это поле 2 байта.



Кроме того, 4 байта соли, если это что-то вроде того, что он находится в bip38, больше из контрольной суммы. gmaxwell предложил мне, что это, вероятно, целесообразно включать все известные поля в соль, которая используется в Scrypt (увеличение энтропии немного). Таким образом, вы могли бы, вероятно, украсть по крайней мере, один байт из контрольной суммы для использования в поле даты.

Я думал, что это было бы идеальной вещь, чтобы встроить в соли. Флаг или код версии может необязательно сказать, "Количество в соли намек, что позволит вам сэкономить (клиент) время от сканирующих блоков вам не нужно сканировать",

И я согласен, что один может также бросить всю кухонную раковину в Scrypt, где доступны. Не может повредить. (Я подумал о том, что, как я уже писал "энтропия" обеспечивается minikey творца, в отличие от "фактор" )
casascius сейчас офлайн Пожаловаться на casascius   Ответить с цитированием Мультицитирование сообщения от casascius Быстрый ответ на сообщение casascius

26 октября 2013, 9:53:58 PM   # 4
 
 
Сообщения: 400
Цитировать по имени
цитировать ответ
по умолчанию Re: Мозговой штурм следующего поколения minikey

Я имею в виду придумывает новую зашифрованным minikey спецификацией для физического Bitcoins и защищенных бумажников бумаги.  

  • Способность дорогостоящей операции Scrypt быть передана (например, с помощью мобильного устройства, на вебе-службу), без предоставления этой услуги ключевых / факторы, или какого-либо преимущества, кроме одного исключения возможности BruteForce ключа без стоимости Scrypt, если они должны были прийти во владение полного ключа самостоятельно

Это то, что эта нить все.



Есть три конкретные предложения в там, и по совпадению ссылается BIP 38

Первые и самое простое это вам не нужно аутсорсинг - просто создать случайный 32-битную соль и использование Scrypt (ИТЭР = 1), а затем удалить соль, ваш смартфон может легко создавать проблемы, которые он не может решить то.

Существует также другой способ аутсорсинга работы дорожа монету (так что вы можете использовать 46-битную соль на аутсорсинг и ненадежных шахтер) что-то полезное для litecoin шахтеров делать.

Адам
adam3us сейчас офлайн Пожаловаться на adam3us   Ответить с цитированием Мультицитирование сообщения от adam3us Быстрый ответ на сообщение adam3us

25 ноября 2013, 8:04:06 PM   # 5
 
 
Сообщения: 359
Цитировать по имени
цитировать ответ
по умолчанию Re: Мозговой штурм следующего поколения minikey

Зашифрованный minikey это отличная идея. Это собирается быть добавлено в качестве дополнения к BIP 38 (до сих пор в проекте?) Или это будет что-то новое?

Особенно заинтересованы в настраиваемых параметров Scrypt. (Edit): Варианты параметров Scrypt хорошая идея, может быть, один за низкий RAM / низкими приложения MIPS (т.е. POS / смартфоны) тоже?

StarfishPrime сейчас офлайн Пожаловаться на StarfishPrime   Ответить с цитированием Мультицитирование сообщения от StarfishPrime Быстрый ответ на сообщение StarfishPrime

4 декабря 2013, 4:51:23 PM   # 6
 
 
Сообщений: 68
Цитировать по имени
цитировать ответ
по умолчанию Re: Мозговой штурм следующего поколения minikey

Я начал думать, что по этой дороге я сам недавно, и имел некоторые мысли о отшатывающемся в самых простых решениях интересны, почему они не были эффективными:

А именно, для ситуации бумажного бумажника или физического объекта (монеты и т.д.) создается кем-то еще, почему бы не использовать HMAC_SHA256 функцию? Это будет выглядеть примерно так:

Клиент выбирает пароль п и соль S. Использование HMAC_SHA256, с п в качестве ключа, подписывая сообщение S, выходной хэш К из 256-битной длины, то становится закрытым ключом для Bitcoin адреса. Клиент получает публичный адрес К, и посылает S а также К на принтер для печати на физическом бумажник. Когда клиент получает (удивительно великолепный!) Бумажник, они могут добавить п к нему, прежде чем хранить его безопасно, гарантируя всем, кто находился в распоряжении его можно было легко получить К из п а также S, или оставить п секрет, что делает его "brainwallet" что только клиент может открыть.

Резюме Переменные:
  • п Частный пароль выбрал клиент
  • S Частная соль, совместно с бумажником создателя
  • К Адрес закрытого ключа, полученный из п а также S
  • К Общественный адрес К
Это было бы уязвимым для атаки грубой силы с помощью принтера бумажника (они должны взломать п так как они знают, S), Или в случае бумажного бумажника где S секретно (покрыто голограммой или внутри физической монетой), кто-то держит, что бумажный бумажник будет нужно взломать S поскольку п виден на бумажнике. Значение силы п а также S должны были бы быть достаточно сильным.

Таким образом, чтобы предотвратить людей от выбора "щенки" в качестве пароля п, как насчет использования BIP39 для этого? Сделать как п а также S случайные 128-битовое число, которое обычно выражается в виде мнемонических 12 слов. 128 бит равен 16 байт, что 32 символов выражено в Hex, которая вписывается в 3-Q QR кода (Version 3; 29x29 клеток, исправление ошибок Q уровня; 25% восстановления после ошибок). Кошелек может иметь QR-код S и / или его мнемонические или base58 кодировке, оба необязательно покрыты голограммы с помощью принтера. Затем клиент может распечатать Мнемо п на нем, как указано выше. 128-бит такой же силы, как коды цепи BIP32 и электра, которые должны быть достаточно сильны сами по себе, чтобы противостоять атаке перебором.

С другой стороны, сделать битовую длину п а также S меньше, и использовать Scrypt на HMAC_SHA256, чтобы обеспечить грубой заставляя по-прежнему трудно. Если п а также S были 64-бит, который был бы шесть слов Мнемоника, 16 шестнадцатеричных символов (помещается в 1-Q QR кода; 21х21 клеток), или 11 символов base58. Будет ли Scrypt параметры что-то вроде г = 8, р = 1, N = 1024 будет хорошей отправной точкой?

Таким образом, из списка требований, полагая S действительно "minikey" в этой схеме:
  • 30-значный код, который начинается с Р (так, 29 случайных символов): Нет, это было бы идентифицировать как ключ из двух частей, обе половины представленных как BIP39 (или аналогичный) мнемонические.
  • Способность человека создавать minikeys, не зная пароля: В отличие от существующей схемы minikey, это один не требует "добыча" для одного, но создатель только наполовину ключ требуется, чтобы получить К
  • Использует Scrypt для хэширования пароля и получения закрытого ключа: Да.
  • Перестраиваемые параметры Scrypt: Да. Расчет Scrypt будет сделан клиентом, прежде чем обратиться кошелек будет создан / печатным, так может быть, что они хотят.
  • Способность дорогостоящей операции Scrypt быть переданы: Нет.
  • Обнаружение опечатки на пароле, который требует, чтобы все дорогостоящего вычисления было сделано, чтобы знать, проходит ли проверка или не: Да опечатка обнаружения (BIP39 имеет функцию контрольной суммы), не дорого.
  • Около 169 бит, 156 из этого случайного: Два 64-битных половинных ключей будет только 128 бит энтропии, но это может быть скорректирована выше.
Таким образом, не идеальный матч с вашими требованиями, но очень просто. Один другой недостаток этого метода заключается в том, что если клиент хочет десятки кошельков, созданных им необходимо заранее рассчитать все их заранее (в отличие, скажем, BIP38 используя умножение ЕС и последовательность нескольких адресов). Насколько оценивая ваши требования, я не ценю "аутсорсинг поколение Scrypt" как очень. Я действительно думаю, что эта простая схема может быть улучшена путем добавления в метаданных, чтобы указать параметры, используемые Scrypt (как часть п) И флаг в качестве части S чтобы указать, что это половина ключ (начиная с некоторым флагом, как «P» вы предложили, что делает S лучше всего выражается в base58, а не мнемоника), нуждающихся в некоторых п для завершения (и некоторые хэш / контрольная сумма п чтобы соединить их обратно, если они разделены). Имея 156-бит энтропии Я думаю, что все в порядке; Я думаю, что это должно быть где-то в пределах 128-160 бит (если 128-бит нормально для кода Электрум / BIP32 цепи, я бы установить, что в качестве нижнего предела).

Любые вопиющие дыры с этим довольно простым вариантом?
midnightlightning сейчас офлайн Пожаловаться на midnightlightning   Ответить с цитированием Мультицитирование сообщения от midnightlightning Быстрый ответ на сообщение midnightlightning



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW