#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; | |
} |