|
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).
All cryptographic algorithms used in FineCrypt are symmetric block algorithms.
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. For all algorithms used in
FineCrypt the block size is 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 algorithms offered in FineCrypt 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. |