docs: def decrypt(self, key, data, mode, padding):
          # pylint: disable=unused-argument,no-self-use
          """Decrypt data using the supplied values.
  
          :param bytes key: Loaded decryption key
          :param bytes data: IV prepended to encrypted data
          :param JavaMode mode: Decryption mode to use (not used by :class:`JavaAsymmetricEncryptionAlgorithm`)
          :param JavaPadding padding: Padding mode to use
          :returns: Decrypted data
          :rtype: bytes
          """
          if hasattr(key, "public_bytes"):
              raise NotImplementedError('"decrypt" is not supported by public keys')
          try:
              return key.decrypt(data, padding.build())
          except Exception:
              error_message = "Decryption failed"
              _LOGGER.exception(error_message)
              raise DecryptionError(error_message)