---
name: analyzing-crypto-weakness
description: Identifies weak cryptographic algorithms, hardcoded keys, and insecure key management practices in binary code. Use when analyzing encryption/decryption, authentication mechanisms, or reviewing cryptographic implementations.
---

# Cryptographic Weakness Detection

## Detection Workflow

1. **Identify cryptographic functions**: Search for crypto-related function names, encryption/decryption operations, hash function usage
2. **Extract crypto parameters**: Identify algorithms used, check key sizes and modes, examine IV/nonce handling
3. **Check for hardcoded secrets**: Use `strings` to find potential keys, search for common password/key patterns, analyze data sections for secrets
4. **Assess implementation security**: Check for constant-time comparisons, verify proper padding, assess randomness of IVs/nonces

## Key Patterns

- Weak algorithms: DES, 3DES, RC4, MD5, SHA1, ECB mode, small key sizes (<128 bits)
- Hardcoded secrets: passwords/passphrases, keys, IVs/nonces, magic numbers
- Insecure key management: keys embedded in code, plaintext storage, weak RNG, reused IVs/nonces
- Implementation issues: timing attacks, side-channel vulnerabilities, incorrect padding, missing authentication

## Output Format

Report with: id, type, subtype, severity, confidence, location, algorithm, mode, key_size, issues, recommendation, cve_references, mitigation.

## Severity Guidelines

- **CRITICAL**: Hardcoded private keys or passwords
- **HIGH**: Broken algorithms (DES, RC4) in security-critical code
- **MEDIUM**: Weak algorithms in non-critical code
- **LOW**: Minor crypto implementation issues

## See Also

- `patterns.md` - Detailed detection patterns and exploitation scenarios
- `examples.md` - Example analysis cases and code samples
- `references.md` - CWE references and mitigation strategies