Tema 1

1. Introducción a la criptografía y objetivos de seguridad: confidencialidad, integridad, autenticación y no repudio

La criptografía estudia cómo proteger información para que solo pueda ser comprendida, verificada o validada por quienes corresponden. No se limita al cifrado: también abarca integridad, autenticación, firmas digitales, gestión de claves y mecanismos que permiten confiar en datos y comunicaciones.

Objetivo Entender qué resuelve la criptografía
Enfoque Conceptual, técnico y aplicado
Resultado Construir la base del resto del curso

1.1 Introducción

Vivimos rodeados de información digital: mensajes, contraseñas, transferencias, documentos, claves de acceso, historiales médicos, contratos y credenciales. Gran parte de esos datos circula por redes públicas, se almacena en servidores remotos o se comparte entre sistemas que no siempre operan en entornos de confianza. La criptografía aparece precisamente para resolver ese problema.

Su función central es reducir la confianza ciega en el canal, en el almacenamiento y en los intermediarios. Si un atacante puede observar una comunicación, interceptar un archivo o modificar un mensaje, los mecanismos criptográficos bien aplicados deben seguir ofreciendo garantías concretas sobre qué puede leer, qué puede alterar y qué puede demostrar.

Por eso la criptografía es una pieza fundamental de la seguridad informática moderna. Está presente en HTTPS, en aplicaciones bancarias, en mensajería segura, en firmas electrónicas, en certificados digitales, en la protección de contraseñas y en casi cualquier sistema donde la confianza deba sostenerse con técnicas verificables.

1.2 Qué es la criptografía

La criptografía es la disciplina que diseña métodos matemáticos y algoritmos para proteger información frente a observación, alteración, suplantación o uso indebido. Su objetivo no es ocultar por completo la existencia de un dato, sino controlar qué operaciones pueden realizar terceros sobre ese dato aunque tengan acceso al medio de transmisión o almacenamiento.

En términos prácticos, la criptografía permite:

  • Cifrar datos para que no sean legibles sin una clave.
  • Verificar si un contenido fue modificado.
  • Comprobar la identidad de quien envía o firma información.
  • Demostrar autoría o consentimiento sobre una operación digital.
  • Intercambiar claves de manera segura sobre canales inseguros.
La criptografía no reemplaza el diseño seguro del sistema. Lo complementa. Un algoritmo fuerte mal implementado o mal integrado puede terminar ofreciendo una falsa sensación de seguridad.

1.3 Qué problemas intenta resolver

Sin criptografía, un tercero que intercepte un mensaje puede leerlo, modificarlo o reenviarlo haciéndose pasar por otro. También puede copiar bases de datos, obtener contraseñas mal almacenadas o negar haber emitido una orden si no existe un mecanismo que vincule de forma robusta la acción con su autor.

Problema Riesgo Mecanismo criptográfico típico
Lectura no autorizada Exposición de datos sensibles Cifrado simétrico o asimétrico
Alteración de mensajes Fraude, corrupción o manipulación Hashes, MAC, firmas digitales
Suplantación de identidad Acceso o emisión de mensajes falsos Autenticación criptográfica, certificados
Negación de autoría Imposibilidad de probar quién realizó una acción Firmas digitales
Robo de contraseñas Compromiso masivo de cuentas Hashing con sal y algoritmos de derivación

1.4 Objetivos de seguridad en criptografía

Los objetivos de seguridad indican qué garantía concreta queremos obtener. Son el corazón del tema y reaparecerán durante todo el curso.

  • Confidencialidad: solo las partes autorizadas deben poder leer la información.
  • Integridad: debe poder detectarse si el contenido fue alterado.
  • Autenticación: debe poder verificarse quién participa en una comunicación u operación.
  • No repudio: el emisor no debe poder negar válidamente una acción firmada o autorizada.

En muchos sistemas reales estos objetivos deben coexistir. Cifrar un mensaje sin verificar su origen puede proteger su contenido, pero no impide que alguien inyecte datos falsos. Verificar integridad sin proteger confidencialidad deja la información expuesta. Diseñar seguridad exige entender qué combinación de propiedades se necesita.

1.5 Confidencialidad

La confidencialidad busca evitar que una persona no autorizada pueda comprender la información. El mecanismo más conocido para lograrlo es el cifrado, que transforma un texto legible en un texto cifrado utilizando un algoritmo y una clave.

Si el algoritmo es sólido y la clave permanece secreta, observar el tráfico o copiar un archivo no debería ser suficiente para conocer su contenido. Esta idea es esencial en correos, bases de datos, chats, discos cifrados, copias de seguridad y comunicaciones web seguras.

