The Five Great Inventions of Twentieth Century Cryptography [Posted w/permission of author; redistribution allowed, provided attribution to author remains attached.] From: WHMurray@DOCKMASTER.NCSC.MIL The Five Great Inventions of Twentieth Century Cryptography William Hugh Murray Preface [This talk was presented as the keynote address at the 1994 RSA Security Conference, Redwood City, CA] Foreword Two years ago I opened the first of these conferences. Jim Bidzos invited me to "kick it off;" nothing so formal as a "keynote." While I wore this same suit, I just sort of got up here to shoot the breeze with a few of my friends and colleagues. No notes, just sort of "off-the-cuff." He did not even tell me how long I could talk. As far as I know there were no reporters present; nothing that I said got me in trouble. After the morning session was over, Jim hosted a lunch for some of the speakers and panelists. Whit Diffie sat beside me, with his notes, and began to quiz me on my sources and authorities for my comments. He even told me that some of my best stories were apocryphal (though he conceded me the points that I made with them). Well, I see the same friends, but there are far more colleagues. The program is more formal, Diffie still has his pad and pencil, the press is here, my remarks are styled as a "keynote," they are sufficiently arguable that I need to choose my words very carefully, and I have a fixed time to end. Prudence suggests that I use notes. Introduction Cryptography, the art of secret communication, is almost as old as writing. Indeed, it has been suggested that, at least for a while, writing itself was a relative secret. Certainly it was esoteric and its use was reserved to an initiated elite. Cryptography and recording and communicating technologies have played leap frog through the pages of history. It is my thesis that both have changed so radically during the nineteenth and twentieth centuries as to constitute a new era. On the recording and communicating side we have photography, telegraphy, telephony, radio, phonography, cinema, television, and telecommunications.hy, telephony, radio, cinema, television, and the computer. Collectively, and even individually, these technologies constitute a dramatic change in our ability to make a mark across time and space. We have seen a similar advance in our ability to conceal those records and messages from all but a chosen few. Modern cryptography has its origins between the two great wars of the twentieth century. .It was driven as much by the use of radio on the battlefield as by any other single influence, but there are an infinite number of important recording and communicating applications that simply cannot be done in clear text. While more sparingly used and less well known, the advances in cryptography have been no less dramatic than those in recording and communications. I propose to consider five inventions of the twentieth century that have defined modern cryptography and that set it apart from ancient or traditional cryptography. The impact of these technologies has been to simplify the use of codes, reduce their cost, and increase by orders of magnitude the cost to a cryptanalyst of recovering information protected by the codes. What constitutes an invention or sets it apart from other inventions is somewhat arbitrary. Some of the inventions that I propose to discuss could be considered as a group of other inventions; the members of the group might or might not be significant by themselves. I have limited myself to a discussion of inventions rather than accomplishments, and to cryptography rather than to cryptanalysis. Many of the accomplishments of the century have been in cryptanalysis and may have been greater than the inventions in cryptography. However, greatness is in the eye of the beholder. Certainly all the inventions have not been limited to cryptography. For example, if cryptanalysts did not invent the modern computer, they certainly gave it a major boost. They have lived to see the advantage that it provides shift, with its scale, from them to the cryptographer. Automated Encoding and Decoding Modern cryptography begins in 1917 with the invention by Gilbert S. Vernam, an employee of the American Telephone & Telegraph Company, of the Vernam System. Vernam used two paper tape readers, one for the message and the other for the key. He added the two (bit-wise and modulo 2) to produce the ciphertext. Moreover, he used the standard information technology of his day to automate the encoding and decoding of information. Modern cryptography is automatic. Translation from plaintext to ciphertext and back again is performed automatically, that is by a machine or automaton. While there may be a separate step, the conversion from one code to the other is done by a machine rather than by a person. Today that conversion can be done by almost any single user computer. With appropriate controls and for some applications it can be done in a multi-user computer. Before computers, this encoding was done in special purpose machines. The Enigma and Purple machines were both early and famous examples of such machines. The requirement to manually convert from natural language to secret codes has always been a limitation. It tended to limit both the amount of traffic encrypted and the complexity of the encoding schemes used. Therefore, encryption machines of any kind increase the complexity and effectiveness of the codes available. At one level, the modern computer can be viewed as a general purpose code conversion machine. That is, it converts information called input into a new representation called output. The relationship between the input and the output can be simple or complex, obvious or obscure, public or secret, and reversible or irreversible. If the conversion is complex, obscure, secret, and reversible, then the computer can be viewed as an encryption machine. But for want of a small amount of readily available software, all of the hundred million general purpose computers in the world are encryption engines of immense power. At some price in performance, the relationship between input and output can be arbitrarily complex and obscure and thus arbitrarily effective in concealing the meaning of the output. The cost of computer performance has been falling steadily and rapidly for fifty years. It has now become so cheap that most capacity is not used for the convenience of having it ready when it is wanted. The result is that the use of secret codes can be viewed as almost free. So cheap is automatic coding and encoding that some applications do it by default and globally, concealing it completely from the user. Since the difference in cost between public codes and secret codes is vanishing and can be paid in a currency, computer cycles, that might otherwise be wasted, secret codes can be used by default. Independent Long Key Variable The major weakness of Vernam's system was that it required so much key material. This was compensated for by Lyman Morehouse who used two key tapes of 1000 and 999 characters, about eight feet each in length, in combination to produce an effective key tape of 999,000 characters, effectively 8000 feet in length. Morehouse had used a long key. Modern cryptography is tailored to a particular use by a key variable, or simply a key. The key is a large integer that tailors the behavior of the standard algorithm and makes it generate a cipher that is specific to that number. The requirement for secrecy is limited to this number. The problem of protecting the data reduces to the simpler one of protecting the key. Access to the cleartext requires access to the combination of the ciphertext, the base mechanism, usually a computer and a program, and the key. Since the rest are readily available, the efficiency of any use depends upon the fact that it is more expensive or difficult to obtain the key than to obtain the protected data by other means. All other things being equal, the longer the key, the more secure the mechanism. Key length is a trade off against the complexity and the secrecy of the algorithm. The longer the key, the simpler and more obvious can be the mechanism or algorithm. If the key is as long as the message, statistically random in appearance, and used only once (one-time pad), then such a simple and obvious mechanism as modulo addition will still provide effective security. For practical reasons, short keys and more complex mechanisms are preferred. Complexity Based Cryptography (The Data Encryption Standard) In May 1973 the US National Bureau of Standards advertised in the Federal Register for a proposal for an encryption mechanism to be employed as a standard mechanism for all of the needs of the civilian sectors of the government. The ad stated that the successful proposal would be for a mechanism that would be secure for at least five years in spite of the fact that the mechanism would be public and published. The resulting Data Encryption Standard was proposed by the IBM Corporation. It was invented by a team led by Walter Tuchman and was based upon a concept originated by Horst Feistel of IBM's Yorktown Research Laboratory. This mechanism, which can be implemented on a chip and completely described in a few 8.5"X11'' pages, changed the nature of cryptography forever. The security of modern encryption mechanisms like the DES is rooted in their complexity rather than in their secrecy. While traditional encryption relied upon the secrecy of the mechanism to conceal the meaning of the message, these modern mechanisms employ standard and public algorithms. These mechanisms are standard in the sense that they are of known strength or have a known cost of attack. However, the trade-off is that their effectiveness can not, must not, depend upon their secrecy. Rather, it relies upon the complexity of the mechanism. The complexity of modern ciphers is such that they can be effective even though most of their mechanism is public. The most well known, trusted, and widely used of all modern ciphers is the Data Encryption Standard. Because of the intended breadth and duration of the use of this cipher, the sponsors specified that it should be assumed to be public. Its effectiveness should rely upon the secrecy only of the key (see the next section). It has been public for more than fifteen years, but its effectiveness is such that trying all possible keys with known plain and cipher text is still the cheapest practical attack. [The DES belongs to a class of ciphers known as Feistel ciphers. These ciphers are also known as block product ciphers. They are called block ciphers because they operate on a fixed length block of bits or characters. They are called product ciphers because they employ both substitution and transposition.] Automatic Key Management The same key must exist at both ends of the communication. Historically, keys were distributed by a separate channel or path than the one by which the encrypted traffic passed. The initial distribution and installation of the keys must be done in such a way as not to disclose them to the adversary. When this is done manually, it represents a significant opportunity for the compromise of the system. Because they were attempting to combine cryptography and computing in a novel manner, Tuchman and his team understood this problem very well. The products that they based upon the DES algorithm addressed it, in part, by automating the generation, distribution, installation, storage, control, and timely changing of the keys. Their elegant system is described in two papers published in the IBM Systems Journal Vol. 17(2) pp. 106-125 (1978) and covered by a number of fundamental patents based upon it. [While NSA had automated some key management operations, and while Rosenblum was awarded a patent for a "key distribution center," these were ad hoc. This work is the first that describes and implements a complete and integrated automatic system.] The impact of this concept on the effectiveness, efficiency, and ease of application of modern cryptography is immense. However, it may also the the least understood and appreciated. For example, much of the analysis of the strength of the DES is made in the context of the primitive DES. However, the DES rarely appears as a primitive. Instead it appears in implementations which use it in such a way as to compensate for its inherent limitations. For example, automatic generation of the keys avoids the use of weak or trivial keys. (the DES has four known weak keys and four semiweak keys.) Since automatic key management systems permit so many keys, they also reduce the exposure to "known plaintext" attacks. History suggests that codes are most often broken because the user fails to apply them with the necessary rigor and discipline, particularly when choosing, distributing, and installing keys. Automating of these steps provides much of the necessary discipline and rigor. Automatic key distribution and installation increases the effectiveness by protecting the keys from disclosure during distribution, and by making the system resistant to the insertion of keys known to attackers. When keys are installed manually they become known to the human agent who installs them. He is in a position to provide a copy of the key to others. To the extent that this agent is vulnerable to coercion or bribery, the system is weakened by this knowledge. Therefore, the system may be strengthened by automatic mechanisms which provide the agent with beneficial use of the key without granting him knowledge of it. For example, systems available from IBM and Motorola provide for the key to be distributed in smartcards and automatically installed in the target machine. The key can be encrypted in the smartcard or destroyed by the installation process. In either case, the agent can use it, but cannot copy it or give it to another. Just as the use of automata for encoding and decoding reduces the cost and inconvenience of using secret codes, the use of automata for key management reduces the cost and inconvenience of changing the keys frequently. By changing the key frequently, e.g., for each, file, session, message, or transaction, the value to an adversary of obtaining a key is reduced, and the effectiveness of the mechanism is improved. One way of looking at automated key management is that it increases the effective length of the key, or makes it approach the length of the data protected. Asymmetric Key Cryptography However, even though most of the key management can be automated, most such systems require some prearrangement. In any-to-any communications in a large open population, this requirement can quickly become overwhelming. For example, in a population of two hundred people, the number of key pairs and secret exchanges would be in the thousands with many opportunities for keys to be compromised. Moreover, with traditional keys, the initial distribution of keys must be done in such a way as to maintain their secrecy, practically impossible in a large population. These problems are addressed, in part, by public key, or asymmetric key, cryptography. This mechanism was proposed by Whitfield Diffee, Martin Hellman, and Ralph Merkle. It may be the single most innovative idea in modern cryptography. The best known and most widely used implementation is the RSA algorithm invented by Ronald Rivest, Adi Shamir, and Leonard Adelman. [In this mechanism the key has two parts, only one of which must be kept secret. The two parts have the special property that what is encrypted with one can only be decrypted with the other. One half of the key-pair, called the private key, is kept secret and is used only by its owner. The other half, called the public key, is published and is used by all parties that want to communicate with the private key owner. It can be published and does not need to be distributed secretly. Since the public key, by definition, is available to anyone, then anyone can send a message to the owner that only he can read.] With a minimum of pre-arrangement, this function provides the logical analog of an envelope that can only be opened by one person. The larger the communicating population, and the more hostile the environment, the greater is its advantage over symmetric key cryptography. This concealment from all but the intended recipient is the traditional use of cryptography. However, asymmetric key cryptography has another use. A message encrypted using the private key can be read by anyone with access to the public key, but it could only have been encrypted by the owner of the corresponding private key. This use is analogous to a digital signature. It provides confidence that the message originates where it appears to have originated. Since if even a bit of the message is changed it will not decrypt properly, this mechanism also provides confidence that the message has not been either maliciously or accidentally altered. In part, this is also true as between the two parties to a message that is sent using symmetric key cryptography. That is, the recipient of the message knows with a high degree of confidence that it originated with the other holder of the key; he knows it, but he cannot prove it to another. However, with asymmetric key cryptography, he can demonstrate it to a third party. If the owner of the key pair has acknowledged the public part of the key to the third party, then he cannot plausibly deny any message that can be decrypted with it. [The concept of the digital signature is such a novel concept as to easily qualify as an invention on its own. However, it is so closely bound in origin and literature to asymmetric key cryptography that I elect to simply treat them as one.] These two abstractions, the logical envelope and the logical signature, can be composed so as to synthesize any and all of the controls that we have ever been able to achieve by more traditional means. They can be used for payments, contracts, testaments, and high integrity journals and logs. They provide us with a higher degree of security in an electronic environment than we were ever able to achieve in a paper environment. They provide protection in an open environment that is nearly as high as that which we can achieve in an open one. The Impact of the Great Inventions The impact of these inventions is to provide us with secret codes that are cheap enough to be used by default, and arbitrarily strong. Given assumptions about the quantity of data to be protected, the length of time that it must remain secret, its value to an adversary, and the resources available to the adversary, it is possible to apply modern cryptography in such a way as to be as strong as required. While it is possible to state a problem in such a way as to defy such a solution, it is difficult to identify such a problem in the real world. That is, It is possible to specify so much data to be encrypted under a single key, of such high value and which must remain safe for such a long time that we cannot say with confidence that the mechanism can stand for that time and cost. For example, we cannot say with confidence how to encrypt several hundred gigabytes worth several trillion dollars and keep it safe for a millennium. On the other hand, we are not aware of any real problems that meet such a specification. Put another way, we can always ensure that the cost of obtaining the information by cryptanalysis is higher than the value of the data or the cost of obtaining it by alternative means. While any code can be broken at some cost, modern codes are economically unbreakable, at least in the sense that the cost of doing so can be made to exceed the value of doing it. A very small increase in the cost to the cryptographer can result in astronomical increases in the cost to a potential adversary. Perhaps just as important, these mechanisms are now sufficiently convenient to use, that, within bounds, they can be widely and easily applied. Given that the more data that is encrypted with a single mechanism, the greater the value in breaking it, the more compromising information is available to an adversary, and that the more a mechanism is used the greater the opportunity for a compromising error in its use, we should continue to apply cryptography only to data that can profit from its use. On the other we need never again be inhibited from using it by issues of cost or convenience. Cryptography and Government Policy It should be obvious to a qualified observer that, announcements here to the contrary not withstanding, we are losing the battle for security and privacy in the computerized and networked world. We could have secret codes imbedded in all software of interest for free. This assertion assumes only that all such software is produced by those represented here, who have already paid for licenses and absorbed much of the necessary development cost, and that the cost of a marginal cycle on the desktop approaches zero. That we do not, is the result of ambivalent government policy. While one agency of government has sponsored the use of standard cryptography, another has tried to undermine confidence in those standards. While one agency has asserted that public standards are essential, another has sponsored secret ones, and a third has used public funds to further such secret standards. While one agency has insisted that trusted codes are essential to world prosperity, another has imposed restrictions on their export and undermined confidence in those that are exported. While one agency recognizes that national security depends upon world prosperity, another believes that signals intelligence is more important. Those of you who have seen my comments in Risks, sci.crypt , and the Communications of the ACM, know my position. It is that the prime mover behind all of these initiatives is NSA, that their motive is the preservation of their jobs and power by protecting the efficiency of signals intelligence, that their strategy is to discourage by every means that they can get away with all private and most commercial use of cryptography. That they have infiltrated the departments of State and Commerce and the White House staff, and that they are using the Department of Justice. While they know that they cannot be fully successful, they also know that they do not have to be. Nor is this simply paranoia on my part. It is the only explanation that accounts for all of the government's actions. It also meets the tests proposed by Machiavelli, Willie Sutton and "Deep Throat." While most of the government confesses that cryptography is essential to personal privacy in the modern era, the administration is not prepared to admit that even the current sparse use is consistent with the government's responsibility to preserve public order. Let me stress that the problem is government policy, not public policy and not administration or congressional policy. This policy has been made in secret and has been resistant to public input. It is the policy of the bureaucracy and not of any individuals. I know most of the players in the development of this policy. I know none that are pursuing a personal agenda, like the results, or are proud of their roles in it. They are simply doing the best that they know how in the face of agency momentum, administration consent, and the absence of congressional guidance. However, the momentum behind these policies is such that the good intentions and professionalism of the individuals is not sufficient to resist it. While the administration has aligned itself with the initiatives, it is not their author. While the initiatives have sponsors within the administration, they were here before the administration and they expect to be here when it is gone. They believe that the policy is important and that the administration is not. While some committees of the congress have held hearings on the issues and even decried the arbitrary actions of the bureaucracy, their hearings always conclude with executive sessions with the NSA and no legislative initiatives to curb the excesses. Forgive me a closing political observation not intended to be partisan. This government is too large, over-zealous and under-effective. It is committed to nothing so much as its own survival. It may be too late to influence it, but if it is not influenced, not only will we not enjoy the fruits of modern cryptography, but we may not enjoy those of telecommunications, trade, our labors, or even those of freedom. Bibliography Ehrsam, W. F., Matyas, S. M., Meyer, C. H., and Tuchman, W. L., "A Cryptographic Key Management System for Implementing the Data Encryption Standard," IBM Systems Journal Vol. 17(2) pp. 106-125 (1978). Kahn, D., The Codebreakers, Macmillan Co., New York (1967). Matyas, S. M., Meyer, C. H., "Generation, Distribution, and Installation of Cryptographic Keys," IBM Systems Journal Vol. 17(2) pp. 126-137 (1978).