Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
11 декабря 2017, 12:41:56 PM   # 1
 
 
Сообщений: 14
Цитировать по имени
цитировать ответ
по умолчанию Re: секретный ключ для ключа уравнения общественного

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Здравствуй,

Я пытаюсь преобразовать закрытый ключ с открытым ключом.
Давайте предположим, что следующий секретный ключ:
18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725
Что переводится в десятичной системе счисления в:
11253563012059685825953619222107823549092147699031672238385790369351542642469

Теперь у нас есть постоянная G:
GX: 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798 -> 55066263022277343669578718895168534326250603453777594175500187360389116729240
GY: 0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8 ->32670510020758816978083085130507043184471273380659243275938904335757337482424

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


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


11 декабря 2017, 2:12:42 PM   # 2
 
 
Сообщения: 112
Цитировать по имени
цитировать ответ
по умолчанию Re: секретный ключ для ключа уравнения общественного

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





С правильными инструментами легко:
Это один пример, как это может быть сделано в Sagemath http://www.sagemath.org/, свободная программа по математике.

Код:
= модифицированный 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
Е = EllipticCurve (GF (модифицированный), [0,7])
печать E

# Генератор используется с этой кривой
G = Е (0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798, 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8)

PrivK = 0x18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725

PubK = PrivK * G
Распечатать "Открытый ключ:", PubK

Таким образом, вы в основном просто умножьте свой секретный ключ с генератором (G) и получить открытый ключ. Легко.

На самом деле код может быть намного короче, потому что вы не должны сказать sagemath модуля, точки генератора и эллиптической кривой. Можно просто сказать, что вы хотите использовать secp256k1 -кривый и шалфей тогда будет знать все необходимые параметры. Но я не знаю, как сделать это, так что я делаю это в "жесткий" путь.

Приведенный выше код печатает открытый ключ в десятичном формате.

Вот выход из приведенного выше кода:
Код:
         
Эллиптическая кривая, определенная на у ^ 2 = х ^ 3 + 7 над конечным полем размера
115792089237316195423570985008687907853269984665640564039457584007908834671663
Открытый ключ:
(36422191471907241029883925342251831624200921388586025344128047678873736520530:
20277110887056303803699431755396003735040374760118964734768299847012543114150: 1)
aplistir сейчас офлайн Пожаловаться на aplistir   Ответить с цитированием Мультицитирование сообщения от aplistir Быстрый ответ на сообщение aplistir

12 декабря 2017, 7:43:51 AM   # 3
 
 
Сообщений: 14
Цитировать по имени
цитировать ответ
по умолчанию Re: секретный ключ для ключа уравнения общественного

Спасибо за ваш ответ. Оценил. Однако, похоже, как инструмент делает всю работу за меня. Я пытаюсь узнать, как расчет сам работает.
Я понимаю, что вам нужно кратному десятичное представление моего секретного ключа с базовой точкой G, однако, я не понимаю, как на самом деле работает умножение.

Я действительно пытался просто преобразовать секретный ключ (0x18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725 -> 11253563012059685825953619222107823549092147699031672238385790369351542642469) и умножить его на базовую точку Gx (55066263022277343669578718895168534326250603453777594175500187360389116729240), которая дает нам BD4FD5FB7A2267DCBAFA00828EF916804FE307BE10C66D70DF06E7504A7252B5ACA70B176876047 473923124DD35521DC45FF99FDC337551BCE746CC7AA10F8 (который не является открытым ключом).
nofiat сейчас офлайн Пожаловаться на nofiat   Ответить с цитированием Мультицитирование сообщения от nofiat Быстрый ответ на сообщение nofiat

12 декабря 2017, 11:53:03 AM   # 4
 
 
Сообщения: 112
Цитировать по имени
цитировать ответ
по умолчанию Re: секретный ключ для ключа уравнения общественного

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

Если вы заинтересованы, то здесь есть PDF, который объясняет ECC действительно легко и хорошо
https://www.entrust.com/wp-content/uploads/2014/03/WP_Entrust_Zero-to-ECC_March2014.pdf

