SubBytes

E663913

SubBytes is a non-linear byte substitution step in the AES encryption algorithm that applies an S-box to each byte of the state to provide confusion and resist cryptanalysis.

Jump to: Statements Referenced by

Statements (43)

Predicate Object
instanceOf AES transformation step
non-linear substitution layer
affects all 16 bytes of AES-128 state per round
all 16 bytes of AES-192 state per round
all 16 bytes of AES-256 state per round
appliedIndependentlyTo each state byte
appliedPerRound once per AES round except key schedule
appliesFunction byte-wise S-box lookup
appliesTo each byte of the AES state
canBeImplementedAs combinational logic in hardware
category substitution-permutation network component
contributesTo non-linearity of AES
resistance to differential cryptanalysis
resistance to linear cryptanalysis
definedIn FIPS 197 NERFINISHED
designedBy AES designers Joan Daemen and Vincent Rijmen NERFINISHED
field GF(2^8)
follows AddRoundKey in initial round structure
hasInverseOperation InvSubBytes
hasProperty non-linear
hasPurpose provide confusion
resist cryptanalysis
inputType AES state byte
inverseUses inverse AES S-box
isBijective true
isKeyIndependent true
isTableBasedIn most software implementations
operatesOn 8-bit bytes
outputType substituted AES state byte
partOf AES encryption round
Advanced Encryption Standard NERFINISHED
precedes ShiftRows
roundType data transformation step
SBoxConstruction multiplicative inverse in GF(2^8) followed by affine transformation
SBoxInputWidth 8 bits
SBoxOutputWidth 8 bits
SBoxSize 256 entries
securityGoal eliminate simple algebraic relations between plaintext, ciphertext, and key
standardizedBy NIST NERFINISHED
usedIn AES-128 NERFINISHED
AES-192 NERFINISHED
AES-256 NERFINISHED
uses AES S-box NERFINISHED

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

MixColumns follows SubBytes
AddRoundKey usedWith SubBytes