A collection of cryptographic algorithms implemented to demonstrate the fundamentals of encryption, decryption, and secure key exchange. This repository contains both Asymmetric and Symmetric encryption techniques.
Cryptography is an essential aspect of securing digital communication. This repository provides implementations of various encryption techniques classified into:
-
Asymmetric Encryption Algorithms – Uses a pair of public and private keys for secure communication.
-
Symmetric Encryption Algorithms – Uses a single key for both encryption and decryption.
The goal is to understand how different cryptographic algorithms work and their practical implementations.
Algorithm | Description |
---|---|
Diffie-Hellman Key Exchange | A method to securely exchange cryptographic keys over a public channel. |
Rivest-Shamir-Adleman (RSA) | A widely used public-key cryptosystem for secure data transmission. |
Algorithm | Description |
---|---|
Advanced Encryption Standard (AES) | A secure and efficient encryption standard used worldwide. |
Blowfish | A fast and flexible symmetric encryption algorithm with a variable-length key. |
ChaCha20 | A modern stream cipher designed for high security and efficiency. |
Data Encryption Standard (DES) | A historic symmetric-key algorithm, now considered obsolete. |
RC4 | A stream cipher known for its simplicity but deprecated due to vulnerabilities. |
Triple DES (3DES) | An extension of DES that applies encryption three times for added security. |
Twofish | A highly secure symmetric-key algorithm that was a finalist in the AES competition. |
This repository is licensed under the Apache License 2.0. See the LICENSE file for more details.
- Cryptography and Network Security by William Stallings
- Applied Cryptography by Bruce Schneier
- NIST AES Standard
- RFC 3526 - More Modular Exponential (MODP) Diffie-Hellman groups