|
 
 
     
The block cipher is one of the more popular methods of concealing information. The first thing that a block cipher must do is break the plaintext into equally-sized blocks. A block is simply a group of characters, such as 'iamblock'. The most popular block size is 8 characters, or 64 bits. If the total number of characters in the plaintext is not divisible by the block size (i.e. a complete last block can not be made), then extra characters are generally added on to the end of the plaintext until a complete last block can be formed. Here is an example of how a block cipher would break some plaintext (a quote by former U.S. President Franklin Delano Roosevelt) into blocks:
plaintext: The only thing we have to fear is fear itself
modified plaintext: Theonlythingwehavetofearisfearitself
plaintext blocks: Theonlyt hingweha vetofear isfearit selfXend
Notice how an extra character was appended in order to have an eight-character block. This method of adding additional data in order to make a complete block is called padding. Padding will be covered in more detail later in the chaining section of this tutorial. Once the plaintext is arranged in blocks, then each block is transformed into another equally sized block. For example, if the block size were eight characters, each block would be transformed into a different, eight-character ciphertext block. A block cipher can use a number of other cryptographic techniques to transform each block. Let's take a look at a cipher that uses a simple transposition cipher to encrypt each block:
plaintext: The only thing we have to fear is fear itself
plaintext blocks: Theonlyt hingweha vetofear isfearit selfXend
ciphertext blocks: tylnoehT ahewgnih raefotev tiraefsi dneXfles
ciphertext: tylnoehTahewgnihraefotevtiraefsidneXfles
The cipher used to encrypt the above plaintext is very simple. All it does is break the plaintext into eight-character blocks, and reverse each block. The first character in each block becomes the last, the second becomes the second to last, and so on. To send cryptanalysists in the wrong direction, the ciphertext can be sent in blocks of a different size than the size used to encrypt the plaintext. For example, the above ciphertext could be sent in blocks of five:
ciphertext: tylno ehTah ewgni hraef otevt iraef sidne Xfles
Although this message may appear like total garbage at first, a cryptanalysist would have absolutely no problem decoding this quote. Simply be reversing the entire ciphertext and eliminating any whitespace (empty spaces), parts of the quote can be read. Here is what the ciphertext looks like when it is reversed:
ciphertext: selfXendisfearitvetofearhingwehaTheonlyt
By looking at the text above, virtually anyone can make out parts of the quote. The only step left is figuring out the eight-character block size, and reversing the order of the blocks. Neither of these is very difficult to accomplish. In the next section, chaining, a much more secure way of using block ciphers will be introduced.
 
|