roduced that reorders the bytes. Mix column, where this last result is now multiplied by the 4X4 matrix: This is done using Galois field multiplication techniques in GF[28], which means that the bytes are treated as polynomials and not as numbers. If more than 8 bits are produced by some multiplica- tion, the result is XORed with Rijndael's generating polynomial of the chosen Galois field-that the bit sequence 100011011. Add round key, where the subkey used in the current round is XORed with the result of the previ- ous operation. Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright © 2004 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use as given at the website. SECURITY COPROCESSORS 380 NETWORK PROCESSORS We will not discuss the exact key schedule generation for Rijndael here as it can be found in the suggested references. Rijndael has been designed to take advantage of the latest microprocessor architectures. It can be easily and inexpensively implemented to run even on small processors such as in smart cards. Several publicly disclosed hardware designs enable the algorithm to sustain a variety of multigigabits-per-second-throughput (albeit not in smart cards). So far our discussion has presented the types of questions that network equipment vendor (NEV) designers should ask security co-processor vendors when probing about the internals of an imple- mentation. Duplicate implementations are available to support the encrypting and decrypting of full- duplex operations. Designs are also available where one fast cryptographic module that is alternatively switched between both directions is used on a time-shared basis. The trade-off will be the cost of implementation as opposed to the speed of operations and throughput. In high-speed network-pro- cessing designs, duplicate (if not multiple) cryptographic modules are expected for the symmetric algorithm. Different cryptographic modes and combinations of different key sizes (and i