**EC Cryptography Tutorials - Herong's Tutorial Examples** - v1.03, by 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 = 2^{64}= 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)