| Public Key Encryption |
|
Whereas symmetric ciphers use the same key to encrypt and decrypt messages (that's why they're called symmetric), public key encryption (or a public key cipher) uses a different key to decrypt than was used to encrypt. this is a relatively new development in cryptography, and it solves many longstanding problems with cryptographic systems, such as how to exchange those secrete keys in the first place. The problem with symmetric ciphers is this: both the sender and the recipient must have the same key in order to exchange encrypted messages over an insecure medium. If two parties decide to exchange private messages, or if two computers' network devices or programs must establish a secure channel, the two parties must decide on a common key. Either party may simply decide on a key, but that party will have no way to send it to the other without the risk of it being intercepted on its way. It's a chicken-and-egg problem. Without a secure channel, there is no way to establish a secure channel. In 1976, Witfield Diffie and Martin Hellman discovered a way out of the secure channel dilemma. They found that by using a different key, certain one-way functions could be undone. Their solution (called public key cryptography) takes advantage of a characteristic of prime and almost prime numbers - specifically, how hard it is to find the two factors of a large number that has only two factors, both of which are prime. Since Diffie and Hellman developed their system, some other public key ciphers have been introduced. For example, the difficulty of determining quadratic residues (a subtle mathematical construct that few people other than mathematicians and cryptologists really understand) has been exploited to make a public key cipher. With a public key cipher, one key (the public key) is used to encrypt a message, and the other one (the private key) is the only key that can decrypt the message. This means that you can tell anyone your public key - even complete strangers and NSA agents. Whoever has your key can encrypt a message that only you can decrypt. Even the NSA agent who has your public key cannot decrypt the message. One problem that plagues secure public key ciphers is that they are slow - much slower than symmetric ciphers. You can expect a good public key cipher to take 1,000 times as long to encrypt the same amount of data as a good symmetric cipher. This can be quite a drag on your computer's performance if you have a lot of data to transmit to receive. Although it is much slower than symmetric systems, the public key/private key system neatly solves the problem that bedevils symmetric cryptosystems. When two people (or devices) need to establish a secure channel for communication, one of them can just pick a secret key and then encrypt that secret key using the other's public key. The encrypted key is then sent to the other party, and even if the key is intercepted, only the other party can decrypt the secret key, using the private key. Communication may then continue between the two parties using a symmetric cipher and that secret key. A system that uses both symmetric and public key encryption is called a hybrid cryptosystem. (Source: "Security Complete" 2nd Edition, Sybex")
|