X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=mugi%2Fmugi.c;h=c90b1a1ea11ed4f522b2d50e3a8c02a47c73cdbb;hb=7e757a92eda4265e5a167b6ea9c0461ee06c453f;hp=87adc0116402e698abd4e88888618b344a60cd32;hpb=7b5401ab9ce23a5da1de8b6c7de3a1aa20ac4cf8;p=avr-crypto-lib.git diff --git a/mugi/mugi.c b/mugi/mugi.c index 87adc01..c90b1a1 100644 --- a/mugi/mugi.c +++ b/mugi/mugi.c @@ -29,12 +29,12 @@ #include #include #include -#include "aes/aes_sbox.h" +#include "aes_sbox.h" #include "mugi.h" -#include "gf256mul/gf256mul.h" +#include "gf256mul.h" /* -#include "test_src/cli.h" / * only for debugging * / +#include "cli.h" / * only for debugging * / void dump_mugi_ctx(mugi_ctx_t* ctx){ uint8_t i; @@ -65,16 +65,19 @@ void dump_mugi_ctx(mugi_ctx_t* ctx){ #define GF256MUL_2(a) (gf256mul(2, (a), 0x1b)) uint64_t changeendian64(uint64_t a){ - uint8_t r[8]; - r[0] = ((uint8_t*)&a)[7]; - r[1] = ((uint8_t*)&a)[6]; - r[2] = ((uint8_t*)&a)[5]; - r[3] = ((uint8_t*)&a)[4]; - r[4] = ((uint8_t*)&a)[3]; - r[5] = ((uint8_t*)&a)[2]; - r[6] = ((uint8_t*)&a)[1]; - r[7] = ((uint8_t*)&a)[0]; - return *((uint64_t*)r); + union { + uint8_t v8[8]; + uint64_t v64; + } r; + r.v8[0] = ((uint8_t*)&a)[7]; + r.v8[1] = ((uint8_t*)&a)[6]; + r.v8[2] = ((uint8_t*)&a)[5]; + r.v8[3] = ((uint8_t*)&a)[4]; + r.v8[4] = ((uint8_t*)&a)[3]; + r.v8[5] = ((uint8_t*)&a)[2]; + r.v8[6] = ((uint8_t*)&a)[1]; + r.v8[7] = ((uint8_t*)&a)[0]; + return r.v64; } static