Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: sss555 on April 23, 2016, 01:24:42 PM



Title: Doubling or half of the private key range
Post by: sss555 on April 23, 2016, 01:24:42 PM
bitcoin private key range

n = 1 to FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140

and

p = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F

bitcoin public key

x =  592152c398d6c719636a03a6dad64246a5a6814aa62c156b0ce5332f6759b031
y =  72dd2e1d26c233337760c49122a1df67d0aa792b453f97bd29765c83b47ba01d

x = 79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
y = 483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8

x= c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5
y= 1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a

x = e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13
y = 51ed993ea0d455b75642e2098ea51448d967ae33bfbdfe40cfe97bdc47739922


Need to double (or) half the range of private key , so how to convert the bitcoin public key into doubled (or) half private key range

 
n = 1 to ( FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140 * 2 ) OR

n = 1 to ( FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140 / 2 )

Thank all


Title: Re: Doubling the private key range
Post by: cr1776 on April 23, 2016, 03:27:01 PM
Double?  Just add one bit to the representation and limits of each.

You should be able to find those lines in Bitcoin Core.


Title: Re: Doubling the private key range
Post by: achow101 on April 23, 2016, 04:58:58 PM
Double?  Just add one bit to the representation and limits of each.

You should be able to find those lines in Bitcoin Core.
I'm pretty sure that is not how it works. The secp256k1 curve is only for 256 bit private keys. To double the range, you be using 257 bit private keys and that would require an entirely different curve.


Title: Re: Doubling the private key range
Post by: cr1776 on April 23, 2016, 07:29:57 PM
Double?  Just add one bit to the representation and limits of each.

You should be able to find those lines in Bitcoin Core.
I'm pretty sure that is not how it works. The secp256k1 curve is only for 256 bit private keys. To double the range, you be using 257 bit private keys and that would require an entirely different curve.

I was primarily joshing about the code since it really wasn't clear what they were asking without more context. 😀


Title: Re: Doubling the private key range
Post by: sss555 on April 24, 2016, 04:41:09 AM
Double?  Just add one bit to the representation and limits of each.

You should be able to find those lines in Bitcoin Core.
I'm pretty sure that is not how it works. The secp256k1 curve is only for 256 bit private keys. To double the range, you be using 257 bit private keys and that would require an entirely different curve.

if the range half means

n = 1 to ( FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140 / 2 )


Title: Re: Doubling or half ot the private key range
Post by: kn_b_y on April 24, 2016, 11:21:48 AM
bitcoin private key range

n = 1 to FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140

and

p = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F

bitcoin public key

x =  592152c398d6c719636a03a6dad64246a5a6814aa62c156b0ce5332f6759b031
y =  72dd2e1d26c233337760c49122a1df67d0aa792b453f97bd29765c83b47ba01d

x = 79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
y = 483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8

x= c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5
y= 1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a

x = e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13
y = 51ed993ea0d455b75642e2098ea51448d967ae33bfbdfe40cfe97bdc47739922


Need to double (or) half the range of private key , so how to convert the bitcoin public key into doubled (or) half private key range

 
n = 1 to ( FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140 * 2 ) OR

n = 1 to ( FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140 / 2 )

Thank all

Seems to me you could halve the range by performing the bitwise OR operation on your private key, forcing it to be an odd number.

But you can't use Secp256k1 and double the range becuase for any value above FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140 you'd be cycling over the same public keys.


Title: Re: Doubling or half ot the private key range
Post by: shinep on April 25, 2016, 01:51:33 AM
May I ask why do we have to double the private key range?
To avoid possible collission?