Simetrik Kriptografi

Kriptografi Nedir?

Seyit KoçyiğitHS
Hacettepe Blockchain Topluluğu
4 min readMar 16, 2022

--

Kriptografi, genel anlamıyla şifreleme bilimidir. Bu bilim bir bilginin ya da değerli olan herhangi bir şeyin nasıl güvende tutulacağını araştırır. Örneğin sizin çok değerli bir eşyanız var ve bunu bir kasada saklıyorsunuz. Değerli olan eşyanızı kasaya koyduktan sonra kasayı kilitliyorsunuz ve değerli olan eşyanızı saklamış, korumuş oluyorsunuz. Bunun gibi son derece önemli olan ve internette kullandığımız kişisel verilerimizi de bir “KASA” da tutmamız gerekiyor. Kötü niyetli kişilerin onları ele geçirmesine izin vermek istemeyiz. Buradaki tek fark değerli olan eşyalarımızı kasaya koymak yerine bizzat eşyalarımızı şifreleyerek başka bir yapıya ve anlaşılmaz hale getirmeye çalışıyoruz. Kriptografi de bunun en güvenli ve en hızlı yollarını arayan bilimdir.

Resim 1. Şifreleme

Simetrik Kriptografi

Günümüzde herhangi bir şekilde bir mesaj göndermek, bir bilgi iletmek istediğimizde; bu mesajı ya da bilgiyi öncelikle belli bir merkeze göndeririz. Daha sonra bu sistem göndermek istediğimiz kişiye bu bilgiyi gönderir. Biz de doğal olarak gönderdiğimiz bilginin gizli kalmasını isteriz ve istediğimiz kişiden başkasının bunu görmesini istemeyiz. İster merkeziyetçi ister merkeziyetsiz bir ağda olalım verilerimizin açık halde gönderilmesini istemeyiz. Bunun için çok eski zamanlarda da kullanılmış olan bir metot kullanacağız. Bu metot bir şifreleme algoritması kullanarak mesajımızı anlamsız ve okunamaz hale getirmek. Bunu yapmak çok da zor değil. Asıl zor kısım ise bu anlamsız karakterleri tekrar eski haline getirmek.

Bir Anahtar

Ben sevdiğim kişiye kalp şeklinde bir kağıda bir mektup yazdım ve bunu ona göndermek istiyorum. Gönderirken de mektubun bir AŞK mektubu olduğunun anlaşılmasını istemiyorum. Postacılar ve hatta gönderdiğim kişinin ailesinin bunun alelade bir mektup olduğunu düşünmesini istiyorum. Peki ama bunu mektubu değiştirmeden ve bozmadan nasıl yapabilirim ?

Resim 2. Kalp Şeklinde Mektup

SENİ SEVİYORUMM

Mektubumu yazdım fakat gönderdiğimde başkalarının da görmesini istemediğim için mektubumu şifrelemeye karar verdim. Kalp şeklindeki kağıdı belli bir düzende katlayarak kare şekline getirdim ve zarfa koydum. Postacının ahlaklı birisi olduğunu göz önüne aldığımızda zarfımı açıp içerisinde ne var diye bakmayacağına inanıyorum. Peki ama bakarsa ne olur ?

Yanlış Anahtar

Diyelim ki bu ahlaksız postacı zarfımızı alıp içini açtı ve katlanmış bir mektup buldu. Bu katlanmış mektubun nasıl ve hangi adımlarla katlandığını bilmiyorsa, o halde benim mektubumu gelişigüzel açmaya çalışır ve anahtar yanlış olduğu için mektup yırtılır. Oysa ki mektubu açabilmenin tek yolu benim onu nasıl katladığımı bilmesi ve benim adımlarımı tersten takip etmesi gerekirdi.

Uzlaşılmış Anahtar

Postacımızın ahlaksız olmamasını umduk ve mektubumuzu teslim ettik. Ve gönderdiğimiz kişiye ulaştı. Eğer daha önceden mektubu nasıl katlayacağımıza ve nasıl açacağımıza çalışmamışsak o zaman postacının başına gelen göndermek istediğimiz kişinin de başına gelir ve bu yüzden mektubu okuyamaz. Eğer önceden anlaşmışsak ve ikimiz de anahtarı biliyorsak bu durumda hem mektubumuzu korumuş hem de güvenle ulaştırmış oluyoruz.

Resim 3. Şifreleme Anahtarı

Anahtar Sayı Olmak Zorunda Değil

