Ana içeriğe atla

Kriptolojiye yüzeysel bir giriş ve Sezar Şifrelemesi



2. Dünya Savaşı içerisinde Nazi Almanyası'nın temel istihbarat amacı neydi sizce? Muhtemelen Hitler'İn bıyığından sonra Enigma makinesi cevabını almak çok zor olmayacaktır. Bugün bu yazıda temel kriptoloji ve enigma makinesinden bahsedeceğim. 


Bu enigma makinesi nedir diyorsunuz şimdi. Bu enigma makinesi, ABD ile Birleşik krallık arasındaki bir veri hattı ile başlayan çok uzun bir zincirin 2. Dünya savaşındaki bir ayağı diyebiliriz Enigma Makinesi'ne. Enigma Makinesi'nin temel amacı nedir diye soruyorsunuz muhtemelen, işte bu blog tam olarak bunu açıklamaya çalışacak (evet beni aşar o yüzden bloga saldım konuyu). 


Enigma için öncelikle temel şifreleme ile başlamamız lazım işe. Şifrelemenin de temeli bir diziyi bir anahtar kadar ileri veya geriye taşıyarak değiştirmektir. Bu mesela A yerine 3 ileri giderek D kullanmak ve her kelimeyi böyle yazmak ile örneklenebilir. Mesela "ALİ" sözcüğünde a yerine 3 ileri gidip D yazarsak şöyle bir sonuç çıkacaktır:

A-B-C-D 

L-M-N-O

İ-J-K-L 

DOL sözcüğü, 4 anahtarında ALİ sözcüğünün şifrelenmiş halidir.

Yukarıda açıkladığımız şifre, tarihteki ilk kriptoloji örneklerinden biridir. İsmi Sezar şifresidir ve bir harfin belirli bir miktar kaydırılması ile elde edilir (örnekte de görüldüğü gibi). Bu şifrelemenin temel sıkıntısı, daima bir anahtar verilmesi gerekmesiydi. Aslında, her şifrede anahtar bulunmak zorundadır fakat burada bir güvenlik açığı vardır: Anahtarın gönderilmesi. Bu problem de bazı örüntüler veya Hitler'in Enigma makinesi ile yaptığı gibi önceden dağıtılan tek kullanımlık şeritler kullanılarak çözülebilir.  


Enigma makinesi bu mantığın çok ileri bir şekli ile çalışır. Enigma makinesinde çarklar vardır ve çarklarda sayılar bulunur. Bu çarklar ve sayıların kombinasyonları ile bir anahtar havuzu oluşturulur. Bu anahtar havuzu ne kadar geniş ise şifreleme o kadar güçlüdür demektir. Şifrelerdeki temel olay da zaten çözülme süresini olabildiğince uzatmaktır. Enigma makinesi zamanına göre çok ileri teknoloji ürünüdür. Temel çalışma prensibi yukarıdaki çarklı sistemleri kendi aralarında ve büyük miktarlarda kombine etmektir. 


Enigma makinesinde basitçe çarklar ve çarklar arasında elektrik devreleri bulunur. çark pozisyonuna göre elektrik devreleri değişirdi ve ileri düzey şifrelerde zincirleme şekilde anahtar oluşturulduğu için her harfe farklı bir anahtar atanabiliyordu. Almanlar, 2. Dünya Savaşı'nda enigma makinesini 4 çark ve her çarkta 60 değere kadar genişletmişti. Bunun sonucunda anahtar olmadan neredeyse anlaşılamayacak bir şifreleme yaratılmıştı. Çark sayısı arttırılarak veya çarklar büyütülerek bu sayı arttırılabilir. Enigma makineleri yukarıdaki sistemi birkaç şekilde birden aynı anda kullanıyor da denilebilir (Sezar şifresi içinde sezar şifresi içinde sezar şifresi gibi.) (ENİGMA makineleri hakkında farklı bir blog da yayınlayacağım.). 


Enigma makinesi gibi karışık bir sistemden önce Anahtar ve şifrelemenin nasıl çalıştığını anlamak gerekir. Basit bir şifre ile başlayalım (ki yukarıda da belirtmiştik bu şifreyi). Bu ilk şifremiz Sezar şifrelemesine dayanacaktır. Şifrelediğimiz cümle "Stalingrad'ı Kuşatın" olsun. Bunun için öncelikle bir anahtara ihtiyacımız var. Bu anahtar ise 11 olsun. Bu durumda Stalingrad'ı Kuşatın kelimesi şu şekilde oluşacaktır:

      1    2    3    4    5    6    7    8    9    10    11

S    ş    t     u    ü    v    y    z    a    b     c      Ç

T   u    ü    v    y     z    a    b    c    ç     d      E

A   b    c    ç     d    e    f     g    ğ    h    ı       İ

  m    n   o     ö    p    r    s     ş     t    u     Ü

İ     j     k   l     m   n    o    ö     p    r     s     Ş

N   o     ö   p    r    s     ş    t      u    ü    v    Y

G   ğ     h   ı     i    j     k    l      m    n    o   Ö

R   s     ş    t    u    ü    v    y      z    a     b    C     

A   b    c    ç    d    e    f    g      ğ    h     ı     İ

D   e    f     g    ğ    h    ı    i       j    k     l    M

I     i    j     k     l    m    n    o    ö    p    r    S

