Sezar Şifreleme: Klasik Kriptografiden İstatistiksel Analize

16 Ocak 2026 | 5 dk okuma

Kriptografi dünyasına Sezar Şifrelemesi ile giriş yapmak, benim için tarihin en eski gizemlerinden birine modern bir mühendislik merceğiyle bakmaktı. Binlerce yıl öncesinden günümüze uzanan bu basit algoritmayı sadece 'çalıştırmak' yerine; anahtarı bilinmeyen bir şifreyi en verimli şekilde nasıl kırabileceğimizi keşfetmeyi hedefledim.

Bu çalışma dahilinde; Sezar Şifresi'ni JavaScript ekosisteminde hayata geçirirken, klasik ve yorucu 'Brute Force' yönteminden vazgeçip istatistiksel analizin (Chi-Square) gücüne nasıl sığındığımı ele alıyorum. Gemini AI ile yürüttüğümüz teknik iş birliği sayesinde, her bir harfin frekansını birer ipucuna dönüştürerek matematikle şifre kırmanın o kritik eşiğini geçtiğim ve çözümün netleştiği o anı bizzat deneyimleme şansı buldum.

🛠️ Teknik Yaklaşım ve Geliştirme Süreci

Bu çalışmanın geliştirme aşamasında, kullanıcı arayüzü ile algoritma mantığını birbirinden izole eden modüler bir mimariyi tercih ettim. JavaScript'in esnek yapısı, karakter kodları üzerinden alfabe kaydırması yapmamı kolaylaştırırken; asıl meydan okuma, şifreyi otomatik olarak çözen o 'akıllı' mekanizmayı inşa etmekti.

Gemini AI ile yürüttüğümüz analizlerde, şifreli metnin harf dağılımını İngilizce dilinin doğal frekanslarıyla kıyaslayan bir istatistik modeli üzerine odaklandım. Bu süreçte Google Colab üzerinden yaptığımız matematiksel doğrulamalar, kaba kuvvet (Brute Force) yerine zekayı ön plana çıkaran nihai web uygulamamın teknik temelini oluşturdu.

🧠 Problemin Anatomisi: Brute Force vs. İstatistik

Bir Sezar Şifresi'ni çözmek için 26 farklı olasılığı tek tek denemek (Brute Force) teknik olarak mümkün olsa da, mühendislikte verimlilik ve şeffaflık ilkelerini odağına alan bir yaklaşım değildir. Zira kaba kuvvet, ölçeklenemez ve her zaman manuel bir kontrol gerektirir.

Bunun yerine, Chi-Square (Kay-Kare) testi kullanarak metnin harf frekanslarını analiz eden otonom bir sistem geliştirmeyi tercih ettim. Bu sistem; şifreli metindeki her bir harfin kullanım oranını, İngiliz dil standartlarıyla (Örn: 'e' harfinin %12.7 oranındaki ağırlığı gibi) matematiksel olarak kıyaslıyor. En düşük sapma skoruna sahip kaydırma miktarını ise sistem otomatik olarak 'doğru anahtar' olarak tanımlıyor. Bu yaklaşım, yazılımın sadece bir 'araç' değil, kendi kararlarını veren bir akıllı mekanizma olarak çalışmasını sağlıyor.

💻 Kritik Algoritma: İstatistiksel Skorlama

Bu fonksiyon, projenin 'stratejik beyni' olarak görev yapıyor. Her bir kaydırma olasılığını matematiksel bir süzgeçten geçirerek, hangi sonucun İngiliz dilinin doğal frekansına en yakın olduğunu belirliyor.

İstatistiksel bir yargıç gibi çalışan bu yapı sayesinde yazılım; sadece karakterleri kaydırmakla kalmıyor, hangi sonucun anlamlı olduğunu matematiksel bir kesinlikle ayırt edebiliyor.

// Metni harf frekanslarına göre puanlayan fonksiyon
const scoreText = (text) => {
    let chiSquaredScore = 0;
    const charCounts = getCharFrequencies(text);
    
    for (let i = 0; i < 26; i++) {
        const expectedCount = totalLetters * ENGLISH_FREQUENCIES[i];
        const observedCount = charCounts[i];
        
        // Gözlemlenen ve beklenen değerler arasındaki farkın karesi
        if (expectedCount > 0) {
            chiSquaredScore += Math.pow((observedCount - expectedCount), 2) / expectedCount;
        }
    }
    return chiSquaredScore;
};

🚀 Uygulama Analizi ve Saha Testi

Sistemin arayüzünü, karmaşık verinin nasıl anlamlı bir sonuca dönüştüğünü somutlaştırmak üzere tasarladım. Aşağıdaki ekran görüntüsünde; şifreli bir metnin sisteme girişini ve arka planda çalışan istatistik motorunun tüm kombinasyonları saniyeler içinde tarayarak, en düşük sapma skoruna sahip sonucu nasıl 'doğru anahtar' olarak seçtiğini görebilirsiniz.

Sezar Şifreleme Uygulama Analizi

Bu görsel, kağıt üzerindeki matematiksel formüllerin kullanıcı dostu bir arayüzle birleştiğinde nasıl güçlü bir otomatik deşifre aracına dönüştüğünün en net kanıtıdır.

🤖Stratejik İş Birliği: AI ve Mühendis

Bu çalışmada Gemini AI’ı sadece kod üreten bir araç olarak değil, istatistiksel modelleri algoritmaya entegre eden bir 'Crypto-Analyst' olarak konumlandırdım. Alfabe sınırlarını, karakter kodlarını ve harf frekans analizlerini birleştirirken sorduğumuz kritik sorular; çalışmanın basit bir kodlama pratiğinden profesyonel bir web uygulamasına dönüşmesini sağladı.

Tarihin en eski şifreleme yöntemini, modern teknolojinin en yeni araçlarıyla analiz etmek benim için eşsiz bir deneyimdi. Bu süreç; doğru metodolojinin yapay zekanın gücüyle birleştiğinde, binlerce yıllık bilmecelerin bile nasıl saniyeler içinde çözülebileceğinin teknik bir kanıtı oldu.

Tüm Çalışmalara Dön