Pesterchum

Pesterchum is the name of a fake chat client, inside of MSPaintAdventures Homestuck universe (a web comic). It’s also the name of a chat client built in Python, based on the one from Homestuck. My mission is to remake this chat client, add some features, remove some limitations.

The main flaws in the current Pesterchum stem from its IRC back-end.
My main problem with it is that nothing is encrypted. So I’ve addressed that in my version, although improvement is still needed. Man in the middle attacks between the server and client are still a possibility. So there needs to be some sort of verification that the server they’re talking to is the correct server. For encryption I’ve used a mix of public key encryption and symmetric encryption. Firstly the client generates a public key pair, it then sends it’s public key to the server which then generates an AES-128 key. This key in encrypted using the public key the client sent, then the client decodes this key using it’s private key and further communication is done using this key. A way I may fix this is to also also messages to be encrypted from a password that is not transferred across the server, and simply given in person.
My other major problem with this version, although not major, I feel is somewhat important. The friends list is only stored locally, this isn’t particularly user friendly if a user wishes to login from another computer.

Here’s some screen shots of the state of the project upon writing this.

Pesterchum Login
Login screen showing the ability to register, login and choose a different server other than the default.

 

Pesterchum Main Screen
This the current state of the GUI being worked on by Aleksandra Badyda (abadyda.co.uk)

Currently most back-end features are implemented and just need to be linked to the GUI before the first milestone “Simple Messaging” is reached.

GitHub project http://github.com/timstableford/pesterchum