codigos

Embed Size (px)

DESCRIPTION

codigos detectores de errores

Citation preview

  • *Depto. deMatemticas, UAM-I. [email protected]

    Acerca de

    Horacio Tapia-Recillas*

    y C d i g o s Criptografa

  • 62 ContactoS 90, 6168 (2013)

    Recibido: 13 de mayo de 2013

    Aceptado: 14 de junio de 2013

    Resumen

    En esta nota se presentan algunas ideas sobre temasenmarcados en dos lneas de investigacion que se cul-tivan en el area de Algebra del Departamento de Ma-tematicas de la Division de Ciencias Basicas e In-geniera de la Universidad Autonoma Metropolita-na, Unidad Iztapalapa. Nos referimos a la Teora Al-gebraica de Codigos Lineales Detectores-Correctoresde Errores, y a la Criptografa.

    Introducion

    Para motivar las ideas que se desarrollaran a lo largode esta nota, consideremos la siguiente situacion.

    Supongase que se tienen una estacion (fuente) emi-sora de informacion (datos, mensaje, etc., en forma-to digital), E, y una fuente receptora de esa informa-cion, R. Ejemplos de la fuente emisora podran ser:una estacion de radio, television, satelte artificial al-rededor de la tierra, nave espacial navegando alre-dedor de un cuerpo celeste, tomografo, terminal decomputadora, telefono fjo, dispositivos de comuni-cacion moviles (telefono, tableta, etc.), entre otros.Como estacion receptora, considerando los casos an-teriores, podra ser: el aparato receptor de radio, te-levision, estacion de recepccion de datos enviadospor el satelite o la nave espacial, monitor o la impre-sion del tomografo, terminal de computadora (ser-vidor) o dispositivo donde se desea que los datos sereciban; respectivamente. La informacion transmiti-da se hace por los canales de comunicacion conven-cionales, los cuales no son los mismos en todos loscasos.

    Hay ocasiones, que por diversas circunstancias (cam-bio de voltaje, situaciones geograficas y atmosferi-cas, factor humano, etc.), la informacion enviadapor la fuente emisora, no es exactamente la que re-cibe la estacion receptora. En algunos casos es re-lativamente facil pedirle al emisor enviarla nueva-mente, como en telefonia, correo electronico, y enocasiones en tomografa. En otros casos es difcilque la fuente emisora re-envie la informacion, co-mo son los satelites o naves espaciales. En situacio-nes donde la informacion recibida por la estacion re-ceptora no es la misma que la enviada por la fuen-te emisora, obviamente han ocurrido errores en latransmision.

    Aunado al problema de errores adquiridos duran-te la transmision de informacion entre dos estacio-

    nes, esta este otro: alguna entidad no autorizada(enemigo, intruso) deseando conocer (adquirir) di-cha informacion. Por ejemplo en llamadas telefoni-cas, correo electronico, obtenerla de algun disposi-tivo de almacenamiento, etc. Esta situacion obvia-mente esta vinculada a la seguridad informatica.

    El siguiente diagrama muestra la situacion descritaanteriormente:

    Figura 1: Diagrama de comunicacion

    y conlleva a las siguientes preguntas:

    1. como detectar y corregir los errores adquiridosen la transmision de informacion independiente-mente del medio de comunicacion?

    2. como saber si la informacion recibida provienede la entidad autorizada, no ha sido alterada ofuentes ajenas no conocen su contenido?

    Una manera de abordar estas problematicas es: enel primer caso por medio de la Teora de Codi-gos Detectores-Correctores de Errores, parti-cularmente los Codigos lineales (de bloque). En re-lacion a la otra pregunta, la Criptografa, tam-bien conocida como Cifrado de datos ayuda a so-lucionar el problema.

    Cabe senalar que hoy en da los codigos se encuen-tran en un buen numero de actividades cotidianas,como es el caso de codigos de barras que apare-cen en practicamente cualquier producto, el codi-go ISBN (International Standard Book Number) quetienen los libros, el RFC y CURP, boletos de diver-sos transportes, codigos QR, codigos de autentica-cion o contrasenas, entre otros.

  • Acerca de codigos y criptografa. H. Tapia-Recillas. 63

    En las siguientes paginas se abordaran algunos as-pectos, sin pretender dar una descripcion detalla-da, sobre los codigos lineales detectores-correctoresde errores y los sistemas de cifrado, haciendo enfa-sis en la relacion que existe entre estas dos lneasde investigacion y otras areas de la Matematica co-mo son el Algebra conmutativa, Teora de nume-ros, Gemetra algebraica, Combinatoria, las cualesse cultivan en nuestro Departamenteo. Se incluyeuna bibliografa basica, principalmente libros, don-de ademas se encuentra una gama de referenciasespecializadas.

    Teora de codigos

    La Teora de codigos detectores-correctores de errorno es nueva. C.E. Shannon (1948) y R. Hamming(1950) fueron precursores de los codigos para detec-tar y corregir errores en la transmision de informa-cion. Los codigos que Hamming introdujo son re-lativamente sencillos: detectan tres errores y corri-gen uno, y actualmente llevan su nombre. Sin embar-go han sido pilares para construir codigos mas uti-les que son usados en diversas circunstancias y pro-blematicas. En las siguientes lneas se introducirandiversas ideas relacionadas con este tipo de codi-gos, y como se dijo antes, haciendo enfasis en va-rios aspectos ligados a lneas de investigacion quese cultivan en el Departamento de Matematicas dela UAM-I, en especial en el area de Algebra. De-talles sobre codigos lineales pueden consultarse enen [9], [6].

    Para motivar algunos conceptos consideremos el si-guiente ejemplo. Supongamos que una emisora de in-formacion desea transmitir, a una receptora, un SIal cual le asigna, tomando el alfabeto de los nume-ros binarios, F2 = {0, 1}, digamos, (0101). Esta in-formacion se envia y la fuente receptora recibe, di-gamos, (1101). La pregunta es cual es la informa-cion originalmente enviada? Este ejemplo se pue-de generalizar: una estacion emisora envia un men-saje m y la receptora recibe m. La pregunta es:que tan diferente es m de la informacion m ori-ginalmente enviada? En otros terminos, m = m+e,donde e es el error adquirido durante la transmi-sion. Este error es debido a multiples razones quevan desde el factor humano hasta cambios no con-trolables en los medios de comunicacion (variacionde voltaje, mal funcionamiento en los aparatos usa-dos, cambios atmosfericos, etc.). Por consiguiente lapregunta es: como saber que tan lejos esta la in-formacion recibida de la enviada?, equivalentemen-

    te, cual es el error, e = m m, adquirido durantela transmision?

    Los precursores de los codigos lineales detectores-correctores de error introdujeron una idea muy sen-cilla pero bastante util para detectar los errores ad-quirido durante la transmision: antes de enviar lainformacion se codifica agregando otros bits (ele-mentos del alfabeto binario) que esten en funcionde los bits del mensaje original. Por ejemplo, en elcaso anterior se tiene la informacion original c =(c1c2c3c4) = (0101), y se decide agregar, por ejem-plo, tres bits, c5, c6, c7, determinados de la siguien-te manera:

    c5 = c1 + c2 + c4, c6 = c2 + c3 + c4, c7 = c1 + c4.

    As, se tiene el nuevo mensaje

    c = (c1c2c3c4c5c6c7) = (0101101),

    que consiste de la informacion original (c1c2c3c4) ylos bits (c5c6c7).

    Los bits que se anexan a la informacion originalson llamados de redundancia ya que estan en fun-cion de los bits del mensaje original. Esta nue-va informacion se conoce como mensaje codifica-do o palabra codificada, y es la que envia la fuenteemisora.

    Observese que lo anterior conduce al siguiente siste-ma de ecuaciones lineales (tomando en cuenta queen la aritmetica binaria, 1 = 1):

    c1 + c2 + c4 + c5 = 0,

    c2 + c3 + c4 + c6 = 0,

    c1 + c4 + c7 = 0,

    el cual se puede expresar como

    H ct = 0,

    donde H =

    1 1 0 1 1 0 00 1 1 1 0 1 01 0 0 1 0 0 1

    y c = (c1, c2, c3, c4, c5, c6, c7). Por consiguiente, unelemento x = (x1, x2, x3, x4, x5, x6, x7) con entradasbinarias, es informacion codificada si y solo si es so-lucion de este sistema de ecuaciones lineales.

    Recordemos que el conjunto de soluciones de un sis-tema lineal homogeneo es un subespacio vectorial (li-neal), en este caso sobre el campo de los numeros bi-narios F2 = {0, 1}. Por consiguiente, las palabras co-dificadas son precisamente los elementos de este su-bespacio vectorial.

  • 64 ContactoS 90, 6168 (2013)

    El ejemplo anterior motiva a dar una formulaciongeneral. Supongase que se desea enviar el mensaje(binario) y = (y1, ..., yk) el cual se codifica agregandon k > 0 bits de redundancia, xk+1, . . . , xn+k, quedependen en forma lineal de los bits de informacion:

    xk+i = a0,k+iy0 + + ak,k+iyk, aj,k+i F2,

    i = 1, . . . , n k, j = 1, . . . k.

    Estas relaciones dan origen a un sistema homogeneode ecuaciones lineales de la forma:

    H xt = 0,

    donde H es la matriz del sistema, llamada de pa-ridad. Por lo tanto, considerando que los prime-ros k bits corresponden a la informacion original,x1 = y1, . . . , xk = yk, el mensaje codificado es:x = (x1, . . . , xk, xk+1, . . . , xn). Por consiguiente, unelemento x = (x1, . . . , xn) con entradas binarias esuna palabra codificada s y solo si es solucion de es-te sistema lineal homogeneo.

    Debido a que los bits de redundancia se expresan co-mo combinacion lineal de los bits de informacion ylas palabras codificadas son elementos de un espa-cio vectorial, a este se le llama un codigo lineal conalfabeto el campo de los numeros binarios, o sim-plemente un codigo lineal binario. En general, uncodigo lineal (binario), C, con parametros [n, k], esun subespacio lineal de dimension k del espacio li-neal Fn2 . El parametro n es la longitud del codigo,por esta razon a estos codigos se les denomina debloques. Ademas de estos dos parametros, la longi-tud (n) y dimension (k), hay otro que es la distan-cia mnima del codigo la cual esta definida en termi-nos del peso de Hamming. Este parametro es de losmas importantes, aunque el mas difcil de determi-nar, y permite decir cuantos errores detecta el codi-go lineal. En terminos generales, un codigo lineal condistancia mnima d, corrige a los mas [d1

    2] erro-

    res (los codigos de Hamming tienen distancia mni-ma igual a 3). Otra manera de definir un codigo li-neal (binario) es por medio de su matriz genera-dora cuyos renglones generan el codigo (subespaciolineal).

    Una vez que se tiene la informacion codificada, lafuente emisora la envia y al recibirla la estacion re-ceptora debe determinar el numero de errores y loslugares donde esto ocurrio. Este proceso se deno-mina decodificacion. La matriz de chequeo de pari-dad juega un papel importante en esta etapa. De-pendiendo del codigo lineal que se uso para codifi-

    car la informacion, se debe tener un algoritmo deco-dificador adecuado, siendo el de Berlekamp-Masseyuno de los mas utiles y usados.

    Dependiendo del tipo de informacion que se de-sea transmitir se debe elegir el codigo adecuado.Entre los codigos mas destacados por sus propie-dades y multiples aplicaciones, se pueden mencio-nar los BCH (Bose-Chaudhuri-Hocquenhem), RS(Reed-Solomon), RM (Reed-Muller), Golay, y resi-duos cuadraticos. Los codigos RS son empleados, porejemplo, en los lectores de discos compactos (CDs)y en comunicacion satelital; los codigos RM han si-do usado por naves espaciales para transmitir image-nes de cuerpos celestes. Los codigos RS tienen variaspropiedades interesantes ya que son, entre otras co-sas, codigos cclicos, lo cual los hace muy utiles enaplicaciones pues no resultan costosos desde un pun-to de vista computacional. Otra propiedad de es-tos codigos es que alcanzan la mayor distancia mni-ma posible de acuerdo a su longitud y dimension, esdecir, son codigos MDS (Maximal Distance Separa-ble, [9]). Desde un punto de vista del Algebra con-mutativa, los codigos lineales cclicos se pueden re-presentar como ideales de un anillo de polinomiosen una indeterminada con coeficientes en un cam-po (binarios). Estos anillos son euclidianos y de idea-les principales, por esta razon a los codigos ccli-cos (binarios) se les conoce mejor por su polinomiogenerador.

    Como se ha mencionado anteriormente, una matriz(no-cero) con entradas, por ejemplo, en los nume-ros binarios, se puede usar para definir un codigo li-neal (binario), ya sea que se tome como la matriz deparidad o bien generadora. Matrices de esta natu-raleza se pueden obtener asociadas a diversos obje-tos en varias areas de la Matematica (como las grafi-cas), pudiendo de esta manera definirse codigos li-neales. Las propiedades de estos codigos se debenobtener del estudio de los correspondientes objetosmatematicos.

    Los codigos lineales binarios, es decir, donde el alfa-beto es el campo de los numeros binarios (bits) fue-ron los primeros que se estudiaron y son los que seusan en aplicacines practicas. Sin embargo, el estu-dio de codigos se ha extendido a usar otros alfabe-tos, en general con alguna estructura algebraica co-mo son los campos finitos (tambien llamados de Ga-lois) y anillos finitos, como los enteros modulares, deGalois, de cadena, Frobenius, entre otros.

    No solo el Algebra conmutativa es util para el estudio

  • Acerca de codigos y criptografa. H. Tapia-Recillas. 65

    de los codigos lineales, sino tambien areas como laGeometra algebraica sobre campos finitos, particu-larmente curvas algebraicas. Los codigos geometrico-algebraicos, tambien llamados de Goppa, (en honor aV.D. Goppa, quien los introdujo, [4]) se definen eli-giendo un curva algebraica con propiedades adecua-das (irreducible, no-singular, etc.) sobre un campo fi-nito donde se toman dos divisores racionales con cier-tas propiedades (por ejemplo con soporte ajeno), yel espacio de funciones racionales asociado a uno delos divisores. Evaluando estas funciones sobre el so-porte del otro divisor se obtiene un codigo lineal so-bre el campo finito. Las propiedades de estos codigosestan fuertemente ligados a la geometra de la cur-va algebraica as como a las propiedades de los divi-sores, donde el Teorema de Riemann-Roch ([13]) jue-ga un papel vital es este estudio. La Teora de nume-ros tambien es importante en el estudios de codi-gos ya que se pueden definir los codigos de resi-duo cuadratico, y determinar cotas para la distan-cia mnima, usando resultados de esta area. La Com-binatoria se usa por ejemplo para describir los codi-gos de Reed-Muller, usar los sistemas de Steiner oconjuntos parcialmente ordenados para obtener codi-gos con buenos parametros. El analisis de Fourier so-bre grupos abelianos finitos es muy util en la des-cripcion de la distribucion de pesos de codigos linea-les. Para cuestiones de aplicacion se desea que el es-tudio matematico de los codigos conduzca a un al-goritmo y para su implementacion es indispensa-ble hacer uso de la computacion (software), as co-mo tambien de la Ingeniera Electronica (hardwa-re). Estos son algunos ejemplos de como la Teorade codigos lineales interactua con otras areas de laMatematica.

    Hoy en da son varias y de diversa ndole las apli-caciones de los codigos lineales binarios detectores-correctores de errores, y entre estas se incluyen algu-nas cotidianas como son los lectores de CDs, DVDs,y almacenamiento de informacion hasta otras massofisticadas como informacion satelital y de navesespaciales.

    Criptografa

    La palabra criptografa proviene del griego krytosque significa esconder y graphein cuyo significa-do es escritura, se usa ahora para nombrar al areaque estudia las tecnicas y metodos para prevenir quela informacion este al alcance de entidades no auto-rizadas a conocerla. A estos metodos tambien se leconoce como cifrado de datos. La criptografa tam-poco es nueva, de hecho es mas antigua que los

    codigos detectores-correctores de error. A lo largode la Historia de la Humanidad se han desarrolla-do formas para esconder la informacion, y se tie-ne conocimiento que la cultura egipcia usaba crip-tografa, principalmente en la elite (faraones); JulioCesar tambien uso tecnicas de cifrado para enviar in-formacion a sus huestes, actualmente hay un sistemaque lleva su nombre. Durante la Primera y Segun-da guerra mundial se desarrollaron varios sistemascriptograficos, de particular relevancia fue la Maqui-na Enigma ([7], [12]). En Mexico tambien se utili-zaron metodos para cifrar informacion durante laRevolucion ([1]), y su relacion con el conocido Te-legrama Zimmermann.

    A mediados de 1970 se introdujeron nuevos siste-mas de cifrados, la mayora de ellos basados en con-ceptos y resultados matematicos mas alla de ser ele-mentales y basicos, de tal manera que este hecho fueun parteaguas en esta area ([3]). Actualmente se con-sidera que la criptografa tiene dos grandes grupos:la moderna, a partir de esa fecha, y la clasica, an-tes de ella.

    Entre los principales servicios que proporciona lacriptografa moderna se cuentan la confidencialidad,integridad, y no-repudiacion de la informacion. Enalgunos casos se pide el control al acceso y disponi-bilidad de la misma. El desarrollo de los sistemas decifrado estuvo ligado fuertemente a cuestiones beli-cas y de seguridad nacional pero actualmente tie-nen otros usos y aplicaciones en areas donde se re-quiere alta seguridad en el manejo y almacenamien-to de informacion.

    Esquema de un cifrado

    Un sistema de cifrado requiere de dos llaves pararealizar la operacion, una llave para cifrar y otrapara descifrar. El esquema de un cifrado de texto enbloques es relativamente sencillo y se representa enla Figura 2.

    Un sistema criptografico se dice robusto cuando no sepuede recuperar la(s) llave(s) del sistema u obtenerel texto original del texto cifrado. El criptoanalisises el area que describe los metodos y tecnicas pararecuperar el texto original a partir del texto cifrado,ya sea obteniendo la llave para decifrar o a partir deltexto cifrado, y un sistema se hace mas robusto en lamedida que resiste diversos tipos de criptoanalisis.

    Cifrados de llave privada

    Si en la Figura 2 la Llave para cifrar es la misma que

  • 66 ContactoS 90, 6168 (2013)

    Figura 2: Esquema de cifrado

    la Llave para descifrar, y esta debe estar bien res-guardada. Estos sistemas se denominan de Llave pri-vada o simetricos. Los sistemas criptograficos que seconocan hasta antes de la decada de 1970, es de-cir, los sistemas clasicos, practicamente todos sonde llave privada, como el de Julio Cesar y Vigene`reentre otros. Los sistemas de cifrado de llave pri-vada modernos incluyen, el Data Encryption Stan-dard (DES), Twofish, Advaced Encryption Standar(AES), los cuales son los mas robustos y usados ac-tualmente. La robustez de estos sistemas radica enlas bases matematicas que los sustentan y su comple-jidad computacional. La descripcion y algoritmos delos sistemas de cifrado es publica y se puede consul-tar en libros, revistas, internet, etc., y varios son losconceptos de diversas areas de la Matematica usa-dos en el diseno de tales sistemas. Por ejemplo, en elsistema AES, la unidadde cifrado es el byte (ochobits), el cual se pueden ver como elemento del espa-cio vectorial F82. Los bytes tambien se pueden iden-tificar con polinomios de grado menor o igual a 7con coeficientes binarios, ya que, como espacio vecto-rial F82 es isomorfo a F2[x]/x

    81, donde x81 esel ideal de F2[x] generado por el polinomio (x

    81), yeste tiene una estructura algebraica mas rica ya quees un anillo (conmutativo finito). Estas dos estructu-ras, como espacio vectorial binario son a la vez iso-morfas a F2[y]/y

    8 + y4 + x3 + x + 1. La gran ven-taja de esta ultima es que ademas de ser un ani-llo, tiene la estructura algebraica de campo (fini-to con 28 elementos), donde todo elemento distin-

    to de cero tiene un inverso multipilicativo. Otra pro-piedad de los campos finitos es que el conjunto de ele-mentos distintos de cero es un grupo cclico (multi-plicativo), es decir, cualquier elemento de este gru-po es potencia de un elemento, llamado el genera-dor del grupo. Este hecho es muy importante pa-ra realizar aritmetica rapida sobre campos finitos, yse usa tanto en Teora de codigos como en los sis-temas de cifrado. Otro concepto matematico que seha empleado en criptografa, tanto en cifrados clasi-cos como modernos, es el de permutacion. El gru-po simetrico, de las permutaciones, es uno de los masinteresantes y estudiados y su uso comprende tan-to cuestiones teoricas como aplicadas. Por ejemplo,en los sistemas DES, AES, Twofish y algunos otros,las permutaciones son parte importante de las lla-madas cajas de sustitucion (S-boxes). Usando la es-tructura de campo finito, la permutacion a a1,para a 6= 0, es parte medular de la caja de sus-titucion del sistema AES. Lo anterior es un ejem-plo que muestra la relevancia del Algebra conmuta-tiva y Teora de grupos en Criptografa de llave pri-vada, pero no son las unicas. Mas adelante se comen-tara como la Teora de Numeros y la Geometra al-gebraica, son la base matematica de los cifrados masrobustos de llave publica que se emplean actualmen-te ([10]).

    Los sistemas de cifrado de llave privada tienen lagran ventaja de ser bastante rapidos, particularmen-te si se implementan en hardware, y se usan para ci-frar grandes volumenes de informacion.

  • Acerca de codigos y criptografa. H. Tapia-Recillas. 67

    Cifrados de llave publica

    Si en la Figura 2 la Llave para cifrar es distintaa la Llave para descifrar, una de las llaves se ha-ce publica y la otra la conserva el usuario, el sis-tema se denomina de Llave publica. Un hecho im-portante en estos sistemas es que de la llave publi-ca no es posible obtener la otra llave del sistema,la privada. Entre los sistemas de cifrado de este ti-po mas usados y robustos se tiene el de ElGamal,RSA (Rivest-Shamir-Adleman), y Curvas elpticas.Los dos primeros, estan sustentados principalmen-te en Teora de grupos y Teora de numeros, particu-larmente en el anillo de enteros modulares. En el sis-tema RSA el modulo m es el producto de dos nume-ros primos p, q, distintos y grandes (del orden de100 dgitos), es decir, m = pq. El grupo (multiplica-tivos) de unidades de este anillo juega un papel im-portante en el diseno del RSA ya que la llave para ci-frar es un elemento (no trivial), e 6= 1 de este gru-po y el inverso, d = e1, de este elemento es la lla-ve para descifrar. Dado que en un grupo el inver-so de un elemento es unico, la pareja (e, d) es uni-ca. La funcion de Euler, la cual da el orden del gru-po de unidades del anillo de enteros modulares, es re-levante en la descripcion del sistema RSA. La seguri-dad y robutez de este sistema descansa en varios he-chos, destacando la generacion de numeros primosgrandes (aleatorios), determinar cuando un nume-ro entero (grande) es primo, y el problema del loga-ritmo discreto (PLD).

    Otro cifrado de llave publica, introducido en formaindependiente por V. Miller y N. Koblitz (1986-87,[10]), esta basado en la estructura de grupo (abelianofinito) de los puntos racionales de una curva elpticadefinida sobre un campo finito. Este sistema tienepropiedades que el RSA no posee, por ejemplo lalongitud de las llaves es mas corta as que se puedeutilizar en dispositivos que requieren poca capacidadde computo. La robustez de este sistema descanasaen el problema del logaritmo discreto (PLD) sobreel grupo de puntos racionales de la curva elptica.

    Debido a que los cifrados de llave publica realizanmuchos calculos, algunos de ellos pesados, son len-tos y no se usan para cifrar grandes volumens de in-formacion. En la practica se usan sistemas hbridos:sistemas de llave privada para cifrar grandes canti-dades de informacion, y cifrados de llave publica pa-ra transmitir en forma segura las llaves de los cifra-dos de llave privada, o informacion confidencial.

    Cifrados en flujo

    Los cifrados en flujo, tambien llamados en casca-da, difieren de los antes mencionados en que la in-formacion a cifrar no se presenta en bloques, sino enuna sucesion de bits. Estos cifrados se puede consi-derar como un sistema de llave privada ya que pa-ra cifrar y descifrar se usa la misma llave, la cual esuna sucesion de bits.

    Si el texto a cifrar esta representado por la sucesionbinaria M = {mi} y la llave por Z = {zi}, entoncesla sucesion

    M Z = C = {ci = mi zi},

    representa el texto cifrado, donde es la sumabinaria.

    Los sistemas de cifrado en cascada son de cierto mo-do una aproximacion del sistema de cifrado one-time-pad, uno de los mas seguros pero no de facilimplementacion ya que la llave debe ser tan gran-de como el texto a cifrar. La robustez de estos sis-temas radica principalmente en tener llaves fuertes,es decir, sucesiones binarias con propiedades especia-les. Existen varios sistemas de cifrado en cascada, co-mo son el A5/1, A5/2, A5/3, Fish, Panama, Rab-bit, Snow, Turing, GEA3 (General Encryption Al-gorithm), entre otros. Por su facilidad, rapidez y po-cos requisitos para su implementacion, estos siste-mas tienen multiples y variadas aplicaciones, las cua-les incluyen transmisiones inalambricas (television,telefona, satelital, etc.), as como en dispositivosmoviles.

    Actualmente los sistemas de cifrado de da-tos, ademas se emplearse en medios milita-res y de seguridad nacional, tienen varias aplicacio-nes en actividades cotidianas como son la firma di-gital (en Mexico empleada, por ejemplo en el Sis-tema de Administracion Tributaria (SAT) y Nor-mas Oficiales Mexicanas (NOM) para el mane-jo y seguridad de datos), sellos digitales, dinero digi-tal, comercio electronico, votacion electronica, bio-metra, proteccion de bases de datos, sistemas y me-dios de seguridad informatica; por mencionaralgunos.

    Temas afines

    Son varios los temas relacionados con Teora de codi-gos y Criptografa, y sera difcil mencionarlos todos.Algunos de estos como comparticion de secretos (conaplicacion a votacion electronica), esquemas de au-tenticacion, esteganografa, criptografa visual, su-cesiones pseudoaleatorias, as como diversos aspec-

  • 68 ContactoS 90, 6168 (2013)

    tos de campos de Galois ([8], [14]), han sido aborda-dos por colegas de nuestro Departamento.

    Comentarios finales

    La intencion de esta nota, como se dijo al princi-pio de la misma, es dar una descripcion basica delos codigos lineales detectores-correctores de erroras como de sistemas de cifrado y su conexion conotras areas de Matematicas que hasta hace poco seconsideraban abstractas y de poca o nula aplica-cioon a problematicas reales, ahora fundamentalesen el manejo y seguridad de la informacion. Entre es-tas areas de cuentan Teora de grupos, Algebra con-mutativa, Teora de numeros y Geometra algebrai-ca, y aunque no se hizo alusion directa por falta deespacio, Representacion de algebras, Teora de grafi-cas, Variedades algebraicas y abelianas de dimen-sion superior, y sobre todo Computacion, por men-cionar algunas.

    Con el desarrollo de la tecnologa digital, tanto loscodigos como la criptografa tienen una amplia ga-ma de aplicaciones relaciondas con la trasmision yseguridad de la informacion, en la industria, gobier-no, comercio, etc., y mientras los sistemas digitalesse sigan empleando, estas dos areas seguiran siendode gran utilidad. Companias relacionadas con comu-nicaciones, entidades gubernamentales como la Na-tional Security Agency (NSA) de los Estados Uni-dos de America, y grupos academicos realizan inves-tigacion en estos temas, tanto en la parte matemati-ca como en la computacional para ser usadas en di-versas problematicas. En Mexico, a pesar de que haypersonas trabajando en estos temas, se tiene la nece-sidad imperiosa de la formacion de mas recursos hu-manos en estas direcciones que interactuen en los di-versos ambitos de la vida nacional. El grupo del De-partamento de Matematicas de la UAM-I que tra-baja en estos temas desde hace varias decadas, seha ocupado de la formacion de recursos humanoshabiendo graduado estudiantes a nivel de licencia-tura, maestra y doctorado. Regularmente organi-za y participa en actividades como platicas de di-vulgacion, conferencias, seminarios, talleres; a diver-sos niveles. El Coloquio Nacional de Codigos, Crip-tografa y Areas Relacionadas, organizado por es-te grupo desde hace mas de 15 anos, y cuya deci-ma version se realizara en septiembre, 2013, es unode los foros academicos que ha permitido amalga-mar a personas de todo el pas y de diversos ambi-tos (gubernamental, comercio, academico, etc.) inte-resadas en estos temas. Este grupo tambien ha orga-nizado, en dos ocasiones, eventos de talla internacio-

    nal (las memorias publicadas por Springer-Verlag),y participa en forma regular en foros academicos fue-ra del pas presentado trabajos de investigacion y pu-blicando estos en revistas especializadas.

    Referencias

    1. J. de J. Angel Angel and G. Morales-Luna, Cryp-tographic Methods During the Mexican Revolu-tion. Cryptologia, 33:188-196, 2009.

    2. J. Daemen and V. Rijmen, The Design of Rinj-dael AES- The Advanced Encryption Standard,Springer-Verlag, (2002).

    3. W. Diffie and M. E. Hellman, New Directions inCryptography, IEEE Trans. on Inf. Theory, vol.IT 22, No.6, Nov., 1976.

    4. V. D. Goppa, Geometry and Codes, Kluwer Aca-demic Publishers (1988).

    5. R. Hamming, Error detecting and correcting co-des. Bell System Tech. J. 29 (2), 147-150, 1950.

    6. W. C. Huffmann and V. Pless, Fundamentals ofError-Correcting Codes, Cambridge Univ. Press(2003).

    7. D. Kahn, The Codebreakers, The Story of SecretWriting, Macmillan, N.Y., (1967).

    8. R. Lidl and H. Niederreiter, Finite Fields, Cam-bridge University Press (1987).

    9. F. J. MacWilliams and N. J. A Sloane, TheTheory of Error Correcting Codes. Amsterdam,The Netherlands: North-Holland, (1977).

    10. A. Menezes, P. van Oorschot and S. Vansto-ne, Handbook of applied cryptography, CRC Press,(1997).

    11. C.E. Shannon, A Mathematical Theory of Com-munications. Bell System Tech. J. 27 (3), 379-423,1948.

    12. S. Sing, The code book, Anchor Books, A Divi-sion of Random House, Inc. New York, (1999).

    13. H. Stichtenoth, Algebraic Function Fields andCodes, New York, Springer-Verlag (1993).

    14. H. Tapia Recillas, Sobre algunas aplicaciones delos campos de Galois. Miscelanea Matematica,SMM, No. 53, pp. 81-100, 2011.

    cs