| category | ctf |
| name | crypto-category-tools |
| description | Crypto kategori SKILL.md — RSA, ECC, AES, hash, encoding saldırıları için gerekli araçları kurma rehberi |
| tags | ["ctf","crypto","tools","setup","pycryptodome","gmpy2","sympy"] |
| adapted_for | fetih |
Crypto Kategorisi — Gerekli Araçlar
Crypto challenge'larında kullandığımız tüm araçlar ve kurulum yöntemi.
Gerekli Araçlar
Bu kategorideki skill'leri kullanabilmek için aşağıdaki araçlar gerekli:
| Araç | Açıklama | Kurulum |
|---|
| pycryptodome | Kripto kütüphanesi (AES, RSA, DES vb.) | pip install pycryptodome |
| gmpy2 | GMP Python binding — RSA saldırıları | pip install gmpy2 |
| sympy | Sembolik matematik — faktörizasyon, polinomlar | pip install sympy |
| fpylll | LLL lattice reduction — Boneh-Durfey, Coppersmith | pip install fpylll |
| padding-oracle | Padding oracle saldırı kütüphanesi | pip install padding-oracle |
Araçları Hızlı Kur
Tüm crypto araçlarını bir komutla kur:
fetih download-tools crypto
Bu komut:
- Gerekli araçların kurulu olup olmadığını kontrol eder
- Eksik olanları otomatik yükler
- Python kütüphaneleri için
pip, uv pip veya pipx kullanır
Araçlar Kurulu mu Kontrol Et
fetih download-tools status
fetih download-tools status | grep -A 10 "CRYPTO"
python3 -c "import Crypto, gmpy2, sympy, fpylll, padding_oracle; print('Tüm araçlar kurulu')"
Her Araç Neye Yarar?
pycryptodome
Kripto algoritmaları — AES, DES, RSA, ECC, hash fonksiyonları
Skill'lerde kullanılır:
crypto/aes-cbc-bitflip — AES-CBC mode işlemleri
crypto/aes-gcm-nonce-reuse — AES-GCM şifrele/çöz
crypto/rsa-* — RSA modül işlemleri
from Crypto.Cipher import AES, RSA
from Crypto.Hash import SHA256
gmpy2
Büyük sayı matematik — RSA faktörizasyon, modüler işlemler
Skill'lerde kullanılır:
crypto/rsa-wiener-attack — Wiener saldırısı için gcd
crypto/rsa-common-modulus — Extended GCD
crypto/lattice-attacks — Lattice reduction
import gmpy2
p, q = gmpy2.gcd(n1, n2), n1 // gmpy2.gcd(n1, n2)
sympy
Sembolik matematik — faktörizasyon, polinom çözme
Skill'lerde kullanılır:
crypto/lattice-attacks — Boneh-Durfey / Coppersmith
crypto/rsa-close-primes — n = pq veya n = pq*r şekillerinde faktörizasyon
crypto/z3-constraint-solving — Denklem sistemi çözme
from sympy import factorint, symbols, solve
fpylll
LLL lattice reduction algoritması — yüksek boyutlu saldırılar
Skill'lerde kullanılır:
crypto/lattice-attacks — Boneh-Durfey CVE
crypto/elliptic-curve-attacks — ECC discrete log
from fpylll import IntegerMatrix, LLL
padding-oracle
Padding oracle saldırı — AES-CBC padding hatalarından yararlanma
Skill'lerde kullanılır:
crypto/rsa-padding-oracle — Oracle-based RSA decryption
Kurulum Sorunları Çözme
"No module named 'gmpy2'"
gmpy2 native extension gerektirir — build tools yükle:
sudo apt-get install -y libgmp3-dev libmpfr-dev libmpc-dev
pip install gmpy2
"No module named 'fpylll'"
fpylll de native extension gerektirir:
sudo apt-get install -y libfplll-dev
pip install fpylll
pip install başarısız
uv kullan:
uv pip install pycryptodome gmpy2 sympy fpylll padding-oracle
Hızlı Test Scripti
Tüm araçların kurulu olduğunu test et:
python3 << 'EOF'
try:
import Crypto
import gmpy2
import sympy
import fpylll
import padding_oracle
print("✓ Tüm crypto araçları kurulu!")
except ImportError as e:
print(f"✗ Eksik araç: {e}")
print("Çözüm: fetih download-tools crypto")
EOF
Notlar
- pycryptodome, sympy, padding-oracle → pure Python, hızlı kurulur
- gmpy2, fpylll → native extension, build tools gerekli
- Her skill başında araç kontrolü ve kurulum önerisi olur
- Linux-only kurulum (Windows/macOS desteklenmez şu an)