Introducción a la criptografía en ciencias de la computación

Diego Esteban C 🧢
7 min readJul 14, 2023

--

Photo by Mauro Sbicego on Unsplash

Artículo básico sobre la criptografía. Conceptos, casos de uso y tipos.

¿Qué es la criptografía?

La criptografía es una disciplina que se encarga de asegurar la comunicación y almacenamiento de información mediante técnicas de codificación y decodificación, con el objetivo de proteger la confidencialidad, integridad y autenticidad de los datos.

La criptografía utiliza algoritmos matemáticos y claves para transformar el texto original, llamado “texto claro” o “texto sin cifrar”, en un formato ilegible conocido como “texto cifrado”. El proceso de convertir el texto claro en texto cifrado se denomina “cifrado” o “encriptación”. A su vez, el proceso inverso, que convierte el texto cifrado nuevamente en texto claro, se llama “descifrado” o “desencriptación”.

¿En dónde nace la criptografía?

La criptografía tiene una larga historia que se remonta a miles de años. Sus orígenes se encuentran en la antigüedad, donde las civilizaciones antiguas ya estaban interesadas en proteger la confidencialidad de la información.

Uno de los primeros sistemas criptográficos conocidos es el cifrado del César, utilizado por Julio César en el siglo I a.C. En este método, cada letra del mensaje original se desplazaba un número fijo de posiciones en el alfabeto para obtener el texto cifrado. Sin embargo, estos sistemas iniciales eran relativamente simples y se basaban más en la oscuridad que en la matemática o algoritmos complejos.

Photo by Museums Victoria on Unsplash

Uno de los avances más significativos en la historia de la criptografía fue la invención de la máquina Enigma durante la Segunda Guerra Mundial. La máquina Enigma, utilizada por Alemania, permitía cifrar y descifrar mensajes de forma más compleja y difícil de romper.

Los esfuerzos para descifrar las comunicaciones encriptadas con la máquina Enigma fueron clave en el desarrollo de la criptoanálisis moderno y sentaron las bases para la criptografía moderna.

En la actualidad, ¿En dónde se utiliza la criptografía?

La criptografía se utiliza en una amplia gama de aplicaciones y entornos para garantizar la seguridad y protección de la información confidencial.

Algunos de los principales casos de uso de la criptografía son los siguientes:

  1. Comunicaciones seguras: La criptografía se utiliza para proteger la confidencialidad de las comunicaciones en redes públicas como Internet. Los protocolos criptográficos, como SSL/TLS, se utilizan para cifrar y asegurar la transferencia de datos entre clientes y servidores, garantizando que la información transmitida no pueda ser interceptada o modificada por terceros no autorizados.
  2. Transacciones financieras: La criptografía es esencial en las transacciones financieras en línea, como las compras en comercio electrónico y las operaciones bancarias en línea. Permite proteger los datos de tarjetas de crédito, información bancaria y otra información personal sensible durante las transacciones, evitando que los datos sean comprometidos.
  3. Protección de contraseñas: Las contraseñas suelen almacenarse en forma de hash cifrado, lo que significa que no se almacenan en su forma original. Cuando un usuario ingresa una contraseña, se aplica un algoritmo de criptografía hash para comparar el valor cifrado con el valor almacenado y verificar la autenticidad sin almacenar la contraseña real en sí misma.
  4. Almacenamiento seguro de datos: La criptografía se utiliza para proteger los datos almacenados, ya sea en dispositivos locales o en servicios en la nube. El cifrado de datos garantiza que, en caso de acceso no autorizado, los datos sean ilegibles y no puedan ser utilizados sin la clave de cifrado adecuada.
  5. Firmas digitales: Las firmas digitales se utilizan para autenticar y verificar la integridad de los datos y documentos electrónicos. La criptografía de clave pública se emplea en la generación y verificación de firmas digitales, lo que permite garantizar la autenticidad del origen y la integridad de los datos firmados.
  6. Seguridad en dispositivos IoT: La criptografía se aplica en los dispositivos de Internet de las cosas (IoT) para garantizar la seguridad de las comunicaciones y la protección de los datos transmitidos entre los dispositivos IoT y los servidores o aplicaciones a los que se conectan.

Conceptos clave de la criptografía

  1. Cifrado: Es el proceso de convertir información en un formato ilegible llamado “texto cifrado” mediante el uso de un algoritmo y una clave. El objetivo es proteger la confidencialidad de los datos.
  2. Descifrado: Es el proceso de convertir el texto cifrado nuevamente en su forma original, legible, utilizando la clave y el algoritmo correspondiente. Permite restaurar los datos al estado original.
  3. Firma digital: Es un proceso mediante el cual se utiliza la criptografía asimétrica para agregar una firma única a un mensaje o documento. Proporciona autenticidad, integridad y no repudio, asegurando que el mensaje proviene del remitente esperado y no ha sido modificado.
  4. PKI (Public Key Infrastructure): Es una infraestructura que proporciona servicios de gestión de claves y certificados digitales en un entorno de criptografía asimétrica. Permite el uso seguro de la criptografía asimétrica en aplicaciones y servicios.
  5. Ataque criptográfico: Es un intento de comprometer la seguridad de un sistema criptográfico. Puede implicar intentos de romper el cifrado, descubrir claves secretas o explotar debilidades en los algoritmos criptográficos.
  6. Esteganografía: Es el proceso de ocultar información dentro de otro tipo de datos, como imágenes o archivos de audio. A diferencia del cifrado, la esteganografía no se centra en hacer que los datos sean ilegibles, sino en ocultar su existencia.

A su vez, también debemos entender los siguientes conceptos que son herramientas y categorías dentro de la criptografía:

  1. Criptografía simétrica.
  2. Criptografía asimétrica.
  3. Funciones hash.

A continuación abordaremos estos 3 últimos conceptos con algunos detalles.

1. Criptografía simétrica

La criptografía simétrica o también conocida como criptografía de llave secreta, utiliza una única clave para cifrar y descifrar la información. En este tipo de criptografía, tanto el remitente como el receptor deben conocer y utilizar la misma clave para asegurar la comunicación.

La criptografía simétrica es rápida, eficiente y fácil de comprender, pero el desafío principal radica en la distribución segura de la clave compartida.

Los algoritmos de cifrado simétricos más utilizados en la actualidad son los siguientes:

  1. AES (Advanced Encryption Standard): Es el algoritmo más ampliamente utilizado y aceptado. AES utiliza claves de 128, 192 o 256 bits y ha sido adoptado como el estándar de cifrado por organismos gubernamentales y organizaciones de todo el mundo.
  2. DES (Data Encryption Standard): Aunque ha sido ampliamente reemplazado por AES debido a su longitud de clave corta (56 bits), aún se encuentra en uso en algunas aplicaciones y sistemas heredados.

2. Criptografía asimétrica

La criptografía asimétrica o también conocida como criptografía de clave pública, utiliza un par de claves relacionadas matemáticamente; una clave pública y una clave privada.

La clave pública se utiliza para cifrar la información, mientras que la clave privada se utiliza para descifrarla. La clave privada se mantiene en secreto, mientras que la clave pública se comparte abiertamente.

La criptografía asimétrica es más segura en términos de distribución de claves, pero es más lenta y requiere más recursos computacionales que la criptografía simétrica.

Los algoritmos de cifrado asimétricos más utilizados en la actualidad son los siguientes:

  1. RSA (Rivest-Shamir-Adleman): Es uno de los algoritmos de cifrado asimétrico más populares y ampliamente utilizados. Se basa en la dificultad de factorizar grandes números primos y se utiliza para cifrar y descifrar datos, así como para la firma y verificación digital.
  2. DSA (Digital Signature Algorithm): Es un algoritmo de firma digital ampliamente utilizado, especialmente en aplicaciones gubernamentales y certificados digitales. DSA se utiliza para la generación y verificación de firmas digitales.

3. Funciones de hash

Las funciones de hash no se consideran un tipo de cifrado, ni simétrico ni asimétrico. Son algoritmos matemáticos que generan un resumen único de una entrada de datos, pero no están diseñados para cifrar o descifrar información.

Una función hash es un tipo de algoritmo criptográfico utilizado para transformar una entrada de datos en una salida de longitud fija, conocida como “hash” o “resumen”. Las funciones hash no son un tipo de categoría de la criptografía sino más bien es una herramienta matemática utilizada en diversos contextos criptográficos y de seguridad.

Los algoritmos de funciones hash más utilizados son:

  1. SHA-256 (Secure Hash Algorithm 256-bit): Es parte de la familia de algoritmos de funciones hash SHA-2 y produce un hash de 256 bits. Es ampliamente utilizado en aplicaciones de seguridad y verificación de integridad.
  2. MD5 (Message Digest Algorithm 5): Aunque ha sido desaconsejado para usos criptográficos debido a vulnerabilidades, sigue siendo utilizado en aplicaciones no críticas. Produce un hash de 128 bits.
  3. SHA-1 (Secure Hash Algorithm 1): Aunque es ampliamente utilizado, se considera inseguro para usos criptográficos debido a vulnerabilidades descubiertas. Produce un hash de 160 bits.
  4. SHA-3 (Secure Hash Algorithm 3): Es la última versión de la familia de algoritmos de funciones hash SHA y fue seleccionado mediante un proceso de competencia pública. Ofrece opciones de longitud de hash, como SHA-3–256 y SHA-3–512.

Terminando

Muchos de los protocolos de seguridad y tecnologías utilizan tanto el cifrado simétrico como el asimétrico en combinación para brindar una seguridad eficaz y completa. Por ejemplo los protocolos de seguridad de capa de transporte (SSL/TLS) utilizan una combinación de cifrado simétrico y asimétrico. El cifrado simétrico se utiliza para cifrar los datos transmitidos durante la sesión, mientras que el cifrado asimétrico se utiliza para el intercambio seguro de claves y la autenticación del servidor.

Gracias por haber llegado hasta aquí, si encuentras esto útil, no olvides aplaudir 👏 . Suscríbete para obtener más contenido 🔔.

Si necesita ayuda adicional, comunícate conmigo 🤠.

Muchas gracias por leer, agradezco su tiempo.

--

--