🔐 KRAL YOLU: KRİPTO PROTOKOL TİER LİST Şifreleme dünyası, güvenlik ile performans arasında yapılan sonsuz bir savaştır. Her protokolün bir "işi" vardır ve doğru aracı doğru...

🔐 KRAL YOLU: KRİPTO PROTOKOL TİER LİST​


Şifreleme dünyası, güvenlik ile performans arasında yapılan sonsuz bir savaştır. Her protokolün bir "işi" vardır ve doğru aracı doğru iş için seçmek, siber güvenliğin en kritik becerilerinden biridir. Bu rehberde, sohbet uygulamalarından dosya depolamaya, veritabanından ağ/VPN'ye kadar 4 ana kategoride en iyi 20+ şifreleme protokolünü karşılaştıracak, nerede kullanılacağını, hangi kütüphanelerin işe yaradığını ve nasıl kodlanacağını anlatacağım.


🧠 BÖLÜM 1: KRİPTO DÜNYASININ İYİ KATEGORİLERİ​


🎯 1. SOHBET UYGULAMALARI (E2EE)​


🏆 TİER LİST​



TierProtokolKullanan UygulamalarGüçlü YönleriZayıf Yönleri
SSignal ProtocolSignal, WhatsApp, Google MessagesX3DH + Double Ratchet ile ileri gizlilik (forward secrecy) ve sonradan gizlilik (post-compromise security) sağlar. 2025'te SPQR (Sparse Post-Quantum Ratchet) ile kuantum sonrası güvenliğe hazır hale geldiKarmaşık implementasyon
SNoise Protocol FrameworkWireGuard, WhatsApp, SlackModüler yapısıyla özelleştirilebilir, aynı framework hem messaging hem VPN'te çalışırDoğru pattern seçimi kritik
AOMEMOConversations (XMPP)Signal Protocol'ün XMPP'ye uyarlanmış hali, çoklu cihaz desteğiXMPP dışında yaygın değil
AMatrix/MegolmElement (Matrix)Oda tabanlı çoklu katılımcılı sohbetler için optimize edilmişBire bir sohbetler için ağır
BOTRv3Pidgin, JabberEski ama sağlam, basit yapısıyla anlaşılması kolayÇoklu cihaz desteği yok, eski

💾 2. DOSYA DEPOLAMA VE SAKLAYICILAR​



TierAraç / ProtokolKullanım AlanıGüçlü YönleriZayıf Yönleri
SVeraCryptFull disk / containerAES-256, Serpent, Twofish kombine edilebilir. On-the-fly şifreleme, hidden volume, açık kaynakKullanımı karmaşık, mobil desteği zayıf
SageDosya / pipelineBasit, minimalist, tek binary. SSH key ile çalışır, stream edilebilirGUI yok
ACryptomatorCloud storage (Google Drive, Dropbox)Client‑side şifreleme, dosya adı şifreler, ECDH + ECDSA ile anahtar değişimiÜcretsiz sürümde mobil uygulama ücretli
AKryptorDosya / klasörage'in gelişmiş versiyonu, imzalama desteği, daha modernDaha az tanınır
B7‑Zip (AES‑256)Ad‑hoc arşivlemeHer yerde var, kullanımı kolayYalnızca arşiv bazlı, metadata sızdırabilir

🗄️ 3. VERİTABANI ŞİFRELEME​



TierYöntem / AraçKullanım AlanıGüçlü YönleriZayıf Yönleri
SApplication‑layer + TDEKritik veri (sütun düzeyi)En yüksek güvenlik, HSM/KMS ile anahtar yönetimiPerformans yükü, geliştirme maliyeti
STransparent Data Encryption (TDE)Tüm veritabanı (MySQL, MSSQL, MongoDB)Uygulamaya şeffaf, performans kaybı minimalAnahtar yönetimi kritik
ASQLCipherSQLite tabanlı uygulamalarAES‑256 ile sayfa düzeyinde şifreleme, açık kaynakSadece SQLite için
AMongoDB Queryable EncryptionMongoDB (7.0+)Kısmi alanlarda sorgulama yaparken bile şifreli kalırYalnızca MongoDB Enterprise
BColumn‑level encryption (AES‑CBC)Belirli hassas sütunlarEsnek, hedefli şifrelemeIndex performansını düşürür

