throbber
644
`
`IEEE
`
`TRANSACTIONS
`
`ON
`
`INFORMATION
`
`THEORY,
`
`VOL.
`
`IT-22,
`
`NO. 6, NOVEMBER
`
`1976
`
`in Cryptography
`New Directions
`Invited Paper
`
`WHITFIELD
`
`DIFFIE
`
`AND MARTIN
`
`E. HELLMAN,
`
`MEMBER,
`
`IEEE
`
`in cryp-
`developments
`kinds of contemporary
`Abstract-Two
`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-
`ing.
`
`I.
`
`INTRODUCTION
`
`W E STAND TODAY on the brink of a revolution
`
`in
`of cheap digital
`The development
`cryptography.
`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 computer
`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.
`communica-
`of computer controlled
`The development
`tion networks pron$ses 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-
`ing.
`
`received June 3,1976. This work was partially supported
`Manuscript
`by the National Science Foundation
`under NSF Grant ENG 10173.
`Portions of this work were presented at the IEEE
`Information
`Theory
`Workshop;Lenox
`, MA, June 23-25, 1975 and the IEEE
`International
`Symposium on Information
`Theory
`in Ronneby, Sweden, June 21-24,
`1976.
`of Electrical Engineering, Stanford
`is with the Department
`W. Diffie
`Universitv. Stanford. CA. and the St,anford Artificial
`IntelliPence Lab-
`Y
`oratory, g&ford,
`CIk 94.505.
`M. E. Hellman
`is with
`the Department
`of Electrical Engineering,
`Stanford University, Stanford, CA 94305.
`
`is that of pri-
`problem
`The best known cryptographic
`extraction of informa-
`vacy: preventing
`the unauthorized
`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
`III 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
`lOloo 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 cryptosystem
`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.
`ap-
`Public key distribution
`systems offer a different
`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 possible solu-
`tion
`to the public key distribution
`problem
`is given
`in
`Section
`III, and Merkle
`[l] has a partial solution of a dif-
`ferent
`form.
`solution,
`to cryptographic
`A second problem, amenable
`which stands in the way of replacing contemporary
`busi-
`
`.
`
`BlackBerry Corporation Exhibit 1019, pg. 1
`
`

`

`DIFFIE
`
`AND
`
`HELLMAN:
`
`NEW
`
`DIRECTIONS
`
`IN
`
`CRYPTOGRAPHY
`
`645
`
`by teleprocessing systems is au-
`ness communications
`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.
`of various
`Section V will consider
`the
`interrelation
`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-4001. 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.
`the security of most cryptographic systems
`In contrast,
`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
`CRYPTOGRAPHY
`systems
`Cryptography
`is the study of “mathematical”
`for solving
`two kinds of security problems: privacy and
`authentication. A privacy system prevents the extraction
`of information
`by unauthorized
`parties
`from messages
`
`KEY
`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 authenticationsystemprevents
`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 communication,
`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.
`into those of privacy and
`Having divided our problems
`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 individual
`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.
`in a conven-
`Fig. 1 illustrates
`the flow of information
`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 onlv 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 SK-~ to obtain SK-~(C) = SK-~(SK(P))
`= P,
`the original plaintext message. The secure channel cannot
`
`BlackBerry Corporation Exhibit 1019, pg. 2
`
`

`

