Professional Documents
Culture Documents
Teoría de la Información
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 prohibida su comercialización, excepto la edición en venta en el
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
Capítulo 6: Teoría de la Información Página 2
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
técnicas criptográficas entre otras herramientas.
– La teoría de la información mide la
¿Qué significa
cantidad de información que cantidad de
contiene un mensaje a través del información y
número medio de bits necesario para codificador
codificar todos los posibles mensajes óptimo?
con un codificador óptimo.
Representación de la información
http://es.wikipedia.org/wiki/Claude_E._Shannon
–– Respuesta 2:
Respuesta 1: Cuando
Sí, hace no
mucho
soplacalor.
el viento, el calor allí es
– Respuesta 2: Cuando
inaguantable no sopla
pues supera los 42elgrados
viento,aellacalor allí
sombra. es
inaguantable pues supera los 42 grados a la sombra.
¿Dónde hay una mayor cantidad de información?
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
ci = - log2 (pi ) 0 pi
0 1
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
http://en.wikipedia.org/wiki/Information_entropy
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
veremos más
H(X) = - Σ p(xi) log2 p(xi) adelante...
i=1
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
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 6: Teoría de la Información Página 22
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
http://articulos.conclase.net/compresion/huffman.html
• 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)
http://es.wikipedia.org/wiki/Compresi%C3%B3n_de_datos
M = __H__B__N__V__Z__N__C__R__C__
∃ 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.
M1 k1 C1
k3 k2
k2
M2 k3 C2
k1
k3 k1
M3 C3
k2
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
C4
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 modelo de la diapositiva siguiente.
http://www.cs.ucla.edu/~jkong/research/security/shannon1949/node14.html
C3
2RN 2RN
Mensajes Criptogramas
Operaciones de
cifra usando
una clave C2
2RN - 2rN
Mensajes Sin Sentido
Veamos ahora los escenarios del modelo de cifra para sólo dos claves k1 y k2.
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 Soluciones: C6
C6 = Ek2(M1) C7 = Ek1(M3)
k1
M7
k2
Falsas ⇒ SF C7
C9 = Ek1(M6) C10 = Ek2(M6)
Verdaderas ⇒ SV SF: C2 = Ek1(M4) C2 = Ek2(M4)
M8 C8
SF C2: Condición obvia
M9 C9
C5 = Ek2(M2) C5 = Ek2(M5)
SF C5: Condición débil
M10 SF C1: Condición fuerte C10
C1 = Ek1(M1) C1 = Ek2(M3)
(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.
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.
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.
Cuestiones y ejercicios (1 de 2)
• Al despertar ponemos la radio y escuchamos noticias que no nos
llaman la atención. ¿Por qué decimos que no había información?
• Justifique la definición logarítmica de cantidad de información, es
decir la razón de que ci = - log (pi).
• ¿Por qué usamos la base 2 en el logaritmo que define ci?
• ¿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?
• ¿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?
• 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?
Cuestiones y ejercicios (2 de 2)
• ¿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?
• 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?
• ¿La ratio verdadera es mayor o menor que la absoluta? ¿Por qué?
• 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?
• ¿Cuándo decimos que un sistema tiene secreto perfecto? En un
sistema real, ¿es eso posible? Piense en algún ejemplo y coméntelo.
• ¿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?