Lucifer (cipher)

In cryptography, Lucifer was the name given to several of the earliest civilian block ciphers, developed by Horst Feistel and his colleagues at IBM.

Another variant by John L. Smith from the same year[3] uses a 64-bit key operating on a 32-bit block, using one addition mod 4 and a singular 4-bit S-box.

[5] This version is susceptible to differential cryptanalysis; for about half the keys, the cipher can be broken with 236 chosen plaintexts and 236 time complexity.

[6] IBM submitted the Feistel-network version of Lucifer as a candidate for the Data Encryption Standard (compare the more recent AES process).

The Feistel function operates on a 64-bit half-block of data, together with a 64-bit subkey and 8 "interchange control bits" (ICBs).

The resultant outputs are concatenated and then combined with the subkey using exclusive or (XOR); this is termed "key interruption".