TEORÍA DE LA COMUNICACIÓN UPNA TEMA VIII – INTRODUCCIÓN A LA TEORÍA DE LA INFORMACIÓN Objetivos: - Establecer las bases de un tratamiento matemático de la información - Analizar limitaciones fundamentales en transmisión de información - Introducir métodos de compresión de datos, codificación y cifrado 8.1. INTRODUCCIÓN En los temas anteriores se han tratado los sistemas de comunicaciones como instrumentos que permiten transmitir señales en banda base entre una fuente y un destino a través de un canal de comunicaciones, y se han visto distintos esquemas de modulación para llevar a cabo este objetivo. No se ha considerado el concepto de la información que portan estas señales ni su transferencia. La Teoría de la Información, iniciada por C. Shannon en 1948, permite tratar los sistemas de comunicaciones desde un punto de vista más general, como sistemas que transmiten información. Tal teoría permite: • Tratar cuantitativamente la información (en particular medirla) • Establecer limitaciones fundamentales en su tratamiento y transmisión Asimismo, es la base matemática de los tres procesos de codificación (en su sentido más amplio) que pueden estar presentes en un sistema de comunicación digital: • Codificación de fuente: representación eficiente de los datos producidos por la fuente, eliminando redundancias presentes en los mismos. Son los métodos de compresión de datos. • Cifrado: modificación del mensaje para su transmisión secreta. • Codificación de canal: representación de los datos que permite su transmisión fiable a través de un canal de comunicaciones con ruido. En este tema se presentan los resultados más importantes de la Teoría de la Información; primero se considerarán fuentes y canales de comunicaciones que generan y transmiten, respectivamente, información discreta (digital, es decir, símbolos). Se presentarán los conceptos de: medida de la información, codificación de fuente, transmisión de información y capacidad de un canal de comunicaciones discreto. Estos conceptos se extenderán seguidamente al caso de la transmisión de información a través de un canal continuo, donde los mensajes se transmiten usando señales continuas en el tiempo. La Ley de Hartley-Shannon permitirá definir la capacidad de un canal continuo en función de su ancho de banda y SNR, y servirá para comparar distintos sistemas de comunicaciones ya vistos a la luz de la Teoría de la Información. Finalmente se hará una breve introducción a la Criptografía y una revisión de los métodos criptográficos más conocidos. 8.2. INCERTIDUMBRE Y MEDIDA DE LA INFORMACIÓN Supongamos que una fuente emite símbolos de un cierto alfabeto S de tamaño n,{s1, s2, ..., sn} a intervalos de tiempo Ts y con probabilidades respectivas P(S=sk)=pk para k=1,2, ..., n (obviamente, su suma será 1). Se supondrá también que estos símbolos son estadísticamente independientes (la probabilidad de emisión de un símbolo no se ve influida por los símbolos emitidos anteriormente). Tal fuente se denomina fuente de emisión discreta sin memoria (donde “sin memoria” hace referencia a esta independencia estadística) y se puede modelar como una variable aleatoria discreta que toma los valores sk con probabilidades pk. 185 TEORÍA DE LA COMUNICACIÓN UPNA La información obtenida al observar un símbolo generado por la fuente se puede interpretar como la incertidumbre que se resuelve al conocer ese símbolo. Así, si se conoce de antemano el símbolo que se va a producir (por tener una probabilidad asociada unidad) su observación no reporta información. Sin embargo, la observación de un símbolo que se emite con muy poca probabilidad genera mucha información. Basado en estas ideas, Shannon propuso como medida de la información generada al observar que la fuente emite el símbolo S=sk (que ocurre con probabilidad pk) la función logarítmica: 1 = − log p k I (s k ) = log pk (8.1) Tal medida de la información tiene las siguientes propiedades, intuitivamente satisfactorias: 1. I(sk)=0 si pk=1 (si es seguro que se va a emitir sk, este suceso no produce información) 2. I(sk) ≥ 0 al ser 0 ≤ pk ≤ 1 (el conocer que S=sk puede o no dar información, pero nunca hace que se pierda) 3. I(sk)> I(sj) si pk<pj (los símbolos menos probables son los que dan más información) 4. I(sk sj)= I(sk)+ I(sj) al ser sk y sj estadísticamente independientes (la información producida al emitirse una sucesión de símbolos independientes es la suma de informaciones de los símbolos independientes). Esta medida de la información es pues una cantidad no negativa dependiente de las probabilidades de emisión de los símbolos. Sus unidades dependen de la base que se tome para el logaritmo en la fórmula (8.1), siendo típico tomar base 2. En este caso (que se asumirá en lo sucesivo), las unidades se denominan bits (un bit será la probabilidad de observar el resultado de dos eventos equiprobables). 8.3. ENTROPÍA DE UNA FUENTE Y SUS PROPIEDADES La información I(sk) producida por la fuente en un cierto intervalo de tiempo Ts depende del símbolo emitido en ese intervalo, y puede verse como una v.a. discreta con valores I(s1), I(s2), ..., I(sn) con probabilidades p1, p2, ..., pn. Su valor medio será: H (S ) = n ∑ k =1 p k I (s k ) = n ∑ k =1 n 1 = − p k log 2 p k p k log 2 pk k =1 ∑ (8.2) Este valor H(S) se denomina la entropía de la fuente discreta con alfabeto S, y es una medida de la información que en promedio proporciona un símbolo emitido por la fuente (se mide por tanto en bits/símbolo). Propiedades de la entropía La entropía de una fuente discreta sin memoria está acotada por: 0 ≤ H (S ) ≤ log 2 n (8.3) La cota inferior se da cuando uno de los símbolos tiene probabilidad 1 y el resto probabilidad 0. En ese caso no hay incertidumbre sobre qué símbolo se emite, y éste por tanto no da información. En cuanto a la cota superior, se produce cuando todos los símbolos del alfabeto son equiprobables, situación de máxima incertidumbre en la que la entropía es máxima. 186 TEORÍA DE LA COMUNICACIÓN UPNA 8.4. CODIFICACIÓN DE FUENTE La transmisión eficiente de los símbolos generados por la fuente exige que éstos sean representados de una forma eficiente, entendiendo por eficiencia la minimización del volumen de datos a transmitir eliminando la redundancia presente en los mismos. La transformación a esta nueva representación se conoce como codificación de fuente, y se basa en asignar palabras de código más cortas a los símbolos más probables. Esta operación no provoca pérdida de información. Generalmente se realiza sobre señales digitales, en cuyo caso también se habla de compresión de datos sin pérdidas (o compactación de datos). En este apartado se estudiarán códigos de fuente binarios y unívocamente descifrables (es decir, que no admitan ambigüedad al ser descodificados permitiendo una reconstrucción perfecta). Un caso particular de códigos unívocamente descifrables es el de los códigos instantáneos, en el que ninguna palabra de código es prefijo de otra. Todo código instantáneo es unívocamente descifrable, pero no tiene por qué darse a la inversa. Para ilustrar estos conceptos, en la Tabla 8.1 se muestran cuatro códigos, tres de ellos de longitud variable, que permiten codificar los cuatro símbolos generados por una fuente S. Símbolo s1 s2 s3 s4 Probabilidad de emisión 0.5 0.25 0.125 0.125 Código I 00 01 10 11 Código II 0 1 00 11 Código III 0 10 110 1110 Código IV 0 01 011 0111 Tabla 8.1. Cuatro códigos de fuente El código I es un código de longitud fija (por tanto instantáneo). Los códigos II a IV son de longitud variable. El código II no es unívocamente descifrable (por ejemplo, al recibir 00 no se sabe si se ha transmitido s3 ó s1s1 ). Los códigos III y IV son unívocamente descifrables, pero sólo el código III es instantáneo. La eficiencia de un código de fuente se mide en función de la longitud media de las palabras de código, siendo mayor a menor longitud media. Tal longitud media será el promedio de bits de una palabra codificada, y vendrá dada por: L= n ∑p l k k (8.4) k =1 siendo lk el número de bits de la palabra de código k-ésima. La máxima eficiencia de un código se tendrá pues cuando éste tenga una longitud media mínima. Un código unívocamente descrifrable y con longitud media mínima se denomina código compacto. ¿Cómo se determina cuál es esa longitud mínima?. La respuesta a esta cuestión la proporciona la Teoría de la Información, a través de su Teorema de Codificación de Fuente: Dada una fuente de emisión sin memoria con entropía H(S), la longitud media de cualquier codificación de fuente (sin pérdida de información) está acotada inferiormente por H (S ) ≤ L (8.5) Luego un código óptimo será aquel que esté perfectamente adaptado a las probabilidades de emisión de símbolos de la fuente, de forma que su longitud media sea igual a la entropía de la fuente. La entropía representa pues una limitación fundamental en la capacidad de compresión 187 TEORÍA DE LA COMUNICACIÓN UPNA sin pérdidas. El teorema no dice cómo obtener ese código óptimo, y en todo caso será preciso conocer esas probabilidades para obtenerlo. En la práctica no se suele llegar a esa cota inferior, y se suele definir la eficiencia de la codificación de fuente como: η= H (S ) ≤1 L (8.6) El código será tanto más eficiente a mayor valor de η, siendo óptimo en el caso de que η=1. En el caso de un código instantáneo, las longitudes medias de las palabras codificadas cumplen la denominada desigualdad de Kraft-McMillan: n ∑2 − lk ≤1 (8.7) k =1 Esta condición es necesaria, pero no suficiente, para que un código sea instantáneo (por ejemplo, la cumplen los códigos III y IV de la Tabla 8.1). En el caso de códigos instantáneos, aparte de la cota inferior dada en (8.5), se puede encontrar un código que tenga longitud media también acotada superiormente de la siguiente forma: H (S ) ≤ L ≤ H (S ) + 1 (8.8) Se tendrá la cota inferior si la longitud de la palabra de código asignada a sk fuera –log2pk. Para demostrarlo basta usar (8.4)-(8.7). Esto es difícil que se produzca en la práctica, pero en cualquier caso el adaptar las longitudes del código a las respectivas probabilidades de símbolo maximiza la eficiencia. En el caso de no conocer las probabilidades de fuente, se puede recurrir a la construcción de códigos (instantáneos) extendidos. Se basan en codificar no símbolos individuales sino bloques de m símbolos; dada la independencia estadística de los símbolos, la entropía de los bloques sería mH(S), por lo que de acuerdo con (8.8): mH (S ) ≤ mL ≤ mH (S ) + 1 ⇒ H (S ) ≤ L ≤ H (S ) + 1 m (8.9) Luego la extensión m-ésima del código se acerca al caso óptimo cuando m crece. Sin embargo, un orden m elevado complica el diseño del decodificador. Ejemplos de codificación de fuente 1) Códificación de Huffman Permite la construcción de códigos instantáneos muy eficientes. Tales códigos se obtienen por un proceso de reducción basado en agrupar el par de probabilidades más pequeñas de los símbolos, en pasos sucesivos. El algoritmo de construcción es como sigue: a) Se listan los símbolos de la fuente en orden de probabilidad decreciente. A los dos símbolos de menor probabilidad se les asigna el 0 y el 1. b) Estos dos símbolos forman en el siguiente paso un nuevo símbolo de probabilidad la suma de las de ambos; esta nueva probabilidad se incluye en la posición correspondiente de la lista. c) El procedimiento se repite hasta que quedan dos símbolos. 188 TEORÍA DE LA COMUNICACIÓN UPNA El código resultante de cada símbolo se obtiene volviendo hacia atrás y agrupando la secuencia de 1s y 0s obtenida. En la siguiente tabla se muestra el proceso para obtener un código de Huffman. Símbolo s1 s2 s3 s4 Paso 1 0.5 0.25 0 0.125 1 0.125 Paso 2 0.5 0.25 0 1 0.25 Paso 3 0.5 0 0.5 1 Código 0 10 110 111 Tabla 8.2. Algoritmo de codificación de Huffman Como se aprecia en la tabla, el algoritmo no da lugar a un código único. 2) Códificación de Lempel-Ziv Algunos inconvenientes de los códigos de Huffman son: • Se precisa conocer a priori la probabilidad de emisión de cada símbolo por la fuente • No reduce la redundancia entre símbolos adyacentes, presente por ejemplo en texto • Utiliza códigos de longitud variable, poco adecuados para transmisión síncrona Un método sencillo y eficiente que no presenta esos inconvenientes, y que ha desplazado a los códigos de Huffman hasta convertirse en un estándar en compresión de ficheros es la codificación de Lempel-Ziv. Se basa en dividir el flujo de símbolos generado por la fuente en grupos, siendo cada uno de ellos la subsecuencia de símbolos más corta no emitida anteriormente. Se verá un ejemplo para un alfabeto binario. Suponiendo que la fuente emite: 000101110010100101 ... se van agrupando a medida que van siendo emitidos grupos (de dos ó más símbolos) no aparecidos anteriormente. Se tendría: 00 01 011 10 010 100 101 ... A continuación se ordenan las subsecuencias en el orden en que han aparecido (ocupando las dos primeras posiciones el 0 y el 1). Cada subsecuencia tiene como prefijo una subsecuencia anterior, de la que difiere sólo en el último bit. Por tanto, a cada subsecuencia se le asignan dos números, el primero correspondiente a la posición de la subsecuencia prefijo y otro con la posición del último (nuevo) bit (1 ó 2 si es 0 ó 1, respectivamente). Las palabras de código son la codificación binaria de estos dos números. La siguiente tabla muestra el resultado del proceso de codificación para la secuencia binaria anterior. Posición Subsecuencias Representaciones numéricas Bloques codificados en binario 1 0 2 1 3 00 4 01 5 011 6 10 7 010 8 100 9 101 11 12 42 21 41 61 62 0010 0011 1001 0100 1000 1100 1101 Tabla 8.3. Algoritmo de codificación de Lempel-Ziv En la práctica se usan palabras codificadas de 12 bits, lo que permite codificar hasta 4096 subsecuencias. 189 TEORÍA DE LA COMUNICACIÓN UPNA La compresión media obtenida para texto (inglés) es del 55%, frente al 43% medio obtenido con codificación de Huffman. 8.4. CAPACIDAD DE UN CANAL DISCRETO SIN MEMORIA En apartados anteriores se han modelado matemáticamente fuentes que generan símbolos de forma discreta y se ha medido la información generada. En los siguientes párrafos se extiende este análisis, modelando un canal de transmisión en que se transmiten símbolos de forma discreta y midiendo la información transmitida. En canales de transmisión ideales (sin ruido) no se perdería información, siendo la información recibida igual a la transmitida. La codificación de fuente sería la única necesaria en este caso. En la práctica, no obstante, el ruido (y otras degradaciones como interferencias, distorsión, etc.) presente en el canal hace que los símbolos puedan recibirse con una probabilidad de error alta y se pierda información. Para disminuir esta probabilidad de error se recurre a la codificación de canal, que introduce redundancia en el mensaje para lograr el control de errores. Un canal discreto sin memoria es un modelo matemático (estadístico) de canal de transmisión, y se puede ver como una “caja negra” que toma a su entrada símbolos de un alfabeto X ={x1, x2, ..., xn} emitidos con probabilidades p(x1), p(x2), ..., p(xn) y entrega a su salida símbolos de otro alfabeto Y={y1, y2, ..., ym} recibidos con probabilidades p(y1), p(y2), ..., p(ym) cada Tc segundos. Ambos alfabetos pueden diferir debido al ruido. El canal se dice “discreto” cuando los alfabetos de entrada y salida son de tamaño finito, y “sin memoria” cuando el símbolo recibido depende sólo del transmitido en ese instante y no de símbolos transmitidos anteriormente. La figura siguiente ilustra este concepto. p(yj|xi) X Y Fig. 8.1. Canal discreto sin memoria El canal estará determinado por los alfabetos X e Y (cada uno de ellos representable por una variable aleatoria) y por las probabilidades de transición p(yj|xi)=P(Y=yj|X=xj), que son las probabilidades de recibir el símbolo yj condicionadas a que se ha transmitido el símbolo xi y que se suelen agrupar en la denominada matriz de canal: p (y 1 x 1 ) p (y 2 x 1 ) ... p (y m x 1 ) p (y 1 x 2 ) p (y 2 x 2 ) ... p (y m x 2 ) P= . . . p (y 1 x n ) p (y 2 x n ) ... p (y m x n ) (8.10) matriz n × m donde la suma de los elementos de una fila es 1. La probabilidad conjunta de que se transmita xi y se reciba yj será P(X=xi ,Y=yj)= p(xi,yj)= p(yj|xi) p(xi), mientras que la probabilidad de que se reciba el símbolo yk será: p (y k ) = ∑ p (y n i =1 190 k x i )p(x i ) (8.11) TEORÍA DE LA COMUNICACIÓN UPNA EJEMPLO 1: Canal binario simétrico Un importante ejemplo de canal discreto sin memoria es el canal binario simétrico, en el cual los alfabetos de entrada y salida son binarios y la probabilidad p de recibir un 1 al transmitir un 0 es idéntica a la probabilidad de recibir un 0 al transmitir un 1. La siguiente figura muestra la matriz de canal y un diagrama con las probabilidades de transición 1-p y1=0 x1=0 p y = 0 x = 0 p y = 1 x = 0 1 − p p p P= = p − p 1 p = = = = p y 0 x 1 p y 1 x 1 ( ( ) ( ) ( ) ) x2=1 y2=1 1-p Fig. 8.2. Canal binario simétrico • Información mutua La cantidad de información transferida cuando se emite xi y se recibe yj se conoce como información mutua y se puede definir como: ( p xi y j I (x i ; y j ) = log p (x i ) ) (8.12) medida en bits si como se asumirá la base del logaritmo es 2. La información mutua promedio de los símbolos será: ( n m n m p xi y j I (X ;Y ) = ∑∑ p (x i , y j )I (x i ; y j ) = ∑∑ p (x i , y j )log p (x i ) i =1 j =1 i =1 j =1 ) (8.13) medida en bits/símbolo y que representa la información promedio adquirida por símbolo recibido. Desarrollando esta expresión, se puede describir la información mutua como: I(X,Y) = H(X) – H(X|Y) (8.14) con H(X) la entropía de la fuente con alfabeto X, n 1 H ( X ) = ∑ p (x i )log 2 ( ) p x i =1 i (8.15) siendo H(X|Y) la equivocación, dada por: n m 1 H (X Y ) == ∑∑ p (x i , y j )log i =1 j = 1 p xi y j ( ) (8.16) La ecuación (8.14) refleja que la información promedio transferida por símbolo es igual a la información media por símbolo transmitido de la fuente (entropía de la fuente) menos la información perdida por el ruido en el canal (equivocación). En un canal ideal sin ruido los pares (xi, yj) de símbolos a la entrada y salida están fijados, por lo que H(X|Y)=0, no habiendo pérdida de información. En un canal muy ruidoso los símbolos a la salida serán independientes 191 TEORÍA DE LA COMUNICACIÓN UPNA de los transmitidos, por lo que p(xi|yj)= p(xi), H(X|Y)= H(X) e I(X;Y)=0, no habiendo transferencia de información. En la práctica se tendrán casos intermedios. Algunas propiedades importantes de la información mutua son: 1) La información mutua de un canal es simétrica, esto es, I(X;Y)=I(Y;X). El término I(X;Y) es una medida de la incertidumbre que se resuelve sobre la entrada al canal al observar su salida, mientras que I(Y;X) es una medida de la incertidumbre sobre la salida del canal resuelta al observar su entrada. 2) I(X;Y)≥0 (se podrá ganar o no información, en promedio, al observar la salida de un canal, pero no se puede perder). • Capacidad de canal La información mutua de un canal discreto sin memoria es una medida de la información transferida. Una vez fijados los alfabetos X e Y de entrada y salida, y la matriz de canal P dada en (8.19), las únicas variables de I(X;Y) serán las probabilidades de emisión de símbolos p(xi). Por tanto, la transferencia de información en un canal determinado depende de las características estadísticas de la fuente. Una cierta elección de estas probabilidades maximizará la transferencia de información en el canal, siendo este máximo la capacidad del canal, que se define como: C s = max I (X ; Y ) p (x i ) bits/símbolo (8.17) y que por tanto representa la máxima cantidad de información transferida por símbolo en el canal (en promedio). EJEMPLO 2: Capacidad de un canal binario simétrico En el caso del canal binario simétrico del ejemplo 1, I(X;Y) se maximiza cuando la probabilidad de que la fuente genere un 1 ó un 0 es la misma, esto es, 0.5. La capacidad de canal será en este caso: C s = I (X ; Y ) p (x =1)= p (x =0 )=0.5 = 1 + p log p + (1 − p )log (1 − p ) (8.18) cuya variación en función de la probabilidad de error p se muestra en la Fig. 8.3. Se aprecia que cuando el canal es ideal (sin ruido, esto es, p=0), Cs toma el valor máximo de 1 bit por símbolo transmitido, exactamente la información generada por la fuente. En cambio, cuando el canal es tan ruidoso que la probabilidad de error es p=0.5, la probabilidad de que llegue un 1 ó un 0 es independiente de que se haya transmitido un 1 ó un 0, por lo que el símbolo recibido no reporta información. La capacidad del canal en este caso es Cs = 0, siendo el canal inservible para transmitir información. Cs p Fig. 8.3. Capacidad de un canal binario simétrico en función de la prob. de error p 192 TEORÍA DE LA COMUNICACIÓN UPNA 8.6. TEOREMA DE CODIFICACIÓN DE CANAL. CÓDIGOS DE CONTROL DE ERRORES La presencia de ruido en el canal obliga a introducir redundancia en los símbolos transmitidos para minimizar la probabilidad de error, dando lugar a un nivel de calidad aceptable. Tal redundancia se introduce por medio de la codificación de canal. En el caso particular de códigos de bloque (ej. bits de paridad) el mensaje se divide en bloques de k bits, y se transforman en nuevos bloques de n>k bits (por tanto se introducen n-k bits de redundancia). Se define el cociente r= k n (8.19) como la razón del código (code rate). El Teorema de Codificación de Canal de Shannon establece que existen códigos de canal que permiten obtener una probabilidad de error arbitrariamente baja en canales con ruido, bajo ciertas condiciones. En particular, supongamos que una fuente S emite símbolos cada Ts segundos. La velocidad media de transmisión de información será H(S)/Ts bits/segundo. Suponiendo que el canal puede usarse cada Tc segundos, la capacidad del canal por unidad de tiempo será C = Cs /Tc bits/segundo. El teorema de codificación de canal para canales discretos sin memoria establece que si H (S ) ≤C (8.20a) Ts existe un código de canal con el cual la salida de la fuente puede ser transmitida por el canal y reconstruida en el receptor con una probabilidad de error tan pequeña como se quiera. Por otro lado, si H (S ) >C (8.20b) Ts no es posible transmitir información por el canal y reconstruirla en recepción con probabilidad de error arbitrariamente pequeña. Por tanto, se puede transmitir usando el código de canal adecuado una secuencia de bits de forma tan segura como si no hubiera ruido en el canal, siempre que la velocidad sea menor a un valor crítico (C bps) determinado por la capacidad del canal. Este teorema, que no se demostrará, es el resultado más importante de la Teoría de la Información. No es constructivo, es decir, postula que existe un código con esas condiciones pero no describe cómo obtenerlo. EJEMPLO 3: Teorema de Codificación de Canal en el canal binario simétrico Supongamos una fuente discreta sin memoria que produce símbolos binarios (0 y 1) equiprobables cada Ts segundos. Tal fuente genera un flujo de información de 1/Ts bits/segundo. Este flujo de bits se aplica a un codificador de canal con razón de código r que genera un símbolo cada Tc segundos, y por tanto utiliza el canal binario simétrico cada Tc segundos. En consecuencia, el teorema de codificación de canal establece que si 1 ≤C Ts 193 (8.21) TEORÍA DE LA COMUNICACIÓN UPNA con C=Cs/Tc y Cs dado en (8.18), utilizando la codificación de canal adecuada la probabilidad de error se puede hacer tan pequeña como se desee. Otra forma de expresar esta condición, observando que r=Tc /Ts, es r ≤ Cs (8.22) Por tanto, no es preciso introducir mucha redundancia (es decir, hacer r→0) para transmitir sin error, basta superar una cota dada por la capacidad del canal Cs (eso sí, eligiendo el código adecuado). Los códigos de control de errores suelen dividirse en dos grandes grupos: 1) Códigos algebraicos. Se basan en una cierta estructura algebraica de las palabras codificadas que se emplea en el decodificador. Destacan los códigos de Hamming, códigos BCH y códigos de Reed-Solomon, entre otros. Suelen presentar las siguientes propiedades: • Linealidad: la combinación lineal de palabras de código produce otra palabra de código • Carácter cíclico: cualquier desplazamiento cíclico de una palabra de código produce otra palabra de código. 2) Códigos probabilísticos. Se basan en métodos probabilísticos para su decodificación. Son de este tipo los códigos de trellis y códigos turbo, entre otros. La implementación de este tipo de códigos permite aproximarse mucho a las condiciones ideales dadas en el Teorema de Codificación de Canal. 8.7. INFORMACIÓN EN FUENTES CONTINUAS. ENTROPÍA DIFERENCIAL Una vez desarrollados los conceptos básicos de Teoría de la Información para el caso simple de fuentes y canales discretos, se extenderán al caso más realista de fuentes y canales continuos. Una fuente de emisión continua produce señales x(t) dependientes del tiempo. El conjunto de esas señales se puede tratar como un proceso aleatorio X(t), cuyas funciones muestrales son las posibles salidas de la fuente. Suponiendo que el proceso tiene un ancho de banda B (es decir, la densidad espectral de potencia de X(t) es nula para |f|>B) las señales x(t) estarán completamente caracterizadas por sus muestras tomadas con una frecuencia de muestreo fs ≥ 2B Hz. El conjunto de muestras de las distintas funciones muestrales en un cierto instante (es decir, la observación de las funciones muestrales en ese instante) formarán una variable aleatoria continua X. Por analogía con el caso discreto dado en la expresión (8.2), una medida de la información media que proporciona una muestra de la fuente vendrá dada por la función de entropía: h (X ) = ∞ ∫ f (x )log X −∞ dx f X (x ) 2 1 (8.23) Esta función es, no obstante, una medida relativa de tal información, por lo que se denomina entropía diferencial. El valor absoluto de la entropía se podría obtener considerando la v.a. continua X como el caso límite (para ∆x→0) de una v.a. discreta que tome los valores xk=k∆x (con k entero) con probabilidad p(xk) ≅ fX(xk)∆x . Usando la fórmula (8.2) de la entropía discreta: ∞ ∞ ∞ 1 1 = f X (x ) log 2 dx − lim log 2 ∆x f X (x )dx = H (X ) = lim f X (x k )∆x log 2 x 0 ∆ → ∆x → 0 f X (x k )∆x − ∞ f X (x ) k = −∞ −∞ = h (X ) − lim log 2 ∆x ∑ ∫ ∫ ∆x →0 (8.24) 194 TEORÍA DE LA COMUNICACIÓN UPNA El segundo término es el valor de referencia para obtener la entropía diferencial, y es ∞. Por tanto, la entropía absoluta de una v.a. continua es ∞; tiene sentido ya que la entropía mide la incertidumbre de un cierto resultado, que será infinita en el caso de una v.a. continua con infinitos resultados posibles. En cualquier caso, la entropía diferencial como medida relativa de la información va a permitir tratar la transmisión de información, ya que se está interesado en la diferencia entre la información recibida y la transmitida por el canal y no en su valor absoluto. Ejemplos: 1) V.A. CON PDF UNIFORME: en el caso de una v.a. continua X uniformemente distribuida entre 0 y A, la entropía diferencial será: ∞ 1 1 dx = f X (x )log 2 log 2 (A) dx = log 2 (A) (8.25) f x A ( ) X 0 −∞ Notar que si A<1, h(X)<0. Contrariamente al caso discreto, la entropía diferencial puede ser negativa. Esto se debe a que es una medida relativa de la información. h (X ) = A ∫ ∫ 2) V.A. CON PDF GAUSSIANA: en el caso de una v.a. continua X con distribución gaussiana de varianza σ2 , la entropía diferencial será: h (X ) = ∞ ∫ f (x )log X −∞ ( 1 dx = log 2 2πeσ 2 2 f X (x ) 2 1 ) (8.26) La entropía diferencial de la v.a. gaussiana depende pues sólo de su varianza (en particular no depende de la media), y es la mayor posible de entre las de v.a. continuas con cualquier distribución de probabilidad y misma varianza σ2 . También por analogía con el caso discreto, expresión (8.13), se define la información mutua promedio entre dos v.a. continuas X e Y como: I (X ; Y ) = f X (x y ) dxdy f XY (x , y ) log 2 f (x ) X − ∞− ∞ ∞ ∞ ∫∫ (8.27) con fXY(x,y) la PDF conjunta de X e Y y fX(x|y) la PDF condicional de X dado Y = y. Este parámetro mide la información media absoluta transferida por muestra. Continuando con la analogía con el caso discreto, la información mutua I(X;Y) tiene las siguientes propiedades: 1) I(X;Y)=I(Y;X) 2) I(X;Y) ≥ 0 3) I(X;Y) = h(X) –h(X|Y) = h(Y) – h(Y|X) siendo h(X|Y) la entropía diferencial condicional de X dado Y, definida como: h (X Y ) = ∞ ∞ 1 dxdy f XY (x , y ) log 2 f (x y ) X − ∞− ∞ ∫∫ (8.28) La interpretación en términos de información de estas propiedades es similar al caso discreto. 195 TEORÍA DE LA COMUNICACIÓN UPNA 8.8. CAPACIDAD DE UN CANAL CONTINUO. TEOREMA DE CAPACIDAD DE INFORMACIÓN Supongamos que la señal x(t) generada por la fuente es contaminada con ruido AWGN n(t) en el canal, recibiendo a la salida y(t) = x(t)+n(t). La máxima transmisión de información por muestra viene dada por: C s = max I (X ; Y ) f X (x ) bits/muestra (8.29) capacidad del canal en bits por muestra, donde X e Y son las v.a. que agrupan los posibles valores de las muestras de la señal transmitida por la fuente y recibida en un cierto instante, respectivamente. Si el muestreo se produce a la frecuencia de Nyquist 2B, se tendrá la capacidad del canal en bps: C = 2 BC s bits/segundo (8.30) correspondiente a la máxima tasa binaria para transmisión sin errores. Dado que en el canal se añade ruido aditivo n(t) independiente de la señal, dando lugar a y(t)=x(t)+n(t), fY(y|x)=fY(y)=fY(x+n)=fN(y-x), donde fN(n) es la PDF gaussina del ruido. Por tanto: h (Y X ) = ∞ ∞ ∞ ∞ 1 1 dxdy = ( ) ( ) = f YX (x , y ) log 2 f x f y x log X Y 2 f (y x ) dxdy ( ) f y x Y Y − ∞− ∞ − ∞− ∞ ∫∫ ∫∫ ∞ 1 1 dn = log 2 (2πePN ) = f N (n )log 2 2 f N (n ) −∞ (8.31) ∫ igual a la entropía diferencial del ruido gaussiano, dada por (8.26) con σ2=PN=ηB la potencia media del ruido del canal (se supone el canal limitado en banda a B Hz). Es pues independiente por tanto de la PDF de la fuente. Luego: 1 C s = max I (X ; Y ) = max [h (Y ) − h (Y X )] = max [h(Y )]− log 2 (2πePN ) f X (x ) f X (x ) f X (x ) 2 (8.32) Si la v.a. X que modela la señal muestreada a la salida de la fuente en un cierto instante tiene PDF gaussiana de media 0, la v.a. Y de salida será gaussiana de media 0 al ser la suma de dos v.a. gaussianas de media 0 (X y ruido), por lo que h(Y) será máxima y dada por (8.26), con σ2=PS+PN (la potencia a la salida será la suma de la potencia de señal mas la del ruido). Por tanto, C s = max I (X ; Y ) = f X (x ) P + PN 1 1 1 log 2 [2πe(PS + PN )] − log 2 (2πePN ) = log 2 S 2 2 2 PN (8.33) y usando (8.30): C = B log 2 (1 + SNR ) bits/seg (8.34) expresión conocida como Teorema de Capacidad de Información o Ley de Hartley-Shannon. Esta ley establece por tanto una cota superior en la velocidad de transmisión a través de un canal de ancho de banda B y ruido AWGN, dependiente de la relación señal/ruido en recepción. No se 196 TEORÍA DE LA COMUNICACIÓN UPNA puede transmitir a más velocidad que C bps con probabilidad de error despreciable, suponiendo pues un límite fundamental en la transmisión. Este límite se da en el caso ideal de que la señal transmitida tenga propiedades estadísticas similares a las de un ruido blanco y gaussiano, y de que se implemente el método de codificación de canal adecuado. Esta expresión permite asimismo ver el posible intercambio entre relación señal/ruido y ancho de banda, manteniendo C. Se gana más aumentando B que aumentando SNR, ya que C depende linealmente de B. 8.9. LOS SISTEMAS DE TRANSMISIÓN A LA LUZ DE LA TEORÍA DE LA INFORMACIÓN Un sistema de comunicaciones ideal podría considerarse aquél que, en un canal limitado en banda y con ruido AWGN, permite transmitir sin errores a una velocidad dada por (8.34). Este sistema puede servir para comparar las prestaciones de los distintos sistemas de comunicaciones vistos tanto con el caso ideal como entre ellos, a la luz de los resultados obtenidos en este tema. En la Fig. 8.4 se muestra el rendimiento relativo de distintos métodos de modulación vistos respecto de la curva correspondiente al caso ideal obtenido en la Teoría de la Información. Se muestra la relación señal/ruido de salida del detector SNRO en función de la relación señal/ruido de canal SNRC, y para b=BT/W=6 en todos los casos salvo en modulaciones lineales y transmisión en banda base, donde BT está fijado a W ó 2W. Se aprecia cómo los sistemas que permiten intercambio de ancho de banda por SNR (FM, PPM, PCM) no llegan a alcanzar el comportamiento ideal debido al efecto umbral (representado por un punto en las respectivas curvas). Las técnicas de extensión de umbral permiten un mayor acercamiento al caso ideal, pero siempre habrá un valor umbral que impida que las curvas superen la del caso ideal y entren en la región a la izquierda de esta curva ideal. Se aprecia asimismo que de entre todas las modulaciones mostradas, la PCM es la que da mayor SNRO para valores bajos de SNRC. SNRO, dB SNRC, dB Fig. 8.4. Comparación del rendimiento de distintos métodos de modulación La Fig. 8.5 muestra el intercambio de ancho de banda por SNR de los métodos de modulación anteriores. Las curvas describen la SNRC necesaria en función del ancho de banda relativo b=BT/W para obtener una SNRO=50 dB. Los casos de SSB y DSB son puntos ya que b es fijo. En particular, la SSB es equivalente al sistema ideal con b=1. La curva PCM corresponde a la operación justo por encima del umbral, y se ofrece para varios valores de M (modulación Maria). Se aprecia cómo la modulación PCM es la más cercana al caso ideal cuando se tienen valores de SNRC bajos, dando lugar al intercambio más eficiente de ancho de banda por potencia de transmisión de entre todos los casos mostrados. 197 TEORÍA DE LA COMUNICACIÓN UPNA De ambas figuras se desprende que la modulación digital PCM hace un mejor uso de la capacidad de un canal continuo que cualquiera de las modulaciones analógicas. Esto se debe a que el ruido impide siempre la reconstrucción perfecta en una señal analógica. SNRC, dB 2 b Fig. 8.5. Intercambio de potencia por ancho de banda para SNRO=50dB 8.10. INTRODUCCIÓN A LA CRIPTOGRAFÍA Además de la transformación del mensaje original para minimizar su redundancia (codificación de fuente) y para evitar errores de transmisión (codificación de canal) es frecuente modificarlo para asegurar el secreto o la integridad de la transmisión de información. La criptología es la ciencia que trata las comunicaciones secretas, y se divide a su vez en dos disciplinas: criptografía (cifrado y descifrado de mensajes) y criptoanálisis (ruptura de métodos criptográficos). Un sistema criptográfico persigue uno o varios de los siguientes objetivos: • Transmisión secreta, de forma que no sea accesible a usuarios no autorizados • Autentificación, es decir, posibilidad de validar la fuente del mensaje • Integridad, esto es, garantía de que el mensaje no ha sido modificado Los sistemas criptográficos modernos se basan en el empleo de una clave, necesaria para los procesos de cifrado y descifrado. En función de cómo sea ésta, se distinguen: • Métodos criptográficos de clave secreta. Una clave, conocida sólo por el transmisor y el receptor, permite cifrar y descifrar los mensajes. • Métodos criptográficos de clave pública. Existe una porción de la clave pública con la que generalmente se puede cifrar, y una porción secreta necesaria para descifrar. Son los métodos en auge en redes abiertas, porque evitan la distribución de claves secretas. Otra clasificación en función de la forma de tratar el mensaje a cifrar son: • Métodos de cifrado en bloque (block ciphers): dividen en mensaje en bloques de idéntica longitud, que son cifrados independientemente. • Métodos de cifrado en flujo (stream ciphers): cifran el flujo de bits de la fuente conforme se va generando, normalmente con la suma binaria de una clave obtenida de un generador pseudoaleatorio. Se utilizan en aplicaciones de alta velocidad (ej. vídeo) o donde el retardo deber ser mínimo. 198 TEORÍA DE LA COMUNICACIÓN UPNA Una tercera clasificación de métodos criptográficos es por su grado de seguridad. Se distinguen: • Incondicionalmente seguros. La seguridad del método es absoluta. Precisan una clave tan larga como el mensaje, generada aleatoriamente y que sólo se puede usar una vez. • Computacionalmente demostrables. La clave teóricamente se puede averiguar pero la complejidad del cálculo involucrado lo hace inviable. • Con seguridad probable. Se suponen descifrables, pero nadie lo ha conseguido hasta ahora. • Con seguridad condicional. La seguridad de estos métodos depende de la escasez de medios del enemigo, y del desconocimiento del método. La mayoría de métodos clásicos son de este tipo. Los métodos clásicos más importantes son: a) Métodos de sustitución. Son los más sencillos e inseguros. Se sustituye cada letra o grupo de letras por otra letra o grupo. Se distinguen: a.1) Sustitución simple. Se sustituye una letra por otra (método de César) a.2) Sustitución poligrámica. El esquema de sustitución es más elaborado. b) Métodos de permutación o transposición. Están basados en una reordenación del mensaje, pero las letras no se sustituyen necesariamente. El mensaje se divide en bloques de idéntico tamaño, y se aplica la misma permutación a cada grupo, basada en una regla de permutación determinada por una clave secreta. • Criptografía a la luz de la Teoría de la Información Matemáticamente, un método criptográfico se puede describir como una terna <M,K,C> siendo: • M: Variable aleatoria de los posibles mensajes M={M1, M2, ....MN} • K: Variable aleatoria de posibles claves K={K1, K2, ....KP} • C: Variable aleatoria de posibles mensajes cifrados C={C1, C2, ....CQ} Se dice que el método criptográfico <M,K,C> tiene secreto perfecto si: H(M|C)=H(M) (8.35) En términos de teoría de la información, si la entropía condicional H(M|C) es igual a la entropía del mensaje, es decir, si se mantiene idéntica incertidumbre sobre el mensaje aun conociendo el mensaje cifrado. El conocimiento del mensaje cifrado no da en este caso información alguna acerca del mensaje. Expresado de forma alternativa, se tiene secreto perfecto cuando I(M;C)= H(M) - H(M|C) = 0 (8.36) es decir, si la información mutua de M y C es nula. Este parámetro es pues una medida de la seguridad del método criptográfico. Dadas las claves secretas K, se cumple: H(M|C) ≤ H(K|C)+H(M|K,C) (8.37) La entropía condicional H(M|K,C) es cero si y solo si C y K determinan unívocamente a M, una asunción razonable si el mensaje es descifrable. Luego: H(M|C) ≤ H(K|C) 199 (8.38) TEORÍA DE LA COMUNICACIÓN UPNA La dificultad para encontrar la clave a partir del mensaje cifrado nunca es menor que la dificultad de encontrar el mensaje enviado a partir del cifrado. A su vez, H(K|C) ≤ H(K), por lo que en caso de secreto perfecto H(K)≥H(M) (8.39) desigualdad conocida como limitación fundamental de Shannon para seguridad perfecta. Significa que en el caso de secreto perfecto, la incertidumbre sobre la clave nunca debe ser inferior a la incertidumbre sobre el mensaje. Por tanto, el número de claves posibles debe ser al menos igual al número de posibles mensajes, lo que en teoría implica claves de longitud no inferior a los mensajes. Esta característica hace a sistemas con seguridad perfecta (incondicionalmente seguros) poco prácticos, salvo cuando el número de posibles mensajes es pequeño o cuando la seguridad perfecta es prioritaria. Un método de este tipo es el Método de Vernam. Otro concepto importante en sistemas de cifrado es la distancia de unicidad. Se trata de la longitud mínima de mensaje cifrado que es necesario conocer para que exista un único par mensaje-clave que produzca ese mensaje cifrado. Tal distancia se maximiza cuando todos los símbolos del alfabeto con el que se genera el mensaje cifrado son equiprobables. En este sentido, la compactación de datos (codificación de fuente) es muy recomendable antes de cifrar un mensaje dado que elimina la redundancia presente en el mismo, aumentando la distancia de unicidad. También se manejan en este campo los conceptos de difusión y confusión. Un método de difusión provoca que un cambio de un solo bit en el mensaje original cambie muchos bits en el mensaje cifrado, dificultando el análisis estadístico del texto cifrado. El método de confusión se basa en transformaciones de datos (generalmente permutaciones) que complican la comparación del mensaje cifrado y el original. Un buen sistema criptográfico debe usar ambos métodos. • Criptografía de clave secreta. El método DES A modo de ejemplo se describe uno de los más conocidos y empleados métodos criptográficos de clave secreta, el DES (Data Encription Standard). Desarrollado en colaboración con IBM, el National Bureau of Standards lo convirtió en un estándar en 1977. El método es como sigue: La clave secreta K es de 64 bits (de los que se usan 56). A partir de esta clave se obtienen hasta 16 subclaves K1, K2, ..., K16, de 48 dígitos cada una, de forma determinista. Se escribe el mensaje en binario, y se divide en bloques de longitud 64. Cada bloque de 64 bits del mensaje sufre la transformación representada en la Fig. 8.6. Primero se le aplica una permutación P. Seguidamente se divide en dos subbloques de 32 bits que pasan por 16 bloques SBB (Standard Building Block) idénticos, cada uno usando una de las subclaves. Finalmente se realiza otra permutación P-1 a la salida. La Fig. 8.7 muestra la operación de cada SBB. Uno de los subbloques (el etiquetado R a la entrada) aparece sin modificar en la salida opuesta L’ (luego cada bloque de 32 bits sólo se modifica cada dos SBB consecutivos). La otra salida L’ se obtiene a partir de una serie de operaciones: primero la entrada R sufre una expansión (bloque E) pasando a 48 bits que son sumados en módulo 2 a la clave correspondiente a ese bloque. Seguidamente se aplica una transformación no lineal S que por sustituciones basadas en una tabla da lugar a un bloque de 32 bits. Tras una permutación α, se suma el bloque de entrada L, dando lugar a la salida de 32 bits R’. El algoritmo para descifrado es esencialmente idéntico. Aunque este método ha sido cuestionado, aún sigue siendo bastante utilizado. 200 TEORÍA DE LA COMUNICACIÓN 64b 32b UPNA 32b SBB 1 P 32b 32b K1 32b SBB 2 SBB 16 K2 K16 P-1 64b 32b Fig. 8.6. Método DES L’ L R E + S α + R’ SBBi Ki Fig. 8.7. Bloque SBB • Criptografía de clave pública. El método RSA En redes de comunicaciones con muchos usuarios la distribución de claves privadas es un serio problema. En estas redes son más convenientes los métodos criptográficos de “clave pública”, en los que parte de la clave es pública y otra parte privada. En ellos, cualquiera puede enviar un mensaje cifrado a otro usuario conociendo la clave pública de este último. Tal mensaje sólo puede ser descifrado por el propietario de esa clave pública, ya que es el único que posee la clave privada necesaria para el descifrado. Se ilustrarán estos conceptos con el sistema de clave pública más popular, el RSA (RivestShamir-Adleman). Se trata de un cifrado de bloque basado en la teoría de números clásica, en concreto en que encontrar un número primo “grande” (ej. 100 dígitos) es computacionalmente factible, pero factorizar un número grande en producto de dos primos no lo es. El algoritmo es como sigue: 1) Se eligen dos números primos grandes p y q aleatoriamente, y se multiplican dando lugar al producto n=pq. 2) Se halla ϕ(n) = (p-1)(q-1) y se toma un número d que sea primo con ϕ(n) 2) Se calcula el número e tal que ed=1 mod ϕ(n) 3) La clave pública la constituye el par (n, e), mientras que la clave privada será el par (p,q). El mensaje a transmitir se divide en bloques que se representan con un número M tal que 1≤M≤n. Si alguien quiere enviar un mensaje a este usuario debe conocer su clave pública (n, e) ; con ella calcula la exponencial discreta:C=Me mod n (éste será el algoritmo de cifrado) y envía el bloque cifrado C. Conociendo C y e, o incluso n no es computacionalmente factible calcular M, por lo que el mensaje no puede ser descifrados por otros usuarios que conozcan la clave 201 TEORÍA DE LA COMUNICACIÓN UPNA pública. Sin embargo, el destinatario conoce d, por lo que puede recuperar el mensaje calculando D=Cd mod n (el algoritmo de descrifrado es pues idéntico al de cifrado). Se tiene: D=Cd mod n =Med mod n= M1 mod n=M Quien conoce e podría llegar a calcular d conociendo ϕ(n), pero para ello debería de conocer la factorización n=pq, algo computacionalmente inviable. • Firmas digitales La firma digital es un procedimiento de autentificación de usuarios que pretende garantizar la procedencia de un mensaje. Es un texto cifrado que se incluye en el mensaje transmitido (ej. en el mensaje de correo electrónico) y que solo puede haber sido emitido por el poseedor de una cierta clave secreta. El método RSA, además de para cifrar mensajes, también permite implementar mecanismos de firma digital. El usuario que posee la clave privada conoce d, y cuando genera un bloque de mensaje M (convertido a número) puede generar una firma (número) S= Md mod n, que transmite junto con el mensaje. Es inviable obtener S si no se conoce d, por lo que sólo el poseedor de la clave privada puede generarlo, logrando así la autentificación. El receptor, que conoce la clave pública y por tanto e, puede obtener Se mod n=(Md)e mod n=M mod n=M. Luego el receptor puede asegurar la autenticidad del transmisor verificando que la firma digital descifrada coincide con el mensaje descrifrado. La firma digital se usa no sólo para la autentificación del emisor, sino también para garantizar la integridad del mensaje transmitido. Para conseguirlo el emisor antes de transmitir cifra con la clave pública del receptor la firma digital más el mensaje, protegiendo así el mensaje. 8.11. BIBLIOGRAFÍA [HAYK 00] Haykin,S., Communication Systems, 4ª Ed. Wiley, 2000. Capítulo 9 [CARL 02] Carlson, A.B., Crilly, P.B. and Rutledge, J.C., Communication Systems: An Introduction to Signals and Noise in Electrical Communication, 4ª Ed., Mc. Graw-Hill, 2002. Capítulo 16 [LATH 95] Lathi, B.P., Cmodern Digital and Analog Communication Systems, 2ª Ed., Oxford Univ. Press, 1995. Capítulo 8 202 TEORÍA DE LA COMUNICACIÓN UPNA 8.12. PROBLEMAS 1. ¿Cuál será el máximo número de palabras de un código instantáneo binario, de longitud no mayor que 6? 2. Aplicar el algoritmo de Huffman para obtener un código instantáneo binario eficiente, suponiendo que los símbolos generados por la fuente son S={s1, s2, ..., s6} y las probabilidades correspondientes son 0.4, 0.2, 0.15, 0.1, 0.06 y 0.04. Calcúlese asimismo la entropía de la fuente. 3. Se comprueba experimentalmente que el grado de compresión obtenido en un mensaje de texto es mucho mayor que el obtenido al comprimir el mismo mensaje en audio. ¿A qué puede ser debido?. 4. Se envía un mensaje de longitud n a través de un canal binario simétrico. Hallar la media de la variable aleatoria “número de series de k errores seguidos dentro del mensaje de longitud n”. 5. Un canal binario simétrico puede transmitir 900 dígitos por segundo, pero sólo 600 con fidelidad. ¿Cuál es el valor de la probabilidad de error p? 6. Un canal binario simétrico con p = 0.05 puede transmitir 800 dígitos por segundo. ¿Cuántos puede transmitir con fidelidad? 7. Considérese la conexión en cascada de dos canales binarios simétricos, de forma que la salida del primer canal es la entrada del siguiente. Determinar la capacidad de canal correspondiente a los dos canales en cascada. 8. Un canal de voz en telefonía tiene un ancho de banda de 3.4 kHz. a) Calcule la capacidad de transmisión de información de ese canal para una SNR=30 dB b) Calcule la mínima SNR necesaria para soportar una transferencia de información a través de ese canal de 9600 bps. 203 TEORÍA DE LA COMUNICACIÓN UPNA 204