def findpk(self, message, rnum, snum, flag):
        """
        find pubkey Y from message m, signature (r,s)
        Y = (R*s-G*m)/r
        note that there are 2 pubkeys related to a signature
        """
        m = self.GFn.value(message)
        r = self.GFn.value(rnum)
        s = self.GFn.value(snum)

        R = self.ec.decompress(r, flag)

        # return (R*s - self.G * m)*(1/r)
        return R * (s / r) - self.G * (m / r)
find pubkey Y from message m, signature (r,s)
        Y = (R*s-G*m)/r
        note that there are 2 pubkeys related to a signature