2
1
I've been looking into Elliptic Curve Cryptography, in particular the SECP256K1 spec which is used in Bitcoin and Ethereum. So I understand that the Generator point G is fixed based on the spec and that a 256-bit private key (privKey) is (ideally) truly randomly selected from 1 to 1.157920892373162e+77. The public key (pubKey) is derived from the private key such that the public key is privKey*G where this includes point addition and point doubling operations.
Now what I haven't seemed to figure out yet is that there is a fixed entrance point G which any adversary would need to start at to try and decipher a private key from a public key (assuming a partial rainbow table of values is not used).
So wouldn't that mean the largest value for the private key, which is the furthest amount of steps away from calculating (i.e. 1.157920892373162e+77), is the most secure?
Hence wouldn't private keys below a certain threshold be considered compromised e.g. private keys in the range of 0-1000 for example?
I feel like there is something I'm missing here, any help is appreciated!
thank you for the well explained answer, I stupidly thought that the Generator point had to be the starting point. In other words I didn't recognize how shortcuts could be made through the range of values using the double and add method and hence an adversary could quite easily start from almost anywhere in that range. This made sense as only being able to use the point addition operation would cause key generation to take a huge amount of time. Silly me, still learning I suppose! – Malapeno – 2018-04-01T01:43:40.177
Just a quick question, with the point doubling operation I can skip through the range of multiples as follows: 1G -> 2G -> 4G -> 8G -> 16*G .... and so on. Am I correct i saying this? – Malapeno – 2018-04-01T01:45:04.577
1Yup, absolutely. In practice multiplying a point with a number is done through a variant of a double-and-add algorithm that computes subsequent powers of 2, and adds the ones that have a 1 in the bit representation of the scalar together. – Pieter Wuille – 2018-04-06T01:29:11.637