Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
9 сентября 2011, 3:32:17 AM   # 1
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Приставка байт (0x04) в открытых ключей

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я не нашел никаких документов, упоминая, почему мы имеем эти дополнительные байты в каждой открытом ключе сериализации. Для справки, открытый ключ всегда сериализовать 65 байт: (0x04 | PubKeyX (32В) | PubKeyY (32B)), но 0x04 байт похоже, не служат цели. Если бы я должен был догадаться, я думаю, это определить длину ключа ECDSA, в упаковке 64 бит / 8 байт. Или, может быть, это тип шифрования ...?

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


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


9 сентября 2011, 3:36:04 AM   # 2
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: Приставка байт (0x04) в открытых ключей

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





Я не могу указать на что-нибудь полезное, но может поручиться за то, что она должна быть там, когда преобразование открытого ключа в адрес Bitcoin (через SHA256 / ripemd160).
casascius сейчас офлайн Пожаловаться на casascius   Ответить с цитированием Мультицитирование сообщения от casascius Быстрый ответ на сообщение casascius

9 сентября 2011, 7:46:35 AM   # 3
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Приставка байт (0x04) в открытых ключей

Биткойн использует стандартную кодировку для открытых ключей, как описано в http://www.secg.org/index.php?action=secg,docs_secg. Префикс байты там, чтобы различать несколько кодировок - с 0x04, обозначающими несжатыми координатами.
Pieter Wuille сейчас офлайн Пожаловаться на Pieter Wuille   Ответить с цитированием Мультицитирование сообщения от Pieter Wuille Быстрый ответ на сообщение Pieter Wuille

9 сентября 2011, 11:07:21 AM   # 4
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Приставка байт (0x04) в открытых ключей

Так это связано с DER? Выглядит слишком облегченный быть МЭД (который так же используется для подписи, но есть как 8 дополнительных байтов, плавающих вокруг).

Безопасно предположить, что 0x04 всегда будет там?
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

9 сентября 2011, 11:29:39 AM   # 5
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Приставка байт (0x04) в открытых ключей

Нет, DER используется для подписи, но не для открытых ключей. Несколько кодировок клавиш возможны (в том числе запатентованных сжатых координат), но, как Bitcoin зависит (по спецификации адресов как ripemd160 (sha256 (Публичной))) на нормализованное кодировании, я думаю, что это безопасно 0x04 всегда будет там в текущее поколение адресов.
Pieter Wuille сейчас офлайн Пожаловаться на Pieter Wuille   Ответить с цитированием Мультицитирование сообщения от Pieter Wuille Быстрый ответ на сообщение Pieter Wuille

9 сентября 2011, 12:02:44 PM   # 6
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: Приставка байт (0x04) в открытых ключей

Разве это не способ дифференцировать testnet адреса также?
Дав сейчас офлайн Пожаловаться на Даву   Ответить с цитированием Мультицитирование сообщения от Дава Быстрый ответ на сообщение Дав

9 сентября 2011, 12:15:59 PM   # 7
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Приставка байт (0x04) в открытых ключей

котировка
Разве это не способ дифференцировать testnet адреса также?

Смотрите мою схему расчетов адреса. Дополнительные байты для сети добавляются к ripemd160 (SHA256 ()) переварить. 0x04 будет, как представляется, быть постоянным во всех сетях (определенно же на тест-сети)

http://dl.dropbox.com/u/1139081/BitcoinImg/PubKeyToAddr.png
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

9 сентября 2011, 12:38:44 PM   # 8
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Приставка байт (0x04) в открытых ключей

Верный. Формат открытого ключа управляется OpenSSL, Bitcoin рассматривает его как черный ящик.
Pieter Wuille сейчас офлайн Пожаловаться на Pieter Wuille   Ответить с цитированием Мультицитирование сообщения от Pieter Wuille Быстрый ответ на сообщение Pieter Wuille

1 апреля 2012, 2:34:54 PM   # 9
 
 
Сообщений: 67
Цитировать по имени
цитировать ответ
по умолчанию Re: Приставка байт (0x04) в открытых ключей

SEC определяет три типа: 0х00 = точка на бесконечности, 0x02 и 0x03 = сжат, 0x04 = несжатый

02 в основном означает, что даже у-точку, 03 означает, что нечетная у-точку, при этом:

несжатый Публичных = CHR (4) + 32 байта х + 32-байтовый у
сжатые Публичный = CHR (1 + (у & 1)) + 32 байта х

Также см http://github.com/joric/pywallet (Я обновил его в последнее время, теперь он поддерживает сжатые ключи).

Использование OpenSSL вы просто должны установить преобразование точки через EC_KEY_set_conv_form ().
Joric сейчас офлайн Пожаловаться на Joric   Ответить с цитированием Мультицитирование сообщения от Joric Быстрый ответ на сообщение Joric



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW