Feistel şifresi - Feistel cipher

In kriptografi , bir Feistel şifre (olarak da bilinen Luby-Rackoff blok şifreleme ) yapımında kullanılan simetrik yapıdır blok şifrelere adını, Alman doğumlu fizikçi ve kriptocu Horst Feistel için çalışırken araştırma öncü vermedi IBM (ABD) ; aynı zamanda bir Feistel ağı olarak da bilinir . ABD Veri Şifreleme Standardı , Sovyet / Rus GOST ve daha yeni Blowfish ve Twofish şifreleri de dahil olmak üzere, blok şifrelerin büyük bir kısmı bu şemayı kullanıyor . Feistel şifrelemede, şifreleme ve şifre çözme çok benzer işlemlerdir ve her ikisi de "yuvarlak işlev" adı verilen bir işlevi sabit sayıda yinelemeli olarak çalıştırmayı içerir.

Tarih

Birçok modern simetrik blok şifresi, Feistel ağlarına dayanmaktadır. Feistel ağları ticari olarak ilk kez 1973'te Horst Feistel ve Don Coppersmith tarafından tasarlanan IBM'in Lucifer şifresinde görüldü . Feistel ağları, ABD Federal Hükümeti DES'i ( NSA tarafından yapılan değişikliklerle Lucifer'e dayanan bir şifre) benimsediğinde saygınlık kazandı . DES'in diğer bileşenleri gibi, Feistel yapısının yinelemeli doğası, şifreleme sisteminin donanımda uygulanmasını kolaylaştırır (özellikle DES'in tasarımı sırasında mevcut olan donanımda).

Tasarım

Bir Feistel ağı, iki giriş, bir veri bloğu ve bir alt anahtar alan ve veri bloğu ile aynı boyutta bir çıktı döndüren bir yuvarlak işlev kullanır . Her turda, yuvarlak işlevi şifrelenecek verilerin yarısında çalıştırılır ve çıktısı, verilerin diğer yarısı ile XOR'lanır. Bu, sabit sayıda tekrarlanır ve son çıktı şifrelenmiş verilerdir. Feistel ağlarının, ikame-permütasyon ağları gibi diğer şifreleme tasarımlarına kıyasla önemli bir avantajı , yuvarlak işlevin kendisi tersine çevrilemese bile, tüm işlemin tersine çevrilebilir (yani şifrelenmiş verilerin şifresi çözülebilir) garantisidir. Döndürme işlevi, tersine çevrilebilir olarak tasarlanması gerekmediğinden, keyfi olarak karmaşık hale getirilebilir. Ayrıca, şifreleme ve şifre çözme işlemleri çok benzerdir, hatta bazı durumlarda aynıdır ve yalnızca anahtar programının tersine çevrilmesini gerektirir . Bu nedenle, böyle bir şifreyi uygulamak için gereken kod veya devrenin boyutu neredeyse yarı yarıya azalır.

Teorik çalışma

Feistel şifrelerinin yapısı ve özellikleri, kriptograflar tarafından kapsamlı bir şekilde analiz edilmiştir .

Michael Luby ve Charles Rackoff , Feistel şifre yapısını analiz ettiler ve yuvarlak fonksiyonun çekirdek olarak K i ile birlikte kriptografik olarak güvenli bir sözde rasgele fonksiyon olması durumunda, blok şifresini sahte bir rasgele permütasyon yapmak için 3 turun yeterli olduğunu ve 4 tur "güçlü" bir sözde rasgele permütasyon yapmak için yeterlidir (bu , ters permütasyonuna oracle erişimi olan bir düşman için bile sözde rasgele kalması anlamına gelir ). Luby ve Rackoff'un bu çok önemli sonucu nedeniyle, Feistel şifrelemelerine bazen Luby – Rackoff blok şifreleri adı verilir.

Daha fazla teorik çalışma, inşaatı bir şekilde genelleştirdi ve güvenlik için daha kesin sınırlar verdi.

İnşaat detayları

Feistel şifre diyagramı en.svg

Izin vermek yuvarlak işlevi ve sırasıyla turlar için alt anahtarlar olsun .

Ardından temel işlem şu şekildedir:

Düz metin bloğunu iki eşit parçaya bölün, ( , )

Her tur için hesaplayın

XOR nerede demektir . O zaman şifreli metin .

Bir şifreli metnin şifresinin çözülmesi ,

Sonra yine düz metin.

Diyagram hem şifreleme hem de şifre çözmeyi göstermektedir. Şifre çözme için alt anahtar sırasının tersine çevrildiğine dikkat edin; bu, şifreleme ve şifre çözme arasındaki tek farktır.

Dengesiz Feistel şifresi

Dengesiz Feistel şifreleri , eşit uzunluklara sahip olan ve olmayan yerlerde değiştirilmiş bir yapı kullanır . Yazılı şifre örneğin bir şifre bir örneğidir. Texas Instruments dijital imza transponder gerçekleştirmek için özel bir dengesiz Feistel şifreleme kullanır meydan-yanıt kimlik doğrulaması .

Thorpe rasgele bir yan tek bir bit olduğu dengesiz Feistel şifre aşırı bir durumdur. Bu, dengeli bir Feistel şifresinden daha iyi kanıtlanabilir bir güvenliğe sahiptir, ancak daha fazla tur gerektirir.

Diğer kullanımlar

Feistel yapısı, blok şifrelerinden başka kriptografik algoritmalarda da kullanılır. Örneğin, optimal asimetrik şifreleme doldurma (OAEP) şeması, belirli asimetrik anahtar şifreleme şemalarında şifreli metinleri rastgele hale getirmek için basit bir Feistel ağı kullanır .

Genelleştirilmiş bir Feistel algoritması, iki kuvveti olmayan küçük alan adlarında güçlü permütasyonlar oluşturmak için kullanılabilir (bkz. Biçimi koruyan şifreleme ).

Tasarım bileşeni olarak Feistel ağları

Şifrenin tamamı bir Feistel şifresi olsun veya olmasın, Feistel benzeri ağlar bir şifrenin tasarımının bir bileşeni olarak kullanılabilir. Örneğin, misty1 Yuvarlak fonksiyonunda üç yuvarlak Feistel ağı kullanarak bir Feistel şifredir, Yazılı bir tadil edilmiş olan G permütasyon bir Feistel ağı kullanarak şifre Feistel ve bir Threefish (bir kısmının çilesi ) olmayan bir Feistel blok şifreleme yani Feistel benzeri bir MIX işlevi kullanır.

Feistel şifrelerinin listesi

Feistel veya değiştirilmiş Feistel:

Genelleştirilmiş Feistel:

Ayrıca bakınız

Referanslar