19 марта 2015, 7:09:45 PM   # 1
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Perl Private Key -> Public Address

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


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

Большинство примеров кода Perl на Github являются неподдерживаемых / сломанные / лет и у меня возникли проблемы получения какой-либо из них работают.

Нечто похожее на этот питон код:

Код:
импорт ECDSA

secp256k1curve = ecdsa.ellipticcurve.CurveFp (115792089237316195423570985008687907853269984665640564039457584007908834671663,0,7)
secp256k1point = ecdsa.ellipticcurve.Point (secp256k1curve, 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798,0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8,0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141)
secp256k1 = ecdsa.curves.Curve ( 'secp256k1', secp256k1curve, secp256k1point, (1,3,132,0,10))

# --------------------------------------

импорт binascii, hashlib

Защиту Адди (рк):
 ПКО = ecdsa.SigningKey.from_secret_exponent (рк, secp256k1)
 Публичный = binascii.hexlify (pko.get_verifying_key (). to_string ())
 pubkey2 = hashlib.sha256 (binascii.unhexlify ( '04' + Публичных)). hexdigest ()
 pubkey3 = hashlib.new ( 'ripemd160', binascii.unhexlify (pubkey2)). hexdigest ()
 pubkey4 = hashlib.sha256 (binascii.unhexlify ( '00' + pubkey3)). hexdigest ()
 pubkey5 = hashlib.sha256 (binascii.unhexlify (pubkey4)). hexdigest ()
 pubkey6 = pubkey3 + pubkey5 [8]
 pubnum = INT (pubkey6,16)
 pubnumlist = []
 в то время как pubnum = 0: pubnumlist.append (pubnum% 58); pubnum / = 58
 адрес = «»
 для л в [ «123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz» [х] для й в pubnumlist]:
  адрес = L + адрес
 возвращение «1» + адрес
 
печать Адди (0x18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725)
печать Адди (интермедиат (hashlib.sha256 ( «что-то маленькое и легко запомнить, но трудно угадать»). hexdigest (), 16))


ссылка:

Был бы рад предоставить небольшую награду.

благодаря



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


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


19 марта 2015, 7:19:40 PM   # 2
 
 
Сообщения: 1848
Цитировать по имени
цитировать ответ
по умолчанию Re: Perl Private Key -> Public Address

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





У меня есть некоторые Perl, но в немного privkey → Публичного я обманываю через "использование Инлайн" , Компилятор Си и libssl-DEV требуется.
dserrano5 сейчас офлайн Пожаловаться на dserrano5   Ответить с цитированием Мультицитирование сообщения от dserrano5 Быстрый ответ на сообщение dserrano5

19 марта 2015, 7:25:38 PM   # 3
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Perl Private Key -> Public Address

У меня есть некоторые Perl, но в немного privkey → Публичного я обманываю через "использование Инлайн" , Компилятор Си и libssl-DEV требуется.

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

19 марта 2015, 8:19:49 PM   # 4
 
 
Сообщения: 1848
Цитировать по имени
цитировать ответ
по умолчанию Re: Perl Private Key -> Public Address

Код:
#! / USR / бен / Perl

использовать строгий;
использовать предупреждение;
использовать Digest'-:: SHA КЯ / SHA256 /;
Использование Crypt :: Digest :: ripemd160 дш / ripemd160 /;
использовать Encode :: Base58 :: GMP;
использовать встроенный C => Config => LIBS => '-lssl';
использовать встроенный C => <<'END_OF_C_CODE';
#включают
#включают
#включают
#включают
#включают

#define NID_secp256k1 714

