Encyclosphere.org ENCYCLOREADER
  supported by EncyclosphereKSF

Cryptography

From Encyclopedia of Mathematics - Reading time: 6 min


During recent years the increase in the amount of studies concerning cryptography has been really explosive, and there are two main reasons for this. In the first place, the seminal idea of public key cryptography, apart from being of extraordinary interest on its own right, has created entirely new types of applications, some of which are rather contra-intuitive with respect to the common sense notions concerning communication between different parties. In the second place, the need for cryptography has increased tremendously due to various aspects of data security. This can be expressed briefly by saying that there are now really many "positive" applications of cryptography, whereas the earlier applications were mainly "negative" , i.e., secret communication during wars, criminal activities, etc. Besides, it seems that the range of applications will become larger and larger with the expansion of electronic mail and similar systems.

Consider messages sent via an insecure channel (cf. Communication channel). (The channel might be a telephone line subject to wiretapping by an eavesdropper, or it might be some data storage device in an information system.) Such messages will be referred to as plaintext. To increase security, the sender encrypts the plaintext and sends the resulting cryptotext via the channel. The receiver then decrypts the cryptotext back to the plaintext. (Instead of plaintext and cryptotext, the terms cleartext and ciphertext are often used.)

The encryption and decryption are usually carried out in terms of a specific cryptosystem. Essentially, a cryptosystem specifies several (often infinitely many) keys. Each key K determines an encryption function eK and a decryption function dK. Cryptotext c is obtained from plaintext w using eK:

eK(w)=c.

Conversely,

dK(c)=w.

Thus,

dK(eK(w))=w.

More specifically, a cryptosystem CS consists of a plaintext space, a cryptotext space and a key space. All three items are at most countable. Typically, a plaintext space could be Σ, for some alphabet Σ, or the set of all meaningful sentences in a natural language such as English. Similarly, the cryptotext space could be Δ, for some alphabet Δ. Each key K determines mappings eK and dK in the sense discussed above. For instance, if the plaintext and cryptotext spaces are Σ and Δ, then eK will be a translation of Σ into Δ( cf. Translation).

"Legal" communication activities may be intercepted by an eavesdropper or cryptanalyst. In a good cryptosystem cryptanalysis will be very difficult. No satisfactory formalization of these notions has been found so far: formalizations do not capture the essential issues from the point of view of applications.

Perhaps the oldest and best known among all cryptosystems is called Caesar cipher or briefly CAESAR. Both the plaintext space and the cryptotext space consist in this case of all words over the English alphabet Σ={AZ}( cf. Word). The key space is {025}. If K is an element of the key space, then eK is the morphism mapping each letter K letters ahead in the alphabet. (The ordering of Σ is the natural alphabetic one, and the end of the alphabet is continued cyclically to the beginning, cf. Lexicographic order.) For instance,

e25(IBM)=HAL,  e6(MUPID)=SAVOJ,

e3(HELP)=KHOS, e0(CRYPTO)=CRYPTO.

The decryption function dK corresponding to the key K is defined by

dK= e26K.

Thus,

d6(SAVOJ)= e20(SAVOJ)= MUPID.

Clearly, in this case all functions eK and dK are bijections of Σ onto Σ( cf. Bijection).

The cardinality of the key space of CAESAR is very small. No cryptosystem with this property can be good in the sense described above: cryptanalysis can be carried out simply by trying all possible keys. This is particularly easy if the plaintext is in some natural language. Then, for reasonably long cryptotexts (say with length 10), in general only one decryption key produces a meaningful plaintext. This redundancy of natural languages constitutes the foundation for the cryptanalysis of many cryptosystems; knowledge of the statistical distribution of individual letters, pairs of consecutive letters and triples of consecutive letters uncovers the correspondence between plaintext and cryptotext letters.

CAESAR is the oldest widely used cryptosystem. A great variety of other cryptosystems has been developed. A property shared by all of these classical cryptosystems is that, whenever one knows the encryption key eK, one also knows the decryption key dK. More explicitly, dK is either immediately implied by eK or else can be computed from eK without too much difficulty. Thus, if one is dealing with any of the classical cryptosystems, the encryption key eK must be kept secret: once it is publicized, the decryption key dK is given away.

The seminal idea of public key cryptosystems (as opposed to what has been called above "classical" systems) is due to W. Diffie and M. Hellman, [a3]: the knowledge of eK does not necessarily give away dK. More specifically, the computation of dK from eK may be intractable, at least for almost-all keys K.

The idea of public key cryptosystems is very simple — why was it presented so late in the history of cryptography? One apparent reason is that some theory of computational complexity had to be ready before the realization of the idea of public key cryptography (cf. Complexity theory).

