Yazan : Şadi Evren ŞEKER
Adını, alman şifreleme uzmanı Horst Feistel’den alan şifreleme methodu, blok şifreleme kullanmaktadır ve güncel pek çok blok şifreleme yöntemine temel teşkil etmektedir.
Feistel şifrelemesinin en büyük avantajı şifreleme (encryption) ve açma (decryption) işlemlerinin çok benzer olması ve hatta bazı durumlarda aynı olmasıdır. Bu yapıda şifreleme ve açma arasındaki tek fark, anahtar sırasıdır ve bu durum kodlama çalışmasını ve yapılacak işi neredeyse yarıya indirmektedir.
Bir feistel ağını temel olarak aşağıdaki 3 işlemi çeşitli sıralar ile çeşitli miktarlarda tekrar etmektedir:
- Verinin bitlerinin yerinin değiştirilmesi (genelde permütasyon şifrelemesi olarak da bilinir)
- Basit doğrusal olmayan fonksiyon icrası (Yerine koyma şifrelemesi olarak da bilinir)
- Doğrusal karıştırma (yahut işlemi (özel veya, XOR) olarak da bilinir)
Yukarıdaki bu yapıya göre feistel şifrelemelerinin temel dayanak noktası verinin bitleri arasında permütasyon alınması ve yerine koyma yapılmasıdır. Bu durum Shannon Teorisindeki karıştırma ve dağıtma (confusion and diffusion) ilkesi olarak binir ve permütasyon işlemi dağıtma (diffusion), yerine koyma işlemi ise karıştırma (confusion) olarak kabul edilir.
Aşağıda temel bir fiestal ağının çizimi verilmiştir:
Yukarıdaki şekilde de görüldüğü üzere giriş metni öncelikle iki parçaya ayrılır ve bu parçalar farklı sıralarda F fonksiyonuna konularak özel veya XOR ile birleştirilir. Fiestel ağını kullanan sistemlerin temel farkı kullandıkları F fonksiyonlarıdır. Bu sistemlerden bazıları:
Neden son round da ekstradan bir swap yapiliyor acaba?
Son adıma özel bir durum değil. Yani her adımda F fonksiyonu uygulanıp değiştirme (swap) yapılıyor. Bu bir adımın genel karakteristiği. Son adımda da F uygulandıktan sonra bu yüzden yer değiştirme işlemi yapılıyor.
Şekilde bütün adımlar çizilmemiş, boşluk kısmında istenilen kadar adım eklenebilir. Burada n adet adım olduğu (örneğin DES için 16 adım) kabul edilebilir.
Başarılar
teşekkürler hocam