K   l    m    n    o    ö    p    r     s     ş    t    U

U   ü   v     y    z    a    b    c     ç     d    e    F

Ş    t    u    ü    v    y    z    a     b     c    ç    D

A   b    c    ç     d    e    f     g    ğ    h    ı     İ

T   u    ü    v    y     z    a    b    c    ç     d    E

I    i    j     k     l    m    n    o    ö    p    r    S

N  o     ö   p    r    s     ş    t      u    ü    v    Y


STALİNGRAD'IKUŞATIN (Kesme işareti belli olmasın diye bitişik yazdım)  komutu, 11 anahtarı temel alınarak CEİÜŞYÖCİMSUFDİESY şeklinde şifrelenir. Bu, en temel şifreleme metodu olarak söylenebilir.

Bu sezar şifrelemesi, milattan önce 1.yy'da adından da pek de zorlanmadan çıkaracağımız şekilde Sezar tarafından oluşturulan basit bir yöntemdir. Diğer pek çok kriptoloji metodu bu öteleme ve anahtar dizilerinin iç içe veya ardışık şekilde kullanımı ile çalışır. Diğer blogda ayrı bir konu başlığı olarak enigma makinelerine değineceğiz.







 



Yorumlar

Bu blogdaki popüler yayınlar

Neden 10'luk sayı sistemi kullanırız? (Sayı sistemlerine bir bakış, ve Sümerliler / Babilliler neden 60 tabanındaki sayı sistemini kullandı?)

 Öncelikle bu blogda neden times new roman kullandığımı bilmiyorum okurlarım, eğer size de garip gelirse affedin :). Şimdi asıl konuya gelelim, "sayı sistemleri" Şimdi okurcuğum, ben sana desem ki kaç tane rakamımız vardır? Muhtemelen dersin bana "10 tane, 0,1,2,3,4,5,6,7,8,9.". Peki ben sana desem ki "Neden 10 tane rakamımız var peki?" İşte bu sorunun cevabı, kullandığımız sayı sisteminden kaynaklanıyor. Şimdi doğrudan doğruya başlığa koyduğum şeylere dalarsam muhtemelen kafamız karışır. Öncelikle sayı sistemlerini örnekleyeyim. Şimdi çift satır boşluk bıraktığımıza göre bir tanımla başlayabilirim bence. Sayı tabanı demek, sayı sisteminizdeki sayıları kaç tane rakam ile oluşturduğunuz demektir. Mesela biz onluk sayı sistemi kullanıyoruz. Bu durumda sayılarımız şu şekilde gider: -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10,  11,  12 Kullandığımız onluk sayı sisteminde sayıl...

Dişlilerin Matematiği (Basit makinelerin arkasındaki matematik : D)

     Sanayi devrimini hepimiz az buçuk biliyoruzdur. Bütün o buharlı makineler, hareket eden parçalar, dişliler… Hmm, dişliler. Eveet, dişliler. Bu blogda soruyu biraz erkenden alacağım gibime geliyor. Şimdi diyeceksiniz “Evet İlter, dişliler ama ne oldu işte? Ne dişliler? Neden dişliler?”. Şimdi şöyle ki, dişli oranları; matematik ile iç içe bir mühendislik bölümüdür. Dişli kutuları, transmisyonlar, vitesler vb. her mekanizma, matematiksel birtakım oranlar üzerinden çalışır. Bugün, sizlere dişlilerin altındaki matematiği; hız ve kuvvet değerlerini ve bunların hangi formüller yüzünden farklı şeyler olduklarını açıklayacağım. Kuvvetten kazanç ile yoldan kazanç kavramlarının dişliler üzerinde nasıl işlediğine ve basit makinelerin arkasındaki matematiğe birlikte göz atacağız.        Dişliler, basitçe üzerlerinde dişler olan çarklardır. İki dişlideki dişlerin sayıları farklı olsa da genellikle dişlerin boyutu aynı olur. Yani dişlerin sayısı ile çarkın ...

Çözünürlüğün Matematiği (Piksel Yoğunluğu Nasıl Hesaplanır?)

           Günümüzde özellikle uzaktan eğitim gibi unsurlar hayatımızda yaygınlaştıkça ekranlar ile haşır neşir olma zamanımız kayda değer şekilde arttı. Buradaki yazıda ekranlar hakkında bulduğum sayısal verileri sizlere açıklayacağım.           PPI, Pixels per inch gibi bir açılıma sahip önemli bir sayısal değerdir. Bunu hesaplarken birkaç temel unsur kullanılır. Bu unsurlardan ilki ekranlarda yer alan düşey eksendeki piksel sayısı, diğeri ise yatay eksendeki piksel sayısıdır. Üçüncü unsur ise ekranın (eğer dörtgen ise) köşeleri arasındaki mesafedir.  Tipik bir bilgisayar ekranı üzerinden gidelim. Çözünürlüğü standart 1920x1080 ve ekran boyutu da 15.6 inç olsun. Bu durumda ekranın köşegeninin kaç piksel ettiğini bulmamız gerekiyor. Bu durumda: Ekranımızın köşegeni üzerinde 2202,91 piksel bulunuyor demektir. Bunun ardından ekranın ölçüsü ile bu sayıyı bölmek, bize birimkare başına düşen piksel sayısını verecektir. 2202,91...