def blind(m, hashfunc=hashG1):
    """
    Blinds an arbitrary string or byte array @m using an ephemeral key @r
    that can be used to deblind. Computes: x = H(x)^r
    @returns (1/r,x)
    """
    # Find r with a suitable inverse in Gt
    rInv = None
    while not rInv:
        r = randomZ()
        rInv = inverse(r, orderGt())

    return rInv, hashfunc(m) * r
Blinds an arbitrary string or byte array @m using an ephemeral key @r
    that can be used to deblind. Computes: x = H(x)^r
    @returns (1/r,x)