ymmetric-key algorithms [1] are algorithms that use the same cryptographic keys for both encryption of plaintext and decryption of cipher text. The keys may be identical or there may be a simple transformation to go between the two keys. The keys, in practice, represent a shared secret between two or more parties that can be used to maintain a private information link. [2] This requirement that both parties have access to the secret key is one of the main drawbacks of symmetric key encryption, in comparison to public-key encryption (also known as asymmetric key encryption). [3]Symmetric-key encryption can use either stream ciphers or block ciphers. [4]Stream ciphers encrypt the digits (typically bytes) of a message one at a time.
Block ciphers take a number of bits and encrypt them as a single unit, padding the plaintext so that it is a multiple of the block size. Blocks of 64 bits have been commonly used. The Advanced Encryption Standard (AES) algorithm approved by NIST in December 2001 uses 128-bit blocks.
Data Encryption standard (DES) adopted in 1997 by the National Bureau of Standards. For DES data are encrypted in 64 bit blocks using a 56-bit key. The algorithm transforms 64-bit input in a series of steps into a 64-bit output.
There are two inputs in the encryption function: the plaintext to be encrypted and the key. In this case, the plaintext must be 64 bits in the length and the key is 56 bits in length. The 64-bit plaintext passes through an initial permutation (IP) that rearranges the bits to produce the permuted input. This is followed by a phase consisting of 16 rounds of the same function, which involves both permutation and substitution functions.
The input to a table consists of 64 bits numbered from 1 to 64. The 64 entries in the permutation table contain a permutation of the numbers from 1 to 64. Each entry in the permutation table indicates the position of a numbered input bit in the output which also consists of 64 bits.
The round key K¡ is 48 bits. The R input is 32 bits. This R input is first expanded to 48 bits by using a table that defines a permutation plus an expansion that involves duplication of 16 of the R bits. The resulting 48 bits are XORed with K¡. This 48 bit result passes through a substitution function that produces a 32-bit output. The output of the last (sixteenth) round consists of 64 bits that there are a function of the input plaintext and the key. The left and right halves of the output are swapped to produce the preoutput. Finally the preoutput is passed through a permutation (IP¯¹) that is the inverse of the initial permutation function, to produce the 64-bit cipher text. The decimal value in the cell selected by the row and column is then converted to its 4-bit representation to produce the output. The outer two bits of each group select one of four possible substitutions (one row of an s-box). Then a 4 bit output value is substituted for the particular 4-bit input (the middle four input bits). The 32-bit output from the eight S-boxes is then permuted.
A desirable property of any encryption algorithm is that a small change in either the plaintext or the key should produce a significant change in the cipher text. I particular, a change in one bit of the plain text or one bit of the key should produce a change in many bits of the cipher text. If the change were small, this might provide a way to reduce the size of the plaintext or key space to be searched.
NIST in 1997 issued a call for proposals for a new Advanced Encryption Standard (AES). NIST specified that AES must be a symmetric block cipher with a block length of 128 bits and support for key lengths of 128, 192, and 256 bits. The AES specification uses the same three key size alternatives but limits the block length to 128 bits. A number of AES parameters depend on key length. Substitute byte uses an S-box to perform a byte-by-byte substitution of the block. The Forward mix column transformation, called Mix columns, operates on each column individually. Each byte of a column is a mapped into a new value that is a function of all four bytes in the column. The Inverse add round key transformation is identical to the forward add round key transformation, because the XOR operations its own inverse.
Blowfish is a symmetric cipher developed by Bruce Schneier [SCHM93, SCHN94]. Blowfish was designed to have the following characteristics such as Fast, Compact, Simple and variably secure. The key length is variable and can be as long as 48 bits. This allows a tradeoff between higher speed and higher security.
Addition: Addition of words, denoted by +, is performed by modulo 2 ³² .Blowfish decryption involves using the sub keys in reverse order. However, unlike most block ciphers, Blowfish decryption occurs in the same algorithmic directions as encryption, rather than the reverse.
Blowfish is a formidable symmetric cipher. Unlike DES, the S-boxes in Blowfish are key dependent. The blowfish design is that operations are performed on both halves of the data in each round, compared to performing an operation on just half the data in each round in the classic Feistel cipher. This should provide greater cryptographic strength, even though the additional operation is linear (XOR). Graph 2: Key Size
This paper gives a detailed study of the popular symmetric key encryption algorithms such as DES, AES and Blowfish. Further, symmetric key encryption provides more security. This paper presents the performance evaluation of selected symmetric algorithms. From the presented simulation we can conclude that AES has better performance than other algorithms. Secondly, AES has advantage over the DES in terms of throughput & decryption time except Blowfish. In future the work may be extended by including the schemes and techniques over different types of data such as image, sound and video and developing a stronger encryption algorithm with high speed and minimum energy consumption.
XII. | Experimental Results | |
Table1: Block Size | ||
ALGORITHM | BLOCK SIZE | |
DES | 64 | |
AES | 128 | |
BLOW FISH | 64 | |
Graph1: Block size | ||
Year 2017 | ||
16 | ||
ALGORITHM | KEY SIZE | |
DES | 56 | |
AES | 256 | |
) | ||
( H | BLOW FISH | 48 |
Saluting the data encryption legacy. CNet. Retrieved 2004-09-27. 2015-07-22.