Está en la página 1de 58

Capítulo 6

Teoría de la Información

Seguridad Informática y Criptografía

Ultima actualización del archivo: 01/03/05


Este archivo tiene: 58 diapositivas

Material Docente de Dr. Jorge Ramió Aguirre


v 4.0
Libre Distribución Universidad Politécnica de Madrid

Este archivo forma parte de un curso completo sobre Seguridad Informática y Criptografía. Se autoriza el uso,
reproducción en computador y su impresión en papel, sólo con fines docentes y/o personales, respetando los
créditos del autor. Queda por tanto prohibida su venta, excepto la versión 3.1 a través del Departamento de
Publicaciones de la Escuela Universitaria de Informática de la Universidad Politécnica de Madrid, España.

Curso de Seguridad Informática y Criptografía © JRA


Fundamentos de la Seguridad Informática
Los pilares sobre los que descansa toda la teoría asociada a
los criptosistemas son básicamente tres:
• La teoría de la información
– Estudio de la cantidad de información contenida en los
mensajes y claves, así como su entropía.
• La teoría de los números
– Estudio de las matemáticas discretas y cuerpos finitos
que permiten las operaciones de cifrado y descifrado.
• La teoría de la complejidad de los algoritmos
– Estudio de la clasificación de los problemas como
computacionalmente tratables o intratables.
Estos temas los veremos en éste y en los siguientes capítulos del libro.
Capítulo 6: Teoría de la Información Página 172

© Jorge Ramió Aguirre Madrid (España) 2005


Teoría de la información
• Definición de información:
– Es el conjunto de datos o mensajes inteligibles
creados con un lenguaje de representación y que
debemos proteger ante las amenazas del entorno,
durante su transmisión o almacenamiento usando,
entre otras herramientas, técnicas criptográficas.
– La teoría de la información mide la
¿Qué serán la
cantidad de información que cantidad de
contiene un mensaje a través del información y
número medio de bits necesario para un codificador
codificar todos los posibles mensajes óptimo?
con un codificador óptimo.
Capítulo 6: Teoría de la Información Página 173

© Jorge Ramió Aguirre Madrid (España) 2005


Representación de la información

Puede ser numérica, alfabética, simbólica, por lenguaje.


Ejemplo: 15/01/05 15-01-05 15-1-05 15/01/2005
01/15/05 01-15-05 1-15-05 01-15-2005 ...
- Todos son el día 15 de enero del año 2005.
Vitaminas: B12, C, ...
Veamoslalainformación
Veamos información
Grupo sanguíneo: A2 Rh+ ... quecontiene
contieneelelmensaje
mensaje
que
Elementos: Fe, Si, Hg ... ¿Hacecalor
¿Hace calorallí?
allí?
Compuestos químicos: H2O, CO2 ...
Más común Lenguaje con código: “¿Hace calor allí?”

Capítulo 6: Teoría de la Información Página 174

© Jorge Ramió Aguirre Madrid (España) 2005


La información que tiene un mensaje
Veremos qué información nos entrega un mensaje
dependiendo del contexto en que nos encontremos.
Esto puede analizarse:
a) En función de la extensión del mensaje recibido.
b) En función de la utilidad del mensaje recibido.
c) En función de la sorpresa del mensaje recibido.
d) Dependiendo del entorno de esa sorpresa.
e) En función de la probabilidad de recibir un mensaje.
Este enfoque orientado a la ingeniería y usado por Claude
Shannon en su estudio es el que aquí nos interesa.

Capítulo 6: Teoría de la Información Página 175

© Jorge Ramió Aguirre Madrid (España) 2005


Cantidad de información (caso 1)
En función de la extensión del mensaje
– Ante una pregunta cualquiera, una respuesta concreta y
extensa nos entregará mayor información sobre el tema
en particular, y diremos que estamos ante una mayor
“cantidad de información”.
• Pregunta: ¿Hace calor allí? (una playa en particular)
– Respuesta 1: Sí, hace mucho calor.
– Respuesta 2: Cuando no sopla el viento, el calor allí es
inaguantable pues supera los 42 grados a la sombra.
¿Dónde hay una mayor cantidad de información?

Capítulo 6: Teoría de la Información Página 176

© Jorge Ramió Aguirre Madrid (España) 2005


Cantidad de información (caso 2)

En función de la utilidad del mensaje


– Ante una pregunta cualquiera, una respuesta más útil y
clara nos dejará con la sensación de haber recibido una
mayor “cantidad de información”.
• Pregunta: ¿Hace calor allí? (una playa en particular)
– Respuesta 1: Sí, sobre 30 grados.
– Respuesta 2: Si no hay viento del sur y el mar está en
calma, es normal que la temperatura suba bastante.
¿Dónde hay una mayor cantidad de información?

Capítulo 6: Teoría de la Información Página 177

© Jorge Ramió Aguirre Madrid (España) 2005


Cantidad de información (caso 3)

En función de la sorpresa del mensaje


– Ante una pregunta cualquiera, una respuesta más
inesperada y sorprendente, nos dará la sensación de
contener una mayor “cantidad de información”.
• Pregunta: ¿Hace calor allí? (ahora Finlandia en otoño)
–– Respuesta
Respuesta1:
1:Sí,
Sí,muchísimo.
muchísimo.Es insoportable. ☺
Esinsoportable.
– Respuesta 2: En esta época del año, la temperatura es
más suave y el tiempo muy agradable.
¿Dónde hay una mayor cantidad de información?

Capítulo 6: Teoría de la Información Página 178

© Jorge Ramió Aguirre Madrid (España) 2005


Cantidad de información (caso 4)
Dependencia del entorno (sorpresa)
– Ante una pregunta cualquiera, una respuesta inesperada
y sorprendente en el entorno, nos dará la sensación de
contener una mayor “cantidad de información”.
• Pregunta: ¿Hace calor allí?
(ahora las mismas respuestas hablan de la temperatura en un horno)
– Respuesta 1: Sí, muchísimo. Es insoportable.
– Respuesta 2: En esta época del año, la temperatura es
más suave y el tiempo muy agradable. ?
¿Dónde hay una mayor cantidad de información?

Capítulo 6: Teoría de la Información Página 179

© Jorge Ramió Aguirre Madrid (España) 2005


Cantidad de información (caso 5)

En función de la probabilidad de recibir un mensaje


– Este enfoque probabilístico es el que nos interesará en
cuanto a la definición de Cantidad de Información.
¿Dónde le da alegría a su cuerpo Macarena?
– Respuesta 1: En un país de Europa.
¿Por qué?
– Respuesta 2: En una ciudad de España.
– Respuesta 3: En los números 1 y 3 de la calle Sierpes en
España... La Campana, una excelente bombonería.
Sevilla, España.

¿Dónde hay una mayor cantidad de información?

Capítulo 6: Teoría de la Información Página 180

© Jorge Ramió Aguirre Madrid (España) 2005


Incertidumbre e información
Ante varios mensajes posibles, en principio todos equiprobables, aquel
que tenga una menor probabilidad de aparición será el que contenga
una mayor cantidad de información.
• En el ejemplo anterior:
– Al ser más extenso el número de calles y sus números en una
ciudad que el número de ciudades en España, y esto último mayor
que los países en Europa, la última respuesta tendrá una mayor
incertidumbre.
– Si suponemos todos los estados equiprobables, entonces la
cantidad de información de la respuesta tercera será mayor que las
demás.
Las siguientes diapositivas resumen el estudio de Claude Shannon sobre la
entropía en su artículo “A Mathematical Theory of Communication” que
puede descargarlo en formato pdf desde esta dirección:
http://cm.bell-labs.com/cm/ms/what/shannonday/paper.html 
Capítulo 6: Teoría de la Información Página 181

© Jorge Ramió Aguirre Madrid (España) 2005


Concepto de variable aleatoria

• Sea X una variable aleatoria con n estados posibles con


X = xi una ocurrencia iésima:
X = {x1, x2, x3, ..., xn-1, xn}
p1 = p(x1), p2 = p(x2), ..., pn = p(xn)
Como:
0 ≤ pi ≤ 1 para i = 1, 2, ..., n
Entonces: n
La probabilidad de que ocurra p1 o
Σ pi = 1 p2 o p3, etc. será siempre la unidad
i=1 porque seguro será uno de ellos.

Capítulo 6: Teoría de la Información Página 182

© Jorge Ramió Aguirre Madrid (España) 2005


Definición de cantidad de información
• Definiremos ci a la cantidad de información del
estado i, como el logaritmo en base dos de la
probabilidad de que ocurra el estado iésimo.
ci

ci = - log2 (pi ) 0 pi
0 1

- Logaritmo: p(xi) = 1 ⇒ no hay incertidumbre: ci = 0


p(xi) = 0 ⇒ máxima incertidumbre: ci → ∞
- Signo: p(xi) < 1 ⇒ log p(xi) será negativo
- Base 2: Un fenómeno binario ⇒ dos estados (bit)
Capítulo 6: Teoría de la Información Página 183

© Jorge Ramió Aguirre Madrid (España) 2005


Grado de indeterminación
Grado de indeterminación previo
ci =
Grado de indeterminación posterior
En una bolsa hay dos papeles con círculos, dos con
cuadrados y dos con triángulos: negros o blancos.
Sacamos a ciegas tres papeles cualesquiera... Si hay equiprobabilidad
Sea ésta será la combinación elegida... entonces p(xi) = 1/8

Combinación 1 Combinación 5
Combinación 2 Combinación 6
Combinación 3 Combinación 7
Combinación 4 Combinación 8

¿Qué cantidad de información tiene cada uno de los estados?


Capítulo 6: Teoría de la Información Página 184

© Jorge Ramió Aguirre Madrid (España) 2005


La incertidumbre del ejemplo del mago
Combinación 1 Combinación 5
Combinación 2 Combinación 6
Combinación 3 Combinación 7
Combinación 4 Combinación 8
Como p(xi) = 1/8 entonces
Veamos esto ahora
Incertidumbre inicial Ii = 8 matemáticamente ...
Daremos algunas pistas :
– Las figuras no son del mismo color: Ii baja de 8 a 6 al descartarse
las combinaciones 1 y 8.
– El círculo es blanco: Ii baja de 6 a 3 (descartamos 5, 6 y 7).
– Hay dos figuras blancas: Ii baja de 3 a 2 (descartamos 4).
– El cuadrado es negro: Ii baja de 2 a 1 (descartamos 2.)
Se acaba la incertidumbre pues la solución es la combinación 3.
Capítulo 6: Teoría de la Información Página 185

© Jorge Ramió Aguirre Madrid (España) 2005


Solución matemática al ejemplo del mago
– Las figuras no son del mismo color. Ii baja de 8 a 6:
ci1 = log (8/6) = log 8 - log 6
– El círculo es blanco. Ii baja de 6 a 3:
ci2 = log (6/3) = log 6 - log 3
– Hay dos figuras blancas. Ii baja de 3 a 2:
ci3 = log (3/2) = log 3 - log 2
– El cuadrado es negro. Ii baja de 2 a 1:
ci4 = log (2/1) = log 2 - log 1
Todas las magnitudes se pueden sumar como escalares:
ci = ci1 + ci2 + ci3 + ci4 = log 8 - log 1 = log 8
Capítulo 6: Teoría de la Información Página 186

© Jorge Ramió Aguirre Madrid (España) 2005


