Lucifer war der Name eines Projektes der IBM, das in der 70'er Jahren von einem Kryptographen-Team durchgeführt wurde. Zu dem Team gehörten unter anderem Don Coppersmith und Horst Feistel. Von Horst Feistel wurde dabei das sogenannte Feistel-Netzwerk entwickelt. Ziel des Projektes war die Entwicklung von Verschlüsselungstechnologie, die sich leicht in Hardware implementieren läßt und die außerdem effizient arbeitet.
Diese Kriterien setzen voraus, daß nur elementare Prozessoroperationen auszuführen sind und der Speicherbedarf gering ist. Um die Sicherheit zu gewähren, muß der Algorithmus gleichzeitig Schlüssel aus einem großen Schlüsselraum verwenden können. Die Sicherheit darf dabei nur von der Wahl des Schlüssels und nicht vom Algorithmus selbst abhängig sein, um das Problem der Geheimhaltung des Algorithmus zu vermeiden.
Lucifer war das Ergebnis des Entwicklungsprozesses. Er verwendete nur elementare Prozessoroperationen (XOR, ADD, ... ) und verschlüsselte mit 128 Bit (inlusive Parität), d.h. es gibt 2^112 verschiedene Schlüssel. Da er auf Feistel-Netzwerken basierte, war auch der Speicherbedarf gering. Damit war diese Bedingung für eine effiziente Implementierung erfüllt.
IBM reichte Lucifer als Vorschlag auf eine Ausschreibung des NBS (National Bureau of Standards) hin ein. In dieser Ausschreibung wurde nach einer Verschlüsselungstechnologie gesucht, die man als offiziellen Standard einführen könnte.
An dieser Stelle kommt die NSA in's Spiel. Das NBS zog -nach offizieller Darstellung- die NSA bei der Evaluierung des Algorithmus zu Rate. Im Ergebnis wurde die Schlüssellänge auf 56 Bit (8 Byte inklusive Parität) reduziert und der Algorithmus unter der Bezeichnung "Data Encryption Standard" (DES) freigegeben (23. November 1976), allerdings nur für "nichtgeheime Regierungsvorgänge" (!). Ob die Veröffentlichung des Algorithmus dabei `aus Versehen' geschah (siehe [Schneier 1996], S.311) und eigentlich nicht vorgesehen war, bleibt umstritten.