Currículo: esta unidad cubre parte de los saberes básicos del Bloque C – Ciberseguridad (CDPC.1.C.2), y con ellos puedes prepararte para superar un tercio del criterio de evaluación 3.1 y la mitad del 3.2 correspondiente a 1º Bachillerato.
Tabla de contenidos
- 8.1. Introducción a la criptografía
- 8.2. Conceptos fundamentales de criptografía
- 8.3. Cifrado César
- 8.4. Cifrado físico
En un mundo digital en el que la información circula constantemente a través de redes públicas, garantizar que los datos sean confidenciales, auténticos e íntegros se ha convertido en una necesidad crítica. La criptografía proporciona las herramientas necesarias para proteger esos datos, asegurando que solo las personas autorizadas puedan acceder a ellos y verificar su procedencia.
Aunque históricamente ha estado asociada a contextos militares o de espionaje, hoy la criptografía forma parte de nuestra vida diaria: protegemos nuestras conversaciones en aplicaciones de mensajería, realizamos pagos seguros por Internet, accedemos a servicios bancarios online y firmamos digitalmente documentos con validez legal.
Este tema ofrece una introducción práctica y actual a los fundamentos de la criptografía, desde los sistemas clásicos, hasta los métodos modernos que emplean algoritmos avanzados de clave pública y privada.
El objetivo es que comprendas cómo y por qué se cifra la información, qué papel juega la criptografía en los sistemas informáticos actuales, y qué riesgos existen si no se emplea correctamente.
8.1. Introducción a la criptografía
8.1.1. La necesidad de ocultar información
Cada vez que enviamos un mensaje, rellenamos un formulario o realizamos una transacción online, estamos transmitiendo datos que pueden ser interceptados, manipulados o suplantados si no se protegen adecuadamente. La criptografía se encarga de transformar esos datos en una forma ilegible para terceros, permitiendo que solo el destinatario autorizado pueda acceder a su contenido.
En otras palabras, la criptografía convierte un mensaje legible (llamado texto en claro) en un mensaje cifrado (también llamado cifrado) mediante un algoritmo y una clave. Esta técnica protege la privacidad y seguridad de la información.
8.1.2. Criptografía en la vida cotidiana.
Aunque muchas personas piensan que la criptografía es algo reservado a espías o militares, todos la usamos a diario, muchas veces sin saberlo. Veamos algunos ejemplos actuales:
- WhatsApp y Signal usan cifrado de extremo a extremo para garantizar que solo tú y tu interlocutor podáis leer los mensajes. Ni siquiera las propias empresas pueden acceder al contenido.

- Los certificados digitales HTTPS, que aparecen en casi todas las webs seguras, emplean criptografía para proteger las comunicaciones con los servidores.

- Tarjetas bancarias con chip, claves electrónicas, firmas digitales o DNI electrónico utilizan cifrado para autenticar y proteger los datos del usuario.

Estos mecanismos se basan en técnicas criptográficas que actúan silenciosamente en segundo plano, pero que resultan fundamentales para garantizar la confianza en el mundo digital.
8.1.3. Objetivos de la criptografía.
La criptografía no solo sirve para ocultar información. Su función abarca varios aspectos imprescindibles de la seguridad informática. Los cuatro pilares clásicos son:
- Confidencialidad: garantiza que el contenido solo sea accesible para quienes tienen autorización.
- Integridad: asegura que la información no ha sido alterada durante la transmisión o almacenamiento.
- Autenticación: permite verificar la identidad de los participantes en una comunicación.
- No repudio: impide que una persona niegue haber realizado una acción o haber enviado un mensaje.
Estos objetivos, que ya estudiamos en el tema anterior –Fundamentos de ciberseguridad-, forman la base de cualquier sistema de seguridad moderno.
8.1.4. Caso real: el robo de datos en Yahoo (2013-2014)
Uno de los mayores robos de datos de la historia ocurrió entre 2013 y 2014, cuando más de 1.000 millones de cuentas de Yahoo fueron comprometidas. Aunque los datos robados no incluían contraseñas en texto plano, el problema fue que estaban cifradas con un algoritmo débil (MD5) que ya había sido vulnerado anteriormente ☠️.
Esto pone de relieve que cifrar no es suficiente si el algoritmo o la clave utilizada son débiles o están desactualizados. La elección de un buen sistema criptográfico es tan importante como su uso correcto.
8.2. Conceptos fundamentales de criptografía
Para comprender adecuadamente cómo funcionan los mecanismos de protección de la información, es necesario dominar algunos conceptos fundamentales que a veces se confunden o se usan como sinónimos. Este apartado presenta y diferencia los términos clave: criptografía, criptología, criptoanálisis y criptosistema.
8.2.1. Criptografía.
La criptografía es la disciplina que se encarga de diseñar sistemas para transformar la información de forma que solo las personas autorizadas puedan interpretarla.
En términos prácticos, se basa en:
- Un mensaje en claro que queremos proteger.
- Un algoritmo de cifrado, es decir, el conjunto de reglas matemáticas para transformar ese mensaje.
- Una clave secreta, necesaria para cifrar o descifrar el contenido.
Por ejemplo, cuando un usuario inicia sesión en una web y los datos viajan cifrados mediante HTTPS, el navegador y el servidor intercambian claves criptográficas que garantizan la seguridad de la comunicación.
8.2.2. Criptoanálisis.
El criptoanálisis es la disciplina que estudia cómo descifrar mensajes sin conocer la clave, es decir, cómo atacar un sistema criptográfico. El objetivo puede ser descubrir la clave, el algoritmo o el contenido original.
Existen varias técnicas de criptoanálisis:
- Ataque por fuerza bruta: probar todas las claves posibles hasta encontrar la correcta.
- Ataque por diccionario: usar una lista de claves comunes o probables.
- Ataques criptográficos avanzados: análisis de patrones, frecuencias o vulnerabilidades matemáticas.
Por ejemplo, en abril de 2020, en pleno auge del teletrabajo por la pandemia, la plataforma Zoom fue objeto de un análisis técnico que reveló una debilidad en su implementación criptográfica. Aunque afirmaban usar cifrado de extremo a extremo, investigadores del Citizen Lab (Universidad de Toronto) descubrieron que: utilizaban un algoritmo que no oculta patrones y es vulnerable a análisis de bloques repetidos, y que las claves de cifrado se generaban en servidores ubicados en China, incluso para usuarios fuera del país, lo que implicaba posibles riesgos de espionaje. Este análisis no fue un ataque directo, sino un ejemplo de criptoanálisis aplicado a la revisión de sistemas reales. Permitió poner en evidencia una falsa sensación de seguridad, demostrando que no basta con usar algoritmos conocidos, sino que es fundamental implementarlos correctamente. Como resultado, Zoom se vio obligado a rediseñar su sistema de cifrado y adoptar cifrado real de extremo a extremo con claves gestionadas por los propios usuarios, lo que constituye una mejora sustancial en su arquitectura.

