Other-Cryptography-YMM#

_mm256_aesenclast_epi128#

Tech:

Other

Category:

Cryptography

Header:

immintrin.h

Searchable:

Other-Cryptography-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m256i a, __m256i RoundKey

Param ETypes:

M128 a, M128 RoundKey

__m256i _mm256_aesenclast_epi128(__m256i a,
                                 __m256i RoundKey)

Intel Description

Perform the last round of an AES encryption flow on data (state) in “a” using the round key in “RoundKey”, and store the results in “dst”.”

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := j*128
        a[i+127:i] := ShiftRows(a[i+127:i])
        a[i+127:i] := SubBytes(a[i+127:i])
        dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:256] := 0

_mm256_aesenc_epi128#

Tech:

Other

Category:

Cryptography

Header:

immintrin.h

Searchable:

Other-Cryptography-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m256i a, __m256i RoundKey

Param ETypes:

M128 a, M128 RoundKey

__m256i _mm256_aesenc_epi128(__m256i a, __m256i RoundKey);

Intel Description

Perform one round of an AES encryption flow on data (state) in “a” using the round key in “RoundKey”, and store the results in “dst”.”

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := j*128
        a[i+127:i] := ShiftRows(a[i+127:i])
        a[i+127:i] := SubBytes(a[i+127:i])
        a[i+127:i] := MixColumns(a[i+127:i])
        dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:256] := 0

_mm256_aesdeclast_epi128#

Tech:

Other

Category:

Cryptography

Header:

immintrin.h

Searchable:

Other-Cryptography-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m256i a, __m256i RoundKey

Param ETypes:

M128 a, M128 RoundKey

__m256i _mm256_aesdeclast_epi128(__m256i a,
                                 __m256i RoundKey)

Intel Description

Perform the last round of an AES decryption flow on data (state) in “a” using the round key in “RoundKey”, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := j*128
        a[i+127:i] := InvShiftRows(a[i+127:i])
        a[i+127:i] := InvSubBytes(a[i+127:i])
        dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:256] := 0

_mm256_aesdec_epi128#

Tech:

Other

Category:

Cryptography

Header:

immintrin.h

Searchable:

Other-Cryptography-YMM

Register:

YMM 256 bit

Return Type:

__m256i

Param Types:

__m256i a, __m256i RoundKey

Param ETypes:

M128 a, M128 RoundKey

__m256i _mm256_aesdec_epi128(__m256i a, __m256i RoundKey);

Intel Description

Perform one round of an AES decryption flow on data (state) in “a” using the round key in “RoundKey”, and store the results in “dst”.

Intel Implementation Psudeo-Code

FOR j := 0 to 1
        i := j*128
        a[i+127:i] := InvShiftRows(a[i+127:i])
        a[i+127:i] := InvSubBytes(a[i+127:i])
        a[i+127:i] := InvMixColumns(a[i+127:i])
        dst[i+127:i] := a[i+127:i] XOR RoundKey[i+127:i]
ENDFOR
dst[MAX:256] := 0