Agregando un poco, sobre todo si están pensando en almacenar datos que desean mantener secretos por varias décadas, es importante pensar que es posible que a futuro rompan los algoritmos que usamos para cifrar con GPG, como se cree que debería ser posible con generaciones futuras de procesadores cuánticos.
Una forma de evitarlo es la técnica de “encadenado”, donde simplemente se cifra en un algoritmo y luego en otro. La técnica es solo un poco más lenta que hacer un solo cifrado, y no requiere espacio adicional o algo parecido.
Sobre todo si quieren experimentar con algoritmos post-cuánticos, existe la herramienta codecrypt para hacer operaciones similares a las de GPG. También ya existen navegadores, servidores web, VPNs y otras tecnologías que poco a poco se van adaptando para ser post-cuánticos.
Nota: Codecrypt también contiene algoritmos que se pueden romper mañana, y de hecho es más probable dado que han sido estudiado menos. Por eso insisten en realizar un encadenado con GPG, no para reemplazar GPG.
Ah sí, muy relevante.
Por eso une no debería publicar su sexting cifrado en reddit, por ejemplo. Igual hay que tener cuidado de que la info cifrada llegue solo a una persona en la que confiamos que va a respetar las condiciones que esperamos.
Gracias @fede2.
A mi me gustó mucho esta historia que compartió @jeff:
@fede2 me interesa mucho entender qué hace que un cifrado sea post-cuántico. ¿nos podés explicar más porfa?
Yo justo estuve reflexionan sobre esto mientras traducía Las tarjetas postales que enviamos. La idea de que los procesos numéricos necesarios para crackear el cifrado asimétrico son tan complejos/amplios que eso hace que estemos segures detrás de ellos, es algo que se va a acabar cuando las compus cuánticas sean de mayor fácil acceso para la ciudadanía, no?
O bueno, eso pensaba pero como dice @fede2 ya se está viendo cómo se preserva la seguridad a través de código post cuántico. También me gustaría saber más y si estoy entendiéndolo correctamente.
Claro con gusto.
La criptografía moderna se basa en que es complicado llegar a una solución, pero una vez que se tiene, es muy sencillo de verificar. Por ello es que pegar de batazo un clave de 24 caracteres, tomaría más tiempo que el tiempo que ha estado el universo funcionando.
En el caso de los algoritmos atacables por chips cuánticos, están basados en problemas de factorización. O sea, mi llave es un número resultado de multiplicar dos números primos muy grandes, y ponernos a probar cuales son esos números, tomaría demasiado tiempo.
Una forma de brincarse esto, es usando un algoritmo de Shor, el cual puede devolver la factorización, básicamente de inmediato, no en un par de meses de correr el sistema, sino de inmediato.
Los nuevos algoritmos lo que hacen es que no trabajan sobre el problema de complejidad de factorización, sino que utilizan otras técnicas, algunas más nuevas, otras más viejas; pero si hay que estar claros en que como han pasado menos tiempo en la calle, y por ser implementaciones recientes, podrían romperse de forma muy sencilla, así como podrían aguantar por décadas y décadas.
También tienen otras desventajas menores, como que usan más tiempo de CPU (no es importante en máquinas modernas, más si en microcontroladoras), y muchos requieren llaves bien grandes (como McEllice).
Habiendo dicho eso, las técnicas matemáticas que usan son bien interesantes, aunque sí un pelito complicados de digerir (recomendado el libro de DJB).
Por cierto, también existen algoritmos “viejos” como AES, los cuales si se utilizan con llaves de gran tamaño, se consideran resistentes a Shor, aunque claro, yo recomendaría Salsa20 en su lugar (para extra paranoia de la buena :þ )
Gracias! Muy chiva y muy loco. Qué diversos que son los procesos que los sistemas actuales deben contemplar. La complejidad ha ido creciendo exponencialmente que me abruma pero me interesa más