Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
17 апреля 2016, 4:30:34 PM   # 1
 
 
Сообщений: 95
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать открытый ключ вручную?

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
У меня есть некоторые проблемы с пониманием Bitcoin математики.
Например, мой личный ключ «2»
Таким образом, открытый ключ должен быть (Gx, Gy) * 2
Gx = 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
Таким образом, Gx * 2 будет 0x79... + 0x79... знак равно 0xf3... (Я могу вычислить это в виду)
Но открытый ключ «2» 04C6047F9... (Или 02C6047F9... в сжатом виде)
Что случилось с моим подсчетам?
Как умножить базовую точку 0x79be66 ... на два и получить 0xC6047F9?
Apxu сейчас офлайн Пожаловаться на Apxu   Ответить с цитированием Мультицитирование сообщения от Apxu Быстрый ответ на сообщение Apxu


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


17 апреля 2016, 6:22:52 PM   # 2
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать открытый ключ вручную?

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





https://en.wikipedia.org/wiki/Elliptic_curve_point_multiplication#Point_addition
котировка
С 2-х различных точками, P и Q, сложение определяются как отрицание точки в результате пересечения кривых, Е, и прямой линии, определяемой точки Р и Q, что дает точку, R.



Предполагая эллиптическую кривую, Е, задается у2 = х3 + ах + Ь, это может быть вычислено как:


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

18 апреля 2016, 6:27:22 PM   # 3
 
 
Сообщения: 1078
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать открытый ключ вручную?

Точно так, как Гамильтон указал на это.
То, что до сих пор не отметить, что все операции выполняются в кольце Z-фактора / Nz с п является простым модулем secp256k1 кривых.

Пример: если п было 7 (что это не так), то 4 * 4 = 16 мод 7 == 2
Evil-Knievel сейчас офлайн Пожаловаться на Зла-Knievel   Ответить с цитированием Мультицитирование сообщения от Evil-Knievel Быстрый ответ на сообщение Evil-Knievel

18 апреля 2016, 8:27:34 PM   # 4
 
 
Сообщений: 95
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать открытый ключ вручную?

Точно так, как Гамильтон указал на это.
То, что до сих пор не отметить, что все операции выполняются в кольце Z-фактора / Nz с п является простым модулем secp256k1 кривых.

Пример: если п было 7 (что это не так), то 4 * 4 = 16 мод 7 == 2
По модулю операции были ясны для меня.
Мне просто нужна формула для умножения точки G закрытого ключа.
Теперь я понимаю свою ошибку.
Я не проверял это, но я попытаюсь вычислить открытый ключ вручную, и сравнить его с bitaddress.org
Apxu сейчас офлайн Пожаловаться на Apxu   Ответить с цитированием Мультицитирование сообщения от Apxu Быстрый ответ на сообщение Apxu

18 апреля 2016, 9:35:19 PM   # 5
 
 
Сообщения: 1078
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать открытый ключ вручную?

Apxu, это не так уж трудно. Вы просто должны заботиться о различных операциях в таких факторах колец.

Например, деление не реальное разделение, но умножение с мультипликативной инверсией в факторном кольце (требуется расширенный Евклид для этого).
Evil-Knievel сейчас офлайн Пожаловаться на Зла-Knievel   Ответить с цитированием Мультицитирование сообщения от Evil-Knievel Быстрый ответ на сообщение Evil-Knievel

18 апреля 2016, 10:30:30 PM   # 6
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать открытый ключ вручную?

Упрощенная конструкция, которая делает инверсию для каждого добавления, даже используя extgcd (что далеко от постоянная времени), будет ужасно медленно. И, вероятно, неосуществимо сделать вручную. Хотя это сложнее объяснить, вероятно, будут необходимы защитные координаты, чтобы иметь надежду на выполнение точечно Скалярное умножение вручную, а также с большим предвычисленными столом.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

19 апреля 2016, 11:10:28 PM   # 7
 
 
Сообщений: 28
Цитировать по имени
цитировать ответ
по умолчанию Re: Как рассчитать открытый ключ вручную?

Вот некоторые рабочий питон код, который генерирует точку открытого ключа для секретного ключа = 2
Код:
# Инверсия с использованием расширенной алгоритма Евклида.
Защиту EEA_invert (а, б):
    г = {}; s = {}; г [0] = а; г [1] = Ь; с [0] = 1; с [1] = 0
    I = 1;
    в то время как True:
        если г [я] == 0: Перерыв
        д = г [I-1] // г [I]; г [г + 1] = г [I-1] - д * г [I]; S [I + 1] = S [I-1] - Q * s [I]
        I + 1 =
    Return S [I-1]% б

Параметры EC # Bitcoin в: см https://en.bitcoin.it/wiki/Secp256k1
G = '79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8'.replace ('», '')
дх, Gy = INT (G [: 64], 16), Int (G [64:], 16)
р = 2 ** 256 - ** 2 32 - 2 ** 9 - 2 ** 8 - 2 ** 7 - 2 ** 6 - 2 ** 4 - 1

# Вычислить дифференциал в точке генератора.      
Наклон = (3 * ** дх 2) * EEA_invert (2 * Gy, р) р%

# Вычислить х, у.
х = (наклон ** 2 - 2 * дх)% р
у = (наклон * (дх - х) - Gy)% р

печать (гекс (х), шестигранная (у))
который дает:

Код:
( '0xc6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5',
 '0x1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a')
kn_b_y сейчас офлайн Пожаловаться на kn_b_y   Ответить с цитированием Мультицитирование сообщения от kn_b_y Быстрый ответ на сообщение kn_b_y



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW