You are on page 1of 10

3.2.1 Grupos de cdigos. El problema de codificacin es representar mensajes distintos mediante diferentes secuencias de letras de un alfabeto dado.

Por ejemplo, mensajes como " emergencia " , " la ayuda est en camino " ," est todo claro , etc., pueden ser representado por secuencias de puntos y rayas .

Nosotros supondremos que el alfabeto es binario {0,1} . Una secuencia de letras de un alfabeto se conoce como una palabra. Un cdigo es una coleccin de palabras que son utilizadas para representar distintos mensajes. Una palabra en un cdigo tambin es denominada como una palabra cdigo. Un cdigo de bloque es un cdigo consistente de palabras que son de la misma longitud. Uno de los criterios al escoger u bloque de cdigo para representar un conjunto de mensajes es su capacidad para corregir errores. Supongamos que una palabra cdigo es transmitida desde su origen hacia su destino.

En el curso de la transmisin, interferencias como ruido pueden ocasionar que algunos de los nmeros uno en la palabra cdigo sean recibidos como nmeros ceros y algunos de los cero como unos. En consecuencia, la palabra recibida podra no continuar siendo la palabra transmitida y es nuestro deseo recuperar la palabra transmitida lo mejor posible y esto es lo que entenderemos por correccin de errores . Denotemos por A al conjunto de todas las sucesiones binarias de longitud n . Sea una operacin binaria sobre A tal que para x y y en A, x y es una sucesin de longitud n que tiene nmeros uno en las posiciones donde x y y difieren y nmeros cero en las posiciones donde x y y son iguales.

Por ejemplo, sea x = 00101 y y = 10110, entonces x * y = 10011. Una palabra con nicamente ceros es la identidad, y que cualquier palabra es su propio inverso en (A, ).

Sea x una palabra en A . Definimos el peso de x , denotado por w(x) , como la cantidad de nmeros uno en x . As, el pero de 1110000 es igual a 3, al igual que el de 1001100 . Para x y en A , definimos la distancia entre x y , w(x y) . , denotada por , como el peso de x y

16

Por ejemplo la distancia entre 1110000 y 1001100 es 4, y la distancia entre 1110000 y 0001111 es de 7. Observamos que en la distancia entre las dos palabras es exactamente el nmero de posiciones en las cuales stas difieren . Ahora sea G un cdigo de bloque. Definimos la distancia de G como la distancia mnima entre cualquier par de palabras de cdigo distintas en G. La distancia de un cdigo de bloque est relacionada con su capacidad de corregir errores. Supongamos que correspondiendo a la transmisin de una palabra cdigo en G , se ha recibido la palabra . Nuestro problema es determinar a partir de la palabra cdigo que fue

transmitida. Pero para motivar nuestro anlisis supongamos el caso sencillo en el que resulta ser una de las palabras cdigo en G. En este caso, probablemente nos inclinaremos por la conclusin obvia de que la palabra transmitida efectivamente fue , pero an as est conclusin requiere de una justificacin. Supongamos que en el transcurso de la transmisin pueden ocurrir errores en cualquiera de las posiciones , cualquiera de las palabras cdigo en G podra haber sido la palabra transmitida . Pero cuando supusimos que la palabra transmitida fue , estbamos suponiendo de modo tcito que cuando la palabra fue transmitida era ms probable que no ocurriera error alguno a que hubiesen ocurrido algunos errores . Ahora estableceremos de manera general de determinar la palabra transmitida correspondiente a la palabra recibida . Denotemos por condicional para palabra transmitida ya que Si a las palabras cdigo en G. Calcularemos la probabilidad , donde es la probabilidad de que fue la palabra recibida. fuese la

es la mayor de todas las probabilidades condicionales calculadas, concluimos

que fue la palabra transmitida. Este criterio para determinar la palabra transmitida se conoce como criterio de decodificacin de la mxima probabilidad. El clculo de la probabilidad condicional puede ser realmente complicado ya que la probabilidad depende de muchos factores en el sistema de comunicacin. Pero analizaremos otro criterio que puede utilizarse para determinar la palabra transmitida. Calculamos para toda , y concluimos que fue la palabra transmitida

si es la menor distancia entre todas las distancias calculadas. Este se conoce como criterio de decodificacin de la mnima distancia.

17

Por otra parte si suponemos que la presencia de errores en las posiciones son independientes, y que la probabilidad de que haya un error es donde es la distancia entre xi y mayor ser . . Para < , entonces = ,

, entre menor sea