`646
`
`IEEE
`
`TRANSACTIONS
`
`ON
`
`INFORMATION
`
`THEORY.
`
`NOVEMBER
`
`1976
`
`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
`{SKJK~~I(~ of invertible
`transformations
`
`family
`
`(1)
`- WI
`SdPl
`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 (K) called the keyspace. If the
`message spaces (PI and {C) are equal, we will denote them
`both by (M). When discussing
`individual
`cryptographic
`transformations
`SK, 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-
`putationally
`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 of software.
`if its cost
`infeasible
`We will call a task computationally
`as measured by either
`the amount of memory used or the
`runtime
`is finite but impossibly
`large.
`into convo-
`Much as error correcting codes are divided
`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.
`is used to
`In an authentication
`system, cryptography
`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.
`of a message, information
`To guarantee the authenticity
`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.
`attack
`is a cryptanalytic
`only attack
`A ciphertext
`which
`the cryptanalyst
`possesses only ciphertext.
`in
`A known plaintext
`attack
`is a cryptanalytic
`attack
`which
`the cryptanalyst
`possesses a substantial
`quantity
`of corresponding
`plaintext
`and ciphertext.
`in
`attack
`A chosen plaintext
`attack
`is a cryptanalytic
`number
`which
`the cryptanalyst
`can submit an unlimited
`of plaintext messages of his own choosing and examine the
`resulting cryptograms.
`the opponent knows the
`In all cases it is assumed that
`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.
`
`in
`
`BlackBerry Corporation Exhibit 1019, pg. 3
`
`

`

`DIFFIE
`
`AND
`
`HELLMAN:
`
`NEW
`
`DIRECTIONS
`
`IN
`
`CRYPTOGRAPHY
`
`647
`
`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.
`in
`to achieve
`is difficult
`attack
`A chosen plaintext
`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.
`systems as secure, it is
`For the purpose of certifying
`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.
`is a
`cryptanalysis
`As is clear from
`these definitions,
`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.
`is often called an IFF at-
`The chosen plaintext attack
`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
`
`tables and other
`system itself. The receiver’s password
`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‘ be 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, thereby protecting against both the threat of com-
`promise of the receiver’s authentication
`data and the
`threat of dispute.
`
`III. 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 - n)/2 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 (n2
`n)/2 pairs can be arranged in advance. In another paper
`th e authors have considered a conservative approach
`ii
`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-
`
`Fig. 2. Flow of information
`
`in public key system.
`
`BlackBerry Corporation Exhibit 1019, pg. 4
`
`

`

`64X
`
`IEEE
`
`TRANSACTJONS
`
`ON
`
`INFORMATION
`
`THEORY,
`
`NOVEMBER
`
`1976
`
`respectively.
`terns and public key distribution
`systems,
`lending
`first are more powerful,
`themselves
`to the
`The
`solution of the authentication
`problems
`treated
`in the next
`section, while t,he second are much closer to reahzation.
`A public
`key cryptosystem
`is a pair of
`families
`
`ID K K E JRJ of algorithms 1
`representing
`PKIK E (KI and
`invertible
`transformations,
`
`I&:(Mj
`D[(:(M)
`
`-+ {M)
`--- *’ {M)
`
`(2)
`(3)
`
`equals Em. Letting B = Em l 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
`inverse
`pair of
`matrices
`than it is to invert a given mabrix, St.art with
`the
`row and column op-
`identity matrix
`I and do elementary
`erations
`to obtain an arbitrary
`invertible matrix E. Then
`I do the inverses of these same elementary
`starting with
`operations
`in reverse order
`to obtain 61 - E--l. The se-
`quence of elementary
`operations
`could be easi1.y deter-
`mined
`from a random bit string.
`takes only a.bout n3
`Unfortunately,
`matrix
`inversion
`The ratio of “cryptanalytic”
`time
`(i.e., com-
`operations.
`puting D from E)
`to enciphering
`or deciphering
`t,ime is
`thus at most n, and enormous block sizes would be re-
`quired
`to obtain
`ratios of 3 O6 or greater. Also, it does not
`appear that knowledge of the element,ary operat.ions used
`to obtain E from I greatly reduces the time for computing
`D. And, since there is no round-off
`error
`in binary arith-
`is unimportant
`in the matrix
`metic, numerical
`stability
`inversion.
`In spite of its lack of practicaleutility,
`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 D; such that, D is hard
`from E, makes use of the difficulty
`of analyzing
`to infer
`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 umleeded 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
`input-output
`pairs.
`Essentially what is required
`is a one-way compiler: one
`which takes an easily understood program writ,ten in a h.igh
`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 compila.tion, 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 struct,ure of the
`machine
`language can be optimized
`to assist in the con-
`fusion.
`the problem of
`studied
`[I] has independently
`Merkle
`keys over an insecure channel. His approach
`distributiug
`from
`that of the public key cryptosystems
`is different
`suggested above, and will be termed a public key distri-
`.users, A and B, to se-
`bution system. The goal is for
`two
`curely exchange a key over an insecure charmel. This key
`for
`is then used by both users in a normal cryptosystem
`both enciphering and deciphering. Merkle bas a solu.tion
`whose crypt,analytic cost grows as n,2 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 n
`
`to compute
`
`inverse
`
`3)
`
`4)
`
`on a finite message space
`(MJ, such
`that
`1)
`for every K E {Kb EK is the inverse of DK,
`for every K E {KJ and M E (MI, the algorithms EK
`2)
`and DK are easy to compute,
`for almost every K E (KJ, each easily computed al-
`gorithm
`equivalent
`to Df(
`is computationally
`in-
`feasible
`to derive
`from EK,
`for every K E {K), it is feasible
`pairs EK and DK from K.
`key
`Because of the third property, a user’s enciphering
`the security
`EK can be made public without compromising
`of his secret deciphering
`key DK. The cryptographic
`sys-
`tem is therefore split into two parts, a family of enciphering
`transformations
`and a family of deciphering
`transforma-
`it
`tions
`in such a way that, given a member of one family,
`is infeasible
`to find
`the corresponding member of the
`other.
`is a feasible
`that
`The fourth property guarantees
`there
`pairs of inverse
`trans-
`way of computing
`corresponding
`is placed on what either the
`formations when no constraint
`enciphering
`or deciphering
`transformation
`is to be. In
`practice, the cryptoequipment must contain a true random
`number generator
`(e.g., a noisy diode)
`for generat,ing K,
`together with an algorithm
`for generating
`the EK ~- n,
`pair from
`its outputs.
`the problem of key distri-
`Given a system of this kind,
`simplified.
`Each user generates a pair of
`bution
`is vastly
`inverse
`transformations,
`E and D, at his terminal. The
`deciphering
`transforrnation
`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 inbended for him. Public
`key cryptosystems can thus be regarded as multiple access
`ciphers.
`keys be
`file of enciphering
`the public
`that
`It is crucial
`task
`is
`protected
`from unauthorized modification.
`This
`file. Read prot,ec
`made easier by the public nature of the
`is modified
`infre-
`tion
`is unnecessary and, since the file
`quently,
`elaborate write protection mechanisms
`can be
`economically employed.
`useless, example
`A suggestive, although unfortunate!.y
`is to encipher
`the plaintext,
`of a public key cryptosystem
`n-vector m, by multiplying
`it by
`represented
`as a binary
`an invertible binary n X n matrix E. The cryptogram
`thus
`
`BlackBerry Corporation Exhibit 1019, pg. 5
`
`

`

`DIFFIE
`
`AND
`
`IIELLMAN:
`
`NEW
`
`DIRECTIONS
`
`IN
`
`CRYPTOGRAPHY
`
`649
`
`before orie key can be
`keys to be transmitted
`potential
`this high
`transmission
`decided on. Merkle not.es that
`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.
`system
`We now suggest a new public key distribution
`First,
`it requires only one
`which has several advantages.
`“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 B
`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 GF(q) with a
`prime number q of elements. Let
`forl_<XIq-1,
`Y = crx mod q1
`(4)
`where 01 is a fixed primit,ive element of GE’(q), then X is
`referred
`to as the logarithm of Y to the base 01, mod q:
`
`X = log, Y mod q,
`
`(5)
`Calculation of Y from X is easy, taking at most 2 X log2 q
`multiplications
`[6, pp. 398-4221. For example,
`for X =
`1%
`
`forl<YIq-1.
`
`y = ,I8 = (((u.“)2)“)2 x *2.
`
`(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 qlk operations, using the best known
`algorithm
`[7, pp. 9, 575-5761, [$I.
`The security of our technique depends crucially on the
`difficulty
`of

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