You are on page 1of 5

PRINCIPIOS CRIPTOGRFICOS FUNDAMENTALES: REDUNDANCIA Y ACTUALIZACIN Aunque la criptografa es muy variada existen dos principios fundamentales quesostienen la criptografa

y que es importante entender.El primer principio es que todos los mensajes cifrados deben contener redundancia, esdecir, informacin no necesaria para entender el mensaje. Un ejemplo puede dejar clarola necesidad de esto. Considere una compaa de compras por red que tiene 60000productos. Pensando en la eficiencia, los programadores han decidido que losmensajes de pedidos deben consistir en el nombre del cliente de 16 bytes seguido deun campo de datos de 4 bytes (2 para la cantidad y 2 para el nmero del producto). Losltimos 4 bytes deben cifrarse usando una clave muy grande conocida solo por elcliente y por la compaa.Inicialmente esto puede parecer seguro. Sin embargo, tambin tiene un fallo que lovuelve intil. Supngase que alguien consigue una lista de compradores de productos(los 16 bytes del nmero de cliente), entonces es fcil trabajar en un programa paragenerar pedidos ficticios usando nombres reales de los clientes.Dado que no tiene una lista de claves, pone nmeros aleatorios en los ltimos 4 bytes yenva cientos de pedidos. Al llegar estos mensajes, la computadora usa el nombre delcliente para localizar la clave y descifrar el mensaje. Para mala suerte, casi todos los mensajes de 4 bytes descifrados son vlidos, pues excepto que el pedido sea decantidad 0 al descifrarlo o corresponda a un producto cuyo cdigo no existe (cuyaprobabilidad solo es de un 8.5%), el pedido ser atendido.Este problema puede resolverse agregando redundancia a todos los mensajes. Porejemplo, si se extienden los mensajes de pedido a 12 bytes, de los cuales los 8primeros deben ser ceros, entonces este ataque ya no funciona, pues la probabilidad degenerar un mensaje valido es prcticamente cero.Sin embargo la adicin de redundancia simplifica a los criptoanalistas el descifrado delos mensajes, pues ahora un criptoanalista puede saber que ha descifradocorrectamente un mensaje al comprobar que los 8 primeros bytes son ceros. Por ello,una cadena aleatoria de palabras sera mejor para incluir en la redundancia.Otro ejemplo de este primer principio, puede ser el concepto de un CRC (CyclicRedundant Check), es decir una informacin redundante puesta al final de un mensaje,evitando al mximo que otros puedan generar informacin que pueda ser interpretada eintroduzca vulnerabilidad al proceso de comunicaciones.El segundo principio criptogrfico es el de actualizacin el cual implica que se debentomar medidas para asegurar que cada mensaje recibido se verifique a fin de saber siesta actualizado. Esto permite evitar que posibles intrusos activos reproduzcanmensajes antiguos. Una de las medidas es incluir en cada mensaje una marca detiempo vlida por ejemplo durante 10 segundos, para compararlo con los mensajesnuevos que lleguen y filtrar los duplicados. Los mensajes con una antigedad mayor a10 segundos pueden descartarse

http://es.scribd.com/doc/42538781/UnidadII-Criptografia#archive

2.2.1. Redundancia
Si una persona lee un mensaje en el que faltan algunas letras, normalmente puede reconstruirlo.

Esto ocurre porque casi todos los smbolos de un mensaje en lenguaje natural contienen informacin que se puede extraer de los smbolos de alrededor informacin que, en la prctica, se est enviando dos o ms veces, o en otras palabras, porque el lenguaje natural es redundante.

Defniiremos redundancia como cierta repeticin de la informacin contenida en un mensaje, que permite, a pesar de la prdida de una parte de este, reconstruir su contenido.

Puesto que tenemos mecanismos para definir la cantidad de informacin que presenta un suceso, podemos intentar medir el exceso de informacin (redundancia) de un lenguaje.

Para ello vamos a dar una serie de definiciones: ndice de un lenguaje. Definiremos el ndice de un lenguaje para mensajes de longitud k como:

donde Hk(M) es la entropa de todos los posibles mensajes de longitud k. Estamos midiendo el nmero de bits de informacin que transporta cada carcter en mensajes de una longitud determinada.

