Yazan: Şadi Evren ŞEKER
Feistel ağı kullanan bir blok şifreleme yöntemidir. 1993 yılında Bruce Schnider tarafından DES’e alternatif olarak geliştirilen yöntem simetrik, anahtarlamalı, bir blok şifreleme yöntemidir.Schneier’ın bu yöntemi geliştirmesindeki en büyük sebep DES gibi patentli yöntemlerin kullanılmasına bir alternatif olmasıdır ve balonbalığı şifrelemesi bütün ülkelerde ücretsiz ve patentsiz olarak kullanılacaktır argümanı ile yola çıkılmıştır.
Balonbalığı şifrelemesinde 16 adımdan oluşan feistel ağı kullanılmaktadır. Bu ağdaki mesaj boyutu 64bit ve anahtar boyutu 32 ile 448 bit arasında değişkendir.
Yukarıda toplam 16 adımdan oluşan balonbalığı algoritmasının şeması verilmiştir. Buna göre her adımda 32 bitlik işlem yapılmaktadır. Algoritmada 8bit girişli ve 32bit çıkışlı 256 adet S-kutusu (S-Box, Substitution Box, Yerine koyma kutusu) bulunmaktadır. Ayrıca 18 adet yer değiştirme dizisi (p-array) bulunmaktadır.
Her adımda yer değiştirme dizilerinden birtanesi kullanılmaktadır. Son adımdan sonra veri bloğunun her iki yarısının yahutu (özel veyası (XOR)) alınmaktadır ve bu işlem sırasında arta kalan iki yerine koyma dizisi de kullanılmaktadır. (16 adımın her birisi için birer yerine koyma dizisi ve son adımda da 2 yerine koyma dizisi kullanıldığı için toplam 18 adet dizi bulunur)
Aşağıda her F-Fonksiyonu için kullanılan yöntem verilmiştir. Buna göre mesajın yarısı olan 32bit uzunluğundaki veri 4 adet 8bitlik parçaya bölünerek aşağıdaki S-kutularına yerleştirilmekte ve her kutudan çıkan sonuç aşağıdaki şekilde işlenmektedir.
Sonuçlar 232 değerinde modulo işlemi alınarak yapılmakta ve 32bitlik sonucu üretmek için özel veya (XOR) işlemine tâbî tutulmaktadır.
Şifreleme yönteminin açılması için 17. ve 18. adımlarda kullanılan permütasyonun terse çevrilmesi ve her adımda bulunan permütasyonun sırasıyla geri gidilmesi yeterlidir.
Bu yöntemde kullanılan permütasyon dizileri ve yerine koyma kutuları Π pi sayısından elde edilen sayılar ile oluşturulmaktadır. Bilindiği kadarıyla Π pi sayısının tekrar etmeyen yapısından dolayı yöntemin güvenli olduğu düşünülebilir.