Clase magistral de encriptacion por .@gallir
Clase magistral de encriptacion por .@gallir
Todo arranca por un tuit que hice desde la cuenta de @partido_pirata
-
.@edans .@gallir La agencia de estandares US, #NIST, recomienda abandonar el uso de sus estandares de #encriptacion propublica.org/article/standa…
-
@partido_pirata @edans WTF? la generación de aleatorios NO es lo mismo que algoritmos de cifrado, como decían, p.e. menea.me/1735e
-
@partido_pirata @edans Y avisé que se hacía la picha un lío con eso, sobre lo cuál no hay discusión, es un hecho que no es lo mismo.
-
-
1/n: La criptografía es muy compleja y pocos las dominan, pero sus principios de funcionamiento son fáciles de entender, para cualquiera.
-
2/n: Todo se basa en pasar de un texto claro a uno cifrado usando una clave: la «keygen». Ésta puede ser una contraseña humana, o algo mejor
-
3/n: En caso de cif. simétrico (AES…) la clave tiene que ser conocida por el receptor. En caso asimétrico (RSA), se generan dos diferentes
-
4/n: La fortaleza de un cifrado depende de que no se pueda predecir las bits/bytes generados en el cifrado.
-
5/n: La predictibilidad del texto cifrado depende del algoritmo, y en gran medida de la clave (keygen) que se usa.
-
6/n: Las claves/contraseñas generadas por humanos son en general malas, son más predecibles que una clave obtenida aleatoriamente.
-
7/n: Por eso muchos algoritmo usan números aleatorios «fuertes» para generar esa keygen. El problema es cómo obtener esos números aleatorios
-
8/n: Los números pseudoaleatorios generados por software no son suficientes para cifrado, se necesitan números menos predecibles.
-
9/n: Para ello se usan técnicas o dispositivos de hardware que introducen más impredictibilidad, la «entropía».
-
10/n: Los dispositivos de hardware pueden medir el decay radiactivo o radiación cósmica, son más caros que los que usan ruido térmico, p.e.
-
11/n: En los sistemas operativos se usan las interrupciones del sistema como una forma de obtener entropía (como en /dev/random).
-
12/n: Muchos PCs vienen con dispositivos dedicados, como el de Intel, que generan esa entropía a partir de ruido «electrónico» o térmico.
-
13/n: Además de esa entropía, se necesitan buenos algoritmos para generar los números pseudoaleatorios, hay estándares NIST para ello.
-
14/n: Dicen que la NSA influyó en la determinación de esos estándares de generación de números aleatorios, por eso se está revisando,
-
15/n: En los tuits anteriores quedó claro la importancia de números aleatorios impredecibles para obtener un buen cifrado, pero…
-
16/n: la generación de números aleatorios no es el algoritmo de cifrado, son diferentes, y el primero se aplica a todos.
-
17/n: Si alguien puede predecir mejor los números aleatorios que se generan, puede predecir mejor la clave que se usará, y…
-
18/n: podrá descifrar un mensaje con mucha más facilidad, es como saber más o menos que contraseña pone el usuario, pero eso no significa…
-
19/n: que el «algoritmo de cifrado» esté roto o sea malo. Por eso hay que distinguir las diferencias entre generar claves y cifrar con ellas
-
20/n: También hay que distinguir que el generador de entropía no es igual al algoritmo de generación pseudoaleatoria.
-
21/n: Aunque el generador de entropía esté manipulado por la NSA, si se combina con otras fuentes, poco pueden hacer meneame.net/story/linus-to…
-
22/n: Los generadores de entropía y números aleatorios por hardware son la forma más segura y eficiente, por eso son tan importantes.
-
23/n: Pero no todos podemos tener los caros, por lo que usamos los que ya trae nuestro PC más los mecanismos de software del SO.
-
24/n: Pero el SO tiene que ser conservador y hacer medición de la entropía de los datos que genera, por eso suelen ser lentos.
-
25/n: Así que aunque algoritmos de cifrado simétrico (como AES) son muy eficientes, el cuello de botella es la obtención de los aleatorios.
-
26/n: Obtener esos buenos pseudoaleatorios es lento, pero clave para que lo demás funcione, de allí que se le da tanta importancia.
-
27/n: la cosa es más o menos: entropía -> números aleatorios -> generar clave (keygen) -> cifrado. Todos importantes, pero no son lo mismo.
-
28/28: Y eso fue todo, una intro rápida a las «partes» de un sistema de cifrado, para que no os confundais con tanta información mala 😉
Read next page
storify.com
Trackbacks / Pingbacks