Ho fatto un calcolo su questo una volta. Supponiamo che AES possa essere rotto solo usando la forza bruta. Chiaramente avremo bisogno di un contatore, che conta da 0 a 2 256-1 , e in media dovrà contare fino a 2 255 . L'esecuzione di questo contatore richiede energia. Quanta energia ci vuole?
A quanto pare, qui c'è un limite termodinamico, il principio di Landauer. Ad una data temperatura, c'è una quantità minima di energia che si può impiegare per impostare un bit (1 bit di entropia), perché se non spendiamo così tanta energia, possiamo effettivamente diminuire l'entropia del sistema, che è termodinamicamente impossibile. L'energia necessaria è kT ln 2, dove k è la costante di Boltzman (1.38 × 10 -23 J / K) e T è la temperatura in kelvin. Ovviamente vogliamo farlo nel modo più economico possibile, quindi facciamo i calcoli a 3 kelvin, che è approssimativamente la temperatura della radiazione di fondo dell'universo. Non possiamo essere più cool di così senza spendere più energia per raffreddare il sistema di quanto avremmo speso a lanciare i bit! Questo attacca il costo dell'energia di lanciare un po 'a 2.87 × 10 -23 J / bit.
Ora, quanti bit flip abbiamo bisogno? La risposta sarà molto, quindi per mantenere le quantità di energia in termini comprensibili dall'uomo, vorrei semplificare il problema. Invece di risolvere AES-256, facciamo finta di risolvere AES-192, che richiede solo il conteggio fino a 2 191 . Quindi, quanti colpi di testa abbiamo bisogno? Se contiamo in binario normale, potremmo dover capovolgere più bit per incremento del contatore. Questo è fastidioso da calcolare, quindi facciamo finta di poter fare questo contatore con Codici Gray , che capovolgono solo un bit per incremento.
Incrementando un contatore 2 191 volte, a 2.87 × 10 -23 J / bit produce 9 × 10 34 J. Questo è un sacco di energia. Infatti, se vado su una delle mie pagine preferite di Wikipedia, Ordine di grandezza (energia) , noi vedi che l'energia emessa dal nostro sole ogni anno è 1.2 × 10 34 J. Esatto. L'esecuzione del contatore che sarebbe al centro del processo di interruzione di AES richiederebbe la somma totale di quasi un decennio dell'output energetico del sole. Tutto.
Ora se rivisitiamo il problema originale di AES-256, i costi energetici aumentano di 2 64 . Quindi quel contatore prenderebbe 1,6 × 10 54 J. Ancora una volta, osservando l'Ordine di Magnitudine (energia), scopriamo che l'energia di massa visibile totale nella galassia della Via Lattea è 4 × 10 58 J. Quindi, se dovessi convertire lo 0,004% dell'energia totale di massa della galassia (cioè convertire tutta la massa in energia usando E = mc 2 ), potresti eseguire un contatore che può contare da 0 a 2 255 .
Questo è il motivo per cui uno non forza mai un algoritmo crittografico moderno. Le quantità di energia richieste sono letteralmente al livello di "morte termica dell'universo".