En consecuencia, el criterio de decodificacin de mxima probabilidad ( en este caso, la conclusin de que la palabra transmitida fue cuando la palabra recibida es una palabra cdigo est justificada ) . Ahora no debemos dejar pasar que un cdigo distancia puede corregir o menos errores de distancia cuando se sigue el criterio de decodificacin de la mnima distancia. Supongamos que una palabra cdigo x fue transmitida y que la palabra fue recibida. Si no se han cometido ms de errores en el transcurso de la transmisin, tenemos

que * Sea otra palabra cdigo. Puesto que * y * Tenemos por lo tanto que *

Entonces por el criterio de decodificacin de la mnima distancia efectivamente se seleccionar a x como la palabra transmitida. Ya que los cdigos de grupo son una clase de cdigos de bloque demostraremos que : Un subconjunto G de A es llamado un cdigo de grupo si ( G , )es un subgrupo de ( A , ) , donde A es el conjunto de sucesiones binarias de longitud .

Mostraremos que la distancia G es igual al peso mnimo de las palabras diferentes del nulo en G . A s este resultado hace ms sencillo calcular la distancia de un cdigo de grupo, 18

puesto que ya no es necesario calcular exhaustivamente la distancia para cada par de palabras distintas de G.

Supongamos que

es una palabra diferente del nulo en G. Debido a que

y ya que 0 est en g , tenemos que

Por otro lado, para cualesquiera

en G, ya que

y ya que

est tambin en g , tenemos que

A partir de (1*) obtenemos

Y a partir de (2*), obtenemos

19

Al combinar (3*) y (4*) llegamos a que

Para cdigos de grupo , existe una manera eficiente para determinar la palabra transmitida correspondiente a una palabra recibida de acuerdo con el criterio de decodificacin de la mnima distancia . EJEMPLO 1 Consideremos que G = {0000, 0011, 1101, 1110}. Podemos verificar sencillamente que ( G , ) es un grupo . Las filas de la figura 1 son los distintos conjuntos cociente en G .

Entonces de acuerdo al criterio de decodificacin de la mnima distancia , la palabra recibida 1011 ser decodificada como 0011 , la palabra recibida ser 1010 ser decodificada como 1110 ,y la palabra recibida 1111 ser decodificada como 1101 o 1110 , segn si 0010 o 0001 fuese escogida como el lder del conjunto cociente que contiene a la palabra 1111.

3.2.2 Cosets lderes.

En matemticas, si G es un grupo, H es un subgrupo de G, y G es un elemento de G, entonces gH = { gh : h an element of H } is a left coset of H in G , and gH = (gh: h un elemento de H) es una clase lateral izquierda de H en G, y Hg = { hg : h an element of H } is a right coset of H in G . Hg = (hg: h un elemento de H) es una clase lateral derecha de H en G. 20

Solamente cuan do H es normal voluntad los cosets derechos e izquierdos de H coincida, que es una definicin de la normalidad de un subgrupo. A coset es un coset izquierdo o derecho de algunos subgrupo adentro G. Desde entonces Hectogramo = g(g-1Hectogramo), los cosets derechos Hectogramo (de H) y los cosets izquierdos g(g-1Hectogramo) (de conjugacin subgrupo g-1Hectogramo) son iguales. Por lo tanto no es significativo hablar de un coset como ido o correcto a menos que un primer especifique a subgrupo subyacente. Para grupos abelian o los grupos escritos aditivo, la notacin utilizaron cambios a g+H y H+g respectivamente

3.2.3 Matrices de Hamming. La matriz de control de Hq(r) es una matriz que tiene r filas y n = columnas, y el cdigo Hq(r) es un [n,k,3]cdigo donde k = n r. Esta matriz se llama matriz de Hamming y no es nica. Consideremos los elementos de Hq(r) como nmeros en el sistema de numeracin de base q. Elegimos los que son distintos de cero y que tienen dgitos ms significativo igual a 1. Entonces las columnas de Hq(r) son estos nmeros escritos en orden creciente.

H2(3)

r = 3. Las columnas son nmeros de 3 dgitos binarios. n= d=3 El tomar el dgito ms significativo igual a 1 implica que cogemos un nico punto en cada recta.

Las columnas estn ordenadas en orden creciente. n=

21

Si pusisemos la columna sera mltiplo de y as d = 2 (coge ramos 2 vectores en la misma recta).

r = 3 = n k k = 28 m = qk = qn-r Estos fueron los primeros cdigos correctores de errores. En el caso binario la matriz de control est formada por todos los nmeros binarios menos el cero.

Proposicin:

Los

cdigos

de

Hamming

son

cdigos

perfectos.

