Enciclopedia de Conocimientos Fundamentales
UNAM ˜ SIGLO XXI


regreso








4.4.4 Protocolos criptográficos

El comercio electrónico, tan común hoy en día, sería imposible sin el uso de esquemas criptográficos confiables. A través de internet se envía información confidencial que, de ser capturada por delincuentes, podría ser utilizada para cometer algún fraude. Si el número de tarjeta de crédito de un cliente de una tienda virtual pudiera ser capturado por un intruso que hubiera intervenido el canal de comunicación, las consecuencias serían terribles para el usuario, para el banco emisor de la tarjeta y para la tienda virtual.

Funciones de un solo sentido

Para garantizar la confidencialidad de los datos en un contexto como el de comercio electrónico descrito arriba, se utilizan dos esquemas criptográficos. El primero se encarga de poner de acuerdo con una clave a la máquina cliente con la máquina servidor (la tienda virtual). El segundo usa esta clave para cifrar y descifrar los datos intercambiados durante la transacción.

Para poner de acuerdo a las dos máquinas con una clave común para ambas, sin que ésta viaje a través del inseguro canal de comunicación, se utiliza un concepto fundamental de la criptografía moderna: el de función de un solo sentido. El objetivo es tener una función a la que se la da un argumento de entrada y se obtiene fácilmente un resultado, pero es muy difícil tratar de deducir cuál fue la entrada a partir de la salida. Una manera de construir una función de un solo sentido es como sigue: es mucho más fácil multiplicar dos números para obtener otro, n, que factorizar n en los dos números originales. Los detalles de cómo hacer esto correctamente requieren del uso de la rama de las matemáticas llamada teoría de números.


Curiosidades
G. H. Hardy (1877- 1947) fue un gran matemático inglés que hizo importantes contribuciones a la teoría de números, famoso por preferir que las matemáticas se mantengan puras y por haber dicho: "Nunca he hecho nada 'útil'. Ninguno de mis descubrimientos ha hecho o puede llegar a hacer, directa o indirectamente, para bien o para mal, la más mínima diferencia en el servicio del mundo." Es precisamente la teoría de números la que ha hecho posible la criptografía moderna.


hardy

El objetivo práctico de todo sistema criptográfico no es lograr la seguridad perfecta, que como se verá más adelante resulta impráctica, sino lograr la seguridad adecuada: es decir, que el enemigo tarde lo suficiente en descifrar el mensaje como para que ya no le sea útil. Que sepa el plan de batalla después de que ésta ha terminado, para decirlo en términos simples.

Para que el cliente y el servidor de una transacción comercial se pongan de acuerdo en una clave sin que ésta pueda ser capturada por el enemigo, cada uno de ellos aplica una función de un solo sentido a un argumento diferente e intercambian los resultados. Luego cada uno vuelve a aplicar la misma función, pero ahora sobre el argumento que recibió de su contraparte; así, ambos llegan al mismo resultado y el enemigo potencial que interviene el canal no puede saber cuáles eran los argumentos iniciales porque es difícil determinarlos a partir de los resultados que viajaron por el canal.

Un ejemplo más concreto sería elegir un catálogo de pinturas para muros. En las muestras de pintura hay tonos con diferencias muy sutiles, apenas perceptibles. Tratar de determinar cuál es la mezcla precisa de colores básicos que dan como resultado exacto uno de los colores del catálogo es difícil. Saber cuáles y en qué proporción mezclarlos para obtener un color particular es lo que implica una función de un solo sentido: es fácil mezclar colores, pero no es fácil, dado un color en particular, determinar cuál es la mezcla correcta que lo produce.

Supóngase que A y B desean ponerse de acuerdo en un color en particular sin que nadie más pueda deducir cuál es aun cuando esté observando lo que se intercambian A y B.

1] Tanto A como B se ponen de acuerdo en un color inicial del catálogo de colores que poseen en común, por ejemplo X. Tanto A como B toman una lata con capacidad para tres litros y ponen en ella un litro exacto de X.

2] A elige un color aleatorio del catálogo: Y, y agrega a su lata un litro exacto de Y. Ahora la lata contiene dos litros de la mezcla XY.

3] B elige un color aleatorio del catálogo: Z, y agrega a su lata un litro exacto de Z. Ahora la lata contiene dos litros de la mezcla XZ.

4] A y B intercambian sus latas. El posible enemigo sabe cuál color es X, pero ahora lo ve pasar mezclado con otro y no puede determinar con cuál.

5] A recibe la lata de B y le añade un litro de su propio color Y. A termina con tres litros de la mezcla XYZ.

6] B recibe la lata de A y le añade un litro de su propio color Z. B termina con tres litros de la misma mezcla XYZ.

Ahora A y B pueden usar el secreto con el que se pusieron de acuerdo como clave para cifrar sus futuras comunicaciones cifradas. Por supuesto, en la vida real el secreto es un número.

Datos, información, conocimiento y sabiduría