8.2.3. Criptología.
La criptología es un campo más amplio que engloba tanto la criptografía como su opuesto: el criptoanálisis. Su objetivo es el estudio global de los sistemas de codificación y descodificación de la información.
Es decir:
- Criptografía → diseñar sistemas para ocultar información.
- Criptoanálisis → romper esos sistemas o encontrar debilidades.
8.2.4. Criptosistema
Un criptosistema es el conjunto organizado de elementos necesarios para llevar a cabo el cifrado y descifrado de mensajes. Es decir, un sistema completo de protección criptográfica.
Un criptosistema consta de:
- Conjunto de mensajes posibles (texto en claro): el contenido que queremos proteger.
- Espacio de claves: todas las claves posibles que puede aceptar el sistema.
- Algoritmo de cifrado: transforma el texto en claro en texto cifrado.
- Algoritmo de descifrado: revierte el proceso para recuperar el mensaje original.
- Conjunto de textos cifrados: los resultados de aplicar el algoritmo de cifrado.
Por ejemplo, supongamos que quieres proteger la frase “EXAMEN A LAS 9” usando un sistema muy simple. La clave será desplazar cada letra 3 posiciones en el alfabeto. El algoritmo de cifrado convierte:
E → H, X → A, A → D, …
- El conjunto de mensajes posibles es cualquier mensaje que se pueda escribir con nuestro alfabeto.
- El espacio de claves es 25, ya que en un alfabeto con 26 caracteres puede haber 25 desplazamientos posibles.
- El algoritmo de cifrado sería: C(LETRA) = (posición de LETRA en el alfabeto + 3) % 26.
- El algoritmo de descifrado sería: D(LETRA) = (posición de LETRA en el alfabeto – 3) % 26.
- El conjunto de textos cifrados, mismo número que en el paso 1.
Este sería un criptosistema completo.
8.2.5. Caso real: filtración de contraseñas de LinkedIn (2012)
En 2012, más de 117 millones de contraseñas de usuarios de LinkedIn fueron filtradas en Internet. Lo más preocupante no fue solo la magnitud del ataque, sino que las contraseñas estaban cifradas con un algoritmo débil (SHA-1 sin “salt“), lo que permitió a atacantes realizar criptoanálisis por diccionario y fuerza bruta con gran eficacia.

Este caso muestra por qué es vital elegir criptosistemas robustos y actualizados, ya que muchos ataques no buscan vulnerar sistemas complejos, sino aprovechar malas prácticas existentes.
8.3. Cifrado César
El cifrado César es uno de los métodos de cifrado más antiguos y sencillos que existen. Se atribuye a Julio César, quien lo utilizaba para enviar mensajes secretos a sus generales. Su funcionamiento consiste en desplazar cada letra del mensaje un número fijo de posiciones en el alfabeto.

Aunque hoy se considera inseguro, es un excelente ejemplo para comprender los principios básicos de un sistema de sustitución monoalfabética.
8.3.1. Funcionamiento.
El mecanismo es simple:
- Se elige un número de desplazamiento (clave).
- Cada letra del mensaje se reemplaza por la letra que está ese número de posiciones más adelante en el alfabeto.
- Al llegar al final del alfabeto, se vuelve a empezar desde la A.
Por ejemplo, con una clave de +3 (como la de la imagen anterior):
- A → D
- B → E
- C → F
- …
- X → A
- Y → B
- Z → C
Este cifrado solo afecta a las letras y no distingue entre mayúsculas y minúsculas, aunque puede adaptarse para incluir números o símbolos si se desea.
De esta manera el mensaje original ATACAMOSALALBA ⚔️ se convierte en DWDFDORVDÑDÑED 💩.
8.3.2. Implementación en Python del cifrado y descifrado.
Aprovechando que sabemos programar en Python, vamos a montar un pequeño sistema.
Supongamos que queremos cifrar el mensaje:
HOLA MUNDO
Con una clave de +3, el resultado sería:
KROD PXQGR
Al aplicar el algoritmo inverso (–3), recuperamos el mensaje original.
El siguiente código en Python implementa tanto el cifrado como el descifrado del sistema César.
# Función que cifra un mensaje original (texto) usando una clave César (clave)
def cifrado_cesar(texto, clave):
resultado = ""
for caracter in texto:
if caracter.isalpha():
mayuscula = caracter.isupper()
base = ord('A') if mayuscula else ord('a')
desplazado = (ord(caracter) - base + clave) % 26
resultado += chr(base + desplazado)
else:
resultado += caracter
return resultado
def descifrado_cesar(texto_cifrado, clave):
return cifrado_cesar(texto_cifrado, -clave)
# Ejemplo de uso
mensaje = "Hola Mundo"
clave = 3
cifrado = cifrado_cesar(mensaje, clave)
descifrado = descifrado_cesar(cifrado, clave)
print(f"Mensaje original: {mensaje}")
print(f"Mensaje cifrado : {cifrado}")
print(f"Mensaje descifrado: {descifrado}")Salida:
Mensaje original: Hola Mundo
Mensaje cifrado : Krod Pxqgr
Mensaje descifrado: Hola Mundo
8.3.3. Limitaciones del sistema.
El cifrado César es fácilmente quebrantable:
- Solo existen 25 claves posibles, por lo que se puede romper por fuerza bruta en segundos.
- No oculta patrones del lenguaje (la letra E sigue siendo la más frecuente).
- No resiste ningún tipo de análisis criptográfico moderno.
Por eso, aunque su uso hoy es puramente didáctico, sigue siendo una herramienta excelente para introducir los conceptos de clave, cifrado, descifrado y vulnerabilidad.
8.4. Cifrado físico
El cifrado físico se refiere a métodos de ocultación o transformación de la información mediante dispositivos o mecanismos tangibles, sin intervención de software. Se trata de formas de cifrado anteriores a la era de la informática, empleadas durante siglos en contextos militares, diplomáticos y comerciales.
Aunque hoy han sido reemplazadas por métodos digitales más seguros, su estudio sigue siendo muy útil para comprender los fundamentos de la criptografía moderna, como el uso de claves, la necesidad de sincronización entre emisor y receptor, y los riesgos de seguridad.
8.4.1. Sistemas analógicos.
A continuación se presentan algunos ejemplos reales de cifrado físico, muchos de los cuales han tenido un papel fundamental en la historia de la criptografía.
La escítala espartana
Se trata de uno de los primeros dispositivos conocidos, usados por el ejército de Esparta (Grecia).

