return bytes2long(ukm[::-1])
-def kek(curve, prv, pub, ukm):
+def kek(curve, prv, pub, ukm, mask=None):
if not curve.contains(pub):
raise ValueError("pub is not on the curve")
key = curve.exp(prv, pub[0], pub[1])
key = curve.exp(curve.cofactor * ukm, key[0], key[1])
+ if mask is not None:
+ key = curve.exp(mask, key[0], key[1])
return pub_marshal(key)