È possibile ottenere la chiave di crittografia quando si ha il testo in chiaro?

2

Ho una domanda su SHA256. So che questo algoritmo è stato usato per crittografare un testo, che ho. Ho anche la versione crittografata di questo testo. La mia domanda è, posso in qualche modo ottenere la chiave di crittografia con quelle informazioni?

    
posta UrKll 12.04.2013 - 11:56
fonte

3 risposte

14

SHA-256 è un algoritmo digest , non un algoritmo di crittografia. Non esiste una chiave di crittografia: non esiste un segreto che possa aiutarti a tornare da SHA256 (messaggio) al messaggio.

Se conosci solo il valore SHA-256 (256 bit, che possono essere presentati come 32 byte o 64 cifre esadecimali), l'unico modo per trovare il messaggio originale è la forza bruta: prova tutti i possibili messaggi, calcola SHA256 (candidato), e se corrisponde, ce l'hai. Dato che non c'è alcuna chiave in gioco, se conosci già il "testo in chiaro" (il messaggio originale), sai tutto.

Se intendevi AES -256 , si tratta in effetti di un algoritmo di crittografia che produce un testo cifrato con una chiave e un testo in chiaro o un testo in chiaro con una chiave e un testo cifrato. Più precisamente, è una famiglia di algoritmi di crittografia: AES stesso può solo crittografare messaggi di esattamente 128 bit, e ci sono diverse modalità di funzionamento che estendono l'algoritmo a messaggi di lunghezza arbitraria.

Con AES o qualsiasi serio algoritmo di crittografia, anche se si hanno i dati crittografati (il testo cifrato) e il messaggio originale (il testo in chiaro), non si è più vicini alla ricerca della chiave di crittografia. Questo è noto come attacco con testo in chiaro noto e AES è resistente agli attacchi con testo normale come dovrebbe essere.

Oppure potresti aver inteso HMAC -SHA-256. Un HMAC è un codice di autenticazione dei messaggi , che è diverso da un algoritmo di digest. Un digest produce una stringa di dimensioni fisse da un messaggio, in modo che la stringa a dimensione fissa dipenda solo dal messaggio. Un MAC produce una stringa di dimensioni fisse da un messaggio e una chiave segreta. Se conosci un messaggio (testo in chiaro) M e conosci anche HMAC-SHA-256 (M, K), allora anche qui non sei più vicino alla conoscenza della chiave K. Di nuovo, la resistenza agli attacchi in testo normale è prevista per un MAC algoritmo e HMAC-SHA-256 è (per quanto ne sappia qualcuno pubblicamente) un buon algoritmo MAC.

La chiave segreta coinvolta in un MAC non è una chiave di crittografia perché non si può tornare indietro: se si conosce HMAC-SHA-256 (M, K) ma non M, sapendo che K ha vinto ' Ti aiuta a trovare M. (Nessuna quantità di conoscenza segreta potrebbe dirti quale dei messaggi di lunghezza arbitraria era intesa comunque, conoscendo solo una chiave di crittografia a dimensione fissa e un valore MAC di dimensione fissa.)

    
risposta data 12.04.2013 - 12:11
fonte
0
  1. Prima di tutto, SHA 256 non è un algoritmo di crittografia, è un algoritmo di hash.

    1. Gli algoritmi di crittografia sono come i lucchetti. Inserisci i dati e crittografalo con una chiave (Blocco). Ora, usa la stessa chiave o una chiave asimmetrica per decodificarlo e otterrai i dati originali (Sblocco).

    2. D'altra parte, gli algoritmi di hash sono come i lock a senso unico. Ottieni l'hash dei dati di input. È molto difficile creare un altro dato che produca lo stesso hash. Se riesci a farlo, si chiama collisione hash. Poiché gli hash sono unici per i dati forniti, sono utili in una vasta gamma di domini, in particolare la sicurezza.

  2. Secondo, non usa alcuna chiave in quanto tale.

  3. Puoi leggere ulteriori informazioni su Cryptanalysis qui link

risposta data 12.04.2013 - 12:09
fonte
0

Questo sarebbe inusuale, SHA256 è usato per cancellare un testo. Quindi la mia ipotesi è che tu abbia l'hash di un testo in chiaro e il testo in chiaro.

Se non è stata utilizzata alcuna chiave, puoi semplicemente usare SHA256 sul testo e vedere se l'hash è lo stesso. In questo modo puoi sapere se qualcuno ha modificato il tuo testo

Se è stata utilizzata una chiave (hmac sha256) e vuoi trovare la chiave, puoi forza bruta la chiave. Ciò significa che generi hash del tuo testo, usando SHA256 e chiavi diverse, finché l'hash non coincide.

Questa è una procedura computazionalmente molto costosa e, a seconda del tasto utilizzato, è improbabile che trovi la chiave in un ragionevole lasso di tempo.

    
risposta data 12.04.2013 - 12:13
fonte

Leggi altre domande sui tag