A core Java cybersecurity-themed chat application demonstrating secure client-server communication using AES encryption and socket programming. No external libraries are used.
- AES Encryption: All messages are encrypted before transmission and decrypted upon reception.
- Socket Programming: Multi-threaded server supporting multiple clients concurrently.
- Authentication: Fundamental server-side validation using a shared secret code.
- Unified Dashboard: Swing-based UI allowing you to easily act as a Server, Client, or monitor the status.
- Live Logging: Real-time audit trails of user connections, raw encrypted payloads, and decrypted contents for demonstration.
MainDashboard.java: The primary UI structure and entry point.ChatServer.java&ClientHandler.java: Manage incoming connections and broadcasting.ChatClient.java: Handles the socket connection, outgoing text, and listener threads for the client.CryptoUtils.java: Implements AES 128-bit encryption standard using Java Cryptography.LoggerUtil.java: Thread-safe logger outputting to file and dashboard.
- Simply double-click
run.baton Windows. This will compile the code and start the Dashboard. - In the Security Settings tab, ensure your Auth Code and AES keys are set.
- In the Server Control tab, start the server on your desired port.
- Launch another instance via
run.bat(or use the Client Chat tab) to connect to127.0.0.1. - Messages are sent securely. Verify the encryption in the System Logs tab!