aese

AES Encrypt

AESE <Vd>.<T>, <Vn>.<T>

Performs one round of AES encryption.

Pseudocode Operation

Vd ← AES_EncryptRound(Vd, Vn)

Example

AESE v0.4s.T, v1.4s.T

Encoding

Binary Layout
01001110
31:24
00
23:22
101000010
21:13
0
12
10
11:10
Rn
9:5
Rd
4:0
 
Format Crypto
Opcode 0x4E284800
Extension Crypto

Operands

  • Vd
    Data
  • Vn
    Key

Related

Other forms of aese

  • aese AES Encrypt (A32)
  • aese AES Encrypt (A64)

More in Crypto

Reference

Instruction Forms

Encoding Instruction ISA Bit pattern
0x4E284800 AESE <Vd>.16B, <Vn>.16B A64 01001110 | 00 | 101000010 | 0 | 10 | Rn | Rd
0x4522E000 AESE <Zdn>.B, <Zdn>.B, <Zm>.B A64 01000101 | 0 | 0 | 10001 | 0 | 11100 | 0 | Zm | Zdn

Description

AES single round encryption.

Operation

AArch64.CheckFPAdvSIMDEnabled();

bits(128) operand1 = V[d, 128];
bits(128) operand2 = V[n, 128];
bits(128) result;
result = operand1 EOR operand2;
result = AESSubBytes(AESShiftRows(result));

V[d, 128] = result;