X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Faes%2Fao_aes.c;h=71ffadb19e658cccb72826d49aeddc1b51d25601;hp=4977aaf81158408aff72e02ad5641a22de919f83;hb=0488cd9cffc837e99490a0761216bbc5847ff400;hpb=bd02349111ae0f39b320e6a10a330051ddc39fdf diff --git a/src/aes/ao_aes.c b/src/aes/ao_aes.c index 4977aaf8..71ffadb1 100644 --- a/src/aes/ao_aes.c +++ b/src/aes/ao_aes.c @@ -11,7 +11,9 @@ * Vincent Rijmen */ +#ifndef AO_AES_TEST #include +#endif #include #include "ao_aes_int.h" @@ -193,6 +195,7 @@ static inline void xAddInvMix(word32 res[MAXBC], word32 a[MAXBC], #endif /* code included for reference */ +static int xrijndaelKeySched(word32 key[], int keyBits, int blockBits, roundkey *rkk) { @@ -280,6 +283,7 @@ int xrijndaelKeySched(word32 key[], int keyBits, int blockBits, /* Encryption of one block. */ +static void xrijndaelEncrypt(word32 block[], roundkey *rkk) { word32 block2[MAXBC]; /* hold intermediate result */ @@ -306,6 +310,7 @@ void xrijndaelEncrypt(word32 block[], roundkey *rkk) xKeyAddition(block, block2, rp, BC); } +static void xrijndaelDecrypt(word32 block[], roundkey *rkk) { word32 block2[MAXBC]; /* hold intermediate result */ @@ -349,6 +354,7 @@ void xrijndaelDecrypt(word32 block[], roundkey *rkk) } uint8_t ao_aes_mutex; +static uint8_t key[16]; static roundkey rkk; static uint8_t iv[16]; @@ -362,7 +368,8 @@ ao_aes_set_mode(enum ao_aes_mode mode) void ao_aes_set_key(__xdata uint8_t *in) { - xrijndaelKeySched((word32 *) in, 128, 128, &rkk); + memcpy(key, in, 16); + xrijndaelKeySched((word32 *) key, 128, 128, &rkk); } void