Idea
Idea
PEC CS-801B
Ms. Sukla Banerjee
Asst. Professor, Dept. of CSE
RCCIIT
IDEA
International Data Encryption Algorithm
Block size- 64 bit, strong enough to deter statistical analysis.
Key size-128 bit, long enough to prevent exhaustive key
searches
Confusion: The ciphertext should depend on the plaintext and
key in such a way that the determination of how the statistics of
the ciphertext depend on the statistics of the plaintext becomes
complex.
Diffusion: Each plaintext bit and each key bit should influence
every ciphertext bit so that the spreading of a single plaintext bit
over many ciphertext bits hides the statistical structure of the
plaintext.
Each 64 bit block is divided into four(4)
16 bit sub-block as input.
128 bit key is used to generate 52
subkeys each of length 16 bit.
8 intermidate round each uses 6
subkeys resulting in use of total 48
subkeys out of 52 subkeys.
Final output transformation round uses
4 subkeys.
16bit
16bit
Subkey generation
Subkey generation
128 bit is key is divided into first eight (8) subkeys each of size 16 bit i.e
first eight bit of 128 bit key is taken as subkey one and so on and all
subkeys are labeled here Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8 respectively.
Round 1 uses subkeys Z1-Z6.
Then a circular left shift of 25 bit positions is applied to the 128 bit Key and
the next eight subkeys are extracted as described before and labeled as
Z9-Z16.
Round 2 uses Z7, Z8,Z9-Z12.
Then again a circular left shift of 25 bit positions is applied to the
previously generated 128bit Key and the next eight subkeys are extracted
and labeled as Z17-Z25.
Round 3 uses Z13-Z16, Z17,Z18.
This process continues until all 52 sub keys are generated.
Operations used in IDEA
Bit-by-bit exclusive-OR operation and is denoted as
Modified Addition Operation: Addition of integers modulo
216 (modulo 65536), with inputs and outputs treated as
unsigned 16-bit integers. This operation is denoted as
Modified Multiplication Operation: Multiplication of
integers modulo 216+1 (modulo 65537), with inputs and
outputs treated as unsigned 16-bit integers, except that a
block of all zeros is treated as representing 216. This
operation is denoted as
Modified Addition Operation
The result of addition of two 16 bit should be 16 bit here, but addition
operation may results a carry. Throwing away carry is equivalent to
mod 216.
The result of multiplying two 16 bit will be 32 bit. To make it 16 bit the 32
bit result is divided by 216 +1 and then the reminder is taken.
IDEA encryption-Operations on each
round
Finally, the four output blocks from the upper transformation are
combined with two output blocks of the MA structure using XOR to
produce the four output blocks for this round.
Transformation
S1=step1
P1=plain text
(i.e x1 in the
previous slide
block diagram)
K1=subkey1
(i.e Z1 in the
previous slide
block diagram)
Final round-Output Transformation
DES
Data Encryption Standard (DES)
Given a 6-bit input, the 4-bit output is found by selecting the row
using the outer two bits (the first and last bits), and the column using
the inner four bits. For example, an input "011011" has outer bits "01"
and inner bits "1101"; the corresponding output would be "1001".