Yazan : Şadi Evren ŞEKER

Veri güvenliği konusunda kullanılan bu terim, basitçe bir şifreleme algoritmasının birden fazla işlemden oluşmasını ifade eder. Amaç, basit şifreleme işlemlerinin birleştirilmesi sonucunda güçlü bir şifreleme sistemi inşa etmektir.

Örneğin kaydırma işlemi (shift) , yerine koyma işlemi (substitution) veya yer değiştirme işlemi (permutation) gibi basit işlemler, düzgün bir sıra ile çalıştırılırsa, tek başlarına kullanılmalarına göre çok daha başarılı bir sonuç elde edilebilir.

DES algoritması veya Blowfish algoritması gibi pek çok algoritmada benzer yaklaşım kullanılmıştır. Bu anlamda SP ağları (substitution permutation, yerine koyma ve yer değiştirme, SP network) ya da Feistel şifrelemeleri, klasik birer birleşik şifreleme örneğidir (Product cipher).

Bu durumu incelemeye çalışalım:

Örneğin elimizde yerine koyma (substitution) ve yer değiştirme (permutation) işlemleri olsun ve sırasıyla S ve P harfleri ile ifade edilsin.

Diyelim ki S işlemi için 26 harflik alfabe kullanıyoruz, bu durumda S şifreleme algoritmasının anahtar uzayı (key space) 26! olacaktır.

Benzer şekilde P algoritması için de blok uzunluğumuz 5 karakter olsun. Bu durumda da P şifreleme algoritmasının anahtar uzayı (key space) 5! Olacaktır.

Şimdi aşağıdaki durumları inceleyelim:

  1. y=P(x)
  2. y=P(P(x))
  3. y=P(P(P(x)))
  4. y=S(x)
  5. y=S(S(x))
  6. y=S(S(S(x)))
  7. y=S(P(x))
  8. y=P(S(x))
  9. y=S(P(S(P(S(x)))))

Yukarıdaki bir numaralı örneğin anahtar uzayının 5! olduğunu söylemiştik. Acaba 2 numaralı örneğin anahtar uzayı nedir?

Şayet bir yer değiştirme algoritmasında örneğin önce 2. Karakter ile 5. Karakterlerin yerini değiştirip sonrada 3. Karakter ile 2. Karakterin yerini değiştiriyorsanız aslında tek bir yer değiştirme yapıyor ve 5. Karakter ile 3. Karakterin yerini değiştiriyorsunuz demektir. Yani yer değiştirme işleminin kaç kere tekrar edildiğinin bir önemi yoktur. İstenildiği kadar tekrar edilsin sonuçta yapılan işlem tek bir yer değiştirmedir. Dolayısıyla yukarıdaki örneklerden 1,2 ve 3 için anahtar uzayı hep 5! Olur.

Benzer durum 4,5 ve 6 için geçerlidir. Bunun sebebi ise bir harfin başka birisi ile ikame edilmesi işleminin her tekrarlanması aslında tek bir ikamedir. Örneğin, alfabedeki a harfini h ile değiştirip sonrada h harfini p ile değiştirmek aslında a harfini p ile değiştirmektir. Dolayısıyla istenildiği kadar S algoritması arka arkaya çalıştırılsın, sonuçta yapılan işlem tek bir yerine koymadır (ikame). Kısacası 4,5 ve 6 için anahtar uzayımız hep 26! Olacaktır.

Gelelim 7. Duruma. Bu durumda önce harfin yeri değiştirilmiş sonra farklı bir harf ile değiştirilmiş. Örneğin kelimenin 3. Harfi ile 5. Harfi yer değiştirmiş sonra da kelimedeki a harfleri h harfi ile değiştirilmiş. Bu durumda anahtar uzayı 5! x 26! Değerine ulaşır. Bunun sebebi her yer değiştirme ihtimali için ayrı ayrı 26! Kadar yerine koyma işlemi yapılabileceğidir.

Bu işlem ters sıra ile de yapılabilir. Yukarıdaki 8. Durum bunu gösterir. Yani S(P(x)) ile P(S(x)) işlemlerinin anahtar uzayı aynıdır.

Yukarıdaki 9. Durum oldukça ilginçtir çünkü bize SP işleminin tekrarlanması durumunda basitleştirilemeyeceğini ve her tekrarında karmaşıklığın daha da artacağını gösterir. Okuyucu bu durumu deneyerek görebilir. Basitçe her SP işlemi için n boyutunda bir anahtar uzayı varsa SP işleminin tekrarı kadar n değeri kendisi ile çarpılabilir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir