An SP-network, or substitution-permutation network, is a series of linked mathematical operations used in block cipher algorithms such as DES or AES.

These networks consist of S-boxes and P-boxes that transform blocks of input bits into output bits. It is common for these transformations to be operations that are efficient to perform in hardware, such as exclusive or.

S-boxes substitute or transform input bits into output bits. A good S-box will have the property that changing one input bit will change about half of the output bits. It will also have the property that each output bit will depend on every input bit.

P-boxes permute or transpose bits across S-box inputs.