Simetrik anahtar algoritmaları aynı ya da benzer kripto-grafik şifreleri kullanarak hem şifreleme hem de deşifreleme yapan bir kripto-grafikalgoritma grubudur. Şifreler ya birebir aynı ya da basit bir yöntemle birbirine dönüştürülebilir olmalıdır. Pratikte anahtarlar gizli bağlantının devam ettirilmesinde kullanılan iki ya da daha fazla taraf ile paylaşılmış bir şifreyi temsil ederler. Açık anahtarlı şifrelemeye göre ana dezavantajlarından biri iki partinin de gizli anahtara erişiminin olması gerekliliğidir.[1]
Dizi şifreleri mesajın bitlerini teker teker şifreler.
Blok şifreleri belirli bir sayıda biti alır ve bunları bir blok olarak şifreler. Şifrelenen mesaja gerekiyorsa yeterli sayıda anlamsız bitler eklenir ve mesajın boyu blok boyunun tam katı haline getirilir. 64 bitlik blok boyutu yaygın bir şekilde kullanılmıştır. NIST tarafından Aralık 2001'de onaylanan AES algoritması 128 bitlik bloklar kullanır.
Simetrik şifrelere dayalı kriptografik yapı taşları
Simetrik şifreleme yöntemleri sıklıkla şifreleme haricindeki kriptografik yapı taşlarının yapımında kullanılır.
Bir mesajın şifrelenmesi bu mesajın şifrelenmiş haldeyken değiştirilmediğini garantileyemez. Bu garantiyi sağlamak için mesajın kendisine ek olarak mesaj doğrulama kodu alıcıya gönderilir ve böylece alıcı mesajdaki değişimi, eğer varsa, tespit eder. Mesaj doğrulama kodları simetrik şifreleme kullanılarak oluşturulabilir (örn. CBC-MAC). Bunun yanı sıra, simetrik şifreleme yöntemleri inkar edilemezlik amacına hizmet edebilir (bkz. ISO 13888-2 standardı).
Bir diğer uygulamaları özet fonksiyonunun yapımında kullanılmasıdır.
Simetrik şifrelerin inşası
Birçok modern blok şifreleme yöntemi Horst Feistel'in önerdigi Feistel şifresine dayanmaktadır. Feistel'in önerdiği bu yapı geri dönüştürülemez fonksiyonlardan geri dönüştürülebilir fonksiyonlar oluştumayı mümkün kılar.[2]
Anahtar transferinde asimetrik şifreleri kullanarak uygulandığında, neredeyse her zaman sözde rastgele anahtar üreticileri simetrik anahtarı oluşturmada kullanılır. Fakat bu üreticilerin ya da simetrik anahtar algoritmasının başlangıç vektörünün tamamen rastgele olmayışı geçmişte kriptanalik saldırılara yol açmıştır. Bu yüzden bir simetrik anahtar algoritmasının uygulamasının başlatılmasında yüksek entropiye sahip bir kaynak kullanımı önemlidir.