| name | crypto-analysis |
| description | Breaks cryptographic systems and decrypts ciphertext. Use when working with RSA, AES, XOR, classical ciphers, hash functions, or when challenge involves encryption, decryption, keys, or mathematical crypto attacks. |
| allowed-tools | Bash, Read, Write, Grep, Glob |
Crypto Analysis Skill
Quick Workflow
Progress:
- [ ] Try Ciphey auto-decrypt first
- [ ] Identify crypto type (RSA/AES/XOR/classical)
- [ ] Check for known weaknesses
- [ ] Implement attack
- [ ] Decrypt flag
Step 1: Auto-Decrypt (Try First!)
ciphey -t "ENCODED_TEXT" # Auto-detects and decrypts
ciphey -f encrypted.txt # From file
Step 2: Identify Crypto Type
RSA Attack Decision Tree
├── e small (≤5)? → Direct eth root
├── e very large? → Wiener's Attack
├── Multiple n,e,c? → Hastad's Broadcast
├── Same n, diff e? → Common Modulus
├── GCD(n1,n2) > 1? → Common Factor
├── p ≈ q? → Fermat Factorization
├── dp/dq leaked? → Partial Key Recovery
└── Default → FactorDB / yafu
Full implementations: reference/rsa-attacks.md
Quick Commands
# Auto-decrypt
ciphey -t "text"
# XOR analysis
xortool encrypted.bin
xortool -c 20 encrypted.bin # Expect spaces
# Factor large n
yafu "factor(<n>)"
# RSA tool
python3 RsaCtfTool.py -n <n> -e <e> --uncipher <c>
# Lattice (SageMath)
sage solve.sage
Reference Files
- RSA Attacks: Small e, Wiener, Hastad, Common Modulus, Fermat, FactorDB
- AES Attacks: ECB detection, CBC flip, Padding Oracle
- Classical/XOR: Ciphey, xortool, frequency analysis, Vigenère
- Lattice: Coppersmith, LLL, HNP