| #include "os.h" | 
 | #include <libsec.h> | 
 |  | 
 | /* | 
 |  *  these routines use the 64bit format for | 
 |  *  DES keys. | 
 |  */ | 
 |  | 
 | void | 
 | setupDESstate(DESstate *s, uchar key[8], uchar *ivec) | 
 | { | 
 | 	memset(s, 0, sizeof(*s)); | 
 | 	memmove(s->key, key, sizeof(s->key)); | 
 | 	des_key_setup(key, s->expanded); | 
 | 	if(ivec) | 
 | 		memmove(s->ivec, ivec, 8); | 
 | 	s->setup = 0xdeadbeef; | 
 | } | 
 |  | 
 | void | 
 | setupDES3state(DES3state *s, uchar key[3][8], uchar *ivec) | 
 | { | 
 | 	memset(s, 0, sizeof(*s)); | 
 | 	memmove(s->key, key, sizeof(s->key)); | 
 | 	des_key_setup(key[0], s->expanded[0]); | 
 | 	des_key_setup(key[1], s->expanded[1]); | 
 | 	des_key_setup(key[2], s->expanded[2]); | 
 | 	if(ivec) | 
 | 		memmove(s->ivec, ivec, 8); | 
 | 	s->setup = 0xdeadbeef; | 
 | } |