-
Tc4dy
OPSEC Specialist | Free internet - Open Source ADV
⚛️ POST-QUANTUM KRİPTOGRAFİ REHBERİ – Kuantum Bilgisayarlar Geldiğinde Çıplak Kalmayın
Bak dostum, kimse sana "yarının savaşını bugün kazan" gibi boş laflar söylemeyecek. Sana direkt şunu diyorum: Birkaç yıl içinde kullandığın tüm şifreleme çöpe gidebilir. O RSA anahtarların, o ECC imzaların... Hepsini bir kuantum bilgisayar saniyeler içinde kırabilir. Kullandığın VPN programları, RAT'lar, belki günlük hayatta kullandığın herşey Quantum tehlikesinde.Bu rehberde tam olarak şunları bulacaksın:
- Neden post-quantum kriptografi? – Quantum bilgisayarların tehlikesi ne, Q-Day ne?
- Hangi dili seçmeli? – Python, C++, Rust, Go, JavaScript, Java/C# artıları ve eksileri
- Hangi kütüphaneler? – liboqs, Bouncy Castle, noble/post-quantum, Trail of Bits Go libs
- Ek güvenlik önlemleri – Yan kanal saldırıları, constant-time kod, hybrid yaklaşım
- Kendi şifreleme programını yazmak – Hybrid Kyber + AES-256-GCM ile full örnek kod
- Şifreli mesajlaşma entegrasyonu – Signal/Matrix tarzı sistemlere PQC eklemek
- Video kaynakları – İzleyip derinleşebileceğin güncel içerikler
🔻 1. NEDEN POST-QUANTUM? – Quantum Bilgisayarların Tehlikesi
"Savunması olmayanın saldırısı, sadece intihardır." – Sun Tzu
🧠 Olayın Özü: Shor ve Grover
Bildiğimiz şifreleme sistemleri (RSA, ECC, Diffie-Hellman) şu temel sorunların klasik bilgisayarlarla çözülmesi zor olmasına dayanır:- RSA: Büyük sayıları asal çarpanlarına ayırma
- ECC/ElGamal: Ayrık logaritma problemi
Q-Day (Quantum Apocalypse): Kuantum bilgisayarın mevcut şifrelemeyi kırabilecek hale geldiği an. Bu anın 2030'lar civarında gelebileceği konuşuluyor. O gün geldiğinde, bugün "şifreli" diye sakladığın her şey – mesajların, bankacılık işlemlerin, VPN kayıtların – dümdüz okunabilir olacak.
⚠️ Ama Bekle, Daha da Kötüsü Var: "Harvest Now, Decrypt Later"
Diyelim ki quantum bilgisayar 2035'te geldi. O zamana kadar geçen 10 yıl içinde tüm şifreli trafik kaydedilebilir. İstihbarat teşkilatları ve büyük şirketler şu anda "ileride çözeriz" diyerek bugünkü şifreli verileri topluyor olabilir. Yani mesajların belki şimdi güvende, ama 2035'te herkes okuyacak.🔐 O Halde Çözüm Nedir?
Post-Quantum Kriptografi (PQC): Klasik bilgisayarlarda çalışan, ancak quantum bilgisayarlara karşı da dayanıklı olacak şekilde tasarlanmış algoritmalar. NIST (ABD Ulusal Standartlar ve Teknoloji Enstitüsü) 2024'te ilk üç standart algoritmayı finalize etti:| NIST Standardı | Algoritma | Türü | Ne İşe Yarar |
|---|---|---|---|
| FIPS 203 (ML-KEM) | CRYSTALS-Kyber | KEM (Key Encapsulation) | Kuantum-safe anahtar değişimi |
| FIPS 204 (ML-DSA) | CRYSTALS-Dilithium | Dijital imza | Kuantum-safe imzalama |
| FIPS 205 (SLH-DSA) | SPHINCS+ | Hash-based imza | Alternatif imza (daha yavaş ama farklı güvence) |
🎯 2. HANGİ DİL VE HANGİ KÜTÜPHANE? – Seviyene Göre Seç
Her dilin derdi ayrı. İhtiyacına göre seç. Ama şunu unutma: Hangi dili seçersen seç, doğru kütüphane olmadan işin zor.🐍 Python – Hızlı Prototip ve Öğrenme İçin
Artıları: Öğrenmesi kolay, kütüphane bolluğu, hızlı fikir geliştirme.Eksileri: Yavaş, production için çok güvenilmez (özellikle constant-time kod yazması zor).
| Kütüphane | Ne Yapar | Kullanımı |
|---|---|---|
| liboqs-python | Open Quantum Safe projesinin Python binding'i. Kyber, Dilithium, Falcon vs. hepsi var. | pip install liboqs |
| pqmagic | Çin'in FIPS 203/204/205 uyumlu yüksek performanslı PQC kütüphanesi. | pip install pqmagic |
| kyber-py | Saf Python ile Kyber implementasyonu – öğrenmek için ideal. | git clone ... |
bash
pip install liboqs
# veya kaynaktan:
git clone https://github.com/open-quantum-safe/liboqs-python
cd liboqs-python && pip install -e .
🦀 Rust – Production Kalitesi ve Güvenlik İçin
Artıları: Memory-safe, hız, constant-time kod yazmaya elverişli.Eksileri: Öğrenmesi dik yokuş.
| Kütüphane | Ne Yapar |
|---|---|
| liboqs-rust | Rust binding for liboqs. Ama uyarı: liboqs README'de "PRODUCTION ORTAMINDA KULLANMAYIN" yazıyor. Hala deneysel. |
| pqc-rs | Saf Rust PQC implementasyonları. |
| RustCrypto PQC crates | Kyber, Dilithium implementasyonları var. |
⚙️ C/C++ – Performans Canavarı, Ama Dikkat!
Artıları: En hızlı, en çok test edilmiş implementasyonlar.Eksileri: Memory leak, buffer overflow, yan kanal saldırılarına açık.
| Kütüphane | Ne Yapar |
|---|---|
| liboqs (C) | OQS'nin ana C kütüphanesi. Tüm NIST algoritmaları burada. |
| liboqs-cpp | C++ wrapper. |
| OpenSSL (oqs-provider) | OpenSSL 3.0+ için PQC provider eklentisi. |
🫨 Go – Cloud-native için
Artıları: Kolay concurrency, deployment kolay, Trail of Bits gibi sağlam oyuncular destekliyor.Eksileri: GC overhead, kütüphane ekosistemi hala olgunlaşıyor.
| Kütüphane | Ne Yapar |
|---|---|
| Trail of Bits Go libs (ml-dsa, slh-dsa) | Saf Go implementasyonları, constant-time, side-channel korumalı. |
| CIRCL (Cloudflare) | Cloudflare'ın PQ + ECC hibrit kütüphanesi. |
| hpqc | Hybrid PQC + klasik primitives. |
| go-pqsw | TLS benzeri quantum-safe wire protokolü. |
🌐 JavaScript/TypeScript – Browser ve Node.js için
Artıları: Her yerde çalışır, Web Crypto API ile entegre.Eksileri: JS'de constant-time kod yazmak imkansıza yakın.
| Kütüphane | Ne Yapar |
|---|---|
| @noble/post-quantum | Noble ekibinin minimal, auditable, zero-dependency JS PQC kütüphanesi. Kyber ve Dilithium destekliyor. |
| crystals-kyber-js | Kyber JS implementasyonu, Web Crypto API üzerine inşa edilmiş. |
| dilithium-crystals-js | Dilithium JS implementasyonu, hem Node.js hem browser. |
| hpke-js | Hybrid Public Key Encryption, Web Crypto API üzerinde. |
☕ Java / C# – Kurumsal Dünya için
Artıları: Olgun ekosistem, kurumsal destek, Bouncy Castle ile full PQC desteği.Eksileri: Dilersen diline göre değişir.
| Kütüphane | Ne Yapar |
|---|---|
| Bouncy Castle (Java 1.81+ / C# 2.6.1+) | PQC için en sağlam seçeneklerden biri. Hem Java hem C# için NIST PQC algoritmalarını destekliyor. HQC, Kyber, Dilithium hepsi burada. |
| BC .NET 2.6.1 | C# geliştiriciler için artık PKCS#8 formatında PQC private key desteği var. |
csharp
// NuGet: BouncyCastle.Cryptography
using Org.BouncyCastle.Pqc.Crypto.Frodo;
using Org.BouncyCastle.Pqc.Crypto.Kyber;
📊 Hızlı Karar Tablosu
| İhtiyacın | Dili Seç | Kütüphaneyi Seç |
|---|---|---|
| Öğreniyorum, prototip yapıyorum | Python | liboqs-python veya pqmagic |
| Production'a koyacağım, hız lazım | Rust / C++ | liboqs-rust (deneysel) / liboqs |
| Cloud-native, kolay deployment | Go | Trail of Bits Go libs veya CIRCL |
| Web uygulaması, browser'da çalışacak | TypeScript | @noble/post-quantum |
| Kurumsal uygulama, .NET dünyası | C# | Bouncy Castle .NET 2.6.1 |
| Android / kurumsal Java | Java | Bouncy Castle Java 1.81 |
🛡️ 3. EK GÜVENLİK ÖNLEMLERİ – "PQC Kullandım Oldu" Deme
PQC algoritmaları teoride quantum dirençli olabilir ama gerçek dünyada implementasyon hataları seni bitirir.🚨 Yan Kanal Saldırıları (Side-Channel Attacks) – En Büyük Tehlike
NIST'in seçtiği algoritmalar quantum'a karşı dayanıklı ama güç analizi, zamanlama saldırıları ve hata enjeksiyonu gibi klasik yan kanal saldırılarına karşı otomatik olarak korumalı değil. Örneğin KyberSlash saldırısı, Kyber implementasyonundaki bir zamanlama zafiyetini kullanarak özel anahtarı çalabiliyor.✅ Alman Gereken Önlemler
| Önlem | Ne Demek? | Nasıl Yapılır? |
|---|---|---|
| Constant-time kod | Tüm işlemler aynı sürede bitsin, yoksa "şu işlem daha uzun sürdü → o bit 1'miş" diye anahtar sızdırırsın. | crypto/ altındaki kütüphaneleri tercih et. Kendin yazıyorsan conditional branching'ten kaç, bitwise operation kullan. |
| Rastgelelik (RNG) doğru olsun | Zayıf RNG = kırılgan anahtar. | /dev/urandom kullan. Python'da secrets modülü, Go'da crypto/rand. |
| Hybrid yaklaşım | "Klasik + PQC" birlikte çalışsın. Hem bugün güvende ol, hem yarın. | Önce ECDH ile anahtar üret, sonra Kyber ile, ikisini hash'le. Biri kırılsa diğeri kurtarır. |
| "Shift Left" güvenlik | Güvenlik testlerini geliştirmenin en başına koy. | Implementasyonu yazarken hemen side-channel testleri ekle. Sonra değil. |
| Üçüncü parti denetim | Kendi koduna güvenme. | liboqs, Bouncy Castle gibi denetlenmiş kütüphaneler kullan. |
💻 4. KENDİ ŞİFRELEME PROGRAMINI YAZMAK – Hybrid Kyber + AES-256-GCM
Şimdi işin tekniğine giriyoruz. Aşağıda Python ile çalışan, kopyala-yapıştır yapabileceğin bir hybrid şifreleme örneği var.Nasıl çalışıyor?
- Kyber (ML-KEM) ile quantum-safe bir paylaşımlı gizli (shared secret) üret
- Bu gizliyi bir KDF'den geçirip AES-256 anahtarı oluştur
- Mesajını AES-256-GCM ile şifrele (authenticated encryption)
- Hem Kyber ciphertext'ini hem de AES ciphertext'ini sakla veya gönder
📜 Full Örnek Kod – Hybrid Kyber-512 + AES-256-GCM
python#!/usr/bin/env python3
"""
HYBRID POST-QUANTUM ŞİFRELEME DEMO
Kyber-512 (ML-KEM) + AES-256-GCM
Kuantum sonrası dünyaya hazır ol!
"""
import os
import hashlib
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
import liboqs # pip install liboqs
# 1. Kyber anahtar çifti oluştur
def kyber_keygen():
kem = liboqs.KeyEncapsulation('Kyber-512')
public_key = kem.generate_keypair()
secret_key = kem.export_secret_key()
kem.free()
return public_key, secret_key
# 2. Kyber ile kapsüllenmiş anahtar üret (Alice tarafı)
def kyber_encapsulate(public_key):
kem = liboqs.KeyEncapsulation('Kyber-512')
kem.public_key = public_key
ciphertext, shared_secret = kem.encap_secret()
kem.free()
return ciphertext, shared_secret
# 3. Kyber ile anahtarı aç (Bob tarafı)
def kyber_decap(ciphertext, secret_key):
kem = liboqs.KeyEncapsulation('Kyber-512')
kem.secret_key = secret_key
shared_secret = kem.decap_secret(ciphertext)
kem.free()
return shared_secret
# 4. Shared secret'ten AES-256 anahtarı türet (KDF olarak SHA-256)
def derive_aes_key(shared_secret, salt):
return hashlib.pbkdf2_hmac('sha256', shared_secret, salt, 100000, dklen=32)
# 5. AES-256-GCM ile şifrele
def aes_encrypt(key, plaintext):
aesgcm = AESGCM(key)
nonce = os.urandom(12) # GCM için 12 byte nonce standart
ciphertext = aesgcm.encrypt(nonce, plaintext, None)
return nonce, ciphertext
# 6. AES-256-GCM ile çöz
def aes_decrypt(key, nonce, ciphertext):
aesgcm = AESGCM(key)
return aesgcm.decrypt(nonce, ciphertext, None)
# ------------------ DEMO ------------------
if __name__ == "__main__":
print("🔐 HYBRID POST-QUANTUM ŞİFRELEME DEMO\n")
# Bob: Anahtar çifti oluştur
print("[Bob] Kyber-512 anahtar çifti oluşturuyor...")
bob_pub, bob_priv = kyber_keygen()
# Alice: Bob'un public key'i ile kapsüllenmiş anahtar üret
print("[Alice] Bob'un public key'i ile kapsülleniyor...")
ciphertext, alice_shared = kyber_encapsulate(bob_pub)
# Bob: ciphertext ile shared secret'i çöz
print("[Bob] Ciphertext'i çözüyor...")
bob_shared = kyber_decap(ciphertext, bob_priv)
# Aynı shared secret mi? Kontrol et
assert alice_shared == bob_shared, "Shared secret uyuşmuyor!"
print("[✓] Shared secret başarıyla eşleşti.")
# AES anahtarı türet (salt kullanarak)
salt = os.urandom(16)
aes_key = derive_aes_key(alice_shared, salt)
# Şifrelenecek mesaj
plaintext = b"SELAM DOSTUM! Bu mesaj quantum bilgisayarlara karşı dayanıklı."
print(f"\n[+] Orijinal mesaj: {plaintext.decode()}")
# Şifrele
nonce, aes_ciphertext = aes_encrypt(aes_key, plaintext)
print(f"[+] Şifrelenmiş mesaj (hex): {aes_ciphertext.hex()[:32]}...")
# Çöz
decrypted = aes_decrypt(aes_key, nonce, aes_ciphertext)
print(f"[+] Çözülen mesaj: {decrypted.decode()}")
print("\n✨ Başarılı! Hybrid PQC + AES çalışıyor.")
🧠 Kodun Mantığı – Adım Adım
| Adım | Ne Oluyor? | Neden Önemli? |
|---|---|---|
| Kyber keypair | Bob kendi public/private anahtarını üretiyor. | Public key herkese açık, private key sadece Bob'ta. |
| Kyber encapsulate | Alice Bob'un public key'ini kullanarak bir ciphertext ve shared secret üretiyor. | Ciphertext'i Bob'a gönderecek. |
| Kyber decapsulate | Bob ciphertext'i alıp aynı shared secret'i çıkarıyor. | Quantum-safe anahtar değişimi tamamlandı. |
| AES key derivation | Shared secret'ten SHA-256 ile 32 byte AES anahtarı türetiliyor. | Aynı shared secret'ten aynı anahtar çıkıyor. |
| AES-256-GCM | Mesaj şifreleniyor, authentication da ekleniyor. | Sadece şifreleme değil, bütünlük ve doğrulama da var. |
Not: Bu kod liboqs ve cryptography kütüphanelerini gerektirir. Yüklemek için:
bash
pip install liboqs cryptography
🚀 Go ile Aynı Şey (Trail of Bits Kütüphanesi ile)
Go sevenler için Trail of Bits'in saf Go implementasyonları şu anda en güvenilir seçeneklerden. Örnek kullanım:go
import "github.com/trailofbits/go-ml-dsa"
// ML-DSA (Dilithium) ile imzalama
func signMessage(privateKey []byte, message []byte) []byte {
signature := ml_dsa.Sign(privateKey, message)
return signature
}
🔗 5. ŞİFRELİ MESAJLAŞMA ENTEGRASYONU – Signal/Matrix Tarzı Sistemlere PQC Eklemek
Şimdi işin can alıcı kısmına geliyoruz. Mevcut şifreli mesajlaşma sistemlerine nasıl PQC eklersin?📱 Signal / Matrix / WhatsApp Benzeri Sistemler
Bu sistemler şu anda klasik ECDH + AES kullanıyor. Quantum geldiğinde, geçmiş mesajların tamamı çözülebilir (eğer "Harvest Now, Decrypt Later" yapılıyorsa).Çözüm: Hybrid key exchange.
text
Klasik yöntem: ECDH (X25519) → shared secret
PQC yöntem: ML-KEM (Kyber) → shared secret
Hybrid: shared = SHA-256(ECDH_shared || Kyber_shared)
Böylece:
- ECDH kırılsa bile Kyber sağlam
- Kyber'de zafiyet çıksa ECDH sağlam
- İkisi birden kırılmadıkça mesajlar güvende
🧩 Entegrasyon Stratejileri
| Strateji | Nasıl? | Kullanım Alanı |
|---|---|---|
| Dual key exchange | Her iki algoritmayı da çalıştır, sonuçları birleştir. | En güvenli, en çok işlem gücü ister. |
| PQ-only | Sadece Kyber kullan. | Riskli (PQC henüz yeterince test edilmedi). |
| Kademeli geçiş | Önce hibrit, birkaç yıl sonra PQ-only. | NSA/CISA'nın önerdiği yol. |
🔧 Pratik Entegrasyon Adımları (Signal benzeri sistem için)
- Protocol katmanında mesaj yapısına pq_ciphertext field'ı ekle
- Key Agreement sırasında hem X25519 hem Kyber çalıştır
- Ratchet (Double Ratchet) mekanizmasını PQC ile güncelle
- Prekey bundle içine hem klasik hem PQC public key'leri koy
⚠️ Uyarı: liboqs ve benzeri kütüphaneler hala deneysel aşamada. PRODUCTION'da kullanmadan önce mutlaka uzman denetiminden geçir.
📺 6. VİDEO KAYNAKLARI – İzleyerek Derinleş
Kimse uzun yazı okumak istemez. İşte güncel, kaliteli video içerikleri:| Video | Ne Anlatıyor? | Link |
|---|---|---|
| NIST PQC Standards and Implementation Update | NIST uzmanları Andrew Regenscheid ve Bill Newhouse ile 2024'te yayınlanan FIPS 203/204/205 standartlarının detaylı analizi. 2025 webinar. | Class Central |
| Post-Quantum Cryptography Explained | Security engineer'lar için pratik, non-matematiksel PQC giriş. Kyber, Dilithium, hybrid sistemler ve migration stratejileri. 2026. | Cryptography101.ca |
| Post-Quantum Cryptography for 2025 | BSides London'dan quantum tehdidine hazırlık konuşması. 2026. | Class Central / BSides |
| Warsaw IACR Summer School on PQC | Akademik seviyede PQC dersleri – matematik isteyenler için. 2025. | IDEAS NCBR YouTube |
| IDEMIA PQC Implementation Teaser | Gerçek dünyada PQC implementasyonu yapanların deneyimleri. | YouTube |
| The Mathematics of Lattice-Based Cryptography | Alfred Menezes'in lattice tabanlı kriptografi dersleri. Kyber ve Dilithium'un matematik temelleri. | AnilKeshwani.github.io |
| Trail of Bits: Post-Quantum Go Libraries | Go ile side-channel-safe PQC implementasyonu yapmanın incelikleri. 2025. | Trail of Bits Blog |
🧩 7. ÖZET – Unutma Bunları
| Ne Yapacaksın? | Nasıl Yapacaksın? |
|---|---|
| Bugün başla | PQC'yi "yarın" düşünme. Hybrid yaklaşımla bugünden entegre et. |
| Hybrid kullan | Klasik + PQC birlikte çalışsın. Birinin kırılması diğerini kurtarsın. |
| Doğru kütüphaneyi seç | Python'da liboqs, C#/Java'da Bouncy Castle, Go'da Trail of Bits, JS'de @noble. |
| Yan kanallara dikkat | Constant-time kod, doğru RNG, "shift left" güvenlik. |
| Takip et | NIST duyurularını, liboqs güncellemelerini, CVE'leri izle. |
| Denetimden geçir | Kendi yazdığın koda güvenme. Profesyonel denetim şart. |
🎯 Vizyon
Bu rehberde anlattıklarımı uygulayan biri, yarının kripto apokalipsinde çıplak kalmayacak. Hybrid şifreleme kullan, doğru kütüphaneleri seç, yan kanal saldırılarına karşı önlem al. Gerisi teferruat."Kuantum bilgisayar gelince ne olacak?" diye sorma. "Ben bugün ne yapabilirim?" diye sor.
Unutma: Savunması olmayanın saldırısı, sadece intihardır. Şimdi kalk ve bu yazdıklarımı bir kenara not et. Gölgelerde kalmak istiyorsan, kuantum ışığını asla üzerine çekmeyeceksin.
Bu rehber, eğitim ve farkındalık amaçlıdır. Tüm sorumluluk kullanıcıya aittir. Kendi sistemlerinde test et, izinli ortamlarda dene, yasal sınırları aşma.
Son güncelleme: Nisan 2026 – NIST FIPS 203/204/205 ve HQC standardizasyonu dahildir.
💬 SpyHackerz Telegram — Anlık tartışmalar ve duyurular için katıl