def METHOD_NAME(self, data, padding=None, hashAlg=None, saltLen=None):
    """
    :type data: bytearray
    :param data: The value which will be signed (generally a binary
        encoding of hash output.
    :type padding: str
    :param padding: Ignored, present for API compatibility with RSA
    :type hashAlg: str
    :param hashAlg: name of hash that was used for calculating the bytes
    :type saltLen: int
    :param saltLen: Ignored, present for API compatibility with RSA
    """
    N = numBits(self.q)
    digest_len = len(data) * 8
    digest = bytesToNumber(data)
    if N < digest_len:
        digest >>= digest_len - N
    k = getRandomNumber(1, (self.q-1))
    if gmpyLoaded or GMPY2_LOADED:
        k = mpz(k)
        digest = mpz(digest)
    r = powMod(self.g, k, self.p) % self.q
    s = invMod(k, self.q) * (digest + self.private_key * r) % self.q
    return encode_sequence(encode_integer(r), encode_integer(s))