ne. If no one tampered with the transmitted data, the hashes should be identical. Of course, if the information must be kept confidential, encryption must be used in addition to hashing. This eliminates the potential danger that someone may intercept the transmission, alter the actual content, calculate a new hash to replace the old one, attach the new hash to the new altered transmission, and then forward the new data-plus-hash combination to the unsuspecting recipient. 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 374 NETWORK PROCESSORS The converse argument also works. Even if the data are not confidential, both encryption and hash- ing must be used to protect against the stipulated attack. For example, payment clearinghouses receive millions of short messages daily from financial institutions defining different combinations of pay- ments of specific amounts from a debit account to a credit account. An attacker does not necessarily intend to steal information or money. In this example, he or she can simply wreak havoc on the oper- ation by completely destroying the reliability of the transmission where amounts of money are tematically erred and accounts are messed up without the attacker having direct monetary advantage. Therefore, hashing must be intimately combined with encryption even when confidentiality and secrecy are not required. Message Authentication Codes (MACs) By appending a secret key that is mutually known to both communicating parties next to the infor- mation bitstream input of a hashing function, a hash is created (also known as keyed hash) that can only be verified by the recipient if he or she is in possession of this secret key. This technique is called message authentication code (MAC) or data authentication code (DAC). In the case of an entire bit- stream of substantial length, the stream is 