11.07.2015 Views

Abstract Algebra Theory and Applications - Computer Science ...

Abstract Algebra Theory and Applications - Computer Science ...

Abstract Algebra Theory and Applications - Computer Science ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6.2 PUBLIC KEY CRYPTOGRAPHY 1016.2 Public Key CryptographyIf traditional cryptosystems are used, anyone who knows enough to encodea message will also know enough to decode an intercepted message. In 1976,W. Diffie <strong>and</strong> M. Hellman proposed public key cryptography, which is basedon the observation that the encryption <strong>and</strong> decryption procedures need nothave the same key. This removes the requirement that the encoding key bekept secret. The encoding function f must be relatively easy to compute,but f −1 must be extremely difficult to compute without some additionalinformation, so that someone who knows only the encrypting key cannotfind the decrypting key without prohibitive computation. It is interestingto note that to date, no system has been proposed that has been proven tobe “one-way;” that is, for any existing public key cryptosystem, it has neverbeen shown to be computationally prohibitive to decode messages with onlyknowledge of the encoding key.The RSA CryptosystemThe RSA cryptosystem introduced by R. Rivest, A. Shamir, <strong>and</strong> L. Adlemanin 1978, is based on the difficulty of factoring large numbers. Though it is nota difficult task to find two large r<strong>and</strong>om primes <strong>and</strong> multiply them together,factoring a 150-digit number that is the product of two large primes wouldtake 100 million computers operating at 10 million instructions per secondabout 50 million years under the fastest algorithms currently known.The RSA cryptosystem works as follows. Suppose that we choose twor<strong>and</strong>om 150-digit prime numbers p <strong>and</strong> q. Next, we compute the productn = pq <strong>and</strong> also compute φ(n) = m = (p − 1)(q − 1), where φ isthe Euler φ-function. Now we start choosing r<strong>and</strong>om integers E until wefind one that is relatively prime to m; that is, we choose E such thatgcd(E, m) = 1. Using the Euclidean algorithm, we can find a number Dsuch that DE ≡ 1 (mod m). The numbers n <strong>and</strong> E are now made public.Suppose now that person B (Bob) wishes to send person A (Alice) amessage over a public line. Since E <strong>and</strong> n are known to everyone, anyone canencode messages. Bob first digitizes the message according to some scheme,say A = 00, B = 02, . . . , Z = 25. If necessary, he will break the message intopieces such that each piece is a positive integer less than n. Suppose x isone of the pieces. Bob forms the number y = x E mod n <strong>and</strong> sends y toAlice. For Alice to recover x, she need only compute x = y D mod n. OnlyAlice knows D.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!