1*9b943567SDavid du Colombier #include "../lib9.h" 2*9b943567SDavid du Colombier #include "../libsec/libsec.h" 3*9b943567SDavid du Colombier 4*9b943567SDavid du Colombier /* 5*9b943567SDavid du Colombier * these routines use the 64bit format for 6*9b943567SDavid du Colombier * DES keys. 7*9b943567SDavid du Colombier */ 8*9b943567SDavid du Colombier 9*9b943567SDavid du Colombier void 10*9b943567SDavid du Colombier setupDESstate(DESstate *s, uchar key[8], uchar *ivec) 11*9b943567SDavid du Colombier { 12*9b943567SDavid du Colombier memset(s, 0, sizeof(*s)); 13*9b943567SDavid du Colombier memmove(s->key, key, sizeof(s->key)); 14*9b943567SDavid du Colombier des_key_setup(key, s->expanded); 15*9b943567SDavid du Colombier if(ivec) 16*9b943567SDavid du Colombier memmove(s->ivec, ivec, 8); 17*9b943567SDavid du Colombier s->setup = 0xdeadbeef; 18*9b943567SDavid du Colombier } 19*9b943567SDavid du Colombier 20*9b943567SDavid du Colombier void 21*9b943567SDavid du Colombier setupDES3state(DES3state *s, uchar key[3][8], uchar *ivec) 22*9b943567SDavid du Colombier { 23*9b943567SDavid du Colombier memset(s, 0, sizeof(*s)); 24*9b943567SDavid du Colombier memmove(s->key, key, sizeof(s->key)); 25*9b943567SDavid du Colombier des_key_setup(key[0], s->expanded[0]); 26*9b943567SDavid du Colombier des_key_setup(key[1], s->expanded[1]); 27*9b943567SDavid du Colombier des_key_setup(key[2], s->expanded[2]); 28*9b943567SDavid du Colombier if(ivec) 29*9b943567SDavid du Colombier memmove(s->ivec, ivec, 8); 30*9b943567SDavid du Colombier s->setup = 0xdeadbeef; 31*9b943567SDavid du Colombier } 32