/* * Copyright 1987, 1988 by the Massachusetts Institute of Technology. * * For copying and distribution information, please see the file * . * * Private include file for the Data Encryption Standard library. */ /* only do the whole thing once */ #ifndef DES_INTERNAL_DEFS #define DES_INTERNAL_DEFS #include "conf.h" /* * number of iterations of the inner * loop of the DES algorithm. The * standard is 16, but in case that is * too slow, we might do less. Of * course, less also means less * security. */ #define AUTH_DES_ITER 16 #ifdef BITS32 /* these are for 32 bit machines */ typedef struct { unsigned b0:6; unsigned b1:6; unsigned b2:6; unsigned b3:6; unsigned b4:6; unsigned b5:2; } sbox_in_a; typedef struct { unsigned b5:4; unsigned b6:6; unsigned b7:6; } sbox_in_b; typedef struct { unsigned b0:4; unsigned b1:4; unsigned b2:4; unsigned b3:4; unsigned b4:4; unsigned b5:4; unsigned b6:4; unsigned b7:4; } sbox_out; #else /* BITS32 */ /* for sixteen bit machines */ typedef struct { unsigned b0:6; unsigned b1:6; unsigned b2:4; } sbox_in_16_a; typedef struct { unsigned b2:2; unsigned b3:6; unsigned b4:6; unsigned b5:2; } sbox_in_16_b; typedef struct { unsigned b5:4; unsigned b6:6; unsigned b7:6; } sbox_in_16_c; typedef struct { unsigned b0:4; unsigned b1:4; unsigned b2:4; unsigned b3:4; unsigned b4:4; unsigned b5:4; unsigned b6:4; unsigned b7:4; } sbox_out; #endif /* BITS32 */ #endif /* DES_INTERNAL_DEFS */