Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

International Data Encryption Algorithm (IDEA) Is Perceived As

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 23

International Data Encryption Algorithm

 International Data Encryption Algorithm (IDEA) is perceived as


one of the strongest cryptographic algorithms.
 It was launched in 1990 and underwent certain changes in names
and capabilities as shown –

 Although it is quite strong, IDEA is not popular as DES.


Comparison with DES
 Idea is patented and  DES is not patented.
therefore must be licensed
before it can be used in
commercial application.  Des has long history & track
 Idea has not a long history record and has been a
and track record as landmark in cryptographic
compared to des. algorithm.
 Idea uses 128-bit key.  Des uses 56-bit key.
 It has been around now for  Des is susceptible to
several years, and no possible attacks.
practical attacks on it have Consequently, two main
been published despite of variations of DES have
numerous attempts to emerged which is double
analyze it. DES and triple DES.
 IDEA is resistant to both  DES is not.
linear and differential
cryptanalysis.
International Data Encryption Algorithm
 Differential Cryptanalysis – This method looks at pairs of
cipher text whose plain texts have particular differences.
 This technique analyses the progress of these differences as the
plain text travel through the various rounds of algorithm.
 The idea is to choose pairs of plain text with fixed differences.
 The two plain texts can be chosen at random, as long as they
satisfy specific differences.
 Then using the differences in the resulting cipher texts, assign
different likelihood to different keys.
 As more and more cipher texts are analyzed, the correct key
emerges.
 Linear Cryptanalysis – This attack is based on linear
approximations.
International Data Encryption Algorithm
 If we XOR some plain text bits together, XOR some cipher text
bits together and then XOR the result, we will get a single bit,
which is the XOR of some of the key bits.
 How IDEA works –
 Technically, IDEA is a block cipher
 It works on 64 bit plain text blocks.
 The key is longer and consists of 128 bits
 IDEA is reversible like DES that is the same algorithm is used
for encryption & decryption
 IDEA uses both diffusion and confusion for encryption
 The working of IDEA can be visualized at a broad level as-
IDEA
International Data Encryption Algorithm
 The 64-bit input plain text block is divided into four portions of
plain text( each of size 16 bits) ,say P1 to P4.
 Thus P1 to P4 are the inputs to the first round of the algorithm.
 There are eight such rounds.
 From the 128-bit key, In each round six sub-keys are generated.
 Each of the sub-keys consists of 16 bits. These sub-keys are
applied to the four input blocks P1 to P4.
 Thus , for the first round, we will have the six keys K1 to K6.
For the second round K7 to K12.Finally, For the eighth round,
we will have keys K43 to K48.
 The final step consists of an Output Transformation, which uses
just four keys ( k49 to K52).
International Data Encryption Algorithm
 The final output produced is the output produced by the output
transformation step, which is four block of cipher text say C1 to
C4 ( each consisting of 16 bits).
 These are combined to form the final 64-bit cipher text block.
 Rounds –
 There are 8 rounds in IDEA.
 Each round involves a series of operations on the four data
blocks using six keys.
 At a broad level, these steps can be described as shown-
 These steps perform a lot of mathematical actions.
 There are multiplications, additions and XOR operations.
Details of one round of IDEA
One Round Of IDEA
International Data Encryption Algorithm
 The reason to put an asterisk in front of the words Add and
Multiply is that these are not mere additions and multiplications.
 Instead, these are addition modulo 216 (i.e. addition modulo
65536) and multiplication modulo 216 + 1(i.e. multiplication
modulo 65537), respectively.
 Why this required in IDEA, and what does it mean?
 For that, we need to first understand the binary addition.
0+0=0
1+0=1
0+1=1
1 + 1 = 10
1 + 1 + 1 = 11
International Data Encryption Algorithm
 Just as with decimal addition, when the sum in one column is a
two-bit (two-digit) number, the least significant figure is written
as part of the total sum and the most significant figure is
"carried" to the next left column. Consider the following
examples:

 The addition problem on the left did not require any bits to be
carried, since the sum of bits in each column was either 1 or 0,
not 10 or 11.
 In the other two problems, there definitely were bits to be
carried, but the process of addition is still quite simple.
International Data Encryption Algorithm
 Now, suppose that we are in round 2 of IDEA. Further, let us
assume that P2 = 1111111100000000 and
K2 = 1111111111000001.
 First, simply add them. 1111111100000000
