Kotak substitusi merupakan salah satu bagian non-linear dari suatu algoritma
kriptografi. Kotak substitusi pada umumnya mempunyai masukan n bit dan
menghasilkan keluaran m bit. Sebuah kotak substitusi permutasi akan mempunyai
sifat yaitu setiap masukan akan mempunyai tepat satu keluaran dari kotak substitusi.
Kotak substitusi yang digunakan pada algoritma kriptografi, harus dapat menjadi
sebuah fungsi yang baik sebagai salah satu bagian dari algoritma kriptografi yang
baik. Dalam dunia kriptografi, terdapat banyak serangan yang diterapkan pada
algoritma kriptografi untuk memperoleh informasi tertentu dari algoritma kriptografi
tersebut, seperti panjang kunci, atau jumlah ronde. Kotak substitusi sebagai salah satu
fungsi boolean yang digunakan pada algoritma kriptografi harus mempunyai
resistansi terhadap serangan kriptografi seperti kriptanalisis linear, kriptanalisis linear,
atau serangan Differential Power Analysis. Untuk mengukur kerentanan suatu kotak
substitusi terhadap berbagai serangan kriptografi, diperkenalkan beberapa
karakteristik yang perlu diterapkan pada kotak substitusi, yaitu nonlinearity,
differential distribution table, robustness, global avalanche criterion, algebraic
degree, balanceness, serta transparancy order. Kotak substitusi yang dibangkitkan
berdasarkan desain yang baik dan algoritma tertentu akan mempunyai karakteristik
yang berbeda dengan kotak substitusi yang dibangkitkan secara acak tanpa adanya
desain serta algoritma pembangunannya.