SV * get_pubkey (символ * рк) {
    EC_KEY * к = NULL;
    EC_POINT * pub_key = NULL;
    Const EC_GROUP * группа = NULL;
    BIGNUM старт;
    BIGNUM * priv_key;
    BN_CTX * CTX;

    BN_init (&Начало);
    CTX = BN_CTX_new ();
    утверждают (CTX);

    priv_key = &Начало;
    BN_hex2bn (&priv_key, рк);

    к = EC_KEY_new_by_curve_name (NID_secp256k1); утверждать, (к);
    группа = EC_KEY_get0_group (к); утверждают (группа);
    pub_key = EC_POINT_new (группа); утверждают (pub_key);
    утверждают (EC_POINT_mul (группа, pub_key, priv_key, NULL, NULL, CTX)); утверждают (pub_key);

    символ * гекс = EC_POINT_point2hex (группа, pub_key, POINT_CONVERSION_UNCOMPRESSED, CTX);
    SV * hex_copy = newSVpvf ("% s", Гекс);
    OPENSSL_free (шестнадцатеричный);

    вернуться hex_copy;
}
END_OF_C_CODE

к югу base58_gmp_to_btc 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv

к югу b58_gmp {
    мой ($ строка) = @_;
    вернуться base58_gmp_to_btc encode_base58 "0x $ ул"«ГМП»;
}

суб контрольной суммы {возврат Uc распаковка 'H8', SHA256 SHA256 пакет 'H *', сдвиг}

к югу hash160 {вернуть распакуйте 'H *', ripemd160 SHA256 пакет 'H *', сдвиг; }

мои @leaders; @leaders [0,5] = (1, 3);
к югу b58ck {
    мой ($ верь, $ ул) = @_;
    мой $ CKSUM = контрольная сумма "$ Веры $ ул";

    "$ Веры $ ул $ CKSUM" = ~ / ^ (0 *) /;
    мой $ num_leading_0s = INT + (длина $ 1) / 2;

    мой $ b58c = Sprintf "% 34s", b58_gmp  "$ Веры $ ул $ CKSUM";

    мой $ b58 = $ b58c;
    $ B58 = ~ s / // г;
    $ B58 = Sprintf "% S $ b58", $ лидеры [$ веры] х $ num_leading_0s;

    вернуть $ b58;
}

мой $ privkey = '1900966ca8703f337ad2c191718af367a04a1929685fe17e4b7fa3e1b9dd6d2d'; ## Измени меня!
мой $ Публичные = get_pubkey $ privkey;
мой $ H160 = hash160 $ ​​Публичные;
мой $ адр = b58ck '00', $ H160;
Распечатать <<"EOF";
privkey $ privkey
Публичные $ Публичных
H160 $ ​​H160
адр $ адр
EOF
dserrano5 сейчас офлайн Пожаловаться на dserrano5   Ответить с цитированием Мультицитирование сообщения от dserrano5 Быстрый ответ на сообщение dserrano5

20 марта 2015, 11:36:33 AM   # 5
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Perl Private Key -> Public Address

Огромное спасибо. Выглядит здорово, но не могу заставить его работать, к сожалению.

У меня есть /usr/include/openssl/bn.h, но я получаю следующее сообщение об ошибке:

котировка
неопределенный символ: BN_init

Глядя в bn.h «BN_init», кажется, не существует ...

Будет ли продолжать пытаться, хотя.



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

20 марта 2015, 7:10:45 PM   # 6
 
 
Сообщения: 1848
Цитировать по имени
цитировать ответ
по умолчанию Re: Perl Private Key -> Public Address

Глядя в bn.h «BN_init», кажется, не существует ...

В моем случае:

Код:
$ Grep -r BN_init / USR / включать / OpenSSL /
/usr/include/openssl/bn.h:void BN_init (BIGNUM *);

Код:
$ Dpkg -l |. Grep SSL * DEV
б libssl-DEV 1.0.1e-2 + deb7u15 amd64 SSL библиотеки разработки, заголовочные файлы и документация
б libssl-док 1.0.1e-2 + deb7u15 вся документация документация по разработке SSL
dserrano5 сейчас офлайн Пожаловаться на dserrano5   Ответить с цитированием Мультицитирование сообщения от dserrano5 Быстрый ответ на сообщение dserrano5



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW