Simétrico, Asimétrico, Hash y Más…

La criptografía es una técnica para proteger la información y la comunicación mediante el uso de un conjunto de cálculos basados ​​en reglas llamados algoritmos y algunos conceptos matemáticos para que solo la persona adecuada pueda entenderlos.

Es útil para evitar el acceso no autorizado a la información.

La palabra «criptografía» se deriva de la palabra griega kryptos, que significa oculto. La palabra «cripto» significa «oculto» y «grafía» significa «escritura».

En este artículo, cubriré los conceptos básicos de los principios de la criptografía, exploraré varios tipos con ejemplos, analizaré los desafíos y anticiparé las tendencias futuras. Mi objetivo es proporcionar una descripción general completa, que abarque tanto los conceptos principales como los menores.

La criptografía protege la comunicación y la información digitales en diversos sistemas y aplicaciones, garantizando la confidencialidad y la seguridad de los datos. Protege los datos del acceso no autorizado.

Veamos qué pasa en criptografía:

  • El proceso comienza con el remitente que tiene un mensaje o datos para enviar.
  • Luego, el texto sin formato (mensaje original) se convierte a un formato ilegible mediante un método llamado cifrado.
  • El receptor utiliza una clave para convertir el texto cifrado (formato ilegible) nuevamente a un formato legible, un proceso conocido como descifrado.
  • El mensaje descifrado está nuevamente en texto sin formato y es el mismo que el mensaje original enviado por el remitente.
  • El receptor ahora tiene el mensaje original.
  • Ahora, exploremos los principios fundamentales de la criptografía.

    Principios básicos de criptografía

    Hay cuatro principios fundamentales de la criptografía:

    #1. Confidencialidad: Sólo el destinatario previsto puede acceder a la información; sigue siendo privado para los demás.

    #2. Integridad: la información no puede modificarse durante el almacenamiento o la transmisión sin que se detecte ningún cambio.

    #3. No repudio: El remitente no puede negar el envío de la información posteriormente.

    #4. Autenticación: Confirma las identidades tanto del remitente como del destinatario y verifica el origen y destino de la información.

    Antes de continuar, repasemos algo de vocabulario básico.

    Glosario:

    PalabraSignificadoCriptografíaEs una técnica para proteger la información y la comunicación mediante el uso de un conjunto de cálculos basados ​​en reglas llamados algoritmos y algunos conceptos matemáticos para que solo la persona adecuada pueda entenderlos. CifradoUn cifrado es un método o algoritmo utilizado para cifrar y descifrar datosCifradoEl proceso de convertir texto sin formato en texto cifradoTexto sin formatoForma original de datos o texto sin cifrarTexto cifradoDatos cifrados (una forma codificada de los datos) o textoDescifradoEl proceso inverso de convertir texto cifrado nuevamente en texto sin formato usando una clave de descifradoClaveUna clave es una pieza de información, normalmente una secuencia de bits, que se utiliza para controlar el proceso de cifrado y descifrado. Intercambio de claves La transferencia segura de claves de cifrado entre el remitente y el receptor. Glosario de criptografía

    Existen tres tipos fundamentales de Criptografía:

  • Criptografía de clave simétrica
  • Criptografía de clave asimétrica
  • Función hash
  • Criptografía de clave simétrica

    La criptografía de clave simétrica, también conocida como cifrado de clave única, es una técnica de cifrado que se basa en una única clave secreta para cifrar y descifrar datos.

    En este método, tanto el remitente como el receptor deben utilizar exactamente la misma clave secreta para comprender los datos. Funciona cambiando datos normales en código secreto (texto cifrado) utilizando la clave secreta y un proceso matemático específico.

    Cuando el receptor, que también conoce la clave secreta, recibe el mensaje codificado, puede utilizar el mismo proceso matemático para convertirlo nuevamente en datos normales. De esta forma, el receptor obtiene la información original del código secreto.

    Criptografía simétrica

    Entendamos el proceso a través de los siguientes pasos:

    • El algoritmo convierte el texto original (texto sin formato) en texto cifrado mediante el uso de una clave secreta.
    • Luego, el remitente envía ese texto cifrado al destinatario a través del canal de comunicación. Este canal de comunicación podrá ser privado o público.
    • Los destinatarios utilizan la misma clave secreta para descifrar ese texto cifrado y convertirlo en texto original.

    Este proceso de cifrado simétrico garantiza que la comunicación entre el remitente y el receptor permanezca segura. Pero la clave secreta debe ser confidencial.

    Para mantener la confidencialidad y la integridad, ambas partes deben gestionar y proteger de forma segura esta clave secreta.

    Hay dos tipos de cifrados de cifrado simétrico:

  • Cifrado de flujo
  • Cifrado de bloque
  • Stream CipherBlock CipherCifra datos en bloques de longitud fijaMientras se cifran los datos, el sistema los retiene en la memoria, esperando hasta que los bloques completos estén listos para su procesamiento. Cifra datos un bit o byte a la vez. Cifra datos en bloques de longitud fija. Utiliza 8 bits de la clave. Utiliza 64. bits o más de 64 bits de la clave Más complejo que el cifrado en bloque Más simple que el cifrado en flujo Cifra datos en bloques de longitud fija Lento y adecuado para aplicaciones fuera de línea Utiliza los modos CFB y OFB Utiliza los modos ECB y CBC. Stream Cipher vs Block Cipher

    Algunos ejemplos de algoritmos de cifrado simétrico incluyen:

    • AES (Estándar de cifrado avanzado): es conocido por su seguridad y eficiencia. Se utiliza comúnmente para proteger datos confidenciales, como seguridad inalámbrica, computación en la nube, banca y comercio electrónico.
    • DES (Estándar de cifrado de datos): es un método de cifrado más antiguo que fue reemplazado por AES y 3DES. Utiliza una clave de 56 bits.
    • IDEA (Algoritmo Internacional de Cifrado de Datos): Utiliza una clave de 128 bits y se utiliza en diversas aplicaciones.
    • Blowfish: Algoritmo diseñado como reemplazo directo de DES o IDEA.
    • RC4 (Rivest Cipher 4): Desarrollado por Ron Rivest. Es conocido por su simplicidad y velocidad, pero tiene algunos problemas de seguridad en ciertas implementaciones.
    • RC5 (Rivest Cipher 5): está diseñado para ser eficiente y seguro, con un tamaño de bloque y un tamaño de clave variables.
    • RC6 (Rivest Cipher 6): está diseñado para proporcionar seguridad y rendimiento mejorados en comparación con versiones anteriores.

    AES, DES, IDEA, Blowfish, RC5 y RC6 son cifrados en bloque.

    RC4 es un cifrado de flujo.

    Ventajas de la criptografía de clave simétrica

    • Es más rápida y eficiente que la criptografía asimétrica
    • El tamaño de la clave es pequeño, lo que permite generar cifrados más potentes.
    • Es relativamente rentable producir claves seguras para cifrados.
    • AES es uno de los algoritmos seguros.

    Desventajas de la criptografía de clave simétrica

    • Compartir de forma segura claves de cifrado con todas las partes que necesitan comunicarse de forma segura es un desafío importante de la criptografía simétrica.
    • La seguridad de todo el sistema puede verse vulnerada si un atacante intercepta o compromete la clave durante la transmisión.
    • Los sistemas de cifrado simétrico requieren prácticas cuidadosas de gestión de claves. Esto incluye generar, almacenar, actualizar y revocar claves. La mala gestión de las claves puede provocar violaciones de seguridad.
    • Los atacantes pueden interceptar claves intercambiadas a través de un canal inseguro, lo que compromete la comunicación.

    Aun así, el cifrado simétrico es una parte esencial de la criptografía moderna y se utiliza ampliamente en muchas aplicaciones, a pesar de sus inconvenientes.

    Las prácticas sólidas de gestión de claves y los métodos seguros de intercambio de claves pueden ayudar a superar algunos de los desafíos de la criptografía simétrica.

    Criptografía de clave asimétrica

    La criptografía asimétrica utiliza pares de claves: una privada que se mantiene en secreto y otra pública que se comparte abiertamente. Puedes usar la clave pública de alguien para cifrar un mensaje, y solo esa persona puede descifrarlo con su clave privada.

    Este método aumenta la seguridad digital al permitir una comunicación segura sin compartir claves secretas, lo cual es crucial en nuestro mundo en línea.

    Esto es útil para una comunicación segura, ya que los destinatarios sólo necesitan su clave pública. Elimina el riesgo de compartir una clave simétrica secreta.

    Estos «algoritmos de clave pública» utilizan un par de claves para proteger los datos.

    Aquí hay un desglose más simple:

    Criptografía simétrica versus asimétrica

    • Hay dos claves. Una clave pública, a la que todos pueden acceder, y una clave privada, que se mantiene en secreto.
    • La clave pública se utiliza para cifrar o bloquear los datos.
    • La clave privada se utiliza para descifrar o desbloquear los datos.

    Es importante comprender que no se puede distinguir la clave privada de la clave pública. Además, las claves públicas suelen estar vinculadas a identidades por organizaciones conocidas como autoridades de certificación.

    Comunicación segura El remitente y el receptor han intercambiado un mensaje seguro sin comprometer sus claves privadas.

    Estos algoritmos se basan en problemas matemáticos como la factorización de números enteros y logaritmos discretos para crear firmas digitales y establecer/distribuir claves de sesión, como en el protocolo TLS.

    Algunos ejemplos de algoritmos de cifrado asimétrico incluyen:

    • RSA (Rivest-Shamir-Adleman): RSA es uno de los algoritmos de cifrado asimétrico más utilizados. Se basa en las propiedades matemáticas de los números primos grandes y se utiliza habitualmente para el intercambio seguro de claves y firmas digitales.
    • Criptografía de Curva Elíptica (ECC): Se basa en la estructura algebraica de curvas elípticas sobre campos finitos. ECC ofrece la ventaja de tamaños de clave más pequeños en comparación con la criptografía que no es EC y que se basa en campos simples de Galois. ECC se utiliza principalmente para generar números pseudoaleatorios y firmas digitales.
    • Intercambio de claves Diffie-Hellman: este algoritmo se utiliza para el intercambio de claves seguro. Una clave creada con este método se puede utilizar para el cifrado con un algoritmo simétrico. El principal objetivo de Diffie-Hellman es permitir que dos partes creen una clave secreta compartida a través de un canal de comunicación inseguro.

    Ventajas de la criptografía asimétrica

    • El cifrado asimétrico proporciona una mayor seguridad en comparación con la criptografía simétrica.
    • El receptor puede verificar la identidad del remitente.
    • El cifrado asimétrico resolvió el problema relacionado con la distribución de claves, que mencioné en las desventajas de la criptografía de claves simétricas.
    • Los destinatarios del mensaje pueden detectar si el mensaje fue modificado en tránsito.

    Desventajas de la criptografía de clave asimétrica

    • El cifrado asimétrico es un proceso más lento que la criptografía simétrica.
    • El cifrado y descifrado asimétricos requieren más recursos computacionales que la criptografía simétrica.
    • La criptografía asimétrica se basa en claves públicas y privadas. Gestionar estas claves de forma segura puede resultar complejo y desafiante, especialmente en sistemas de gran escala.
    • La posible desventaja más importante de la criptografía asimétrica es su vulnerabilidad a las computadoras cuánticas. Las computadoras cuánticas tienen el potencial de resolver ciertos problemas matemáticos, como la factorización de números enteros y logaritmos discretos, de manera mucho más eficiente que las computadoras clásicas.

    Pero no hay necesidad de preocuparse, las organizaciones y los investigadores están trabajando para realizar la transición a estas técnicas criptográficas resistentes a los cuánticos.

    Avancemos hacia nuestro siguiente tipo de criptografía:

    Función hash

    Las funciones hash criptográficas son diferentes de otros tipos de criptografía. No cifran datos. En cambio, utilizan matemáticas complejas para convertir cualquier dato en un código único compuesto de letras y números.

    Estos códigos se denominan códigos hash, valores hash o resúmenes de mensajes. Son importantes para comprobar si los datos están seguros; cuando se envían o almacenan datos, su código hash se calcula y se envía o se guarda con los datos.

    El destinatario puede volver a calcular el código de los datos que recibió y compararlo con el enviado. Si los códigos coinciden, significa que los datos se mantuvieron seguros durante la transmisión y el almacenamiento.

    Aquí tienes una sencilla explicación paso a paso:

    Función hash

    Lado del remitente:

  • El remitente utiliza una función hash para crear un valor hash único para los datos proporcionados.
  • Después de crear valores hash, el remitente envía tanto el mensaje original como el código hash al receptor a través de un canal inseguro.
  • Lado del receptor:

  • El receptor recibe el mensaje y el código hash.
  • El receptor también utiliza la misma herramienta especial (función hash) para crear un nuevo código hash para el mensaje recibido.
  • El receptor compara el nuevo código hash con el enviado por el remitente.
  • Resultado:

    • Si los códigos hash coinciden, significa que el mensaje no fue modificado durante la transmisión y se considera seguro.
    • Si los códigos hash no coinciden, sugiere que el mensaje podría haber sido modificado y no se considera seguro.

    Estas son algunas de las propiedades que hacen que las funciones hash sean útiles:

    Propiedades de la función hash:

  • Determinista: si proporciona la misma entrada, siempre producirá el mismo resultado.
  • Uniformidad y libre de colisiones: una buena función hash debería producir resultados distribuidos uniformemente. Ayuda a evitar colisiones.
  • Eficiente: las funciones hash están diseñadas para ser computacionalmente eficientes, lo que les permite procesar rápidamente grandes cantidades de datos.
  • Salida de tamaño fijo: Produce una salida de tamaño fijo independientemente del tamaño de entrada. Esta propiedad es esencial porque permite el almacenamiento y la recuperación eficiente de datos.
  • Las funciones hash tienen muchas aplicaciones en informática y seguridad de la información, incluida la criptografía, la verificación de la integridad de los datos, la indexación de datos, la toma de huellas digitales de los datos, el almacenamiento de contraseñas, la ciencia forense digital y la cadena de bloques.

    Las funciones hash criptográficas comúnmente utilizadas incluyen:

    Hay dos familias ampliamente utilizadas de funciones hash criptográficas: la familia MD (MD = resumen de mensajes) y la familia SHA (SHA = algoritmo hash seguro).

    • SHA-1 (Algoritmo Hash Seguro 1): Era una de las funciones hash más populares. Sin embargo, SHA-1 ahora se considera débil debido a vulnerabilidades que permiten ataques de colisión prácticos. Ya no se utiliza para la mayoría de las aplicaciones de seguridad.
    • MD5 (Algoritmo 5 de resumen de mensajes): MD5 era popular en el pasado, pero ahora se considera débil debido a vulnerabilidades de colisión. Generalmente no se utiliza para aplicaciones sensibles a la seguridad.
    • SHA-3: SHA-3 es una familia más nueva de funciones hash seleccionadas a través de una competencia por parte del Instituto Nacional de Estándares y Tecnología (NIST). Proporciona una gran seguridad y está diseñado para ser resistente a ciertos tipos de ataques.

    Aunque las funciones hash no cifran mensajes, son una parte integral de la criptografía porque desempeñan un papel crucial en la seguridad y autenticación de datos, que son objetivos clave en la criptografía.

    Ventajas de la función hash

    • Una función hash segura garantiza una alta resistencia a las colisiones.
    • Se pueden comparar dos archivos para determinar su igualdad fácilmente mediante hash.
    • Las funciones hash son increíblemente rápidas y eficientes.
    • En DBMS, el hash se utiliza para buscar la ubicación de los datos sin utilizar una estructura de índice.

    Desventajas de la función hash

    • Las funciones hash pueden funcionar con menos eficacia cuando hay numerosas colisiones.
    • No se permiten valores nulos.
    • La implementación de tablas hash puede ser una tarea desafiante debido a su complejidad.
    • En la práctica, es casi imposible evitar por completo las colisiones de hash cuando se trata de un gran conjunto de claves potenciales.

    Lea también: Cómo protegerse de un ataque a la mesa arcoíris

    Aplicaciones de la criptografía en la vida real

    • Autenticación/Firmas digitales: La autenticación es el proceso vital de confirmar la autenticidad de los datos, verificar la fuente de un documento, validar la identidad del remitente, la exactitud de la marca de tiempo y garantizar la legitimidad de las identidades de la computadora o del usuario. Las firmas digitales emplean métodos criptográficos que involucran una función hash y una clave privada para validar y firmar documentos de forma segura.
    • Cifrado de almacenamiento en la nube: la criptografía se emplea para proteger los archivos almacenados en la nube y durante la transmisión hacia y desde los servicios en la nube.
    • Dinero electrónico: El dinero electrónico implica transferencias electrónicas de fondos entre partes, que pueden ser de débito o crédito, anónimas o identificadas. Utiliza cifrado, firmas digitales y criptografía de clave pública por motivos de seguridad, lo que permite varios tipos de transacciones.
    • Cifrado/Descifrado de correo electrónico: el cifrado de correo electrónico protege el contenido del correo electrónico contra el acceso no autorizado mediante criptografía de clave pública. Cada usuario tiene un par de claves pública y privada; la clave pública se utiliza para el cifrado y solo la clave privada puede descifrar el mensaje.
    • Cifrado en WhatsApp: WhatsApp utiliza el protocolo de señal para el cifrado, combinando criptografía de clave simétrica y asimétrica para lograr confidencialidad, integridad, autenticación y no repudio. Para el intercambio de claves se utilizan algoritmos basados ​​en Curve25519.
    • Cifrado en Instagram: la comunicación de Instagram se cifra mediante SSL/TLS a través del puerto 443, lo que evita la escucha de los datos intercambiados entre el usuario y los servidores de Instagram.
    • Autenticación de tarjeta SIM: la autenticación de tarjeta SIM implica verificar el acceso de la tarjeta SIM a la red generando un número aleatorio y aplicando algoritmos como A3 con la clave secreta Ki. El cifrado se basa en el algoritmo A8 y la clave de sesión KC, que se utiliza con el algoritmo A5 para el cifrado/descifrado de datos.

    Desafíos en criptografía

    • La gestión de claves sigue siendo un desafío, ya que distribuir y gestionar de forma segura las claves de cifrado es complejo, especialmente en sistemas de gran escala. Los mecanismos de almacenamiento y recuperación de claves deben ser sólidos.
    • La criptografía simétrica puede volverse ineficaz cuando muchos usuarios necesitan comunicarse de forma segura. Cada par de usuarios requiere una clave única, que puede resultar difícil de manejar a medida que aumenta el número de usuarios.
    • La criptografía asimétrica normalmente requiere claves más largas que la criptografía simétrica para lograr el mismo nivel de seguridad. Esto puede provocar un procesamiento más lento y mayores requisitos de recursos.
    • El descubrimiento de vulnerabilidades o debilidades en las funciones hash puede provocar violaciones de seguridad. La comunidad criptográfica debe analizar y adaptar continuamente las funciones hash para mitigar dichos riesgos.
    • En aplicaciones donde se utilizan funciones hash para el almacenamiento de contraseñas, es necesario salar adecuadamente las contraseñas para evitar ataques a la tabla Rainbow. El desafío radica en garantizar que las sales sean únicas y secretas.
    • La aparición de la computación cuántica plantea un desafío importante para el mundo de la criptografía. Las computadoras cuánticas son excepcionalmente rápidas a la hora de resolver problemas matemáticos específicos, aprovechando los peculiares principios de la física cuántica para su extraordinaria destreza computacional.

    Esta velocidad amenaza la base de nuestros sistemas criptográficos actuales, que dependen de la complejidad de ciertos desafíos matemáticos para garantizar la seguridad de los datos. Las computadoras cuánticas tienen la capacidad de solucionar estos problemas mucho más rápido que las computadoras convencionales, comprometiendo potencialmente la seguridad de nuestros métodos de cifrado.

    Los principios subyacentes de la mecánica cuántica que utilizan las computadoras cuánticas son ciertamente inusuales, pero les otorgan el poder de realizar tareas que están fuera del alcance de las computadoras clásicas.

    En consecuencia, la necesidad de desarrollar técnicas criptográficas novedosas que puedan resistir ataques cuánticos es cada vez más apremiante, lo que crea un desafío constante en el campo de la criptografía.

    • El desarrollo y la adopción de algoritmos de criptografía poscuántica que sean resistentes a los ataques cuánticos será una tendencia importante. Se están explorando algoritmos como la criptografía basada en celosía.
    • Existe una creciente aceptación del cifrado y la gestión de claves basados ​​en la nube, especialmente en las finanzas. El cifrado homomórfico permite realizar cálculos sobre datos cifrados sin descifrarlos. Esto puede mejorar la privacidad en la computación en la nube y el procesamiento de datos.
    • La criptografía desempeña un papel crucial a la hora de proteger la tecnología blockchain, y ambas seguirán entrelazadas en el futuro.
    • Con el aumento de las regulaciones de protección de datos, como el GDPR, la tokenización se utiliza con más frecuencia en la atención médica, los servicios financieros y las empresas. La tokenización reemplaza los datos reales con un token que no tiene valor para los piratas informáticos.

    Ultimas palabras

    La criptografía es un campo vasto con mucho que explorar, y sólo hemos arañado la superficie al cubrir los conceptos básicos de la criptografía.

    Hemos cubierto la criptografía, sus principios, tipos de criptografía, funciones hash, desafíos, tendencias futuras y aplicaciones prácticas.

    Sin embargo, hay mucho más por descubrir.

    A continuación, Criptografía en la nube: una guía introductoria y un estudio de caso de Google Cloud.