RexSystem1 voteoriginally by @Sir-Walrus on GitHub1 reply
When a user reports a message, the client has to send the message it has decrypted to the instance admins.
The problem with this is that it opens the door for a malicious client or user to report fake messages to the instance admin. To prevent that, we can enforce that the official client needs to cryptographically sign every message they send before encrypting it
That sounds quite complicated, and also likely vulnerable to context switching attacks (for example moving "so beautiful " from a convo about new years fireworks to a convo about 9/11). (Such attacks can be prevented, but only by adding even more complexity.)
Instead, I propose a slightly different solution: When a user reports a message, the client sends the message key to the instance admin.
(But I do agree with client signing the ciphertext, and server verifying that signature.)
RexSystem1 voteoriginally by @Sir-Walrus on GitHub
If the Polyproto folks haven't already taken that into consideration, I'd expect adding a quick sha256 between the generated key and the message key would fix it.
But I don't have a complete understanding of the proposed protocol either, I'm just going by this thread.
Cryptography is hard. Key management is hard.
Thread
Comment by @Sir-Walrus
Comment by @Sir-Walrus