Consistía en un bastón cilíndrico sobre el que se enrollaba una tira de cuero o pergamino. El mensaje se escribía longitudinalmente y, al desenrollar la cinta, solo era legible si se volvía a enrollar en un bastón del mismo diámetro.

- Clave: el diámetro del bastón.
- Debilidad: fácil de replicar con ensayo y error.
La rueda de Jefferson
Diseñada por Thomas Jefferson, consistía en un conjunto de discos giratorios con el alfabeto escrito alrededor. El emisor giraba los discos para alinear el mensaje y luego copiaba una fila diferente como texto cifrado. El receptor, con un aparato idéntico, podía revertir el proceso.

- Ventaja: aumentaba el número de combinaciones posibles.
- Relación moderna: similar a una contraseña rotatoria.
La máquina Enigma
Sin duda, el ejemplo más famoso de cifrado físico en la historia reciente. Utilizada por el ejército nazi durante la Segunda Guerra Mundial, la máquina Enigma era una máquina electromecánica que permitía cifrar mensajes a través de una serie de rotores y cableados internos que cambiaban cada día.

- Clave: combinación inicial de los rotores.
- Seguridad: muy alta para la época, hasta que fue vulnerada por el equipo de Alan Turing en Bletchley Park.
- Impacto: romper Enigma acortó la guerra varios años y salvó millones de vidas.
8.5. Criptografía avanzada
La criptografía moderna es el pilar que sostiene la seguridad de Internet, los pagos electrónicos, las redes privadas virtuales (VPN), las aplicaciones de mensajería segura y los documentos digitales firmados. Se basa en algoritmos potentes, desarrollados mediante modelos matemáticos complejos, que garantizan la confidencialidad, autenticidad e integridad de la información.
En este apartado exploraremos algunos de los algoritmos más utilizados hoy en día.
8.5.1. Introducción a los algoritmos actuales.
AES (Advanced Encryption Standard)
Es el algoritmo de cifrado simétrico más utilizado actualmente. Fue adoptado como estándar por el gobierno de EE.UU. y se aplica en comunicaciones seguras, almacenamiento cifrado, sistemas operativos, etc.
- Clave compartida entre emisor y receptor.
- Usado en Wi-Fi (WPA2/WPA3), archivos ZIP cifrados, VPN, entre otros.
- Muy rápido y seguro si se usa con claves largas (128, 192 o 256 bits).
RSA (Rivest–Shamir–Adleman)
Es un algoritmo de cifrado asimétrico, donde cada usuario tiene:
- Una clave pública (para cifrar o verificar).
- Una clave privada (para descifrar o firmar).
Se utiliza, por ejemplo, en:
- HTTPS y certificados digitales (navegación segura).
- Firmas electrónicas.
- Intercambio de claves en comunicaciones cifradas.
Aunque es más lento que AES, es clave en la criptografía moderna por su arquitectura.
ECC (Elliptic Curve Cryptography)
Una alternativa moderna a RSA, basada en curvas elípticas. Permite obtener la misma seguridad que RSA con claves mucho más pequeñas, lo que lo hace ideal para dispositivos móviles o sistemas con recursos limitados.
¿Cómo se combinan AES y RSA?
En la práctica, los sistemas modernos usan ambos:
- Se cifra el mensaje con AES (rápido).
- Se cifra la clave AES con RSA (seguro para transmitir).
- El receptor usa su clave privada para recuperar la clave AES y descifra el mensaje.
Este sistema híbrido se emplea en HTTPS, correo cifrado y muchos sistemas de mensajería segura.
Es prácticamente seguro que no has entendido nada de lo anterior, sin embargo, tengo buenas noticias, este vídeo sí que lo vas a entender y es lo que me interesa que retengas, ¿por qué la criptografía y su seguridad depende de los números primos? 👇
8.5.2. El papel de la criptografía en los certificados SSL/TLS y el HTTPS.
Cuando un usuario accede a una página web segura (por ejemplo, una tienda online o una plataforma bancaria), observa un icono de candado junto a la dirección.

