Symmetric Key Algorithms draft
Symmetric Key Algorithms draft
[Symmetric Key Algorithm - Introduction, Algorithm types & Modes, Overview of Symmetric Key Cryptography, DES(Data Encryption Standard) Algorithm,
IDEA(International Data Encryption Algorithm) algorithm, RC5(Rivest Cipher 5)algorithm.[8]]]
CLASSIFICATION OF CRYPTOGRAPHY
The encryption algorithms are classified into two broad categories: Symmetric Key and Asymmetric Key encryption as shown in Fig. 2.
The important point is that the security of conventional encrypt on depends on the secrecy of thekey, not the secrecy of the algorithm i.e. it is not necessary to
keep the algorithm secret, but onlythe key is to be kept secret. This feature that algorithm need not be kept secret made it feasible for wide spread use and
enabled manufacturers develop low cost chip implementation of dataencryption algorithms. With the use of conventional algorithm, the principal security
problem ismaintaining the secrecy of the key.
The input to the encryption algorithm are a plaintext block of length 2w bits and a keyK. the plaintext block is divided into two halves L0 and R0.
The two halves of the data passthrough „n‟ rounds of processing and then combine to produce the cipher text block. Each
round „i‟ has inputs Li-1 and Ri-1, derived from the previous round, as well as the subkey Ki,derived from the overall key K. in general, the
subkeys Ki are different from K and from eachother.All rounds have the same structure. A substitution is performed on the left half of the data
(as similar to S-DES). This is done by applying a round function F to the right halfof the data and then taking the XOR of the output of that function and
the left half of the data.
The round function has the same general structure for each round but is parameterized by the
round subkey ki. Following this substitution, a permutation is performed that consists of the
interchange of the two halves of the data. This structure is a particular form of the
substitution-permutation network. The exact realization of a Feistel network depends on the
choice of the following parameters and design features:
Block size - Increasing size improves security, but slows cipher
Key size - Increasing size improves security, makes exhaustive key searching
harder, but may slow cipher
Number of rounds - Increasing number improves security, but slows cipher
Subkey generation - Greater complexity can make analysis harder, but slows
cipher
Round function - Greater complexity can make analysis harder, but slows cipher
Fast software en/decryption & ease of analysis - re more recent concerns for
practical use and testing
The process of decryption is essentially the same as the encryption process. The rule is as
follows: use the cipher text as input to the algorithm, but use the subkey k i in reverse order.
i.e., kn in the first round, kn-1 in second round and so on. For clarity, we use the notation LEi
and REi for data traveling through the decryption algorithm. The diagram below indicates
that, at each round, the intermediate value of the decryption process is same (equal) to the
corresponding value of the encryption process with two halves of the value swapped.
, REi || LEi (or) equivalently RD16-i || LD16-i
After the last iteration of the encryption process, the two halves of the output are swapped, so
that the cipher text is RE16 || LE16. The output of that round is the cipher text. Now take the
cipher text and use it as input to the same algorithm. The input to the first round is RE 16 ||
LE16, which is equal to the 32-bit swap of the output of the sixteenth round of the encryption
process. Now we will see how the output of the first round of the decryption process is equal
to a 32-bit swap of the input to the sixteenth round of the encryption process.
First consider the encryption process,
LE16 = RE15
RE16 = LE15(+) F (RE15, K16)
On the decryption side, LD1 =RD0 = LE16 =RE15
RD1 = LD0 (+) F (RD0, K16)
= RE16 F (RE15, K16)
= [LE15 F (RE15, K16)] F (RE15, K16)
= LE15
Therefore, LD1 = RE15 RD1 = LE15 In general, for the ith iteration of the encryption
algorithm, LEi = REi-1 REi = LEi-1 F (REi-1, Ki)
Finally, the output of the last round of the decryption process is RE0 || LE0. A 32-bit swap
recovers the original plaintext.
Symmetric key cryptography or private key cryptography,
Symmetric key cryptography or private key cryptography, in layman language can be understood as the technique which uses a single key for the encryption as
well as the decryption of data. Technically, it is a technique which converts plaintext into cipher text and vice verse using the same key. The symmetric key
cryptography system involves the following. [2]
Plaintext: original information that is fed as input to the algorithm.
Encryption algorithm: algorithm which performs various permutations and substitutions on the plaintext
Secret key: also an input to the encryption algorithm, changing the key results in the generation of different output.
Cipher text: statement in which the actual information is hidden.
Decryption algorithm: reverse of the encryption algorithm; produces the original information.
Symmetric key cryptographic algorithms process
Some widely used Symmetric key cryptographic algorithms are given below:
i. DES (Data Encryption Standard)
ii. Triple Data Encryption Algorithm (TDEA or Triple DEA)
iii. AES (Advanced Encryption Standard).
iv. BLOWFISH
Data Encryption Standard (DES) is a cryptographic standard that was proposed as the algorithm for the secure and secret items in 1970 and was adopted as an
American federal standard by National Bureau of Standards (NBS) in 1973. DES is a block cipher, which means that during the encryption process, the
plaintext is broken into fixed length blocks and each block is encrypted at the same time. Basically it takes a 64 bit input plain text and a key of 64-bits (only 56
bits are used for conversion purpose and rest bits are used for parity checking) and produces a 64 bit cipher text by encrypt ion and which can be decrypted
again to get the message using the same key.[5]
As an improvement on Data Encryption Standard (DES), in the late 1970's IBM developed the Triple Data Encryption Standard (3DES). The Triple Data
Encryption Algorithm (3DES) is simply the DES used three times in succession. It is this successive use which makes 3DES much harder to crack than DES.
3DES solves the problem of the too-short 56 bit key length used in DES by utilizing a key length of 168 bits (three separate 64 bit keys are used to process the
same bit of unencrypted text). 3DES is still being widely used in financial transactions today and is seen as being fairly secure.[4]
1) Substitution bytes – In this step, each byte (ai,j) of matrix is replaced with a sub byte (si,j), that is Rijindeal S-Box. At the decryption end, the sub bytes are
inversed to reach the original state. 2) Shift Rows - The shift rows operation, shift each rows with a certain constraint. That is first row of matrix is left same, the
second, third and forth rows are shifted to one place left. 3) Mix Columns – In this step, the each column is multiplied with a fixed polynomial and the new
value of the columns is placed. 4) Add Round Key – This sub key is derived from the main key and the sub key is added into this step by applying XOR to the
matrix.
iv. Blowfish:
Blowfish is a symmetric block cipher that can be effectively Blowfish was designed in 1993 by Bruce Schneider as a fast alternative to existing encryption
algorithms .Blowfish is a symmetric key block cipher that uses a 64 bit block size and variable key length. It takes a variable-length key from 32 bits to 448
bits. Blowfish has variants of 14 rounds or less. Blowfish is one of the fastest block ciphers which has developed to date. Slowness kept Blowfish from being
used in some applications. Blowfish was created to allow a nyone to use encryption free of patents and copyrights. Blowfish has remained in the public domain
to this day. No attack is known to be successful against it, though it suffers from weak keys problem (Bruce, 1996) .[6]
There are two aspects of algorithms: algorithm types and algorithms modes.
Algorithm Types:-An algorithms type defines what size of plain text should be encrypted in each step of algorithm. Algorithms types are two types.
Algorithm Types
Stream Cipher Block Cipher
Stream Cipher-In stream cipher the plain text is encrypted one byte at a time and the decryption happens one byte at a time.
Block Cipher-In block cipher the plain text is encrypted one block of text at a time and decryption also takes one block at a time.
Algorithms Modes:- The algorithm modes defines the details of the cryptography algorithm, once the type is decided. An algorithm mode is combination of a
series of the basic algorithm steps on the block cipher and some kind of feedback from the previous steps. There are 4 types of algorithm modes.
Electronic Code Book- ECB is the simplest mode of operation; the incoming plain text message is divided into blocks of 64 bits each. Each such block is then
encrypted independently of the other blocks. For all blocks in a message, the same key is used for encryption.
Cipher Block Chaining- CBC mode ensures that even if a block of plain text repeats in the input, these two identical plain text yields totally different cipher
text blocks in the output. For this a feedback mechanism is used.
Cipher Feedback- CFB mode encrypts data in units that‟s expectations, working style s smaller e.g. they could be of size 8 bits than a defined block size.
Output Feedback- OFB mode is extremely similar to the CFB. The only difference is that is the case of CFB, the cipher text is fed into the next stage of
encryption process. But in the case of OFB, the output of the Initial Vector (IV) encryption process is fed into the next stage of encryption process.
The data encryption standard (DES) is a common standard for data encryption and a form of secret key cryptography (SKC), which uses only one key for
encryption and decryption. 1972, the National Bureau of Standards (NBS) approached the Institute for Computer Sciences and Technology (ICST) to devise an
encryption algorithm to secure stored and transmitted data. The algorithm would be publicly available, but its key would be top secret.
The National Security Agency (NSA) assisted with the cryptographic algorithm evaluation processes, and in 1973, submission invitations were posted in the
Federal Register. However, the submissions were unacceptable. In 1974, a second invitation was posted, which resulted in a submission from IBM. In 1975,
technical specifications were published for comments in the Federal Register, and analysis and review commenced. In 1977,NBS issued the algorithm, i.e.,
DES.
DES is a block cipher. It encrypts data in block of size 64 bits. That is64 bits of plain text goes as the input to DES, which produce 64 bits of cipher text. The
same algorithm and
Key Transformation
Let K be a block of 48 bits chosen from the 56-bit key. A different 48 bit sub key is generated during each round using a process called as Key transformation.
For this the 56-bit key is divided into 2 halves each of 28 bits. These halves are circularly shifted leftby one or two positions, depending on the round. For
example, if the round number is 1,2, 9 or 16, the shift is done by only positions. For other rounds, the circular shift is done by two positions.
Expansion Permutation
We had two 32 bit plain text called LPT and RPT. During expansion permutation the RPT is expanded from 32 bits to 48 bits. This happens as follows
The 32-bit RPT is divided into 8 blocks, having 4 bits in each block.Each 4 bit blocks of the previous step is then expanded to a corresponding 6 blocks, 2
more bits are added they are actually the repeated first and fourth of the 4 bit block.The Key transformation processes compress the 56 bit key to 48 bits. Then
the Expansion permutation process expands the 32 bit RPT to 48 bit. Now the 48 bit key and 48 bit RPT is XORed and the resulting is given to the S-box
Substitution.
S-Box Substitution
It is the process that accepts 48-bit input from the XOR operations and produces a 32 bit output using substitution technique. The Substitution is performed by 8
substitution boxes called as S-boxes. Each of 8 boxes has a 6 –bit input and 4 bit output.
Although this has not been established, the US government s “‟s expectations, working style clipper project” raisesmany question. These are the main reasons
DES is now being replaced by the AES standard .Using a brute-force attack by simply searching for a key is possible. However, for 56-bit key, there are 256
possible key combinations, if we could search one key in 1 μs, then we need 2283 years to try all keys. (Distributed.net broke a DES-56 within 22 hours and 15
Double DES
Double DES is quite simple ,it does twice what DES normally does only once. Double
DES uses two keys K1 and K2. The final output is encryption of encrypted text.
Triple DES with 3 keys – the plain text encrypted with K1 , then encrypted with K2,and finally with K3.where K1 ,K2, K3 are all different from each other.
Triple DES with 2 keys – the plain text encrypted with K1 , then encrypted with K2,and finally with K1.where K1 ,K2, are used.