{"repo":"ejupialked/cryptchat","free":true,"listed":false,"github":"https://github.com/ejupialked/cryptchat","clone":"git clone https://github.com/ejupialked/cryptchat.git","description":"Encrypted Android + Java socket chat using Diffie-Hellman key exchange and AES.","language":"Java","stars":40,"topics":["diffie-hellman-algorithm","java-sockets","client-server","android","asymmetric-cryptography","tcp-ip","socket-programming","diffie-hellman","aes","android-client"],"license":"MIT","category":"mobile-apps","readme_excerpt":"CryptChat ⚠️ Note (2026): I built this in 2017, in my final year of high school, while first learning to code. It works and demonstrates a Diffie-Hellman + AES handshake, but it is not secure by modern standards (AES in ECB mode, unauthenticated key exchange, no TLS, key material logged, no proper key derivation). I'm keeping it as a learning artifact from when I was starting out. See SECURITY NOTES.md for a full self-audit. CryptChat is an encrypted chat between an Android client and Java server that uses the Diffie-Hellman algorithm for the exchange of public keys and the AES algorithm for the encryption/decryption of messages. The public key carries different parameters which can be seen by anyone, it is needed to generate a common secret key. Both client and server generate a key pair: the public key mentioned before, and a private key. Each side's private key is used only to compute a common secret key via the Diffie-Hellman algorithm; a shared AES key is derived from that secret and used to both encrypt and decrypt every message. The messages sent over the network socket are encoded in BASE64. Client Server :-------------------------: :-------------------------: Background I originally built and presented CryptChat in high school for a project on Computer Security, while I was learning programming. As the note at the top explains, it still falls short of modern security standards. How to run the project Requirements: JDK 8+ for the server, Android Studio (min SDK 23) fo","default_branch":null,"files":null,"tree":[],"storefront":"/r/ejupialked","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ejupialked/cryptchat/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}