@profile<EOL>def proveGt(x,tTilde,kw,y):
<EOL>assertType(x, G1Element)<EOL>assertType(tTilde, G2Element)<EOL>beta = pair(x,tTilde)<EOL>g = generatorGt()<EOL>p = g**kw<EOL>v = randomZ(orderGt())<EOL>t1 = g**v<EOL>t2 = beta**v<EOL>c = hashZ(g,p,beta,y,t1,t2)<EOL>u = (v- (c*kw)) % orderGt()<EOL>return (p,c,u)<EOL>
Generate a zero-knowledge proof that DL(g^kw) == DL(e(x,t)^kw) where
g,e(..) \in Gt.
@return pi = (p,c,u)