 it to the other party. Because the second device also generated the same session key S, it will be able to decrypt the message and recover the underlying symmetric key K. They are now both in position to engage into secure communication using their algorithm of choice, such as Triple DES, Rijndael, and SO on. The possibly of a man-in-the-middle attack must be eliminated, which in some exaggerated and highly improbable but quite possible cases can make user A believe that it is communicating with user B when user A is actually communicating with attacker C instead and make user B believe that it is communicating with user A when in fact user B is communicating with attacker C instead. The idea is shown in the following, where users A and B are led to believe that they are communicating with each other when they are actually not. The danger in this scenario is that the attacker negotiates a different DH session with each user. To thwart such an attack, users A and B must digitally sign the public keys A and B that they send out to the other party. Because attacker C cannot forge the signatures, the attack fails. The DH protocol handshake will go through only if the signatures are verified by the respective recipients. From a computational standpoint, we will simply mention that on a specific hardware platform, doubling the DH key size from 512 to 1,024 bits almost quadruples the time needed per operation. A significant difference appears in performance when the protocol is executed in hardware with assist units or purely in software. For example, modular exponentiation is done as a series of successive 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 382 NETWORK PROCESSORS multiplications. The most reputable algorithm for modular multiplication is the Montgomery algorithm. Numerous descriptions of circuit architectures th