I am learning ECC, I am confused a bit how it works for now. To my understanding, G
is the starting point, k is how many times you apply the dot operation. And Q
is the public key, which is the final point after you apply k
times dot operations, like this
Q = kG
And then Q
is the public key, and k
is the private key. We assume it's really hard to find k given Q
and G
are known. The thing I don't understand (or I misunderstood) is, if the creator of this pair of key, can calculate k
times of G
to get Q
easily in a reasonable amount of time, why can't attacker do the same? I can start from 1 dot operation, then 2 dot operations .... and eventually, I will hit a point that's the same as Q
, and because the creator already did this in a reasonable amount of time, so I guess I can do it too (as they need to do k
times of operation for thing like Diffie–Hellman)? And if k
is super huge, doesn't it take the creator to take a super long time to generate and use it for key exchange? But I don't think it will be that easy, otherwise, it will be useless, just not sure which part I missed.
k
is how many times you apply the dot operation ". *NO!*k
is much too big to perform anythingk
times. AddingG
to itself repeatedly, one less thank
times, would yieldQ
. But the holder ofk
uses shortcuts. – fgrieu Sep 04 '19 at 17:44