| Public Key Cryptography |
|
|
|
|
by Lawrence Ioannou
The need for public-key cryptography ![]()
Bob wants to receive a private message (plaintext) from Alice so that no eavesdropper (Eve) may read it. Alice (in private) encrypts a message using a secret key and sends the encrypted message (ciphertext) to Bob who (in private) decrypts the message with the same secret key that Alice used. Problems
Solution: Remove Alice's need for a secret key - make the encryption key (and thus the entire encryption procedure) public. Schematic of Public-Key Cryptography ![]()
Bob wants to receive private messages from Alice as well as anyone else who pleases to send Bob private messages (Andrea, Artur,...). Thus he publishes an encryption key. This allows anyone to encrypt a message and send the ciphertext to Bob so that Bob can recover the message.One can think of Bob's publishing an encryption key as setting up a publicly accessible postbox for himself. Just as anyone can drop a letter into a postbox, anyone can encrypt a message and send it to Bob. The only participant who needs a secret key is Bob. He can create the key himself in private. Thus no prior secret communication is necessary.
Mathematical Formalism
The idea behind public-key cryptography is to make encryption easy and publicly accessible to everyone, but to make decryption difficult for everyone except the intended recipient of the message, Bob. It is useful to view encryption as part of a mathematical function ƒ, mapping plaintexts to ciphertexts, and decryption as the mathematical inverse of ƒ. Five properties required of ƒ are
As an example, a function that is widely believed to be a trapdoor function is
ƒ(x,e,p,q) = (xe mod pq, pq, e), where p and q are prime numbers, x is the (encoded) plaintext, and y=xe mod pq is the ciphertext (a mod b is the remainder after dividing a by b). In this case, the function d from property (v) is
d(x,e,p,q)=e-1 mod (p-1)(q-1), that is, ed mod (p-1)(q-1) = 1. This trapdoor function f is the basis for the RSA Cryptosystem: (e,pq) is the public encryption key and (p,q,d) is the secret decryption key.
The RSA Cryptosystem
Some mathematical definitions Zn = {0,1,2,3,..,n-1} a = b (mod n) means that b-a = kn for some k gcd(a,b) = greatest common divisor of a and b Φ(n) = the number of positive integers a less than n such that gcd(a,n) = 1 A main ingredient of the RSA Cryptosystem is Euler'Çs theorem aΦ(n) = 1 (mod n) if gcd(a,n) = 1 If Bob wants to use the RSA Cryptosystem to receive private messages from anyone, he
If Alice wants to send a message x to Bob (it is assumed that all messages that Bob would like to receive are in one-to-one correspondence with the elements of Zn), she computes y = xe mod n, and sends y to Bob (across a public, insecure channel).To decrypt Alice's message, Bob finally computes x=yd mod n.
Did You Know?
There are public-key cryptosystems other than the RSA Cryptosystem
A public-key cryptosystem can never provide unconditional security, since an eavesdropper who observes a ciphertext y can use the public encryption rule eK to encrypt every possible plaintext x until she discovers the unique x such that y = eK(x)
Many public-key cryptosystems can be broken with a quantum computer. For example, the RSA cryptosystem can be broken because quantum computers can factor large numbers quickly. For more information, see Nielsen, Michael A. and Chuang, Isaac L., Quantum Computation and Quantum Information, Cambridge University Press, Cambridge, 2000
It was disclosed in 1997 that public-key cryptography, including the RSA cryptosystem, was first invented at the British intelligence agency GCHQ in the late 1960s and early 1970s by Ellis and Cocks (more information); however, in 1976, Diffie and Hellman independently discovered public-key cryptography and, in 1977, Rivest, Shamir, and Adleman independently discovered the RSA cryptosystem.
More information about one-way and trapdoor functions and the notions of easy and difficult computational problems can be found in Papadimitriou, Christos H., Computational Complexity, Addison-Wesley, Reading, Massachusetts, 1994. More information about RSA, its security, and cryptography in general can be found in Stinson, Douglas R., Cryptography: Theory and Practice, CRC Press, Boca Raton, 1995.
What about Quantum Cryptography?
Quantum Cryptography is another method that solves the problem of key distribution. Read our mini tutorial . |