Demostracin: m = qn-r qn-r (1 + n (q 1)) = qn Vamos a ver la descodificacin de los cdigos de Hamming. Proposicin: Si una palabra x H2(r) sufre un nico error resultando la palabra y entonces el sndrome de y, , es la representacin binaria de la posicin del error de la palabra recibida. Demostracin: Supongamos que el error se ha cometido en la posicin i, es decir, y = x + e i, con la palabra de error. Entonces: h(y) = h(x+ei) = h(x) + h(ei) = h(ei) = ei= columna i-sima de H2(r) La columna i-sima es la representacin binaria del nmero i, i es la posicin del error. Conocido u se corrige el error calculando x = y ei, cambiando el i-simo bit de y. [7,4,3]-cdigo Supongamos que se recibe la palabra y = 1101110

22

100 = 4 El error se ha cometido en la posicin 4. La palabra de error es e4 = (0001000). La palabra emitida es

x = y e4 = 1100110 A este mtodo de descodificacin se le llama descodificacin de Hamming. Proposicin: Supongamos que una palabra x Hq(r) sufre un nico error, resultando la palabra recibida y. Sea h(y) Kr el sndr ome de la palabra recibida y a K el smbolo ms significativo de h(y). Si la columna de Hq(r) que contiene a a1h(y) es la columna i-sima entonces la palabra de error es y se verifica que x = y - aei. Demostracin: Supongamos que el error se ha cometido en la posicin i-sima de modo que y = x + aei, con . Entonces: h(y) = h(aei) = = ai-sima columna de Hq(r). Ejemplo: H3(3) y supongamos que se recibe la palabra y = 1101112211201. Descodificar esta palabra. h(y) no es una columna de H3(3). (201) = 2 (102) (102) es la 7 columna de H3(3), luego la palabra de error es ae7 = 2(0000001000000). La palabra emitida es x = y 2e7 = 1101110211201

3.2.4 Campos finitos. En lgebra abstracta, un cuerpo finito, campo finito o campo de Galois (llamado as por variste Galois) es un cuerpo que contiene un nmero finito de elementos. Los cuerpos finitos son importantes en teora de nmeros, geometra algebraica, teora de Galois, y criptografa. Los cuerpos finitos son totalmente conocidos, y sern descritos ms abajo.

Dado que todo cuerpo de caracterstica 0 contiene a los racionales y es por lo tanto infinito, todos los campos finitos tienen caracterstica prima, y por lo tanto, su tamao (o cardinalidad) es de la forma pn, para p primo y n > 0 entero (pues el campo es un espacio vectorial sobre el subcuerpo de cardinalidad p generado por el elemento 1). No es en general cierto, sin embargo, que todo cuerpo de caracterstica prima sea finito.

23

Para un primo p, los enteros mdulo p forman un cuerpo de p elementos, denotado por Z/pZ (pues su grupo aditivo es isomorfo al grupo cclico de p elementos), Fp, o GF(p); en algunos casos se usa Zp, aunque esta notacin es evitada por teoristas de los nmeros, pues puede crear confusin con el anillo de los nmeros pdicos. Todo cuerpo con p elementos es isomorfo a ste. Si q = pn es una potencia de un primo, existe (salvo isomorfismo) exactamente un campo con q elementos, denotado por Fq o GF(q). Se puede construir como sigue: encuntrese un polinomio irreducible f(X) de grado n con coeficientes en Fp, y defnase Fq = Fp[X] / , donde Fp[X] denota el anillo de todos los polinomios con coeficientes en Fp, denota el ideal generado por f(X), y la barra diagonal indica el anillo cociente (definido de forma similar al grupo cociente). El polinomio f(X) se puede hallar factorizando Xq-X sobre Fp. El campo Fq contiene a (una copia de) Fp como subcampo. No hay otros campos finitos.

3.2.5 Anillos de polinomios. Sea A un anillo y S cualquier conjunto. El conjunto A[S] de todos los objetos

(1)

en donde , y cada n-tupla de nmeros naturales es diferente para diferente valor de i, se dice anillo de polinomios con indeterminadas en S sobre A. Hechos de inters sobre anillos de polinomi os tienen que ver con las propiedades del mismo a partir del anillo en el que tienen sus coeficientes. Por ejemplo, cuando A es un dominio ntegro, A[S] tambin lo es, y las unidades de A[S] son las mismas que las de A. Por el contrario A[S] nunca ser un cuerpo, no importando que A lo sea o no, pues aunque las unidades de A[S] sean las mismas que las de A, A es tan slo un subanillo de A[S]. Sin embargo, el anillo A[S] es un dominio integro si A lo es, luego, dado el caso, se puede construir el cuerpo de cocientes de A[S] (i.e. el cuerpo de fracciones de polinomios), que se denota comnmente por A(S). Los coeficientes de los polinomios de un anillo A[S] pueden tomarse no solo como los elementos de A. En la prctica podemos hacer agrupaciones del tipo

