'Decrypt the passed-in bytes.
This requires the key to have a private component.  It performs
PKCS1 decryption of the passed-in data.
@type encBytes: L{bytearray} of unsigned bytes
@param encBytes: The value which will be decrypted.
@rtype: L{bytearray} of unsigned bytes or None.
@return: A PKCS1 decryption of the passed-in data or None if
the data is not properly formatted.'

def decrypt(self, encBytes):

    if (not self.hasPrivateKey()):
        raise AssertionError()
    if (len(encBytes) != numBytes(self.n)):
        return None
    c = bytesToNumber(encBytes)
    if (c >= self.n):
        return None
    m = self._rawPrivateKeyOp(c)
    decBytes = numberToByteArray(m, numBytes(self.n))
    if ((decBytes[0] != 0) or (decBytes[1] != 2)):
        return None
    for x in range(1, (len(decBytes) - 1)):
        if (decBytes[x] == 0):
            break
    else:
        return None
    return decBytes[(x + 1):]
