PySecNet is an open-source project that provides a simplified implementation of SSL/TLS (Secure Sockets Layer / Transport Layer Security) in Python.
This project focuses on key cryptographic components such as AES encryption, SHA-256 hashing, Diffie-Hellman key exchange, and RSA encryption for secure communication.
Key Features
Cryptographic Primitives: Essential cryptographic primitives ensuring data confidentiality, integrity, and authenticity.
Client-Server Architecture: A client-server architecture that allows secure communication between two parties.
SSL/TLS-like Functionality: Establishes secure connections and protects data during transmission.
Handshake Protocol: A handshake protocol inspired by SSL/TLS to negotiate cryptographic parameters and exchange keys securely.
PKI System: A basic Public Key Infrastructure (PKI) system for certificate generation, signing, and verification.
Interactive Choice: Choose to run the client or server, interactively or via command-line arguments.
This project serves as a practical resource for understanding and implementing secure communication protocols in Python. Feel free to explore and contribute.
Setup
Windows
python -m venv venv
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
venv\Scripts\activate
make installLinux & macOS
python3 -m venv venv
source venv/bin/activate
make installHow to Use
make run- Select server and client in separate terminals.
- Run 1 server and 2 clients.