Base del logaritmo
Sean Ii la indeterminación inicial
If la indeterminación final
ci = log (Ii / If) = log Ii - log If
La cantidad de información tiene como unidad de medida
la de un fenómeno de sólo dos estados, un fenómeno
binario. Luego:
ci = logb (2/1) = logb 2 - logb 1
– Si logb 2 debe ser igual a 1 entonces la base b = 2.
– Precisamente a esta unidad se le llama bit (binary digit)
– Ejemplo anterior: ci = log2 8 = 3. Es decir, pasamos de la
incertidumbre total a la certeza con sólo 3 preguntas.

Capítulo 6: Teoría de la Información Página 187

© Jorge Ramió Aguirre Madrid (España) 2005


Con sólo tres preguntas inteligentes...
Combinación 1 Combinación 5
Combinación 2 Combinación 6
Combinación 3 Combinación 7
Combinación 4 Combinación 8

Con sólo tres preguntas “más o menos inteligentes”


podemos pasar de la incertidumbre total a la certeza:
Pregunta 1: ¿Está entre la opción 1 y la 4? ⇒ Sí
Pregunta 2: ¿Está entre la opción 1 y la 2? ⇒ No
Pregunta 3: ¿Es la opción 4? ⇒ No ¡Se acaba la indeterminación!

Capítulo 6: Teoría de la Información Página 188

© Jorge Ramió Aguirre Madrid (España) 2005


Entropía de los mensajes
• Si un fenómeno tiene un grado de indeterminación k y
sus estados son equiprobables, la probabilidad p de
que se dé uno de esos estados será 1/k. Luego:
ci = log2 (k/1) = log2 [1/(1/k)] = - log2 p
• Si ahora cada uno de estos estados tiene una
probabilidad distinta pi, la entropía H será igual a la
suma ponderada de la cantidad de información:
H = - p1 log2 p1 - p2 log2 p2 - ... - pk log2 pk
k
Nota: aunque la ecuación parece
H = - Σ pi log2 pi
i=1 bastante lógica, no es inmediata.

Capítulo 6: Teoría de la Información Página 189

© Jorge Ramió Aguirre Madrid (España) 2005


Definición de entropía
• La entropía de un mensaje X, que se representa por H(X),
es el valor medio ponderado de la cantidad de información
de los diversos estados del mensaje.
Esto lo
k
H(X) = - Σ p(xi) log2 p(xi) veremos más
i=1 adelante...

• Es una medida de la incertidumbre media acerca de una


variable aleatoria y el número de bits de información.

Después del ejemplo de los papeles, podríamos aceptar el


concepto de incertidumbre en H. Lo que ahora nos llama
la atención es lo del número de bits de información.
Capítulo 6: Teoría de la Información Página 190

© Jorge Ramió Aguirre Madrid (España) 2005


Propiedades de la entropía
a) La entropía es no negativa y se anula si y sólo si un estado de la
variable es igual a 1 y el resto 0. Esta demostración es sencilla.
b) La entropía será máxima, hay mayor incertidumbre del mensaje,
cuando exista una equiprobabilidad en todos los valores de la
variable X. La demostración empírica es muy fácil; no obstante
la demostración matemática de este máximo no es directa. El
valor máximo de H(X) para una variable de n estados será log2 n.
Si hay n estados equiprobables, entonces pi = 1/n.
Luego:
H(X) = - Σ pi log2 pi = - n(1/n) log2 (1/n) = - (log2 1 - log2 n)
i

H(X)máx = log2 n
Capítulo 6: Teoría de la Información Página 191

© Jorge Ramió Aguirre Madrid (España) 2005


Concepto codificador óptimo
Nos falta encontrar el segundo término pendiente en la
definición de cantidad de información: codificador óptimo.
Introduciendo el signo negativo dentro del logaritmo en la
expresión de la entropía, ésta nos quedará como:

H(X) = Σ p(x) log2 [1/p(x)] Veamos un ejemplo


i de codificación
La expresión log2 [1/p(x)] representará el número necesario
de bits para codificar el mensaje X en un codificador óptimo.
Codificador óptimo es aquel que para codificar un
mensaje X usa el menor número posible de bits.
Capítulo 6: Teoría de la Información Página 192

© Jorge Ramió Aguirre Madrid (España) 2005


Codificación con el método de Huffman
Letra Frecuencia Ocurrencias → Mensaje: MI MAMA ME MIMA
E 1 vez 3 → 6 → 9 → 15

I 2 veces

A 3 veces I E A ““ M

““ 3 veces I E A ““

M 6 veces I E A
Creación del árbol de
Código óptimo: frecuencias observadas I E

M = 1 “ ” = 01 A = 000 I = 0010 E = 0011


Mensaje: 1 0010 01 1 000 1 000 01 1 0011 01 1 0010 1 000 (33 bits)
Pregunta: ¿Cuántos bits necesitaría para codificarlo usando ahora código ASCII?
http://articulos.conclase.net/compresion/huffman.html 
Capítulo 6: Teoría de la Información Página 193

© Jorge Ramió Aguirre Madrid (España) 2005


El número necesario de bits y la entropía
Para que dé un valor exacto, vamos a calcular el número de bits óptimo
de codificación para el mensaje M = RAMARAMA de 8 caracteres :
Solución:
p(A) = 0,5; p(M) = 0,25; p(R) = 0,25; y obviamente Σ p(A, M, R) = 1,0.
Para codificar A necesitaremos 1 bit: log2 [1/ P(A)] = log2 2 = 1
Para codificar M necesitaremos 2 bits: log2 [1/ P(M)] = log2 4 = 2
Para codificar R necesitaremos 2 bits: log2 [1/ P(R)] = log2 4 = 2
Luego, si A se codifica como 0, M como 10 y R como 11, el mensaje M
se codificará como: 10 0 10 0 11 0 11 0, es decir se transmiten 12 bits.
Si calcula la entropía de M obtendrá H(M) = 1,5 y al mismo valor se llega
con el concepto de número medio de bits: para codificar un mensaje M de
8 elementos, hemos usado 12 bits. Luego 12/8 = 1,5 bits por elemento.

Capítulo 6: Teoría de la Información Página 194

© Jorge Ramió Aguirre Madrid (España) 2005


Entropía condicional: equivocación de X
Si existe una segunda
H(X/Y) = - Σ p(x,y) log2 p(x,y)
variable Y que influya x,y
sobre X, esto nos
entregará importante Donde p(x,y) = p(y)p(x/y) y la
información adicional. relación p(x/y) es la probabilidad
El resultado más de que se obtenga un estado X
interesante es que... conocido el valor de Y.
Laentropía
La entropíase
se Luego:
reduce:hay
reduce: haymás
más
ordenyymenos
orden menos H(X/Y) = - Σ p(y) Σ p(x/y) log2 p(x/y)
incertidumbre. y x
incertidumbre.

Capítulo 6: Teoría de la Información Página 195

© Jorge Ramió Aguirre Madrid (España) 2005


Ejemplo de entropía condicional
Sea X = {x1, x2, x3, x4} con p(xi) = 0,25
Sea ahora Y = {y1, y2, y3} con p(y1) = 0,5; p(y2) = 0,25; p(y3) = 0,25
Luego H(X) = 4 log2 4 = 2,0 y H(Y) = 2 log2 4 + log2 2 = 1,5
Suponga además que hay las siguientes dependencias entre X e Y:
Si Y = y1 ⇒ X = x1 o x2 o x3 o x4 (cualquiera con igual probabilidad)
Si Y = y2 ⇒ X = x2 o x3 (cualquiera con igual probabilidad)
Si Y = y3 ⇒ X = x3 o x4 (cualquiera con igual probabilidad)
y=3 x=4
Como H(X/Y) = - Σ p(y) Σ p(x/y) log2 p(x/y)
y=1 x=1
H(X/Y) = - p(y1)[p(x1/y1)log2p(x1/y1) + p(x2/y1)log2p(x2/y1) + p(x3/y1)log2p(x3/y1) + p(x4/y1)log2p(x4/y1)]
- p(y2)[p(x1/y2)log2p(x1/y2) + p(x2/y2)log2p(x2/y2) + p(x3/y2)log2p(x3/y2) + p(x4/y2)log2p(x4/y2)]
- p(y3)[p(x1/y3)log2p(x1/y3) + p(x2/y3)log2p(x2/y3) + p(x3/y3)log2p(x3/y3) + p(x4/y3)log2p(x4/y3)]
Calculando, se obtiene H(X/Y) = 1,0 + 0,25 + 0,25 = 1,5. La entropía de
X ha bajado en medio bit por el conocimiento de su relación con Y.
Capítulo 6: Teoría de la Información Página 196

© Jorge Ramió Aguirre Madrid (España) 2005


Importancia de la entropía condicional
Equivocación de la clave k
¿Cuál es la probabilidad de H(K/C) = - Σ p(c) Σ p(k/c) log2 p(k/c)
que a un criptograma C le c k
corresponda una cifra con
una clave k?

Servirá como un parámetro para la evaluación de la fortaleza


de un criptosistema según equivocación de clave y mensaje.

Equivocación del mensaje M


¿Cuál es la probabilidad de
que a un criptograma C le H(M/C) = - Σ p(c) Σ p(m/c) log2 p(m/c)
corresponda un mensaje en c m
claro M?
Capítulo 6: Teoría de la Información Página 197

© Jorge Ramió Aguirre Madrid (España) 2005


La ratio r del lenguaje

• Ratio r
– Es el número de “bits de información” en cada carácter
para mensajes con una longitud igual a N caracteres.
Luego, según la definición de entropía, se tiene:
r = H(X)/N (bits/letra)
– Si codificáramos un mensaje letra a letra suponiendo
además equiprobabilidad entre las letras, se obtiene la
denominada ratio absoluta del lenguaje, R:
R = H(X) castellano = 27 letras
Rcastellano = log2 n = log2 27 = 4.75 (bits/letra)
Capítulo 6: Teoría de la Información Página 198

© Jorge Ramió Aguirre Madrid (España) 2005


Ratio verdadera del lenguaje

• Ratio verdadera
- Como las letras que aparecen en un texto no tienen
igual probabilidad, su frecuencia de aparición es
distinta, los lenguajes está muy estructurados, hay
bloques de dos palabras (digramas) característicos,
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., según el
estudio hecho por Shannon.
Capítulo 6: Teoría de la Información Página 199

© Jorge Ramió Aguirre Madrid (España) 2005


Significado de la ratio del lenguaje
¿Qué significa esto?
– Si un alfabeto consta de L elementos existirán 2R∗N
mensajes posibles de longitud N, la entropía máxima
será H(X)máx = log2 L, y sólo habrá 2r∗N mensajes que
tengan sentido.
Muy importante: No significa que podamos codificar
todos los mensajes de 27 caracteres con 2 bits (esto
sería imposible). Sólo significa que la información
que contiene cada letra es tan sólo de 1.5 bits.
Veamos un ejemplo
Capítulo 6: Teoría de la Información Página 200

© Jorge Ramió Aguirre Madrid (España) 2005


