È 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?