24

y stas tambin deben hacerse en un anillo de polinomios A[S]. Para ello se separan los elementos de S en dos conjuntos disjuntos, digamos R y T, luego el anillo de polinomios A[R][T] tiene coeficientes en el anillo de polinomios A[R] e indeterminadas en . Si A es un anillo y , claramente A[R] es un subanillo de A[S].

Sea A un anillo unitario. Todo polinomio no nulo de A[x] cuyo coeficiente director sea una unidad puede dividir eucldeamente a cualquier otro polinomio de A[x] y el grado del resto es estrictamente menor que el grado de del divisor. Es decir, si D y d son polinomios de A[x] no nulos, con el coefi ciente director de d una unidad de A, entonces existen polinomios c y r de A[x] tales que

con

As, para que la divisin de polinomios sea siempre posible en un anillo de polinomios A[x], A debe de ser un cuerpo (i.e. todo elemento de A debe ser una unidad), y si as sucede A[x] ser un dominio eucldeo. Un hecho muy importante es que un anillo de polinomios A[x] es un dominio de ideales principales (DIP) si y slo si A es un cuerpo. Puesto que todos los dominios eucldeos son DIPs, tenemos que A[S] no es un dominio eucldeo si S contiene ms de un elemento, pues ,y nunca es un cuerpo y por tanto tampoco un DIP.

3.2.6 Polinomios irreducibles En Teora de Anillos, un polinomio no constante (y por lo tanto no nulo) p con coeficientes en un dominio ntegro R (es decir, ) es irreducible si no puede factorizarse como producto de polinomios de manera que todos ellos tengan grados menor que deg(p). Es decir, si entonces ha de ser o (es decir, alguno de ellos ha de ser un polinomio constante). Esto es un caso particular de elemento irreducible en un dominio ntegro. El dominio ntegro R puede, entre otros, ser el conjunto de los nmeros reales (que es dominio ntegro por ser cuerpo), el conjunto de los nmeros complejos (tambin cuerpo), el conjunto de los nmeros racionales (cuerpo tambin) o el conjunto de los nmeros enteros (que no es cuerpo pero s dominio ntegro) .

25

Un polinomio irreducible es polinomio primitivo si y solo si p es primo y x es un elemento de orden Para probar si un polinomio es irreducible se pueden aplicar varios criterios, entre los que se encuentran el criterio de c o el criterio de reduccin.

3.2.7 Cuadrados latinos Un cuadrado latino es una matriz de nn elementos, en la que cada casilla est ocupada por uno de los n smbolos de tal modo que cada uno de ellos aparece exactamente una vez en cada columna y en cada fila. Las siguientes matrices son cuadrados latinos:

Los cuadrados latinos se dan como una Tabla de multiplicar (Tabla Cayley) de quasigrupos. Estos tienen su aplicacin en el diseo de experimentos. El nombre de Cuadrados Latinos se origina con Leonhard Euler quin utiliz caracteres Latinos como smbolos. Un cuadrado latino se dice que est reducido (o normalizado o de forma estandarizada) si la primera fila y la primera columna estn en orden natural. Por ejemplo, el primer cuadrado est reducido, porque la primera fila y la primera columna son 1, 2, 3. Es posible hacer un cuadrado latino permutando (reordenando) las filas y las columnas. Muchas operaciones sobre un Cuadrado latino produce otro Cuadrado latino (por ejemplo, alternar filas). Si permutamos las filas, permutamos las columnas, y permutamos los smbolos de un Cuadrado latino obtenemos un nuevo Cuadrado latino que decimo s que es isotpico del primero. El isotopismo es una relacin de equivalencia, en base a esto se dice que todos los 26

Cuadrados latinos estn divididos en subgrupos, llamados clases isotpicas, segn esto dos Cuadrados de la misma clase se dice que son isotpicos, y dos de clases diferentes son no isotpicos. Otro tipo de operacin es simple de explicar usando la representacin de estos por arreglos ortogonales. Si reorganizamos

consciente y sistemticamente los tres elementos de cada tripleta (f, c, s) por (c, f, s) lo cual corresponde a una transposicin del cuadrado (reflejado en la diagonal principal), o podemos remplazar cada tripleta (f, c, s) por (c, s, f), lo que es una operacin ms complicada. Todas juntas nos dan 6 posibilidades, incluida no hacer nada, dndonos 6 Cuadrados Latinos llamados conjugados del cuadrado original. Finalmente, podemos combinar estas dos operaciones equivalentes: Dos Cuadrados Latinos son paratpicos si uno de ellos es conjugado del otro. Esto es nuevamente una relacin de equivalencia, con la clase de equivalencia principal llamada Clase Principal, especies o clase paratpica. Cada clase contiene 6 clases isotpicas.

