No hay ningún problema conocido con la reutilización de la sal utilizada en PBKDF2 para el IV del cifrado CBC, y sería un poco sorprendente si tuviera un impacto porque la sal ingresa como entrada para las funciones hash , y la salida se utiliza como clave para el cifrado de bloque. Por lo tanto, hay "dos capas" entre la sal y la IV. Sin embargo, las sorpresas ocurren a veces. La reutilización de cualquier elemento de datos para dos roles es, como regla básica, potencialmente peligroso.
Dado que PBKDF2 es una Función de Derivación de Clave que puede producir una salida de longitud arbitraria, parece más seguro simplemente hacerlo generar la clave y el IV. Eso es lo que se suele hacer en estos asuntos.
De forma alternativa, si la clave obtenida de la contraseña y el archivo de sal se usará solo para un archivo uno , entonces usted podría usar un IV convencional fijo (los problemas con IV en CBC comienzan en el segundo uso de la clave, por lo que tolera un IV todo a cero si y solo si la clave se usa solo una vez). Aún sería mejor reemplazar el CBC con un modo de cifrado autenticado como EAX o GCM , que tiene menos restricciones en IV (con EAX o GCM, es "obvio" que un IV convencional no es un problema, siempre y cuando la clave se use una vez) y le dará integridad además de la confidencialidad.