def METHOD_NAME(self, pk, M, S):
    modbits = int(pk['N']).bit_length()
    k = int(ceil(modbits / 8.0))
    emLen = int(ceil((modbits -1) / 8.0))
    if len(S) != k:
        if debug: print("Sig is %s octets long, not %" %(len(S), k))
        return False
    s = Conversion.OS2IP(S)
    s = integer(s) % pk['N']  #Convert to modular integer
    m = (s ** pk['e']) % pk['N']
    EM = Conversion.IP2OS(m, emLen)
    if debug:
        print("Verifying")
        print("k     =>", k)
        print("emLen =>", emLen)
        print("s     =>", s)
        print("m       =>", m)
        print("em      =>", EM)
        print("S     =>", S)
    return self.paddingscheme.METHOD_NAME(M, EM, modbits-1)