Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
17 апреля 2015, 4:18:07 AM   # 1
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: ПРОВЕРКА RAW Bitcoin TX ИСПОЛЬЗОВАНИЯ SAGEMATH (чистый ECDSA в математике)

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
я понятия не имею, где спросить об этом ... так что я начать новую тему здесь!
первый я создал это ОЕ используя brainwallet ... от 1LoestmTyf96fLFf9Rfb4CZUGMsXtZGsok к 1EwGDERoz4W8Cyf3murUjcFq9kQhDsEWCM значного 0.00095143 BTC с 0,000001 платой BTC.

то я хочу, чтобы понять, как это ТЙ проверяются в математике ....
как описано в википедия чтобы проверить ECDSA подпись на этом этапе:
1. Убедитесь, что г и s являются целыми числами в [1, п-1]. Если нет, то подпись недействительна.
2. Вычислить е = HASH (м), где HASH та же функция, используемая при генерации подписи.
3. Пусть г будет LN Левые биты е.
4. Вычислить ш = з-1 мод п.
5. Вычислить u1 = г * ш по модулю п, u2 = г * ш по модулю п.
6. Вычислить точку кривой (x1, y1) = u1 * G + и2 * Qa.
6. подпись действительна, если г == x1 модулю п, недопустимый в противном случае.

мой сырой ТХ 01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0008b48304502204117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9 0221008a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b014104ef0 9f65a570580ae9e33bea461b5d27bef90e521020f924c599a0d918f84c2781eb29f21d8985aefb9 19e1feccde73bea07edea0cd04b15e7c88a19e80df2dd0ffffffff01a7730100000000001976a91 498dccb66b17e1efb1f0d2bba0446502f2625444488ac00000000

как описано в Эта статья я начинаю вычислить сообщение (м) мои ТЙ поэтому мой неподписанные ТЕ 01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0001976a91498dccb66b17e1efb1f0d2bba0446502f2625444488acffffffff01a7730100000000 001976a91498dccb66b17e1efb1f0d2bba0446502f2625444488ac0000000001000000

Затем я вычислить хеш моего сообщения, как описано в Bitcoin вики должно быть двойное использование hashed..i питон, чтобы сделать это
котировка
# Двойной хэш-функций используется Bitcoin
импорт hashlib
м = "01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0001976a91498dccb66b17e1efb1f0d2bba0446502f2625444488acffffffff01a7730100000000 001976a91498dccb66b17e1efb1f0d2bba0446502f2625444488ac0000000001000000"
д = hashlib.sha256 ()
d2 = hashlib.sha256 ()
d.update (м)
d.hexdigest ()
d2.update (d.digest ())
е = d2.hexdigest ()
печать E
и в результате этого хэша
котировка
4ebb9eb31e4a87591b66491308520e92679729d21e6e3197969a8dc463645fe7
Теперь я начинаю вычислять его с помощью sagemath
котировка
# R, S пара из подписанной сделки
г = 0x4ebb9eb31e4a87591b66491308520e92679729d21e6e3197969a8dc463645fe7
г = 0x4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
s = 0x8a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b

# Проверка подписи

ш = мод (ы ^ -1, п)
u1 = моды ((г * и), п)
и2 = моды ((г * и), п)

# высчитывает
С = и1 * G + и2 * Qa

печать г
печать C.x

и в результате ...
котировка
г = 134a083ace7ff01daa33b41000a1774755a8acaf58524caece273d97ea52323d
C.x = 4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9

все это не то же самое, иначе подпись недействительна? !!!
или может быть я что-то потерять, так что мои вычисления ошибиться? !!

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


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


17 апреля 2015, 9:11:52 AM   # 2
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: ПРОВЕРКА RAW Bitcoin TX ИСПОЛЬЗОВАНИЯ SAGEMATH (чистый ECDSA в математике)

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





Вы бежите хэши, как внешние и внутренние по струнам гекс. Это неверно.

Вы не включили достаточно ваш выход шалфея, чтобы увидеть, если вы получили деталь ECC права, ... вам не нужны никакие модов на всех, если вы используете правильные типы объектов, см ноутбука на bitcoin.ninja.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

17 апреля 2015, 4:05:01 PM   # 3
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: ПРОВЕРКА RAW Bitcoin TX ИСПОЛЬЗОВАНИЯ SAGEMATH (чистый ECDSA в математике)

Посмотрите также http://bitcoin.stackexchange.com/q/32305/12983
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

