Durante mi aplicación de cifrado tengo el bit de creación de contraseña:
PBEKeySpec spec = new PBEKeySpec(password.toCharArray(), salt, 10000, keyLength);
y más adelante en la parte de cifrado real:
cipher.init(Cipher.ENCRYPT_MODE, secret, ivSpec);
El vector de inicialización necesita bytes aleatorios, la sal necesita bytes aleatorios, ¿puedo usar los mismos bytes aleatorios (criptográficamente seguros) para la sal y la IV o eso debilitaría el cifrado de alguna manera? - Haría un poco más fácil el almacenamiento si pudiera.
No estoy hablando de reutilizar el IV o el sal en múltiples mensajes, para cada mensaje separado se generaría una nueva matriz de bytes, pero podría duplicar cada mensaje individual y usar los mismos bytes recién generados para ambos mensajes. la sal + la IV?
EG:
Mensaje 1: bytes aleatorios = h6ds .... Salt = h6ds / IV = h6ds
Mensaje 2: bytes aleatorios = djs9 .... Salt = djs9 / IV = djs9
Mensaje 3: bytes aleatorios = 9sdf .... Salt = 9sdf / IV = 9sdf
... y así sucesivamente