In general, an S-Box takes some number of input bits, "m", and transforms them into some number of output bits, "n": an "m"×"n" S-Box can be implemented as a lookup table with 2 words of "n" bits each. Fixed tables are normally used, as in the Data Encryption Standard (DES), but in some ciphers the tables are generated dynamically from the key; e.g. the Blowfish and the Twofish encryption algorithms. Bruce Schneier describes IDEA's modular multiplication step as a key-dependent S-Box.