docs: 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