TEMAS X-XI-XII

TEMA X
WEB-CLUSTER


El término clúster (del inglés cluster, "grupo" o "racimo") se aplica a los conjuntos o conglomerados de computadoras construidos mediante la utilización de hardwares comunes y que se comportan como si fuesen una única computadora.

Hoy en día desempeñan un papel importante en la solución de problemas de las ciencias, las ingenierías y del comercio moderno.

La tecnología de clústeres ha evolucionado en apoyo de actividades que van desde aplicaciones de supercómputo y software de misiones críticas, servidores web y comercio electrónico, hasta bases de datos de alto rendimiento, entre otros usos.

El cómputo con clústeres surge como resultado de la convergencia de varias tendencias actuales que incluyen la disponibilidad de microprocesadores económicos de alto rendimiento y redes de alta velocidad, el desarrollo de herramientas de software para cómputo distribuido de alto rendimiento, así como la creciente necesidad de potencia computacional para aplicaciones que la requieran.

Simplemente, un clúster es un grupo de múltiples ordenadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es visto como un único ordenador, más potente que los comunes de escritorio.

Los clústeres son usualmente empleados para mejorar el rendimiento y/o la disponibilidad por encima de la que es provista por un solo computador típicamente siendo más económico que computadores individuales de rapidez y disponibilidad comparables.

De un clúster se espera que presente combinaciones de los siguientes servicios:
Alto rendimiento
Alta disponibilidad
Balanceo de carga
Escalabilidad

La construcción de los ordenadores del clúster es más fácil y económica debido a su flexibilidad: pueden tener todos la misma configuración de hardware y sistema operativo (clúster homogéneo), diferente rendimiento pero con arquitecturas y sistemas operativos similares (clúster semihomogéneo), o tener diferente hardware y sistema operativo (clúster heterogéneo), lo que hace más fácil y económica su construcción.

Para que un clúster funcione como tal, no basta solo con conectar entre sí los ordenadores, sino que es necesario proveer un sistema de manejo del clúster, el cual se encargue de interactuar con el usuario y los procesos que corren en él para optimizar el funcionamiento.





CARACTERÍSTICAS 



Concentración geográfica de la actividad económica 

:: Especialización en un sector económico concreto

:: Efecto derrame, pues su actividad beneficia a toda la región

:: Triple Hélice: sistema administración-universidad-empresa

:: Equilibrio entre competencia y colaboración por parte de sus miembros

Todos estos elementos convierten a los clusters en entidades “vivas” convirtiéndose en elementos dinámicos de la economía, generadores de oportunidades, empleo y riqueza. 


VENTAJAS Y DESVENTAJAS



En la actualidad la naturaleza cambiante en la competencia entre empresas demandas nuevas formas de organización., ya que, las grandes empresas incorporan nuevos mecanismos de aprendizaje, mejoramiento continuo, reingieneria, alianzas estratégicas, fusiones y adquisiciones y es por esto que las oportunidades de las pymes se hace cada vez mas complejas. por lo general las pymes no tienen los recursos ni las capacidades para adoptar estrategias individuales, es aquí donde las estrategias de agrupación en redes empresariales, la asociatividad y la cooperación son fundamentales, para competir frente a las grandes empresas. hoy las firmas necesitan reinsertarse en un nuevo escenario productivo, tecnológico, comercial y de negocios altamente volátil y cambiante, en esquemas de mercado ampliado e internacionalizados. un “cluster” tiene como objetivo maximizar la competitividad y los éxitos empresariales aprovechando las oportunidades en las redes y cadenas de valor de los productos, el éxito empresarial no solo depende de los esfuerzo propios, de las condiciones macro o de las leyes del mercado, sino también de la calidad del entorno donde se desarrolle. en este contexto, los clusters basados en cooperación de empresas y redes de producción y valor ha ganado importancia en los últimos años. es así como la competencia demanda empresas flexibles, resistentes y capaces de adecuarse rápidamente a las nuevas cadenas de valor. como son pocas las empresas que pueden reunir todos los elementos para el éxito, la cooperación en un cluster a menudo entrega nuevas herramientas y oportunidades, es por esto que los cluster buscan combinar los esfuerzo individuales de las empresas a objeto que el conjunto de estos sea mayor que la suma de las partes, lo que permite generar un entorno de conocimiento mutuo maximiza la competitividad tanto en los mercados nacionales como internacionales. por lo general los cluster son una concentración sectorial y/o geográfica de empresas que se desempeñan en las mismas actividades o en actividades estrechamente relacionadas lo que ayuda al encadenamiento productivo hacia atrás y hacia delante. a continuación explicaremos brevemente los beneficios y desventajas que pueden provocar los cluster


