/* Perform a DES encryption with a 16-byte key and 8-byte data item. It's in fact 3 susbsequent call to crypt_des_ecb with a 7-byte key. Missing bytes for the key are replaced by 0; Returns output in response, which is expected to be 24 bytes.  */
static int crypt_des_ecb_long(guint8 *response, const guint8 *key, const guint8 *data)
/* Perform a DES encryption with a 16-byte key and 8-byte data item. It's in fact 3 susbsequent call to crypt_des_ecb with a 7-byte key. Missing bytes for the key are replaced by 0; Returns output in response, which is expected to be 24 bytes.  */
static int crypt_des_ecb_long(guint8 *response, const guint8 *key, const guint8 *data)
{
  guint8 pw21[21];
  memset(pw21, 0, sizeof(pw21));
  memcpy(pw21, key, 16);
  memset(response, 0, 24);
  crypt_des_ecb(response, data, pw21, 1);
  crypt_des_ecb(response + 8, data, pw21 + 7, 1);
  crypt_des_ecb(response + 16, data, pw21 + 14, 1);
  return 1;
}