Tabla de contenidos
El cifrado tiene una larga historia que se remonta a cuando los antiguos griegos y romanos enviaban mensajes secretos sustituyendo letras solo descifrables por una clave secreta. Únase a nosotros para una lección de historia rápida y aprenda más sobre cómo funciona el cifrado.
En la edición de hoy de HTG Explains, le brindaremos una breve historia del cifrado, cómo funciona y algunos ejemplos de diferentes tipos de cifrado. Asegúrese de consultar también la edición anterior, donde explicamos por qué tantos geeks odian Internet. Explorador .
Imagen de xkcd , obviamente.
Los primeros días del cifrado
Los antiguos griegos usaban una herramienta llamada Scytale para ayudar a encriptar sus mensajes más rápidamente usando un cifrado de transposición; simplemente envolvían la tira de pergamino alrededor del cilindro, escribían el mensaje y luego, cuando desenrollaban, no tenían sentido.
Este método de cifrado podría romperse con bastante facilidad, por supuesto, pero es uno de los primeros ejemplos de cifrado que se utiliza realmente en el mundo real.
Julio César utilizó un método algo similar durante su tiempo al desplazar cada letra del alfabeto hacia la derecha o hacia la izquierda en varias posiciones, una técnica de cifrado conocida como cifrado de César . Por ejemplo, usando el cifrado de ejemplo a continuación, escribirías «GEEK» como «JHHN».
Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
Dado que solo el destinatario previsto del mensaje conocía el cifrado, sería difícil para la siguiente persona decodificar el mensaje, que aparecería como un galimatías, pero la persona que tenía el cifrado podría decodificarlo y leerlo fácilmente.
Otros cifrados de cifrado simples, como el cuadrado de Polibio, utilizaban un cifrado polialfabético que enumeraba cada letra con las posiciones numéricas correspondientes en la parte superior y lateral para indicar dónde estaba la posición de la letra.
Usando una tabla como la de arriba, escribirías la letra “G” como “23”, o “GEEK” como “23 31 31 43”.
Máquina Enigma
Durante la Segunda Guerra Mundial, los alemanes usaron la máquina Enigma para pasar transmisiones encriptadas de un lado a otro, lo que llevó años antes de que los polacos pudieran descifrar los mensajes y dar la solución a las fuerzas aliadas, lo que fue fundamental para su victoria.
La historia del cifrado moderno
Seamos realistas: las técnicas modernas de cifrado pueden ser un tema extremadamente aburrido, por lo que en lugar de simplemente explicarlas con palabras, hemos creado una tira cómica que habla sobre la historia del cifrado, inspirada en la guía de figuras de palo de Jeff Moser para AES . Nota: claramente, no podemos transmitir todo sobre la historia del cifrado en una tira cómica.
En aquellos días, las personas no tenían un buen método de cifrado para proteger sus comunicaciones electrónicas.
Lucifer fue el nombre dado a varios de los primeros cifrados de bloques civiles , desarrollados por Horst Feistel y sus colegas en IBM.
El estándar de cifrado de datos (DES) es un cifrado en bloque (una forma de cifrado secreto compartido) que fue seleccionado por la Oficina Nacional de Estándares como estándar oficial de procesamiento de información federal (FIPS) para los Estados Unidos en 1976 y que posteriormente ha disfrutado de una amplia difusión. utilizar internacionalmente.
Las preocupaciones sobre la seguridad y el funcionamiento relativamente lento de DES en el software motivaron a los investigadores a proponer una variedad de diseños de cifrado de bloques alternativos, que comenzaron a aparecer a fines de la década de 1980 y principios de la de 1990: ejemplos incluyen RC5 , Blowfish , IDEA , NewDES , SAFER , CAST5 y FEAL
El algoritmo de cifrado de Rijndael fue adoptado por el gobierno de los EE. UU. Como cifrado estándar de clave simétrica o Estándar de cifrado avanzado (AES). AES fue anunciado por el Instituto Nacional de Estándares y Tecnología (NIST) como US FIPS PUB 197 (FIPS 197) el 26 de noviembre de 2001 después de un proceso de estandarización de 5 años en el que se presentaron y evaluaron quince diseños competidores antes de que Rijndael fuera seleccionado como el más algoritmo de cifrado adecuado.
Rendimiento del algoritmo de cifrado
Existen muchos algoritmos de encriptación, y todos se adaptan a diferentes propósitos; las dos características principales que identifican y diferencian un algoritmo de encriptación de otro son su capacidad para proteger los datos protegidos contra ataques y su velocidad y eficiencia al hacerlo.
Como buen ejemplo de la diferencia de velocidad entre los diferentes tipos de cifrado, puede utilizar la utilidad de evaluación comparativa integrada en el asistente de creación de volumen de TrueCrypt; como puede ver, AES es, con mucho, el tipo más rápido de cifrado fuerte.
Existen métodos de cifrado más lentos y más rápidos, y todos son adecuados para diferentes propósitos. Si simplemente está tratando de descifrar una pequeña parte de los datos de vez en cuando, puede permitirse usar el cifrado más fuerte posible, o incluso cifrarlo dos veces con diferentes tipos de cifrado. Si necesita velocidad, probablemente querrá optar por AES.
Para obtener más información sobre la evaluación comparativa de diferentes tipos de cifrado, consulte un informe de la Universidad de Washington de St. Louis , donde hicieron un montón de pruebas en diferentes rutinas y lo explicaron todo en un artículo muy geek.
Tipos de cifrado moderno
Todo el elegante algoritmo de cifrado del que hemos hablado anteriormente se utiliza principalmente para dos tipos diferentes de cifrado:
- Los algoritmos de claves simétricas utilizan claves de cifrado idénticas o relacionadas tanto para el cifrado como para el descifrado.
- Los algoritmos de clave asimétrica utilizan diferentes claves para el cifrado y el descifrado, lo que generalmente se conoce como criptografía de clave pública.
Cifrado de clave simétrica
Para explicar este concepto, usaremos la metáfora del servicio postal descrita en Wikipedia para comprender cómo funcionan los algoritmos de clave simétrica.
Alice pone su mensaje secreto en una caja y cierra la caja con un candado del que tiene una llave. Luego le envía la caja a Bob por correo regular. Cuando Bob recibe la caja, usa una copia idéntica de la llave de Alice (que de alguna manera ha obtenido previamente, tal vez en una reunión cara a cara) para abrir la caja y leer el mensaje. Bob puede usar el mismo candado para enviar su respuesta secreta.
Los algoritmos de clave simétrica se pueden dividir en cifrados de flujo y cifrados de bloque; los cifrados de flujo cifran los bits del mensaje uno a la vez, y los cifrados de bloque toman una cantidad de bits, a menudo en bloques de 64 bits a la vez, y los cifran como una sola unidad. Hay muchos algoritmos diferentes entre los que puede elegir: los algoritmos simétricos más populares y respetados incluyen Twofish , Serpent , AES ( Rijndael ), Blowfish , CAST5 , RC4 , TDES e IDEA .
Cifrado asimétrico
En un sistema de llave asimétrica, Bob y Alice tienen candados separados, en lugar del candado único con varias llaves del ejemplo simétrico. Nota: este es, por supuesto, un ejemplo muy simplificado de cómo funciona realmente, que es mucho más complicado, pero obtendrá una idea general.
Primero, Alice le pide a Bob que le envíe su candado abierto a través del correo regular, manteniendo la llave para él. Cuando Alice lo recibe, lo usa para bloquear una casilla que contiene su mensaje y envía la casilla bloqueada a Bob. Bob puede abrir la caja con su llave y leer el mensaje de Alice. Para responder, Bob también debe conseguir el candado abierto de Alice para cerrar la caja antes de devolvérsela.
La ventaja fundamental de un sistema de claves asimétricas es que Bob y Alice nunca necesitan enviarse una copia de sus claves entre sí. Esto evita que un tercero (tal vez, en el ejemplo, un trabajador postal corrupto) copie una clave mientras está en tránsito, permitiendo que dicho tercero espíe todos los mensajes futuros enviados entre Alice y Bob. Además, si Bob fuera descuidado y permitiera que alguien más copiara su clave, los mensajes de Alice a Bob se verían comprometidos, pero los mensajes de Alice a otras personas permanecerían en secreto, ya que las otras personas proporcionarían diferentes candados para que Alice los usara.
El cifrado asimétrico utiliza diferentes claves para el cifrado y el descifrado. El destinatario del mensaje crea una clave privada y una clave pública. La clave pública se distribuye entre los remitentes del mensaje y ellos utilizan la clave pública para cifrar el mensaje. El destinatario utiliza su clave privada para cualquier mensaje cifrado que haya sido cifrado con la clave pública del destinatario.
Hay un beneficio importante de realizar el cifrado de esta manera en comparación con el cifrado simétrico. Nunca necesitamos enviar nada secreto (como nuestra clave de cifrado o contraseña) a través de un canal inseguro. Su clave pública sale al mundo; no es secreta y no necesita serlo. Su clave privada puede permanecer cómoda y cómoda en su computadora personal, donde la generó; nunca tiene que ser enviada por correo electrónico a ninguna parte ni ser leída por atacantes.
Cómo el cifrado protege la comunicación en la web
Durante muchos años, el protocolo SSL ( Secure Sockets Layer ) ha asegurado las transacciones web mediante el cifrado entre su navegador web y un servidor web, protegiéndolo de cualquier persona que pueda estar fisgoneando en la red en el medio.
SSL en sí mismo es conceptualmente bastante simple. Comienza cuando el navegador solicita una página segura (generalmente https: //)
El servidor web envía su clave pública con su certificado.
El navegador comprueba que el certificado fue emitido por una parte de confianza (normalmente una CA raíz de confianza), que el certificado sigue siendo válido y que el certificado está relacionado con el sitio contactado.
A continuación, el navegador utiliza la clave pública para cifrar una clave de cifrado simétrica aleatoria y la envía al servidor con la URL cifrada requerida, así como otros datos http cifrados.
El servidor web descifra la clave de cifrado simétrica utilizando su clave privada y utiliza la clave simétrica del navegador para descifrar su URL y sus datos http.
El servidor web devuelve el documento html solicitado y los datos http cifrados con la clave simétrica del navegador. El navegador descifra los datos http y el documento html utilizando la clave simétrica y muestra la información.
Y ahora puedes comprar de forma segura ese artículo de eBay que realmente no necesitas.
¿Aprendiste algo?
Si llegó hasta aquí, estamos al final de nuestro largo viaje para comprender el cifrado y un poco de cómo funciona, comenzando desde los primeros días del cifrado con los griegos y romanos, el surgimiento de Lucifer y, finalmente, cómo SSL utiliza encriptación asimétrica y simétrica para ayudarte a comprar ese conejito rosa esponjoso en eBay.
Somos grandes admiradores del cifrado aquí en How-To Geek, y hemos cubierto muchas formas diferentes de hacer cosas como:
- Introducción a TrueCrypt (para proteger sus datos)
- Agregar cifrado automático de sitios web a Firefox
- BitLocker To Go cifra unidades flash portátiles en Windows 7
- Cómo proteger su PC con Linux cifrando su disco duro
- Agregar opciones de cifrado / descifrado al menú contextual de Windows 7 / Vista
- Introducción a TrueCrypt Drive Encryption en Mac OS X
Por supuesto, el cifrado es un tema demasiado complicado para explicarlo todo. ¿Perdimos algo importante? Siéntase libre de compartir sus conocimientos sobre sus compañeros lectores en los comentarios.