9 may. 2016

Nuevos algoritmos de cifrado que nadie conoce

Por distintos motivos de la industria, existen nuevos algoritmos de cifrado sumamente eficientes que nadie implementa y eso lleva a que lamentablemente se sigan utilizando algoritmos caducos como MD5, SHA1 o RC4.

A continuación recomiendo algunos de estos nuevos (y no tan nuevos) algoritmos de cifrado, hashing y autenticación. Algunos de ellos son tan eficientes que son elegidos por los creadores de ransomware:
  • SHA-3: luego de tres años de competencia, en 2015 fue seleccionado por NIST como estándar de hashing para reemplazar al estándar de facto MD5. Es un subconjunto de la familia de primitivas criptográficas Keccak y es una función de hash criptográfica diseñada por Guido Bertoni, Joan Daemen (el mismo de AES), Michaël Peeters y Gilles Van Assche, sobre la base de otras funciones como RadioGatún y Panamá. SHA3 admite salidas de 224, 256, 384 y 512 bits, su código es de dominio público y está definido como estándar en FIPS 202 (SHA-3).
  • Salsa20: es un cifrado de flujo creado por Daniel J. Bernstein (creador de qmail) y que en 2008 fue presentado en eSTREAM, un proyecto que busca identificar y adoptar nuevos estándares de cifrado en flujo y es organizado por EU ECRYPT. Fue parte del proyecto NESSIE y está construida sobre una función pseudoaleatoria basada en operaciones Add-Rotate-Xor (ARX). Salsa20 funciona muy bien en software y hardware, no está patentado, y Bernstein ha escrito varias implementaciones de dominio público. En 2015 se conoció un ataque a Salsa20/12 y a Salsa20/20, el cual logró romper 8 rondas.
  • Rumba20: es una función de compresión diseñado por Bernstein en 2007 para proporcionar resistencia a colisiones. Rumba20 reutiliza componentes de Salsa20.
  • ChaCha20: es un algoritmo de cifrado simétrico, que soporta claves de 128 y 256 bits y de alta velocidad también creado por Bernstein en 2008. Tiene características similares a Salsa20 pero con un función primitiva de 12 o 20 rondas distintas. Su código fue publicado, estandarizado por la RFC 7539 y en implementaciones de software es más eficiente y rápido que AES.
  • Poly1305: es una función de autenticación (MAC) también creada por Bernstein y que puede ser usada para verificar la integridad y autenticación de datos. Poly1305 genera salidas de 16 bytes que son utilizados para autenticar los mensajes y fue estandarizado por la RFC 7539 junto a ChaCha20.
Debido a su performance en dispositivos móviles, Google ha seleccionado ChaCha20 para cifrado y Poly1305 para integridad y autenticación como reemplazo para RC4 en OpenSSL. La implementación inicial de Google en 2015 asegura el tráfico TLS/SSL entre el navegador Chrome y Android así como para los sitios web de Google. Además, y como si fuera poco ChaCha-Poly1305 han sido adoptados como algoritmos desde OpenSSL 6.9.

Así que ya lo sabes, la próxima vez que elijas una función criptográfica piensa bien en los nuevos estándares.

Fuentes:
Cristian de la Redacción de Segu-Info

    0 comentarios:

    Publicar un comentario

    Gracias por dejar un comentario en Segu-Info
    Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

    Gracias por comentar!