AEAD(AES-GCM, ChaCha20-Poly1305)는 따로 다룰 예정


_mm_aeskeygenassist_si128()를 사용한다.0x0c)가 padding byte의 값으로 설정된다.



| Instructions | Instruction Description |
|---|---|
| AESENC | Perform one round of an AES encryption flow |
| AESENCLAST | Perform the last round of an AES encryption flow |
| AESDEC | Perform one round of an AES decryption flow |
| AESDECLAST | Perform the last round of an AES decryption flow |
| AESKEYGENASSIST | Assist in AES round key generation |
| AESIMC | Assist in AES decryption round key generation. |
wmmintrin.h를 포함하고, 컴파일 시 -maes 플래그를 줘야 한다.| Function Prototype | Description |
|---|---|
__m128i _mm_aesdec_si128 (__m128i a, __m128i RoundKey) | AES 라운드의 한 단계를 역순으로 수행 |
__m128i _mm_aesdeclast_si128 (__m128i a, __m128i RoundKey) | 마지막 AES 라운드를 역순으로 수행 |
__m128i _mm_aesenc_si128 (__m128i a, __m128i RoundKey) | AES 라운드의 한 단계를 수행 |
__m128i _mm_aesenclast_si128 (__m128i a, __m128i RoundKey) | 마지막 AES 라운드를 수행 |
__m128i _mm_aesimc_si128 (__m128i a) | AES Inverse Mix Columns 연산을 수행 |
__m128i _mm_aeskeygenassist_si128 (__m128i a, const int imm8) | AES 키 생성을 보조하는 데 사용 |