emp-toolkit
aes.h File Reference
#include "block.h"

Go to the source code of this file.

Classes

struct  AES_KEY
 

Macros

#define EXPAND_ASSIST(v1, v2, v3, v4, shuff_const, aes_const)
 

Macro Definition Documentation

§ EXPAND_ASSIST

#define EXPAND_ASSIST (   v1,
  v2,
  v3,
  v4,
  shuff_const,
  aes_const 
)
Value:
v2 = _mm_aeskeygenassist_si128(v4,aes_const); \
v3 = _mm_castps_si128(_mm_shuffle_ps(_mm_castsi128_ps(v3), \
_mm_castsi128_ps(v1), 16)); \
v1 = _mm_xor_si128(v1,v3); \
v3 = _mm_castps_si128(_mm_shuffle_ps(_mm_castsi128_ps(v3), \
_mm_castsi128_ps(v1), 140)); \
v1 = _mm_xor_si128(v1,v3); \
v2 = _mm_shuffle_epi32(v2,shuff_const); \
v1 = _mm_xor_si128(v1,v2)