Short for substitution box; a common design element in iterated block ciphers. S-boxes are usually invertible nonlinear functions that are carefully chosen to make differential cryptanalysis, linear cryptanalysis, and other cryptanalytic attacks as impractical as possible. They perform a nonlinear substitution of their input and may be fixed with some mysterious values (as in DES) or depend on the input keys (as in blowfish and twofish).