Welcome to the Information Security Codes repository! This collection contains implementations of foundational cryptographic algorithms, focusing on Diffie-Hellman Key Exchange, RSA Encryption/Decryption, and the Vigenère Cipher. These algorithms are crucial for securing data and ensuring privacy in communication.
- A method for securely exchanging cryptographic keys over a public channel.
- Ensures secure communication between parties without prior knowledge of each other’s keys.
- An asymmetric encryption algorithm that uses a pair of keys (public and private) to encrypt and decrypt messages.
- Commonly used for secure data transmission in web communications, such as HTTPS.
- A classical cipher that uses a keyword to encrypt alphabetic text, providing basic data obfuscation.
- A polyalphabetic cipher that can encrypt messages using various shifts based on the letters of a keyword.
- Languages: Python, Java
- Tools/Libraries:
- Java:
javax.crypto
,java.security
for RSA - Python: Standard libraries for Diffie-Hellman and Vigenère Cipher
- Java:
- Key Exchange Protocol: Securely exchange cryptographic keys using Diffie-Hellman.
- Asymmetric Encryption: RSA encryption/decryption with public and private keys.
- Classical Encryption: Encrypt alphabetic text with the Vigenère Cipher.
These algorithms are used in:
- Secure communication: Protect data during transmission over insecure networks.
- Public key infrastructure (PKI): Ensure authentication and confidentiality using RSA.
- Basic encryption: Obfuscate text with classical ciphers like Vigenère.
Any improvements or suggestions are most welcome!