• ventajas de un cluster sin duda la agrupación de conglomerados empresariales permite a los participantes de éste gozar de muchos beneficios, que les brinda seguridad y confianza en las inversiones. los beneficios del cluster son:

-el desarrollo de las economías de escala, para las empresas asociadas, potenciando su capacidad de ingreso a mercados, y aumentando sus beneficios. -se eleva la competitividad, favoreciendo a la industria por la necesidad de nuevos productos, y de mejor calidad.

-se asegura la permanencia en el mercado, permitiendo que las empresas que se integren tengan una estabilidad, de acuerdo al estudio realizado con anterioridad

-la mutua ayuda de las empresas permite la permanencia en los mercados, y la investigación les permite hacer un avance en conjunto -la investigación de universidades y centros de investigación tecnológicos permiten que los integrantes del cluster se vean beneficiados en conjunto por los avances de los organismos tecnológicos.

- la concentración de empresas en una región atrae más clientes, provocando que el mercado se amplíe para todas, más allá de lo que sería el caso si cada una estuviese operando aisladamente. - la fuerte competencia inducida por esta concentración de empresas genera una mayor especialización y división de trabajo, y, por ende, una mayor productividad.

-la fuerte interacción entre productores, proveedores y usuarios facilita e induce un mayor aprendizaje productivo, tecnológico y de comercialización.

- las repetidas transacciones en proximidad con los mismos agentes económicos genera mayor confianza y reputación; lo que redunda en menores costos de transacción. desventajas de un cluster

- desafortunadamente, en américa latina, las condiciones de muchas economías locales fuera de las grandes ciudades son tales (a nivel de mercados –imperfectos o inexistentes-, de infraestructura –inexistente-, de capital humano –de poca formación formal-, de capital social –de tejido débil-) que se encuentran muy alejadas de los clusters en los países desarrollados. las políticas y programas que intentan fortalecer los clusters en la región deben por lo tanto empezar por reconocer estas diferencias y tratar de incidir sobre lo básico, o sea, preocuparse primero de mejorar la educación y las destrezas, de construir capacidades en tecnología, de abrir el acceso a los mercados de capital y de mejorar las instituciones y sólo después o, a lo sumo, paralelamente, tomar acciones específicas para fortalecer un cluster dado. - la asociación de núcleos empresariales en una conglomeración cluster no sólo trae consigo beneficios a los sectores empresariales. la mala planificación y la falta de estudios sobre la factibilidad de un cluster pueden provocar un mala perspectiva del mismo, conduciendo a la falta de afiliados y al poco interés de parte de los empresarios. -al haber una mala planificación tanto espacial como comercial, los afiliados el cluster puede perder factibilidad industrial, y perder sus componentes haciendo caer a todos sus afiliados. - la falta de estudios y proyectos pueden hacer que la planificación de un cluster económico no posea la suficiente atracción para el sector empresarial, limitando la cantidad de núcleos empresariales que ingresen a éste.


¿qué efecto tienen los cluster en las empresas?

los clusters afecta la competencia en tres ámbitos:

1. incrementa la productividad de las empresas asociadas;

2. señala la dirección y el ritmo de la innovación;

3. estimula la formación de nuevos negocios.

en relación con el último punto, si un cluster es exitoso, lo más probable es que se vayan formado encadenamientos en diferentes direcciones alrededor de la actividad central o base. se mejoran las competitividad de las que se encuentran en su interior. ventajas competitivas ecomonias de concentración

• atracción proveedores

• mejora oferta de factores

• efecto positivo sobre costos ventajas de la especialización

• división externa del trabajo y especialización productiva de las empresas.

• fluido eficiente de informaciones (c. información).

• facilidad para tomar acuerdos (c.coordinación) ventajas de la integración

