code: def des_cbc_pkcs5_decrypt(key, data, iv):
      
  
      if len(key) != 8:
          raise ValueError(pretty_message(
              '''
              key must be 8 bytes (56 bits + 8 parity bits) long - is %s
              ''',
              len(key)
          ))
  
      if len(iv) != 8:
          raise ValueError(pretty_message(
              '''
              iv must be 8 bytes long - is %s
              ''',
              len(iv)
          ))
  
      return _decrypt(Security.kSecAttrKeyTypeDES, key, data, iv, Security.kSecPaddingPKCS5Key)
docs: Decrypts DES ciphertext using a 56 bit key
  
      :param key:
          The encryption key - a byte string 8 bytes long (includes error correction bits)
  
      :param data:
          The ciphertext - a byte string
  
      :param iv:
          The initialization vector used for encryption - a byte string
  
      :raises:
          ValueError - when any of the parameters contain an invalid value
          TypeError - when any of the parameters are of the wrong type
          OSError - when an error is returned by the OS crypto library
  
      :return:
          A byte string of the plaintext