Blowfish Algorithm
Blowfish Algorithm
Blowfish Algorithm
Blowfish is a symmetric block cipher algorithm.
It is an replacement of DES and IDEA algorithm.
Designed by Bruce Schneier in 1993
Here,
Plaintext 64bits
Key varies from 32bits to 448bits
Subkeys 18 [P-array]
Round 16
Substitution Boxes 4 [256 entries]
Properties
1) Fast
2) Compact [executes in less memory]
3) Simple [use simple operations like XOR and ADD]
4) Secure[ because of variable length key]
each of 32 bit
4) XOR operations are performed:
P1 = P1 XOR K1
P2 = P2 XOR K2
P3 = P3 XOR K3
…. … …
…. … …
…. … …
…. … …
L1 (32bit) R1 (32bit)
P1 ⁺ F ⁺
L2 (32bit) R2 (32bit)
P2 ⁺ F ⁺
… …
L16 (32bit) R16 (32bit)
P16 ⁺ F ⁺
P18 ⁺ ⁺ P17
8 S – Box 1
bits ADD
8 S – Box 2
32 bit bits
8 S – Box 3 XOR
bits