Posterior a de esta prolongada selección de datos solucionamos esta cuestión que tienen ciertos de nuestros usuarios. Te brindamos la solución y nuestro objetivo es resultarte de mucha ayuda.
Solución:
Utilice AES.
En más detalles:
- DES es el antiguo “estándar de cifrado de datos” de los años setenta. Su key el tamaño es demasiado pequeño para una seguridad adecuada (56 bits efectivos; esto puede ser de fuerza bruta, como se demostró hace más de diez años). Además, DES utiliza bloques de 64 bits, lo que plantea algunos problemas potenciales al cifrar varios gigabytes de datos con el mismo key (un gigabyte no es tan grande hoy en día).
- 3DES es un truco para reutilizar las implementaciones de DES, conectando en cascada tres instancias de DES (con distintas keys). Se cree que 3DES es seguro hasta al menos “2112” seguridad (que es bastante, y bastante lejos en el ámbito de “no rompible con la tecnología actual”). Pero es lento, especialmente en software (DES fue diseñado para una implementación de hardware eficiente, pero apesta en software; y 3DES apesta tres veces más).
- Blowfish es un cifrado de bloque propuesto por Bruce Schneier e implementado en algunos softwares. El pez globo puede usar enormes keys y se cree seguro, excepto en lo que respecta a su tamaño de bloque, que es de 64 bits, al igual que DES y 3DES. Blowfish es eficiente en software, al menos en algunas plataformas de software (utiliza key-tablas de búsqueda dependientes, por lo tanto, el rendimiento depende de cómo la plataforma maneja la memoria y los cachés).
- AES es el sucesor de DES como algoritmo de cifrado simétrico estándar para las organizaciones federales de EE. UU. (y también como estándar para casi todos los demás). AES acepta keys de 128, 192 o 256 bits (128 bits ya es muy irrompible), usa bloques de 128 bits (así que no hay problema) y es eficiente tanto en software como en hardware. Fue seleccionado a través de un concurso abierto en el que participaron cientos de criptógrafos durante varios años. Básicamente, no puedes tener algo mejor que eso.
Entonces, en caso de duda, use AES.
Tenga en cuenta que un cifrado de bloque es un cuadro que cifra “bloques” (porciones de datos de 128 bits con AES). Al cifrar un “mensaje” que puede tener más de 128 bits, el mensaje debe dividirse en bloques, y la forma real en que se realiza la división se denomina modo de operación o “encadenamiento”. El modo ingenuo (división simple) se llama ECB y tiene problemas. Usar un cifrado de bloque correctamente no es fácil y es más importante que seleccionar entre, por ejemplo, AES o 3DES.
Todos estos esquemas, excepto AES y Blowfish, tienen vulnerabilidades conocidas y no deben usarse.
Sin embargo, Blowfish ha sido reemplazado por Twofish.
Los métodos de cifrado descritos son simétricos. key cifrados en bloque.
Data Encryption Standard (DES) es el predecesor, encriptando datos en bloques de 64 bits usando un bloque de 56 bits. key. Cada bloque está encriptado de forma aislada, lo cual es una vulnerabilidad de seguridad.
Triple DES amplía la key longitud de DES aplicando tres operaciones DES en cada bloque: un cifrado con key 0, un descifrado con key 1 y un cifrado con key 2. Estos keys puede estar relacionado.
DES y 3DES generalmente se encuentran cuando interactúan con productos y servicios comerciales heredados.
AES se considera el sucesor y el estándar moderno. http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
Creo que se desaconseja el uso de Blowfish.
Se recomienda encarecidamente que no intente implementar su propia criptografía y, en su lugar, utilice una implementación de alto nivel como GPG para datos en reposo o SSL/TLS para datos en tránsito. Aquí hay un video excelente y aleccionador sobre las vulnerabilidades de cifrado http://rdist.root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/
Si te ha resultado de provecho este artículo, nos gustaría que lo compartas con otros seniors de esta manera nos ayudas a dar difusión a esta información.