Block ciphers are cryptographic algorithms which
operate on 64-bit blocks of plaintext.
The encryption procedure usually consists of multiple and complex rounds
of bit shifts, XORs, permutations and substitutions of
plaintext and key bits. Decryption is similar to encryption except
that some operations may be performed in the reverse order.
Some algorithms use fix-length keys, for others the key length may vary.
__DES__

**Data Encryption Standard** (DES) is a block cipher invented over 20 years
ago by IBM in response to a public request from the National Bureau of Standards.
It has been a worldwide cryptographic standard since 1976 [1].

DES is a fixed-key-length algorithm. It uses 56-bit keys. Any 56-bit number can be a key.

DES has been remarkably resistant to cryptanalysis, but its short key
length makes it vulnerable to a brute-force attack where all possible
keys are tried one by one until the correct key in found.

Bruce Schneier writes:

*"A brute-force DES-cracking
machine that can find a key in an average of 3.5 hours cost only $1 million
in 1993. DES is so widespread that it is naive to pretend that NSA <National
Security Agency> ... haven't built such a machine. ... DES will only
become less secure as time goes on."* [1].

__RC2__
RC2 was invented by Ron Rivest for RSA Data Security, Inc. Its details have
not been published.

RC2 is a variable-key-length cipher.
However, when using the Microsoft Base Cryptographic Provider,
the key length is hard-coded to 40 bits.
When using the Microsoft Enhanced or Strong Cryptographic Providers, the key length
is 128 bits by default and can be in the range of 40 to 128 bits in 8-bit increments.

__Triple DES__

The idea behind Triple DES is to improve the security of DES by applying
DES encryption three times using three different keys. This way
the effective key length becomes 56 x 3 = 168 bits which makes
brute-force attacks virtually impossible.

__Triple DES with 2 Keys__

In this variation, DES encryption is still applied three times but using only 2 keys:
first key 1 is applied, then key 2 and then key 1 again.
The effective key length is 56 x 2 = 112 bits.

__Advanced Encryption Standard (AES) aka Rijndael__