Khufu is a 64-bit block cipher
created by Ralph Merkle
in 1990. Khufu was designed to meet what Merkle felt were design challenges experienced by DES
The 64-bit plaintext
is split into two 32-bit halves (we will call it "half one" (H1) and "half two" (H2) ).
H1 and H2 are XOR
'd with a portion of the key
. Then, the text goes through multiple rounds
In each round, The least significant
byte of H1 is used as an input to an S-Box
. Each S-Box has 8 input bits
and 32 output
bits. The selected 32 bit S-box entry is then XOR'd with H2.
Next, H1 is rotated some multiple of 8 bits and H1 and H2 swap positions, ending the round.
After all the rounds are completed, H1 and H2 get XOR'd with another portion of the key.
When encrypting using 8 rounds, Khufu is susceptible to a chosen-plaintext attack
. There is also a differential analysis
attack on 16 round khufu which recovers the key
after 2^31 chosen-plaintext
Khufu was also the second King
of the fourth dynasty
of Egypt in 26 B.C.
. Khufu was responsible for building the Great Pyramid
. At its time, It was the largest structure
in the world.