Author

Topic: Doubling or half of the private key range (Read 1682 times)

hero member
Activity: 630
Merit: 500
April 24, 2016, 08:51:33 PM
#7
May I ask why do we have to double the private key range?
To avoid possible collission?
newbie
Activity: 26
Merit: 3
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.
newbie
Activity: 16
Merit: 1
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 )
legendary
Activity: 4228
Merit: 1313
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. 😀
staff
Activity: 3458
Merit: 6793
Just writing some code
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.
legendary
Activity: 4228
Merit: 1313
Double?  Just add one bit to the representation and limits of each.

You should be able to find those lines in Bitcoin Core.
newbie
Activity: 16
Merit: 1
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
Jump to: