I have n secrets to hide, my goal is to remember only a seed and derive them from the seed. Is this a safe aproach?
Calculate n keys:
k(1) = seed XOR secret(1) ... k(n) = seed XOR secret(n)
Store these keys in an apllication, asking the user for a seed and compute the secrets using XOR.
The user will get a result even using a wrong seed and he doesn't know if he got the correct secrets.
What are the cons in storing these keys in a place where anyone can possibly look at?
Edit: based on replies and further readings I did something like this:
- Use the seed as a password for a PBKDF2 to generate an AES key and IV
- Write the secrets in JSON format
- Encrypting the JSON text with AES key and IV generated from the seed
- Ciphertext is stored inside the application
- The seed is used as an input to compute the key and IV at runtime
Any other thought would be appreciated