teoría de códigos

14
Teoría de Códigos Ramfis Sanchez (13- 1054) Matemáticas Discretas Prof. Rina Familia

Upload: ranfis

Post on 11-Apr-2017

287 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Teoría de códigos

Teoría de Códigos

Ramfis Sanchez (13-1054)

Matemáticas DiscretasProf. Rina Familia

Page 2: Teoría de códigos

Teoría de Códigos

La teoría de códigos es una especialidad de las matemáticas que trata de las leyes de la codificación de la información.El auge de las comunicaciones a partir de la segunda mitad del siglo XX motivó un fuerte desarrollo de la teoría de códigos.

Page 3: Teoría de códigos

Breve cronología del origen de la Teoría de Códigos★ 55 a.C.

○ Julio César, al invadir Gran Bretaña, utiliza códigos para enviar mensajes a sus generales.

★ 1750 d.C.

○ Leonhard Euler sienta las bases de la criptografía de clave pública con su teorema.

★ 1844

○ Samuel Morse transmite su primer mensaje utilizando su código.

★ Década de 1920

○ Se desarrolla la máquina Enigma.

★ 1950

○ Richard Hamming publica un artículo fundamental para crear códigos que detectan y corrigen errores.

★ Década de 1970

○ Desarrollo de la criptografía de clave pública.

Page 4: Teoría de códigos

Teoría de Códigos

El problema nace de la necesitada de transmitir información de manera segura y fiable a través de un canal que sea poco seguro y poco fiable (con ruido, interferencias, etc).

Nos referimos con poco seguro a un canal que puede ser recibidos y/o alterados por terceros diferentes al emisor y al receptor a quien iba dirigido el mensaje.

Nos referimos con poco fiable, a un canal donde hay ruido, de manera que el mensaje puede llegar alterado o con errores. Un ruido es cualquier cosa que dificulte la correcta recepción del mensaje.

Page 5: Teoría de códigos

Tipos de Códigos

Los códigos que atacan los problemas de seguridad se llaman Códigos Secretos o Criptográficos y lo que intentan resolver las dificultades por la falta de fiabilidad son los Códigos Detectores y Correctores de Errores.

Además de la transmisión segura y fiable de la información la Teoría de Códigos tiene un tercer aspecto, la llamada Compresión de Datos. Esta estudia cómo codificar los mensajes de la manera más corta posible, eliminando información que sea redundante, de manera que transmitirlos sea poco costoso.

Page 6: Teoría de códigos

Códigos correctores de error

El diseño de códigos correctores de errores tiene como objetivo construir códigos con redundancia razonable y rápida decodificación. Algunos de los códigos importantes y con más usos para la ingeniería son:

Códigos de Hamming (códigos perfectos para errores simples) y sus variantes.

Códigos de Golay (código perfecto para errores triples).

Códigos BCH (correctores de errores múltiples) y una de sus variantes, los códigos Reed-Solomon (correctores de errores a ráfagas).

Page 7: Teoría de códigos

Códigos correctores de errorUno de los objetivos de los códigos correctores de error es conseguir aumentar la probabilidad de que el mensaje correcto pueda ser recuperado por el receptor a pesar de los posibles errores, siempre que el número de estos sea razonable.

Por ejemplo, para transmitir los mensajes si y no, podemos asignar al mensaje si el 1 y al no el 0. Sin embargo, en caso de un error o ruido el receptor puede recibir un 0 en lugar de un 1 y no saber si hubo o no un error con el mensaje.

Page 8: Teoría de códigos

Códigos correctores de errorPero si codificamos el mensaje (si) como 11111 y el (no) cómo 00000. Y se supiese que al transmitir un mensaje solo es posible, por la canal utilizado, cometer un error de uno o dos dígitos, entonces:Al recibir un "00001", el receptor sabrá que se trata de un "no". Así aunque se cometan algunos errores en la transmisión de algunos dígitos, se tendrá la casi certeza de cuál es el error cometido en el mensaje recibido, y corregirlo.

Page 9: Teoría de códigos

Códigos correctores de errorLa idea es que, antes de enviarlo, el emisor codifica su mensaje m como u. Esto es, añadiendo a m información redundante, de manera que si en el canal se produce ruido r y el receptor en vez de u recibe un mensaje alterado v = u + r, a pesar de todo sea capaz de recuperar el mensaje original m.

Page 10: Teoría de códigos

Códigos usados en compresión de datos

La compresión de datos está fuertemente relacionada con los códigos correctores de errores. Ambas disciplinas se iniciaron con el artículo de Claude Shannon (1948). En dicho artículo se introduce el concepto de entropía para medir la incertidumbre de una fuente de información o la cantidad de información promedio que contienen los símbolos usados.

Algunos ejemplos de códigos de compresión de datos:Código Huffman (La manera óptima)

Código LZW

Page 11: Teoría de códigos

Códigos usados en compresión de datos

En un código, los símbolos con menor probabilidad son los que aportan mayor información.Por ejemplo, en un texto, palabras frecuentes como "que", "el", "a" aportan poca información, mientras que palabras menos frecuentes como "corren", "niño", "perro" aportan más información.

Los códigos usados en compresión de datos utilizan la probabilidad para eliminar redundancia y hacer los datos más cortos. Este es el caso del Código Huffman.

Page 12: Teoría de códigos

Códigos Criptográficos

Los códigos correctores de errores corrigen errores provocados por el canal y no por algún tercero malintencionado. Además, los métodos que se utilizan para codificar y decodificar son públicos.

No es esta la misma situación cuando se quiere enviar un mensaje sin que alguien que haya interceptado el canal pueda interpretar el mensaje (o alterarlo) sin autorización.

Page 13: Teoría de códigos

Códigos CriptográficosLo que envía el Cifrador y lo que recibe el Descifrador es lo mismo, el mensaje, no se altera al pasar por el Canal. Sin embargo lo que enviamos no es el mensaje original m, sino un versión cifrada Ek(m). La idea es que la única forma de recuperar m a partir del conocimiento de Ek(m) sea aplicando la correspondiente función para descifrar, Dk y que esto no sepa hacerlo el interceptor. El subíndice k representa una clave que solo conocen el Emisor y el Receptor y que es la que imposibilita el descifrado no autorizado.

Page 14: Teoría de códigos

Referencias● https://es.wikipedia.org/wiki/Teoría_de_códigos

● https://es.wikipedia.org/wiki/Entropía_(información)

● http://rafami.etsisi.upm.es/Algebra/teoriacodigos-Quiros.pdf

● https://es.wikipedia.org/wiki/Compresión_de_datos