Если вы хотите практиковать на самом деле делает эти вычисления, я рекомендую попробовать их на меньшем поле первой.
например:
yІ = xі + 7 моды тысячи пятьдесят-одина
бы создать простое поле 1093 точек.
Вы можете выбрать любую точку из области, чтобы быть G

Для делать умножение с фактической кривой Bitcoin вы сначала должны кратным G 2, то множественные результат на 2, и так далее. до тех пор, пока вы сделали это 255 раз. И сохранить результаты.
Тогда вы будете иметь список точек
G, 2 * G, 4 * G, 8 * G, 16 * G ... 57896044618658097711785492504343953926634992332820282019728792003956564819968 * G

для умножений-использовать эти формулы:
Код:
s = (3xІ + а) / (2y1) по модулю р
x2 = sІ-2x1 тойр
у2 = -y1 + S (x1-x2) по модулю р

Тогда вам превратить ваш закрытый ключ двоичного числа и позволяет сказать, что это 1001101 (очень короткий ключ собств)
то вы можете сделать дополнение.
1 G
0 (2)
1 4G
1 8G
0 (16)
0 (32)
1 64G

В результате открытого ключа будет:
G + 4G + 8G + 64G

Для добавления использовать эти формулы:
Код:
s = (у2-у1) / (х2-х1) по модулю р
x3 = sІ-x2-x1 тойр
у3 = у2 + S (х2-х3) по модулю р

PDF объяснит это лучше.
Повеселись  
aplistir сейчас офлайн Пожаловаться на aplistir   Ответить с цитированием Мультицитирование сообщения от aplistir Быстрый ответ на сообщение aplistir

12 декабря 2017, 12:31:19 PM   # 5
 
 
Сообщений: 14
Цитировать по имени
цитировать ответ
по умолчанию Re: секретный ключ для ключа уравнения общественного

Спасибо за ваш ответ. Оценил. Однако, похоже, как инструмент делает всю работу за меня. Я пытаюсь узнать, как расчет сам работает.
Я понимаю, что вам нужно кратному десятичное представление моего секретного ключа с базовой точкой G, однако, я не понимаю, как на самом деле работает умножение.

Я действительно пытался просто преобразовать секретный ключ (0x18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725 -> 11253563012059685825953619222107823549092147699031672238385790369351542642469) и умножить его на базовую точку Gx (55066263022277343669578718895168534326250603453777594175500187360389116729240), которая дает нам BD4FD5FB7A2267DCBAFA00828EF916804FE307BE10C66D70DF06E7504A7252B5ACA70B176876047 473923124DD35521DC45FF99FDC337551BCE746CC7AA10F8 (который не является открытым ключом).

Как и вы, я люблю делать вещи самостоятельно и, как правило, работают в C # на окнах машин с помощью Visual Studio и мои варианты использования NBitcoin от Github, который является мега большой
проект и построить обертки вокруг него или схитрить и использовать BTC HTTP API, когда на самом деле я хочу использовать Net.Sockets и разместить свой собственный bytedata прочь через TCP, но это, кажется, как разговаривать с
узлы непосредственно реализована таким образом, что делает это слишком сложно даже для кого-то вроде меня, что до сих пор написано немного-торрент клиент с нуля.

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

13 декабря 2017, 1:33:09 AM   # 6
 
 
Сообщений: 42
Цитировать по имени
цитировать ответ
по умолчанию Re: секретный ключ для ключа уравнения общественного

Эта часть Mastering Bitcoin может быть полезна для вас:

https://github.com/bitcoinbook/bitcoinbook/blob/8d01749bcf45f69f36cf23606bbbf3f0bd540db3/ch04.asciidoc#elliptic-curve-cryptography-explained
shensu сейчас офлайн Пожаловаться на shensu   Ответить с цитированием Мультицитирование сообщения от shensu Быстрый ответ на сообщение shensu



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW