Salt (Cryptographic)
Definition
A salt is random data added to input before hashing, preventing precomputation attacks like rainbow tables. Each user gets a unique salt, so identical passwords produce different hashes. Salting remains essential for password hashing in both classical and post-quantum systems.
Technical Explanation
Without salt: attackers precompute hashes for common passwords (rainbow tables). With salt: each password needs individual attack—precomputation becomes impractical. Salts are stored alongside hashes (not secret, just unique).
Salt requirements: unique per password, sufficient length (128+ bits), generated from cryptographic RNG. Post-quantum: salting practices unchanged. Grover's algorithm speeds up brute-force but doesn't help with precomputation—salts remain effective.
SynX Relevance
SynX wallet encryption uses salted password hashing (Argon2id with unique salts). Even if two users choose identical passwords, their wallet encryption keys differ. Salt generation uses cryptographic randomness, preventing any precomputation attack on encrypted wallets.
Frequently Asked Questions
- Do I need to remember my salt?
- No—salts are stored with the encrypted data. They're unique, not secret.
- How long should salts be?
- 128 bits (16 bytes) minimum. SynX uses adequate salt lengths for all password operations.
- Is salt different from pepper?
- Pepper is a secret added alongside salt. Salt is public/unique; pepper is secret/global.
Uniquely salted password protection. Secure wallet encryption with SynX