• relaciones de confianza.

• intercambio conocimientos estratégicos.

CASOS DE ESTUDIO




http://www.pacpymes.gub.uy/c/document_library/get_file?p_l_id=6392&folderId=9728&name=Informe+Queser%C3%ADa+Artesanal.PDF

http://economia.ucu.edu.uy/attachments/001_Informe%20Final%20-%20Cluster%20Audiovisual.pdf

BASES DE DATOS DISTRIBUIDAS

Es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos (pej. un servidor corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local.

Un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes:
Hay múltiples computadores, llamados sitios o nodos.
Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones para transmitir datos y órdenes entre los sitios.


CONCEPTOS BASICOS


Base de Datos Distribuidas 
Es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas entre diferentes sitios interconectados por una red de comunicaciones.


Sistema de Basede Datos Distribuida
Es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones, de tal forma que, un usuario en cualquier sitio puede accesar los datos en cualquier parte de la red exactamente como si los datos estuvieran almacenados en su sitio propio.


Un sistema de manejo de bases de datos distribuidas
Es aquel que se encarga del manejo de la BDD y proporciona un mecanismo de acceso que hace que la distribución sea transparente a los usuarios. El término transparente significa que la aplicación trabajaría, desde un punto de vista lógico, como si un solo SMBD ejecutado en una sola máquina, administrara esos datos.


Un sistema de base de datos distribuida
Es entonces el resultado de la integración de una base de datos distribuida con un sistema para su manejo.




CARACTERÍSTICAS DE LAS BASES DE DATOS DISTRIBUIDAS



*Los datos deben estar físicamente en más de un ordenador (distintas sedes)
*Las sedes deben estar interconectadas mediante una red (cada sede es un nodo de la red)
*Los datos han de estar lógicamente integrados (recuperación y actualización) tanto en local como remoto (esquema lógico global y único)
*En una única operación se puede acceder (recuperar o actualizar) datos que se encuentran en más de una sede (acceso a datos locales o remotos)
*Todas las acciones que necesiten realizarse sobre más de una sede serán transparentes al usuario (transparencia de distribución para el usuario)



VENTAJAS DE LAS BDD

ORGANIZATIVAS:
  • Adaptación a la organización de la institución (unión de compañías/descentralización), respondiendo a cambios
  • Almacenar los datos donde son generados y/o usados, la mayor parte locales
  • Proporcionar autonomía local, controlándose desde cada nodo. Política general contra política local

ECONÓMICAS:
  • Costos de comunicación y de creación de pequeños sistemas

TÉCNICAS:
  • Flexibilidad, acceso desde distintos lugares y por distintas personas a la vez
  • Fiabilidad/disponibilidad, en un determinado momento / intervalo. Varios sitios, duplicaciones, evitan fallos
  • Modularidad
  • Mejora del rendimiento, BD más pequeñas, operaciones de menor volumen
  • Crecimiento incremental, añadiendo poder de procesamiento y almacenamiento
DESVENTAJAS DE LAS BDD
  • Complejidad del sistema, desarrollo de software más costoso, problemas de sincronización, dificultad para conocer la corrección de los algoritmos paralelos, detección de caídas de nodos
  • Dependencia de la red de comunicaciones, sobrecarga deprocesamiento de mensajes
  • Dificultad de diseño, fases adicionales
  • Poca madurez de los productos comerciales, orientados a replicación
  • Funciones de administración compleja, sincronización y coordinación
  • Dificultad de cambio, inexistencia de metodologías
  • Personal especializado





ESTRUCTURAS DE LAS BASES DE DATOS DISTRIBUIDAS


Un sistema de Base de datos distribuidas se compone de un conjunto de localidades,   cada una de las cuales mantiene un sistema de base de datos local. Cada localidad puede procesar transacciones locales, es decir, aquellas que sólo acceden a datos que residen en esa localidad. Además una localidad puede participar en la ejecución de transacciones globales, es decir, aquellas que acceden a datos de varias localidades. 

La ejecución de transacciones globales requiere comunicación entre las localidades, esta comunicación puede ser, por ejemplo, mediante líneas telefónicas o cables de alta velocidad.

Cabe destacar que en un sistema de BDD tiene las siguientes características:

Cada sitio es un sistema de base de datos en sí mismo.
Los sitios han convenido en trabajar juntos (si es necesario) con el fin de que un usuario de cualquier sitio pueda obtener acceso a los datos de cualquier punto de la red tal como si todos estuvieran almacenados en el sitio propio del usuario.
En consecuencia, la llamada “base de datos distribuida” es en realidad una especie de objeto virtual, cuyas partes componentes se almacenan físicamente en varias bases de datos “reales” distintas ubicadas en diferentes sitios. De hecho, es la unión lógica de esas bases de datos.

Los sitios pueden conectarse físicamente, a modo de grafo, de diversas formas, como por ejemplo:
Red totalmente conectada 
Red prácticamente conectada 
Red con estructura de árbol 
Red de estrella 
Red de anillo 

En la figura siguiente se da un ejemplo   de la estructura (un sistema distribuido de bases representativo):

Las diferencias principales entre estas configuraciones son:
Costo de instalación: El costo de conectar físicamente los sitios del sistema 
Costo de comunicación: El costo en tiempo y dinero que implica enviar un mensaje desde el sitio A al B. 
Fiabilidad: La frecuencia con que falla una línea de comunicación o un sitio. 

TEMA XII
SEGURIDAD Y NUEVAS TECNOLOGÍAS EN SISTEMAS DISTRIBUIDOS 



El punto de la seguridad es delicado en este tipo de computación distribuida pues las conexiones se hacen de forma remota y no local, entonces suelen surgir problemas para controlar el acceso a los otros nodos. Esto puede aprovecharse para un ataque de DoS, aunque la red no va a dejar de funcionar porque uno falle. Esa es una ventaja de este sistema grid.


Cuando hablamos de la seguridad de los sistemas distribuidos nos referimos a el resguardo de la información que contiene el sistema, ya se en software, hardware o datos, los cuales deben ser protegidos contra posibles ataques, en cuanto a modificación o robo de información entre otros.La seguridad es muy importante ya que puede disminuir el ataque de la información, por eso es recomendable tener como prioridad la seguridad para que todo se maneje muy bien y no ocurran problemas.

GRID



La computación en grid o en malla es un nuevo paradigma de computación distribuida en el cual todos los recursos de un número indeterminado de computadoras son englobados para ser tratados como un único superordenador de manera transparente.
Estas computadoras englobadas no están conectadas o enlazadas firmemente, es decir no tienen por qué estar en el mismo lugar geográfico. Se puede tomar como ejemplo el proyecto SETI@Home, en el cual trabajan computadoras alrededor de todo el planeta para buscar vida extraterrestre.


Es una tecnología innovadora que permite utilizar de forma coordinada todo tipo de recursos (entre ellos cómputo, almacenamiento y aplicaciones específicas) que no están sujetos a un control centralizado. En este sentido es una nueva forma de computación distribuida, en la cual los recursos pueden ser heterogéneos (diferentes arquitecturas, supercomputadores, clusters...) y se encuentran conectados mediante redes de área extensa (por ejemplo Internet). Desarrollado en ámbitos científicos a principios de los años 1990, su entrada al mercado comercial siguiendo la idea de la llamada Utility computing supone una importante revolución.
El término grid se refiere a una infraestructura que permite la integración y el uso colectivo de ordenadores de alto rendimiento, redes y bases de datos que son propiedad y están administrados por diferentes instituciones. Puesto que la colaboración entre instituciones envuelve un intercambio de datos, o de tiempo de computación, el propósito del grid es facilitar la integración de recursos computacionales. Universidades, laboratorios de investigación o empresas se asocian para formar grid para lo cual utilizan algún tipo des oftware que implemente este concepto.

SEGURIDAD



CONFIDENCIALIDAD: Nos dice que los objetos de un sistema han de ser accedidos únicamente por elementos autorizados a ello, y que esos elementos autorizados no van a convertir esa información en disponible para otras entidades.

LA INTEGRIDAD: Significa que los objetos sólo pueden ser modificados por elementos autorizados, y de una manera controlada.

LA DISPONIBILIDAD: Indica que los objetos del sistema tienen que permanecer accesibles a elementos autorizados; es el contrario de la negación de servicio.

CRIPTOGRAFIA

La criptografía es un proceso para transformar datos, generalmente texto claro a un texto clave o cifrado, y que sólo puede ser convertido nuevamente en un texto claro y entendible usando una llave en particular y aplicándole un algoritmo apropiado. Por lo general, las técnicas de criptografía se aplican antes de que la información sea almacenada o transmitida por algún canal físico, en el caso de una red. Existen varios tipos o categorías en que se clasifican las técnicas de encriptación de información.

Sistemas de encriptación

• Sistemas convencionales
• Sistemas modernos
• Sistemas de llave pública
• Sistemas de llave privada

Sistemas convencionales de encriptación.
Este tipo de encriptación se basa en la sustitución de cifras, en la cual, cada caracter en un texto claro o base es sustituido por otro caracter. Existen varias técnicas:

• Cifra Caesar.
En éste método, cada letra del texto original se transforma en la tercer letra siguiente Por ejemplo, "CASA" es transformado en "FDVD", de acuerdo al equivalente en la tabla de códigos ASCII.
Los problemas principales con esta técnica son que 1) ya que la transformación es lineal, determinar la llave es muy simple y 2) el número de llaves es muy pequeño ya que se restringe al tamaño del código usado (ASCII en el ejemplo).

