Herkese merhaba, bu yazı da sizlerle Kriptoloji alanına giriş yapacağız. Bu yazı Kriptoloji serisi için giriş niteliğinde olup serinin devamında şifreleme algoritmalarından bahsedeceğim. Hazırsanız başlayalım 🙂
Kriptoloji nedir ?
Kriptoloji bir şifre bilimidir. Eski tarihlerden bu yana bünyesinde bir sürü yöntem ve kullanım amaçları biriktirmiş geniş bir alana hizmet etmektedir. Bir verinin şifrelenmesi, şifresinin çözülmesi ve şifreleme analizleri gibi çalışmaların tamamı Kriptoloji alanına girer.
Kriptoloji Tarihi
Kriptoloji; kökü 4000 yıl öncesine dayanan en eski çalışmalardan birisi olarak bilinir. M.Ö. 1900 yılında Mısırlılar, yazdıkları kitabelerde yaygın olmayan hiyeroglifler kullanmışlardır. Bu kitabeler tarihin bilinen ilk yazılı kriptografik belgeleridir.
Kriptografinin kayıtlara geçmiş ilk kullanımı ise M.Ö. 1500 yılında Mezopotamya’da sır niteliğindeki bir formülün şifrelenmesiyle olmuştur.
M.Ö. 100 yılında Romalı lider Julius Sezar ‘Sezar şifrelemesi’ olarak anılan ve metindeki her harfin alfabede kendisinden 3 harf ötelenmesiyle oluşturduğu şifreleme metodu devlet haberleşmesinde kullanılmıştır.
1790 yılında Pensilvanya Üniversitesinde görevli matematikçi Thomas Jefferson, tekerlek şifresini icat etmiştir. Bu şifre; 2. Dünya Savaşı esnasında ABD tarafından kullanılan şifreleme cihazının temelini oluşturmuştur.
Kullanım Amaçları
Bugün A kişisi ile B kişisi birbirleri ile iletişim kurmak istediğinde elektronik posta veya çeşitli sosyal platformlar aracılığı birbirileri ile iletişime geçiyorlar. A kişisi mesajını yazıp B kişisine bu mesajı gönderdiği zaman mesaj maalesef bir anda B kişisine ışınlanmıyor. Mesaj belli formatlarda ve belli yolları izleyerek B kişisine iletiliyor. Peki araya birde C kişisini sokuşturalım. Bu mesajlaşmanın tamamı ile şifrelenmemiş olduğunu varsayarsak işini bilen C kişisi yola çıkmış bu mesajları yakalayabilir hatta değişiklik dahi yapabilir. (Bu duruma ortadaki adam saldırısı yani MITM Attack denir.)
Bütün mesajlarınız konuşmalarınız gönderdiğiniz fotoğraflar, videolar vb. her şeyinizin ortada olduğunu düşünün. Bu durumun önüne Kriptoloji alanı çeşitli şifreleme ve şifre çözme algoritmaları ile geçiyor. Tam anlamı ile bir güvenlik sağladığını söylememiz yalan olur lakin birileri bir şeyleri öğrenmek istiyorsa zamanının çok büyük bir kısmını şifre çözmeye ayırması gerekiyor.
Bu durum ile veri güvenliğini arttırdığını söyleyebiliriz. Peki hep mi güvenlik amacı ile kullanılıyor bu şifrelemeler ? Aslında hayır. Bazı şifreleme türleri ile verimizi küçültebilir ve karşılaştırmalar yapabiliriz. Örneğin elimizde iki adet yazı olduğunu düşünün. Bir tanesini siz yazdınız diğer yazının da birebir kopyası olması gerekiyor. Lakin yazınız ciddi anlamda çok uzun ve harfi harfine , kelimesi kelimesine aynı olup olmadığını anlamanız için teker teker okumanız mı gerekir ? Bu durum için de cevap hayır. İki yazıyıda aynı tür şifreleme ile küçültebilir ve şifrelenmiş veriyi karşılaştırabilirsiniz.
Telefon görüşmelerimiz ile son bir örnek vermek istiyorum. İki kişi arasındaki iletişim illa ki mesajlaşmaya dayanmıyor. Görüntülü ve sesli konuşmalarımızda da aynı şekilde şifreleme ile iletişim güvenli bir halet getiriliyor. Siz merhaba dediğiniz zaman sesiniz sıkıştırılıyor, şifreleniyor ve iletişim kurduğunuz kişiye gidiyor. Vardığında şifre çözülüyor ve ses formatına geri dönüşerek kilometrelerce uzağınızdaki bir kişi ile güvenli bir şekilde iletişim kurmuş oluyorsunuz.
Kriptoloji Ve Matematik
Her ne kadar tüm şifreleme algoritmalarında Matematik kullanılmıyor olsa da çoğu algoritma kendi içerisinde Matematiği barındırıyor. Matematik, bizlere kriptoloji alanında kullanabileceğimiz bir çok fonksiyon sunuyor. Serinin ilerleyen yazılarında bu algoritmaları derinlemesine inceleyeceğiz lakin Matematik ile Kriptoloji alanındaki bağların nasıl olduğu ve mantığı konusunda bir fikir oluşturabilmek için bir örnek vermek istiyorum.
En yaygın kullanılanlardan biri olarak AES’i algoritmasını örnek olarak gösterebiliriz. AES kendi şifresini ve verinin AES şifresi kadarlık bir parçasını alır ve 4×4 iki matris yaratır. Bu iki matris’e aritmetik işlemleri uygularken bir yandan da iskambil kağıtlarının karıştırılmasına benzer (ama rastgele olmayan bir sistemle) sürekli karıştırır. Bu parça şifrelendikten sonra yine aynı uzunlukta bir veri parçası alır ve aynı işlemi yapar. Bu işlem veri bitene kadar devam eder. AES, Belçikalı Joen Daemen ve Vincent Rijmen tarafından Rijndael adıyla geliştirildi ve ABD’nin Ulusal Standart ve Teknoloji Enstitüsü (NIST) tarafından 2002 yılında benimsendi ve o günden bu yana yaygın olarak kullanılıyor.