 text file) that is first encrypted by software tools and then transmitted because this is material that can usually be secured with an acceptable delay in time. Therefore, depending on the availability of cryptographic tools, the user can often engage other cryptographic techniques and, more specifically, techniques that belong to the realm of public-key cryptography. Public-Key Cryptography The need to transfer the encryption and decryption key from the transmitter to the intended receiver securely has always been a weak point of symmetric encryption. The encryption algorithm may powerful, but managing the key distribution is extremely tricky. Critical defense links have been com- promised historically not by attacking the encryption algorithm or by trying to identify weaknesses in its design, but by compromising the safety of the courier that was entrusted to transport the encryp- tion key to the recipient. If an adversary must absolutely decrypt an important communications ses- sion, it is infinitely easier to obtain a copy of the key physically (for example, from a careless 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 SECURITY COPROCESSORS 365 secretary's drawer) rather than using supercomputers and a team of mathematical experts for years trying to crack the algorithm. To solve this problem, the field of public-key cryptography was invented. The details and ramifi- cations behind it are explained in any of the basic cryptography books listed at the end of the chap- ter. We will only describe the fundamental notions to set up our discussion on security coprocessors. According to the public-key cryptographic model, every user A (a person, or a computer, or even a program) is issued a pair of bit sequences. One of them is called the user's public key (KpubA) and the other is called the user's private key (KprivA).