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

Rispondere a