Sé que las sales protegen contra las tablas del arco iris, y también sé que el hashing de una contraseña un cierto número de veces aumenta la fuerza del cifrado, con más veces que sea mejor el hashing.
¿Pero realmente se necesitan sales y hashes si tiene una clave verdaderamente aleatoria y no una contraseña ingresada por un usuario? Por ejemplo, supongamos que la contraseña es una cadena "ridículamente" de caracteres imprimibles aleatorios (o, mejor aún, simplemente binarios), por ejemplo, 256 bytes aleatorios para un cifrado AES256.
¿Importa cómo se utiliza el cifrado? Por ejemplo, un uso podría ser cifrar el contenido de un archivo con la clave aleatoria, y otro podría ser usarlo como un cifrado de flujo para cifrar algún tipo de comunicación. Supongamos que, en todos los casos, además de ser aleatorios, la clave es segura (por ejemplo, nunca se transmite en un canal no seguro).