In cryptography, Lucifer was the name given to several of the earliest civilian block ciphers, developed by Horst Feistel and his colleagues at IBM. Lucifer was a direct precursor to the Data Encryption Standard. One version, alternatively named DTD1, saw commercial use in the 1970s for electronic banking. One variant, described in (US Patent 3,798,359; June 1971), uses a 48bit key and operates on 48bit blocks. The cipher is a Substitutionpermutation network and uses two 4bit Sboxes. The key selects which Sboxes are used. The patent describes the execution of the cipher operating on 24bits at a time, and also a sequential version operating on 8bits at a time. Another variant, described in (US Patent 3,796,830; Nov 1971), uses a 64bit key operating on a 32bit block, using one addition mod 4 and a singular 4bit Sbox. The construction is designed to operate on 4 bits per clock cycle. This may be one of the smallest blockcipher implementations known. A stronger variant, described in (Feistel, 1973), uses a 128bit key and operates on 128bit blocks. The cipher is a Substitutionpermutation network and uses two 4bit Sboxes. The key selects which Sboxes are used. A later Lucifer was a 16round Feistel network, also on 128bit blocks and 128bit keys, described in (Sorkin, 1984). This version was shown to be susceptible to differential cryptanalysis; for about half the keys, the cipher can be broken with 2^{36} chosen plaintexts and 2^{36} time complexity (BenAroya and Biham, 1996). IBM submitted the Feistelnetwork version of Lucifer as a candidate for DES (compare the more recent AES process). After some redesign (a reduction to a 56bit key and 64bit block, but strengthened against differential cryptanalysis) it became the Data Encryption Standard in 1977. The name "Lucifer" was apparently a pun on "Demon". This was in turn a truncation of "Demonstration", the name for a privacy system Feistel was working on. The operating system used could not handle the longer name.
Description of the Sorkin variant
The variant described in (Sorkin, 1984) has 16 Feistel rounds, like DES, but no initial or final permutations. The key and block sizes are both 128 bits. The Feistel function operates on a 64bit halfblock of data, together with a 64bit subkey and 8 "interchange control bits" (ICBs). The ICBs control a swapping operation. The 64bit data block is considered as a series of eight 8bit bytes, and if the ICB corresponding to a particular byte is zero, the left and right 4bit halves (nibbles) are swapped. If the ICB is one, the byte is left unchanged. Each byte is then operated on by two 4×4bit Sboxes, denoted S_{0} and S_{1} — S_{0} operates on the left 4bit nibble and S_{1} operates on the right. The resultant outputs are concatentated and then combined with the subkey using exclusive or (XOR); this is termed "key interruption". This is followed by a permutation operation in two stages; the first permutes each byte under a fixed permutation. The second stage mixes bits between the bytes. The keyscheduling algorithm is relatively simple. Initially, the 128 key bits are loaded into a shift register. Each round, the left 64 bits of the register from the subkey, and right eight bits form the ICB bits. After each round, the register is rotated 56 bits to the left.
References  Horst Feistel. Block Cipher Cryptographic System, US Patent 3,798,359. Filed June 30, 1971. (IBM)
 John Lynn Smith. Recirculating Block Cipher Cryptographic System, US Patent 3,796,830. Filed Nov 2, 1971. (IBM)
 Horst Feistel, (1973). Cryptography and Computer Privacy". Scientific American, 228(5), May 1973, pp 15–23.
 A. Sorkin, (1984). LUCIFER: a cryptographic algorithm. Cryptologia, 8(1), 2235, 1984.
 Eli Biham, Adi Shamir (1991). Differential Cryptanalysis of Snefru, Khafre, REDOCII, LOKI and Lucifer. CRYPTO 1991: pp156–171
 Ishai BenAroya, Eli Biham (1996). Differential Cryptanalysis of Lucifer. Journal of Cryptology 9(1), pp. 21–34, 1996.
 Whitfield Diffie, Susan Landau (1998). Privacy on the Line: The Politics of Wiretapping and Encryption.
 Stephen Levy. (2001). Crypto: Secrecy and Privacy in the New Code War (Penguin Press Science).
External links  John Savard's description of Lucifer (http://home.ecn.ab.ca/~jsavard/crypto/co0401.htm)
