Loading

Kriptoloji nedir? Şifreleme nedir?

Anahtar ve şifreler

Merhaba sevgili Bilgeyik okurları, bu yazıda sizlere Kriptoloji biliminden ve şifrelemelerin temel mantığından bahsedeceğim.

Kriptoloji

Kriptoloji basitçe şifre bilimidir. İstenilen ve gizliliği önem gösteren metinlerin bir yere iletilirken veya bir yerde depolanırken belirli algoritmalar tarafından şifrelenmesidir. 

Şifreleme 21.yüzyıl insanları için çok önemlidir, en çok kullandığınız sosyal medya hesabınızın herkes tarafından ele geçirilmesi nasıl olurdu? Cevapları tahmin edebiliyorum :)

Tarihi MÖ 1500'lü yıllara kadar dayanan şifreleme örneklerinin en önemli olanı kuşkusuz MÖ 101 ve 44 yılları arasında yaşayan Jül Sezar'ın devlet iletişiminde kullandığı "Sezar Şifrelemesi" olarak anılan yöntemdir.

SEZAR

Sezar şifrelemesi şu anda kullanılmayan bir tekniktir. Ancak meselenin anlaşılması bakımından en iyi örneklerden biridir. Sezar şifrelemesi kabaca alfabedeki her harfin kendisinden sonraki 3.harfe karşılık gelmesidir. Mesela, "ab" gibi bir metin Sezar şifreleme tekniğiyle şifrelendiğinde "çd" şeklini alır. Buradaki 3 sonraki harf değiştirilebilir; 5 sonraki, 1 sonraki, hatta 4 önceki harf yapılabilir. Hatta alfabenizdeki sıralamayı değiştirerek güvenliği artırmak iyi olacaktır. 

Teknik terimlerden sıyrılarak konuyu kavratmaya çalışmaya devam edersek harflerin sayısal olarak şifrelenebileceğini de anlatmak gerekecek. Mesela sadece sizde ve mesajınızı iletmek istediğiniz kişi veya kişilerde bulunan, hangi harfin hangi sayısal değere karşılık geldiğini gösteren bir metin çok iş görecektir. Harflerimize karşılık gelen sayısal değerler ne kadar uzun olursa güvenlik de o kadar uzun olacaktır. Yine aynı örnekten gitmek istersek:

a = 3495713095713085

b = 3271513289471209461235801

"ab" şeklindeki bir metni şifrelediğimizde karşımıza şöyle bir şey çıkacaktır.

34957130957130853271513289471209461235801

Yine aynı şekilde şifreleme tekniğimize noktalama işaretleri de ekleyerek güvenliği artırabiliriz.

Ama nihayetinde bunlar ortalama bir programcının kırabileceği şifrelerdir. İlerleyen bölümlerde kabaca bir şifreyi nasıl kırabileceğimizi anlatmaya çalışacağım.

Kriptolojiden bu kadar bahsetmişken Yapay Zeka biliminin kurucusu sayılan Alan Turing'in 2. Dünya savaşında Almanların şifreleme tekniklerini çözerek savaşın 1-2 yıl daha erken bitmesini sağladığını söylemeden geçmek olmaz.

Şifreyi şifrelemek?

Şifreyi şifrelemek demek, güvenliği birkaç katına çıkarmak demektir. Hatta art arda ne kadar şifreleme yaparsak güvenlik o kadar artar. Peki, niye çok fazla sayıda art arda şifrelemeler yapmıyoruz? Bu soruyu cevaplamadan önce "ab" adlı metnimizi art arda iki kere şifrelemek isteseydik nasıl bir manzarayla karşılaşacaktık bunu cevaplayalım.

"ab" metnimiz biliyorsunuz ki ilk şifrelediğimizde "çd" şeklini almıştı.

ç = 21?238572398<12!

d = 210'!98139(1290587239

olarak kabul edip, "ab" metnini art arda şifrelediğimizde son hali şöyle olur:

"ab" = 21?238572398<12!210'!98139(1290587239

Peki, programcılar niye şifrelemeyi artırıp mesela on kere şifreleyecek kodları yazmıyor, böylesi daha güvenli olmaz mıydı? 

Evet daha güvenli olurdu ama programcıların ilgilendiği tek şey güvenlik değil, aynı zamanda hızdır da. Güvenlik/hız oranını iyi tutturmak gerek.

Modern Şifreleme teknikleri

Modern şifreleme teknikleri genelde geri döndürülemez, yani kırılması uzun yıllar alacak şifrelerdir. Sosyal medya siteleri bizim bilgilerimizi bu şekilde saklamaktadırlar. Biz herhangi bir sosyal medya hesabımıza giriş yaparken girdiğimiz şifremiz, kullanılan şifreleme algoritmasıyla şifrelenir ve sunucuda bulunan, siteye kayıt olurken girdiğimiz şifremizin şifrelenmiş haliyle eşleşip eşlenmediğine bakılır. Eğer eşleniyorsa giriş yapılır. 

İşte tam olarak bu yüzden şifremizi ne sistem, ne de sistemin sahipleri bilemezler. Sadece biz biliriz. Bu yüzden de şifremizi unuttuğumuzda bize eski şifremizi söyleyemezler, yeni şifre oluşturmamızı isterler. 

Modern şifreleme teknikleri olan MD5, SHA1-2-3 gibi teknikler hakkında buradan bilgi alabilir, kendi şifrelerinizi oluşturabilirsiniz.

Sezar şifresini kırma!

Sezar şifreleme algoritmasından yukarıda bahsetmiştik. Kabaca bir daha tekrar etmek istersek; girdiğimiz her harfi, yine bizim istediğimiz sayıda ileri/geri harfe atıyor. Mesela girdiğimiz harf 1 ise ve biz "z" harfini şifrelemek istersek "a" olarak gözükür.

Yani, bizim seçebileceğimiz tam olarak 29 sayı vardır, ileri veya geri. Bu 29 ayrı ihtimal demektir. İşleri biraz daha zorlaştırmak istersek, mesela alfabemiz bildiğimiz sırayla değil de karmaşık olsaydı. O zaman 29! gibi muazzam bir ihtimal daha hesapta olacaktı.

Yani yine  kabaca tam olarak 29.29! gibi bir ihtimalden bahsediyoruz. Bizim için çok zor görünen ve yıllar alacak bir hesap, ama bunu bilgisayara anlattığımız zaman çok kısa. 

Bilgisayara bunu anlattık, bilgisayar da tek tek bütün ihtimalleri saniyeler içinde denedi, peki ya bilgisayar bu kelimelerin hangisinin manalı, dolayısıyla çözülmüş olduğunu anlayacak? Cevap basit, her seferinde TDK'ye bağlanıp kelimenin var olup olmadığı kontrol edilecek, var olan kelimeleri birbir listeleyecek, ki fazla kelime çıkacağını sanmıyorum.

Yukarıda anlattıklarım korkunç gelebilir ama hayır, ortalama altı bir programcının bile yarım saatini almayacak kodlamalar.

 

Emircan Tepe
Redaktör

Dokuz Eylül Bilgisayar Mühendisliği öğrencisi; Fizik ve Biyolojiye meraklı bilimsever. Matematiği zevkli olduğu için; Tarihi geçmişi bilmek, günceli yorumlamak ve hatalardan ders çıkarmak için; Felsefeyi yaşayını belirlemek, hayatını temellendirmek için öğrenmeye çalışan aranızdan biri.


Yorum Yap

E-Posta adresiniz yayınlanmayacaktır.

ya da üye olmadan yorum yap
ÜST