/* C K _ D E S . C - libDES interface for Kermit 95" Copyright (C) 1998, 2001, Trustees of Columbia University in the City of New York. Author: Jeffrey E Altman (jaltman@secure-endpoints.com) */ /* This file contains wrappers so that the following functions will be imported into the k95crypt.dll/k2crypt.dll files in such a form that they can be re-exported to k95.exe/k2.exe. This subset of the DES library is needed to provide DES based Kerberos authentication. */ #ifdef LIBDES /* The following is specific to my installation, but since I'm the only one */ /* that uses this file ... */ #include "ckcdeb.h" #include "ckuath.h" #define CK_DES_C #include "ckuat2.h" #ifdef NT #ifdef _M_ALPHA #include #else #include #endif #else #include #endif int libdes_random_key(des_cblock B) { des_random_key(B); return(0); } void libdes_random_seed(des_cblock B) { des_random_seed(B); } void libdes_key_sched(des_cblock * B, des_key_schedule S) { des_key_sched(B,S); } void libdes_ecb_encrypt(des_cblock * B1, des_cblock * B2, des_key_schedule S, int n) { des_ecb_encrypt(B1,B2,S,n); } int libdes_string_to_key(char * s, des_cblock * B) { des_string_to_key(s,B); return(0); } void libdes_fixup_key_parity(des_cblock * B) { des_set_odd_parity(B); } void libdes_pcbc_encrypt(des_cblock *input, des_cblock *output, long length, des_key_schedule schedule, des_cblock *ivec, int enc) { des_pcbc_encrypt(input,output,length,schedule,ivec,enc); } void libdes_dll_init(struct _crypt_dll_init * init) { init->p_install_funcs("libdes_random_key",libdes_random_key); init->p_install_funcs("libdes_random_seed",libdes_random_seed); init->p_install_funcs("libdes_key_sched",libdes_key_sched); init->p_install_funcs("libdes_ecb_encrypt",libdes_ecb_encrypt); init->p_install_funcs("libdes_string_to_key",libdes_string_to_key); init->p_install_funcs("libdes_fixup_key_parity",libdes_fixup_key_parity); init->p_install_funcs("libdes_pcbc_encrypt",libdes_pcbc_encrypt); } #endif /* LIBDES */