group chat with end-to-end encryption
deadchat is a cryptographically secure single-room group chat server and client designed to enable a group of trusted friends to communicate with each other over an insecure channel without fear of eavesdropping.
deadchat features end-to-end encryption where messages are encrypted and decrypted at the end points such that the server and malicious machines on the network cannot eavesdrop on the conversation.
It is assumed that a member of the trusted group will operate the server.
This work represents an endeavor to implement the functionality outlined above. It is still a work in progress and is not recommended for use unless you intend to help make improvements.
Run server.go on a server and connect to it with client.py. The client supports the following commands:
/quit Exit program /connect Connect to server /disconnect Disconnect from server /who List users in room
/createid Create identity and associated keys /idexch Exchange id keys
/genroomkey Generate a secret key for the room /reqroomkey Request the secret key from the room /sendroomkey Send secret key for the room
/msg Send private message
go get code.google.com/p/go.crypto/nacl go install code.google.com/p/go.crypto/nacl/secretbox go install code.google.com/p/go.crypto/nacl/box