a
This commit is contained in:
31
libsec/desmodes.c
Normal file
31
libsec/desmodes.c
Normal file
@ -0,0 +1,31 @@
|
||||
#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;
|
||||
}
|
Reference in New Issue
Block a user