EC Cryptography Tutorials - Herong's Tutorial Examples - v1.02, by Dr. Herong Yang
Is EC Private Key Secure
This section discusses the question of: how secure is the EC (Elliptic Curve) key pair? Or how hard is it someone to figure out the private key from a given EC public key?
Is the EC (Elliptic Curve) private key secure? Or is it hard for Eve to figure out the private key from the public key?
The answer is yes, if the private number i and the subgroup order n are large enough. This is because the scalar multiplication i*G is a good trapdoor function.
For example, if Alice selects a 64-bit long key, i:
i = 264 = 9,223,372,036,854,775,808
Alice can calculate i*G with maximum of 128 operations. But Eve needs to try 9,223,372,036,854,775,808 point addition operations figure out i.
Let's assume that Eve uses a laptop with a CPU of 3 GHz speed. Eve has a very efficient program that can perform 1 point addition operation per CPU click. So Eve can perform 3,000,000,000 operations per second. Eve still needs about 3,000,000,000 seconds = 50,000,000 minutes = 833,333 hours = 34,722 days = 95 years to find i.
If Alice selects a 256-bit long key i, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff Eve needs about 3.8597363079105397e+67 seconds = 6.432893846517566e+65 minutes = 1.0721489744195944e+64 hours = 4.467287393414976e+62 days = 1.2239143543602674e+60 years to find i.
Table of Contents
Geometric Introduction to Elliptic Curves
Algebraic Introduction to Elliptic Curves
Abelian Group and Elliptic Curves
Discrete Logarithm Problem (DLP)
Generators and Cyclic Subgroups
tinyec - Python Library for ECC
EC Private and Public Key Pair
EC Private Key Example - secp256k1
Generate secp256k1 Keys with OpenSSL
ECDH (Elliptic Curve Diffie-Hellman) Key Exchange
ECDSA (Elliptic Curve Digital Signature Algorithm)