Skip to content

Kriptografide Matematiksel Temeller ve Notasyon

Modern kriptografi, güvenliğini karmaşık metin karıştırma oyunlarından değil; Sayılar Teorisi ve Soyut Cebir'in sarsılmaz kurallarından alır. Şifreleme algoritmalarının (özellikle RSA, Diffie-Hellman ve Eliptik Eğri gibi asimetrik sistemlerin) temelinde yatan en önemli matematiksel yapılar aşağıda özetlenmiştir.

📝 EBOB ve EKOK Notasyon Anlaşması

Uluslararası literatüre sadık kalmak adına, notlarımızda Türkçe kısaltmalar (EBOB/EKOK) yerine küresel kriptografi kaynaklarında kullanılan standart matematiksel fonksiyonlar tercih edilecektir:

  • gcd(a,b) (Greatest Common Divisor): a ve b sayılarının En Büyük Ortak Bölenini ifade eder.
  • lcm(a,b) (Least Common Multiple): a ve b sayılarının En Küçük Ortak Katını ifade eder.

Altın Notasyon: Aralarında Asallık Notlarımız boyunca karşılaşacağımız en kritik gösterim şudur:

gcd(a,b)=1a ve b sayıları aralarında asaldır.

Bu sade gösterim; modüler aritmetikte sadeleştirme yapılabilirliğinin, Zn içinde çarpımsal tersin var olmasının ve Euler Phi (ϕ) fonksiyonunun hesaplanmasının yegane matematiksel şartıdır.

1. Modüler Aritmetik ve Zn Kümeleri

Kriptografide sonsuz sayılarla işlem yapmak bilgisayarlar için pratik (veya güvenli) değildir. Bu nedenle işlemler, sayılar belirli bir n modülüne (modülüs) ulaştığında başa saran dairesel bir sistem üzerinde, yani modüler aritmetik kullanılarak yapılır.

Tanım: Modüler Denkliği (Kongrüans)

a, b ve n tam sayılar (n>0) olmak üzere; eğer n sayısı (ab) farkını tam bölüyorsa, "a ve b sayıları modülo n'de birbirine denktir" denir ve şu şekilde gösterilir:

ab(modn)

⚙️ Modüler Aritmetiğin Temel Özellikleri

a,b,c,d birer tam sayı ve n>0 bir modül olsun. Cebirsel işlemler, alt alta yazılan denkliklerin taraf tarafa işleme sokulmasıyla çok daha net görülebilir:

  • Toplama ve Çıkarma: Aynı modüle sahip denklikler alt alta toplanabilir veya çıkarılabilir. Modül aynen korunur:

    ab(modn)cd(modn)}a±cb±d(modn)
  • Aynı Sayıyı Ekleme ve Çıkarma (Her İki Tarafa): Klasik cebirde olduğu gibi, modüler aritmetikte de bir denklemin her iki tarafına aynı sayıyı ekleyebilir veya çıkarabilirsiniz. Modül yine sabit kalır:

    ab(modn)a±cb±c(modn)
  • Aynı Sayıyla Çarpma (Sabit Bir Skalerle): Bir denkliğin her iki tarafını aynı k tam sayısıyla çarpabilirsiniz. Bu durumda (tüm denkliği genişletmenin aksine) modül sabit kalır. Aslında bu özellik, ab(modn) ile kk(modn) denkliklerinin taraf tarafa çarpımından elde edilir:

    ab(modn)kakb(modn)
  • Çarpma (Taraf Tarafa): Aynı modüle sahip iki farklı denkliğin sol tarafları kendi arasında, sağ tarafları ise kendi arasında çarpılabilir. Modül yine sabit kalır:

    ab(modn)cd(modn)}acbd(modn)
  • Üs Alma: Taraf tarafa çarpma kuralının doğal bir sonucu olarak (c=a ve d=b alınarak k defa çarpıldığında), bir denkliğin her iki tarafının aynı k1 pozitif tam sayı kuvveti alınabilir:

    ab(modn)akbk(modn)
  • Denkliği Genişletme (Modülü Çarpmak): Tüm denkliği bir k>0 tam sayısıyla çarparak genişletiyorsanız, çözüm kümesinin bozulmaması için modülü de aynı k sayısıyla çarpmak zorundasınız. Sadece tarafları çarpıp modülü sabit bırakmak denklemi tamamen değiştirir ve yanlış sonuçlara götürür:

    ab(modn)akbk(modnk)

⚠️ Tehlikeli Sular: Bölme ve Sadeleştirme Kuralı!

Modüler aritmetikte doğrudan "bölme" işlemi yoktur ve klasik cebirdeki gibi her iki tarafı aynı sayıya bölerek sadeleştirme yapmak çok sık yapılan ölümcül bir hatadır.

Çarpım durumundaki bir c tam sayısını her iki taraftan sadeleştirmek istiyorsak, modülün de c ile olan en büyük ortak bölenine (gcd) bölünmesi zorunludur:

acbc(modn)ab(modngcd(c,n))

Özel ve Kriptografide En Sık Kullanılan Durum: Eğer sadeleştireceğimiz c sayısı ile modülümüz n aralarında asal ise (gcd(c,n)=1), o halde n1=n olacağından, modül değişmeden doğrudan sadeleştirme yapılabilir:

acbc(modn)ab(modn)

🚫 Dikkat: Üslerde Sadeleştirme Yapılamaz!

Tabanlardaki sayılar aralarında asallık kuralına göre sadeleşebilse de, üsler doğrudan sadeleştirilemez. Yani:

xaxb(modn)ab(modn)

Modüler aritmetikte üsleri birbirine eşitlemek, indirgemek veya sadeleştirmek için modül n'ye göre değil; her zaman Euler-Fermat Teoremi gereği ϕ(n)'e göre işlem yapılması matematiksel olarak zorunludur.