• Sustitución simple.
En este método, cualquier permutación de letras puede ser identificado al lenguaje Español o Inglés y elimina la relación posicional de la Cifra Caesar, debido a que cada permutación de letras es una llave, hay (>1026) llaves en una cifra como ésta, lo que hace muy costosa una búsqueda exhaustiva. Sin embargo, la cifra por sustitución simple preserva la frecuencia de sustitución de las letras de un alfabeto porque se ejecuta la misma sustitución en todas las ocurrencias de una letra, y puede usarse un análisis estadístico para desencriptar la cifra.

• Cifra polialfabética.
La cifra polialfabética usa una secuencia periódica de n letras de sustitución, es decir; el método actúa con n sustituciones alfabéticas periódicamente. Este método puede tener un mayor impacto si se escoge apropiadamente la sustitución. Una forma de aplicar este método es usar la Cifra Caesar con diferentes llaves. Por ejemplo, se puede tener la secuencia de enteros 11, 19, 4, 22, 9, 25 y se obtendría el texto cifrado agregando repetidamente cada entero al texto original.
Este método es también vulnerable, porque si se conoce el periodo (secuencia de enteros), las diferentes cifras de cada periodo se pueden determinar por una búsqueda exhaustiva.

Sistemas modernos de encriptación
Usan información representada en forma binaria. Generalmente, en estos métodos se conocen las técnicas de encriptación y desencriptación, pero la llave requerida para desencriptar el texto cifra se mantiene en secreto. Los esquemas de criptografía moderna se basan en el principio de la búsqueda exhaustiva, aunque se conozca el mecanismo de desencriptación, el procedimiento de desencriptación es tan intensivo computacionalmente, que tomaría un tiempo prohibitivo para encontrar la llave.

