def validate(idText, alpha, r, cert, caPubkey):
<EOL>assertScalarType(alpha)<EOL>assertScalarType(r)<EOL>assertType(cert, ec1Element)<EOL>assertType(caPubkey, ec1Element)<EOL>G = generatorEc()<EOL>e = _exp(cert, idText)<EOL>s = (e*alpha + r) % orderEc()<EOL>S1 = s*G<EOL>S2 = e*cert + caPubkey<EOL>if S1 != S2:<EOL><INDENT>raise Exception("<STR_LIT>")<EOL><DEDENT>return s, S1<EOL>
A server can validate an implicit certificate response using identity
string @idText, private value @alpha (used to generate cert request),
and the certificate response @r (private key component) and implicit
@cert.
@raises Exception if the certificate response is invalid.
@returns (privkey, pubkey)