Source: Block Ciphers
Block Ciphers
Block Cipher means that the algorithm encrypts block by block. A block is some specified length of bits. This number is usually 48, 56, 64,80,128,256 etc.... A block cipher produces the same cipher text for the same block of plain text when using the same key (this is not the case with stream ciphers, that is why this note is here!). Also, since block ciphers have a 1 to 1 mapping, the decryption algorithm is the inverse of the encryption algorithm, i.e. E(x) = y; E^(-1)(y) = x; given some key k used;
There are 3 variations of the block cipher. They are:
Iteration Block Ciphers: Apply the same algorithm over and over again on the resulting cipher text, thus encrypting it further and further. This is what the usually talked number of rounds is about. In each round, a new key may be chosen or the same key may be used.
Fiestel Ciphers: The plain text is split into two halves. During each round, the the right half and the key are passed into the encryption algorithm. This is then XORed with the left half. The two halves are then swapped. The same process is repeated.
Cipher Block Chaining: The cipher text is not only a function of the key and the encryption algorithm but also of the blocks previously encoded. In this method, a block of cipher text is XORed with the next block of plain text that is to be encoded. The first block is the initialization vector, which is a block of dummy text. Overall, this means that to decrypt some block of the plain text, the prior block has to be decrypted as well. This carries the danger that if some block is lost, then all subsequent information is lost as well!
The following images are from Wikipedia, they do an excellent job in illustrating Cipher Block Chaining


[ add comment ] | [ 0 trackbacks ] | permalink |




( 2.8 / 64 )
Calendar



