Modern Şifreleme Yöntemleri (Simetrik & Asimetrik Şifreleme)

Bir önceki yazımızda İlkel Şifreleme Yöntemlerinden bahsetmiştik. Artık şifrelemeyi bir üst noktaya, yani daha karmaşık ve çözülmesi daha zor hale getirmenin zamanı geldi. Öyleyse bu yazımızda Modern Şifreleme Yöntemleri ile Simetrik ve Asimetrik Şifreleme konusuna girelim.

Şifrelemenin temelinde açık metinlerimizi şifreli metinlere çevirirken arada bir anahtar kelime yer alır. Bu anahtar ile çift yönlü işlemler yapabiliriz. Bu yüzden bu anahtar gizli olmalı ve sadece mesajlaşacak uçlarda mevcut olmalıdır. Tabi deneme yanılma gibi işlemlerle anahtar kelimelerin bulunamaması ve şifrelerin kırılamaması için bu anahtar kelimelerin oldukça karmaşık ve gizli olmasıda gereklidir. İşte bu noktada modern şifrelemeye adım atmış bulunuyoruz.

Modern şifreleme algoritmaları, kısa ve oldukça karmaşıktır. Günümüzde bankacılık işlemleri başta olmak üzere neredeyse bütün kritik alanlarda kullanılırlar. Temelde ise Simetrik Şifreleme ve Asitmerik Şifreleme olarak ikiye ayrılır.

Simetrik Şifreleme (Gizli Anahtarlı Şifreleme)

Gizli anahtarlı şifreleme yönteminde, ortada bir adet anahtar bulunur. Bu anahtar açık metni şifreler ve şifreli metni açık metine çevirir. Burada önemli olan anahtarın güvenliğidir. Eğer gizli anahtar başkalarının eline geçerse tüm şifrelenmiş metinleri kolaylıkla çözebilir.

Simetrik şifrelemenin avantajları şunlardır;

  • Simetrik şifreleme oldukça hızlıdır.
  • Donanımla beraber kullanılabilirler
  • Anahtarları oldukça kısadır
  • Daha güçlü şifrelerin oluşturulmasında aracı olarak kullanılabilirler
  • Kullanımları gayet anlaşılır ve kolaydır

Simetrik şifrelemenin dezavantajları şunlardır;

  • Anahtarın saklanması ve taraflara ulaştırılması zordur, güvenlik riski içerir
  • Büyük ağlarda çok fazla anahtara ihtiyaç duyulur, ölçeklenebilir değildir. n kullanıcılı bir sistemde [n*(n-1)/2] anahtar vardır.
  • Kimlik doğrulama işlevi görülmez. Anahtara sahip olan herkes olaya dahil olur.
  • Bütünlük sağlaması yoktur. Anahtarı ele geçiren kişi veriyi değiştirmiş olabilir.
  • İnkar edilememezlik sağlamaz

Algoritmalarımız ise kısa bir özetle şunlardır:

DES (Data Encryption Standart)

IBM tarafından geliştirilen DES, Dünyada en çok kullanılan simetrik şifreleme algoritmlarından birisidir. Blok şifreleme kullanan DES, işlem sırasında 64 bitlik veriyi 56 bitlik anahtar kullanarak şifreler. Anahtar uzunluğunun kısa olması nedeniyle 2000 li yılların başında kırılmıştır. Bunun üzerine Triple-DES, yani 3DES olarak geliştirilmiştir.

3DES, DES in üst üste 3 kere kullanılmasıdır. Yani normal DES’e göre 3 kat yavaştır ama günümüzde SSH gibi uygulamalarda kullanılır. AES’in çıkması üzerine DES popülerliğini kaybetmiştir. Zaten AES’e göre 6 kat daha yavaştır.

AES (Advanced Encrption Standart)

DES kırıldıktan sonra yeni bir arayışa girilmiş ve 2001 yılında AES simetrik şifreleme algoritması oluşturulmuştur. DES’in zayıf yönleri kuvvetlendirilmiştir halidir ve blok şifreleme algoritmasını kullanır. AES’e göre 6 kat daha hızlıdır. Uzunluk olarak 128, 192 ve 256 bit anahtarları destekler. Günümüzde de en popüler algoritmalardan birisidir ve brute force saldırılarına karşı dayanıklı olduğu düşünülmektedir.

Blowfish

Ücretsiz olmasıyla bir anda popüler olan Blowfish algoritması, piyasadaki en hızlı şifreleyicilerden birisidir ve karmaşık anahtar çizelgesi kullanarak kırılmasını zorlaştırır. Blowfish, 23 den 448 bite kadar anahtar uzunluklarına sahiptir. Çalışabilmesi için en az 4 kb RAM’a ihtiyaç duyar ki buda onu gömülü sistemlerde kullanılamaz hale getirir.

Twofish

AES kadar hızlı olan Twofish algoritması, DES gibi Feistal yapısını kullanır ama DES’ten farklı olarak anahtar aracılığıyla S-box lara sahip olmasıdır. Metinleri 32 bitlik parçalara ayırarak işleme sokar ve blok algoritması olarak çalışır. Şifreleme ve deşifreleme algoritmalarının farklı olması uygulamaları %5 daha yavaşlatıp maaliyeti artırmıştır

IRON

Feistel yapısını kullanan IRON, 64 bitlik veri bloklarını 128 bit anahtarla şifreler ve 16 ile 32 döngü sayısında çalışır. Bu algoritmanın avantajı, bitler yerine 16-tabanındaki sayılarda kullanılması, dezavantajı ise yazılım için tasarlanmış olmasıdır.