📡 4. AĞ / VPN​



TierProtokolKullanan UygulamalarGüçlü YönleriZayıf Yönleri
SWireGuardMullvad, ProtonVPN, TailscaleNoise Framework tabanlı, 4.000 satır kod, 3‑4 kat daha hızlı (1,011 Mbps), CPU tüketimi OpenVPN'in %15'iIP adresleri sabit, yapılandırması az
AIPsec/IKEv2Kurumsal VPN, macOS, iOS3‑5 Gbps (kernel mode), geniş uyumlulukKarmaşık konfigürasyon (9 paket el sıkışma)
AOpenVPN (AES‑256‑GCM)Çoğu ticari VPN1.2‑1.6 Gbps çekirdek başına, en esnek yapılandırmaWireGuard'dan %40‑50 daha yavaş
BOpenVPN (ChaCha20‑Poly1305)Eski mobil cihazlar, yazılım AES desteği olmayanlarAES‑NI yoksa daha hızlı, doğal yan kanal direnciModern donanımda AES‑GCM'den yavaş

⚙️ BÖLÜM 2: KÜTÜPHANELER VE KURULUM (5 DİL)​

🐍 PYTHON​



KütüphaneNe İşe YararKurulumKod İçinde Kullanma (Mini Örnek)
cryptographyYüksek seviyeli AES‑GCM, ChaCha20, X.509, Fernetpip install cryptographyfrom cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
PyCryptodomeDüşük seviyeli primitifler (AES, RSA, SHA). PyCrypto'nun aktif devamıpip install pycryptodomefrom Crypto.Cipher import AES
pynaclNaCl portu. SecretBox (authenticated encryption), Sign, Boxpip install pynaclfrom nacl.secret import SecretBox
Örnek: AES‑256‑GCM (cryptography)

python
import os
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend

key = os.urandom(32) # 256 bit key
nonce = os.urandom(12)
cipher = Cipher(algorithms.AES(key), modes.GCM(nonce), backend=default_backend())
encryptor = cipher.encryptor()
ciphertext = encryptor.update(b"Selam") + encryptor.finalize()
print(ciphertext)

🦀 RUST​



KütüphaneNe İşe YararKurulumKod İçinde Kullanma (Mini Örnek)
RustCrypto (traits)Ekosistem (aes‑gcm, chacha20poly1305, ed25519)cargo add aes-gcmuse aes_gcm::{Aes256Gcm, Key, Nonce};
ringBoringSSL tabanlı, hızlı ve güvenlicargo add ringuse ring::aead::{UnboundKey, SEAL};
orionKullanımı kolay high‑level APIcargo add orionuse orion::aead::secret_box::SealedBox;
Örnek: ChaCha20‑Poly1305 (RustCrypto)

rust
use chacha20poly1305::{ChaCha20Poly1305, Key, Nonce};
use chacha20poly1305::aead::{Aead, KeyInit};

let key = Key::from_slice(b"an example very very secret key."); // 32 bytes
let cipher = ChaCha20Poly1305::new(key);
let nonce = Nonce::from_slice(b"unique nonce"); // 12 bytes
let ciphertext = cipher.encrypt(nonce, b"Selam").unwrap();

🐹 GO​



KütüphaneNe İşe YararKurulumKod İçinde Kullanma (Mini Örnek)
crypto/aes + crypto/cipherStandart kütüphane AES‑GCM, en hızlı seçenek (2.1 GB/s)import "crypto/aes"block, _ := aes.NewCipher(key)
golang.org/x/crypto/chacha20poly1305ChaCha20‑Poly1305, x/crypto altındago get golang.org/x/crypto/chacha20poly1305import "golang.org/x/crypto/chacha20poly1305"
crypto/ed25519Ed25519 imzalarimport "crypto/ed25519"pub, priv, _ := ed25519.GenerateKey(rand.Reader)
Örnek: AES‑256‑GCM (standart kütüphane)

go
package main

import (
"crypto/aes"
"crypto/cipher"
"crypto/rand"
"io"
)

func main() {
key := make([]byte, 32) // 256 bit
io.ReadFull(rand.Reader, key)
block, _ := aes.NewCipher(key)
gcm, _ := cipher.NewGCM(block)
nonce := make([]byte, gcm.NonceSize())
io.ReadFull(rand.Reader, nonce)
ciphertext := gcm.Seal(nil, nonce, []byte("Selam"), nil)
}

📜 JAVASCRIPT (NODE.JS)​



KütüphaneNe İşe YararKurulumKod İçinde Kullanma (Mini Örnek)
crypto (built‑in)Node.js standart AES‑GCM, ChaCha20, HKDFconst crypto = require('crypto')crypto.createCipheriv('aes-256-gcm', key, iv)
libsodium‑wrappersNaCl'in WebAssembly portu, SecretBox, generichashnpm install libsodium-wrappersawait sodium.ready; const box = sodium.crypto_secretbox_easy(msg, nonce, key);
tweetnaclKüçük, kendi kendine yeten NaClnpm install tweetnaclnacl.secretbox(message, nonce, key)

⚛️ JAVASCRIPT (WEB)​



KütüphaneNe İşe YararKurulumKod İçinde Kullanma (Mini Örnek)
Web Crypto APITarayıcı AES‑GCM, RSA‑OAEP, ECDHBuilt‑inwindow.crypto.subtle.encrypt({ name: "AES-GCM", iv }, key, data)
libsodium‑wrappersNaCl'in WebAssembly portunpm install libsodium-wrappersawait sodium.ready; const box = sodium.crypto_secretbox_easy(...);

🧩 BÖLÜM 3: PROTOKOL DERİNLEMESİ (NEDEN S?)​

🔐 1. Signal Protocol (S Tier)​

Signal Protocol, modern güvenli iletişimin temelidir. WhatsApp, Google Messages ve Signal'in kendisi tarafından kullanılır. Çalışma prensibi:

  • X3DH (Extended Triple Diffie‑Hellman): İlk anahtar değişimini yapar, asenkron çalışır (çevrimdışı bile olsa bağlantı kurulabilir).
  • Double Ratchet: Her mesajda anahtarı değiştirir. İleri gizlilik (geçmiş mesajlar çözülemez) ve sonradan gizlilik (ele geçirilse bile sonraki mesajlar güvende) sağlar.
  • SPQR (Sparse Post‑Quantum Ratchet): 2025'te eklendi. Geleneksel Double Ratchet ile yeni Post‑Quantum Ratchet paralel çalışır, mesaj anahtarları hem EC hem ML‑KEM (eski adıyla Kyber) ile oluşturulup birleştirilir. Kuantum bilgisayarlara karşı dayanıklıdır.
Kütüphane: libsignal-protocol (Rust), libsignal-client (Java/Swift)


🎲 2. Noise Protocol Framework (S Tier)​

Noise, herhangi bir DH fonksiyonu ve hash üzerine inşa edilebilen modüler bir framework'tür. WireGuard, WhatsApp ve Slack tarafından kullanılır.

Çalışma prensibi: İki tarafın kimlik anahtarlarını (statik) ve geçici anahtarlarını (ephemeral) nasıl birleştireceğini belirten el sıkışma pattern'leri tanımlar. Örneğin WireGuard'ın kullandığı IK pattern:

text
IK pattern:
-> e
<- e, ee, s, es
-> s, se
Kütüphane: snow (Rust), noise (Go), noise-c (C)


🛡️ 3. AES‑256‑GCM (S Tier)​

