desmodes.c - vx32 - Local 9vx git repository for patches.
 (HTM) git clone git://r-36.net/vx32
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       desmodes.c (647B)
       ---
            1 #include "os.h"
            2 #include "libsec.h"
            3 
            4 /*
            5  *  these routines use the 64bit format for
            6  *  DES keys.
            7  */
            8 
            9 void
           10 setupDESstate(DESstate *s, uchar key[8], uchar *ivec)
           11 {
           12         memset(s, 0, sizeof(*s));
           13         memmove(s->key, key, sizeof(s->key));
           14         des_key_setup(key, s->expanded);
           15         if(ivec)
           16                 memmove(s->ivec, ivec, 8);
           17         s->setup = 0xdeadbeef;
           18 }
           19 
           20 void
           21 setupDES3state(DES3state *s, uchar key[3][8], uchar *ivec)
           22 {
           23         memset(s, 0, sizeof(*s));
           24         memmove(s->key, key, sizeof(s->key));
           25         des_key_setup(key[0], s->expanded[0]);
           26         des_key_setup(key[1], s->expanded[1]);
           27         des_key_setup(key[2], s->expanded[2]);
           28         if(ivec)
           29                 memmove(s->ivec, ivec, 8);
           30         s->setup = 0xdeadbeef;
           31 }