Asimetrik Şifreleme (Açık Anahtarlı Şifreleme)

Simetrik Şifrelemedeki anahtarın zor olması, güvenlik probleminin ortaya çıkması ve anahtarın dağıtımıyla başa çıkılamaması nedeniyle açık anahtarlı şifreleme, yani simetrik olmayan şifreleme ortaya çıkmıştır.

Açık anahtarlı şifrelemede, kişilerin hem gizli anahtarı hem de herkese verdiği ortak anahtarı vardır. Kişi karşısındaki kişiye bir mesaj göndermek istediğinde karşısındaki kişinin ortak anahtarı ile metini şifreler. Bu mesajı sadece karşıdaki kişinin gizli anahtarı açabilir. Böylece sadece 2 anahtar milyonlarca kişinin şifreli mesajlaşmasında bile yeterli olmaktadır. (İsterse ömür boyuda aynı anahtarlar kullanılabilir).

Olayı daha iyi anlamak için resimi özetleyelim. Şimdi biz İsmet’iz ve Özlem’e mesaj göndermek istiyoruz. Yazdığımız mektubu şifrelemek için Özlem’in açık anahtarını almamız gerekiyor. Bu anahtarı ise Sertifikalar sayesinde herkes elde edebilir çünkü isteyen herkes aslında Özlem’e mektup yazabilir. Ardından mektubumuzu Özlem’in açık anahtarıyla şifreleyerek gönderiyoruz. Artık bu şifreli metini sadece Özlem çözebilir çünkü Özlem’in gizli anahtarı sadece kendisinde vardır. Böylece güvenli bir iletişim sadece iki anahtarla başarılı bir şekilde yapılmış olur.

KISA NOT: A kişisinin açık anahtarıyla şifrelenmiş metini sadece A kişisinin gizli anahtarı çözebilir. Aynı şekilde A kişisinin gizli anahtarıyla şifrelenen metin ise A kişisinin açık anahtarıyla çözülebilir.

Sistemdeki kullanıcılar arttığında herkes kendi açık anahtarını Sertifika kuruluşuna verir. Bizde iletişime geçmek istediğimiz kişinin açık anahtarını bu kuruluştan alırız ve metini şifreleyerek ilgili kişiye göndeririz.

Güzel yönlerinden biriside; gönderici, alıcının açık anahtarıyla metini şifreledikten sonra son paketi kendi özel anahtarıylada şifreler. Böylece alıcı mesajı aldığında eğer göndericinin açık anahtarıyla paketin şifresini çözebiliyorsa bu mesajın doğru yerden geldiğini anlar. Böylelikle saldırı yöntemlerinden mesajı değiştirme, kişiyi taklit etme gibi yöntemlerden korunulmuş olunur.

Asimetrik (Açık Anahtarlı) Şifrelemenin Avantajları;

  • İnkar edilememezlik, kimlik doğrulama ve gizlilik sağlanır
  • Anahtar dağıtımı çok kolaydır ve sistemde anahtar kalabalığı olmaz
  • Simetrik anahtara göre daha güvenlidir çünkü anahtarın çalınma ihtimali daha düşüktür.

Asimetrik (Açık Anahtarlı) Şifrelemenin Dezavantajları;

  • Simetrik şifrelemeye göre çok daha yavaştır
  • Sistemde daha çok CPU harcanmasına neden olur

Şimdi en çok bilinen asimetrik şifreleme algoritmalarına göz atalım.

DH (Diffie-Helman)

İlk asimetrik şifreleme algoritması olarak karşımıza çıkar. Asıl amacı simetrik şifrelemede kullanılacak olan gizli anahtarın taraflara gizli ve güvenli bir şekilde iletilmesini sağlamaktır. Bunun için bu gizli anahtarı karşı tarafa asimetrik şifreleme yaparak iletir.

RSA (Rivest-Shamir-Adleman)

Üç bilim adamının baş harflerinden oluşan RSA, dijital imzalama içinde kullanılmaktadır. Güvenilirliği, çok büyük asal sayıların işlem yapma zorluğuna dayanan bir algoritmadır. Günümüzde bankacılık sistemleri ve ticari sistemlerde öncelikli tercih edilen şifreleme tekniğidir. Bu büyük sayılar nedeniyle oldukça güvenilirdir ama işlemler yavaştır. Bu nedenle fazla bant genişliği harcaması yüzünden kablosuz ağ sistemlerinde kullanılması bazı sorunlara yol açabilir.

El Gamal

Diffie-Hellman anahtar alışverişine dayanan bir açık anahtarlı şifreleme yöntemidir. Anahtar üretimi ve şifreleme/açma olarak iki aşamadan oluşur. Matematiksel zorluk olarak dairesel gruplar üzerindeki ayrık logaritmalara dayanır.

Merkle-Hellman

RSA asimetrik şifreleme sisteminden farkı şifreleme işleminin tek yönlü çalışmasıdır. Açık anahtar sadece şifreleme yaparken, gizli anahtar sadece şifre çözme işlemini gerçekleştirir. Bu nedenlede Dijital İmzalama için kullanılamaz. Düşünce olarak RSA dan daha basit ve zekice olmasına rağmen kırılmıştır.

SONUÇ: Günümüzde modern kriptografinin temelinde yer alan simetrik ve asimetrik şifrelemeyi açıklayarak en çok bilinen algoritmalarına göz attık. İlerleyen zamanlarda herbir algoritmayı çok daha detaylı inceleyeceğiz. O zamana kadar aklınıza takılan soruları yorum bırakarak sorabilirsiniz. Sağlıcakla kalın.