enables two mutually mistrusting parties, the client and server, to evaluate an