644 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. IT-22, NO. 6, NOVEMBER 1976
New Directions in Cryptography
Invited Paper
WHITFIELD DIFFIE AND MARTIN E. HELLMAN, MEMBER, IEEE
Abstract-Two kinds of contemporary developments in cryp- The best known cryptographic problem is that of pri-
tography are examined. Widening applications of teleprocessing vacy: preventing the unauthorized extraction of informa-
have given rise to a need for new types of cryptographic systems,
tion from communications over an insecure channel. In
which minimize the need for secure key distribution channels and
order to use cryptography to insure privacy, however, it is
supply the equivalent of a written signature. This paper suggests
ways to solve these currently open problems. It also discusses how currently necessaryf or the communicating parties to share
the theories of communication and computation are beginning to a key which is known to no one else. This is done by send-
provide the tools to solve cryptographic problems of long stand- ing the key in advance over some secure channel such as
ing.
private courier or registered mail. A private conversation
between two people with no prior acquaintance-is a com-
mon occurrence in business, however, and it is unrealistic
to expect initial business contacts to be postponed long
I. INTRODUCTION
enough for keys to be transmitted by some physical means.
W E STAND TODAY on the brink of a revolution in The cost and delay imposed by this key distribution
cryptography. The development of cheap digital problem is a major barrier to the transfer of business
hardware has freed it from the design limitations of me- communications to large teleprocessing networks.
chanical computing and brought the cost of high grade Section III proposes two approaches to transmitting
cryptographic devices down to where they can be used in keying information over public (i.e., insecure) channels
such commercial applications as remote cash dispensers
without compromising the security of the system. In a
and computer terminals. In turn, such applications create
public key cryptosystem enciphering and deciphering are
a need for new types of cryptographic systems which governed by distinct keys, E and D, such that computing
minimize the necessity of secure key distribution channels
D from E is computationally infeasible (e.g., requiring
and supply the equivalent of a written signature. At the
lOloo instructions). The enciphering key E can thus be
same time, theoretical developments in information theory
publicly disclosed without compromising the deciphering
and computer science show promise of providing provably
key D. Each user of the network can, therefore, place his
secure cryptosystems, changing this ancient art into a
enciphering key in a public directory. This enables any user
science.
of the system to send a message to any other user enci-
The development of computer controlled communica-
phered in such a way that only the intended receiver is able
tion networks pron$ses effortless and inexpensive contact
to decipher it. As such, a public key cryptosystem is a
between people or computers on opposite sides of the
multiple accessc ipher. A private conversation can there-
world, replacing most mail and many excursions with
fore be held between any two individuals regardless of
telecommunications. For many applications these contacts
whether they have ever communicated before. Each one
must be made secure against both eavesdropping.and the
sends messagest o the other enciphered in the receiver’s
injection of illegitimate messages.A t present, however, the
public enciphering key and deciphers the messagesh e re-
solution of security problems lags well behind other areas
ceives using his own secret deciphering key.
of communications technology. Contemporary cryp-
We propose some techniques for developing public key
tography is unable to meet the requirements, in that its use
cryptosystems, but the problem is still largely open.
would impose such severe inconveniences on the system
Public key distribution systems offer a different ap-
users, as to eliminate many of the benefits of teleprocess-
proach to eliminating the need for a secure key distribution
ing.
channel. In such a system, two users who wish to exchange
a key communicate back and forth until they arrive at a
key in common. A third party eavesdropping on this ex-
Manuscript received June 3,1976. This work was partially supported
by the National Science Foundation under NSF Grant ENG 10173. change must find it computationally infeasible to compute
Portions of this work were presented at the IEEE Information Theory the key from the information overheard, A possible solu-
Workshop;Lenox , MA, June 23-25, 1975 and the IEEE International
Symposium on Information Theory in Ronneby, Sweden, June 21-24, tion to the public key distribution problem is given in
1976. Section III, and Merkle [l] has a partial solution of a dif-
W. Diffie is with the Department of Electrical Engineering, Stanford
Universitv. Stanford. CA. and the St,anford Artificial IntelliPYe nce Lab- ferent form.
oratory, g&ford, CIk 94.505. A second problem, amenable to cryptographic solution,
M. E. Hellman is with the Department of Electrical Engineering,
Stanford University, Stanford, CA 94305. which stands in the way of replacing contemporary busi-
.
DIFFIE AND HELLMAN: NEW DIRECTIONS IN CRYPTOGRAPHY 645
ness communications by teleprocessing systems is au-
thentication. In current business,t he validity of contracts
is guaranteed by signatures. A signed contract serves as
legal evidence of an agreement which the holder can
present in court if necessary.T he use of signatures, how-
ever, requires the transmission and storage of written
contracts. In order to have a purely digital replacement for KEY
SOURCE
this paper instrument, each user must be able to produce
Fig. 1. Flow of information in conventional cryptographic system.
a messagew hose authenticity can be checked by anyone,
but which could not have been produced by anyone else,
transmitted over a public channel,t hus assuringt he sender
even the recipient. Since only one person can originate
of a messaget hat it is being read only by the intended re-
messagesb ut many people can receive messages,th is can
cipient. An authenticationsystemprevents the unauthor-
be viewed as a broadcast cipher. Current electronic au-
ized injection of messagesi nto a public channel, assuring
thentication techniques cannot meet this need.
the receiver of a messageo f the legitimacy of its sender.
Section IV discussest he problem of providing a true,
A channel is considered public if its security is inade-
digital, messaged ependent signature. For reasonsb rought
quate for the needs of its users. A channel such as a tele-
out there, we refer to this as the one-way authentication
phone line may therefore be considered private by some
problem. Some partial solutions are given, and it is shown
usersa nd public by others. Any channel may be threatened
how any public key cryptosystem can be transformed into
with eavesdropping or injection or both, depending on its
a one-way authentication system.
use. In telephone communication, the threat of injection
Section V will consider the interrelation of various
is paramount, since the called party cannot determine
cryptographic problems and introduce the even more
which phone is calling. Eavesdropping, which requires the
difficult problem of trap doors.
use of a wiretap, is technically more difficult and legally
At the samet ime that communications and computation
hazardous. In radio, by comparison, the situation is re-
have,given rise to new cryptographic problems, their off-
versed. Eavesdropping is passive and involves no legal
spring, information theory, and the theory of computation
hazard, while injection exposest he illegitimate transmitter
have begun to supply tools for the solution of important
to discovery and prosecution.
problems in classical cryptography.
Having divided our problems into those of privacy and
The search for unbreakable codes is one of the oldest
authentication we will sometimes further subdivide au-
themes of cryptographic research, but until this century
thentication into message authentication, which is the
all proposed systems have ultimately been broken. In the
problem defined above, and user authentication, in which
nineteen twenties, however, the “one time pad” was in-
the only task of the system is to verify that an individual
vented, and shown to be unbreakable [2, pp. 398-4001.T he
is who he claims to be. For example, the identity of an in-
theoretical basis underlying this and related systems was
dividual who presents a credit card must be verified, but
put on a firm foundation a quarter century later by infor-
there is no messagew hich he wishes to transmit. In spite
mation theory [3]. One time pads require extremely long
of this apparent absenceo f a messagei n user authentica-
keys and are therefore prohibitively expensive in most
tion, the two problems are largely equivalent. In user au-
applications.
thentication, there is an implicit message“I AM USER X,”
In contrast, the security of most cryptographic systems
while messagea uthentication is just verification of the
resides in the computational difficulty to the cryptanalyst
identity of the party sending the message.D ifferences in
of discovering the plaintext without knowledge of the key.
the threat environments and other aspects of these two
This problem falls within the domains of computational
subproblems, however, sometimes make it convenient to
complexity and analysis of algorithms, two recent disci-
distinguish between them.
plines which study the difficulty of solving computational
Fig. 1 illustrates the flow of information in a conven-
problems. Using the results of these theories, it may be
tional cryptographic system used for privacy of commu-
possible to extend proofs of security to more useful classes
nications. There are three parties: a transmitter, a receiver,
of systems in the foreseeable future. Section VI explores
and an eavesdropper. The transmitter generates a plain-
this possibility.
text or unenciphered messageP to be communicated over
Before proceeding to newer developments,w e introduce
an insecure channel to the legitimate receiver. In order to
terminology and define threat environments in the next
prevent the eavesdropperf rom learning P, the transmitter
section.
operates on P with an invertible transformation SK to
produce the ciphertext or cryptogram C = SK(P). The key
II. CONVENTIONAL CRYPTOGRAPHY
K is transmitted onlv to the legitimate receiver via a secure
Cryptography is the study of “mathematical” systems channel, indicated by a shielded path in Fig. 1. Since the
for solving two kinds of security problems: privacy and legitimate receiver knows K, he can decipher C by oper-
authentication. A privacy system prevents the extraction ating with SK-~ to obtain SK-~(C) = SK-~(SK(P)) = P,
of information by unauthorized parties from messages the original plaintext message.T he securec hannel cannot
646 IEEE TRANSACTIONS ON INFORMATION THEORY. NOVEMBER 1976
be used to transmit P itself for reasonso f capacity or delay. bits of the plaintext. Block ciphers act in a purely combi-
For example, the secure channel might be a weekly courier natorial fashion on large blocks of text, in such a way that
and the insecure channel a telephone line. a small change in the input block produces a major change
A cryptographic system is a single parameter family in the resulting output. This paper deals primarily with
{SKJK~~I(~o f invertible transformations block,ciphers, because this error propagation property is
valuable in many authentication applications.
SdPl - WI (1)
In an authentication system, cryptography is used to
from a space (P) of plaintext messagest o a space (C) of ci- guarantee the authenticity of the messaget o the receiver.
phertext messages.T he parameter K is called the key and Not only must a meddler be prevented from injecting to-
is selected from a finite set (K) called the keyspace. If the tally new, authentic looking messagesi nto a channel, but
messages paces (PI and {C) are equal, we will denote them he must be prevented from creating apparently authentic
both by (M). When discussing individual cryptographic messagesb y combining, or merely repeating, old messages
transformations SK, we will sometimes omit mention of which he has copied in the past. A cryptographic system
the system and merely refer to the transformation K. intended to guarantee privacy will not, in general, prevent
The goal in designing the cryptosystem {SK) is to make this latter form of mischief.
the enciphering and deciphering operations inexpensive, To guarantee the authenticity of a message,i nformation
but to ensure that any successful cryptanalytic operation is added which is a function not only of the message and
is too complex to be economical. There are two approaches a secret key, but of the date and time as well; for example,
to this problem. A system which is secure due to the com- by attaching the date and time to each message and en-
putational cost of cryptanalysis, but which would succumb crypting the entire sequence. This assures that only
to an attack with unlimited computation, is called com- someone who possessest he key can generate a message
putationally secure; while a system which can resist any which, when decrypted, will contain the proper date and
cryptanalytic attack, no matter how much computation time. Care must be taken, however, to use a system in
is allowed, is called unconditionally secure. Uncondi- which small changes in the ciphertext result in large
tionally secure systems are discussed in [3] and [4] and changes in the deciphered plaintext. This intentional error
belong to that portion of information theory, called the propagation ensures that if the deliberate injection of noise
Shannon theory, which is concerned with optimal perfor- on the channel changesa messages uch as “erase file 7” into
mance obtainable with unlimited computation. a different message such as “erase file 8,” it will also cor-
Unconditional security results from the existence of rupt the authentication information. The message will
multiple meaningful solutions to a cryptogram. For ex- then be rejected as inauthentic.
ample, the simple substitution cryptogram XMD resulting The first step in assessingt he adequacy of cryptographic
from English text can represent the plaintext messages: systems is to classify the threats to which they are to be
now, and, the, etc. A computationally secure cryptogram, subjected. The following threats may occur to crypto-
in contrast, contains sufficient information to uniquely graphic systems employed for either privacy or authenti-
determine the plaintext and the key. Its security resides cation.
solely in the cost of computing them. A ciphertext only attack is a cryptanalytic attack in
The only unconditionally secure system in common use which the cryptanalyst possesseso nly ciphertext.
is the one time pad, in which the plaintext is combined A known plaintext attack is a cryptanalytic attack in
with a randomly chosen key of the same length. While such which the cryptanalyst possessesa substantial quantity
a system is provably secure, the large amount of key re- of corresponding plaintext and ciphertext.
quired makes it impractical for most applications. Except A chosen plaintext attack is a cryptanalytic attack in
as otherwise noted, this paper deals with computationally which the cryptanalyst can submit an unlimited number
secure systems since these are more generally applicable. of plaintext messageso f his own choosing and examine the
When we talk about the need to develop provably secure resulting cryptograms.
cryptosystems we exclude those, such as the one time pad, In all cases it is assumed that the opponent knows the
which are unwieldly to use. Rather, we have in mind sys- general system (SK) in use since this information can be
tems using ‘only ’ a few; hundred bits of key and imple- obtained by studying a cryptographic device. While many
mentable in either a small amount of digital hardware or users of cryptography attempt to keep their equipment
a few hundred lines of software. secret, many commercial applications require not only that
We will call a task computationally infeasible if its cost the general system be public but that it be standard.
as measured by either the amount of memory used or the A ciphertext only attack occurs frequently in practice.
runtime is finite but impossibly large. The cryptanalyst uses only knowledge of the statistical
Much as error correcting codes are divided into convo- properties of the language in use (e.g.,i n English, the letter
lutional and block codes, cryptographic systems can be e occurs 13 percent of the time) and knowledge of certain
divided into two broad classes: stream ciphers and block “probable” words (e.g., a letter probably begins “Dear
ciphers. Stream ciphers process the plaintext in small Sir:“). It is the weakest threat to which a system can be
chunks (bits or characters), usually producing a pseudo- subjected, and any system which succumbs to it is con-
random sequence of bits which is added modulo 2 to the sidered totally insecure.
DIFFIE AND HELLMAN: NEW DIRECTIONS IN CRYPTOGRAPHY 647
A system which is secure against a known plaintext at- system itself. The receiver’s password tables and other
tack frees its users from the need to keep their past mes- authentication data are then more vulnerable to theft than
sagess ecret, or to paraphrase them prior to declassifica- those of the transmitter (an individual user). As shown
tion. This is an unreasonable burden to place on the sys- later, some techniques for protecting against this threat
tem’s users, particularly in commercial situations where also protect against the threat of dispute. That is, a mes-
product announcements or press releasesm ay be sent in sage may ‘ be sent but later repudiated by either the
encrypted form for later public disclosure. Similar situa- transmitter or the receiver. Or, it may be alleged by either
tions in diplomatic correspondenceh ave led to the cracking party that a messagew as sent when in fact none was. Un-
of many supposedly secure systems. While a known forgeable digital signatures and receipts are needed. For
plaintext attack is not always possible, its occurrence is example, a dishonest stockbroker might try to cover up
frequent enought hat a system which cannot resist it is not unauthorized buying and selling for personal gain by
considered secure. forging orders from clients, or a client might disclaim an
A chosen plaintext attack is difficult to achieve in order actually authorized by him but which he later sees
practice, but can be approximated. For example, submit- will causea loss. We will introduce concepts which allow
ting a proposal to a competitor may result in his enci- the receiver to verify the authenticity of a message,b ut
phering it for transmission to his headquarters. A cipher prevent him from generating apparently authentic mes-
which is securea gainst a chosenp laintext attack thus frees sages,t hereby protecting against both the threat of com-
its users from concern over whether their opponents can promise of the receiver’s authentication data and the
plant messagesin their system. threat of dispute.
For the purpose of certifying systems as secure, it is
appropriate to consider the more formidable cryptanalytic III. PUBLIC KEY CRYPTOGRAPHY
threats as these not only give more realistic models of the
As shown in Fig. 1, cryptography has been a derivative
working environment of a cryptographic system, but make
security measure.O nce a securec hannel exists along which
the assessmento f the system’s strength easier. Many sys-
keys can be transmitted, the security can be extended to
tems which are difficult to analyze using a ciphertext only
other channels of higher bandwidth or smaller delay by
attack can be ruled out immediately under known plain-
encrypting the messagess ent on them. The effect has been
text or chosen plaintext attacks.
to limit the use of cryptography to communications among
As is clear from these definitions, cryptanalysis is a
people who have made prior preparation for cryptographic
system identification problem. The known plaintext and
security.
chosenp laintext attacks correspond to passive and active
In order to develop large, secure, telecommunications
system identification problems, respectively. Unlike many
systems, this must be changed.A large number of users n
subjects in which system identification is considered,s uch
results in an evenl arger number, (n2 - n)/2 potential pairs
as automatic fault diagnosis, the goal in cryptography is
who may wish to communicate privately from all others.
to build systems which are difficult, rather than easy, to
It is unrealistic to assumee ither that a pair of users with
identify.
no prior acquaintance will be able to wait for a key to be
The chosen plaintext attack is often called an IFF at-
sent by somes ecurep hysical means,o r that keys for all (n2
tack, terminology which descends from its origin in the
n)/2 pairs can be arranged in advance.I n another paper
development of cryptographic “identification friend or
ii the authors have considered a conservative approach
foe” systems after World War II. An IFF system enables
requiring no new development in cryptography itself, but
military radars to distinguish between friendly and enemy
this involves diminished security, inconvenience, and re-
planes automatically. The radar sends a time-varying
striction of the network to a starlike configuration with
challenge to the airplane which receives the challenge,
respect to initial connection protocol.
encrypts it under the appropriate key,and sendsi t back to
We propose that it is possible to develop systems of the
the radar. By comparing this response with a correctly
type shown in Fig. 2, in which two parties communicating
encrypted version of the challenge,t he radar can recognize
solely over a public channel and using only publicly known
a friendly aircraft. While the aircraft are over enemy ter-
techniques can create a securec onnection. We examinet wo
ritory, enemy cryptanalysts can send challenges and ex-
approaches to this problem, called public key cryptosys-
amine the encrypted responsesin an attempt to determine
the authentication key in use, thus mounting a chosen
plaintext attack on the system. In practice, this threat is
countered by restricting the form of the challenges,w hich
need not be unpredictable, but only nonrepeating.
There are other threats to authentication systemsw hich
cannot be treated by conventional cryptography, and
which require recourse to the new ideas and techniques
introduced in this paper. The threat of compromise of the
receiver’s authentication data is motivated by the situa-
tion in multiuser networks where the receiver is often the Fig. 2. Flow of information in public key system.
64X IEEE TRANSACTJONS ON INFORMATION THEORY, NOVEMBER 1976
terns and public key distribution systems, respectively. equals Em. Letting B = Em l we have m - DC. Thus, both
The first are more powerful, lending themselves to the enciphering and deciphering require about n2 operations.
solution of the authentication problems treated in the next Calculation of D from E, however, involves a matrix in-
section, while t,he second are much closer to reahzation. version which is a harder problem. And it is at least con-
A public key cryptosystem is a pair of families ceptually simpler to obtain an arbitrary pair of inverse
PKIK E (KI and ID K 1K E JRJo f algorithms representing matrices than it is to invert a given mabrix, St.art with the
invertible transformations, identity matrix I and do elementary row and column op-
erations to obtain an arbitrary invertible matrix E. Then
I&:(Mj -+ {M) (2) starting with I do the inverses of these same elementary
operations in reverse order to obtain 61 - E--l. The se-
D[(:(M) --*- ’ {M) (3)
quence of elementary operations could be easi1.yd eter-
on a finite message space (MJ, such that mined from a random bit string.
Unfortunately, matrix inversion takes only a.bout n3
1) for every K E {Kb EK is the inverse of DK,
operations. The ratio of “cryptanalytic” time (i.e., com-
2) for every K E {KJ and M E (MI, the algorithms EK
puting D from E) to enciphering or deciphering t,ime is
and DK are easy to compute,
thus at most n, and enormous block sizes would be re-
3) for almost every K E (KJ, each easily computed al-
quired to obtain ratios of 3O 6o r greater. Also, it does not
gorithm equivalent to Df( is computationally in-
appear that knowledge of the element,ary operat.ions used
feasible to derive from EK,
to obtain E from I greatly reduces the time for computing
4) for every K E {K), it is feasible to compute inverse
D. And, since there is no round-off error in binary arith-
pairs EK and DK from K.
metic, numerical stability is unimportant in the matrix
Because of the third property, a user’s enciphering key inversion. In spite of its lack of practicaleutility, this matrix
EK can be made public without compromising the security example is still useful for clarifying the relationships
of his secret deciphering key DK. The cryptographic sys- necessary in a public key cryptosystem.
tem is therefore split into two parts, a family of enciphering A more practical approach to finding a pair of easily
transformations and a family of deciphering transforma- computed inverse algorithms E and D; such that, D is hard
tions in such a way that, given a member of one family, it to infer from E, makes use of the difficulty of analyzing
is infeasible to find the corresponding member of the programs in low level languages. Anyone who has tried to
other. determine what operation is accomplished by someone
The fourth property guarantees that there is a feasible else’s machine language program knows that E itself (i.e.,
way of computing corresponding pairs of inverse trans- what E does) can be hard to infer from an algorithm for E.
formations when no constraint is placed on what either the If the program were to be made purposefully confusing
enciphering or deciphering transformation is to be. In through addition of umleeded variables and statements,
practice, the cryptoequipment must contain a true random then determining an inverse algorithm could be made very
number generator (e.g., a noisy diode) for generat,ing K, difficult. Of course, E must be complicated enough to
together with an algorithm for generating the EK ~- n, prevent its identification from input-output pairs.
pair from its outputs. Essentially what is required is a one-way compiler: one
Given a system of this kind, the problem of key distri- which takes an easily understood program writ,ten in a h.igh
bution is vastly simplified. Each user generates a pair of level language and translates it into an incomprehensible
inverse transformations, E and D, at his terminal. The program in some machine language. The compiler is one-.
deciphering transforrnation D must be kept secret, but way because it must be feasible to do the compila.tion, but
need never be communicated on any channel. The enci- infeasible to reverse the process. Since efficiency in size of
phering key E can be made public by placing it in a public program and run time are not crucial in this application,
directory along with the user’s name and address. Anyone such compilers may be possible if the struct,ure of the
can then encrypt messagesa nd send them to the user, but machine language can be optimized to assist in the con-
no one else can decipher messagesi nbended for him. Public fusion.
key cryptosystems can thus be regarded as multiple access Merkle [I] has independently studied the problem of
ciphers. distributiug keys over an insecure channel. His approach
It is crucial that the public file of enciphering keys be is different from that of the public key cryptosystems
protected from unauthorized modification. This task is suggested above, and will be termed a public key distri-
made easier by the public nature of the file. Read prot,ec bution system. The goal is for two .users, A and B, to se-
tion is unnecessary and, since the file is modified infre- curely exchange a key over an insecure charmel. This key
quently, elaborate write protection mechanisms can be is then used by both users in a normal cryptosystem for
economically employed. both enciphering and deciphering. Merkle bas a solu.tion
A suggestive, although unfortunate!.y useless, example whose crypt,analytic cost grows as n,2w here n is the cost to
of a public key cryptosystem is to encipher the plaintext, the legitimate users. Unfortunately the cost to the legiti-
represented as a binary n-vector m, by multiplying it by mate users of the system is as much in transmission time
an invertible binary n X n matrix E. The cryptogram thus as in computation, because Merkle’s protocol requires n
DIFFIE AND IIELLMAN: NEW DIRECTIONS IN CRYPTOGRAPHY 649
potential keys to be transmitted before orie key can be as their key. .User i obtains Kij by obtaining Y, from the
decided on. Merkle not.es that this high transmission public file and letting
overhead prevents the system from being very useful in
Kij z yj”[ mod q (9)
practice. If a one megabit limit is placed on the setup
protocol’s overhead, his technique can achieve cost ratios = (a”/)Xl Inod q (10)
of approximately 10 000 to 1, which are too small for most
;: ,x-!x, z NX,X l modq. (11)
applications. If inexpensive, high bandwidth data links
becomea vailable, ratios of a million to one or greater could User j obtains Kij in the similar fashion
be achieved and the system would be of substantial prac-
Kij = Yx/ mod 4. (12)
tical value.
We now suggest a new public key distribution system Another user must compute Kij from Yi and Yj, for ex-
which has several advantages. First, it requires only one ample, by computing
“key” to be exchanged. Second, the cryptanalytic effort
Kjj z ~~iyil~~cvmYo~d) q,
(13)
appearst o grow exponentially in the effort of the legitimate
users. And, third, its use can be tied to a public file of user We thus see that if logs mod q are easily computed the
information which servest o authenticate user A to user B system can be broken. While we do not currently have a
and vice versa. By making the public file essentially a read proof of the converse (i.e., that the system is securei f logs
only memory, one personal appearance allows a user to mod q are difficult to compute), neither do we seea ny way
authenticate his identity many times to many users. to compute Kij from Yi and Yj without first obtaining ei-
Merkle’s technique requires A and B to verify eacho ther’s ther Xi or Xi.
identities through other means. If q is a prime slightly less than 26, then all quantities
The new technique makes use of the apparent difficulty are representable as b bit numbers. Exponentiation then
of computing logarithms over a finite field GF(q) with a takes at most 2b multiplications mod q, while by hypoth-
prime number q of elements. Let esis taking logs requires q112= 2b/2 operations. The
cryptanalytic effort therefore grows exponentially relative
Y = crx mod q1 forl_ to legitimate efforts. If b = 200, then at most 400 multi- where 01is a fixed primit,ive element of GE’(q), then X is plications are required to compute Yi from Xi, or Kij from referred to as the logarithm of Y to the base 01,m od q: Yi and Xj, yet taking logs mod q requires 21°0o r approxi- mately lO”O operations. X = log, Y mod q, forl Calculation of Y from X is easy,t aking at most 2 X log2 q multiplications [6, pp. 398-4221. For example, for X = The problem of authenCicationi s perhaps an even more 1% serious barrier to the universal adoption of telecomrnun- y = ,I8 = (((u.“)2)“)2 x *2. (6) ications for businesst ,ransactionst han the problem of key Computing X from Y, on the other hand can be much more distribution. Authentication is at the heart of any system difficult and, for certain carefully chosen values of q, re- involving contracts and billing. Without it, businessc annot quires on the order of qlk operations, using the best known function. Current electronic authentication systemsc annot meet the need for a purely digital, unforgeable, message algorithm [7, pp. 9, 575-5761, [$I. dependent signature. They provide protection against The security of our technique depends crucially on the third party forgeries, but do not protect against disputes difficulty of computing logarithms mod q, and if an algo- between transmitter and receiver. rithm whosec omplexity grew as logzqw ere to be found, our In order to develop a system capable of replacing the syst.em would be broken. While the simplicity of the current written contract with some purely electronic form problem statement might allow such simple algorithms, of communication, we must discover a digital phenomenon it might instead allow a proof of the problem’s difficulty. with the samep roperties as a written signature. It must be For now we assume that the best known algorithm for easyf or anyonet o recognizet he signature as authentic, but computing logs mod q is in fact closet o optimal and hence impossible for anyone other than the legitimate signer to that q1/2i s a good measure of the problem’s complexity, produce it. We will call any such technique one-way au- for a properly chosen q. thentication. Since any digital signal can be copied pre- Each user generates an independent random number cisely, a true digit,al signature must be recognizablew ithout Xi chosenu niformly from the set of integers {1,2, . . . ,q - being known. 1). Each keeps Xi secret, but places Consider the “login” problem in a multiuser computer Yi =za *ysr jlod q (7) system. When setting up his account, the user choosesa password which is entered into the system’s password di- in a public file with his name and address. When users i rectory. Each time he logs in, the user is again asked to and j wish t,o communicate privately, they use provide his password. By keeping this password secret Kij = 01~x1~ mod (1 (8) from all other users, forged logins are prevented. This, 650 IEEE TRANSACTIONS ON INFORMATION THEORY, NOVEMBER 1976 however, makes it vital to preserve the security of the discussed later, is probably present in the most promising password directory since the information it contains would class of one-way functions. allow perfect impersonation of any user. The problem is Polynomials offer an elementary example of one-way further compounded if system operators have legitimate functions. It is much harder to find a root xe of the poly- reasons for accessing the directory. Allowing such legiti- nomial equation p (3~)= y than it is to evaluate the poly- mate accesses, but preventing all others, is next to im- nomial p(x) at x = x0. Purdy [l l] has suggested the use of possible. sparse polynomials of very high degree over finite fields, This leads to the apparently impossible requirement for which appear to have very high ratios of solution to eval- a new login procedure capable of judging the authenticity uation time. The theoretical basis for one-way functions of passwords without actually knowing them. While ap- is discussed at greater length in Section VI. And, as shown pearing to be a logical impossibility, this proposal is easily in Section V, one-way functions are easy to devise in satisfied. When the user first enters his password PW, the practice. computer automatically and transparently computes a The one-way function login protocol solves only some function f(PW) and stores this, not PW, in the password of the problems arising in a multiuser system. It protects directory. At each successivel ogin, the computer calculates against compromise of the system’s authentication data f(X), where X is the proffered password, and compares when it is not in use, but still requires the user to send the f(X) with the st ored value f (P W). If and only if they ‘are true password to the system. Protection against eaves- equal, the user is accepted as being authentic. Since the dropping must be provided by additional encryption, and function f must be calculated once per login, its compu- protection against the threat of dispute is absent alto- tation time must be small. A million instructions (costing gether. approximately $0.10 at bicentennial prices) seems to be A public key cryptosystem can be used to produce a true a reasonable limit on this computation. If we could ensure, one-way authentication system as follows. If user A wishes however, that calculation of f-l required 1030o r more in- to send a message M to user B, he “deciphers” it in his structions, someone who had subverted the system to ob- secret deciphering key and sends DA(M). When user B tain the password directory could not in practice obtain receives it, he can read it, and be assured of its authenticity PW from f(PW), and could thus not perform an unau- by “enciphering” it with user A’s public enciphering key thorized login. Note that f(PW) is not accepted as a pass- EA. B also saves DA(M) as proof that the message came word by the login program since it will automatically from A. Anyone can check this claim by operating on compute f (f(PW)) which will not match the entry f(PW) DA(M) with the publicly known operation EA to recover in the password directory. M. Since only A could have generated a messagew ith this We assume that the function f is public information, so property, the solution to the one-way authentication that it is not ignorance off which makes calculation of f-l problem would follow immediately from the development difficult. Such functions are called one-way functions and of public key cryptosystems. were first employed for use in login procedures by R. M. One-way messagea uthentication has a partial solution Needham [9, p. 911.T hey are also discussed in two recent suggested to the authors by Leslie Lamport of Massa- papers [lo], [ll] which suggest interesting approaches to chusetts Computer Associates. This technique employs a the design of one-way functions. one-way function f mapping k-dimensional binary space More precisely, a function f is a one-way function if, for into itself for h on the order of 100. If the transmitter any argument x in the domain off, it is easy to compute the wishes to send an N bit message he generates 2N, ran- corresponding value f(x), yet, for almost all y in the range domly chosen, k-dimensional binary vectors off, it is computationally infeasible to solve the equation ,XN,XN which he keeps secret. The re- x1,x1,x2,x2, * * * y = f(x) for any suitable argument x. ceiver is given the corresponding images under f, namely It is important to note that we are defining a function Y 1, Yl,Y 2, yz, * * * ,YN,YN. Later, when the message m = which is not invertible from a computational point of view, ,mN) is to be sent, the transmitter sends xi or (1721+2, * - - but whose noninvertibility is entirely different from that Xi depending on whether ml = 0 or 1. He sends x2 or X2 normally encountered in mathematics. A function f is depending on whether m2 = 0 or 1, etc. The receiver op- normally called “noninvertible” when the inverse of a point erates with f on the first received block and seesw hether y is not unique, (i.e., there exist distinct points 3~1a nd x2 it yields yi or Yi as its image and thus learns whether it was such that f(xi) = y = f (x2)). We emphasize that this is not 3~1o r X1, and whether ml = 0 or 1. In a similar manner the the sort of inversion difficulty that is required. Rather, it receiver is able to determine m2,m3, . . . ,mN. But the re- must be overwhelmingly difficult, given a value y and ceiver is incapable of forging a change in even one bit of knowledge of f, to calculate any x whatsoever with the m. property that f (3c)= y. Indeed, if f is noninvertible in the This is only a partial solution because of the approxi- usual sense, it may make the task of finding an inverse mately lOO-fold data expansion required. There is, how- image easier. In the extreme, if f(x) = yc for all x: in the ever, a modification which eliminates the expansion domain, then the range off is (yc), and we can take any x problem when N is roughly a megabit or more. Let g be a as f-l(yo). It is therefore necessary that f not be too de- one-way mapping from binary N-space to binary n-space generate. A small degree of degeneracy is tolerable and, as where n is approximately 50. Take the N bit message m DIFFIE AND HELLMAN: NEW DIRECTIONS IN CRYPTOGRAPHY 651 and operate on it with g to obtain the n bit vector m’. Then uset he previous schemet o send m’. If iV = 106,n = 50, and k = 100, this adds kn = 5000 authentication bits to the message.I t thus entails only a 5 percent data expansion CIPHERTEXT during transmission (or 15 percent if the initial exchange OfYl,Yl, -*- ,YN,YN is included). Even though there are Y-f(x) Fig. 3. Secure cryptosystem used as one-way function. a large number of other messages( 2N-n on the average) with the same authentication sequence,t he one-wayness of g makes them computationally infeasible to find and thus to forge. Actually g must be somewhat stronger than defined by a normal one-wayf unction, since an opponent has not only f(X) = SxPd. (15) m ’ but also one of its inverse images m. It must be hard even given m to find a different inverse image of m’. This function is one-way becauses olving for X given f(X) Finding such functions appears to offer little trouble (see is equivalent to the cryptanalytic problem of finding the Section V). key from a single known plaintext-cryptogram pair. Public There is another partial solution to the one-way user knowledge off is now equivalent to public knowledge of authentication problem. The user generates a password (SK] and PO. X which he keepss ecret.H e givest he systemfT(X), where While the converseo f this result is not necessarily true, f is a one-way function. At time t the appropriate au- it is possible for a function originally found in the search thenticator is f T-t(X), which can be checked by the sys- for one-way functions to yield a good cryptosystem. This tem by applying ft(X). Because of the one-waynesso ff, actually happened with the discrete exponential function past responsesa re of no value in forging a new response. discussed in Section III [8]. The problem with this solution is that it can require a fair One-way functions are basic to both block ciphers and amount of computation for legitimate login (although key generators. A key generator is a pseudorandom bit many orders of magnitude less than for forgery). If for generator whose output, the keystream, is added modulo example t is incremented every second and the system 2 to a messager epresented in binary form, in imitation of must work for one month on each password then T = 2.6 a one-time pad. The key is used as a “seed” which deter- million. Both the user and the system must then iterate f mines the pseudorandom keystream sequence.A known an averageo f 1.3 million times per login. While not insur- plaintext attack thus reduces to the problem of deter- mountable, this problem obviously limits use of the tech- mining the key from the keystream. For the system to be nique. The problem could be overcomei f a simple method secure, computation of the key from the keystream must for calculating f c2tn),f or n = 1,2, . . . could be found, much be computationally infeasible. While, for the system to be as X8 = ((X2)2)2. For then binary decompositions of T - usable, calculation of the keystream from the key must be t and t would allow rapid computation off T-t and ft. It computationally simple. Thus a good key generator is, al- may be, however, that rapid computation of fn precludes most by definition, a one-way function. f from being one-way. Use of either type of cryptosystem as a one way function suffers from a minor problem. As noted earlier, if the function f is not uniquely invertible, it is not necessary( or V. PROBLEMINTERRELATIONSANDTRAPDOORS possible) to find the actual value of X used. Rather any X with the samei mage will suffice. And, while each mapping In this section, we will show that some of the crypto- SK in a cryptosystem must be bijective , there is no such graphic problems presented thus far can be reduced to restriction on the function f from key to cryptogram de- others, thereby defining a loose ordering according to fined above.I ndeed, guaranteeingt hat a cryptosystem has difficulty. We also introduce the more difficult problem this property appears quite difficult. In a good crypto- of trap doors. system the mapping f can be expected to have the char- In Section II we showed that a cryptographic system acteristics of a randomly chosen mapping (i.e., f(Xi) is intended for privacy can also be used to provide authen- chosen uniformly from all possible Y, and successive tication against third party forgeries. Such a system can choices are independent). In this case,i f X is chosenu ni- be used to create other cryptographic objects, as well. formly and there are an equal number of keys and mes- sages( X and Y), then the probability that the resultant A cryptosystem which is secure against a known Y has k + 1 inverses is approximately e-l/k! for k = plaintext attack can be used to produce a one-way func- 071 2, 3, f . . . . This is a Poisson distribution with mean X = tion. 1, shifted by 1 unit. The expected number of inverses is As indicated in Fig. 3, take the cryptosystem (SK:(P) - thus only 2. While it is possiblef or f to be more degenerate, {C]}K,(Kf which is securea gainst a known plaintext attack, a good cryptosystem will not be too degenerates ince then the key is not being well used. In the worst case,i f f (X) = fix P = POa nd consider the map Yc for some Yc, we have S,(P,) = Cc, and encipherment of POw ould not depend’on the key at all! 652 IEEE TRANSACTIONS ON INFORMATION THEORY, NOVEMBER 1976 While we are usually interested in functions whose do- For A and B to establish a common private key, A main and range are of comparable size, there are excep- chooses a key at random and sends an arbitrary plain- tions. In the previous section we required a one-way text-cryptogram pair to B. B, who made the trap-door ci- function mapping long strings onto much shorter ones. By pher public, but kept the trap-door information secret, using a block cipher whose key length is larger than the uses the plaintext-cryptogram pair to solve for the key. A blocksize, such functions can be obtained using the above and B now have a key in common. technique. There is currently little evidence for the existence of Evans et al. [lo] have a different approach to the prob- trap-door ciphers. However they are a distinct possibility lem of constructing a one-way function from a block cipher. and should be remembered when accepting a cryptosystem Rather than selecting a fixed Pa as the input, they use the from a possible opponent [12]. function By definition, we will require that a trap-door problem f(X) = SXLQ. (16) be one in which it is computationally feasible to devise the trap door. This leaves room for yet a third type of entity This is an attractive approach because equations of this for which we shall use the prefix “quasi.” For example a form are generally difficult to solve, even when the family quasi one-way function is not one-way in that an easily S is comparatively simple. This added complexity, how- computed inverse exists. However, it is computationally ever, destroys the equivalence between the security of the infeasible everrfor the designer, to find the easily computed system S under a known plaintext attack and the one- inverse. Therefore a quasi one-way function can be used wayness off. in place of a one-way function with essentially no loss in Another relationship has already been shown in Section security. IV. Losing the trap-door information to a trap-door one-way A public key cryptosystem can be used to generate a function makes it into a quasi one-way function, but there one-way authentication system. may also be one-way functions not obtainable in this manner. The converse does not appear to hold, making the con- It is entirely a matter of definition that quasi one-way struction of a public key cryptosystem a strictly more functions are excluded from the class of one-way functions. difficult problem than one-way authentication. Similarly, One could instead talk of one-way functions in the wide a public key cryptosystem can be used as a public key sense or in the strict sense. distribution system, but not conversely. Similarly, a quasi secure cipher is a cipher which will Since in a public key cryptosystem the general system successfully resist cryptanalysis, even by its designer, and in which E and D are used must be public, specifying E yet for which there exists a computationally efficient specifies a complete algorithm for transforming input cryptanalytic algorithm (which is of course computation- messagesi nto output cryptograms. As such a public key ally infeasible to find). Again, from a practical point of system is really a set of trap-door one-way functions, view, there is essentially no difference between a secure These are functions which are not really one-way in that cipher and a quasi secure one. simply computed inverses exist. But given an algorithm We have already seen that public key cryptosystems for the forward function it is computationally infeasible imply the existence of trap-door one-way functions. to find a simply computed inverse. Only through knowl- However the converse is not true. For a trap-door one-way edge of certain trap-door information (e.g., the random function to be usable as a public key cryptosystem, it must bit string which produced the E-D pair) can one easily find be invertible (i.e., have a unique inverse.) the easily computed inverse. Trap doors have already been seen in the previous paragraph in the form of trap-door one-way functions, but VI. COMPUTATIONALCOMPLEXITY other variations exist. A trap-door cipher is one which Cryptography differs from all other fields of endeavor strongly resists cryptanalysis by anyone not in possession in the ease with which its requirements may appear to be of trap-door information used in the design of the cipher. satisfied. Simple transformations will convert a legible text This allows the designer to break the system after he has into an apparently meaningless jumble. The critic, who sold it to a client and yet falsely to maintain his reputation wishes to claim that meaning might yet be recovered by as a builder of secure systems. It is important to note that cryptanalysis, is then faced with an arduous demonstration it is not greater cleverness or knowledge of cryptography if he is to prove his point of view correct. Experience has which allows the designer to do what others cannot. If he shown, however, that few systems can resist the concerted were to lose the trap-door information he would be no attack of skillful cryptanalysts, and many supposedly se- better off than anyone else. The situation is precisely cure systems have subsequently been broken. analogous to a combination lock. Anyone who knows the In consequenceo f this, judging the worth of new systems combination can do in seconds what even a skilled has always been a central concern of cryptographers. locksmith would require hours to accomplish. And yet, if During the sixteenth and seventeenth centuries, mathe- he forgets the combination, he has no advantage. matical arguments were often invoked to argue the A trap-door cryptosystem can be used to produce a strength of cryptographic methods, usually relying on public key distribution system. counting methods which showed the astronomical number DIFFIE AND HELLMAN: NEW DIRECTIONS IN CRYPTOGRAPHY 653 of possible keys. Though the problem is far too difficult to of interest or effort which has prevented people from be laid to rest by such simple methods, even the noted al- finding solutions in P time for these problems. It is thus gebraist Cardano fell into this trap [2, p. 1451.A s systems strongly believed that at least one of these problems must whose strength had been so argued were repeatedly bro- not be in the class P, and that therefore the class NP is ken, the notion of giving mathematical proofs for the se- strictly larger. curity of systems fell into disrepute and was replaced by Karp has identified a subclass of the NP problems, certification via crypanalytic assault. called NP complete, with the property that if any one of During this century, however, the pendulum has begun them is in P, then all NPproblems are in P. Karp lists 21 to swing back in the other direction. In a paper intimately problems which are NP complete, including all of the connected with the birth of information theory, Shannon problems mentioned above [14]. [3] showed that the one time pad system, which had been While the NP complete problems show promise for in use since the late twenties offered “perfect secrecy” (a cryptographic use, current understanding of their diffi- form of unconditional security). The provably secure culty includes only worst casea nalysis. For cryptographic systems investigated by Shannon rely on the use of either purposes,t ypical computational costs must be considered. a key whose length grows linearly with the length of the If, however, we replace worst casec omputation time with messageo r on perfect source coding and are therefore too average or typical computation time as our complexity unwieldy for most purposes. We note that neither public measure,t he current proofs of the equivalencesa mong the key cryptosystemsn or one-waya uthentication systemsc an NPcomplete problems are no longer valid. This suggests be unconditionally secureb ecauset he public information several interesting topics for research. The ensemble and always determines the secret information uniquely among typicality concepts familiar to information theorists have the members of a finite set. With unlimited computation, an obvious role to play. the problem could therefore be solved by a straightforward We can now identify the position of the general search. cryptanalytic problem among all computational prob- The past decadeh as seent he rise of two closely related lems. disciplines devoted to the study of the costs of computa- The cryptanalytic difficulty of a system whose en- tion: computational complexity theory and the analysis of cryption and decryption operations can be done in P time algorithms. The former has classified known problems in cannot be greater than NP. computing into broad classesb y difficulty, while the latter To seet his, observet hat any cryptanalytic problem can has concentrated on finding better algorithms and be solved by finding a key, inverse image, etc., chosenf rom studying the resources they consume. After a brief di- a finite set. Chooset he key nondeterministically and verify gression into complexity theory, we will examine its ap- in Ptime that it is the correct one. If there are M possible plication to cryptography, particularly the analysis of keys to choosef rom, an M-fold parallelism must be em- one-way functions. ployed. For example in a known plaintext attack, the A function is said to belong to the complexity classP (for plaintext is encrypted simultaneously under each of the polynomial) if it can be computed by a deterministic keys and compared with the cryptogram. Since, by as- Turing Machine in a time which is bounded aboveb y some sumption, encryption takes only P time, the cryptanalysis polynomial function of the length of its input. One might takes only NP time. think of this as the classo f easily computed functions, but We also observet hat the general cryptanalytic problem it is more accurate to say that a function not in this class is NP complete. This follows from the breadth of our must be hard to compute for at least some inputs. There definition of cryptographic problems. A one-way function are problems which are known not to be in the class P [13, with an NP complete inverse will be discussed next. pp. 405-4251. Cryptography can draw directly from the theory of NP There are many problems which arise in engineering complexity by examining the way in which NY complete which cannot be solved in polynomial time by any known problems can be adapted to cryptographic use. In partic- techniques, unless they are run on a computer with an ular, there is an NP complete problem known as the unlimited degree of parallelism. These problems may or knapsack problem which lends itself readily to the con- may not belong to the class P, but belong to the class NP struction of a one-way function. (for nondeterministic, polynomial) of problems solvable Let y = f(x) = a . x where a is a known vector of n in- in polynomial time on a “nondeterministic” computer (i.e., tergers (al,az, . -. ,a,) and x is a binary n-vector. Calcu- one with an unlimited degree of parallelism). Clearly the lation of y is simple, involving a sum of at most n integers. class NP includes the class P, and one of the great open The problem of inverting f is known as the knapsack questions in complexity theory is whether the class NPis problem and requires finding a subseto f the (ai) which sum strictly larger. toy. Among the problems known to be solvable in NP time, Exhaustive search of all 2n subsetsg rows exponentially but not known to be solvable in P time, are versions of the and is computationally infeasible for n greater than 100 traveling salesmanp roblem, the satisfiability problem for or so. Care must be exercised, however, in selecting the propositional calculus, the knapsack problem, the graph parameters of the problem to ensuret hat shortcuts are not coloring problem, and many scheduling and minimization possible.F or example if n = 100a nd eacha i is 32 bits long, problems [13, pp. 363-4041,[ 14]. We seet hat it is not lack y is at most 39 bits long, and f is highly degenerate; re- 654 IEEE TRANSACTIONS ON INFORMATION THEORY, NOVEMBER 1976 quiring on the average only 238t ries to find a solution. The failure of numerous attempts to demonstrate the Somewhat more trivially, if ai = 2i-1 then inverting f is soundnesso f cryptographic systems by mathematical proof equivalent to finding the binary decomposition of y. led to the paradigm of certification by cryptanalytic attack This example demonstrates both the great promise and set down by Kerchoffs [2, p. 2341i n the last century. Al- the considerable shortcomings of contemporary com- though some general rules have been developed, which aid plexity theory. The theory only tells us that the knapsack the designer in avoiding obvious weaknesses,t he ultimate problem is probably difficult in the worst case.T here is no test is an assault on the system by skilled cryptanalysts indication of its difficulty for any particular array. It ap- under the most favorable conditions (e.g., a chosen plain- pears, however, that choosing the {ai) uniformly from text attack). The development of computers has led for the {O,i,Z, * - - ,2n-l] results in a hard problem with probability first time to a mathematical theory of algorithms which can oneasn-m. begin to approach the difficult problem of estimating the Another potential one-way function, of interest in the computational difficulty of breaking a cryptographic analysis of algorithms, is exponentiation mod q, which was system. The position of mathematical proof may thus come suggested to the authors by Prof. John Gill of Stanford full circle and be reestablished as the best method of cer- University. The one-wayness of this functions has already tification. been discussed in Section III. The last characteristic which we note in the history of cryptography is the division between amateur and pro- VII. HISTORICALPERSPECTIVE fessional cryptographers. Skill in production cryptanalysis has always been heavily on the side of the professionals, While at first the public key systems and one-way au- but innovation, particularly in the design of new types of thentication systems suggested in this paper appear to be cryptographic systems, has come primarily from the am- unportended by past cryptographic developments, it is ateurs. Thomas Jefferson, a cryptographic amateur, in- possible to view them as the natural outgrowth of trends vented a system which was still in use in World War II [2, in cryptography stretching back hundreds of years. pp. 192-1951,w hile the most noted cryptographic system Secrecy is at the heart of cryptography. In early cryp- of the twentieth century, the rotor machine, was invented tography, however, there was a confusion about what was simultaneously by four separate people, all amateurs [2, to be kept secret. Cryptosystems such as the Caesar cipher pp. 415,420,422-4241. We hope this will inspire others to (in which each letter is replaced by the one three places work in this fascinating area in which participation has further on, so A is carried to D, B to E, etc.) depended for been discouraged in the recent past by a nearly total gov- their security on keeping the entire encryption process ernment monopoly. secret. After the invention of the telegraph [2, p. 1911,t he distinction between a general system and a specific key allowed the general system to be compromised, for exam- REFERENCES ple by theft of a cryptographic device, without comprom- ising future messagese nciphered in new keys. This prin- [I] R. Merkle, “Secure communication over an insecure channel,” ciple was codified by Kerchoffs [2, p. 2351w ho wrote in submitted to Communications of the ACM. 1881 that the compromise of a cryptographic system [2] D. Kahn, The Codebreakers, The Story of Secret Writing. New York: Macmillan, 1967. should cause no inconvenience to the correspondents. [3] C. E. Shannon, “Communication theory of secrecy systems,” Bell About 1960, cryptosystems were put into service which Syst. Tech. J., vol. 28, pp. 656-715, Oct. 1949. were deemed strong enough to resist a known plaintext [4] M. E. Hellman, “An extension of the Shannon theory approach to cryptography,” submitted to IEEE Trans. Inform. Theory, Sept. cryptanalytic attack, thereby eliminating the burden of 1975. keeping old messagess ecret. Each of these developments [5] W. Diffie and M. E. Hellman, “Multiuser cryptographic techniques,” decreased the portion of the system which had to be pro- presented at National Computer Conference, New York, June 7-10, 1976. tected from public knowledge, eliminating such tedious [6] D. Knuth, The Art of Computer Programming, Vol. 2, Semi- expedients as paraphrasing diplomatic dispatches before Numerical Algorithms. Reading, MA.: Addison-Wesley, 1969. they were presented. Public key systems are a natural [7] --, The Art of Computer Programming, Vol. 3, Sorting and Searching. Reading, MA.: Addison-Wesley, 1973. continuation of this trend toward decreasing secrecy. [S] S. Pohlig and M. E. Hellman, “An improved algorithm for com- Prior to this century, cryptographic systems were limited puting algorithms in GF(p) and its cryptographic significance,” to calculations which could be carried out by hand or with submitted to IEEE Trans. Inform. Theorv. [9] M. V. Wilkes, Time-Sharing Computer Systems. New York: El- simple slide-rule-like devices. The period immediately sevier, 1972. after World War I saw the beginning of a revolutionary [lo] A. Evans, Jr., W. Kantrowitz, and E. Weiss, “A user authentication trend which is now coming to fruition. Special purpose system not requiring secrecy in the computer,” Communications of the ACM, vol. 17, pp. 437-442, Aug. 1974. machines were developed for enciphering. Until the de- 1111G . B. Purdy, “A high security log-in procedure,” Communications velopment of general purpose digital hardware, however, of the ACM, vol. 17, pp. 442-445, Aug. 1974. cryptography was limited to operations which could be 1121W . Diffie and M. E. Hellman, “Cryptanalysis of the NBS data en- cryption standard” submitted to Computer, May 1976. performed with simple electromechanical systems. The [I31 A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and development of digital computers has freed it from the Analysis of Computer Algorithms. Reading, MA.: Addison- limitations of computing with gears and has allowed the Wesley, 1974. [I41 R. M, Karp, “Reducibility among combinatorial problems,” in search for better encryption methods according to purely Complexity of Computer Computations. R. E. Miller and J. W. cryptographic criteria. Thatcher, Eds. New York: Plenum, 1972, pp. 855104.