throbber
644
`
`JEEE TRANSACTIONS ON INFORMM‘ION THEORY, vOL. 11222, No. 6, NOVEMBER 191's
`
`New Directions in Cryptography
`
`Invited Paper
`
`WHITFIELD DIFFIE m) MARTIN E. HELLMAN, MEMBER, IEEE
`
`Abstract—Two kinds of contemporary developments in cryp-
`tography are examined. Widening applications of teleprocessing
`have given rise to a need for new types of cryptographic systems,
`which minimize the need for secure key distribution channels and
`supply the equivalent of a written signature. This paper suggests
`ways to solve these currently open problems. It also discusses how
`the theories of communication and computation are beginning to
`provide the tools to solve cryptographic problems of long stand-
`mg.
`
`I.
`
`INTRODUCTION
`
`E STAND TODAY on the brink of a revolution in
`
`cryptography. The development of cheap digital
`hardware has freed it from the design limitations of me—
`chanical computing and brought the cost of high grade
`cryptographic devices down to where they can be used in
`such commercial applications as remote cash dispensers
`and c0mputer terminals. In turn, such applications create
`a need for new types of cryptographic systems which
`minimize the necessity of secure key distribution channels
`and supply the equivalent of a written signature. At the
`same time, theoretical developments in information theory
`and computer science show promise of providing provably
`secure cryptosystems, changing this ancient art into a
`science.
`
`The development of computer controlled communica-
`tion networks promises effortless and inexpensive contact
`between people or computers on opposite sides of the
`world, replacing most mail and many excursions with
`telecommunications. For many applications these contacts
`must be made secure against both eavesdropping and the
`injection of illegitimate messages. At present, however, the
`solution of security problems lags well behind other areas
`of communications technology. Contemporary cryp-
`tography is unable to meet the requirements, in that its use
`would impose such severe inconveniences on the system
`users, as to eliminate many of the benefits of teleprocess-
`mg.
`
`Manuscript received June 3, 1916. This work was partially supported
`by the National Science Foundation under NSF Grant ENG 10173.
`Portions of this work were presented at the IEEE Information Theory
`Workshop,'i.enox . MA, June 23—25, 1975 and the IEEE International
`hgfisposium on Information Theory in Ronneby, Sweden, June 21—24,
`W. Diffic is with the Department of Electrical Engineering, Stanford
`University, Stanford, CA, and the Stanford Artificial Intelligence Lab-
`oratory, Stanford. CA 94305.
`M. E. Hellman is with the Department of Electrical Engineering,
`Stanford University, Stanford. CA 94305.
`
`The best known cryptographic problem is that of pri-
`vacy: preventing the unauthorized extraction of informa-
`tion from communications over an insecure channel. In
`order to use cryptography to insure privacy, however, it is
`currently necessary for the communicating parties to share
`a key which is known to no one else. This is done by send-
`ing the key in advance over some secure channel such as
`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
`enough for keys to be transmitted by some physical means.
`- The cost and delay imposed by this key distribution
`problem is a major barrier to the transfer of business
`communications to large teleprocessing networks.
`Section 111 proposes two approaches to transmitting
`keying information over public (i.e., insecure) channels
`without compromising the security of the system. In a
`public key cryptosystem enciphering and deciphering are
`governed by distinct keys, E and D, such that computing
`D from E is computationally infeasible (e.g., requiring
`10100 instructions). The enciphering key E can thus be
`publicly disclosed without compromising the deciphering
`key D. Each user of the network can, therefore, place his
`enciphering key in a public directory. This enables any user
`of the system to send a message to any other user enci-
`phered in such a way that only the intended receiver is able
`to decipher it. As such, a public key cryptosystern is a
`multiple access cipher. A private conversation can there-
`fore be held between any two individuals regardless of
`whether they have ever communicated before. Each one
`sends messages to the other enciphered in the receiver's
`public enciphering key and deciphers the messages he re-
`ceives using his own secret deciphering key.
`We propose some techniques for developing public key
`cryptosystems, but the problem is still largely open.
`Pubtr'c key distribution systems offer a different ap-
`proach to eliminating the need for a secure key distribution
`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-
`change must find it computationally infeasible to compute
`the key from the information overheard. A posaible solu—
`tiori to the public key distribution problem is given in
`Section III, and Merkle [1] has a partial solution of a dif—
`ferent form.
`
`A second problem, amenable to cryptographic solution,
`which stands in the way of replacing contemporary busi-
`
`CHASE EX. 1015 - p. 1/11
`
`CHASE EX. 1015 - p. 1/11
`
`

`

`DIFFIE AND HELLMAN: NEW DIRECTIONS IN CRYP'I‘OGRAPHY
`
`645
`
`ness communications by teleprocessing systems is au-
`thentication. In current business, the 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. The use of signatures, how-
`ever, requires the transmission and storage of written
`contracts. In order to have a purely digital replacement for
`this paper instrument, each user must be able to produce
`a message whose authenticity can be checked by anyone,
`but which could not have been produced by anyone else,
`even the recipient. Since only one person can originate
`messages but many people can receive messages, this can
`be viewed as a broadcast cipher. Current electronic au—
`thentication techniques cannot meet this need.
`Section IV discusses the problem of providing a true,
`digital, message dependent signature. For reasons brought
`out there, we refer to this as the one-way authentication
`problem. Some partial solutions are given, and it is shown
`how any public key cryptosystem can be transformed into
`a one-way authentication system.
`Section V will consider the interrelation of various
`
`cryptographic problems and introduce the even more
`difficult problem of trap doors.
`At the same time that communications and computation
`have given rise to new cryptographic problems, their off—
`spring, information theory, and the theory of computation
`have begun to supply tools for the solution of important _
`problems in classical cryptography.
`The search for unbreakable codes is one of the oldest
`
`themes of cryptographic research, but until this century
`all proposed systems have ultimately been broken. In the
`nineteen twenties, however, the “one time pad” was in-
`vented, and shown to be unbreakable [2, pp. 398-400]. The
`theoretical basis underlying this and related systems was
`put on a firm foundation a quarter century later by infor-
`mation theory [3}. One time pads require extremely long
`keys and are therefore prohibitively expensive in most
`applications.
`In contrast, the security of most cryptographic systems
`resides in the computational difficulty to the cryptanalyst
`of discovering the plaintext without knowledge of the key.
`This problem falls within the domains of computational
`complexity and analysis of algorithms, two recent disci-
`plines which study the difficulty of solving computational
`problems. Using the results of these theories, it may be
`possible to extend proofs of security to more useful classes
`of systems in the foreseeable future. Section VI explores
`this possibility.
`Before proceeding to newer developments, we introduce
`terminology and define threat environments in the next
`section.
`
`II. CONVENTIONAL CRYP'I‘OGRAPHY
`
`Cryptography is the study of “mathematical” systems
`for solving two kinds of security problems: privacy and
`authentication. A privacy system prevents the extraction
`of information by unauthorized parties from messages
`
`
` MESS fiGE
`
`SOU RCE
`
`SOURCE
`
`Fig. 1. Flow of information in conventional cryptographic system.
`
`transmitted over a public channel, thus assuring the sender
`of a message that it is being read only by the intended re-
`cipient. An authentication system prevents the unauthor -
`_ ized injection of messages into a public channel, assuring
`the receiver of a message of the legitimacy of its sender.
`A channel is considered public if its security is inade—
`quate for the needs of its users. A channel such as a tele-
`phone line may therefore be considered private by some
`users and public by others. Any channel may be threatened
`with eavesdropping or injection or both, depending on its
`use. In telephone c0mmunication, the threat of injection
`is paramount, since the called party cannot determine
`which phone is calling. Eavesdropping, which requires the
`use of a wiretap, is technically more difficult and legally
`hazardous. In radio, by comparison, the situation is re-
`versed. Eavesdropping is passive and involves no legal
`hazard, while injection exposes the illegitimate transmitter
`to discovery and prosecution.
`Having divided our problems into those of privacy and
`authentication we will sometimes further subdivide au-
`thentication into message authentication, which is the
`problem defined above, and user authentication, in which
`the only task of the system is to verify that an individuai
`is who he claims to be. For example, the identity of an in-
`dividual who presents a credit card must be verified, but
`there is no message which he wishes to transmit. In spite
`of this apparent absence of a message in user authentica-
`tion, the two problems are largely equivalent. In user au~
`thentication, there is an implicit message “I AM USER X,”
`while message authentication is just verification of the
`identity of the party sending the message. Differences in
`the threat environments and other aspects of these two
`subproblems, however, sometimes make it Convenient to
`distinguish between them.
`Fig. 1 illustrates the flow of information in a conven-
`tional cryptographic system used for privacy of commu—
`nications. There are three parties: a transmitter, a receiver,
`and an eavesdropper. The transmitter generates a plain-
`text or unenciphered message P to be communicated over
`an insecure channel to the legitimate receiver. In order to
`prevent the eavesdropper from learning P, the transmitter
`operates on P with an invertible transformation SK to
`produce the ciphertext or cryptogram C = SK (P). The key
`K is transmitted only to the legitimate receiver via a secure
`channel, indicated by a shielded path in Fig. 1. Since the
`legitimate receiver knows K, he can decipher C by oper-
`ating with Sg‘l to obtain SK_1{C} = SK—1(SK{P)) = P,
`the original plaintext message. The secure channel cannot
`
`CHASE EX. 1015 - p. 2/11
`
`CHASE EX. 1015 - p. 2/11
`
`

`

`646
`
`IEEE TRANSACTIONS ON-
`
`INFORMATION THEORY, NOVEMBER 1973
`
`be used to transmit P itself for reasons of capacity or delay.
`For example, the secure channel might be a weekly courier
`and the insecure channel a telephone line.
`A cryptographic system is a single parameter family
`ISKlKaK} of invertible transformations
`
`szfPl —- {Cl
`
`(1)
`
`from a space {P} of plaintext messages to a space {C} of ci-
`phertext messages. The parameter K is called the key and
`is selected from a finite set {Kl called the keyspace. If the
`message spaces {Pi and {C} are equal, we will denote them
`both by {M}. When discussing individual cryptographic
`transformations Sa, we will sometimes omit mention of
`the system and merely refer to the transformation K.
`The goal in designing the cryptosystem {SK} is to make
`the enciphering and deciphering operations inexpensive,
`but to ensure that any successful cryptanalytic operation
`is too complex to be economical. There are two approaches
`to this problem. A system which is secure due to the com-
`putational cost of cryptanalysis. but which would succumb
`to an attack with unlimited computation, is called com-
`putationatly secure; while a system which can resist any
`cryptanalytic attack, no matter how much computation
`is allowed,
`is called unconditionally secure. Uncondi-
`tionally secure systems are discussed in [3] and [4] and
`belong to that portion of information theory, called the
`Shannon theory, which is concerned with optimal perfor-
`mance obtainable with unlimited computation.
`'
`Unconditional security results from the existence of
`multiple meaningful solutions to a cryptogram. For ex—
`ample, the simple substitution cryptogram XMD resulting
`from English text can represent the plaintext messages:
`now, and, the, etc. A computationally secure cryptogram,
`in contrast, contains sufficient information to uniquely
`determine the plaintext and the key. Its security resides
`solely in the cost of computing them.
`The only unconditionally secure system in common use
`is the one time pad, in which the plaintext is combined
`with a randomly chosen key of the same length. While such
`a system is provably secure, the large amount of key re-
`quired makes it impractical for most applications. Except
`as otherwise noted, this paper deals with computationally
`secure systems since these are more generally applicable.
`When we talk about the need to develop provably secure
`cryptosystems we exclude those, such as the one time pad,
`which are unwieldly to use. Rather, we have in mind sys—
`tems using only-a few: hundred bits of key and imple-
`mentable in either a small amount of digital hardware or
`a few hundred lines ofsoftware.
`We will call a task computationally infeasible if its cost
`as measured by either the amount of memory used or the
`runtime is finite but impossibly large.
`Much as error correcting codes are divided into convo-
`lutional and block codes, cryptographic systems can be
`divided into two broad classes: stream ciphers and block
`ciphers. Stream ciphers process the plaintext in small
`chunks (bits or characters}, usually producing a pseudo—
`random sequence of bits which is added modulo 2 to the
`
`bits of the plaintext. Block ciphers act in a purely combi-
`natorial fashion on large blocks of text, in such a way that
`a small change in the input block produces a major change
`in the resulting output. This paper deals primarily with
`block-ciphers, because this error propagation property is
`valuable in many authentication applications.
`In an authentication system, cryptography is used to
`guarantee the authenticity of the message to the receiver.
`Not only must a meddler be prevented from injecting to-
`tally new, authentic looking messages into a channel, but
`he must be prevented from creating apparently authentic
`messages by combining, or merely repeating, old messages
`which he has copied in the past. A cryptographic system
`intended to guarantee privacy will not, in general, prevent
`this latter form of mischief.
`
`To guarantee the authenticity of a message, information
`is added which is a function not only of the message and
`a secret key, but of the date and time as well; for example,
`by attaching the date and time to each message and en-
`crypting the entire sequence. This assures that only
`someone who possesses the key can generate a message
`which, when decrypted, will contain the proper date and
`time. Care must be taken, however, to use a system in
`which small changes in the ciphertext result in large
`changes in the deciphered plaintext. This intentional error
`propagation ensures that if the deliberate injection of noise
`on the channel changes a message such as “erase file 7” into
`a different message such as “erase file 8,’.’ it will also cor-
`rupt the authentication information. The message will
`then be rejected as inauthentic.
`The first step in assessing the adequacy of cryptographic
`systems is to classify the threats to which they are to be
`subjected. The following threats may occur to crypto-
`graphic systems employed for either privacy or authenti-
`cation.
`
`A ciphertext only attack is a cryptanalytic attack in
`which the cryptanalyst possesses only ciphertext.
`A known plaintext attack is a cryptanalytic attack in
`which the cryptanalyst possesses a substantial quantity
`of corresponding plaintext and ciphertext.
`A chosen piaintext attack is a cryptanalytic attack in
`which the cryptanalyst can submit an unlimited number
`of plaintext messages of his own choosing and examine the
`resulting cryptograms.
`In all cases it is assumed that the opponent knows the
`general system {SK} in use since this information can be
`obtained by studying a cryptographic device. While many
`users of cryptography attempt to keep their equipment
`secret, many commercial applications require not only that
`the general system be public but that it be‘ standard.
`A ciphertext only attack occurs frequently in practice.
`The cryptanalyst uses only knowledge of the statistical
`properties of the language in use (e.g., in English, the letter
`e occurs 13 percent of the time} and knowledge of certain
`“probable” words (e.g., a letter probably begins “Dear
`Sir:”). It is the weakest threat to which a system can be
`subjected, and any system which succumbs to it is con-
`sidered totally insecure.
`
`CHASE EX. 1015 - p. 3/11
`
`CHASE EX. 1015 - p. 3/11
`
`

`

`DIFFIE AND HELLMAN: NEW DIRECTIONS IN CRYP'I‘OGRAPHY
`
`647
`
`system itself. The receiver‘s password tables and other
`authentication data are then more vulnerable to theft than
`those of the transmitter (an individual user}. As shown
`later, some techniques for protecting against this threat
`also protect against the threat of dispute. That is, a mes—
`sage may he sent but later repudiated by either the
`transmitter or the receiver. Or, it may be alleged by either
`party that a message was sent when in fact none was. Un-
`forgeable digital signatures and receipts are needed. For
`example, a dishonest stockbroker might try to cover up
`unauthorized buying and selling for personal gain by
`forging orders from clients, or a client might disclaim an
`order actually authorized by him but which he later sees
`will cause a loss. We will introduce concepts which allow
`the receiver to verify the authenticity of a message, but
`prevent him from generating apparently authentic mes-
`sages, there by protecting against both the threat of com-
`promise of the receiver‘s authentication data and the
`threat of dispute.
`
`Ill. PUBLIC KEY CRYPTOGRAPHY
`
`As shown in Fig. 1, cryptography has been a derivative
`security measure. Once a secure channel exists along which
`keys can be transmitted, the security can be extended to
`other channels of higher bandwidth or smaller delay by
`encrypting the messages sent on them. The effect has been
`to limit the use of cryptography to communications among
`people who have made prior preparation for cryptographic
`security.
`in order to develop large, secure, telecommunications
`systems, this must be changed. A large number of users n.
`results in an even larger number, (n2 — all? potential pairs
`who may wish to communicate privately from all others.
`It is unrealistic to assume either that a pair of users with
`no prior acquaintance will be able to wait for a key to be
`sent by some secure physical means, or that keys for all {a2
`- nJKiZ pairs can be arranged in advance. In another paper
`15], the authors have censiderecl a conservative approach
`requiring no new development in cryptography itself, but
`this involves diminished security, inconvenience, and re-
`striction of the network to a starlike configuration with
`respect to initial connection protocol.
`We propose that it is possible to develop systems of the
`type shown in Fig. 2, in which two parties communicating
`solely over a public channel and using only publicly known
`techniques can create a secure connection. We examine two
`approaches to this problem, called public key cryptosys—
`
`Ap
`
`.-
`
`CHTPTQNALYST -
`
`RECEIVER
`
`
`
`KEY
`SOURCE #2
`
`messnss
`P
`SOURCE
`
`
`
`
`
`
`TRANSMITTER
`
`KEY
`SOUHCE#|
`
`
`
`
`
`
`
`Fig. 2. Flow of information in public key system.
`
`CHASE EX. 1015 - p. 4/11
`
`A system which is secure against a known plaintext at—
`tack frees its users from the need to keep their past mes-
`sages secret, or to paraphrase them prior to declassifica-
`tion. This is an unreasonable burden to place on the sys-
`tem’s users, particularly in commercial situations where
`product announcements or press releases may be sent in
`encrypted form for later public disclosure. Similar situa-
`tions in diplomatic correspondence have led to the cracking
`of many supposedly secure systems. While a known
`plaintext attack is not always possible, its occurrence is
`frequent enough that a system which cannot resist it is not
`considered secure.
`
`A chosen plaintext attack is difficult to achieve in
`practice, but can be approximated. For example, submit-
`ting a proposal to a competitor may result in his enci-
`phering it for transmission to his headquarters. A cipher
`which is secure against a chosen plaintext attack thus frees
`its users from concern over whether their opponents can
`plant messages in their system.
`For the purpose of certifying systems as secure, it is
`appropriate to consider the more formidable cryptanalytic
`threats as these not only give more realistic models of the
`working environment of a cryptographic system, but make
`the assessment of the system’s strength easier. Many sys»
`tems which are difficult to analyze using a ciphertext only
`attack can be ruled out immediately under known plain-
`text or chosen plaintext attacks.
`As is clear from these definitions, cryptanalysis is a
`system identification problem. The known plaintext and
`chosen plaintext attacks correspond to passive and active
`system identification problems, respectively. Unlike many
`subjects in which system identification is considered, such
`as automatic fault diagnosis, the goal in cryptography is
`to build systems which are difficult, rather than easy, to
`identify.
`The chosen plaintext attack is often called an IFF atA
`tack, terminology which descends from its origin in the
`development of cryptographic “identification friend or
`foe” systems after World War II. An IFF system enables
`military radars to distinguish between friendly and enemy
`planes automatically. The radar sends a time-varying
`challenge to the airplane which receives the challenge,
`encrypts it under the appropriate key, and sends it back to
`the radar. By comparing this response with a correctly
`encrypted version of the challenge, the radar can recognize
`a friendly aircraft. While the aircraft are over enemy ter-
`ritory, enemy cryptanalysts can send challenges and ex-
`amine the encrypted responses in 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, which
`need not be unpredictable, but only nonrepeating.
`There are other threats to authentication systems which
`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
`
`CHASE EX. 1015 - p. 4/11
`
`

`

`648
`
`IEER TRANSAC'I'JONS oN INFORMA'I‘ION THEORY. novsmses 1976
`
`tems and public key distribution systems, respectively.
`The first are more powerful, lending themselves to the
`solution of the authentication problems treated in the next
`section, while the second are much closer to realization.
`A public key cryptosystem.
`is a pair of families
`{EKiK 51K; and iDKlKE IX} of algorithms representing
`invertible transformations,
`'
`
`EKdMl "'* {Ml
`
`Dr<5lMl
`
`{M i
`
`(2)
`
`{3]
`
`on a finite message space {M}, such that
`
`1) for everyK E {K}, ER is the inverse of UK,
`2) for every K E {K} and M E {M}, the algorithms ER
`and DK are easy to compute,
`3) for almost every K E {K}, each easily computed al-
`gorithm equivalent to UK is computationally in~
`feasible to derive from Ex,
`
`4) for every K E {K}, it is feasible to Compute inverse
`pairs ER and DK from K.
`
`Because of the third property, a user’s enciphering key
`Ex can be made public without compromising the security
`of his secret deciphering key UK. The cryptographic sys~
`tern is therefore split into two parts, a family of enciphering
`transformations and a family of deciphering transforma—
`tions in such a way that, given a member of one family, it
`is infeasible to find the corresponding member of the
`other.
`
`The fourth property guarantees that there is a feasible
`way of computing corresponding pairs of inverse trans-
`formations when no constraint is placed on what either the
`enciphering or deciphering transformation is to be. In
`practice, the cryptoequipment must contain a true random
`number generator (e.g., a noisy diode) for generating K,
`together with an algorithm for generating the Ex —- DK
`pair from its outputs.
`Given a system of this kind, the problem of key distri—
`bution is vastly simplified. Each user generates a pair of
`inverse transformations, E and D, at his terminal. The
`deciphering transformation D must be kept secret, but
`need never be communicated on any channel. The enci-
`phering key E can be made public by placing it in a public
`directory along with the user’s name and address. Anyone
`can then encrypt messages and send them to the user, but
`no one else can decipher messages intended for him. Public
`key crypmsystems can thus be regarded as multiple access
`ciphers.
`It is crucial that the public file of enciphering keys be
`protected from unauthorized modification. This task is
`made easier by the public nature of the file. Read proteC--
`tion is unnecessary and, since the file is modified infre-
`quently, elaborate write protection mechanisms can be
`economically employed.
`A suggestive, although unfortunately useless, example
`of a public key cryptosystem is to encipher the plaintext,
`represented as a binary n—vector m, by multiplying it by
`an invertible binary n X n matrix E. The cryptogram thus
`
`equals Em. Letting B = E " 1 we have m = Dc. Thus, both
`enciphering and deciphering require about n2 operations.-
`Calculation of D from E, however, involves a matrix in-
`version which is a harder problem. And it is at least con-
`ceptually simpler to obtain an arbitrary pair of inverse
`matrices than it is to invert a given matrix. Start with the
`identity matrix I and do elementary row and column op-
`erations to obtain an arbitrary invertible matrix E. Then
`starting with I do the inverses of these same elementary
`operations in reverse order to obtain I) = E“ 1. The se»
`quence of elementary operations could be easily deter-
`mined from a random bit string.
`Unfortunately, matrix inversion takes only about n3
`operations. The ratio of “cryptanalytic’l time (i.e., com-
`puting D from E) to enciphering or deciphering time is
`thus at most n, and enormous block sizes would be re—
`quired to obtain ratios of 106 or greater. Also, it does not
`appear that knowledge of the elementary operations used
`to obtain E from I greatly reduces the time for computing
`D. And, since there is no round-off error in binary arith-
`metic, numerical stability is unimportant in the matrix
`inversion. In spite of its lack of practical-utility, this matrix
`example is still useful for clarifying the relationships
`necessary in a public key cryptosystem.
`A more practical approach to finding a pair of easily
`computed inverse algorithms E and I); such that D is hard
`to infer from E, makes use of the difficulty of analyzing
`programs in low level languages. Anyone who has tried to
`determine what operation is accomplished by someone
`else’s machine language program knows that E itself (i.e.,
`what E does) can be hard to infer from an algorithm for E.
`If the program were to be made purposefully confusing
`through addition of unneeded variables and statements,
`then determining an inverse algorithm could be made very
`difficult. Of course, E must be complicated enough to
`prevent its identification from in put—output pairs.
`Essentially what is required is a one~way compiler: one
`which takes an easily understood program written in a high
`level language and translates it into an incomprehensible
`program in some machine language. The compiler is one--
`way because it must be feasible to do the compilation, but
`infeasible to reverse the process. Since efficiency in size of
`program and run time are not crucial in this application,
`such compilers may be possible if the structure of the
`machine language can be optimized to assist in the con-
`fusion.
`
`Merkle [II has independently studied the problem of
`distributing keys over an insecure channel. His approach
`is different from that of the public key cryptosystems
`suggested above, and will be termed a public key distri-
`bution system. The goal is for two users, A and B, to se—
`curely exchange a key over an insecure channel. This key
`is then used by both users in a normal cryptosyst-em for
`both enciphering and deciphering. Merkle has a solution
`whose cryptanalytic cost grows as n2 where n is the cost to
`the legitimate users. Unfortunately the cost to the legiti-
`mate users of the system is as much in transmission time
`
`as in computation, because Merkle’s protocol requires as
`
`CHASE EX. 1015 - p. 5/11
`
`CHASE EX. 1015 - p. 5/11
`
`

`

`DIFFJE AND HELLMAN: NEW DIRECTIONS IN CRYPTOGRAPHY
`
`649
`
`potential keys to be transmitted befOre one key can be
`decided on. Merkle notes that this high transmission
`overhead prevents the system from being very useful in
`practice. If a one megabit limit is placed on the setup
`protocol’s overhead, his technique can achieve cost ratios
`of approximately 10 000 to 1, which are too small for most
`applications. If inexpensive, high bandwidth data links
`become available, ratios of a million to one or greater could
`be achieved and the system would be of substantial prac-
`tical value.
`
`We now suggest a new public key distribution system
`which has several advantages. First, it requires only one
`“key" to be exchanged. Second, the cryptanalytic effort
`appears to grow exponentially in the effort of the legitimate
`users. And, third, its use can be tied to a public file of user
`information which serves to authenticate user A to user 8
`
`and vice versa. By making the public file essentially a read
`only memory, one personal appearance allows a user to
`authenticate his identity many times to many users.
`Merkle’s technique requires A and B to verify each other’s
`identities through other means.
`The new technique makes use of the apparent difficulty
`of computing logarithms over a finite field GFiq) with a
`prime number q of elements. Let
`
`Y = «(X mod q,
`
`for 1 S X S q .. 1,
`
`(4}
`
`where a is a fixed primitive element of GFUJ), then X is
`referred to as the logarithm of Y to the base a, mod q:
`
`X =loqurnod q,
`
`forl S YSq — 1.
`
`(5)
`
`Calculation of Y from X is easy, taking at most 2 X loge L}
`multiplications [6, pp. 398—422}. For example, for X =
`18,
`
`r = (x18 = «(some x as.
`
`(6)
`
`Computing X from Y, on the other hand can be much more
`difficult and, for certain carefully chosen values of q , re-
`quires on the order of (1112 operations, using the best known
`algorithm [7, pp. 9, 575-576}, [8}.
`The security of our technique depends crucially on the
`difficulty of computing logarithms mod q, and if an algo-
`rithm whose complexity grew as loggq were to be found, our
`system would be broken. While the simplicity of the
`problem statement might allow such simple algorithms,
`it might instead allow a proof of the problem’s difficulty.
`For now we assume that the best known algorithm for
`computing logs mod q is in fact close to optimal and hence
`that q”2 is a good measure of the problem’s complexity,
`for a properly chosen q.
`Each user generates an independent random number
`X, chosen uniformly from the set ofintegers [1,2, - - - ,q -
`1}. Each keeps X,- secret, but places
`
`Y,- == ax, mod q
`
`‘
`
`{7)
`
`in a public file with his name and address. When users if
`andj wish to communicate privately, they use
`
`KU- = err'X: mod q
`
`(8)
`
`as their key. User i obtains Kg,- by obtaining Y; from the
`public file and letting
`
`Ks = 13"“ mfid q
`
`== (oxilxi mod q
`
`= («A/ix" '—‘-' (rXiXi mod q.
`User j obtains KL,- in the similar fashion
`
`ij = Y5)“ mod q.
`
`{9)
`
`(10)
`
`(11)
`
`(12)
`
`Another user must compute K},- from Y,- and Y}, for ex-
`am ple. by computing
`
`1o,- = when?) mod q.
`
`(13)
`
`We thus see that if logs mod q are easily computed the
`system can be broken. Whil

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket