Encrypted-P2P-Instant-Messenger A Python demo, for Socket communications between server and clients, use AES-256 in CBC mode and HMAC for encryption and authentication.