Hice un cálculo en este una vez. Supongamos que AES solo se puede romper con la fuerza bruta. Claramente, vamos a necesitar un contador, que cuente de 0 a 2 256-1 , y en promedio deberá contar hasta 2 255 . Ejecutar este contador requiere energía. ¿Cuánta energía toma?
Resulta que aquí hay un límite termodinámico, el principio de Landauer. A una temperatura dada, hay una cantidad mínima de energía que puede tomar establecer un bit (1 bit de entropía), porque si no gastamos esa cantidad de energía, podemos disminuir la entropía del sistema, que es termodinámicamente. imposible. La energía que toma es kT ln 2, donde k es la constante de Boltzman (1.38 × 10 −23 J / K) y T es la temperatura en grados kelvin. Obviamente, queremos hacer esto lo más asequible posible, así que hagamos los cálculos a 3 kelvin, que es aproximadamente la temperatura de la radiación de fondo del universo. ¡No podemos ser más fríos que eso sin gastar más energía para enfriar el sistema de lo que habríamos gastado en voltear las brocas! Esto fija el costo de energía de voltear un poco a 2,87 × 10 −23 J / bit.
Ahora, ¿cuántos bits de flips necesitamos? La respuesta será mucho, así que para mantener las cantidades de energía en términos comprensibles para los humanos, me gustaría simplificar el problema. En lugar de resolver AES-256, simulemos que resolvimos AES-192, que solo requiere contar hasta 2 191 . ¿Cuántos flips de bits necesitamos? Si contamos en binario normal, es posible que tengamos que voltear varios bits por incremento del contador. Es molesto de calcular, así que imaginemos que podríamos hacer este contador con Códigos grises , que solo voltean un bit por incremento.
Incrementando un contador 2 191 veces, a 2,87 × 10 −23 J / bit produce 9 × 10 34 J. Eso es mucho de energía. De hecho, si voy a una de mis páginas favoritas de Wikipedia, Orden de magnitud (energía) , ver que la energía emitida por nuestro sol cada año es de 1.2 × 10 34 J. Eso es correcto. El simple hecho de ejecutar el contador que estaría en el centro del proceso de ruptura de AES tomaría la suma total de casi una década de la producción energética del sol. Todo eso.
Ahora, si revisamos el problema original de AES-256, los costos de energía aumentan en 2 64 . Por lo tanto, ese contador tomaría 1.6 × 10 54 J. De nuevo, observando el Orden de Magnitud (energía), encontramos que la energía total de masa visible en la galaxia de la vía láctea es 4 × 10 58 J. Por lo tanto, si tuviera que convertir el 0,004% de la energía de masa total de la galaxia (es decir, convertir toda la masa en energía usando E = mc 2 ), podría ejecutar una contador que podría contar de 0 a 2 255 .
Esta es la razón por la que uno nunca fuerza bruta un algoritmo criptográfico moderno. Las cantidades de energía requeridas son literalmente a nivel de "muerte térmica del universo".