Esto indica que la comunicación se realiza a través de HTTPS, una versión segura del protocolo HTTP.
HTTPS utiliza el protocolo TLS (Transport Layer Security) para cifrar la comunicación entre el navegador y el servidor, impidiendo que terceros puedan espiar o manipular los datos.
Este proceso es posible gracias a los certificados digitales SSL/TLS, que cumplen dos funciones:
- Autenticación: garantizan que el servidor al que nos conectamos es quien dice ser.
- Cifrado: permiten establecer un canal seguro mediante intercambio de claves asimétricas (RSA o ECC) y cifrado simétrico (AES).
8.5.3. Ejemplo actual: cómo funciona la verificación en WhatsApp o Signal.
Tanto WhatsApp como Signal utilizan criptografía avanzada para asegurar que los mensajes solo puedan ser leídos por emisor y receptor. Esta seguridad se basa en el llamado cifrado de extremo a extremo, implementado con el protocolo Signal, que combina varias técnicas criptográficas:
- Cifrado simétrico (AES) para el contenido de los mensajes.
- Cifrado asimétrico (Curve25519) para intercambiar claves de forma segura.
- Hashing (SHA-256) para garantizar la integridad de los datos.

Además, los usuarios pueden verificar manualmente la identidad del otro escaneando un código QR o comparando una clave numérica única. Esto previene ataques de tipo Man-in-the-Middle, donde un tercero intercepta la clave si no se verifica el canal.
8.5.4. ¿Qué significa que una web es “segura”?
Cuando el navegador indica que una página web es “segura”, se refiere a que:
- Utiliza HTTPS con un certificado SSL/TLS válido.
- El contenido se transmite cifrado, evitando espionaje.
- La identidad del sitio ha sido verificada por una autoridad certificadora (CA).
- Es poco probable que el sitio haya sido manipulado durante la conexión.
Sin embargo, “segura” no siempre significa “fiable”. Una web maliciosa puede tener un certificado válido si el atacante lo ha solicitado para un dominio falso similar al original (por ejemplo, amaz0n.com).
Recomendación:
- Comprueba siempre que la web empieza por https://.
- Revisa que la URL es exacta y no contiene errores.
- Desconfia si el navegador muestra advertencias de certificado caducado o inválido.

