So che i sali proteggono dalle tabelle arcobaleno, e so anche che l'hashing di una password un certo numero di volte aumenta la forza della crittografia, con un numero di volte maggiore di hashing.
Ma i sali e gli hash sono davvero necessari se hai una chiave veramente casuale e non una password inserita da un utente? Ad esempio, supponiamo che la password sia una stringa "ridicola" di caratteri casuali stampabili (o meglio ancora, puramente binari), ad esempio 256 byte casuali per un codice AES256.
È importante come viene usato il codice? Ad esempio, un uso potrebbe essere quello di crittografare il contenuto di un file con la chiave casuale, e un altro potrebbe essere quello di usarlo come un codice di flusso per crittografare un tipo di comunicazione. Supponiamo in tutti i casi che oltre a essere casuale, la chiave stessa sia sicura (ad esempio non viene mai trasmessa su un canale non sicuro).