Posso recuperare una chiave AES persa?

15

Ho crittografato 2 database MySQL con AES_ENCRYPT in modalità ECB a 128 bit. Ora ho dimenticato la mia chiave di crittografia, ma ho un testo semplice (ho un database senza crittografia e lo stesso con la crittografia). Come trovare la chiave di crittografia in modo da poter decifrare il mio altro database?

Ho sentito parlare di attacchi in chiaro, come si fa? C'è qualche strumento in Kali Linux o qualche script python su GitHub?

    
posta hui san ki 17.12.2018 - 07:14
fonte

5 risposte

35

Realisticamente, no non puoi. AES è molto resistente agli attacchi noti di testo di lamentela come la maggior parte dei cifrari a blocchi. È una fortuna che tu non abbia perso alcuna informazione e abbia il backup del database originale perché la tua unica vera opzione sarebbe quella di provare la forza bruta della crittografia, che probabilmente impiegherà più tempo della lunghezza dell'universo (a meno che tu non possa restringere notevolmente le possibili chiavi) da quasi ricordando la tua password?)

    
risposta data 17.12.2018 - 07:25
fonte
11

Quello che stai chiedendo è un attacco con testo in chiaro (KPA). La debolezza che descrivi in ECB è dove due blocchi crittografati con lo stesso testo in chiaro sono crittografati con lo stesso testo cifrato.

Questo significa solo che tu sai che due blocchi crittografati nel testo cifrato sono uguali, non significa che puoi recuperare facilmente il testo normale. La risposta è: no non sarai in grado di recuperare la chiave.

    
risposta data 17.12.2018 - 07:47
fonte
1

Questo è chiamato un attacco di testo in chiaro noto contro un cifrario ed è una considerazione di progettazione importante. Quello che vuoi fare è considerato non essere possibile escludendo qualsiasi rivelazione importante in un punto debole di AES. C'è un altro Q / A qui che potrebbe aiutarti a capire meglio:

link

Le crittografie operano solo su una lunghezza fissa di bit, quindi le modalità di concatenamento vengono utilizzate per crittografare lunghezze arbitrarie di dati. La BCE è la più semplice, basta crittografare un blocco alla volta. Il principale punto debole è che blocchi identici producono lo stesso output criptato che è una grande perdita di informazioni. Crea anche opportunità per gli attacchi di riproduzione in cui un utente malintenzionato può semplicemente inviare nuovamente i blocchi crittografati che pensano conoscono il contenuto di. Sfortunatamente questo non ti porta più vicino al recupero delle chiavi con un testo in chiaro noto.

Potrebbe esserci un attacco valido per te se hai usato una password per generare la chiave, e per esempio ricordi che è lunga esattamente 12 caratteri e ha tre cifre. Ciò limita notevolmente lo spazio della password e potrebbe consentire il funzionamento di un'analisi della forza bruta.

    
risposta data 18.12.2018 - 07:05
fonte
0

Nel momento in cui hai creato la tua chiave o password, probabilmente lo hai archiviato in un file o lo hai scritto su un pezzo di carta. Procurati un programma "undeletion" (quelli buoni sono disponibili gratuitamente, cerca solo) e controlla i tuoi file cancellati in precedenza ... Potresti trovarlo lì.

    
risposta data 17.12.2018 - 15:07
fonte
0

In teoria è possibile, ma nella pratica no. ma puoi provare a indovinare. Dato un testo semplice e un testo cifrato, puoi provare ogni possibile chiave per vedere quale funziona. Per AES-128, 340 tasti di undecimion.

Come mostrato sopra, anche con un supercomputer, ci vorrebbero 1 miliardo di anni per decifrare la chiave AES a 128 bit usando un attacco di forza bruta. Questo è più che l'età dell'universo (13,75 miliardi di anni).

    
risposta data 18.12.2018 - 18:04
fonte

Leggi altre domande sui tag