## Bitcoin and the Elliptic curve

One issue raised with Bitcoin is that a potential thief could crack the all important private key from your visible public key, given enough time. After all, the private and key pair are mathematically related somehow, so surely a clever program could do that.

Bad news for potential Bitcoin thieves.  It turns out that this is incredibly hard to do!  The reason? The wonderful world of Elliptic Curve Cryptography. At a high level, this involves taking a random starting point on a mathematical curve and taking this single point on a journey to many points on the curve until it reaches an end point, having gone through straight line moves, hitting the curve in several places.  If you know the start point and the end point, but not the number of moves to get from start to finish, it is extremely difficult to calculate that number of moves.

In terms of public and private keys, the secret private key represents the number of moves on the curve, and the public key comprises two sets of coordinates, the start point and the final end point.

For a potential thief to crack this math problem, they would need to run multiple numbers (possible combinations of private keys) through an algorithm to generate public key pairs.  If they happen to hit upon a key pair that matches one in the block chain that happens to have received funds, they can spend it, but mathematically this is extremely unlikely.  There are around 2^256 possible private keys combinations, a staggering number, and would require enormous supercomputer power constantly calculating public key pairs.

Elliptic Curve Encryption theory has a big learning curve for understanding, especially for non mathematicians, but I found this article very useful as it gives a great analogy of a bizarre billiards game to give an idea of what’s going on, and also provides explanation of RSA encryption, widely used within secure web sites.

A (relatively easy to understand) primer on elliptic curve cryptography

For me my Eureka moment came when I studied the animations on page 2!