Skip to content

This project demonstrates how to securely transmit data between clients and servers using a combination of RSA (for key exchange) and AES (for data encryption). It also includes user authentication using hashing techniques (e.g., SHA-256) and implements basic protection against common attacks such as SQL Injection and Man-in-the-Middle (MITM).

Notifications You must be signed in to change notification settings

Frostyceo/Project-Title-Secure-Data-Transmission-using-RSA-and-AES-Encryption-

Repository files navigation

Step-by-Step Implementation:

  1. User Authentication System (Auth/UserAuth.java) Create a UserAuth class that handles registration and login. Store hashed passwords using bcrypt or SHA-256, with salt.
  2. RSA Key Exchange (Crypto/RSAUtil.java) Generate a public-private key pair using the KeyPairGenerator class. Use the public key to encrypt the AES key, which will be used for the session.
  3. AES Encryption (Crypto/AESUtil.java) Encrypt data with AES using a shared secret key. Decrypt it on the other side using the same key.
  4. SQL Injection Protection (Security/InputSanitization.java) Use prepared statements with JDBC to interact with the database securely. Implement input validation to remove malicious characters.
  5. MITM Protection (Security/MITMProtection.java) Implement digital signatures to ensure data integrity and authenticity.

Tools and Libraries: Java Cryptography Extension (JCE): For implementing RSA and AES. BCrypt/SHA-256: For password hashing. JDBC: For secure database interactions, with prepared statements to prevent SQL injection. Log4j: For logging security events. JUnit: For writing unit tests for all major components.

About

This project demonstrates how to securely transmit data between clients and servers using a combination of RSA (for key exchange) and AES (for data encryption). It also includes user authentication using hashing techniques (e.g., SHA-256) and implements basic protection against common attacks such as SQL Injection and Man-in-the-Middle (MITM).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages