Herkese merhaba, bu yazıda DES şifreleme yöntemini göreceğiz. Şifreleme algoritmalarına girmeden evvel bilmemiz gereken bazı terimler var onları işledikten sonra şifreleme algoritmalarında son sürat yardıracağız 🙂
ASCII : Ascii kodu temel olarak bir karakterin karşılık geldiği koda denir.
HEXADECIMAL : Hexadecimal 16’lık düzenin alabileceği değerleri ifade eder. 16 olmasının sebebi 0 ‘dan F karakterine kadar 16 karakterin olmasıdır. (0-9 arası normal sonrasında 10-15 arası harfler ile ifade edilir)
Simetrik Şifreleme : Bilgileri şifrelemek ve deşifre etmek için yalnızca bir gizli anahtar içeren en basit şifreleme türüdür.
Asimetrik Şifreleme : Şifre ve deşifre işlemleri için farklı anahtarların kullanıldığı bir şifreleme sistemidir.
Blok Şifreleme : Verileri sabit uzunluktaki bölümlere bölen ve ardından her blokta şifreleme veya şifre çözme işlemini gerçekleştiren bir tür simetrik şifreleme algoritması.
Hash : Tek yönlü bir algoritmadır. Bir veri bir Hash algoritması ile şifrelendiği zaman bunun geri dönüşü yoktur. Yani şifrelenen verinin şifresi çözülemez.
DES SIFRELEME YONTEMI
DES Hakkında
Ulusal Standartlar Dairesi (NBS – National Bureau of Standards); 1973’te “ulusal bir standart olabilecek kriptografik bir algoritma” talebinde bulunmuştu. Bu talebe yönelik IBM’nin 1974’te sunduğu LUCIFER algoritması, Ulusal Güvenlik Ajansı’nın (NSA – National Security Agency) uyguladığı değişikliklerin ardından 1977’de DES (Data Encryption Standard) adıyla resmi bilgi şifreleme standardı olarak kabul edildi.
DES, gizli anahtarlı bir şifreleme türüdür, büyük boyutlu verilerin şifrelenmesinde kullanılır. Bu yöntem, şifreli metin ile düz metin arasındaki ilişkiyi gizlemeyi amaçlar. Her şifreleme adımına döngü denilir ve her döngüde kullanılan anahtar farklıdır. Açık mesaj, belirli uzunluktaki bloklara bölünür ve ayrı ayrı şifrelenen bloklar ile şifreli metin elde edilir.
DES
DES şifreleme algoritması şifreleme yaparken blok şifreleme mantığı ile hareket eder. Veriyi 64 bitlik bloklara ayırır ve bir tane anahtar ile bu blokları şifreler.
Akışı yukarıdaki tablodan yola çıkarak anlatmak istiyorum. Bir metnimiz ve 64 bitlik bir anahtarımız var. Metni DES ile şifreleyeceğiz. Metin 64 bitlik bloklara ayrılır. (64 bitlik bloklar kısmında kafanız karışıyorsa 64 bit ortalama 8 karaktere geldiğini varsayarsak 8 karakterlik parçalara ayrıldığını da hayal edebilirsiniz. ) Ayrılan blokların her birinde anahtarımız ile şifreleme yapılacaktır.
İlk bloğa gelindiği zaman 64 bitlik metin 32 bit-32 bit şeklinde sağ ve sol bloklara ayrılıyor. Bunun sebebi bu iki 32 bitlik kısımlar belli bir algoritmadan geçirilip yeni bir metin için kullanılacaklar diyebiliriz. Bu algoritma ise şöyledir ;
Sağ 32 bitlik veri açık bir şekilde ve herhangi bir işleme uğramadan yeni olaşacak 64 bitlik verinin sol tarafında yer alır. Sol kısımda olan 32 bitlik veri ise sağ kısımda olan 32 bitlik veri ve anahtarın belirli bir fonksiyon üzerinden geçirilmiş hali ile çıkan veri ile beraber birleştirilerek 64 bitlik oluşacak verinin sağ kısmında yer alacaktır.
Sağ kısmın açık bir şekilde değiştirilmeden sol kısma geçtiğinde bahsetmiştik. Burada bir açıklık var gibi algılayabiliriz ama bu ilk yapıma mahsustur. Yukarıdaki algoritma 16 kez tekrarlanıyor. Her tekrarda yeni bir anahtar ve sonuç elde ediyoruz.
Şifrenin Kırılması :
DES şifreleme yönteminin simetrik bir yapıda olduğunu belirtmiştik. Bu yapı ile şifrenin çözülmesi çok da farklı bir method ile gerçekleşmeyecektir. Var olan anahtarımız ile şifrelenmiş metni aynı yol ile şifresini çözebiliriz.
3DES
DES yöntemi her ne kadar derinlemesine bir şifreleme yöntemi olsada günümüzde güvenli kabul edilmez. Alternatif olarak 3 kere tekrarlanan hali 3DES oluyor ve günümüzde bu yöntem kullanılıyor. SSH gibi bağlantılar kullanım alanlarına örnek olarak gösterilebilir.
Okuduğunuz için teşekkür ederim.
Kaynak :
https://medium.com/@umeshae/des-data-encryption-standard-24010ac6b691
https://bidb.itu.edu.tr/seyir-defteri/blog/2013/09/07/%C5%9Fifreleme-y%C3%B6ntemleri
https://tr.wikipedia.org/wiki/DES