8.6. Esteganografía
La esteganografía es una técnica que consiste en ocultar información dentro de otros archivos digitales, como imágenes, vídeos, audios o documentos, de forma que pase desapercibida. A diferencia de la criptografía, cuyo objetivo es proteger el contenido de un mensaje aunque sea visible, la esteganografía busca esconder el hecho de que el mensaje existe.

8.6.1. Diferencia entre cifrado y ocultación.
Es importante entender que cifrar no es lo mismo que ocultar:
- La criptografía transforma el mensaje para que no pueda ser leído si no se conoce la clave, pero su presencia es evidente. Un archivo cifrado con AES será ilegible sin la clave, pero cualquiera puede verlo y sospechar de su contenido
- La esteganografía, en cambio, camufla el mensaje dentro de otro archivo, de forma que no se perciba a simple vista que hay algo oculto. Un mensaje oculto dentro de una imagen aparentemente inocente puede pasar desapercibido, incluso si alguien la examina superficialmente.
🌌 Ambas técnicas se pueden combinar para mayor seguridad: primero se cifra el mensaje, y luego se oculta dentro de otro archivo.
8.6.2. Métodos comunes de esteganografía.
Los métodos de ocultación más frecuentes se basan en modificar mínimamente el contenido digital del archivo portador (imagen, audio, vídeo…) sin que sea perceptible al ojo o al oído humano.
Ocultación en imágenes
- Se utilizan los bits menos significativos (LSB) de cada píxel para insertar el mensaje.
- Cambiar un valor de 255 a 254 en un píxel rojo es prácticamente imperceptible.
Ocultación en audio
- Se modifican frecuencias inaudibles o patrones de ruido para almacenar datos.
- También se puede esconder texto en pausas o silencios digitales.
Ocultación en documentos
- Se insertan mensajes en metadatos, espacios en blanco, variaciones tipográficas o en el código fuente de PDFs o Word.
8.6.3. Ejemplo práctico: ocultar un mensaje en una imagen con Python.
A continuación se presenta un ejemplo sencillo usando la librería pillow, que permite modificar píxeles de una imagen para ocultar un mensaje. Este es un ejemplo didáctico básico de esteganografía por LSB.
from PIL import Image
def ocultar_mensaje(imagen_original, mensaje, imagen_salida):
img = Image.open(imagen_original)
binario = ''.join(format(ord(c), '08b') for c in mensaje) + '00000000' # marca de fin
pixels = img.load()
ancho, alto = img.size
i = 0
for y in range(alto):
for x in range(ancho):
if i < len(binario):
r, g, b = pixels[x, y]
r = (r & ~1) | int(binario[i]) # modifica el bit menos significativo
pixels[x, y] = (r, g, b)
i += 1
img.save(imagen_salida)
print("Mensaje ocultado en:", imagen_salida)
# Ejemplo de uso
ocultar_mensaje("original.png", "Este es un mensaje secreto", "imagen_oculta.png")Resultado: el archivo imagen_oculta.png será visualmente igual a original.png, pero contendrá el mensaje oculto en los bits menos significativos.
8.6.4. Casos reales: uso en espionaje y redes criminales
A lo largo de las últimas décadas, la esteganografía ha sido utilizada en contextos muy diversos, algunos de ellos preocupantes:
- Redes terroristas han ocultado mensajes en imágenes publicadas en foros o redes sociales, instruyendo a sus miembros sobre cómo extraer la información.
- En 2010, se descubrió que espías rusos en EE.UU. usaban imágenes con mensajes ocultos en portales de compra-venta para comunicarse de forma encubierta.
- En entornos de cibercrimen, algunos malwares utilizan esteganografía para ocultar comandos o direcciones de control dentro de imágenes que se descargan aparentemente como contenido legítimo.
8.7. Estegoanálisis
El estegoanálisis es el conjunto de técnicas y procedimientos destinados a detectar la presencia de información oculta mediante esteganografía. A diferencia del criptoanálisis, que intenta descifrar un mensaje cifrado, el objetivo del estegoanálisis es averiguar si hay algo escondido, incluso si no se puede recuperar.
Este campo es fundamental en seguridad informática, análisis forense y vigilancia digital, ya que permite descubrir comunicaciones encubiertas que podrían pasar completamente desapercibidas.
8.7.1. ¿Cómo se detecta la esteganografía?
Detectar si una imagen, un audio o un documento contiene un mensaje oculto no siempre es sencillo. La esteganografía bien hecha no altera visual ni auditivamente el archivo original.
Sin embargo, los expertos utilizan distintos métodos para buscar pistas que no son perceptibles al ojo humano, pero sí a nivel estadístico o computacional.
Por ejemplo: cambios en la distribución de colores o frecuencias, alteraciones sospechosas en los metadatos, tamaños de archivo anormalmente grandes, diferencias entre versiones comprimidas del archivo.
El estegoanálisis no busca el mensaje en sí, sino anomalías que indiquen que podría haber uno oculto.
8.7.2. Herramientas y técnicas de análisis
Para realizar estegoanálisis se emplean tanto técnicas manuales como herramientas automáticas. Algunas de las más conocidas son:
Herramientas populares
- Stegdetect: analiza archivos JPEG en busca de patrones esteganográficos. [Enlace 🔗]
- zsteg: diseñada para PNG y BMP, permite buscar mensajes ocultos en diferentes canales de color. [Enlace 🔗]
- ExifTool: útil para inspeccionar metadatos sospechosos en imágenes y documentos. [Enlace 🔗]
- Binwalk: analiza archivos binarios y detecta datos embebidos, común en imágenes de firmware. [Enlace 🔗]
Técnicas empleadas
- Análisis de histograma: compara la distribución de colores de una imagen modificada frente a una original.
- Comparación con compresión: si al comprimir una imagen se pierden demasiados datos, podría tener información escondida.
- Detección por inteligencia artificial: modelos de aprendizaje automático entrenados para detectar esteganografía por patrones.
8.7.3. Ejemplo práctico: descubrir la existencia de un mensaje oculto (sin necesidad de extraerlo)
El siguiente ejemplo muestra cómo detectar una posible ocultación en una imagen sin conocer el método usado, solo analizando su comportamiento.
from PIL import Image
import matplotlib.pyplot as plt
def mostrar_histograma(imagen_path):
img = Image.open(imagen_path).convert("L") # escala de grises
pixels = list(img.getdata())
plt.hist(pixels, bins=256, range=(0, 255), color='gray')
plt.title(f"Histograma de {imagen_path}")
plt.xlabel("Valor de píxel")
plt.ylabel("Frecuencia")
plt.show()
# Análisis visual de una imagen
mostrar_histograma("imagen_sospechosa.png")Análisis del resultado: si observamos saltos o picos anómalos en el histograma, podría ser indicio de manipulación por esteganografía LSB (modificación de bits menos significativos). No revela el mensaje, pero alerta de que podría existir.
8.7.4. Aplicaciones legales y forenses
El estegoanálisis se emplea actualmente en contextos profesionales donde es crucial detectar comunicaciones ocultas o archivos manipulados:
- Ciberseguridad: para descubrir mensajes encubiertos enviados por malware o por actores maliciosos.
- Análisis forense digital: en investigaciones judiciales donde se inspeccionan dispositivos de sospechosos.
- Control de tráfico en redes: los filtros automáticos pueden escanear imágenes sospechosas en busca de esteganografía.
- Protección de la propiedad intelectual: para identificar si un archivo multimedia contiene marcas de agua o información incrustada.
En estos contextos, el estegoanálisis no solo permite detectar ataques o usos ilícitos, sino también proteger derechos legítimos, por ejemplo, en el caso de documentos legales o multimedia protegida.
8.8. Cifrado simétrico y asimétrico
La criptografía moderna se basa principalmente en dos grandes tipos de cifrado: el simétrico y el asimétrico. Ambos se utilizan para proteger la información, pero lo hacen de manera muy distinta, con ventajas y limitaciones particulares. Comprender sus diferencias es esencial para saber cuándo aplicar uno u otro.
8.8.1. Diferencia conceptual y técnica
- Cifrado simétrico: se utiliza la misma clave para cifrar y descifrar la información. El emisor y el receptor deben compartir esa clave de forma segura. Ejemplo: AES, DES, ChaCha20.
- Cifrado asimétrico: se utilizan dos claves diferentes pero matemáticamente relacionadas: una clave pública, que cualquiera puede usar para cifrar, y una clave privada, que solo el destinatario posee y utiliza para descifrar. Ejemplo: RSA, ECC.
📋 Resumen técnico:
| Característica | Cifrado Simétrico | Cifrado Asimétrico |
|---|---|---|
| Claves | Única, compartida | Par de claves (pública y privada) |
| Velocidad | Muy rápido | Más lento |
| Seguridad de clave | Debe transmitirse con cuidado | No es necesario compartir la privada |
| Complejidad | Baja | Alta |
8.8.3. Ventajas e inconvenientes de cada tipo
Cifrado simétrico
✅ Ventajas:
- Muy eficiente, ideal para grandes volúmenes de datos.
- Fácil de implementar.
❌ Inconvenientes:
- Necesita un canal seguro para intercambiar la clave.
- Escala mal con muchos usuarios (n claves para n pares de usuarios).
Cifrado asimétrico
✅ Ventajas:
- Permite comunicaciones seguras sin necesidad de compartir claves de forma previa.
- Permite firmar digitalmente documentos.
❌ Inconvenientes:
- Más lento computacionalmente.
- No se usa para cifrar archivos grandes (se suele usar combinado con simétrico).
Aquí tienes un ejemplo de cifrado y descifrado con ambos tipos de claves:
Cifrado simétrico (AES)
from cryptography.fernet import Fernet
# Generar una clave
clave = Fernet.generate_key()
fernet = Fernet(clave)
# Cifrar y descifrar
mensaje = b"Mensaje confidencial"
cifrado = fernet.encrypt(mensaje)
descifrado = fernet.decrypt(cifrado)
print("Cifrado:", cifrado)
print("Descifrado:", descifrado.decode())Cifrado asimétrico (RSA)
from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import hashes
# Generar claves
privada = rsa.generate_private_key(public_exponent=65537, key_size=2048)
publica = privada.public_key()
# Cifrar con la clave pública
mensaje = b"Mensaje seguro"
cifrado = publica.encrypt(
mensaje,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)
)
# Descifrar con la clave privada
descifrado = privada.decrypt(
cifrado,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)
)
print("Descifrado:", descifrado.decode())8.8.5. Aplicaciones reales: firma digital, correo cifrado, blockchain
✅ Firma digital
Se utiliza cifrado asimétrico. El emisor firma un documento con su clave privada. Cualquiera puede verificar su autenticidad con la clave pública.
Aplicación: contratos electrónicos, certificados académicos, software original.
✅ Correo cifrado
Con sistemas como PGP, el remitente cifra el mensaje con la clave pública del destinatario. Solo el receptor podrá leerlo con su clave privada.
Aplicación: comunicaciones corporativas, activistas en regímenes opresivos, periodistas.
✅ Blockchain
Cada transacción está firmada digitalmente por el emisor. Se usan claves públicas y privadas para garantizar la integridad de las operaciones y la propiedad de los activos.
Aplicación: criptomonedas como Bitcoin o Ethereum, contratos inteligentes.
Angel Sanchez
Muy buen contenido, gracias por publicarlo