1111111111000001
-------------------------
11111111011000001
--------------------------
 It produces 17-bit output which is not as per our requirement.
 Therefore, we must reduce this number (which is 130753 in
decimal) to a 16-bit number. For this, we take modulo 65536 of
this. 130753 modulo 65536 yields 65217, which is
1111111011000001 in binary and is a 16-bit number.
International Data Encryption Algorithm
 It simply ensures that even if the result of an addition or
multiplication of two 16-bit number contains more than 17 bit
bits, we bring it back to 16 bits.
 Sub-key generation for a round –
 Each of the eight rounds makes use of six sub keys ( so, 8 x 6 =
48 sub-keys are required for the rounds), and the final output
transformation uses four sub-keys (making a total of 48 + 4 = 52
sub-keys overall).
 From an input key of 128 bits, how are these 52 sub-keys are
generated.
 Based on the understanding of the sub key generation process for
the first two rounds, we will later tabulate the sub key generation
for all the rounds.
International Data Encryption Algorithm
 First Round –
 Initial key consists of 128-bits,from which 6 sub-key K1 to K6
are generated for the first round.
 Since k1 to k6 consists of 16 bits each, out of the original 128
bits, the first 96 bits (6 sub-keys X 16 bits per sub key) are used
for the first round.
 Thus, at the end of the first round, bits 97-128 of the original key
are unused.
International Data Encryption Algorithm
 Second Round –
 In the second round, firstly , the 31 unused bits of the first round
are used.
 We know that each round requires 6 sub-keys k1 to k6, each of 16
bits, making total of 96 bits. Thus, for second round, we still
require ( 96-31=65) more bits. How do we now get the remaining
65 bits?
 IDEA employs the technique of key shifting.
 At this stage, the original key is shifted left circularly by 25 bits.
That is, the 26th bit of the original key moves to the first position,
and becomes the first bit after the shift, and the 25th bit of the
original key moves to the last position and becomes the 128th bit
after the shift.
 The whole process is shown below -
Key Generation Process in IDEA
Key Generation Process in IDEA
 Now, we can imagine the unused bits of the second round (i.e. bit
position 122-128 and 1-25) will firstly be used in round 3 and
then a circular-left shift of 25 bits will be performed on the last
key shown above.
 This will mean that the new key will now start with bit position
number 51 ( original start of 26th bit + circular left shift of 25
bits).
 Also, the end bit now will be bit number 50 ( original end of 25th
bit + circular-left shift of 25 bits).
 This key will now be used for the rest of the round 3.
 Again, its last portion will remain unused and round 4 will begin
with portion and so on.
 These procedure for all the 8 rounds can be tabulated as show
Key Generation Process in IDEA
International Data Encryption Algorithm
 At the end of 8th round, the key is exhausted.

 Output Transformation –
 The output transformation is a one-time operation.
 It takes place at the end of the 8th round.
 The input to the output transformation is, of course, the output of
the 8th round.
 This is, as usual, a 64-bit value divided into four sub-blocks ( say
R1 to R4, each consisting of 16 bits ).
 In this round, we need just four keys and not six.
 The process of the output transformation is described here –
International Data Encryption Algorithm

This process can be shown diagrammatically as –


International Data Encryption Algorithm

The output of this process is the final 64-bit cipher text, which
is the combination of the four cipher text sub-blocks C1 to C4.
International Data Encryption Algorithm
 Sub-key generation for the output transformation
 The process for the sub-key generation for the output
transformation is exactly similar to the sub-key generation
process for the eight rounds.
 At the end of eighth and the final round, the key is exhausted.
 Therefore, output transformation must first perform a circular left
shift of 25 bits.
 Post this shift operation, the 64 bits of the key are taken, and are
called as sub- keys K1 to K4 for the final output transformation
round.
International Data Encryption Algorithm
 Idea decryption
 The decryption process is exactly same as the encryption process.
 There are some alterations in the generation and pattern of sub-
keys.
 The decryption sub-keys are actually inverse of the encryption sub-
keys.
 Strength of IDEA –
 Idea uses a 128-bit key, which is double than the key size of DES.
 Thus to break into IDEA 2 128 (i.e. 1038 ) encryption operation would
be required.
 Even if we assume that to obtain the correct key only half of the
possible keys (i.e. half of the key space) needs to be examined and
tried out, a single computer performing one IDEA encryption per
microsecond would require more than
54000000000000000000000000 years to break IDEA!

You might also like