Ejemplo de la ratio del lenguaje
Un subalfabeto del castellano módulo 27 consta de 5 caracteres: A, E, O,
S, y T, todos ellos equiprobables. Podemos aceptarlo como representativo
del lenguaje; es más o menos cierto. De acuerdo, estoy jugando con algo
de trampa pero es para que el ejemplo quepa en esta diapositiva ☺.
Pregunta: ¿Cuántos mensaje de longitud 4 existen y cuántos con sentido?
Solución:
R = log2 5 = 2,3219. Existirán 2R∗4 = 22.3219∗4 = 625 = 54 mensajes.
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.
Buscando en un diccionario (puede hacerlo) encontramos las 45 palabras
que se indican, y que casualmente es el valor medio (27 + 64)/2 = 45:
aeta, asas, asea, asee, aseo, ases, asta, atea, atas, ates, ateo, atoa, atoe,
atoo, osas, oses, osos, oste, otea, otee, oteo, easo, esas, eses, esos, esta,
este esto, etas, tasa, tase, taso, teas, tesa, tese, teso, teta, seas, seso, seta,
seto, sosa, sota, sote, soto.
Capítulo 6: Teoría de la Información Página 201

© Jorge Ramió Aguirre Madrid (España) 2005


Redundancia del lenguaje
• La redundancia D del lenguaje será la diferencia entre la
ratio absoluta y la ratio real:
D=R-r
3.25 < D < 3.55
¿Qué significa esto?
– El número de bits extras (bits redundantes) necesarios
para codificar un mensaje suponiendo un alfabeto de 27
caracteres (codificación con 5 bits puesto que 25 = 32 y
24 = 16) será aproximadamente igual a 3.5.
– D/R será un factor proporcional, luego:
68.42 < % Red. Lenguaje (D/R) < 74.73
¿No le resulta familiar este porcentaje de reducción en los archivos zip?
Capítulo 6: Teoría de la Información Página 202

© Jorge Ramió Aguirre Madrid (España) 2005


¿Es nuestro lenguaje redundante?
– El estudio de Shannon demuestra que es la estructura del lenguaje la
que produce esta redundancia:
• Existe diferencias en la frecuencia de aparición de cada una de las
letras de un texto, entregando una distribución típica, como puede
ver en las tablas del capítulo 21 de este libro.
• Existe gran cantidad de digramas comunes (en, es, ...), también
muchos trigramas (ado, ida, ...), tetragramas (ando, lado, ...),
algunos pentagramas (mente, ...), etc.
• Existe una estructuración típica de frases y oraciones con sentido
en nuestro lenguaje.

Esto dará pistas al criptoanalista para atacar un sistema. Y nuestra


misión es crear algoritmos que sean seguros y eviten estos ataques.

Capítulo 6: Teoría de la Información Página 203

© Jorge Ramió Aguirre Madrid (España) 2005


Un ejemplo de redundancia (parte 1)
Todos los lenguajes serán redundantes. Esto quiere
decir que la misma cantidad de información se puede
entregar con menos símbolos o bits.
Sea el siguiente mensaje M = HBNVZNCRC
1a ayuda:
“En el mensaje original se han quitado las vocales”.
Esto nos permite suponer que entre consonantes habrá cero,
una, dos o tres vocales, según las reglas del lenguaje...

M = __H__B__N__V__Z__N__C__R__C__
Capítulo 6: Teoría de la Información Página 204

© Jorge Ramió Aguirre Madrid (España) 2005


Un ejemplo de redundancia (parte 2)
Teníamos el mensaje M = HBNVZNCRC y además:
M = __H__B__N__V__Z__N__C__R__C__
2a ayuda:
“El mensaje original contiene cinco palabras”.
Esto nos permite limitar el número de mensajes posibles
que tengan sentido. En estas condiciones podrían existir
muchos mensajes de 5 palabras, aunque no cumpliesen de
forma lógica con las reglas del lenguaje. Un ejemplo
válido pero sin sentido lógico podría ser...
M = AHÍ BUENO AVE ZONA CERCA
Capítulo 6: Teoría de la Información Página 205

© Jorge Ramió Aguirre Madrid (España) 2005


Un ejemplo de redundancia (parte 3)
Teníamos el mensaje M = HBNVZNCRC y además
M = __H__B__N__V__Z__N__C__R__C__
M = AHÍ BUENO AVE ZONA CERCA
3a ayuda y siguientes:
a) “El mensaje original tiene que ver con un circo”.
b) “Corresponde al estribillo de una canción infantil”.
c) “Los espacios están en: M = HB N VZ N CRC”.
Seguro que habrá adivinado ya el mensaje.... ☺

M = HABÍA UNA VEZ UN CIRCO


Capítulo 6: Teoría de la Información Página 206

© Jorge Ramió Aguirre Madrid (España) 2005


Redundancia y entropía condicional
El ejemplo anterior, además de demostrar que todos los
lenguajes son redundantes, es un claro exponente de lo que se
entiende en la práctica por entropía condicional.
Cada vez que vamos dando nuevas pistas, disminuye la
incertidumbre del mensaje hasta que ésta se anula y por lo
tanto la entropía es igual a 0 ya que existe un único mensaje
posible con probabilidad igual a la unidad.
Algo parecido ocurre cuando resolvemos un crucigrama y lo
anteriormente resuelto nos sirve como pistas para descubrir
palabras nuevas. Mientras más palabras tengamos, más fácil
se hace avanzar en su resolución. En algunos casos, cuando se
ataque una cifra, el criptoanalista usará métodos similares.
Capítulo 6: Teoría de la Información Página 207

© Jorge Ramió Aguirre Madrid (España) 2005


Secreto de un sistema criptográfico
Shannon midió el secreto de un criptosistema como la
incertidumbre del mensaje en claro conocido el
criptograma recibido:
Mensajes M = {M1, M2, ..., M3} Σ p(M) = 1
M

Criptogramas C = {C1, C2, ..., C3} Σ p(C) = 1


C

Claves K = {K1, K2, ..., K3} Σ p(K) = 1


K

¿Cuando tendrá nuestro sistema un secreto perfecto?

Capítulo 6: Teoría de la Información Página 208

© Jorge Ramió Aguirre Madrid (España) 2005


Definiciones previas secreto criptográfico
• p(M): Probabilidad de enviar un mensaje M. Si
hay n mensajes Mi equiprobables, p(Mi) = 1/n.
• p(C): Probabilidad de recibir un criptograma C. Si
cada uno de los n criptogramas recibidos Ci es
equiprobable, p(Ci) = 1/n.
• pM(C): Probabilidad de que, a partir de un texto en
claro Mi, se obtenga un criptograma Ci.
• pC(M): Probabilidad de que, una vez recibido un
criptograma Ci, éste provenga de un texto claro Mi.

Capítulo 6: Teoría de la Información Página 209

© Jorge Ramió Aguirre Madrid (España) 2005


Secreto criptográfico perfecto (1)
Un sistema tiene secreto perfecto si el conocimiento del texto
cifrado no nos proporciona ninguna información acerca del
mensaje. Es decir, cuando la probabilidad de acierto al recibir
el elemento i +1 es la misma que en el estado i.

Secreto perfecto ⇒ p(M) = pC(M)

La probabilidad p de enviar un mensaje M con texto en claro p(M) o


probabilidad a priori será igual a la probabilidad p de que, conocido
un criptograma C, éste se corresponda a un mensaje M cifrado con la
clave K. Esta última o probabilidad a posteriori es pC(M).

Capítulo 6: Teoría de la Información Página 210

© Jorge Ramió Aguirre Madrid (España) 2005


Secreto criptográfico perfecto (2)
La probabilidad p de recibir un texto cifrado C al
cifrar un mensaje M usando una clave K será pM(C).
Luego, M debe haberse cifrado con alguna clave K:
pM(C) = Σ p(K) donde EK(M) = C
K

∃ kj / Ekj(Mi) = Ci
En el fondo esto viene a significar que para lograr un
secreto perfecto, el espacio de claves debe ser al
menos de igual tamaño que el espacio de mensajes.
Capítulo 6: Teoría de la Información Página 211

© Jorge Ramió Aguirre Madrid (España) 2005


Secreto criptográfico perfecto (3)
La condición necesaria y suficiente del secreto
perfecto es que para cualquier valor de M se
cumpla que la probabilidad de recibir C,
resultado de la cifra de un mensaje M con una
clave K, sea la misma que recibir el criptograma
C, resultado de la cifra de otro mensaje M’
distinto, cifrado con otra clave.

pM(C) = p(C)
para todo valor de M Veamos algunos ejemplos

Capítulo 6: Teoría de la Información Página 212

© Jorge Ramió Aguirre Madrid (España) 2005


Cifrado con secreto perfecto
Sea el siguiente escenario:

Espacio de Mensajes Espacio de Claves Espacio de Cifrados

M1 k1 C1
k3 k2
k2
M2 k3 C2
k1
k3 k1
M3 C3
k2

p(M) = 1/3 para todo M p(C) = 1/3


pM(C) =1/3 pC(M) = 1/3

Capítulo 6: Teoría de la Información Página 213

© Jorge Ramió Aguirre Madrid (España) 2005


Cifrado sin secreto perfecto (1)
Sea ahora el siguiente escenario:
Espacio de Mensajes Espacio de Claves Espacio de Cifrados

k1
p(M1) = 1/3 M1 C1 p(C1) = 3/9
k3 k2
k2
p(M2) = 1/3 M2 k3 C2 p(C2) = 2/9
k1
k3 k1
p(M3) = 1/3 M3 k2 C3 p(C3) = 2/9

p(C4) = 2/9
Algo más C4

¿Probabilidad de que un mensaje Mi se convierta en un criptograma Ci: [PMi(Ci)]


y que un criptograma Ci sea el resultado de la cifra de un mensaje Mi: [PCi(Mi) ]?

Capítulo 6: Teoría de la Información Página 214

© Jorge Ramió Aguirre Madrid (España) 2005


Cifrado sin secreto perfecto (2)
Esquema anterior:
k1 pC1(M1) = 1/3 pC1(M2) = 1/3 pC1(M3) = 1/3
M1 C1
k3 k2
k2 pC2(M1) = 1/2 pC2(M2) = 1/2 pC2(M3) = 0
M2 k3 C2
K1 pC3(M1) = 1/2 pC3(M2) = 0 pC3(M3) = 1/2
K3 k1
M3 k2 C3 pC4(M1) = 0 pC4(M2) = 1/2 pC4(M3) = 1/2

C4

pM1(C1) = 1/3 pM1(C2) = 1/3 pM1(C3) = 1/3 pM1(C4) = 0


pM2(C1) = 1/3 pM2(C2) = 1/3 pM2(C3) = 0 pM2(C4) = 1/3
pM3(C1) = 1/3 pM3(C2) = 0 pM3(C3) = 1/3 pM3(C4) = 1/3

Capítulo 6: Teoría de la Información Página 215

© Jorge Ramió Aguirre Madrid (España) 2005


La distancia de unicidad
• Se entenderá por Distancia de Unicidad al bloque N de
texto cifrado o criptograma mínimo necesario para que se
pueda intentar con ciertas expectativas de éxito un ataque
en búsqueda de la clave usada para cifrar.
• Este valor se obtiene cuando la equivocación de la clave
HC(K) se acerca a cero o tiende a anularse.
• A medida que se tenga un criptograma más largo, y por
tanto más información, se supone que la tarea de ataque
del criptoanalista se va facilitando.
• Se busca el tamaño N de criptograma que permita esperar
que la solución de K sea única. Suponiendo un cifrador
aleatorio, llegamos al siguiente modelo:
http://www.cs.ucla.edu/~jkong/research/security/shannon1949/node14.html 
Capítulo 6: Teoría de la Información Página 216

