diff options
-rw-r--r-- | include/aesni/data.h | 19 | ||||
-rw-r--r-- | src/common.c | 21 |
2 files changed, 15 insertions, 25 deletions
diff --git a/include/aesni/data.h b/include/aesni/data.h index 4ed9f9f..1a192fc 100644 --- a/include/aesni/data.h +++ b/include/aesni/data.h @@ -12,6 +12,11 @@ typedef __m128i AesBlock128; +static __inline AesBlock128 __fastcall make_aes_block128(int hi3, int hi2, int lo1, int lo0) +{ + return _mm_set_epi32(hi3, hi2, lo1, lo0); +} + typedef struct { AesBlock128 hi; @@ -19,6 +24,11 @@ typedef struct } AesBlock192; +static __inline AesBlock192 __fastcall make_aes_block192(int hi5, int hi4, int lo3, int lo2, int lo1, int lo0) +{ + return (AesBlock192) { .hi = make_aes_block128(0, 0, hi5, hi4), .lo = make_aes_block128(lo3, lo2, lo1, lo0) }; +} + typedef struct { AesBlock128 hi; @@ -26,6 +36,11 @@ typedef struct } AesBlock256; +static __inline AesBlock256 __fastcall make_aes_block256(int hi7, int hi6, int hi5, int hi4, int lo3, int lo2, int lo1, int lo0) +{ + return (AesBlock256) { .hi = make_aes_block128(hi7, hi6, hi5, hi4), .lo = make_aes_block128(lo3, lo2, lo1, lo0) }; +} + typedef struct { AesBlock128 keys[11]; @@ -57,10 +72,6 @@ static __inline AesBlock128 __fastcall aes128_be2le(AesBlock128 block) return aes128_le2be(block); } -AesBlock128 make_aes_block128(int hi3, int hi2, int lo1, int lo0); -AesBlock192 make_aes_block192(int hi5, int hi4, int lo3, int lo2, int lo1, int lo0); -AesBlock256 make_aes_block256(int hi7, int hi6, int hi5, int hi4, int lo3, int lo2, int lo1, int lo0); - typedef struct { char str[33]; } AesBlockString128; typedef struct { char str[49]; } AesBlockString192; typedef struct { char str[65]; } AesBlockString256; diff --git a/src/common.c b/src/common.c index aee3a87..bd628d5 100644 --- a/src/common.c +++ b/src/common.c @@ -13,27 +13,6 @@ #include <stdio.h> #include <string.h> -AesBlock128 make_aes_block128(int hi3, int hi2, int lo1, int lo0) -{ - return _mm_set_epi32(hi3, hi2, lo1, lo0); -} - -AesBlock192 make_aes_block192(int hi5, int hi4, int lo3, int lo2, int lo1, int lo0) -{ - AesBlock192 result; - result.hi = make_aes_block128( 0, 0, hi5, hi4); - result.lo = make_aes_block128(lo3, lo2, lo1, lo0); - return result; -} - -AesBlock256 make_aes_block256(int hi7, int hi6, int hi5, int hi4, int lo3, int lo2, int lo1, int lo0) -{ - AesBlock256 result; - result.hi = make_aes_block128(hi7, hi6, hi5, hi4); - result.lo = make_aes_block128(lo3, lo2, lo1, lo0); - return result; -} - AesBlockString128 format_aes_block128(AesBlock128* block) { #ifdef AESNI_FIPS_STYLE_IO_BY_DEFAULT |