The system RSA due to R. Rivest, A. Shamir and L. Adleman [a4], is by now the most tested one among the public key systems. At the time of writing (1988), nothing serious has come up against RSA.

RSA is based on the fact that it is almost impossible to recover two large prime numbers p and q from their product n=pq— at least according to the presently known factorization algorithms. On the other hand, large random prime numbers can be generated fast. The public key encryption is based on n, whereas decryption requires that one knows p and q. Details are presented below.

Let p and q be two large random primes (typically, having at least 100 digits in their decimal representation). Denote

n=pq   and   ϕ(n)= (p1)(q1).

(Here ϕ is the Euler function.) Choose a number e>1 relatively prime to ϕ(n) and a number d satisfying the congruence

ed1(modϕ(n)).

(Since e and ϕ(n) are relatively prime, the congruence has a solution. It can be found rapidly by the Euclidean algorithm.)

The numbers n and e, referred to as the modulus and the encryption exponent, respectively, constitute the public encryption key. The cryptotext c will be the least positive remainder of we (modn), where w is the plaintext word over the alphabet {09}. One assumes that the length i of w satisfies the inequalities 10i1<n<10i. This is to make sure that the modular calculations do not cause any ambiguities and that, on the other hand, the plaintext blocks are not too short.

It can be shown by straightforward elementary number theory that cdw (modn). Thus, the trapdoor d enables one to decrypt.

For example, choose p=47 and q=59, yielding n=2773 and ϕ(n)=2668. Choose further e=17, yielding d=157. Since 103<n<104, the plaintext blocks should consist of four decimal digits. For instance, 1920172109 (mod2773). For decryption, 21091571920 (mod2773).

It is rather easy to factorize 2773 and, hence, to find the decryption exponent d=157. However, one might still want to consider the case where p and q are so large that they cannot be recovered from their product n. How could cryptanalysis be carried out in this case?

For instance, assume that one is able to compute ϕ(n) without actually factorizing n. Then p+q is immediately obtainable from ϕ(n)=n(p+q)+1 and the public information n. On the other hand, pq is the square root of (p+q)24n and, thus, also immediately obtainable. Now p and q can be immediately computed from p+q and pq. This means that an algorithm for computing ϕ(n) yields an algorithm of essentially the same complexity for factorizing n.

Public key cryptosystems are especially suitable for authentication and electronic signatures.

Consider two parties A and B with conflicting interests, e.g. a bank and a customer or two superpowers. When A sends a message to B, it should be signed and the signature should give the parties the following two kinds of protection.

i) Both A and B should be protected against messages addressed to B, fed in the information system by a third party C who pretends to be A.

ii) A should be protected against messages forged by B who claims to have received them from A, properly signed.

If a classical cryptosystem is used, then the requirement i) can be satisfied in a reasonable fashion: A and B agree upon a secret encryption key known only to them. On the other hand, the requirement ii) is apparently more difficult to satisfy because B should know something about the way A generates the signature, and yet it should be impossible for B to generate A' s signature. Observe also that if one is dealing with a big network of communicating parties (say, a network of mail users) then it is impractical to use a distinct secret method of signing for every pair of users.

If a public key cryptosystem is used, both i) and ii) can be satisfied, at least in principle. A sends the message w to B in the form eB(dA(w)). B can first recover dA(w) by the secret decryption key dB. From dA(w), B can recover w by the publicly known eA. (Recall that eA and dA are inverses.) Now both i) and ii) are satisfied because only A knows dA. Hence, neither C nor B forge A' s signature. Also A cannot later deny sending the message to B.

References[edit]

[a1] H. Beker, F. Piper, "Cipher systems" , Northwood Books (1982)
[a2] D.E. Denning, "Cryptography and data security" , Addison-Wesley (1982)
[a3] W. Diffie, M. Hellman, "New directions in cryptography" IEEE Trans. Information Theory , IT-22 (1976) pp. 644–654
[a4] R. Rivest, A. Shamir, L. Adleman, "A method for obtaining digital signatures and public-key cryptosystems" Comm. ACM , 21 (1978) pp. 120–126
[a5] A. Salomaa, "Computation and automata" , Cambridge Univ. Press (1985)

How to Cite This Entry: Cryptography (Encyclopedia of Mathematics) | Licensed under CC BY-SA 3.0. Source: https://encyclopediaofmath.org/wiki/Cryptography
44 views | Status: cached on April 23 2025 14:31:22
↧ Download this article as ZWI file
Encyclosphere.org EncycloReader is supported by the EncyclosphereKSF