© Jorge Ramió Aguirre Madrid (España) 2005


Parámetros del modelo aleatorio (1)
• Existirán 2RN mensajes posibles de longitud N.
• Existirán 2rN mensajes de longitud N con sentido.
• El espacio de mensajes de longitud N se dividirá en:
– Espacio de los mensajes con sentido: MCS = 2rN.
– Espacio de los mensajes sin sentido: MSS = 2RN - 2rN.
• Los 2rN mensajes con sentido serán equiprobables
siendo su valor p(MCS) = 1/2rN = 2-rN.
• El resto de mensajes (2RN - 2rN) correspondientes a
aquellos sin sentido tendrán una probabilidad nula
p(MSS) = 0, ya que nunca serán generados.
Capítulo 6: Teoría de la Información Página 217

© Jorge Ramió Aguirre Madrid (España) 2005


Parámetros del modelo aleatorio (2)
• Existirán 2H(K) claves equiprobables.
• En donde H(K) es la entropía de la clave.
• Con p(K) = 1/2H(K) = 2-H(K).
• Con estas claves se cifrarán todos los mensajes con
sentido dando lugar a 2RN textos cifrados posibles de
longitud N.
• A diferencia de los mensajes, como es lógico los
criptogramas obtenidos serán todos equiprobables.
Por sencillez, veremos el modelo de un cifrador
aleatorio sólo con dos claves k1 y k2.
Capítulo 6: Teoría de la Información Página 218

© Jorge Ramió Aguirre Madrid (España) 2005


Escenarios en el cifrador aleatorio
Espacio de Mensajes Espacio de Claves Espacio de Cifrados

M1
k1
C1 SV: Un criptograma está asociado
k2
sólo a un texto en claro con sentido
M2 k1 C2 y cifrado con una única clave ki.
k2
k2
M3 C3 SF: Cualquier otra solución de
k1
k1
cifra distinta a la anterior.
k2
M4 C4

M5
k1
C5 SV: C3 = Ek1(M5) C4 = Ek1(M2)
k2

M6 k1 Soluciones: C6
C6 = Ek2(M1) C7 = Ek1(M3)
k2
Falsas ⇒ SF C9 = Ek1(M6) C10 = Ek2(M6)
M7 C7

Verdaderas ⇒ SV
M8 C8 SF: C2 = Ek1(M4) C2 = Ek2(M4)
SF C2: Condición obvia C5 = Ek2(M2) C5 = Ek2(M5)
M9 C9
SF C5: Condición débil
SF C1: Condición fuerte
C1 = Ek1(M1) C1 = Ek2(M3)
M10 C10

Capítulo 6: Teoría de la Información Página 219

© Jorge Ramió Aguirre Madrid (España) 2005


Cálculo de la distancia de unicidad (1)

• Para cada solución correcta de un texto M cifrado con


una clave k del espacio 2H(K), existirán otras (2H(K)-1)
claves con la misma probabilidad de entregar una
solución falta SF.
Sea q la probabilidad de obtener un mensaje con sentido:
q = 2rN / 2RN = 2(r - R)N = 2-DN Luego:
SF = (2H(K)-1) q = (2H(K)-1) 2-DN = 2H(K) - DN - 2-DN

SF ≈ 2H(K) - DN log2 SF = H(K) - DN

Capítulo 6: Teoría de la Información Página 220

© Jorge Ramió Aguirre Madrid (España) 2005


Cálculo de la distancia de unicidad (2)

La solución SF = 0 es imposible porque sólo se llega a


ella de forma asintótica con un valor de N infinito como
se muestra en la diapositiva siguiente.
Se acepta entonces que haya como máximo una sola
solución falsa, de ahí su nombre de unicidad, luego:
SF = 2H(K) – DN Si hacemos SF = 1 ⇒ H(K) - DN = 0
Por lo tanto: N = H(K) / D

El valor N será el número mínimo de bytes o caracteres que deberá tener


el criptograma C para intentar un ataque por estadísticas del lenguaje.
Por lo general el valor real necesario de N será unas 10 veces superior.
Capítulo 6: Teoría de la Información Página 221

© Jorge Ramió Aguirre Madrid (España) 2005


Cantidad de trabajo Q en un criptoanálisis
Cantidad de Trabajo
Q
(B)
(A)

(C) Solución única


H(M/C) (D) n
N Cantidad de caracteres

(A) Inicialmente hay que hacer un arduo trabajo para obtener algo
coherente. Nos encontraremos con muchas soluciones falsas.
(B) Cuando se tiene una cantidad “adecuada” de texto cifrado, la
cantidad de trabajo disminuye. Se descartan algunas soluciones.
(C) Cuando se anula la equivocación de la clave, H(M/C) = 0,
disminuyen las soluciones falsas y la solución tiende a ser única.
Capítulo 6: Teoría de la Información Página 222

© Jorge Ramió Aguirre Madrid (España) 2005