Sin embargo, confidencialidad no significa invisibilidad total. Un atacante puede no leer el contenido pero sí inferir metadatos: quién habla con quién, cuándo, cuánto volumen de datos se intercambia o qué servicio se está usando.

1.6 Integridad

La integridad garantiza que el dato recibido o almacenado sea exactamente el mismo que fue emitido o guardado originalmente. Si un atacante modifica un importe en una transferencia, altera una actualización de software o cambia una instrucción dentro de una API, el sistema debe ser capaz de detectarlo.

Las funciones hash y los códigos de autenticación de mensajes son herramientas centrales para este objetivo. Un hash criptográfico produce una huella digital del contenido. Si cambia un solo bit del archivo o mensaje, la salida del hash cambia de forma drástica.

Integridad no es lo mismo que exactitud semántica. Un dato puede ser íntegro desde el punto de vista criptográfico y aun así ser falso si fue generado de manera engañosa desde el origen.

1.7 Autenticación

La autenticación responde a la pregunta: "¿quién está del otro lado?" o "¿quién produjo este dato?". En un sistema digital no alcanza con que un mensaje llegue correctamente; también importa saber si realmente proviene del usuario, servidor o aplicación que afirma haberlo enviado.

La autenticación puede apoyarse en claves compartidas, certificados digitales, firmas criptográficas o protocolos de desafío-respuesta. Es indispensable para evitar suplantaciones, fraudes y ataques donde un tercero se hace pasar por un actor legítimo.

Un navegador confía en un sitio HTTPS no porque vea un candado decorativo, sino porque existe un proceso criptográfico de autenticación del servidor basado en certificados y claves.

1.8 No repudio

El no repudio busca que una persona o entidad no pueda negar de forma creíble una acción que realizó, como firmar un documento, aprobar una transacción o emitir una instrucción. Este objetivo es especialmente importante en entornos legales, financieros y administrativos.

La herramienta típica para proporcionar no repudio es la firma digital, siempre que esté correctamente implementada, vinculada a una identidad y respaldada por una gestión seria de claves. Si la clave privada está comprometida o compartida, el valor probatorio disminuye o desaparece.

1.9 Qué es el hashing y por qué no es cifrado

Una confusión muy común es creer que hashing y cifrado son sinónimos. No lo son. El cifrado transforma datos de forma reversible si se posee la clave adecuada. El hashing, en cambio, transforma una entrada en una salida de longitud fija sin estar pensado para recuperar el original.

Una función hash criptográfica debe ser rápida de calcular, determinística y resistente a ataques como la búsqueda de colisiones o la inversión del proceso. Se usa para verificar integridad, proteger contraseñas de manera indirecta y construir otros mecanismos como HMAC, firmas y estructuras de verificación.

Concepto Propósito Es reversible Usa clave
Cifrado Ocultar el contenido Sí, con la clave correcta
Hashing Resumir y verificar datos No, en diseño normal No
MAC/HMAC Verificar integridad y autenticidad No aplica

1.10 Ejemplos cotidianos de criptografía

La criptografía no es un concepto abstracto reservado a laboratorios o agencias estatales. Está integrada en herramientas que usamos todos los días.

  • Cuando ingresas a un banco por HTTPS, se usa criptografía para autenticar el servidor y cifrar la sesión.
  • Cuando una aplicación guarda contraseñas correctamente, no almacena el texto plano sino hashes robustos con sal.
  • Cuando firmas digitalmente un documento, se usan claves criptográficas para vincular tu identidad con ese contenido.
  • Cuando intercambias mensajes en una app con cifrado de extremo a extremo, la criptografía protege el contenido incluso frente al proveedor del servicio.
  • Cuando verificas la integridad de una descarga mediante un checksum o hash publicado, compruebas que el archivo no fue alterado.

1.11 Criptografía clásica y criptografía moderna

Históricamente, la criptografía comenzó con métodos manuales o mecánicos como sustituciones, transposiciones y alfabetos desplazados. Eran útiles en su contexto, pero resultan débiles ante análisis sistemático y capacidad de cómputo moderna.

La criptografía moderna se apoya en matemáticas formales, modelos de seguridad, teoría de la complejidad y algoritmos diseñados para resistir ataques realistas. La diferencia no es solo tecnológica: también cambia la forma de razonar. Hoy no se busca "esconder el método", sino usar algoritmos públicos y revisados cuya seguridad dependa de la clave, no del secreto del diseño.

1.12 Principio de Kerckhoffs

Uno de los principios más importantes en criptografía afirma que un sistema debe seguir siendo seguro aunque todo sea conocido públicamente excepto la clave. Esto evita depender de mecanismos oscuros o secretos frágiles.

