Sicurezza di Exclusive-OR (XOR) crittografia
-
08-10-2019 - |
Domanda
XOR è noto per essere piuttosto debole. Ma quanto debole è che se ho una chiave che si compone di più chiavi di diversa lunghezza (idealmente primi) che vengono combinati per fare una chiave più lunga. ad esempio ho un i tasti di testo di lunghezza 5, 9 e 11. Se ho appena applico la prima chiave utilizzando la crittografia XOR, allora dovrebbe essere facile da rompere come il byte crittografia ripeterà ogni 5 byte. Tuttavia, se mi 'overlay' il 3 di questi tasti ricevo una lunghezza effettiva non ripetibile di 5 * 9 * 11 = 495. Questo suoni a me piuttosto forte. Se io uso un paio di versi di una poesia utilizzando ogni riga come chiave allora la mia lunghezza non ripetibile sarà modo più grande rispetto alla maggior parte dei file. Quanto è forte questo sarebbe (che fornisce la chiave rimane segreta :)
!)
Soluzione
XOR è esattamente forte come la chiave di flusso. Se XOR con un "One time pad" - una sequenza di numeri casuali generati fisicamente che si usa solo una volta, allora la vostra crittografia è teoricamente infrangibile. Si ha il problema però di nascondersi e distribuire la chiave.
Quindi la tua domanda si riduce a - "come sicuro / random è un keystream fatta di tre stringhe di testo?" La risposta è "non molto sicuro a tutti". Probabilmente abbastanza buono per tenere fuori la tua sorellina, ma non necessariamente se hai una sorellina intelligente come ho.
Altri suggerimenti
E il 'plaintext noto' attacco? Se si conoscono le versioni crittografate e in chiaro della stessa stringa, è possibile recuperare la chiave.
http://en.wikipedia.org/wiki/XOR_cipher
Se P e Q sono due metodi crittografici indipendenti, il composito crittografica funzione P (Q (x)) non saranno più debole della forza di P (x) o Q (x), ma non necessariamente essere significato più forte sia. Affinché una funzione crittografica composito per ottenere qualsiasi titolo, le operazioni compongono devono soddisfare determinati criteri. La combinazione di cifrari deboli arbitrariamente, non importa quanti si usa, è improbabile che produrre una forte cifra.