Algunos ejemplos de distancia de unicidad
– Para el cifrador del César módulo 27 en el que “la clave” es b, todos
los posibles desplazamientos de caracteres, 1 ≤ b ≤ 26, su entropía
H(X) = log2 26 = 4,7 bits por lo que N = 4,7/3,4 = 1,4 caracteres.
– Para el mismo cifrador del César pero con clave, si el alfabeto tiene n
caracteres, existirán n! claves posibles. En este caso la entropía de la
clave puede aproximarse como H(X) = log2 27! ≈ 27∗log2 (27/e), por
lo que N = 27∗log2 (27/2,72)/3,4 = 27,4 caracteres.
– En el sistema DES la clave verdadera es de 56 bits por lo que su
entropía H(X) = 56. Si el mensaje sólo contiene letras mayúsculas
(27 elementos) podríamos decir que N = 56/3,4 = 16,5 caracteres.
– Nota: aunque el valor de N sea ahora más bajo no quiere decir en
absoluto que el DES sea menos seguro que el cifrador del César con
clave. Este último se puede atacar fácilmente con estadísticas del
lenguaje muy elementales y el DES no. Además, recuerde que se
debe contar con un criptograma varias veces mayor que el valor de N
si desea que su criptoanálisis tenga alguna posibilidad de éxito.
Capítulo 6: Teoría de la Información Página 223

© Jorge Ramió Aguirre Madrid (España) 2005


El uso de técnicas de difusión
Para lograr un mayor secreto en las operaciones de cifra,
Shannon propuso usar dos técnicas: difusión y confusión.
Difusión: es la transformación sobre el texto en claro con el
objeto de dispersar las propiedades estadísticas del lenguaje
sobre todo el criptograma. Se logra con transposiciones.

TRANSPOSICIONES
La transposición consiste básicamente en una permutación, es
decir, cambiar los caracteres de lugar según una regla, una
función, etc. Por ejemplo el carácter primero se posiciona en
el lugar cuarto, el segundo en el lugar tercero, etc.

Capítulo 6: Teoría de la Información Página 224

© Jorge Ramió Aguirre Madrid (España) 2005


El uso de técnicas de confusión
Confusión: transformación sobre el texto en claro con objeto
de mezclar los elementos de éste, aumentando la complejidad
de la dependencia funcional entre la clave y el criptograma.
Se obtiene a través de sustituciones.

SUSTITUCIONES
La sustitución consiste básicamente modificar la información,
es decir, sustituir un carácter por otro de acuerdo a una regla,
una función, etc. Por ejemplo cambiar la letra A por la letra
M, la letra B por la letra X , etc.
Ambas técnicas se usan en sistemas clásicos orientados a caracteres y
también en los modernos pero en este caso operando sobre bits.
Capítulo 6: Teoría de la Información Página 225

© Jorge Ramió Aguirre Madrid (España) 2005


Cuestiones y ejercicios (1 de 2)
1. Al despertar ponemos la radio y escuchamos noticias que no nos
llaman la atención. ¿Por qué decimos que no había información?
2. Justifique la definición logarítmica de cantidad de información, es
decir la razón de que ci = - log (pi).
3. ¿Por qué usamos la base 2 en el logaritmo que define ci?
4. ¿Cuál es el número mínimo -e inteligente- de preguntas que hay que
hacer para pasar de la incertidumbre a la certeza en un sistema de n
estados equiprobables? ¿Y si ahora no son equiprobables?
5. ¿Por qué la entropía es no nula y se anula si y sólo si uno de los
estados de la variable es igual a la unidad?
6. Codificamos en binario un sistema con 256 estados equiprobables.
Si no usamos un codificador óptimo, ¿cuántos bits son necesarios?
Mediante un codificador óptimo, ¿usaremos más o menos bits?
Capítulo 6: Teoría de la Información Página 226

© Jorge Ramió Aguirre Madrid (España) 2005


Cuestiones y ejercicios (2 de 2)
7. ¿Qué representa la expresión log2 [1/p(x)] en la entropía H(X)? Si
p(x1)=0,6; p(x2)=0,3; p(x3)=0,1 calcule log2 [1/p(x)]. ¿Qué opina?
8. Definimos un alfabeto con 71 elementos (mayúsculas y minúsculas,
minúsculas acentuadas, dígitos, punto, coma). Si estos elementos
son equiprobables, ¿cuál es la ratio absoluta de este alfabeto?
9. ¿La ratio verdadera es mayor o menor que la absoluta? ¿Por qué?
10. Un alfabeto consta de 8 elementos equiprobables. ¿Cuántos posibles
mensajes de tamaño 4 existen? De éstos, ¿cuántos mensajes podrían
tener sentido si esos 8 elementos representan al idioma castellano?
11. ¿Cuándo decimos que un sistema tiene secreto perfecto? En un
sistema real, ¿es eso posible? Piense en algún ejemplo y coméntelo.
12. ¿Por qué se dice que hay que minimizar las soluciones falsas SF en
el modelo aleatorio para romper la clave? ¿Es la clave k única?
Capítulo 6: Teoría de la Información Página 227

© Jorge Ramió Aguirre Madrid (España) 2005


Prácticas del tema 6
Software CripClas: http://www.criptored.upm.es/software/sw_m001c.htm 

1. Encuentre la entropía del mensaje M = MI MAMA ME MIMA, compárela


con el resultado de la diapositiva correspondiente, 33 bits para codificar 15
caracteres: 33/15 = 2,2. ¿Por qué no coinciden? Repita este cálculo ahora
con el mensaje M = RARORARO y saque conclusiones.
2. Encuentre la entropía de M = ABCDEFGHIJKLMNÑOPQRSTUVWXYZ
es decir el alfabeto en castellano módulo 27, y compárela con el valor que
aparece en la dispositiva correspondiente.
3. ¿Cómo son las entropías de M = TE AMO y M = Te amo? ¿Por qué?
4. Copie en el portapapeles todas estas preguntas, guarde el archivo con el
nombre prtema6.txt y encuentre su entropía. Encuentre luego la entropía de
otros archivos txt, grandes y pequeños, y saque conclusiones.
5. Encuentre la frecuencia de monogramas del archivo anterior, prtema6.txt.
Compárela en la misma pantalla con la tabla de frecuencias estándar.
Capítulo 6: Teoría de la Información Página 228

© Jorge Ramió Aguirre Madrid (España) 2005