A client can recover the server's pubkey using the identity string @idText,
    server's implicit @cert, and the trusted @caPubkey.

def recoverPubkey(idText, cert, caPubkey):
    """
    A client can recover the server's pubkey using the identity string @idText,
    server's implicit @cert, and the trusted @caPubkey.
    """
    # Verify types
    assertType(cert, ec1Element)
    assertType(caPubkey, ec1Element)

    # Compute the pubkey
    return _exp(cert, idText)*cert + caPubkey