Zn Kümeleri ve Çarpımsal Ters

İşte tüm bu modüler işlemlerin yapıldığı kalanlar kümesine Zn denir.

Tanım: Zn Kümesi

n pozitif bir tam sayı olmak üzere, modülo n'de kalanların oluşturduğu tam sayılar kümesi:

Zn={0,1,2,,n1}

şeklinde gösterilir.

Modüler aritmetikte doğrudan "bölme" işlemi olmadığı için, denklemleri çözmek adına Çarpımsal Ters (Multiplicative Inverse) kavramı devreye girer. Bir sayıya bölmek yerine, o sayının çarpımsal tersi ile çarparız.

Tanım: Çarpımsal Ters (Multiplicative Inverse)

aZn olmak üzere, eğer:

ax1(modn)

denkliğini sağlayan bir x tam sayısı varsa, bu x sayısına a'nın modülo n'deki çarpımsal tersi denir ve a1(modn) şeklinde gösterilir.

Kriptografik açıdan bu terslerin bulunabilmesi çok kritiktir. Zn içinde bir a elemanının çarpımsal tersinin olabilmesi için gerek ve yeter şart gcd(a,n)=1 (aralarında asal) olmasıdır. (Bu ters elemanlar pratikte Genişletilmiş Öklid Algoritması kullanılarak çok hızlı bir şekilde hesaplanır).

💡 Neden Asal Sayılar?

Eğer n sayısı bir p asal sayısı olarak seçilirse (Zp), sıfır hariç her elemanın p ile aralarında asal olacağı garanti edilir. Yani sıfır hariç her elemanın bir çarpımsal tersi olur! Bu durum Zp'yi sadece bir halka olmaktan çıkarıp kusursuz bir Cisim (Field) yapar. Bu yapı, AES (Gelişmiş Şifreleme Standardı) gibi modern algoritmaların bel kemiğidir.

2. Euler'in Phi (ϕ) Fonksiyonu

Kriptografinin, özellikle de RSA algoritmasının en büyük kahramanlarından biri Euler'in Totient (Phi) Fonksiyonudur.

Tanım: Euler Phi Fonksiyonu ϕ(n)

Bir n pozitif tam sayısı için, 1an aralığında bulunan ve n ile aralarında asal olan tamsayıların sayısını veren fonksiyondur.

ϕ(n) Fonksiyonunun Özellikleri

Hesaplama yaparken bu fonksiyonun sahip olduğu şu çarpımsal özellikler hayat kurtarır:

  1. Asal Sayı Kuralı: Eğer p bir asal sayı ise, kendisinden küçük tüm pozitif tam sayılarla aralarında asal olacağından:

    ϕ(p)=p1
  2. Asal Kuvvet Kuralı: Eğer p asal ve k1 tam sayı ise:

    ϕ(pk)=pkpk1
  3. Çarpımsallık Kuralı: Eğer m ve n aralarında asal ise (gcd(m,n)=1):

    ϕ(mn)=ϕ(m)ϕ(n)
  4. Genel Formül: Herhangi bir n sayısının asal çarpanlarına ayrılmış hali n=p1k1p2k2prkr ise:

    ϕ(n)=n(11p1)(11p2)(11pr)

3. Euler ve Fermat Teoremleri

Şifreleme sırasında veriyi çok büyük üslere çıkardığımızda, modüler aritmetikte bu üsleri küçültmek ve işlemi bilgisayarlar için çözülebilir kılmak adına bu iki teorem kullanılır.

Fermat'nın Küçük Teoremi

Eğer p bir asal sayı ve a, p ile bölünemeyen bir tam sayı ise (gcd(a,p)=1):

ap11(modp)

Fermat'nın Küçük Teoremi sadece asallar için geçerlidir. İsveçli matematikçi Leonhard Euler, bu teoremi asal olmayan sayılar (n) için genişletmiş ve literatüre RSA algoritmasının anahtar üretim iskeletini hediye etmiştir:

Euler-Fermat Teoremi

Eğer a ve n aralarında asal iki tam sayı ise (gcd(a,n)=1):

aϕ(n)1(modn)

⚠️ Şifre Kırmanın Zorluğu

RSA sisteminde n=pq şeklinde devasa iki asal sayının çarpımı halka açık olarak verilir. Sistemin güvenli olmasının sebebi, n bilinmesine rağmen p ve q çarpanları bilinmeden ϕ(n) değerinin hesaplanamamasıdır. Eğer bir gün çok hızlı çalışan bir asal çarpanlara ayırma algoritması (örneğin kuantum bilgisayarlarda Shor Algoritması) bulunursa, tüm bu teoremlerin pratik zorluğu çöker ve RSA kırılır!

4. Wilson Teoremi

Asal sayıları tespit etmek (Primality Test) veya teorik analizler yapmak için kullanılan çarpımsal bir başka güçlü teorem şudur:

Wilson Teoremi

Bir p2 tam sayısının asal sayı olması için gerek ve yeter şart:

(p1)!1(modp)

Faktöriyel hesaplaması sayılar büyüdükçe logaritmik olmayan (çok hızlı) bir şekilde büyüdüğü için, pratikte devasa kriptografik asal sayıların testinde Wilson Teoremi kullanılamayacak kadar yavaştır. Bunun yerine genellikle Miller-Rabin gibi olasılıksal (probabilistic) asallık testleri tercih edilir.

Akademik amaçlarla tasarlanmış açık kaynaklı eğitim arşivi. Bu sitedeki tüm ders notları ve içerikler CC BY-NC-SA 4.0 Lisansı ile korunmaktadır.