È risaputo che esegue un XOR di un file contro una chiave breve è una crittografia altamente insicura (può essere rotta con l'analisi della frequenza).
Ma se la lunghezza della chiave è uguale a (o ha lo stesso ordine di grandezza di) della lunghezza del file da crittografare, la situazione è vicina a one-time-pad / Vernam cipher ed è sicuro (non è possibile eseguire analisi di frequenza).
Esiste una regola empirica per la quale il cifrario XOR è generalmente considerato sicuro?
per esempio:.
-
key size = file size= > super sicuro, one-time pad -
key size = (1/2) file size= > sembra davvero molto sicuro, non vedo come un'analisi di freq possa funzionare con solo 4 ripetizioni -
key size = (1/100) file size= > ? -
key size = (1/10000) file size= > ?
Diciamo che il file è di 10 GB se aiuta a ottenere l'ordine di grandezza.
Esempio con key size = (1/2) file size :
file: 0101 0111 (size 8)
key: 0100 0100 (0100, i.e. size 4, repeated twice)
cyphertext: 0001 0011
Qui la chiave 0100 viene ripetuta due volte. Come potrebbe qualcuno che ha solo la dimensione-8 testo cifrato e la conoscenza del fatto che la chiave è di dimensione 4 romperla?