Kasumi

Kasumi, UMTS, GSM, GPRS gibi mobil sistemde kullanılan bir blok şifrelemedir. Bir telefon konsorsyumu ve mobil dünyaya yön veren bir grup projesi olan 3GPP için tasarlanmıştır. KASUMI adını orijinal Japoncadaki pus anlamına gelen kelimeden alır. UMTS yani 3G sistemlerde bütünlük ve gizlilik için kullanılır. GSM'de A5/3 anahtar dizisi oluşturmak için, GRPSde ise GEA3 anahtar dizisi oluşturmak için kullanılır.
Mitsuru Matsui, lineer ve diferansiyel kriptanalizin her ikisine de karşı güvenilirliği tam olan MISTY1 adında bir blok şifreleme algoritmasını tasarlamıştır. MISTY1, 128 bit anahtar uzunluğu ve 64 bit data bloğunda işlem yapan bir blok şifreleme işlemidir. Güvenilirliği oldukça yüksek bir algoritmadır. Bu sebepten dolayı Avrupa İletişim Şirketlerinin tüm üyeleri bir karar alarak MISTY1 yapısının 3G nesil haberleşme sisteminde büyük ölçüde güvenlik sağlayacaklarını ortaya çıkarmışlardır. Bu sebeple MISTY1in değiştirilmiş versiyonu olarak KASUMI algoritması ortaya çıkarılmıştır. KASUMI, 8 döngülü bir Feistel şifrelemedir. 128 bitlik K anahtarını kullanarak 64 bit girişten 64 bit çıkış üretir.
KASUMI algoritması FL, FO, FI olarak adlandırılan alt fonksiyonlar içerir. Bunlarla ilişki olan alt anahtarlar ise sırasıyla KL, KO, KI dır. Alt anahtar değerler şu şekilde elde edilir:
KASUMI 128 bitlik K anahtarına sahiptir. Her bir KASUMI döngüsü bu Kdan elde edilen 128 bit yeni anahtar değerini kullanır. Döngü anahtarlarından önce 16 bitlik Kj ve Kj (j=1 to 8) dizileri elde edilip hesaplanır. 128 bit anahtar 16 bitlik 8 alt değere bölünür. K1,. K8
Bu durumda K = K1 || K2 || K3 || K4 || K5 || K6 || K7 || K8
Kj dizisi Kj den elde edilir. Her bir j integer değeri için 1≤j≤8 Kj = Kj XOR Cj ifadesi ile elde edilir.
Kj = Kj XOR Cj ifadesi ile elde edilir.
Fi fonksiyonu 64 bit I giriş değerini, RKi döngü anahtarı (döngü anahtarı KLi, KOi ve KIi üçlü anahtar grubu olarak) kontrollüğünün altında 64 bitlik O çıkış değerine dönüştürür. Fonksiyon yapı olarak iki alt fonksiyondan elde edilir. FL ve FO fonksiyonları KLi (FL ile kullanılan) ve KOi-KIi (FO ile kullanılan) alt anahtar ile birleştirilmiştir. Fi fonksiyonu tek ve çift döngülere bağlı olarak iki biçimde oluşturulmuştur.
1,3,5 ve 7 döngü sayıları için; fi(I, RKi)=FO(FL(I, KLi), KOi, KIi)
2,4,6 ve 8 döngü sayıları için; fi(I, RKi)=FL(FO(I, KOi, KIi), KLi)
Konuşma esnasında 64 bitlik uygun verilerin, oturum anahtarı ile KASUMI algoritmasına girmesi ile 64 bitlik şifreli veri elde edilmiş olur. UMTS sisteminde ses ve verilerin şifrelenmesi bu şekilde gerçekleşir.
Zaafiyet
KASUMI algoritması donanımsal uygulamalarla veya karakteristik özelliğinden dolayı zaafiyetlerin kullanılmasına müsaittir. Bunlar:
Donanımsal uygulamar basit anahtar yapısı kolaydır.
Sbox lar az miktarda kombinasyonel mantık içererek uygulanır.
FI fonksiyonu içerisinde S7-Box ve S9-Box işlemleri paraleleştirilebilir.
FIi1 ve FIi2 işlemleri paralelleştirilebilir
Saldırı
KASUMI algoritması 8 döngülü olmasına rağmen kriptanaliz çalışmalarında henüz 5 döngüde bir sonuç bulunabilmiştir. Ancak 2010 yılında Orr Dunkelman, Nathan Keller ve Adi Shamir kripto analiz sonucu ortaya çıkan WEPdeki gibi bir sorun olan related key attack ile kırıldığını gösteren bir yayın çıkardılar. Bu ataktan korunma yöntemi olarak ise tasarımsal protokoller gerçekleştirilerek anahtar arasındaki ilişikinin basitliğinin yok edilmesi gerekir. 6 döngülü KASUMIde single-key atağı gerçekleştirilebilmektedir. Hata üretimi gerçekleştirilen diferansiyel ataklarda mevcuttur.