18 апреля 2015, 1:40:52 AM   # 4
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: ПРОВЕРКА RAW Bitcoin TX ИСПОЛЬЗОВАНИЯ SAGEMATH (чистый ECDSA в математике)

Вы бежите хэши, как внешние и внутренние по струнам гекс. Это неверно.

Вы не включили достаточно ваш выход шалфея, чтобы увидеть, если вы получили деталь ECC права, ... вам не нужны никакие модов на всех, если вы используете правильные типы объектов, см ноутбука на bitcoin.ninja.

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

18 апреля 2015, 9:58:39 AM   # 5
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: ПРОВЕРКА RAW Bitcoin TX ИСПОЛЬЗОВАНИЯ SAGEMATH (чистый ECDSA в математике)

Вы бежите хэши, как внешние и внутренние по струнам гекс. Это неверно.

Вы не включили достаточно ваш выход шалфея, чтобы увидеть, если вы получили деталь ECC права, ... вам не нужны никакие модов на всех, если вы используете правильные типы объектов, см ноутбука на bitcoin.ninja.
Могу ли я использовать скрипт из этого https://en.bitcoin.it/wiki/Block_hashing_algorithm
lotuseuy сейчас офлайн Пожаловаться на lotuseuy   Ответить с цитированием Мультицитирование сообщения от lotuseuy Быстрый ответ на сообщение lotuseuy

18 апреля 2015, 11:04:35 AM   # 6
 
 
Сообщения: 478
Цитировать по имени
цитировать ответ
по умолчанию Re: ПРОВЕРКА RAW Bitcoin TX ИСПОЛЬЗОВАНИЯ SAGEMATH (чистый ECDSA в математике)

Код:
#НЕПРАВИЛЬНО
d.update (м)

#ПРАВИЛЬНО
d.update (m.decode ( 'шестигранной'))
dabura667 сейчас офлайн Пожаловаться на dabura667   Ответить с цитированием Мультицитирование сообщения от dabura667 Быстрый ответ на сообщение dabura667

20 апреля 2015, 2:04:12 AM   # 7
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: ПРОВЕРКА RAW Bitcoin TX ИСПОЛЬЗОВАНИЯ SAGEMATH (чистый ECDSA в математике)

Я использовал этот код для хэширования неподписанных ОГО выше:
котировка
импорт hashlib
е = m.decode ( 'шестигранной')
г = hashlib.sha256 (hashlib.sha256 (е) .digest ()). дайджест ()
г = z.encode ( 'hex_codec')
печать г
и в результате:
котировка
19cc06bd75255f3594abeca69af20b505c7f2737dea64e4d2e36ba69f06ed092
поэтому г, з, и г пара из подписанных ОГО:
котировка
г = 0x19cc06bd75255f3594abeca69af20b505c7f2737dea64e4d2e36ba69f06ed092
г = 0x4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
s = 0x8a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b
и до сих пор в результате, что подпись недействительна 
это Ресул:
котировка
C.xy = 0x760a4453d69c21c2c17131867f3862a802036818cbc6abaec5091cafa30b9825
г = 0x4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
я путать об этом ......
lotuseuy сейчас офлайн Пожаловаться на lotuseuy   Ответить с цитированием Мультицитирование сообщения от lotuseuy Быстрый ответ на сообщение lotuseuy

20 апреля 2015, 2:18:16 AM   # 8
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: ПРОВЕРКА RAW Bitcoin TX ИСПОЛЬЗОВАНИЯ SAGEMATH (чистый ECDSA в математике)

Я использовал этот код для хэширования неподписанных ОГО выше:
котировка
импорт hashlib
е = m.decode ( 'шестигранной')
г = hashlib.sha256 (hashlib.sha256 (е) .digest ()). дайджест ()
г = z.encode ( 'hex_codec')
печать г
и в результате:
котировка
19cc06bd75255f3594abeca69af20b505c7f2737dea64e4d2e36ba69f06ed092
поэтому г, з, и г пара из подписанных ОГО:
котировка
г = 0x19cc06bd75255f3594abeca69af20b505c7f2737dea64e4d2e36ba69f06ed092
г = 0x4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
s = 0x8a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b
и до сих пор в результате, что подпись недействительна 
это Ресул:
котировка
C.xy = 0x760a4453d69c21c2c17131867f3862a802036818cbc6abaec5091cafa30b9825
г = 0x4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
я путать об этом ......

я думаю ... я пропустил что хэширования результата должно быть обратным! являются ли?
lotuseuy сейчас офлайн Пожаловаться на lotuseuy   Ответить с цитированием Мультицитирование сообщения от lotuseuy Быстрый ответ на сообщение lotuseuy

20 апреля 2015, 2:30:48 AM   # 9
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: ПРОВЕРКА RAW Bitcoin TX ИСПОЛЬЗОВАНИЯ SAGEMATH (чистый ECDSA в математике)

Вы бежите хэши, как внешние и внутренние по струнам гекс. Это неверно.

Вы не включили достаточно ваш выход шалфея, чтобы увидеть, если вы получили деталь ECC права, ... вам не нужны никакие модов на всех, если вы используете правильные типы объектов, см ноутбука на bitcoin.ninja.

я попробовать метод из bitcoin.ninja тоже, но он по-прежнему недействителен
lotuseuy сейчас офлайн Пожаловаться на lotuseuy   Ответить с цитированием Мультицитирование сообщения от lotuseuy Быстрый ответ на сообщение lotuseuy

20 апреля 2015, 5:14:13 AM   # 10
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: ПРОВЕРКА RAW Bitcoin TX ИСПОЛЬЗОВАНИЯ SAGEMATH (чистый ECDSA в математике)

ссылается на статью http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html
я создал код Python:
котировка
импорт hashlib
импорт txnUtils
импорт keyUtils

Тх = "01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0008b48304502204117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9 0221008a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b014104ef0 9f65a570580ae9e33bea461b5d27bef90e521020f924c599a0d918f84c2781eb29f21d8985aefb9 19e1feccde73bea07edea0cd04b15e7c88a19e80df2dd0ffffffff01a7730100000000001976a91 498dccb66b17e1efb1f0d2bba0446502f2625444488ac00000000"

м = txnUtils.parseTxn (ТХ)
е = txnUtils.getSignableTxn (м)
г = hashlib.sha256 (hashlib.sha256 (e.decode ( 'шестигранная')). дайджест ()). дайджест ()
z1 = г [:: - 1] .encode ( 'hex_codec')
г = z.encode ( 'hex_codec')
s = keyUtils.derSigToHexSig (м [1] [: - 2])
паб = т [2]

печать «Подписи ТЙ:», АЯ
печать 'Подпись (R, S пара) является:', с
печать 'Public Key является:', паб
Распечатать ""
Распечатать "##################"
Распечатать ""
напечатает Unsigned ОЕ: ', е
напечатает хэш сообщения (значение г): ', г
печать «обратный г:», z1

в результате
котировка
Подпись ТХ: 01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0008b48304502204117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9 0221008a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b014104ef0 9f65a570580ae9e33bea461b5d27bef90e521020f924c599a0d918f84c2781eb29f21d8985aefb9 19e1feccde73bea07edea0cd04b15e7c88a19e80df2dd0ffffffff01a7730100000000001976a91 498dccb66b17e1efb1f0d2bba0446502f2625444488ac00000000

Подпись (R, S пара) составляет: 4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae98a032016f639b73 0779945f7b5bedb3701a0645c1752c1b27fccc617019f172b
Открытый ключ: 04ef09f65a570580ae9e33bea461b5d27bef90e521020f924c599a0d918f84c2781eb29f21d8985 aefb919e1feccde73bea07edea0cd04b15e7c88a19e80df2dd0

##################

Unsigned ТХ: 01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0001976a914d93d248443eb1d3745891a76c0fa8a8bc86d4a3d88acffffffff01a7730100000000 001976a91498dccb66b17e1efb1f0d2bba0446502f2625444488ac0000000001000000

хэш сообщений (значение г): 1f68f7c9181dcff4c604486ae2baec7860ccf8139124745458db1c613ec38250

обратный г: 5082c33e611cdb585474249113f8cc6078ecbae26a4804c6f4cf1d18c9f7681f
являются действительным это результат моего ТХ?
если да, то, что должен я использовать для проверки подписи? обращенный г или нет?
lotuseuy сейчас офлайн Пожаловаться на lotuseuy   Ответить с цитированием Мультицитирование сообщения от lotuseuy Быстрый ответ на сообщение lotuseuy

20 апреля 2015, 5:32:10 AM   # 11
 
 
Сообщений: 10
Цитировать по имени
цитировать ответ
по умолчанию Re: ПРОВЕРКА RAW Bitcoin TX ИСПОЛЬЗОВАНИЯ SAGEMATH (чистый ECDSA в математике)

ссылается на статью http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html
я создал код Python:
котировка
импорт hashlib
импорт txnUtils
импорт keyUtils