Hasta ahora hemos hablado de diferentes tipos de representaciones en función de su uso. Sin embargo, sólo se han mencionado representaciones de bajo nivel, por decirlo así. En esencia, se ha hecho referencia a cadenas de bits y de cómo estas cadenas pueden servir para representar datos de modo eficiente, seguro o preservando la integridad. ¿Cómo se llega a representar, usando sólo bits, reglas sofisticadas de diagnósticos médicos, estrategias para resolver problemas, programas de traducción de un lenguaje a otro, por ejemplo? En la convivencia cotidiana con los dispositivos de cómputo se suelen usar representaciones más próximas a las necesidades diarias. Se manipulan datos en una hoja de cálculo y no hay necesidad de percatarse de que los números que aparecen en ella se representan en binario al interior de la máquina. Las necesidades humanas de manipular, manejar e intercambiar datos demandan representaciones mucho más abstractas, de alto nivel.

Tómese una hoja de cálculo, de tipo Excel. ¿De dónde surge su enorme valor? Una hoja de cálculo está constituida por un arreglo bidimensional de celdas indexadas por filas y columnas. Cada una de estas celdas contiene un dato de un tipo: cadena de caracteres, número con cierta precisión, valor de verdad (falso o verdadero), valor monetario, hora, fecha, etc. Estas celdas pueden ser manipuladas individualmente o agrupadas para efectuar cálculos con ellas. Es posible procesar subconjuntos de ellas aplicándoles una fórmula (es decir, un algoritmo), ordenarlas de acuerdo con cierto criterio o filtrarlas separándolas en subconjuntos más pequeños. La hoja de cálculo responde a nuestra necesidad de manejar conjuntos de datos complejos, constituidos por elementos más simples de tipos diferentes, a los que se les asocian distintos significados, pero que poseen cierta unidad determinada por la estructura tabular.

Las tablas sirven para representar relaciones entre distintos datos. Cada columna o cada fila de una tabla se relaciona con las otras de alguna manera. Lo realmente importante en una hoja de cálculo es que, más allá de los datos concretos individuales que aparecen en cada celda, permite representar algo mucho más abstracto: una relación, un vínculo entre ellos. Manipular la hoja de cálculo y aplicar operaciones sobre su contenido permite transformar los datos en información útil que, a pesar de haber estado siempre allí en estado latente, sólo es posible extraer explotando la relación que existe entre los datos.

Este mismo concepto, el de representar vínculos abstractos entre series de datos, es el que se generaliza en lo que se conoce como bases de datos. Esencialmente, una base de datos consiste en almacenar muchos datos, manteniendo relaciones entre éstos. En las bases de datos clásicas, estas relaciones se mantienen mediante un conjunto de tablas diferentes, cada una de las cuales establece un vínculo directo entre los datos contenidos en ella, y luego se establecen vínculos indirectos entre los datos de distintas tablas. En una base de datos de control escolar de una institución educativa, por ejemplo, podría existir una tabla en la que estén contenidos los datos personales de los alumnos: nombre, número de identificación, dirección, número telefónico, asignaturas en las que está inscrito, etc., y otra para las asignaturas mismas: nombre de la materia, clave, nombre del profesor y lista de alumnos inscritos. Ambas tablas están, por supuesto, vinculadas: a través de la primera se hace referencia a la segunda y viceversa. Una base de datos permite establecer varios niveles de relación y, por tanto, se potencia el poder de extraer información útil de ella, respecto al que se posee en una simple hoja de cálculo.

Probablemente, hoy más que nunca es evidente el poder que se puede obtener mediante representaciones adecuadas de datos. Internet existía mucho antes de que se inventara el concepto de hipertexto y la red –o web–, la telaraña mundial (world wide web); sin embargo, su increíble magnitud actual, la versatilidad de sus aplicaciones y el volumen de información que contiene sólo pueden explicarse a partir de éstos. El cambio esencial lo constituyó la creación de una manera de representar datos de tal forma que fueran accesibles para un gran público y que permitieran establecer relaciones entre ellos. En la red, una página tiene ligas a otras páginas relacionadas.

En HTML (Hypertext Markup Language) y sus parientes cercanos, los lenguajes de marcado en general (como SGML o XML), el concepto es simple: establecer una manera de asignar a los datos un significado, asociarles cierto comportamiento dependiendo del tipo que representan. Poder decir que una cadena de texto es realmente una referencia a un documento que se encuentra en otro lugar, que es el título del documento o que posee un formato específico al desplegarse, es lo que concede utilidad a los lenguajes de marcado. Hacen posible que lo que de otro modo sería sólo un texto lineal posea cualidades que lo elevan a un nivel de abstracción mucho más cercano a lo que necesitamos los seres humanos para extraer información.

¿Dónde está la vida que hemos perdido en vivir? ¿Dónde está la sabiduría que hemos perdido en conocimiento? ¿Dónde el conocimiento que hemos perdido en información?

EL PRIMER CORO DE LA ROCA, DE T. S. ELIOT.

diferenciainformacion
Ilustración 1. Diferencia entre información, conocimiento y sabiduría.

Inicio de página