This repository contains Python implementations of various cryptographic protocols and their simulations between two communicating parties: Alice and Bob.
- Files:
Diffie_Hellman_Alice.py,Diffie_Hellman_Bob.py - Objective: Securely generate a shared secret key between Alice and Bob using the Diffie-Hellman protocol.
- Files:
RSA_Alice.py,RSA_Bob.py - Objective: Encrypt and decrypt messages using the RSA public-key cryptosystem.
- Files:
ElGamal_Alice.py,ElGamal_Bob.py - Objective: Implement ElGamal encryption to securely send messages from Alice to Bob.
- Files:
RSA_Signature_Alice.py,RSA_Signature_Bob.py - Objective: Use RSA to sign and verify messages for authenticity and integrity.
- Files:
benchmark.py,helper.py - Objective:
helper.py: Shared functions (e.g., modular inverse, primality testing).benchmark.py: Measure performance of cryptographic operations (encryption/decryption/signing/verifying).
- Python 3.x
- No external dependencies (all algorithms implemented using built-in libraries)
Example (for RSA):
python RSA_Alice.py
python RSA_Bob.py