Simetrik Şifreleme

26 Ekim
2007

Bir önceki iki yazıda asimetrik şifrelemeyi basit olarak anlatmaya çalıştım, devam olarak da gündelik yaşama daha yatkın daha kolay anlaşılacak simetrik şifrelemeyi anlatayım. Simetrik şifremeleyi anlatırken kilit ve kapı örneği herşeyi çok güzel anlatacak. Çünkü tam olarak aynı mantıkla çalışıyor. Elimizde bir anahtar var ve bu anahtar hem kilitleme hemde açma görevini yapıyor. Bu anahtarla hem veriyi şifreliyor (encrypt) hemde şifrelenmiş veriyi geri açıyoruz (decrypt). Bu iki işlem içinde aynı ve tek anahtar gerekli. Bu anahtar algoritmaya göre değişik uzunlukta olabilir. Simetrik algoritmaların asimetrik algoritmalara göre en önemli avantajı hızı ve esnekliğidir. Asimetrik algoritmalarda anahtardan buyuk veriler şifrelenemezken simetrik algoritmalarda böyle bir kısıt yoktur ve bu yüzden esnektir.

Simetrik algoritmalardan bahsederken oldukça fazla sayıda olan algoritmalardan adı bilinen ve kullanılan AES (Rijndael), Blowfish, DES, 3DES, Serpent, Twofish algoritmaları genel olarak kullanılır. Aslında bu saydıklarım şimdiye kadar zaman içerisinde kullanılmış ve zamanla yerini bir diğerine bırakmış simetrik şifreleme algoritmalarıdır. Herşey 1975 yılında ABD’ye bağlı bir birimin DES (Data Encryption Standart)’ı üretmesi ile başlar, 64 bitlik blok genişliği ve 56 bit lik anahtarı ile zamanında çok sağlam bir standart olan DES’in o zaman kırılmaya çalışıldığı bilgisayarların Pacman oynamaya yaradığını düşünürsek şimdilerde bir kaç saatlik bir atakla kırılabileceğini hesap etmek zor olmayacak olsa gerek. DES’in güvenirliğini yitirmesi karşısında üretilen 3DES (ya da TDES) DES algoritmasını 3 kez veri üzerine tekrarlayarak veriyi korumaya çalışır. 56 çarpı 3 den 168 bit lik anahtar boyutuna karşın 64 bit de kalan blok genişliği günümüz ihtiyaçlarında 3DES ide geçersiz kılmıştır. 90 ların başında ortaya atılan başka bir algoritma olan Blowfish, 32 ile 448 bit anahtar uzunluğu ile 64 bitlik blok genliği çok cazip bir seçenek gibi dursada, aşırı ağır çalışmasının yanında yüksek hafıza gereksinimi onu genel bir standart yapmamıştır.

Bu çalışmaların yanında 1999 yılında NIST (Ulusal Standartlar ve Teknoloji Enst.) tarafından düzenlenen AES (Gelişmiş Şifreleme Standardı) yarışması günümüz simetrik şifreleme standardını ortaya çıkarmıştır. Yukarıda ismi geçen Twofish, Serpent ve Rijindael ile ismi geçmeyen iki algoritma (MARS, RC6) daha bu yarışmada finale kalmışlar ve kazanan Rijindael olmuştur. Bu yarışma sonunda birinci olan Rijindael NIST tarafından düzenlenip DES in yerine yeni şifreleme standartı olarak duyurulmuştur. Diğer iki algoritmanın neden seçilmediklerini anlatmakta bir fayda görmüyorum o yüzden yeni DES ya da yeni adıyla AES’den biraz bahsedeyim ve bitireyim. 128, 192 ve 256 bit anahtar uzunluklarına sahip olabilir ve anahtar uzadıkça işlem zamanı %40 lara varan oranlarda yavaşlamaktadır. Ancak kırılma olasılığıda anahtar uzunluğu arttıkça inanılmaz ölçülerde artmaktadır.

Şöyleki 128 bit bir anahtarda 2 üzeri 128 den 3,4×10^34 (3,4 le başlayan 34 haneli bir rakam) farklı anahtar bulunabileceği gibi 256 bit uzunlukta bir anahtarda 1,15×10^77 (1,5 le başlayan 77 haneli bir rakam) kadar farklı anahtar bulunabilir. 34 haneli bir rakamla 77 haneli bir rakamın farkını anlatmayım,

Bunun haricinde 128 bit blok genişliği yanında çok çok az ram ihtiyacıda birinci seçilmesinde önemli bir kriter olsa gerek. Test sonuçlarına göre en hızlı olmasada saydıgım özellikleri ile Rijindael yeni standart olmuştur ve günümüzde oldukça yuksek oranda kullanılmaktadır.

Yorumlar kapalı.

başa dön