Lucifer Şifreleme

Kriptografide Lucifer, Horst Feistel ve IBM'deki meslektaşları tarafından geliştirilen en eski sivil blok şifrelerin birçoğuna verilen addı. Lucifer , Veri Şifreleme Standardının doğrudan öncüsüydü. Alternatif olarak DTD-1 olarak adlandırılan bir sürüm , 1970'lerde elektronik bankacılık için ticari kullanım gördü.

Lucifer, şifrelerin kodunu çözmede başlangıç noktası olarak aktarma ve yerine koyma şifrelemenin bir kombinasyonunu kullanır.  Feistel tarafından 1971'de açıklanan bir varyant, 48 bitlik bir anahtar kullanır ve 48 bitlik bloklar üzerinde çalışır. Şifre bir ikame-permütasyon ağıdır ve iki adet 4 bitlik S-kutusu kullanır. Bu tuş hangi S-kutularının kullanılacağını seçer. Patent, 24 üzerinde çalışan şifrenin yürütülmesini açıklamaktadır. bir seferde bit ve ayrıca 8 üzerinde çalışan sıralı bir sürüm bir seferde bitler. Aynı yıl John L. Smith tarafından yapılan başka bir varyant , bir ek mod 4 ve tekil bir 4 bitlik S-kutusu kullanarak 32 bitlik bir blok üzerinde çalışan 64 bitlik bir anahtar kullanır. Yapı, saat döngüsü başına 4 bit ile çalışacak şekilde tasarlanmıştır. Bu bilinen en küçük blok şifreleme uygulamalarından biri olabilir. Feistel daha sonra 128 bitlik bir anahtar kullanan ve 128 bitlik bloklar üzerinde çalışan daha güçlü bir varyantı tanımladı.

Lucifer şifrelemesini, 16 adımlı bir Feistel network, ağı olarak ve 128-bit blok boyutları ve 128-bit anahtarlama olarak tanımlar. Bir saldırı olarak differential cryptanalysis; kullanılması durumunda, denenmesi gereken ihtimal sayısı 236 chosen plaintexts ve 236 zaman karmaşıklığı bulunmaktadır.

IBM, Lucifer'in Feistel ağ sürümünü Veri Şifreleme Standardı adayı olarak sundu (daha yeni AES sürecini karşılaştırın). Ulusal Güvenlik Ajansı'nın şifrenin anahtar boyutunu 56 bit'e düşürmesi, blok boyutunu 64 bit'e düşürmesi ve şifreyi o zamanlar yalnızca IBM ve NSA tarafından bilinen diferansiyel kriptanalize karşı dirençli hale getirmesinden sonra DES haline geldi.

Görünüşe göre "Lucifer" adı "Demon" için bir kelime oyunuydu. Bu da Feistel'in üzerinde çalıştığı gizlilik sisteminin adı olan "Gösteri"nin kısaltılmasıydı. Kullanılan işletim sistemi daha uzun adı kaldıramadı .

tarafından açıklanan değişken DES gibi 16 Feistel turu vardır, ancak başlangıç veya son permütasyonları yoktur. Anahtar ve blok boyutlarının her ikisi de 128 bittir. Feistel işlevi, 64 bitlik bir alt anahtar ve 8 " değişim kontrol biti " (ICB'ler) ile birlikte 64 bitlik bir yarım blok veri üzerinde çalışır. ICB'ler bir takas işlemini kontrol eder. 64 bitlik veri bloğu, sekiz adet 8 bitlik bayttan oluşan bir seri olarak kabul edilir ve belirli bir bayta karşılık gelen ICB sıfırsa, sol ve sağ 4 bitlik yarılar ( nibble'ler ) değiştirilir. ICB bir ise bayt değişmeden kalır. Daha sonra her bayt, S 0 ve S 1 — gösterilen iki adet 4x4 bitlik S kutusu tarafından çalıştırılır. S 0 soldaki 4 bitlik yarım baytta çalışır ve S 1 sağda çalışır. Ortaya çıkan çıktılar birleştirilir ve ardından özel veya (XOR) kullanılarak alt anahtarla birleştirilir; buna " anahtar kesintisi " denir. Bunu iki aşamalı bir permütasyon işlemi takip eder; ilki her bayta sabit bir permütasyon altında izin verir. İkinci aşama, baytlar arasındaki bitleri karıştırır.

Anahtar planlama algoritması nispeten basittir. Başlangıçta 128 anahtar bit kaydırma yazmacına yüklenir. Her turda, kaydın soldaki 64 biti alt anahtarı, sağdaki sekiz bit ise ICB bitlerini oluşturur. Her turdan sonra kayıt defteri 56 bit sola döndürülür.