Last updated on 14 Nisan 2010
Gizli anahtarlı kriptografi, simetrik kriptografi ya da tek anahtarlı kriptografi olarak da adlandırılır. Tek bir anahtarın hem şifreleme hem de şifre çözme amacıyla kullanıldığı daha geleneksel bir yöntemdir. Simetrik anahtarlamada genel olarak basit şifreleme algoritmaları kullanılmaktadır. Bu tip anahtarlamada, aynı anahtar hem gönderen kişide, hem de alan kişide bulunmalıdır. Bu şekilde şifrelenmiş veri ağdan geçerken bir başkası tarafından elde edilip okunmak istendiğinde, kişi anahtara sahip değilse anlaşılamaz.
Gizli anahtarlı kriptografi sadece şifreleme değil, kimlik denetimiyle de ilgilenir. Kimlik denetiminde kullanılan yöntemlerden biri MAC (message authentication codes) ‘tir. MAC’lar, sayısal imza ile benzer amaçlarla kullanılır. Ancak burada kimlik denetimi için çift anahtarlı kriptografi yerine tek anahtarlı kriptografi, yani sadece üzerinde anlaşılan ortak anahtar kullanılır. Yani bu şekilde kimlik denetimini sadece istenilen kullanıcı yapabilir; sayısal imzada olduğu gibi gönderenin açık anahtarına sahip herhangi birinin imzayı doğrulayabilmesi gibi bir durum söz konusu değildir.
Gizli anahtarlı kriptografide temel problem, göndericinin ve alıcının, üçüncü bir kişinin eline geçmesini engelleyerek ortak bir anahtar üzerinde anlaşmalarıdır. Bu iki tarafın dinlenme korkusu duymadan iletişim kurmasını sağlayacak bir yöntem gerektirir. Gizli Anahtarlı şifrelemede amaç şifrelemede kullanılan iki kullanıcınında anlaştığı anahtarın istenmeyen kişilerin eline geçmesini engellemektir. Anahtarların üretilmesi, iletilmesi ve saklanması anahtar yönetimi olarak bilinir. Güvenli anahtarlı yapılarda, genelde güvenli anahtar yönetimi sağlamada problem yaşanır.
Anahtar Anlaşma Protokolü, tek anahtarlı yapılarda iki tarafın gizli anahtar üzerinde anlaşması gereken durumlarda kullanılır. Bu protokoller ortam güvenli olmasa da, daha önceden üzerinde anlaşılmış anahtara gerek duymaksızın tarafların güvenli bir şekilde gizli anahtar üzerinde anlaşması sağlanır. Bir benzetme yapacak olursak, Gizli Anahtar Kriptografisi şifresi fabrikada sabitleştirilmiş bir kasaya; Gizli Anahtar Anlaşmalı şifreler ise şifresi sahibi tarafından değiştirilebilen daha gelişmiş kasalara benzetilebilir.
Gizli Anahtarlı Kriptografi ile haberleşmenin nasıl olduğunu inceleyelim:
A ve B mektuplarını diğerleri için anlaşılmaz kılacak bir yöntem üzerine gizlice anlaşırlar. Örneğin, bütün kelimelerin tersten yazılacağına (AHMET yerine TEMHA), veya her harften sonra rasgele bir harf konulacağı kararlaştırılabilir (AHMET yerine AZHIMPENTC). Yöntemin bulunması durumunda bütün iletişimler çözülecektir. Farklı kişilerle iletişim kurmak istenirse, her kişi ile farklı yöntemler üzerinde anlaşılması gerekir. Birçok kişinin şifreyi bilmesi gerekiyorsa, güvenlik için sık sık yöntemin değiştirilmesi gerekebilir. Yeni yöntemler bulmak ise sanıldığından daha zordur.
Şekil 1: Gizli Anahtar ile Kriptografi
Bu aşamada, temel işleyişi sabit olan ama parametrelenebilir bir yöntem gerekir. Artık birden fazla kişi ile temel mekanizma üzerinde, gizliliğe gerek duymadan anlaşabilirsiniz; gizli olarak anlaşmanız gereken tek kısım, şifreleme yönteminin değişken yani anahtar kısmıdır. Bu anahtar ile şifrelenmiş bir verinin güvenliği kullanılan anahtarın gizliliği ile doğrudan ilişkilidir.
Düşünülebilinecek en basit simetrik şifrelerden biri Sezar Şifresidir. Eski Roma İmparatoru Sezar’ın kullandığı bu şifre bütün kriptolojiye giriş yazılarının standart örneğidir. Sezar Şifresini kullanmanın basit bir yolu, alfabenin bütün harflerini bir kâğıt şeridi üzerine yazıp, şeritin başını sonuna yapıştırmaktır. Gizli Anahtar olarak (veya şifrenin değişkeni) olarak, bir ile alfabemizdeki harf sayısı eksi bir arasında bir n sayısı seçilir. Metinimizi şifrelemek için, harfleri teker teker alırız; şeritin üzerinde o harfin yerini bulup, sağa doğru n tane harf atlarız; şifreli metinimizde ise o harfin yerine bulduğumuz yeni harfi buluruz. Şifreyi çözmek için, aynı işlemi, şeriti aksi yönde çevirerek gerçekleştiririz. Tabi şifreyi çözebilmek için, heberlerşen kişilerin birbirine gizlice n sayısını iletmeleri gerekir.
Örnek olarak latin alfabesiyle, n=13 parametresiyle şifrelenmiş bir Sezar Şifresini Şekil 2‘de görebilirsiniz.
Şekil 2: Örnek Sezar şifresi uygulaması
Sezar Şifresi tek alfabeli yer değiştirme veya permütasyon şifreleri arasında değerlendirilir (ing. monoalphabetic substitution cipher); Vigenere şifresi onun çok alfabeli bir çeşididir.
Sezar Şifresini çözmek için tek yol kullanılan n sayısını bulmak olsaydı, işimiz yine de pek zor olmazdı, çünkü n sayısının alabileceği farklı değerler alfabemizdeki harf sayısından bir daha eksik. Hepsini teker teker elle deniyebiliriz. Bilgisayara çözdürmek sadece bir kaç mikrosaniye alır. Simetrik bir şifreyi çözmek için anahtar değerlerini teker teker deneme yöntemine, ingilizce “Brute Force Search“, fransızca “Recherche Exhaustive” denir. Türkçe buna Deneme-Yanılma yöntemi diyebiliriz.
Bölüm 1: Kriptoloji Nedir?
Bölüm 2: Kriptografide Kullanılan Teknikler ve Kriptografik Uygulamalar
Bölüm 3: Gizli Anahtarlı Kriptografi
Bölüm 4: Açık Anahtarlı Kriptografi
Bölüm 5: Sayısal İmza
Bölüm 6: Şifreleme Algoritmaları
Bölüm 7: SSL (Secure Socket Layer) Nedir?
Not: Bu yazı dizisindeki bilgiler güncelliğini yitirmiş olabilir. Bu yazıları hazırladığım zaman kaynakları yazmadığım için burada belirtemedim.
[…] Nedir? Bölüm 2: Kriptografide Kullanılan Teknikler ve Kriptografik Uygulamalar Bölüm 3: Gizli Anahtarlı Kriptografi Bölüm 4: Açık Anahtarlı Kriptografi Bölüm 5: Sayısal İmza Bölüm 6: Şifreleme […]
[…] Nedir? Bölüm 2: Kriptografide Kullanılan Teknikler ve Kriptografik Uygulamalar Bölüm 3: Gizli Anahtarlı Kriptografi Bölüm 4: Açık Anahtarlı Kriptografi Bölüm 5: Sayısal İmza Bölüm 6: Şifreleme […]