spacer
Common Sense Computing
 

The Role of Encryption in Keeping Online Shopping Safe

If you shop online, you have probably paused and wondered if it really is safe to send sensitive information like your credit card number over the Internet. You have likely been assured that it is safe as long as your data is encrypted in transit. This is Jeanna Matthews and today on Common Sense Computing, we'll be talking about different kinds of encryption and their role in protecting your sensitive information.

Encryption is very simply the process of obscuring the meaning of information and similarly decryption is the process of recovering meaningful data from an obscured form. When shopping online, watch the address line. If the web page address begins with https rather than simply http, then the data you are exchanging is encrypted in transit.

There are many different kinds of encryption - some much more difficult to undo or decrypt than others. You may have seen simple examples of encryption in puzzles that replace one letter with another or add random letters between each real letter. For example, you could take a message and insert two random letter between each real letter. This would turn an easy to read textual phrase into a sequence of letters that appears random and without meaning. However, the original meaning can easily be recovered - if you know the secret process- in this case keep every third letter.

Unlike in this simple example, encryption in computer systems is not typically based on a secret process, but rather on secret keys or long sequences of 0's and 1's that control a well-known encryption process. In our simple example, the key might be two and the encryption process might be the number of letters to skip between each valid letter. In reality, the encryption methods are much more complicated and the keys are much larger numbers, but the principle remains the same. If two ends of an Internet connection agree on the same encryption method and the same secret key, then what one side does to encrypt the data, the other side can undo to decrypt the data.

Anyone who intercepts the message would not know how to decrypt the message. They would need to decrypt using all possible secret keys to see if they can make sense of the result. This is why it is important for the secret keys to contain a long sequences of 0's and 1's. For example, a 128-bit key would contain a list of 128 0's and 1's in a specific pattern. With 128 bits, there are over a trillion trillion trillion possibilities!

One problem with encryption based on secret keys is that both ends of an Internet connection must agree on the secret key to use. If you are exchanging information with someone you know then this wouldn't be too hard. You could exchange secret keys in person. However, what if you want to send data to someone you've never met? How do you set up a secret key to use with a web server for example? You can't just send the key over the Internet because then the attackers could intercept it along with the message and decrypt it easily.

Fortunately, there is another kind of encryption called public key cryptography that does not require a single shared secret key. Instead, it uses a pairs of keys - a private key which is kept secret and a public key that can be shared with anyone even the attacker. These keys are chosen such that what one encrypts the other can decrypt and vice versa. In this way, web servers can send their public key over the network and then any data like your credit card number than you send back can be encrypted with the public key and only they can decrypt the message using their secret private key.

The fact that this works is based on the difficulty of factoring numbers that are the product of two very large prime numbers. The mathematical formulas that make this possible were described in 1977 by Ron Rivest, Adi Shamir and Len Adleman at MIT. One of the most well known algorithms for public key cryptography, RSA, is named for the first initials of their surnames. Their work is a great achievement that has enabled much of the secure communications over public networks that we rely on today.

That said, it is important to realize that there are limitations to public key cryptography as well. First, attackers can still try every possible key. On a single computer, this would take much too long, but using many computer this time can be reduced. Second, no one knows an easy way to compute a private key from its associated public key (or in other words an easy way to factor large prime numbers) but people are looking and if found it would undermine all cryptographic systems based on public key cryptography.

For these and other reasons, you should think of encryption as a deterrent against attack, rather than as an absolute guarantee of privacy. However, most security measures are similar. We lock doors to keep honest people honest not as an impenetrable defense. We rely on law enforcement to punish crimes and buy insurance to protect against losses that are possible by unlikely. So next time you are shopping online and wonder if you should really be sending your credit card number over the Internet, stop and do two things - first check that the URL begins with https indicating encryption and second check with your credit card company won't hold you responsible for fraudulent charges. Then shop away!

For more information on encryption and other consumer protections, visit us online at www.commonsensecomputing.org. For Common Sense Computing, this is Jeanna Matthews.

Wikipedia: RSA
Wikipedia: Brute force attack
Federal Trade Commission's Consumer Guide to E-Payments Federal Trade Comission's Online Shopping Information

Copyright (c) 2005 - Jeanna Matthews


  Common Sense Computing
PO Box 6356 · Massena, NY 13662
comments@commonsensecomputing.org