Yukarıda da verdiğimiz örnekte bir anahtar sayılardan oluşmak zorunda değil. Her şey olabilir. Bunu anladığımıza göre biraz daha derinlere inelim.

Şifreleme (Encryption)

Şifreleme için çeşitli algoritmalar kullanılır. Bunlardan bir tanesini ilerideki yazılarımızda ele alacağız. Şifrelenmek istenilen mesaja “plaintext” denir. Ve şifreleme işlemi sonucunda oluşan ve anlaşılmaz şifrelenmiş metine de “ciphertext” denir. Şifrelenmiş metin gönderilmek istenilen kişiye herhangi bir yoldan iletilir ve bu yolun güvenli olup olmaması çokta önemli değildir. Çünkü mesajımız anlaşılmaz ve çözülemez bir karakter çorbasından ibarettir.

Şifre Çözme (Decryption)

Şifrelenen metin göndermek istediğimiz kişiye ulaştığında gerekli anahtar ile şifreleme işlemi adımlarının geriye doğru yapılmasıyla şifreli metin çözülür ve asıl gönderilmek istenilen mesaj açığa çıkar. Bu tür bir şifreleme algoritması tek bir anahtar kullandığı için “Simetrik Şifreleme (Kriptografi)” adını almıştır.

Selam Yasin

Bir deneme yapmak bu sistemin aklımıza güzelce oturması için şöyle bir siteden yardım alacağız.

https://www.kerryveenstra.com/cryptosystem.html

Bu sitede basit olması açısından anahtarımız küçük ve sayı olmak zorunda. Ama genel anlamda böyle bir zorunluluk tabi ki yok. İstediğimiz uzunlukta ve çeşitlilikte bir anahtarı seçmek elimizde. Basit olması açısından bizim anahtarımız yine “105” olsun.

Siteden de yardım alarak “Selam Yasin” mesajımı (plaintext) şifreliyorum.

1fm2zA+2gF&

Ve şifrelenmiş mesajımız (ciphertext) hazır.

Şimdi yine sitenin yardımını kullanarak birkaç farklı anahtar deneyerek şifreli mesajımızı açmaya çalışalım.

Anahtarı 104 yaptığımda çıkan sonuç “Tfmbn!Zbtjo”.

Çok küçük bir değişiklik dahi şifrenin çözülmesini imkansız kıldı.

Anahtarı 105 yaptığımda çıkan sonuç “Selam Yasin”.

Ufak bir demonun ardından simetrik kriptografinin nasıl çalıştığını anladığımızı düşünüyorum. Bunun üzerine bu sistemin en kötü yanından ve ne kadar verileri korumasız bıraktığından bahsetmeye geçebiliriz.

Anahtar Teslim

Yukarıda da uzun uzun bahsettiğimiz gibi simetrik şifreleme için üzerinde uzlaşılmış bir anahtar şarttır. Bu, bu sistemin en zayıf ve güvensiz yoludur. Çünkü şifreleyen kişi hem şifrelenmiş metni hem de anahtarı göndermek istediği kişiye ulaştırmak zorundadır. Bunun için çeşitli yöntemler kullanılmakla beraber en yaygın olan yöntem de şifrelenmiş mesajı ayrı bir kanaldan, anahtarı daha güvenli başka bir kanaldan göndermektir.

Daha Güvenli Bir Ağ

Resim 4. Anahtar Transferi

Metni şifrelemek için kullanılan anahtar, görece daha güvenli ağ olmasına rağmen anahtar kötü kişiler tarafından ele geçirilebilir. Bunun neticesinde gönderilen bilgi, mesaj ve verinin ne olduğu kolayca açığa çıkarılabilir. Elbette sadece anahtarı bilmek yetmez şifreleme adımlarını da bilmek ve geriye doğru bunları takip etmek gerekli. Ama bu şifreleme algoritmaları yıllardır internette yazılıyor ve paylaşılıyor. Algoritmayı bulmak şifreyi bulmaktan daha kolay olacaktır. Bu sistemi genellikle merkeziyetçi ağlar kullanırken merkeziyetiz bir ağda bunu kullanmak hiçbir şey ifade etmemektedir.

Bunun için de asimetrik şifreleme (kriptografi) yazımızda görüşmek üzere…

--

--

Seyit KoçyiğitHS
Hacettepe Blockchain Topluluğu

Hacettepe Üniversitesi Bilgisayar Mühendisliği | Hacettepe Blockchain topluluğu. HS