Тх = "01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0008b48304502204117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9 0221008a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b014104ef0 9f65a570580ae9e33bea461b5d27bef90e521020f924c599a0d918f84c2781eb29f21d8985aefb9 19e1feccde73bea07edea0cd04b15e7c88a19e80df2dd0ffffffff01a7730100000000001976a91 498dccb66b17e1efb1f0d2bba0446502f2625444488ac00000000"

м = txnUtils.parseTxn (ТХ)
е = txnUtils.getSignableTxn (м)
г = hashlib.sha256 (hashlib.sha256 (e.decode ( 'шестигранная')). дайджест ()). дайджест ()
z1 = г [:: - 1] .encode ( 'hex_codec')
г = z.encode ( 'hex_codec')
s = keyUtils.derSigToHexSig (м [1] [: - 2])
паб = т [2]

печать «Подписи ТЙ:», АЯ
печать 'Подпись (R, S пара) является:', с
печать 'Public Key является:', паб
Распечатать ""
Распечатать "##################"
Распечатать ""
напечатает Unsigned ОЕ: ', е
напечатает хэш сообщения (значение г): ', г
печать «обратный г:», z1

в результате
котировка
Подпись ТХ: 01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0008b48304502204117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9 0221008a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b014104ef0 9f65a570580ae9e33bea461b5d27bef90e521020f924c599a0d918f84c2781eb29f21d8985aefb9 19e1feccde73bea07edea0cd04b15e7c88a19e80df2dd0ffffffff01a7730100000000001976a91 498dccb66b17e1efb1f0d2bba0446502f2625444488ac00000000

Подпись (R, S пара) составляет: 4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae98a032016f639b73 0779945f7b5bedb3701a0645c1752c1b27fccc617019f172b
Открытый ключ: 04ef09f65a570580ae9e33bea461b5d27bef90e521020f924c599a0d918f84c2781eb29f21d8985 aefb919e1feccde73bea07edea0cd04b15e7c88a19e80df2dd0

##################

Unsigned ТХ: 01000000011575f1aacac4f66f9cfecd6ea1ef272e8cb5ce33f5ae97d1fcf02cec774a82e007000 0001976a914d93d248443eb1d3745891a76c0fa8a8bc86d4a3d88acffffffff01a7730100000000 001976a91498dccb66b17e1efb1f0d2bba0446502f2625444488ac0000000001000000

хэш сообщений (значение г): 1f68f7c9181dcff4c604486ae2baec7860ccf8139124745458db1c613ec38250

обратный г: 5082c33e611cdb585474249113f8cc6078ecbae26a4804c6f4cf1d18c9f7681f
являются действительным это результат моего ТХ?
если да, то, что должен я использовать для проверки подписи? обращенный г или нет?

РЕШИТЬ !!!!!!!! РЕШИТЬ !!!!!!!! РЕШИТЬ !!!!!!!! РЕШИТЬ !!!!!!!! РЕШИТЬ !!!!!!!! РЕШИТЬ !!!!!!!!
Спасибо за помощь!!!
результат использования sagemath
котировка
# R, S пара из подписанной сделки
# Оригинальный г
z1 = 0x1f68f7c9181dcff4c604486ae2baec7860ccf8139124745458db1c613ec38250
# Обратный г
z2 = 0x5082c33e611cdb585474249113f8cc6078ecbae26a4804c6f4cf1d18c9f7681f
г = 0x4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
s = 0x8a032016f639b730779945f7b5bedb3701a0645c1752c1b27fccc617019f172b

# Проверка подписи

и = моды (ы ^ -1, п)
v1 = моды ((z1 * и), п)
v2 = моды ((* 2 * и), п)
ш = мод ((г * и), п)

v1 = INT (v1)
v2 = INT (v2)
W = INT (ж)

С1 = v1 * G + ш * Qa
С2 = v2 * G + ш * Qa

печать «оригинал г», C1.xy
печать «обратный г», C2.xy
печать «г значение от ТХ», г

результат
котировка
оригинальные г 4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
обратный г e60c42c8b407e7b924ceb8ea6af9602b7f62bd7894dd9694d5fede992f4d42f4
г значение от ТХ 4117f9f3173b915d03be6170d7af520bfa78d9d9fd35c829d974d3aaead09ae9
поэтому правильное значение г является неотмененным заказом .....
lotuseuy сейчас офлайн Пожаловаться на lotuseuy   Ответить с цитированием Мультицитирование сообщения от lotuseuy Быстрый ответ на сообщение lotuseuy



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW