I commenti in questa domanda discutono sulla maggiore sicurezza della crittografia a più livelli. Sembra esserci qualche disaccordo e ho pensato che una domanda corretta sarebbe stata utile qui.
Quindi, per fornire un background comune, considera i seguenti due scenari:
-
Applico la crittografia simmetrica a un dato file, come segue:
gpg --symmetric --cipher-algo AES256 my_file.txt
a cui aggiungo la password "mydogisamazing"
-
Applico quattro livelli di crittografia a un dato file, come segue:
gpg --symmetric --cipher-algo AES256 my_file.txtgpg --symmetric --cipher-algo AES256 my_file .txt.gpggpg --symmetric --cipher-algo AES256 my_file.txt.gpg.gpggpg --symmetric --cipher-algo AES256 my_file.txt.gpg.gpg.gpg
dove le password fornite a ciascuno sono, rispettivamente: "stupefacente" "è" "cane" "mio" (quindi, quando decifro tutti i livelli, ho inserito "mio" "cane" "è" "fantastico")
L'opzione 2 è più sicura dell'opzione 1? Non sapendo quasi nulla della sicurezza della crittografia, mi sembra di sì, perché chiunque volesse entrare dovrebbe eseguire un algoritmo di password quattro volte, mentre nell'opzione 1 l'algoritmo deve essere eseguito solo 1 volta. E se fosse stato utilizzato un chiper-algo
diverso al posto dello stesso?
Tutto sommato, mi sembra anche ovvio che la risposta dipende dalla natura delle password. Ad esempio, se ho 15 livelli di crittografia e la password di ogni livello è solo una lettera, sembra "banale" violare il codice.
AGGIORNAMENTO : in risposta a un commento, sottolineo che l'esempio sopra stava cercando di presentare un apparente caso "equivalente", ovvero "password più brevi + più livelli" rispetto a "password più lunghe + meno livelli ". Mi sembra ovvio (forse sbagliato) che la semplice aggiunta di più strati di identica complessità aumenterà solo la sicurezza della crittografia (nel semplice senso di impiegare più tempo per hackerare le password). Da qui il mio accento sulla lunghezza variabile delle password.