Araştırmacının Pusulası
Neden çalışıyor, ne zaman çöker? Derinlemesine bakış
Aşağıdaki sekiz başlık, laboratuvarda denediğiniz yöntemlerin arkasındaki
matematiği ve bugün hâlâ açık olan soruları ele alıyor. Her başlıkta bir
durum etiketi var: kanıtlanmış, açık soru,
bilinen saldırı ya da araç-veri.
1. RSA neden çalışır? Fermat'dan Euler'e
kanıtlanmış (Fermat 1640, Euler 1763)
1640'ta Pierre de Fermat, \(p\) asal ve \(a\) sayısı \(p\)'ye bölünmüyorsa
\(a^{p-1} \equiv 1 \pmod p\) olduğunu fark etti (Fermat'nın küçük
teoremi). Euler bunu her \(n\) için genelleştirdi: \(a\) ile \(n\)
aralarında asalsa
\[ a^{\varphi(n)} \equiv 1 \pmod{n} \]
Burada \(\varphi(n)\), 1'den \(n\)'ye kadar \(n\) ile ortak böleni
olmayan sayıların adedidir. \(n=pq\) için bu sayı \((p-1)(q-1)\)'dir.
RSA'da \(ed = 1 + t\,\varphi(n)\) olacak şekilde seçildiği için:
\[ c^{d} = (m^{e})^{d} = m^{1+t\varphi(n)} = m\cdot\big(m^{\varphi(n)}\big)^{t} \equiv m\cdot 1^{t} = m \pmod{n} \]
Yani şifreyi çözmek, 360 yıllık bir teoremin doğrudan sonucudur.
(\(m\)'nin \(n\) ile ortak böleni olduğu nadir durumda da sonuç doğrudur;
bunu Çin kalan teoremiyle göstermek iyi bir alıştırmadır.) Fermat'nın
sayı teorisindeki diğer mirası için
Pisagor Üçlülerinden Fermat'nın Son Teoremi'ne
yazısına bakabilirsiniz.
2. Gizli anahtarı bulmak: genişletilmiş Öklid algoritması
kanıtlanmış (Öklid, MÖ ~300)
Bob, \(e\cdot d \equiv 1 \pmod{\varphi(n)}\) denklemini nasıl çözer?
Öklid'in "Elementler"de verdiği en büyük ortak bölen algoritmasını
geriye doğru işleterek. Klasik örnek: \(p=61\), \(q=53\), \(n=3233\),
\(\varphi(n)=3120\), \(e=17\).
| Bölme adımı | Geriye doğru yazış |
| \(3120 = 183\cdot 17 + 9\) | \(9 = 3120 - 183\cdot 17\) |
| \(17 = 1\cdot 9 + 8\) | \(8 = 17 - 9\) |
| \(9 = 1\cdot 8 + 1\) | \(1 = 9 - 8 = 2\cdot 9 - 17 = 2\cdot 3120 - 367\cdot 17\) |
Son satır \(-367\cdot 17 \equiv 1 \pmod{3120}\) diyor. Pozitif yapmak için
3120 ekleriz: \(d = 2753\). Gerçekten \(17\cdot 2753 = 46801 = 15\cdot 3120 + 1\).
Algoritma, basamak sayısıyla orantılı adımda biter; 600 basamaklı
sayılarla bile anında çalışır. RSA'nın bütün "kolay" işlemleri
(asal bulma, çarpma, üs alma, ters bulma) böyle hızlıdır; zor olan tek
şey geriye doğru çarpanlara ayırmaktır.
3. RSA'yı kırmak, çarpanlara ayırmak kadar mı zor?
açık soru
Şaşırtıcı ama bu sorunun cevabı bilinmiyor. Bilinenler şunlar:
\(n\)'nin çarpanlarını bilen, \(d\)'yi hemen bulur. Tersine,
\(d\)'yi bilen biri \(n\)'yi verimli biçimde çarpanlarına ayırabilir
(bu kanıtlanmıştır). Ama Eve'in amacı \(d\)'yi bulmak değil, tek bir
mesajı okumaktır: \(c\)'den \(m\)'yi, yani "\(e\). dereceden kök almayı"
bulmak. Buna RSA problemi denir ve çarpanlara ayırmadan
daha kolay olup olmadığı açıktır. 1998'de Dan Boneh ve Ramarathnam
Venkatesan, küçük \(e\) değerleri için RSA probleminin çarpanlara
ayırmaya "eşdeğer olmayabileceğine" dair kanıtlar sundu.
"Zor" ne demek?
Kriptografideki "zor", "imkânsız" değil, "bilinen en iyi yöntemle
evrenin yaşından uzun sürer" demektir. Çarpanlara ayırmanın
gerçekten zor olduğu, yani hızlı bir klasik
algoritmasının olmadığı kanıtlanmamıştır. Bu, bilgisayar biliminin
en büyük açık sorusu olan P ve NP probleminden bile daha özel bir
sorudur. Modern kriptografi, kanıtlanmış zorluk yerine
"yüzlerce yıllık çabaya dayanmış zorluk" üzerine kuruludur.
4. Ders kitabındaki RSA neden güvensizdir?
bilinen saldırılar
Laboratuvardaki oyuncak RSA'nın üç zaafı, gerçek sistemlerin neden daha
karmaşık olduğunu gösterir:
- Deterministiklik: aynı mesaj her zaman aynı şifreli
metne dönüşür. Eve olası mesajları (örneğin "EVET" ve "HAYIR") kendisi
şifreleyip karşılaştırarak hangisinin gönderildiğini anlar.
- Küçük mesaj, küçük üs: \(e=3\) ve \(m^3 < n\) ise
mod işlemi hiç devreye girmez; Eve sıradan küp kökü alarak \(m\)'yi bulur.
- Çarpımsallık: \((m_1 m_2)^e = m_1^e\, m_2^e\).
Şifreli metinler birleştirilebilir, bu da bazı ortamlarda saldırıya
dönüşür.
Çözüm, mesajı şifrelemeden önce rastgele bir dolgu
(padding) ile karıştırmaktır. Bellare ve Rogaway'in 1994'te önerdiği
OAEP bugün standarttır. Daha eski PKCS #1 v1.5 dolgusuna Daniel
Bleichenbacher 1998'de etkili bir saldırı buldu; aynı saldırının
çeşitleri 20 yıl sonra bile gerçek sunucularda bulunmaya devam etti.
Matematiksel olarak sağlam bir fikir, ancak dikkatli bir mühendislikle
güvenli bir sisteme dönüşür.
5. Çarpanlara ayırma ne kadar zor? Algoritmalar ve rekorlar
araç-veri
Deneme bölmesi, \(n\)'nin karekökü kadar adım ister: 600 basamaklı bir
sayı için \(10^{300}\) civarı. 1970'lerden bu yana algoritmalar büyük
ilerleme kaydetti: Pollard'ın yöntemleri (1974–1975), Carl Pomerance'ın
ikinci dereceden eleği (1981) ve 1990'larda geliştirilen
genel sayı cismi eleği (GNFS). Bugünkü rekorların
hepsi GNFS ile kırıldı. Yaklaşık çalışma süresi şöyledir:
\[ \exp\!\Big( \big(\tfrac{64}{9}\big)^{1/3} (\ln n)^{1/3} (\ln\ln n)^{2/3} \Big) \]
Bu ifade karekökten çok daha yavaş büyür ama yine de "polinom" değildir.
2048 bitlik anahtarların bugün güvenli sayılmasının nedeni budur.
| Sayı | Büyüklük | Çarpanlarına ayrıldığı yıl |
| RSA-129 | 129 basamak (426 bit) | 1994 |
| RSA-155 | 155 basamak (512 bit) | 1999 |
| RSA-768 | 232 basamak (768 bit) | 2009 |
| RSA-240 | 240 basamak (795 bit) | 2019 |
| RSA-250 | 250 basamak (829 bit) | 2020 |
| RSA-260 | 260 basamak (862 bit) | 2026 (duyuru) |
| RSA-2048 | 617 basamak (2048 bit) | çözülmedi |
512 bitlik anahtarlar 1990'larda yaygın kullanılıyordu; 1999'daki rekorla
birlikte terk edildi. Bugün en az 2048 bit öneriliyor.
6. Shor'un fikri: çarpanlara ayırma aslında bir periyot problemi
algoritma kanıtlanmış (1994)
donanım açık soru
Shor'un algoritmasının kuantum kısmı karmaşıktır, ama arkasındaki fikir
klasik sayı teorisidir. Bir \(a\) seçin ve \(a^1, a^2, a^3, \dots\)
değerlerinin \(\bmod N\) kalanlarına bakın. Bu dizi bir noktada
kendini tekrar etmeye başlar; tekrarın uzunluğuna periyot
(\(r\)) denir. \(r\) çiftse ve \(a^{r/2} \not\equiv -1\) ise
\[ \gcd\big(a^{r/2}-1,\;N\big) \quad\text{ve}\quad \gcd\big(a^{r/2}+1,\;N\big) \]
\(N\)'nin çarpanlarını verir. Klasik bilgisayar için zor olan,
büyük \(N\) için \(r\)'yi bulmaktır. Kuantum bilgisayar ise kuantum
Fourier dönüşümüyle periyodu verimli biçimde ortaya çıkarır. 2001'de
IBM'de yürütülen bir deneyde 7 kübitlik bir sistemle \(15=3\times5\)
bu yolla çarpanlarına ayrıldı. Aşağıda periyodu klasik yolla, tek tek
sayarak bulabilirsiniz.
7. Kuantum sonrası dünya: kafesler ve "şimdi topla, sonra çöz"
açık soru, aktif geçiş
Kuantum bilgisayar henüz RSA'yı kıramıyor; peki neden şimdiden
endişeleniliyor? Çünkü bugün kaydedilen şifreli trafik, yıllar sonra
çözülebilir. Güvenlik uzmanları buna "şimdi topla, sonra çöz"
(harvest now, decrypt later) diyor. On yıl gizli kalması gereken bir
bilgi, bugünden kuantum sonrası yöntemlerle korunmalıdır.
Yeni standartların çoğu kafeslere (lattice) dayanıyor.
Kafes, uzayda düzenli dizilmiş noktalar kümesidir. Yüzlerce boyutlu bir
kafeste, verilen bir noktaya en yakın kafes noktasını bulmak çok zordur;
üstelik kuantum bilgisayarların da bunu hızlandıran bilinen bir yöntemi
yoktur. Oded Regev'in 2005'te tanımladığı hatalarla öğrenme
(learning with errors, LWE) problemi, bu zorluğu şifrelemeye taşır:
doğrusal denklemlere küçük rastgele hatalar eklendiğinde, denklemleri
çözmek birden umutsuzca zorlaşır. ML-KEM bu ailenin bir üyesidir.
SIKE'ın dersi
Finale kadar yükselen SIKE'ın 2022'de bir dizüstü bilgisayarla
kırılması bir başarısızlık değil, sistemin işlediğinin kanıtıydı:
algoritmalar açıkça yayımlandı, dünyanın dört bir yanından
araştırmacılar saldırdı, zayıf olan standart olmadan elendi. Bu yüzden
NIST, farklı matematiğe dayanan yedekler (SLH-DSA, HQC) de seçti.
NIST'in 2024'te taslak olarak yayımladığı geçiş planı (NIST IR 8547),
RSA ve eliptik eğri tabanlı yöntemlerin 2030'dan itibaren
kullanımdan kaldırılmaya başlanmasını, 2035'ten sonra ise
yasaklanmasını öngörüyor.
8. Kırılamayan şifre neden kullanılmıyor?
kanıtlanmış (Shannon 1949)
Tek kullanımlık şerit mükemmel gizlilik sağlar: Eve'in bilgisayarı ne
kadar güçlü olursa olsun, şifreli metin her olası düz metne eşit
olasılıkla karşılık gelir. Ama üç koşulun hepsi sağlanmalıdır: anahtar
gerçekten rastgele, en az mesaj kadar uzun ve yalnızca bir kez
kullanılmış olmalı. Sovyet istihbaratı 1940'larda şerit üretiminde
sıkıntı yaşayınca bazı sayfaları tekrar kullandı; ABD'nin Venona
projesi bu tekrarlardan yararlanarak binlerce mesajı kısmen çözdü.
Her mesaj için mesaj boyunda yeni bir anahtar dağıtmak, en baştaki
anahtar dağıtma sorununu büyütür. Açık anahtarlı şifreleme tam da bu
yüzden devrimdir: kanıtlanmış mükemmellikten, kullanılabilir güvenliğe
geçiş.