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.)