2009-07-10 6 views
12

Dopo una discussione sulla crittografia, un mio amico mi ha sfidato a crackare un file crittografato utilizzando AES con una chiave a 128 bit.Interruzione della crittografia AES utilizzando i dati decodificati

So che il file era originariamente un'immagine GIF, quindi dovrebbe iniziare con 'GIF8'. Mi chiedo se sia possibile ricavare la password da questa conoscenza in un tempo ragionevole (ad esempio una settimana o meno).

Non è possibile rubare la chiave in un modo diverso dall'analisi del file crittografato, in quanto sconfigge il punto della sfida.

Se così fosse, i puntatori sarebbero i benvenuti. Non sono riuscito a trovare una descrizione decente simile al diagramma di flusso del flusso di crittografia del primo blocco. Ricordo di averne uno da un corso all'Uni, ma ovviamente non si trova da nessuna parte.

+21

Se la risposta è "sì", lo standard AES è un errore fondamentale. – skaffman

+4

Concentrati a capire come rubare la chiave piuttosto che decifrare il file. Ti spingerai più lontano in una settimana. – Michael

+0

Quindi spero che lo sia :) – wvdschel

risposta

34

wvdschel, mentre di certo ti auguro buona fortuna, considera che se risolvi questo problema avrai probabilmente diritto a un dottorato in informatica o matematica. AES è stato progettato per essere estremamente difficile da rompere (vale a dire nell'ordine esponenziale della quantità di bit) anche se si conoscono alcuni dettagli minori sul file crittografato.

Qualsiasi attacco che può ridurre la complessità da circa 2 alla potenza della lunghezza di bit della chiave sarà un grande passo avanti. In passato, tali attacchi al DES (che si limitava ad abbassare la sua forza di poche volte) hanno ottenuto ampi consensi da parte degli autori.

Leggere su crittoanalisi lineare di AES.

+7

Heck, dimentica il dottorato, potresti essere in lizza per il Medaglia dei campi se lo capisci ;-) –

+7

Ma sbrigati, puoi ottenere la medaglia Fields solo se hai 40 anni o meno. ;-) – starblue

+76

Chi vuole una medaglia di dottorato o di campo ... Stack Overflow ti darebbe un 'distintivo d'oro' se lo fai! – Mark

8

Pensa a questo: se si riuscisse a ricavare la password semplicemente conoscendo le prime lettere in chiaro, quanti messaggi cifrati sarebbero inutili? Quante lettere/email iniziano con "Ciao", quanti di loro hanno una firma standard (e conosciuta) (soprattutto nelle aziende). Sarebbero tutti imperfetti. E nei protocolli conosci anche molte informazioni in chiaro. La crittografia sarebbe inutile.

+0

Ecco perché molti protocolli iniziano con un po 'di byte casuali e poi usano la modalità CBC ... – chris166

+0

Sì, forse ci sono esempi migliori di protocolli ... – tanascius

0

Potresti avere una possibilità se non ha usato Cipher-block chaining; vedere l'immagine nell'articolo di Wikipedia indicato dal link. Oltre a questo, i commenti che hai ricevuto sono esatti.

+1

Questo non avrebbe avuto alcun impatto sul primo blocco sebbene – chris166

+0

Vero, ma ho capito la sua domanda come anche per altre opzioni. –

+0

Ma questo non vale per il primo blocco? – wvdschel

2

L'unico modo per tentare di interrompere la crittografia AES consiste nell'utilizzare la crittoanalisi lineare o differenziale. Ora, questo è ancora estremamente difficile da fare!

Anche per DES, che è ritenuto più debole, sono stati necessari 50 giorni per interrompere la crittografia utilizzando la crittoanalisi lineare. Un ragazzo di nome Matsui nel 1994 usava 2^43 coppie di testo cifrato in chiaro. E questo è solo con 56 bit (che è il numero di bit utilizzati da DES, o almeno utilizzati al momento).

Questo è molto più di una settimana o meno, e onestamente penso che ci vorrebbero troppi anni per capire questo, anche con la consapevolezza che contiene GIF8.

2

questo è altamente improbabile da raggiungere, non solo di AES, ma di qualsiasi algoritmo di crittografia moderna decente a causa (tra le altre cose):

Cipher-Block Chaining (per cui i risultati della cifratura del blocco precedente" "sono utilizzati nella crittografia del successivo 'blocco')

e anche:

The Avalanche Effect (l'effetto valanga è evidente se, quando un ingresso è leggermente cambiata, i cambiamenti di uscita significativamente)

5

Se si sta andando per la forza bruta allora spero che hai un supercomputer e una macchina del tempo

Supponendo che si potrebbe costruire una macchina che potrebbe recuperare una chiave DES in un secondo (cioè, prova 2^55 tasti per secondo), quindi occorrerebbe che la macchina circa 149 mila miliardi (149 trilioni) anni crei una chiave AES a 128 bit. Per mettere in prospettiva , l'universo è ritenuto inferiore a 20 miliardi di anni.

Wow !! Circa 149.000 miliardi di proporzioni da a 1 secondo.

Considerare inoltre che qualsiasi metodo di recupero della chiave più veloce di un attacco di forza bruta è considerato un "break" e AES non è stato interrotto.

La cosa migliore è quello di fare un po 'metodo del tubo di gomma

http://en.wikipedia.org/wiki/Rubber-hose_cryptanalysis

3

Secondo Wikipedia:

In crittografia, l'Advanced Encryption Standard (AES) è uno standard crittografia adottato dal governo degli Stati Uniti . Lo standard comprende tre codici a blocchi, AES-128, AES-192 e AES-256, adottato da una raccolta più grande originariamente pubblicata come Rijndael. Ogni cifra AES ha una dimensione di blocco di 128 bit, con chiave dimensioni di 128, 192 e 256 bit, rispettivamente. I codici AES sono stati analizzati in modo estensivo e sono ora utilizzati in tutto il mondo, come nel caso del , il suo predecessore, il Data Encryption Standard (DES).

In altre parole, le chiavi a 128 bit con questo algoritmo sono state sviluppate dal governo degli Stati Uniti e sono utilizzate da tutto il mondo.

Non sarà mai possibile interrompere la chiave AES a 128 bit.

Se la chiave proviene da una password, è possibile che si verifichi un attacco di dizionario o un attacco di forza bruta sulla password.

1

Sì, a meno che l'implimentation è incredibilmente male (si possono trovare altri criptato dati usando la stessa chiave e IV che conosci il testo in chiaro di) sei fondamentalmente protetto. La soluzione migliore è provare a lavorarla sul retro, o ottenere in qualche modo la chiave dell'utente OPPURE provare le chiavi bruteforce e IV (buona fortuna) usando un testo chiaro noto: noto testo cifrato.

3

Buon argomento.

Interessante quanto velocemente la tecnologia e la scienza si stanno evolvendo. Recentemente ho letto questo articolo correlato NSA: http://www.hpcwire.com/hpcwire/2012-03-19/nsa_employs_cutting-edge_supercomputing_for_domestic_surveillance.html (dal 19 marzo 2012, meno di 3 anni dopo la domanda originale in questo post).

Gran parte dei dati sono crittografati, però, ed è lì che il supercalcolo entra in gioco. Per estrarre le informazioni, la NSA ha dovuto impiegare algoritmi di forza bruta, e che ha richiesto un sacco di calcolo potere. Bamford riferisce che il Multiprogram Research Facility è stato costruito presso l'Oak Ridge National Laboratory per ospitare un supercomputer per il lavoro . Quella struttura, nota come Building 5300, misurava 214.000 piedi quadrati e costò $ 41 milioni per costruire nel 2006. Mentre il supercomputer "Jaguar" non classificato era distribuito sull'altro lato del campus di Oak Ridge, la NSA stava installando un ancora più potente sistema di costruzione 5300. Scrive Banford:

macchina del NSA era probabilmente simile a quello non classificati Jaguar, ma era molto più veloce fuori dal cancello, modificato appositamente per crittoanalisi e mirata contro una o più specifiche algoritmi, come l'AES. In altre parole, si stavano spostando dalla fase di sviluppo di ricerca e per attaccare in realtà i sistemi di crittografia estremamente difficili . Lo sforzo di rottura del codice era attivo e funzionante.

Secondo Binney, un sacco di dati di governo stranieri l'agenzia era mai di rompere (crittografia a 128 bit) potrebbero ora decifrabili.

Come efficiente NSA sta facendo questo, credo che sarà molto difficile sapere per i mortali normali come noi (hey, è NSA! :-))

Ancora dovremmo considerare che essi non sono in programma in rottura 1 chiave ma un numero enorme di loro ... Quindi interrompere un messaggio AES di 128 bit non sembra più fantascienza o matematica teorica.