• 21 HAZİRAN 2020
  • Okunma Sayısı: 421

Ramazan Ömer ÇORAPÇI - Karaelmas Kriptoloji Takımı

Zonguldak Bülent Ecevit Üniversitesi - [email protected]

 

TARİHÇE VE KULLANIM ALANLARI

1973'te Horst Feistel ve Don Coppersmith tarafından tasarlanmıştır. İsmini , IBM şifrketinde çalışmakta olan ve ayrıyeten araştırmalar yapan Almanya doğumlu fizikçi ve kriptograf Horst Feistal tarafından almıştır. İlk olarak ABD’de IBM şirketinde ticari amaçla kullanıldığı görülmüştür .

Blok şifrelerinde kullanılan simetrik bir yapıdır ve Fiestal ağı olarka da bilinir. DES gibi şifreleme türleri büyük oranda bu yapıyı kullanırlar. Feistel yapısı, şifreleme ve şifre çözme işlemlerinin çok benzer olması, hatta bazı durumlarda aynıdır, sadece anahtar sırasının tersine çevrilmesini gerektirme avantajına sahiptir. Bu nedenle, böyle bir şifreyi uygulamak için gereken kod veya devrenin büyüklüğü neredeyse yarıya inmiştir.


FİESTEL ŞİFRELEME

 Özel alt anahtar

Argoritmalar sayesinde tamamen random üretilen anahtarlardır.Tamamen random olması ve karışık olması gerekiyor.

 F fonksiyonu

F fonksiyonu bir anahtar ile işleme gireceği için anahtarlı bir şifreleme türü olması gerekiyor mesela AES gibi.

 Şifreleme

64 bitlik bir mesajımız olsun. Bu mesaj 32 bit ya da 128 bit olabilir. İlk olarak bu mesajı 2 ye ayırıp (32 bit) yani bloklarına ayırıp işleme sokacağız. Ayırdığımız bu bloklar L(sol) ve R(sağ) adlarına sahip olsun. R bloğunu ve K(gizli)anahtarı alığ bir F fonksiyonu(AES gibi bir şifreleme türü) ile işleme sokuyoruz çıkan cevabı da L ile XOR işlemine sokuyoruz ve 1. Döngü bitmiş oluyor. 2.döngüde dikkat edilecek husus ise birinci dögüdeki R bloğunu F fonksiyonu ile işleme girmemiş halini alacağız ve L şifreli bloğu ile yer değiştireceğiz. Döngümüzü 1.döngüdeki gibi devam ettireceğiz ve bu işlem bizim istediğimiz kadar tekrar edebilir ama ne kadar fazla tektrar ederse makinemiz o kadar zorlanacaktır ve şifre o denli kırılması zor olacaktır. Her döngü de yeni bir anahtara ihtiyacımız vardır ve bu anahtarlar tamamen random ve güçlü anahtarlar olması gerekiyor. O yüzden iyi bir algoritmaya ihtiyacmızı var. Unutmayın kripto analiz ile ilgilenen kişiler ilk olarak bu algoritmayı öğrenmeye çalışıyor olacaklar. Aşağıdaki resmimizde daha detaylı görebilirsiniz. 

 



Avantajları ve Dezavantajları

  •  Blok ne kadar uzun olur ise o kadar güvenli olur ama döngü sayısı arttığı için iş yükü artacaktır ve makinemiz zorlanacaktır ve süresi artacaktır.
  •  Anahtar ne kadar uzun ise o kadar güvenli olur ama anahtar, bir F fonksiyonu ile işleme sokulduğu için uzun olması makinemizi zorlayacaktır.
  • Döngü sayısı bizim elimizde olduğu için istediğimiz kadar bir döngüye sokabiliriz. Döngü uzun olursa kırılması o derece zor olacaktır ama her döngü için farklı bir anahtar üretmek ve işlem kalabalığı olduğu için makinemiz oldukça zorlanacaktır.

Kaynakça

1. https://tr.wikipedia.org/wiki/Feistel_%C5%9Fifresi
2.http://bilgisayarkavramlari.sadievrenseker.com/2008/04/17/feistel-sifreleme-feistel-cipher-fesitel-agi-feistel-network/

TÜM MAKALELER