Método de llave privada
La criptografía por llave privada se ha convertido en un estándar. Fue desarrollado por IBM. Este método es conocido como el Estándar de Encriptación de Datos (DES, por sus siglas en inglés), y utiliza básicamente dos operaciones:
Se usa una operación de permutación para permutar los bits de una palabra y su objetivo es difundir o esparcir la correlación y las dependencias entre los bits de una palabra.
Una operación de sustitución reemplaza una entrada de m bits por una salida n de bits, sin que exista una relación directa entre ambas. Generalmente, una operación de sustitución consta de tres pasos: primero, la entrada de m bits se convierte a una forma decimal; segundo, se permuta la forma decimal (para obtener otro número decimal); y finalmente, la salida decimal se convierte en una salida de n bits.

Método de llave pública
El método de encriptación por llave privada (así como los métodos convencionales) requiere la distribución de llaves secretas a través de una red de comunicaciones insegura, antes de que se pueda tener una comunicación segura. Este problema es conocido como problema de distribución de llaves.
El método de criptografía por llave pública resuelve este problema anunciando al dominio público el método de encriptación E (y su llave asociada); sin embargo, se mantiene secreto el método de desencriptación D (y su llave asociada).



FIRMA DIGITAL


La criptografía (del griego κρύπτω krypto, «oculto», y γράφω graphos, «escribir», literalmente «escritura oculta») es la técnica, bien sea aplicada al arte o la ciencia, que altera las representaciones lingüísticas de un mensaje.


