|
A symmetric cryptographic algorithm is a
cryptographic algorithm that typically uses a single key for encryption
and decryption. Symmetric algorithms can be divided into two categories:
stream algorithms and block algorithms (also called stream and block
ciphers).
A block cipher is a type of symmetric-key encryption
algorithm that transforms a fixed-length block of plaintext data into a
block of ciphertext data of the same length. This transformation takes
place under the action of a user-provided secret key. Decryption is
performed by applying the reverse transformation to the ciphertext block
using the same secret key. The fixed length is called the block size.
All algorithms used in this program have the block size 64 bits or 128
bits.
Iterated block ciphers encrypt a plaintext block by
a process that has several rounds. In each round, the same
transformation (also known as a round function) is applied to the data
using a subkey. The set of subkeys is usually derived from the
user-provided secret key by a special function. The set of subkeys is
called the key schedule. The number of rounds in an iterated cipher
depends on the desired security level and the consequent trade-off with
performance. In most cases, an increased number of rounds will improve
the security offered by a block cipher.
The symmetric algorithms available in this program
are listed below.
| Algorithm |
Length of key (bits) |
Blocksize(bits) |
| AES |
256 |
128 |
| Blowfish |
576 |
64 |
| CAST-256 |
256 |
128 |
| GOST |
256 |
64 |
|
Square |
128 |
128 |
| MARS |
448 |
128 |
| RC-6 |
2040 |
128 |
| Serpent |
256 |
128 |
| TripleDES |
192 |
64 |
| Twofish |
256 |
128 |
NOTE: Latest enhancement of Blowfish algorithm
by author of this algorithm Bruce Schneier has increased key length from 448 bits to 576
bits. |