| 1. | Get a random number |
| 2. | Elliptical Curve multiply the random number by G (starting point on curve) |
| 3. | r = X coordinate of the result |
| 4. | Elliptical Curve Multiply (ECM) r * Private Key |
| 5. | Get hash of transaction we want to "unlock" (show it's ours) |
| 6. | Concatenate result from step 4 and 5 |
| 7. | s (signature) = Divide step 6 result by random # from step 1 |
| 8. | You can prove you know the private key by giving them the r (step 3) and s (step 7) |
| 9. | Point 1 = ECM(s,message) |
| 10. | Point 2 = ECM(s,r) * public key |
| 11. | Add point 1 and point 2 giving point 3 |
| 12. | if Point 3(x) = r(x) then digital signature was created using private key |