Kriptografi şifreleme bilimi demektir. Teknolojinin hızlı bir şekilde
gelişmesiyle askeri, elektronik, banka sistemleri ve daha bir çok yer
kriptografi biliminin kullanım alanları haline gelmiştir. Günümüz
sistemlerinde en önemli gereksinimlerden birisi bilgilerin sorunsuz bir
şekilde taşınması ve gizliliktir. Verilerin güvenli bir şekilde
yollanması ve karşı taraftan alınabilmesi için kriptografi bilimi
aracılığıyla geliştirilen çeşitli şifreleme, anahtarlama ve çözümleme
algoritmaları kullanılmaktadır. Kriptoloji algoritmalarından en yaygın
kullanılanı ise şifreleme algritmalarıdır. Şifreleme algoritması
şifrelenecek metni ve şifreleme anahtarını girdi olarak alır. Çözümleme
algoritması ise şifreleme algoritmasının ters yönünde çalışır.
Kriptografide şifreleme için kullanılan anahtarın özellikleri ve
çeşidine göre temel olarak iki çeşit şifreleme algoritması
bulunmaktadır.
1 - Simetrik Şifreleme Algoritmaları (Gizli Anahtarlı Şifreleme)
Kriptografik yöntemlerden, hem şifreleme hem de deşifreleme işlemi için aynı anahtarı kullanan kriptosistemlere
verilen isimdir. Simetrik şifreleme olarak da adlandırılır. Simetrik
şifreleme uzun bir geçmişe sahiptir. Haberleşen tarafların(Hem
göndericinin hem de alıcının) aynı anahtarı kullanmaları gerektiği için
burada asıl sorun anahtarın karşıya güvenli bir şekilde iletilmesidir.
Simetrik şifreleme anahtar karşıya güvenli bir şekilde iletildiği sürece
Açık anahtarlı şifrelemeden
daha güvenlidir. Anahtar elinde olmayan birisi şifrelenmiş metini ele
geçirse de şifrelenmiş metinden asıl metni bulması mümkün değildir.
Simetrik şifrelemede haberleşen tarafların her biri için bir anahtar
çifti üretilmelidir. Bu yüzden de çok fazla anahtar çifti ile uğraşmak
gerekebilir.
Sezar,Vigenere, DES, 3DES, RC5, Blowfish, IDEA, SAFER gibi algoritmalar gizli anahtarlı şifreleme algoritmalarına örnek olarak verilebilir.
Simetrik şifrelemede, Açık anahtarlı şifreleme
ile, aynı seviyede güvenliği sağlamak için gereken anahtarın boyutu çok
daha küçüktür. Anahtar boyutunun küçük olmasından dolayı Açık anahtarlı şifrelemeye göre daha hızlı şifreleme yapabilir. Yine anahtar boyutunun küçük olmasından dolayı anahtar üretim hızı daha yüksektir.
Kuvvetli Yönleri;
Zayıf Yönleri;
Dizi şifreleme algoritmaları ise veriyi bir bit dizisi olarak almaktadır. Bir üreteç aracılığı ve anahtar yardımıyla istenilen uzunlukta kayan anahtar adı verilen bir dizi üretilir. Kayan anahtar üretimi zamana bağlıdır ve bu yüzden bu algoritmalara aynı zamanda hafızalı şifreleme denir. Telsiz haberleşmesi gibi gürültülü ortamlarda ses iletimini sağlamak için genellikle dizi şifreleme algoritmaları kullanılır.
Kuvvetli Yönleri;
- Algoritmalar olabildiğince hızlıdır.
- Donanımla birlikte kullanılabilir.
- Güvenlidir.
- Güvenli anahtar dağıtımı zordur.
- Kapasite sorunu vardır.
- Kimlik doğrulama ve bütünlük ilkeleri hizmetlerini güvenli bir şekilde gerçekleştirmek zordur.
Dizi şifreleme algoritmaları ise veriyi bir bit dizisi olarak almaktadır. Bir üreteç aracılığı ve anahtar yardımıyla istenilen uzunlukta kayan anahtar adı verilen bir dizi üretilir. Kayan anahtar üretimi zamana bağlıdır ve bu yüzden bu algoritmalara aynı zamanda hafızalı şifreleme denir. Telsiz haberleşmesi gibi gürültülü ortamlarda ses iletimini sağlamak için genellikle dizi şifreleme algoritmaları kullanılır.
a.)
DES (Data Encryption Standard) : Dünyada en yaygın kullanılan şifreleme algoritmalarından
birisidir. DES, IBM tarafından geliştirilmiştir. 1975 yılında “Federal Register”
tarafından yayınlanmıştır. DES 64 bitlik veriyi 56 bitlik anahtar kullanarak
şifreler. Ayrıca klasik Feistel Ağı kullanılarak temelde şifreleme
işleminin deşifreleme işlemiyle aynı olması sağlanmıştır. Kullanılan teknikler
yayılma ve karıştırmadır. DES’in en büyük dezavantajı anahtar uzunluğunun 56
bit olmasıdır. 1975 yılında yayınlanan bu algoritma günümüzde geliştirilen
modern bilgisayarlar tarafından yapılan saldırılar karşısında yetersiz
kalmaktadır. Daha güvenli şifreleme ihtiyacından dolayı DES, Triple-DES olarak
geliştirilmiştir. Triple-DES algoritması geriye uyumluluğu da desteklemek
amacıyla 2 adet 56 bitlik anahtar kullanır. Triple-DES algoritması, DES
algoritmasının şifreleme, deşifreleme, şifreleme şeklinde uygulanmasıdır.
b.)
TWOFISH : 1998
yılında yayınlanan bu algoritma Bruce Schneier - John Kelsey - Doug
Whiting - David Wagner - Chris Hall - Niels Ferguson tarafından
yaratılmış ve analiz edilmiştir. AES finalistlerinden
biridir ve AES kadar hızlıdır. Aynı DES gibi Feistel yapısını kullanır. DES’den
farklarından biri anahtar kullanılarak yaratılan değişken S-box (Substitution
box – Değiştirme kutuları)’lara sahip olmasıdır. Ayrıca 128 bitlik düz metni 32
bitlik parçalara ayırarak işlemlerin çoğunu 32 bitlik değerler üzerinde gerçekleştirir.
AES’den farklı olarak eklenen 2 adet 1 bitlik rotasyon, şifreleme ve
deşifreleme algoritmalarını birbirinden farklı yapmış, bu ise uygulama
maliyetini arttırmış, aynı zamanda yazılım uygulamalarını %5 yavaşlatmıştır.
c.)
IRON : Diğer
iki algoritma gibi Feistel yapısını kullanır. IRON, 64 bitlik veri bloklarını
128 bitlik anahtarla şifrelemede kullanılır. Döngü (round) sayısı 16 ile 32
arasındadır. Alt anahtarlar döngü sayısına bağlıdır. Alt anahtarların sayısı
döngü sayısına eşittir. Bu nedenden dolayı algoritma anahtar bağımlıdır. IRON
algoritmasının var olan algoritmalardan farkı da budur. Bu algoritmanın
avantajı bitler yerine 16-tabanındaki sayılar kullanmasıdır, dezavantajı ise yazılım
için tasarlanmış olmasıdır.
d.)
AES (The Advanced Encryption Standard) : AES, John Daemen ve Vincent Rijmen tarafından Rijndael
adıyla geliştirilmiş ve 2002 yılında standart haline gelmiştir. AES uzunluğu
128 bitte sabit olan blok ile uzunluğu 128, 192 ya da 256 bit olan anahtar
kullanır. Kullanılan tekniklerden bazıları baytların yer değiştirmesi, 4x4’ lük
matrisler üzerine yayılmış metin parçalarının satırlarına uygulanan kaydırma
işlemleridir. 2006 yılı itibariyle en popüler simetrik algoritmalardan biridir.