En la práctica, esto significa que los algoritmos criptográficos confiables son públicos, analizados durante años por especialistas y adoptados por estándares abiertos. Confiar en un algoritmo casero porque nadie conoce su funcionamiento suele ser un error serio.

La seguridad no debe descansar en ocultar el algoritmo. Debe descansar en la fortaleza matemática del esquema y en la protección correcta de las claves.

1.13 La importancia de las claves

En casi todo sistema criptográfico, la clave es el activo más sensible. Un algoritmo fuerte con una clave débil o mal gestionada deja de ser seguro. Las claves deben generarse con suficiente aleatoriedad, almacenarse de forma protegida, rotarse cuando corresponde y limitarse a los usos previstos.

Muchos incidentes etiquetados como "fallas de criptografía" en realidad son fallas de gestión de claves: claves hardcodeadas en código fuente, reutilización indebida, almacenamiento sin protección, exposición en logs o distribución insegura.

1.14 Qué no resuelve por sí sola la criptografía

La criptografía es poderosa, pero no mágica. No soluciona por sí sola todos los problemas de seguridad.

  • No impide que un usuario autorizado filtre información voluntariamente.
  • No corrige vulnerabilidades lógicas de una aplicación.
  • No protege una clave que fue robada por malware o phishing.
  • No evita errores de configuración, permisos excesivos o mala arquitectura.
  • No reemplaza controles de acceso, auditoría, monitoreo y respuesta a incidentes.

Por eso siempre debe entenderse como una capa dentro de un sistema más amplio de seguridad.

1.15 Riesgos de una mala implementación

Aplicar criptografía incorrectamente puede ser tan peligroso como no aplicarla. Algunos errores frecuentes son usar algoritmos obsoletos, inventar protocolos propios, reutilizar claves o vectores de inicialización, elegir modos de cifrado inseguros, almacenar secretos en texto plano o usar hashes rápidos para contraseñas.

En seguridad real, la diferencia entre un sistema robusto y uno vulnerable rara vez está en haber oído hablar de AES o SHA-256. La diferencia suele estar en cómo se implementan, integran, parametrizan y operan esas herramientas.

1.16 Panorama general de las ramas que veremos

Este curso recorrerá varias áreas complementarias de la criptografía.

  • Criptografía simétrica: usa una misma clave para cifrar y descifrar.
  • Criptografía asimétrica: trabaja con pares de clave pública y privada.
  • Funciones hash: generan resúmenes criptográficos para integridad y otras construcciones.
  • Firmas digitales: prueban autoría e integridad.
  • Intercambio de claves: permite establecer secretos compartidos en medios inseguros.
  • PKI y certificados: vinculan identidades con claves públicas.
  • Criptografía aplicada: estudia cómo estos mecanismos aparecen en protocolos y sistemas reales.

1.17 Ejemplo integrador

Supongamos que un usuario entra a una plataforma de home banking. Varias propiedades criptográficas actúan al mismo tiempo:

  • El navegador autentica al servidor mediante certificados.
  • La sesión se cifra para mantener confidencialidad.
  • Los mensajes incluyen mecanismos que protegen integridad.
  • Las credenciales del usuario no deberían almacenarse en texto plano, sino como hashes robustos.
  • Las operaciones sensibles pueden quedar respaldadas por evidencias criptográficas adicionales.

Este ejemplo muestra una idea central: en la práctica, la seguridad no depende de una única técnica sino de varias piezas criptográficas coordinadas.

1.18 Qué debes recordar de este tema

  • La criptografía protege información frente a lectura, alteración, suplantación y negación de autoría.
  • Los cuatro objetivos fundamentales de este tema son confidencialidad, integridad, autenticación y no repudio.
  • Hashing no es cifrado; sirve para resumir y verificar datos, no para ocultarlos de forma reversible.
  • La seguridad de un sistema criptográfico depende tanto del algoritmo como de la gestión de claves y de la implementación.
  • La criptografía es una capa esencial, pero debe integrarse con el resto de la arquitectura de seguridad.

1.19 Conclusión

La criptografía es una de las herramientas más importantes para construir confianza en sistemas digitales. Permite que datos sensibles permanezcan reservados, que los cambios no pasen inadvertidos, que las identidades puedan verificarse y que ciertas acciones queden respaldadas de forma fuerte.

En el próximo tema recorreremos la historia de la criptografía, desde los cifrados clásicos hasta los esquemas modernos, para entender cómo evolucionaron las técnicas y por qué hoy confiamos en algoritmos públicos y formalmente analizados.