How End-to-End Encryption Protects Your Messages and Where It Fails