diff options
Diffstat (limited to 'test/monniaux/idea/idea.h')
-rw-r--r-- | test/monniaux/idea/idea.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/monniaux/idea/idea.h b/test/monniaux/idea/idea.h new file mode 100644 index 00000000..41521b9a --- /dev/null +++ b/test/monniaux/idea/idea.h @@ -0,0 +1,30 @@ +#ifndef _IDEA_DEFINED + +#define _IDEA_DEFINED + +/* Defines for the PGP-style types used in IDEA.C */ + +#include <stdint.h> +#define byte uint8_t +#define word16 uint16_t +#define word32 uint32_t + +/* Macros from PGP */ + +#define burn(x) memset( x, 0, sizeof( x ) ) + +/* IDEA algorithm constants */ + +#define IDEAKEYSIZE 16 +#define IDEABLOCKSIZE 8 + +#define IDEAROUNDS 8 +#define IDEAKEYLEN ( 6 * IDEAROUNDS + 4 ) + +/* Routines used to implement the IDEA encryption */ + +void ideaExpandKey( byte const *userkey, word16 *EK ); +void ideaInvertKey( word16 const *EK, word16 DK[IDEAKEYLEN] ); +void ideaCipher( byte const (inbuf[8]), byte (outbuf[8]), word16 const *key ); + +#endif /* _IDEA_DEFINED */ |