]> git.cryptolib.org Git - arm-crypto-lib.git/blobdiff - aes/aes_keyschedule.c
a lot of fixing ...
[arm-crypto-lib.git] / aes / aes_keyschedule.c
index 2c7953ac8975e73de969b0063f397110239afbec..30fac7def85d6205ee0de91be058649663ecbfd2 100644 (file)
@@ -48,7 +48,7 @@ uint8_t rc_tab[] = { 0x01, 0x02, 0x04, 0x08,
 void aes_init(const void* key, uint16_t keysize_b, aes_genctx_t* ctx){
        uint8_t hi,i,nk, next_nk;
        uint8_t rc=0;
-       union {
+       union __attribute__((packed)) {
                uint32_t v32;
                uint8_t  v8[4];
        } tmp;
@@ -56,10 +56,10 @@ void aes_init(const void* key, uint16_t keysize_b, aes_genctx_t* ctx){
        hi=4*(nk+6+1);
        memcpy(ctx, key, keysize_b/8);
        next_nk = nk;
-       for(i=nk;i<hi;++i){
+       for(i=nk; i<hi; ++i){
                tmp.v32 = ((uint32_t*)(ctx->key[0].ks))[i-1];
-               if(i!=next_nk){
-                       if(nk==8 && i%8==4){
+               if(i != next_nk){
+                       if(nk == 8 && i % 8 == 4){
                                tmp.v8[0] = aes_sbox[tmp.v8[0]];
                                tmp.v8[1] = aes_sbox[tmp.v8[1]];
                                tmp.v8[2] = aes_sbox[tmp.v8[2]];