22.12.2012 Views

Front cover - IBM Redbooks

Front cover - IBM Redbooks

Front cover - IBM Redbooks

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

24 Lotus Security Handbook<br />

character replacement algorithm; if you want to encrypt a message, you just<br />

replace each letter of the alphabet with another. For example:<br />

Original letter: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z<br />

Replacement: G H I J K L M N O P Q R S T U V W X Y Z A B C D E F<br />

In this case, the letters in the alphabet have just been shifted seven places to the<br />

right, so HELLO WORLD would translate to NKRRU CUXRJ. The premise on which this<br />

code is based is that both the sender and the receiver know a common key, in<br />

this case the number of places to shift the letters.<br />

This shared secret allows the receiver of the message to reverse the encryption<br />

process and read the scrambled message.<br />

Symmetric encryption gets its name from the fact that the same key is used to<br />

encrypt plaintext and decrypt the corresponding ciphertext. Symmetric<br />

encryption algorithms used by computers have the same elements as the simple<br />

example above, namely a mechanism to scramble the message (also known as<br />

a cipher) and a shared secret (a key) that allows the receiver to unscramble the<br />

encrypted message.<br />

Determining the strength of a symmetric cipher<br />

The strength of a symmetric key cipher of this kind is dictated by a number of<br />

factors. The first is that it effectively randomizes the output, so that two related<br />

clear-text messages do not produce similar encrypted results. The degree of<br />

randomness in cryptography parlance is generally called entropy.<br />

Our childish example fails badly in this area because each letter always converts<br />

to the same encrypted result, and because it does not encrypt spaces. The<br />

kindergarten cryptanalyst can quite easily break the code by knowing that any<br />

one-letter word is likely to be an A.<br />

Another way our example fails badly is that if for some reason the algorithm is<br />

known (in our case, the algorithm is: “Shift each letter seven places to the right”),<br />

then the person who knows that can now easily decrypt each subsequent<br />

message.<br />

This is where the concept of a key is important. With a key-based algorithm, an<br />

effort is made to protect the key. This permits the cryptographic algorithm to be<br />

reviewed and scrutinized. A good algorithm is one that can be understood, is<br />

efficient, and cannot be used for encryption without the proper key. The<br />

algorithms we discuss later on in this chapter all share these common traits.

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

Saved successfully!

Ooh no, something went wrong!