During the creation of my thesis, I reviewed the currently popular low-latency anonymity networks, Tor, I2P and JAP.
I designed, and implemented (in Python) a Tor compatible, instant messaging application, with file transfering capabilities. The application uses a hash-chain based user authentication scheme, which is generated from a shared secret (the secret is transferred on a side channel). To increase the anonymity, the identifier of the conversation is the result of a Diffie-Hellman key exchange. Because of this, if a message was intercepted, the attacker can't find out who the sender or the receiver was. The application supports multiple encryption (AES, OTP, Blowfish) and key exchange (Diffie-Hellman, preshared) schemes, in an extendable way. I also created a console based and graphical user interface, using the PyQt library.
I examined other applications with similar purpose, highlighting the differences between my implementation, and theirs.
I thought through the possible future improvements, regarding the aspects of security, convenience, and performance.
Finally, I measured the performance of the application, and tested its usability in practice.