I might not just understand the cryptography here, but how does that protect against the server or a third party with access to the handshake to act as a relaying party (basically doing a MITM attack)?
Does it actually not need to trust the server or have any preexisting trust in the other party?