3.2.8 Criptografa. La criptografa (del griego krypto, oculto, y graphos, escribir, literalmente escritura oculta) es el arte o ciencia de cifrar y descifrar informacin mediante tcnicas espe ciales y se emplea frecuentemente para permitir un intercambio de mensajes que slo puedan ser ledos por personas a las que van dirigidos y que poseen los medios para descifrarlos. Con ms precisin, cuando se habla de esta rea de conocimiento como ciencia, se debera hablar de criptologa, que a su vez engloba tanto las tcnicas de cifrado, es decir, la criptografa propiamente dicha, como sus tcnicas complementarias, entre las cuales se incluye el criptoanlisis, que estudia mtodos empleados para romper textos cifrados con objeto de recuperar la informacin original en ausencia de las claves. En la jerga de la criptografa, la informacin original que debe protegerse se denomina texto en claro o texto plano. El cifrado es el proceso de convertir el texto plano en un galimatas ilegible, denominado texto cifrado o criptograma. Por lo general, la aplicacin concreta del algoritmo de cifrado (tambin llamado cifra) se basa en la existencia de una clave: informacin secreta que adapta el algoritmo de cifrado para cada uso distinto. Cifra es una antigua palabra arbiga para designar el nmero cero; en la Antigedad, cuando Europa empezaba a cambiar del sistema de numeracin romano al arbigo, se desconoca el cero, por lo que este resultaba misterioso, de ah probablemente que cifrado signifique misterioso. Las dos tcnicas ms sencillas de cifrado, en la criptografa c lsica, son la sustitucin (que supone el cambio de significado de los elementos bsicos del mensaje -las letras, los dgitos

27

o los smbolos-) y la trasposicin (que supone una reordenacin de los mismos); la gran mayora de las cifras clsicas son combinaciones de estas dos operaciones bsicas. El descifrado es el proceso inverso que recupera el texto plano a partir del criptograma y la clave. El protocolo criptogrfico especifica los detalles de cmo se utilizan los algoritmos y las claves (y otras operaciones primitivas) para conseguir el efecto deseado. El conjunto de protocolos, algoritmos de cifrado, procesos de gestin de claves y actuaciones de los usuarios, es lo que constituyen en conjunto un criptosistema, que es con lo que el usuario final trabaja e interacta. Existen dos grandes grupos de cifras: los algoritmos que usan una nica clave tanto en el proceso de cifrado

como en el de descifrado, y los que emplean una clave para cifrar mensajes y una clave distinta para descifrarlos. Los primeros se denominan cifras simtricas, de clave simtrica o de clave privada, y son la base de los algoritmos de cifrado clsico. Los segundos se denominan cifras asimtricas, de clave asimtrica o de clave pblica y forman el ncleo de las tcnicas de cifrado modernas. En el lenguaje cotidiano, la palabra cdigo se usa de forma indistinta con cifra. En la jerga de l a criptografa, sin embargo, el trmino tiene un uso tcnico especializado: los cdigos son un mtodo de criptografa clsica que consiste en sustituir unidades textuales ms o menos largas o complejas, habitualmente palabras o frases, para ocultar el mensaje; por ejemplo, "cielo azul" podra significar atacar al amanecer. Por el contrario, las cifras clsicas normalmente sustituyen o reordenan los elementos bsicos del mensaje -letras, dgitos o smbolos-; en el ejemplo anterior, rcnm arcteeaal aaa sera un criptograma obtenido por transposicin. Cuando se usa una tcnica de cdigos, la informacin secreta suele recopilarse en un libro de cdigos. Con frecuencia los procesos de cifrado y descifrado se encuentran en la literatura como encriptado y desencriptado, aunque ambos son neologismos errneos anglicismos de los trminos ingleses encrypt y decrypt todava sin reconocimiento acadmico. Hay quien hace distincin entre cifrado/descifrado y encriptado/desencriptado segn estn hablando de criptografa simtrica o asimtrica, pero la realidad es que la mayora de los expertos hispanohablantes prefieren evitar ambos neologismos hasta el punto de que el uso de los mismos llega incluso a discernir a los aficionados y novatos en la materia de aquellos que han adquirido ms experiencia y profundidad en la misma. Ideolgicamente cifrar equivale a escribir y descifrar a leer lo escrito.