Lucifer (暗号)
(Sorkin, 1984)で記述されている版は、DESと同様に16ラウンドのFeistel構造だが、最初と最後の並べ替えがない。鍵長とブロック長は共に128ビットである。Feistel関数はブロックの半分である64ビットを鍵の半分である64ビットの部分鍵と8ビットの交換制御ビット (interchange control bits、ICBs) で操作する。ICBsはビットの入れ替え操作を制御する。64ビットのデータブロックを8個の8ビットのかたまり(バイト)の並びとみなし、特定のバイトに対応するICBがゼロなら、4ビットずつ(ニブル)の左右を入れ替える。対応するICBが1なら、そのバイトはそのままにしておく。各バイトは次に2つの4×4ビットのSボックスで操作される。それらの出力を連結した上で、部分鍵とXOR演算を行う。これを "key interruption" と呼ぶ。その後、2段階の並べ替えを行う。1回目はバイト単位に固定の並べ替えを行う。2回目はバイト間でビットの入れ替えを行う。
鍵スケジュールのアルゴリズムは比較的単純である。まず128ビットの鍵をシフトレジスタにロードする。ラウンドごとにそのレジスタの左半分の64ビットが部分鍵に使われ、右端の8ビットがICBビットとなる。ラウンドごとにレジスタを左に56ビットローテートさせる。