Advanced Encryption Standard (AES), simetrik şifrelemenin tartışmasız kralıdır. GCM (Galois/Counter Mode) hem şifreler hem de kimlik doğrulama (authentication) sağlar.

  • Donanım hızlandırmalı (AES‑NI) CPU'larda 1.2‑1.6 Gbps çekirdek başına hız.
  • 256‑bit anahtar, kuantum sonrası bile güvenli kabul edilir.
  • AES‑128 ile arasında pratikte %40 performans farkı vardır.
  • AES‑XTS (disk şifreleme için, örneğin BitLocker) kullanılır.
Kütüphaneler: OpenSSL, cryptography (Python), ring (Rust), crypto/aes (Go)


🌿 4. ChaCha20‑Poly1305 (S Tier – Yazılım AES desteği olmayan ortamlar)​

ChaCha20 bir akış şifresidir; Poly1305 ise bir evrensel hash işlevidir. Birlikte authenticated encryption sağlarlar.

  • AES‑NI olmayan cihazlarda (eski telefonlar, gömülü sistemler) AES‑GCM'den çok daha hızlı.
  • Doğal olarak sabit zamanlı çalışır, yan kanal saldırılarına karşı daha dayanıklıdır.
  • TLS 1.3, WireGuard ve OpenVPN tarafından da desteklenir.
Kütüphaneler: libsodium, cryptography (Python), ring (Rust), x/crypto/chacha20poly1305 (Go)


🧬 5. WireGuard (S Tier – Ağ/VPN)​

WireGuard, Noise Framework üzerine inşa edilmiş 4.000 satır kodluk minimalist bir VPN protokolüdür.

  • ChaCha20‑Poly1305 şifreleme, Curve25519 anahtar değişimi, BLAKE2 hash kullanır.
  • 4‑paket el sıkışma (IPsec'te 9 paket), 3‑4 kat daha yüksek verim (1,011 Mbps), CPU tüketimi OpenVPN'in %15'i.
  • Sabit IP adresleri, roaming desteği, kriptografik anahtar yönlendirme.
Kütüphane: wireguard‑go (Go), wireguard‑rs (Rust), kernel modülü (C)


📚 BÖLÜM 4: BONUS – KRİPTO BEST PRACTICES​



KuralAçıklama
Donanım hızlandırma varsa AES‑256‑GCM kullanAES‑NI destekli CPU'larda en hızlı ve endüstri standardı
Yazılım AES yoksa ChaCha20‑Poly1305 kullanEski mobil cihazlarda, gömülü sistemlerde, kısıtlı donanımda
Key size önemliAES‑128 yeterli, AES‑256 daha güvenli. Performans farkı donanım hızlandırmayla minimum
Nonce'i asla tekrar kullanmaGCM'de nonce tekrarı felaket doğurur (anahtar sızdırır). Her şifreleme için rastgele nonce üret
Authenticated encryption (AEAD) şartGCM ve ChaCha20‑Poly1305 gibi AEAD modları hem şifreler hem de kimlik doğrular. Ayrıca MAC'e gerek yok
Kuantum sonrasına hazırlanSignal'in SPQR veya X25519 + ML‑KEM gibi hibrit şemalar kullan
Kütüphane seçimiHigh‑level işler için cryptography (Python), ring (Rust), crypto/aes (Go). Low‑level kontrol gerekiyorsa PyCryptodome

🔚;​

Her protokolün bir işi vardır. Sohbet ediyorsan Signal Protocol, VPN kuruyorsan WireGuard, dosya şifreliyorsan age veya VeraCrypt, veritabanı koruyorsan TDE + application‑layer kullan. Doğru aracı doğru yerde kullanmak, güvenliğin yarısıdır. Kuantum sonrası güvenlik artık "bir gün" değil, "bugün" meselesidir. Yeni sistemlerinizi hibrit şemalarla (klasik + PQC) tasarlayın. Gerisi teferruat.


@Tc4dy | github.com/tc4dy

Bu rehber, eğitim ve farkındalık için yazılmıştır.
 
💬 SpyHackerz Telegram — Anlık tartışmalar ve duyurular için katıl
133,182Konular
3,281,256Mesajlar
318,708Kullanıcılar
Mrx.zoSon Üye
Üst Alt