AGGIORNAMENTO dato il tuo commento:
I know that it would be computationally unfeasible. I just wanted to know if it would be theoretically possible (it seems not according to tylerl)
Sì, dato il tempo infinito e l'energia infinita, una rete neurale potrebbe incrinare SHA256 . MA (e penso che questo sia il punto che sta facendo @tylerl) perché le funzioni di hash non hanno pattern discernibili, una rete neurale non sarebbe in grado di fare qualcosa di meglio dell'ingenua forza bruta di costruire una tabella di ricerca calcolando l'hash di ogni possibile stringa. Tale tabella di ricerca avrebbe più voci (~ 2 256 ) di quanti atomi sul pianeta terra (~ 2 166 ) - quindi almeno con il nostro livello attuale di tecnologia è "impossibile" tenere un tale tavolo in memoria o memorizzarlo su qualsiasi disco. Allo stesso modo, affinché la tua rete neurale abbia prestazioni sensibilmente migliori di un lancio di dadi, il numero di neuroni di cui avresti bisogno probabilmente supererebbe anche il numero di atomi del pianeta.
Quindi sì, è computazionalmente impossibile, ma ancora teoricamente possibile. In realtà è vero per la crittografia in generale che è sempre possibile per forza bruta in teoria, ma diciamo "abbastanza buono" quando possiamo dimostrare che così facendo richiederà più tempo della vita del universo e più energia di quella contenuta nel sole.
Penso che il contro-argomento sia in risposta a:
We could through all the permutations and train the network since we know the inputs and expected outputs.
1) Questo è fondamentalmente diverso da una tabella di ricerca?
2) SHA256 ha uno spazio di output di 2 256 e uno spazio di input che è essenzialmente infinito. Per riferimento, il tempo trascorso dal big bang è stimato in 5 miliardi di anni, che è di circa 1.577 x 10 27 nanosecondi, che è di circa 2 90 ns. Quindi, supponendo che ogni iterazione di addestramento richieda 1 ns, occorreranno 2 166 età dell'universo per addestrare la rete neurale.
Il punto qui è che SHA256 ha 2 256 possibili output, e 2 256 è davvero un gran numero veramente .