Bitcoin Forum

Local => Кодеры => Topic started by: ArsenShnurkov on February 25, 2011, 04:23:37 PM



Title: Размер private key у кошелька
Post by: ArsenShnurkov on February 25, 2011, 04:23:37 PM
Какой размер в битах у RSA private key для wallet ? Где это написано? Как этот ключ генерируется?


Title: Re: Размер private key у кошелька
Post by: bitcoinex on February 25, 2011, 09:36:58 PM
Какой размер в битах у RSA private key для wallet ? Где это написано? Как этот ключ генерируется?

там не RSA, там ECDSA


Title: Re: Размер private key у кошелька
Post by: LZ on February 25, 2011, 10:37:32 PM
The private key is actually just a 256-bit number. The public key is two 256-bit numbers.  All of those other bytes that Bitcoin is using just contains redundant information about the elliptic curve (redundant since Bitcoin already knows the curve info anyway, and therefore doesn't need it stored with the key).

Пример закрытого ключа:
Code:
ИZы¬П>дЬЧ!©­A4GuХ@пАQ‚®’чЋ

Пример того же ключа в base58:
Code:
EV71KQfoePBeWT79sV1VE7fWRgv1KNUxTNapH6ZbaRfB

Ключ создается функцией OpenSSL EC_KEY_generate_key() (http://www.openssl.org/gitweb.cgi?p=openssl.git;a=blob;f=crypto/ec/ec_key.c;hb=HEAD#l233).


Title: Re: Размер private key у кошелька
Post by: Lis on June 13, 2011, 10:11:59 AM
Ключ создается функцией OpenSSL EC_KEY_generate_key() (http://www.openssl.org/gitweb.cgi?p=openssl.git;a=blob;f=crypto/ec/ec_key.c;hb=HEAD#l233).
мой мозг... =(


Title: Re: Размер private key у кошелька
Post by: SmallMminer on June 15, 2011, 09:37:03 AM
Ключ создается функцией OpenSSL EC_KEY_generate_key() (http://www.openssl.org/gitweb.cgi?p=openssl.git;a=blob;f=crypto/ec/ec_key.c;hb=HEAD#l233).
мой мозг... =(
=))) Это мне напомнило, как я однажды забрёл на какой то форум принципиальных пользователей и программеров и так один другому писал "Со смещением на 8 будет гораздо лучше"  :)


Title: Re: Размер private key у кошелька
Post by: Lis on June 15, 2011, 01:29:14 PM
The private key is actually just a 256-bit number. The public key is two 256-bit numbers.  All of those other bytes that Bitcoin is using just contains redundant information about the elliptic curve (redundant since Bitcoin already knows the curve info anyway, and therefore doesn't need it stored with the key).

Пример закрытого ключа:
Code:
ИZы¬П>дЬЧ!©­A4GuХ@пАQ‚®’чЋ

Пример того же ключа в base58:
Code:
EV71KQfoePBeWT79sV1VE7fWRgv1KNUxTNapH6ZbaRfB

Ключ создается функцией OpenSSL EC_KEY_generate_key() (http://www.openssl.org/gitweb.cgi?p=openssl.git;a=blob;f=crypto/ec/ec_key.c;hb=HEAD#l233).
EV71KQfoePBeWT79sV1VE7fWRgv1KNUxTNapH6ZbaRfB(b58) -> 7330d9589f952a4e38c38163d19e2d671f945385201edb39ce0f982ae92f78e(hex) 63 символа...?

возмем транзакцию
http://blockexplorer.com/rawtx/a2844948747244e5582b385e86de85b386443353cfe6803091ac50257baf7ee7
pub key
Code:
04dc587e1c7e803a8b6deab1bb52a0da19abef61fe5cc669c7de2a6dbb3dac292d796b19ac7d5b229eb2200c12c36acee49a1119ec4e50c2b97776d109d9fa7395
130 символов/2 = 65 байт, кажется что то не правильно посчитал...
откуда тогда "The public key is two 256-bit numbers"?


Title: Re: Размер private key у кошелька
Post by: LZ on June 15, 2011, 03:30:07 PM
130 символов/2 = 65 байт, кажется что то не правильно посчитал...
откуда тогда "The public key is two 256-bit numbers"?
256*2/8=64 байта. Добавляем еще 0x04 в начало и все сходится. :)


Title: Re: Размер private key у кошелька
Post by: Lis on June 16, 2011, 04:54:01 AM
130 символов/2 = 65 байт, кажется что то не правильно посчитал...
откуда тогда "The public key is two 256-bit numbers"?
256*2/8=64 байта. Добавляем еще 0x04 в начало и все сходится. :)


Code:
$python
>>>hex_open_key = '04dc587e1c7e803a8b6deab1bb52a0da19abef61fe5cc669c7de2a6dbb3dac292d796b19ac7d5b229eb2200c12c36acee49a1119ec4e50c2b97776d109d9fa7395'
>>>import hashlib
>>>h160 = hashlib.new('ripemd160')
>>>h160.update(hashlib.sha256(hex_open_key.decode('hex')).hexdigest().decode('hex'))
>>>print h160.hexdigest()
2a956ec9026d8a22b4385522d26522f7db506e14
выходит h160 адрес вычисляется из ключа с 0x04 спереди

кстати, может тему перенести отсюда? только не понятно куда переносить =)


Title: Re: Размер private key у кошелька
Post by: ArsenShnurkov on December 14, 2011, 11:35:20 AM
The private key is actually just a 256-bit number.

Вот тут
https://bitcointalk.org/index.php?topic=54542.0
пишут

128-кубитный квантовый комп
http://www.dwavesys.com/en/products-services.html
Занимает 10 квадратных метров

512 qubits and the system is scheduled for release late in 2012.

там не RSA, там ECDSA

shor's algorithm
http://en.wikipedia.org/wiki/Shor%27s_algorithm
can be modified to work on elliptic curves.

А тут еще курс обвалился с $3.20 до $3