26#ifndef WOLF_CRYPT_IDEA_H
27#define WOLF_CRYPT_IDEA_H
38 IDEA_MODULO = 0x10001,
39 IDEA_2EXP16 = 0x10000,
42 IDEA_SK_NUM = (6*IDEA_ROUNDS + 4),
52 word32 reg[IDEA_BLOCK_SIZE /
sizeof(word32)];
53 word32 tmp[IDEA_BLOCK_SIZE /
sizeof(word32)];
54 word16 skey[IDEA_SK_NUM];
58 const byte *iv,
int dir);
62 const byte* in, word32 len);
64 const byte* in, word32 len);
WOLFSSL_API int wc_IdeaSetKey(Idea *idea, const byte *key, word16 keySz, const byte *iv, int dir)
Generate the 52, 16-bit key sub-blocks from the 128 key.
Definition idea.c:118
WOLFSSL_API int wc_IdeaCipher(Idea *idea, byte *out, const byte *in)
Encryption or decryption for a block (64 bits).
Definition idea.c:197
WOLFSSL_API int wc_IdeaCbcDecrypt(Idea *idea, byte *out, const byte *in, word32 len)
Decrypt data using IDEA CBC mode.
Definition idea.c:277
WOLFSSL_API int wc_IdeaCbcEncrypt(Idea *idea, byte *out, const byte *in, word32 len)
Encrypt data using IDEA CBC mode.
Definition idea.c:252
WOLFSSL_API int wc_IdeaSetIV(Idea *idea, const byte *iv)
Sets the IV in an Idea key structure.
Definition idea.c:182