xntlm-des

xntlm-des — DES encryption/decryption

Synopsis




typedef     XNTLM_DES_KS;
void        xntlm_deskey                    (XNTLM_DES_KS ks,
                                             unsigned char *key,
                                             int decrypt);
void        xntlm_des                       (XNTLM_DES_KS ks,
                                             unsigned char block[8]);

Description

These routines implement DES encryption and decryption. They are here primarly for xntlm-internal use, but can also be used by other code.

Details

XNTLM_DES_KS

typedef guint32 XNTLM_DES_KS[16][2];

This represents a DES key schedule. After initializing it with xntlm_deskey(), you can then pass it to xntlm_des() as many time as you need.


xntlm_deskey ()

void        xntlm_deskey                    (XNTLM_DES_KS ks,
                                             unsigned char *key,
                                             int decrypt);

Sets up ks based on key. You must call this to initialize the key schedule before calling xntlm_des().

ks : key schedule to fill in
key : the encryption key
decrypt : 0 for encryption, 1 for decryption

xntlm_des ()

void        xntlm_des                       (XNTLM_DES_KS ks,
                                             unsigned char block[8]);

DES encrypts/decrypts (according to ks) a single block in ECB mode.

ks : the key schedule to use
block : the block of data to encrypt or decrypt