 process must occur. User A starts by using user B's publicly known (or previously and openly shared) public key KpubB and encrypts the plaintext content of the traffic that user A wants to transmit to user B. Once user B receives the ciphertext, it decrypts it by using its own private key KprivB, which is exclusively in user B's possession). This is the only way to decrypt traffic that is encrypted by user B's public key. This assures user A that only user B can decrypt the traffic. Inversing the flow direction, if user B needs to respond to user A using the same method, user B must use user A's openly known public key KpubA order to encrypt its message to user A and then user B transmits it. Only user A can decrypt this arriv- ing ciphertext, as it is in possession of the private key KprivA needed to decrypt this traffic. Because a completely different key is used by the transmitter for enciphering than the key that is used at the receiver for deciphering, the public-key cryptography realm is also known as asymmetric- key cryptography. All currently known public-key cryptography techniques are extremely slow computationally. One public-key technique may have advantages over another, such as the size of the encryption keys or the computation time needed to perform operations. However, the common characteristic of all public- key cryptographic techniques is that they are much slower than symmetric encryption techniques. It is surprising how many people seem to be unaware of that fact. This difference in speed is the fundamental reason a two-layer cryptographic approach is usually used in secure communication sessions: Private symmetric-key cryptography algorithms are used at the bottom layer to protect the trans- mitted content. 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 NETWORK PROCESSORS Public-key cryptography a