Experiment 10: Elliptic-curve Diffie–Hellman (ECDH) Key Exchange Protocol
Elliptic Curve Cryptography Simulation Procedure
Objective
The objective of this experiment is to simulate the elliptic curve cryptography process, focusing on curve selection, private and public key generation, and secret key calculation for two users, A and B.
Experimental Steps
Step 1: Elliptic Curve Selection
- Pre-select an elliptic curve with parameters a, b, and q.
- For example, consider Curve25519 with q as a prime or an integer of the form 2^m.
- Students select a point G on the curve with a large order n.
Step 2: User A Key Generation
- Student selects a private key nA (where nA < n).
- Calculates the public key PA using the formula: PA = nA * G.
Step 3: User B Key Generation
- Student selects a private key nB (where nB < n).
- Calculates the public key PB using the formula: PB = nB * G.
Step 4: Secret Key Calculation for User A
- Secret key of user A is calculated as K_A = nA * PB.
Step 5: Secret Key Calculation for User B
- Secret key of user B is calculated as K_B = nB * PA.
Conclusion
This experiment aims to provide participants with hands-on experience in elliptic curve cryptography, emphasizing key generation and secret key calculation for secure communication between users A and B. Understanding the mathematical principles behind elliptic curves is crucial for cryptographic applications, and this simulation enhances comprehension through practical engagement.