En esencia la criptografía trata de enmascarar las representaciones caligráficas de una lengua, de forma discreta. Si bien, el área de estudio científico que se encarga de ello es la Criptología.
Para ello existen distintos métodos, en donde el más común es el cifrado. Esta técnica enmascara las referencias originales de la lengua por un método de conversión gobernado por un algoritmo que permita el proceso inverso o descifrado de la información. El uso de esta u otras técnicas, permite un intercambio de mensajes que sólo puedan ser leídos por los destinatarios designados como 'coherentes'. Un destinatario coherente es la persona a la que el mensaje se le dirige con intención por parte del remitente. Así pues, el destinatario coherente conoce el discretismo usado para el enmascaramiento del mensaje. Por lo que, o bien posee los medios para someter el mensaje criptográfico al proceso inverso, o puede razonar e inferir el proceso que lo convierta en un mensaje de acceso público. En ambos casos, no necesita usar técnicas criptoanalíticas.
Un ejemplo cotidiano de criptografía es el que usamos cuando mandamos una carta. El mensaje origen queda enmascarado por una cubierta denominada sobre, la cual declara el destinatario coherente, que además conoce el proceso inverso para hacer público el mensaje contenido en el sobre.

En la jerga de la criptografía, la información original que debe protegerse se denomina texto en claro o texto plano. El cifrado es el proceso de convertir el texto plano en un galimatías ilegible, denominado texto cifrado o criptograma. Por lo general, la aplicación concreta del algoritmo de cifrado (también llamado cifra) se basa en la existencia de una clave: información secreta que adapta el algoritmo de cifrado para cada uso distinto. Cifra es una antigua palabra arábiga para designar el número cero; en la Antigüedad, cuando Europa empezaba a cambiar del sistema de numeración romano al arábigo, se desconocía el cero, por lo que este resultaba misterioso, de ahí probablemente que cifrado signifique misterioso.
Las dos técnicas más sencillas de cifrado, en la criptografía clásica, son lasustitución (que supone el cambio de significado de los elementos básicos del mensaje -las letras, los dígitos o los símbolos-) y la transposición (que supone una reordenación de los mismos); la gran mayoría de las cifras clásicas son combinaciones de estas dos operaciones básicas.
El descifrado es el proceso inverso que recupera el texto plano a partir delcriptograma y la clave. El protocolo criptográfico especifica los detalles de cómo se utilizan los algoritmos y las claves (y otras operaciones primitivas) para conseguir el efecto deseado. El conjunto de protocolos, algoritmos de cifrado, procesos de gestión de claves y actuaciones de los usuarios, es lo que constituyen en conjunto un criptosistema, que es con lo que el usuario final trabaja e interactúa.

Existen dos grandes grupos de cifras: los algoritmos que usan una única clave tanto en el proceso de cifrado como en el de descifrado, y los que emplean una clavepara cifrar mensajes y una clave distinta para descifrarlos. Los primeros se denominan cifras simétricas, de clave simétrica o de clave privada, y son la base de los algoritmos de cifrado clásico. Los segundos se denominan cifras asimétricas, de clave asimétrica o de clave pública y forman el núcleo de las técnicas de cifrado modernas.
En el lenguaje cotidiano, la palabra código se usa de forma indistinta con cifra. En la jerga de la criptografía, sin embargo, el término tiene un uso técnico especializado: los códigos son un método de criptografía clásica que consiste en sustituir unidades textuales más o menos largas o complejas, habitualmente palabras o frases, para ocultar el mensaje; por ejemplo, "cielo azul" podría significar «atacar al amanecer». Por el contrario, las cifras clásicas normalmente sustituyen o reordenan los elementos básicos del mensaje -letras, dígitos o símbolos-; en el ejemplo anterior, «rcnm arcteeaal aaa» sería un criptograma obtenido por transposición. Cuando se usa una técnica de códigos, la información secreta suele recopilarse en un libro de códigos.