Antecedentes: estoy trabajando con la biblioteca crypto de Node. Estoy usando PBKDF2 para convertir una "frase de contraseña" binaria de longitud variable en claves de longitud constante para un cifrado AES más adelante.
La fuente subyacente de esta frase de contraseña, por razones fuera de mi control, está codificada con base64. Por costumbre, decodifico la frase de contraseña de nuevo a binario antes de suministrarla a PBKDF2. Pero eso me hizo pensar ... La codificación Base64 hace que la frase de contraseña sea más larga, pero con un conjunto de caracteres más limitado. En aplicaciones prácticas, ¿esto haría que los datos sean mejores o peores como entrada para PBDKF2?
Dicho de otra manera, si se le da una opción entre:
key = pbkdf2(binaryPassphrase)
... versus ...
key = pbkdf2(base64encode(binaryPassphrase))
... ¿hay alguna diferencia en la seguridad ofrecida?