Un código es una forma de transformar la información en otra cosa. A veces se hace para mantener un mensaje en secreto. Esto se denomina encriptación o criptografía. Una fuente da esta explicación: un código es "una palabra, un número o algún otro símbolo utilizado para representar una palabra, frase o sílaba en texto plano". Es una de las primeras formas de criptografía. Contrasta el código con el cifrado, en el que las letras individuales se cifran (cambian).
A veces se hace como una forma más fácil de enviar un mensaje. Por ejemplo, cuando personas en dos barcos diferentes quieren enviar un mensaje, pueden estar demasiado lejos para gritar, pero pueden enviar mensajes con un código de banderas. Otro código que la gente utiliza es el llamado código Morse, que cambia las letras por puntos y rayas, así:
SOS: ---------Los ordenadores utilizan códigos, cambiando las letras por 1 y 0. Este método se inventó para las cintas perforadas. Ahora el código alfanumérico habitual es el ASCII.
Algunas personas escriben códigos como una especie de juego. Piensan que es divertido crear códigos, y divertido romperlos. Romper un código significa desmontarlo para entender cómo funciona, y entonces se pueden entender los mensajes que están escritos en ese código. El criptoanálisis también es un asunto serio. Las naciones y otras organizaciones han estado descifrando los códigos de los demás durante muchos siglos.
El algoritmo (código) para hacer que un mensaje sea secreto se llama algoritmo de encriptación. Para volver a cambiar un mensaje secreto se necesita un algoritmo de descifrado.
Tipos de códigos y su funcionamiento
- Códigos por sustitución y códigos por libro: asocian palabras, frases o sílabas enteras con símbolos o números (por ejemplo, un código en libro que asigna la palabra "ataque" al número 217). Este tipo fue muy usado históricamente para comunicaciones diplomáticas y navales.
- Códigos de señalización: como el código de banderas o el código Morse, sirven para transmitir mensajes breves a distancia usando señales visuales o auditivas.
- Códigos binarios: en informática la información se representa con 1 y 0. Sistemas como el ASCII y Unicode asignan combinaciones binarias a caracteres y símbolos.
- Códigos de corrección de errores: diseñados para detectar y corregir errores introducidos por canales ruidosos. Ejemplos conceptuales son códigos de paridad, CRC o códigos más complejos como Hamming y Reed–Solomon, usados en comunicaciones y almacenamiento.
- Códigos de compresión (codificación fuente): reducen el tamaño de los datos para transmitir o almacenar más eficientemente; ejemplos conceptuales incluyen Huffman o LZW (funcionan transformando los datos en representaciones más cortas).
- Códigos de identificación: códigos de barras, códigos QR, identificadores únicos que sirven para etiquetar productos, documentos o usuarios.
- Códigos criptográficos: destinados a proteger la confidencialidad, integridad y autenticidad de la información. Incluyen cifrados simétricos (clave compartida), asimétricos (clave pública/privada) y esquemas de firma y hash.
Usos en criptografía
En criptografía moderna los "códigos" conceptuales se implementan mediante algoritmos y protocolos que convierten datos de forma que solo usuarios autorizados puedan recuperarlos. Los usos principales son:
- Confidencialidad: evitar que terceros lean mensajes.
- Integridad: detectar si un mensaje ha sido alterado.
- Autenticación: comprobar la identidad de la fuente o que un mensaje proviene de quien dice provenir.
- No repudio: impedir que el remitente niegue haber enviado un mensaje, mediante firmas digitales.
Los algoritmos criptográficos pueden ser implementados como cifrados por bloques, por flujo, funciones hash o protocolos de intercambio de claves. En la práctica se eligen en función de la seguridad y el rendimiento necesarios para cada aplicación.
Usos en comunicaciones y computación
Más allá de la seguridad, los códigos son esenciales en todas las redes y sistemas digitales:
- Transmisión fiable: códigos de corrección permiten que datos viajen por canales con ruido (radio, fibra, satélite) y lleguen correctos.
- Compresión: reduce ancho de banda y almacenamiento necesarios.
- Formateo y representación: definir cómo se representan texto, imágenes y audio en bits (p. ej. ASCII, Unicode, formatos multimedia).
- Identificación y direccionamiento: direcciones IP, números de serie, códigos de barras y QR facilitan el ruteo y la gestión de recursos.
Ejemplos históricos y modernos
- Códigos manuales y libros de códigos usados en los siglos pasados por diplomacia y navíos.
- El código Morse y la semaforía (banderas) para señales a distancia.
- Sistemas de cintas perforadas y códigos binarios que dieron origen a la informática moderna.
- Estándares actuales como el ASCII y Unicode para el texto, y códigos de corrección como Reed–Solomon usados en CDs, DVDs y comunicaciones espaciales.
- Esquemas criptográficos actuales (implementados por software/hardware) para proteger transacciones bancarias, correos y comunicaciones en Internet.
Diferencias entre "código" y "cifrado"
En el lenguaje técnico tradicional, un código sustituye unidades de significado (palabras, frases) por símbolos o números, mientras que un cifrado transforma unidades más pequeñas (letras, bits) siguiendo reglas matemáticas. Hoy día ambos términos a veces se usan de forma intercambiable en el habla corriente, pero la distinción conceptual es útil al diseñar sistemas de comunicación segura.
Seguridad y criptoanálisis
Crear un código o cifrado seguro requiere evaluar su resistencia a ataques. El criptoanálisis es la disciplina que estudia cómo encontrar debilidades en códigos y cifrados. Históricamente, romper códigos ha influido en guerras y diplomacia; hoy en día la investigación en criptoanálisis mejora los estándares de seguridad que protegen datos personales y económicos.
Consideraciones prácticas
- Elegir un código o algoritmo depende del objetivo: secreto, detección de errores, compresión o identificación.
- La interoperabilidad y los estándares (por ejemplo, ASCII/Unicode, protocolos de red) facilitan que distintos sistemas se entiendan.
- En seguridad, usar algoritmos y protocolos bien estudiados es preferible a inventar soluciones caseras; la criptografía segura suele basarse en técnicas públicas revisadas por la comunidad científica.
En resumen, un código puede servir para ocultar, condensar, corregir o identificar información. Sus formas van desde mensajes en banderas y el código Morse hasta complejos esquemas criptográficos y códigos de corrección utilizados en la electrónica y las comunicaciones modernas.

