Aunque a simple vista una clave de 256 bits no parezca gran cosa lo cierto es que son 2^256 combinaciones posibles, un valor equivalente más o menos a 10^77: algo gigantesca, brutal y desmesuradamente enorme. Y es que para romper una clave de 256 bits por fuerza bruta haría falta probar todas las combinaciones de esos 256 bits. Eso significaría cambiar el estado de los bits 2^256 veces. Según han calculado en Fermat’s Library incluso en un ordenador inmenso, ideal y perfecto en el que nada se malgastara y todo fuera óptimo...
Comentarios
Me encantan las reducciones al absurdo. Son de lo más elegante.
Ni con ordernadores cuánticos, oiga.
Mentira, salvo que seas capaz de retener en la cabeza tu clave de 256bits, tendrás que apuntarla en algún lado, y lo tendrás que proteger con una contraseña fácil de recordar por un humano, así que todo se reduce bastante.
Todo para que luego un niño autista (por las vacunas, por supuesto) lo rompa de cabesa.
#3 Se supone que a lo que tiene acceso el atacante es al mensaje, no a la clave. Y en todo caso 256 bits son 32 bytes, o lo que es lo mismo, 32 letras y números en ascii. No es imposible retenerla en la cabeza. Yo me sé mi clave wifi de 20 caracteres
https://xkcd.com/538/
Y todo para que luego la clave de los misiles nucleares sea un puñado de ceros...
https://es.gizmodo.com/la-contrasena-para-lanzar-misiles-nucleares-desde-estad-1809738979
Lo inteligente es hacer un ataque por fuerza lista, no fuerza bruta.
128 bits está ya más allá de lo imposible.
no sabía que para descrifrar una clave se deben quemar hidrocarburos y aprovechar la expansión de los gases, cada día se aprende algo nuevo
Esferas de Dyson, criptografía, termodinámica y un cálculo de Fermi. Todo ello correctamente compactado, explicado y presentado en 7 párrafos.
¡¡¡¡Mis dies!!!!
Lo de la segunda ley de la termodinámica debe ser algún tipo de licencia poética porque luego en el artículo no se menciona y tampoco parece que la explicación tenga que ver con ella.
#6 Rubberhose hacking creo que lo llaman.
#3 facil de recordar no implica baja entropia https://xkcd.com/936/
#5 ¿10 unos y 10 ceros?
#1 salvo cuando partes de premisas erroneas, como cuando dice:
para romper una clave de 256 bits por fuerza bruta haría falta probar todas las combinaciones de esos 256 bits
que es algo que solo sucede para el peor caso posible, de media solo tendrias que probar con la mitad de permutaciones
#12 viene de aqui
https://en.wikipedia.org/wiki/Entropy_in_thermodynamics_and_information_theory
Muy curiosa la relación entre entropía e información.
PD: para que le cojáis un poco de amor a la entropía, que sepáis que vivís gracias a ella, cabrones.
#8 no hay mejor ataque de fuerza bruta que amenazar con un arma al que sabe la clave o a su familia.
#16, creo que siempre se expresa la complejidad computacional de una clave de cifrado tomando como referencia el peor caso posible.
#15 Pues no, una cadena aleatoria generada por el password gorilla
#19 Bueno no es que sea responsable directa de la vida, sino que facilita que sea posible .
Pues oigan yo no e entendio un carajo
#2 Pues mira, con ordenadores cuánticos quizás.
Aunque los algoritmos de cifrado simétrico no estén afectado por el algoritmo de Shor (como sí lo está RSA), sí que hay ataques que reducen muchísimo la complejidad del ataque. En concreto el algoritmo de búsqueda de Grover lo reduce a 2^(n/2), donde el espacio de claves en un ataque por fuerza bruta es de 2^n. Es decir, que para una clave de 256 bits, la magnitud del ataque es de 2^128, lo que significa que, de media, se necesitarán 2^127 intentos.
Y aunque 128 bits parezcan muchos, es probable que en el futuro aparezcan ataques más efectivos que vayan minando poco a poco la seguridad del algoritmo. (El ataque más efectivo hasta la fecha reduce el espacio de búsqueda a menos de la mitad.)
#11 Mejor para el tweet de donde lo han fusilado, ¿no?
(el de #12, que viene enlazado en medio del texto)
#21 Sí, pero eso no quita que la frase sea falsa. Necesitarás probar todas las claves en el peor de los casos. En el mejor de los casos sólo necesitarás probar una clave.
No me creo que nadie haya dicho todavía: "En esta casa se siguen las leyes de la termodinámica".
#17 #26 O sea que en vez de mejorar un "tweet" desarrollándolo y explicándolo, en esta noticia lo han usado para empeorarlo.
#16 Se usa la clave 1111111111...[240 1s más]... 111111 y listo, imposible de romper
Y que me corrija alguien si me equivoco, pero ¿la mitad de permutaciones de 256 bits no son las permutaciones de 255 bits? Tampoco veo que sea un problema si estoy en lo cierto.
#28 ya has tenido que venir a jodernos el record
#27 Pero qué absurdeces dices. Según tu lógica, hay que decir que si tiras una moneda mil veces dará cara en todas, porque eh, en el mejor de los casos será así.
En cuestión de probabilidades, siempre hay que ponerse en la peor situación posible, porque si no la validez de las mismas es nula.
#24 para probar todas las combinaciones posibles de una clave de 256 bits se necesita como minimo más energía de la que proporcionan millones de soles durante millones de años.
#23 pos eso, vives gracias a ella.
#2 #25 Con un ordenador cuantico podrias probar TODAS las posibilidades a la vez.
#5 No 32 bytes no son 32 letras ascii, ascii solo tiene 7 bits, y las letras y números en un subconjunto aun mas pequeño.
Pero precisamente para el problema de claves simples se crearon las funciones hash (como MD5 o SHA1), que convierten cualquier cosa relativamente simple en algo casi aleatorio.
#32 En cuestión de probabilidades hay que considerar todas las situaciones, no las mejores ni las peores.
#16 Bueno, vamos a concederte lo que dices, la mitad de las veces (cambios-totales / 2). Así que en lugar de 2^256 cambios tenemos 2^255 cambios. Uy sí, qué locura, cambia todo el sentido por completo
cc #30
computadoras cuánticas esa es la clave
#27 Creo que en estos casos se considera probar el 50% de las veces como medida estadística de acertar media.
Es decir, habría que probar 2^(n/2), como dice #25
#35 No es cuestión de tiempo, si no de consumo de energía. Es lo que explica el artículo.
#41 No se sabe cuanta energia consume un ordenador cuantico, puesto que al realizar todos los calculos a la vez, cosa que aun no se puede, estamos en un terreno inexplorado.
#24 dice más o menos que tienes que cortar 256 kg de tocino en trozos de un nanómetro cuadrado. Como un cuchillo sólo aguanta 1000 cortes sin afilar y la producción de cuchillos de Albacete es limitada, decimos que no hay suficientes cuchillos en el universo para cortar el tocino, aunque los traigan muy deprisa.
#28 Es una gran frase para la alfombra de la entrada.
#33 y desde mi ignorancia pregunto. Acaso no consumimos la misma energía al escribir o hacer cualquier acción en el ordenador? Y 256 bites son una... Que diferencia hay entre escribir yo un bit o forzar su cambio, energéticamente e informática mente hablando?
#40 No, lo que yo digo en el otro comentario no tiene nada que ver. La mitad de 2^256 es 2^255, no es 2^128,.
#40 No, 2 2^(n-1). #25 habla de otra cosa, reduciendo el espectro del ataque.
#22 "platanoplatanobanana" los gorilas son muy previsibles
#32 Vamos a ver, la frase "para romper una clave de 256 bits por fuerza bruta haría falta probar todas las combinaciones de esos 256 bits" es estadísticamente falsa, te pongas como te pongas. Siempre se detalla el espacio de claves al completo (es decir, 2^256), pero cualquiera que sepa un mínimo de criptografía sabe que un espacio de claves de 2^256 significa que, de media, se van a necesitar 2^255 intentos.
La frase correcta sería "para romper una clave de 256 bits por fuerza bruta haría falta ir probando todas las combinaciones de esos 256 bits hasta encontrar la correcta", que no va a ser la última que pruebes casi nunca (es decir, que la probabilidad de que tengas que probar todas las claves es ínfima).
Siguiendo tu ejemplo, lo que dice el autor es similar a decir "tienes que tirar la moneda infinitas veces, porque nadie te evita que te salga cruz infinitas veces seguidas". Es una falacia estadística. De media, tienes que tirar la moneda una vez para que salga cara.
#48 Oook
#35 No, eso es falso. Te recomiendo leer algo al respecto, por ejemplo: https://www.quora.com/How-does-quantum-computer-consider-all-possibilities-simultaneously
Y esto es una novedad o algo? Esta misma explicación ya la daba Bruce Schneier en el Applied Cryptography hace 20 años
En los foros de Bitcoin se suele usar esta imagen para ejemplificar lo que describe el meneo: https://miguelmoreno.net/wp-content/uploads/2013/05/fYFBsqp.jpg
#50 perdona guapo, pero el bibliotecario es un orangután.
Un poco de rigor.
Mi cuñao las rompe, y las de 257 también!
#51 Que no haya algoritmos optimizados para la cancelacion de los ordenadores cuanticos, no implica que no se pueda.
#53 Buena esa
#49 En realidad la correcta siempre va a ser la última que pruebes.
#32 A lo que se refiere #49 es que si tuvieras que romper infinitas claves de 256 bits necesitarás, en media, la mitad del total de combinaciones. Vamos, que la frase del artículo NO es del todo ajustada a la realidad.
Verás que la probabilidad de acertar la clave a la primera es exactamente la misma que acertarla a la última. La probabilidad de que aciertes en alguna de las 2 primeras es exactamente la misma probabilidad que aciertes en alguna de las 2 últimas combinaciones, pero más probable que en el primer caso (a la primera o a la última)
Al final, la probabilidad de acertar infinitas claves creo (¡estadísiticos!) que seguiría una distribución normal con media 2^256/2 = 2^255, la desviación típica se la dejo a los estadísticos.
La probabilidad de acertar justo a la mitad de las pruebas es exactamente la misma que acertar a la primera o a la última. Sin embargo, en un intervalo de media +/- 1 desviación típica estaría el 70% de los intentos.
A nivel de coste computacional (#21) en tiempo es O(n). "O" se refiere al orden de la función, indicando que el coste (en este caso en tiempo) es lineal respecto al crecimiento del problema (mayor número de bits de clave).
#49 tienes toda la razon
#2 que no es lo mismo que: de ordenadores tener unos cuanticos.
#28 y chuck norris es capaz de romper esa clave con un ábaco
#45 Sí, se consume la misma energía (mismo 'tipo', digamos). Desde un punto de vista ideal, no hay diferencia. Pero estamos hablando de muchos cambios. De 2^256 cambios. Multiplica 2 por 2, 256 veces. Eso es, aproximadamente, un 1 seguido de 77 ceros. Si consiguieras meter cada cambio en un segundo, estarías aproximadamente 10^69 años. Es decir, un 1 con 69 ceros.
La edad de la Tierra es unos 4500 millones de años. Es decir, 4.500.000.000 de años. Te faltarían todavía 58 ceros más para llegar a lo que necesitamos. Ni la Tierra tiene suficiente 'edad' como para haber llegado a esas combinaciones.
#16 Irrelevante en éste caso.
Concediendo que lo que dices es correcto pasamos de 10^77=2^77*5^77 a 2^76*5^77 lo cual no modifica nada el argumento.
#59, la complejidad para un problema de desencriptación por fuerza bruta es O(m^n) (problema NP completo), donde O es el coste de evaluar si es correcta una clave en particular m el número símbolos posibles (si hablamos de bits, como es el caso es 2) y n el tamaño de la clave de cifrado, por eso para el caso de un cifrado de 256 bits el coste sería O(2^256). A esto me refería cuando dije que se toma en consideración el peor caso posible. Ten en cuenta que un algoritmo de desencriptación por fuerza bruta es un problema computacional muy particular, en el cual no es necesario explorar todas las soluciones posibles ya que vas comprobando a cada intento si has encontrado la clave que buscas, pero tampoco es aplicable ninguna heurística para simplificar el problema. Así que aunque la complejidad se defina como O(m^n) puede que converjas al primer intento. A eso me refería.
#16 (10^77)/2=5^77 posibilidades mmm... No me quedo más tranquilo.
Y por eso existen los backdoors de la NSA y demás agencias. Por ahorrar energía coño!
#65 Tienes razón en la complejidad, pero en media no vas a converger al primer intento. Convergirás, en media, para infinitas claves a la mitad del tamaño de clave con cierta desviación.
Meneo porque es interesante, aunque utilice los ergios como unidad.
#68, pero yo hablo de qué se toma como referéncia para hablar de lo robusta que es una clave y es el peor de los casos.
#66 Falso.
(10^77)/2 = 5 * (10^76)
#66 Vuelve a leer mi comentario que te has liado.
A un 1 y 77 ceros dividirlo por 2 le hace cosquillas.
#39 No has entendido nada... La clave es un código de 256 bits
#2 Al menos tal cual lo explican en el artículo me parece erróneo, ya que eso solo aplica con los ordenadores y memorias actuales, la fisica no impediría eso si consiguieras mejorar la eficiencia energética del cambio de estado/calculo(de una forma brutal). O se me ha escapado algo a mi o es erronea o mal traducida o faltan datos.
por ejemplo(aunque no se si el salto es tan grande) con "ordenadores cuánticos"
#22 estadetrasdelrouter
Tiene 20
Ha pasado ya por aquí el meneante talibán que dice que microsiervos nunca es fuente de nada y que hay que enlazar a la web original?
#35 a ver cómo es eso? A la vez quiere decir en un paso? Pues ya estas publicandolo, porque lo mejor que hay es lo que describe #25
#41 Allí el artículo se equivoca. Presume que hay que borrar los bits para cambiarlos, y eso cuesta energía libre. Pero si se prueban todas las combinaciones de forma reversible en un ordenador cuántico, entonces no hay tal problema.
#34 Yo nunca he llegado a entender bien la jodida entropía .
#43 .
#36 No, las funciones hash no se crearon para eso, y de hecho no sirven para eso. Una función hash nunca puede añadir entropía, sólo conservarla (en el mejor de los casos) o incluso destruirla.
De hecho no es "casi aleatorio", sólo te lo parece a ti. A una máquina le da igual que lo parezca, el espacio de búsqueda de ataque es el mismo.
#69 Yo he tenido hasta que buscar que eran, no sé porque no ponen directamente julios.
#3 salvo que seas capaz de retener en la cabeza tu clave de 256bits
Bastante más fácil de lo que piensas. Para que te hagas una idea algunas de mis contraseñas tiene más de 300 o 350 bits de entropía. No es completamente aleatoria, pero los bits de entropía de más compensan la falta de aleatoriedad.
#74 Viene explicado en el tweet enlazado en el artículo:
Cambiar un bit (o para ser mas preciso, borrar un bit) cuesta trabajo y consuma como mínimo kT ln(2). Esta formula es conocida como el Principio de Landauer, https://gl.wikipedia.org/wiki/Principio_de_Landauer
Pero las premisas del calculo son erróneos: la termodinámica no prohíbe enfriar un ordenador a temperaturas mas bajas que la temperatura de la radiación cósmica de fondo, y tampoco prohíbe computaciones reversibles (como los algoritmos para ordenadores cuánticos) no afectados por el principio de Landauer.
"Y es que para romper una clave de 256 bits por fuerza bruta haría falta probar todas las combinaciones de esos 256 bits"
Hombre, ese es el peor caso y en el mejor caso acertala de chiripa a la primera, ¿no?
#5 a mi me pasa parecido, aunque no sé si con un nivel de seguridad más o menos.. Tendrá tb 20 caracteres pero en un papel o de memoria no la sé, solo la se escribir en un teclado
#81 Vale, no se crearon para eso exactamente, pero encajan perfectamente en ese cometido.
Una funcion hash si añade entropia, de hecho añade bastante (desordena mucho la clave original)
Pues si, es casi aleatorio "no solo para mi", precisamente lo que hacen las funciones hash es que sea muy difícil derivar el mensaje original (en este caso la clave) del resumen hasheado y hace muy difícil que encuentres un hash igual de dos mensajes parecidos.
No hay algoritmos viables para sacar la clave directamente de un hash (es un problema NP completo). Las dos técnicas que se usan sacar una clave de una hash son la fuerza bruta y las tablas arcoíris.
https://es.wikipedia.org/wiki/Tabla_arco%C3%ADris
#61 Urg.... creo que hay que reestablecer el castigo mediante latigazos para comentarios como este....
#3 Con una lista estándar de 2048 palabras, tienes 11 bits por palabra.
Con 24 palabras tienes 264 bits. Es decir una clave de 256 bits + 8 bits para comprobación de errores.
Ese es el protocolo que se usa para las wallets deterministas de Bitcoin. Y memorizar 24 palabras no es nada difícil.
A partir de esos 256 bits puedes derivar tantas claves como quieras, y existen cacharritos capaces de almacenar esos bits por ti de forma segura, derivando las claves conforme las necesites.
#16
O lo que es lo mismo, todos los casos de una clave de 255 bits.
Hace muchos muchos años en Microhobby publicaron un programa que intentaba hacer todas las posibles combinaciones de bits en la pantalla (lo que equivale a una clave de 256x192 = 49152 bits) y bueno... dejabas ahí al pobrecito spectrum con sus 3,54Mhz calculando poco a poco.
Ya decían en el artículo que iba a tardar más tiempo del que probablemente le quede de vida al universo. No era para menos.
#71 ¡Estoy fatal!
#25 Nope.
Un ordenador cuántico reduce a raíz de n el trabajo contra un algoritmo simétrico donde n es el número de bits de la clave. Dobla el tamaño de clave a 512 y ya está. Y además ya tenemos estos algoritmos desde hace años
El problema grave del ordenador cuántico es contra algorítmos asimétricos.
Supongo que una vez (una alternativa de clave) no pasa nada. Otra una vez con otra alternativa de clave tampoco no pasa nada... Otra una vez con otra alternativa de clave no pasa nada. Creo que no es acumulativo. Va más en el sentido de la velocidad de procesamiento para verificar todas las alternativas posibles.
#63 gracias! Lo había leído recién levantado y no lo estaba pillando jajja
#52 Exacto. No veo qué aporta el meneo.
#77 Hablo de ordenador cuanticos, con algoritmos cuanticos, cosa que aun no existe y no se sabe si es posible o no.
#48: Y sino cerrar la mano y bajarla muy fuerte donde está el router para que suene PAMMM, es típico de gorilas.
#93 Dobla el tamaño de clave a 512 y ya está
El artículo habla de AES 256.
#75 ahora sabemos la tuya