Para idiomas como el Espaol, rk suele valer alrededor de 1.4 bits por letra para valores pequeos de k. ndice absoluto de un lenguaje. Es el mximo nmero de bits de informacin que pueden ser codificados en cada carcter, asumiendo que todas las combinaciones de caracteres son igualmente probables. Suponiendo m smbolos diferentes en nuestro alfabeto este ndice vale:

Ntese que el ndice R es independiente de la longitud k de los mensajes. En el caso del espaol, puesto que tenemos 27 smbolos, podramos codificar 4.7 bits por cada letra aproximadamente, luego parece que el nivel de redundancia de los lenguajes naturales es alto.

Respaol = log2 n = log2 27 (bits/letra) Finalmente, la redundancia de un lenguaje se define como la diferencia entre las dos magnitudes anteriores: Tambin se define el ndice de redundancia como el siguiente cociente:

Desgraciadamente, para medir la autntica redundancia de un lenguaje, es necesario tener en cuenta secuencias de cualquier nmero de caracteres, por lo que la expresin debera calcularse en realidad como:

Como las letras que aparecen en un texto no tienen igual probabilidad, su frecuencia de aparicin es distinta, los lenguajes est muy estructurados, hay bloques de dos palabras (digramas) caractersticos, trigramas, poligramas, etc., la ratio baja mucho...

1.2 < r < 1.5

A este valor se llega codificando los mensajes con monogramas, digramas, trigramas, etc., segn el estudio hecho por Shannon. Hay principalmente dos aplicaciones fundamentales de la Teora de la Informacin, relacionadas directamente con la redundancia: Compresin de datos: simplemente trata de eliminar la redundancia dentro de un archivo, considerando cada byte como un mensaje elemental, y codificndolo con ms o menos bits segn su frecuencia de aparicin. En este sentido se trata de

codificar exactamente la misma informacin que transporta el archivo original, pero empleando un nmero de bits lo ms pequeo posible. Cdigos de Redundancia Cclica (CRC): permiten introducir un campo de longitud mnima en el mensaje, tal que ste proporcione la mayor redundancia posible. As, si el mensaje original resultase alterado, la probabilidad de que el CRC aadido siga siendo correcto es mnima. Ntese que, conocidos los patrones de redundancia de un lenguaje, es posible dar de forma automtica una estimacin de si una cadena de smbolos corresponde o no a dicho lenguaje.

Esta caracterstica es aprovechada para efectuar ataques por la fuerza bruta, ya que ha de asignarse una probabilidad a cada clave individual en funcin de las caractersticas del mensaje obtenido al decodificar el criptograma con dicha clave.

El nmero de claves suele ser tan elevado que resulta imposible una inspeccin visual. Una estrategia bastante interesante para protegerse contra este tipo de ataques, y que suele emplearse con frecuencia, consiste en comprimir los mensajes antes de codificarlos.

De esa manera eliminamos la redundancia y hacemos ms difcil a un atacante apoyarse en las caractersticas del mensaje original para recuperar la clave.

Ejemplo prctico

Un subalfabeto del espaol consta de 6 caracteres: A, E, I, B, C y F, todos ellos equiprobables. El cual de aceptarlo como representativo del lenguaje; es ms o menos cierto .

Pregunta: Cuntos mensajes de tamao cuatro existen y cuntos de ellos tienen sentidos? R = log2 6 = 2.58 Mensajes = 2R * 4 = 1,296

Como 1.2 < r < 1.5 entonces cabe esperar x mensajes con sentido de longitud 4 del orden: 21.2*4 < x < 21.5*4 es decir 27 < x < 64.

lo cual nos produce: BABA, BECA, CAFE, FABI

Se invita a mis caros y avanzados lectores a encontrar el resto de las palabras validas
http://prograweb.com.mx/Seguridad/020201redundancia.html

http://itzamna.bnct.ipn.mx:8080/dspace/bitstream/123456789/740/1/Tesis%20Juan%20Manuel %20Guzman%20Salas.pdf

http://cmapspublic.ihmc.us/rid=1HW52X82C-14G96GM-10YS/CRIPTOGRAFIA.cmap

You might also like