def sign(idText, request, caPrivkey):
<EOL>assertType(request, ec1Element)<EOL>assertScalarType(caPrivkey)<EOL>R = request<EOL>d = caPrivkey<EOL>G = generatorEc()<EOL>N = orderEc()<EOL>k = randomZ(N)<EOL>P = R + k*G<EOL>e = _exp(P, idText)<EOL>r = (e*k + d) % N<EOL>return (r, P)<EOL>
A certificate authority (CA) generates an implicit certificate using 
identity string @id, @request (certificate public key component), and 
the CA's private key @caPrivkey.
@returns (s, cert) where @r is the private key contribution and @cert is 
 the implicit certificate.