Il 11 settembre 2011 10:46, [email protected] <[email protected]> ha scritto: > Se hai un singolo flusso di informazioni cifrate e nessuna idea di quale possa > essere il msg in chiaro identificare l'algoritmo così come la passphrase non è > un'impresa semplice.. A meno che non inizi ad analizzare il msg verificando la > presenza di blocchi che si ripetano o eventuali regolarità nel msg stesso.. > Ma se fosse banalmente un Rc4 è un'altra storia :)
Non ho capito la parte "se fosse banalmente RC4". WikipediaMode: RC4 è uno stream cipher (generatore pseudocasuale), che ha un seme (la chiave) e ti dà in output una serie di byte che sembrano casuali. WikipediaModeEnd. Ora, se tu intendi costruire un distinguitore che distingua tra byte davvero random e byte che escono da un RC4, ci sono ricerche che dimostrano come la prima parte dello stream non sia pseudocasuale (falla sfruttata per craccare la WEP), indi percui il lavoro è "facile" solo se nell'output sono presenti questi valori iniziali (per facile intendo con una probabilità polinomiale). Se invece scarti, che ne so, i primi 3000 byte di questo stream, il lavoro torna ad essere difficile (probabilità trascurabile). Se tu intendi avere uno schema di codifica (Enc, Dec, Gen), dove Enc è costruito basandosi su RC4 utilizzato in maniera corretta (eliminando la prima parte dello stream ed utilizzando chiavi random sempre nuove, tipo RC4-drop[n]), anche avendo in mano il crittogramma c faresti fatica a dire sia a che messaggio originale corrisponderebbe c, sia se sia stato effettivamente l'Enc visto sopra a generarlo, proprio per la difficoltà nel distinguere i byte che escono fuori da RC4-drop[n] rispetto a byte casuali. Nota importante: Non è RC4 ad essere stato rotto (perlomeno, non del tutto e non in modo regolare), ma è un suo utilizzo sbagliato che rende lo schema di codifica che lo utilizza insicuro. Sono ben accetti paper in cui si spiega un metodo per distinguere un RC4-drop[n] con n>4000. Per quanto riguarda lo scopo originale del thread: - riesci a vedere nel file dei "mark" riconducibili a qualche programma che sai, in linea di massima, che può essere stato usato? (utile se, ad esempio, i programmatori del programma "IoCrittoTutto.app" sono stati così stupidi da inserire all'inizio del file criptato una linea del tipo "file criptato con ioCrittoTutto v2.5" ?) - Se non riesci a vedere quei mark (e al 99% non ci saranno) io non credo che allo stato attuale tu possa trovare l'algoritmo, perchè ogni software e ogni algoritmo (a chiave privata, a chiave pubblica, eccetera) fa in modo di far sembrare i byte in output "casuali", o comunque slegati da algoritmo/messaggio originale (se non lo fosse, o se tu riesci a distinguerli, allora avresti rotto anche lo schema originale). Spero d'esser stato chiaro.
________________________________________________________ http://www.sikurezza.org - Italian Security Mailing List
