123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /*
- 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. The C-Kermit software may not be, in whole or in part, licensed or
- sold for profit as a software product itself, nor may it be included in or
- distributed with commercial products or otherwise distributed by commercial
- concerns to their clients or customers without written permission of the
- Office of Kermit Development and Distribution, Columbia University. This
- copyright notice must not be removed, altered, or obscured.
- 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 <c:\srp\des\des.h>
- #else
- #include <c:\src\srp\des\des.h>
- #endif
- #else
- #include <c:\srp\des\des.h>
- #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 */
|