Identificazione dell'algoritmo di cifratura di flusso basato sul contenuto crittografato

0

È possibile identificare l'algoritmo utilizzato per il codice di flusso in base all'analisi di un flusso crittografato?

    
posta zcaudate 23.07.2014 - 00:15
fonte

1 risposta

1

Come al solito: se la crittografia è valida, il suo output è indistinguibile dalla casualità (in effetti, un PRNG crittograficamente protetto è in realtà la stessa cosa di un codice di flusso che utilizza il "seme iniziale" come chiave e che crittografa una lunga sequenza di zeri). In particolare, non è possibile identificare un algoritmo specifico.

Per l'identificazione, cerca contesto . L'algoritmo utilizzato, in qualsiasi sistema, non è solitamente un segreto; Auguste Kerckhoffs ha notoriamente spiegato che in effetti un "algoritmo segreto" non è un fondamento sano per la segretezza, e l'algoritmo può e anche dovrebbe essere reso pubblico. Pertanto, molti protocolli di comunicazione includono campi che rendono esplicito l'algoritmo utilizzato; questo rende tale protocollo potenzialmente aggiornabile a nuovi algoritmi in un modo compatibile con le versioni precedenti (questo è chiamato agilità dell'algoritmo ). Ad esempio, in SSL / TLS , l'insieme di algoritmi è dichiarato chiaramente, non criptato, nel messaggio ServerHello , quindi tutti (compresi eventuali intercettatori) sanno perfettamente quale algoritmo di crittografia viene utilizzato.

Allo stesso modo, se viene applicata la crittografia, viene eseguita in due punti (il mittente e il destinatario), entrambi implicanti un'incarnazione tangibile dell'algoritmo. In parole più brevi, c'è un software che esegue la crittografia e la decrittografia. Il software è altamente suscettibile a reverse engineering e l'algoritmo può quindi essere identificato.

La cifratura del flusso RC4 è ampiamente usata come cifrario di flusso (è la cifratura di flusso supportata da SSL, ad esempio) e ha bias . Crittograficamente parlando, è "spezzato", anche se non abbastanza da trasformare il pregiudizio in attacchi reali nella maggior parte delle situazioni pratiche. Potresti essere in grado di sfruttare tali errori nell'identificazione di un algoritmo, specialmente se puoi farlo in modo che il sistema di crittografia ignoto elabori molti byte che conosci (devi essere in grado di fare in modo che il sistema crittografi o decodifichi byte che conosci e osserva il risultato). Vedi la pagina di Wikipedia per i puntatori.

    
risposta data 23.07.2014 - 13:57
fonte

Leggi altre domande sui tag