

Huh - you’re right. I went back to Signal’s X3DH spec because I was sure I was right, but it seems I misremembered how the “prekey bundles” work: Users publish these to the server, allowing (in my original assumption) for the server to just swap them out for a server/attacker-controlled key bundle for each Alice and Bob.
However, when Alice wants to send Bob an initial message and she gets a forged prekey bundle, Bob will simply not be able to derive the same key and communication will fail, because Bob knows what his SPK private key is, while the server only knows the public key.








Sorry to bother you, hope it’s alright if I ask for some clarification. English isn’t my first language, so I’m a bit uncertain here: is “cad” a euphemism for “racist”, “pedophile”, “shitbrain”, “misogynist”, “felon”, or some equally true and fitting term I’m not aware of?