Comincio dicendo che sono abbastanza nuovo per la crittografia e sono piuttosto brutto nel trovare punti deboli in tutto.
Detto questo, mi piacerebbe parlare di un enorme dubbio che vorrei chiarire prima di finire a fare qualcosa di sbagliato in pratica: una cosa che ho imparato studiando i metodi di crittografia a chiave simmetrica come AES è che i sali sono dio . Dovresti sale, sale e sale. E capisco che è davvero utile bloccare gli attacchi del dizionario arcobaleno e va bene. Tuttavia, da quello che ho ottenuto, tutti gli esempi stavano parlando di casi in cui stai crittografando la password di un utente, che di solito sono parole conosciute o simili.
Supponiamo ora uno scenario avanzato: ho un sistema di comunicazione ibrido che utilizza un sistema di comunicazione ibrido RSA (asimmetrico) e aes (simmetrico) tra client e un server in cui:
-il server possiede una chiave privata RSA, i client possiedono la parte pubblica
quando un cliente vuole stabilire una connessione, lo fa:
1 - genera una chiave simmetrica casuale
2 crittografarlo con la chiave RSA pubblica
3-inviarlo al server
4: il server legge la chiave cifrata con la chiave privata
5-ora entrambi i sistemi hanno una chiave simmetrica che ovviamente sarà monouso , che non è mai stata trasmessa in chiaro e può comunicare con la velocità di aes
Quindi la domanda è: in uno scenario del genere, è davvero degno di sale la chiave simmetrica aes prima di inviarlo al server nel punto 3? Perché prima è casuale, in secondo luogo è monouso, il terzo per quanto ne so non c'è modo che un hacker possa fare molto senza conoscere la chiave privata. E comunque la password finale inviata è qualcosa che sarà comunque un insieme casuale di caratteri, proprio come la chiave non salata.
O c'è uno scenario in cui potrebbe essere utile?