indices de eficacia de la técnica del borrado en la

99
Proyecto de Investigación Roberto Carlos Ramirez Caicedo CIP 67732 Indices de eficacia de la Técnica del Borrado en la codificación

Upload: others

Post on 22-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Indices de eficacia de la Técnica del Borrado en la

Proyecto de Investigación

Roberto Carlos Ramirez Caicedo

CIP 67732

Indices de eficacia de la

Técnica del Borrado en la

codificación

Page 2: Indices de eficacia de la Técnica del Borrado en la

Copyright 2018

Proyecto de Investigación Indices de eficacia de la Técnica del Borrado en

la codificación Reed - Solomon

Los derechos de distribución y comercialización de este proyecto de

investigación son exclusividad de la Universidad Marítima del Perú.

Page 3: Indices de eficacia de la Técnica del Borrado en la

Proyecto de Investigación

Indices de eficacia de la

Técnica del Borrado en

la

codificación

Page 4: Indices de eficacia de la Técnica del Borrado en la

Esquema del Proyecto de Investigación

Indices de eficacia de la Técnica del Borrado en la codificación Reed-

Solomon

Autor: Ing. Ramirez Caicedo, Roberto Carlos

Indice

Introducción

Capítulo I: Planteamiento del problema En las comunicaciones digitales

de hoy en día se requiere reconocer que el receptor es capaz de reconocer y

corregir los errores del emisor.

1.1 Determinación del problema Las comunicaciones entre un emisor y un

receptor requieren de un medio que hoy en día es de naturaleza digital y

debe ser capaz de corregir los errores de comunicación entre ellos.

1.2 Delimitación de la investigación

1.2.1 Delimitación espacial Está referida en los Estados Unidos

1.2.2 Delimitación temporal Desde el año 1960

1.2.3 Delimitación social Un país usuario de tecnología debe entender que sea

capaz de reconocer la brecha que separa de un país desarrollador de

tecnología

Capítulo II: Objetivos y alcances de la investigación

2.1 Objetivo general Destacar el uso de los conceptos de la corrección de

Page 5: Indices de eficacia de la Técnica del Borrado en la

errores en las comunicaciones

2.2 Objetivo específico. Vincular el uso de la codificación Reed-Solomon en la

actualidad

Capitulo III: Justificación de la investigación

3.1 Justificación teórica La tecnología muy avanzada que domina nuestras

actividades merece analizar los fundamentos matemáticos que realmente se

aplican en la realidad

3.2 Justificación social Los países usuarios de tecnología mayormente

conocidos como subdesarrollados tienen el deber de incorporar una línea

delgada que una el esfuerzo por mejorar las aplicaciones de la ingeniería

3.3 Justificación metodológica Debe exponerse la aplicación directa de la

teoría a la realidad

3.4 Justificación legal La Constitución y la ley permiten la autonomía en la

formación de sus estudiantes

3.5 Línea de investigación Se fundamenta en la rama de las matemáticas

discretas que siendo exclusivo de la ingeniería de sistemas e informática, en

las aplicaciones, constituye una traza en todas las disciplinas vinculadas a la

ingeniería

Capitulo IV: Marco teórico

4.1 Antecedentes de la investigación

4.1.1 Investigaciones nacionales Ninguna

Page 6: Indices de eficacia de la Técnica del Borrado en la

4.1.2 Investigaciones extranjeras. Investigaciones del MIT. Documentación

vía la internet.

4.2 Marco histórico referencial

4.2.1 Reseña. Toda disciplina de la ingeniería debe incorporar como una traza

el conocimiento de la codificación digital en las comunicaciones actuales.

4.3 Definiciones de términos básicos. Los términos asociados y vinculados a

la codificación digital están en idioma inglés, su traducción e interpretación

es un compendio estándar que he comprimido para su uso cotidiano.

Capítulo V: Marco metodológico

5.1 Hipótesis

5.1.1 Hipótesis general. Las comunicaciones digitales de hoy en día concurren

desde un teléfono celular, hasta la televisión reúnen fundamentos básicos,

estándar y complejos en la disciplina de la ingeniería que deben ser conocido

y entendido.

5.1.2 Hipótesis específica. Los sistemas digitales no son propiedad absoluta

de una rama de la ingeniería en particular; por el contrario es una traza.

5.2 Sistema de variables e indicadores

5.2.1 Variable independiente. Fundamentos de comunicaciones

5.2.2 Variable dependiente. Fundamentos de matemática discreta y sistemas

digitales

5.3 Operacionalización de variables. Basado en la hipótesis general

Page 7: Indices de eficacia de la Técnica del Borrado en la

5.4 Tipo y diseño de investigación

5.4.1 Tipo de investigación: explicativa y bibliográfica

5.4.2 Diseño de investigación: cuasi experimental

5.5 Población y muestra de la investigación.

5.5.1 Población

5.5.2 Muestra

5.6 Técnicas de recolección de datos

Capítulo VI: Análisis y viabilidad de la investigación

6.1 Análisis e interpretación de resultados

6.2 Viabilidad y factibilidad de la investigación

Capítulo VII: Aspecto administrativo

7.1 Cronograma de actividades frecuencia semanal durante 2 meses.

7.2 Presupuesto cero

7.3 Fuente de financiamiento horas de estudio

Referencias bibliográficas Anexos

Matriz de consistencia

Page 8: Indices de eficacia de la Técnica del Borrado en la

Problemas Objetivos Hipótesis Metodología

1. Problema

Principal

¿De qué manera

los índices de

eficacia propicia

un mejoramiento

en la

decodificación

digital?

1. Objetivo

General

Conocer si la

técnica del

borrado

constituye una

mejora en la

decodificación

digital

1. Hipótesis

General

Si la codificación

digital Reed

Solomon bajo GF

utilizando la

técnica del borrado

se utiliza

correctamente

influye de manera

óptima en las

comunicaciones

1. Tipo de

Investigación

De acuerdo al

propósito de la

investigación, la

naturaleza del

problema y

objetivos

formulados reúne

las condiciones

para ser

considerado como

una investigación

aplicada en razón

de que para su

desarrollo en la

parte teórica se

apoyará en los

conocimientos

sobre la

codificación Reed

Solomon

2. Problemas

Secundarios

2. Objetivos

Específicos

2. Hipótesis

Secundarias

2. Nivel de

Investigación

Page 9: Indices de eficacia de la Técnica del Borrado en la

a) ¿En qué medida

la técnica del

borrado mejora la

decodificación

digital?

b) ¿Para qué otros

tipos de aplicación

se adapta la

técnica del

borrado?

c) ¿Cuáles serían

los límites de las

aplicaciones de la

técnica del

borrado’

d) ¿Es posible que

otra técnica pueda

sustituir la

eficacia de la

técnica del

borrado?

a) Identificar los

aspectos

específicos por las

cuales la técnica

del borrado es

aplicable

b) Verificar si

existen casos en

las cuales los

cálculos generan

situaciones no

realizables

c) Determinar si la

técnica del

borrado genera al

nivel hardware

inestabilidad

d) Analizar los

límites en las

aplicaciones de la

técnica del

borrado

a) En las

comunicaciones

actuales la técnica

del borrado es

confiable

b) La eficiencia de

la técnica del

borrado genera

confianza en su

uso.

c) La inestabilidad

de la aplicación es

mínima

d) En el futuro la

mejora de la

técnica brindará

nuevas propuestas

de diseño

Descriptiva en un

principio, luego

explicativa y

correlacionada

3. Metodología de

la investigación

Se aplicará el

método descriptivo

4. Diseño de la

investigación

Es una

investigación por

objetivos

5. Población

Será utilizada en las

clases de sistemas

digitales por el

alumnado

6. Muestra

El 100% de los

estudiantes que

cursen Electrónica I

7. Técnicas

El análisis circuital

y la lógica booleana

Page 10: Indices de eficacia de la Técnica del Borrado en la

8. Instrumentos

La teoría de

campos y los

sistemas digitales

Page 11: Indices de eficacia de la Técnica del Borrado en la

Indice

Prólogo 1 1. Principios de la transmisión de datos 2 1.1 Esquema general de la transmisión de datos 2 1.2 Etapa de la codificación 3 1.3 Los códigos Reed Solomon 5 1.4 Los Códigos Gray 13 2. Codificación de redundancia cíclica 22 2.1 Esquema CRC 22 2.2 Codificación CRC 23 2.3 Decodificación CRC 25 3. Campo de Galois 27 3.1 Fundamentos de matemáticas discretas 27 3.2 Campos finitos 29 4. Codificación Reed Solomon en GF(8) 55 4.1 Arquitecturas digitales 56 4.2 Secuencias pseudoaleatorias 70 5. Decodificación Reed Solomon en GF(8) 73 5.1 Técnica convencional 73 5.2 Técnica del borrado 75 5.3 Arquitecturas con flip flops 78 Referencias bibliográficas 83 Glosario 84 Indice alfabético 86

Page 12: Indices de eficacia de la Técnica del Borrado en la

1

Prólogo

El presente proyecto tiene como finalidad introducir las herramientas

académicas para analizar el estudio de la corrección de errores en la

transmisión de datos.

Hoy en día las comunicaciones digitales se desarrollan de manera habitual en

cada instante de nuestras vidas, desde el uso de la telefonía celular hasta las

comunicaciones satelitales inclusive.

El uso de las herramientas digitales permite la simplificación de los

procedimientos habituales para reemplazarlos de manera eficaz y veloz, en

tiempo real.

Es muy común entonces, que los errores se cometen con cierta frecuencia y, la

capacidad de determinar el error y corregirlo permite reconocer si el emisor o

el receptor son capaces de efectuar tal proceso.

Es en ese sentido que la codificación Reed – Solomon dada su simplicidad, su

capacidad de eficacia y su fortaleza en el uso de las herramientas matemáticas

hagan posible que su implementación sea posible, hasta cierto nivel que pueda

ser utilizado en los estudios de ingeniería a todo nivel, y es precisamente este

proyecto el que permite un enfoque para tal propósito.

Page 13: Indices de eficacia de la Técnica del Borrado en la

2

1. Principios de la transmisión de datos

Toda comunicación de naturaleza digital requiere de un emisor y de un

receptor. Necesariamente una estación base es aquella que es capaz de

amplificar la señal de ambos tanto en el envío como en la recepción.

Es típico que en conversaciones ya sean de voz o texto, videollamadas,

reproducción de música, transferencias de dinero, compras en línea e

inclusive la señal de televisión que recibimos en nuestros hogares tiene una

complejidad al nivel de ingeniería cuyas propiedades intrínsecas residen en el

hecho de entender a aquellos procesos que sean capaces de determinar el error

en la información recibida y que al mismo tiempo sea capaz de corregirlo.

1.1 Esquema general de la transmisión de datos

El esquema

general de la

trasmisión de

datos obedece

al siguiente

esquema. [1]

La presencia

del error suele

ocurrir en el

medio o canal.

Page 14: Indices de eficacia de la Técnica del Borrado en la

3

Es en este punto que la necesidad de entender aspectos de matemáticas

aplicadas para el desarrollo de este proyecto recae en principio en entender la

teoría de campos (matemáticas discretas)

1.2 Etapa de la codificación

La codificación para control de errores corresponde a una rama de las

matemáticas aplicadas llamada teoría de la información (Shannon, 1948).

Una aplicación específica corresponde a los códigos Reed-Solomon.

Los algoritmos que maneja esta aplicación pueden ser implementados tanto en

software como en hardware. En vista de la creciente tendencia hacia el uso de

dispositivos de lógica reconfigurable a alta escala de integración (Reed, 1960) y

de los beneficios que esta tecnología ofrece a los diseñadores de sistemas

digitales mediante el empleo de un lenguaje de descripción de hardware como

VHDL, que permite configurar sistemas digitales según las especificaciones

demandadas por los usuarios, ajustar cambios en la programación y optimizar

los diseños tratándolos en forma modular, se plantea el diseño de estos

módulos de codificación bajo esta tecnología. [2]

Una importante característica de VHDL es su estandarización bajo la norma

1076 .

Es por ello que se ha seleccionado como lenguaje para la descripción del

codificador de canal digital.

Page 15: Indices de eficacia de la Técnica del Borrado en la

4

Debido a la gran importancia que tiene el campo de las comunicaciones

digitales, por la ventaja que ofrece sobre las comunicaciones analógicas, resulta

interesante diseñar un sistema compacto que incorpore las etapas de

procesamiento y comunicación de datos, ya que debido a la gran flexibilidad de

los FPGA (Field Programmable Gates Array) es factible para cualquier diseño,

siempre y cuando se cuente con capacidad suficiente de memoria para

almacenar la totalidad del hardware a implementar.

Los circuitos FPGA son una solución reconfigurable y eficiente para

implementar aplicaciones DSP.

Se planteó entonces la necesidad de emplear la tecnología de programación en

VHDL como soporte para el diseño del codificador Reed Solomon, donde se

presenta la posibilidad de subdividir el codificador, atendiendo a cada módulo

según su función específica para lograr los objetivos planteados a través de la

descripción de hardware y realizar los ajustes que permitan optimizar el diseño

en la etapa de programación. [7]

En el estudio de los codificadores de canal se presenta el código Reed Solomon,

el cual resulta ser el más ventajoso porque su probabilidad de error en relación

con la señal a ruido está cercana al límite de Shannon (1948) y presenta mayor

eficiencia sobre otros códigos correctores de error en cuanto a ganancia del

código. La clave para hacer del código Reed-Solomon una aplicación tecnológica

fue la implementación de un algoritmo eficiente de decodificación desarrollado

por Berlekamp.

Page 16: Indices de eficacia de la Técnica del Borrado en la

5

El código Reed-Solomon es un código corrector de errores basado en bloques

en donde el codificador procesa un bloque de símbolos de datos, a los que

agrega redundancia para producir un bloque de símbolos codificados.

En la actualidad, los códigos Reed-Solomon se utilizan para corregir errores en

varios sistemas incluyendo los dispositivos de almacenamiento –cintas, discos

compactos, DVD, códigos de barras, etc.–, comunicaciones inalámbricas o

móviles –telefonía celular, enlaces de microondas, etc.–, comunicaciones

satelitales, televisión Digital/DVB, módem de alta velocidad como ADSL, x DSL.

1.3 Los códigos Reed - Solomon

El código Reed-Solomon es un subconjunto de los códigos BCH (Bose

Chaudhuri Hocquenqhem), códigos cíclicos que presentan entre sus

parámetros (n, k, t) una relación entre los símbolos de datos (k), del código

total (n) y del número máximo de errores por ser corregidos (t), y son de

bloques lineales. Un código Reed-Solomon se especifica como RS(n, k) con

símbolos de s bits. Lo anterior significa que el codificador toma k símbolos de

los s bits y añade símbolos de paridad para hacer una palabra de código de n

símbolos. Existen n-k símbolos de paridad de s bits cada uno. Un decodificador

puede corregir hasta t símbolos que contienen errores en una palabra de

código, donde 2t = (n-k). [4]

Al respecto un hecho real

Page 17: Indices de eficacia de la Técnica del Borrado en la

6

El día Jueves 23.04.2009 el Gobierno Peruano aceptó la propuesta de adoptar el

formato de televisión digital ISDB-T del Japón. Meses antes, el día jueves

29.01.2009 en la sala de sesiones de la sede de Rectorado de la Universidad

Tecnológica del Perú cerca de las 06:30 p.m., se llevó a cabo una presentación

por parte de la delegación japonesa integrada por Hideo Fuseda Director de la

División de Tecnología Digital del MIC (Ministry of Internal Affaire and

Communications), Yasushi Furukawa Director de Relaciones Internacionales

del MIC y con la asistencia de los miembros invitados del Directorio del Consejo

Superior de Dirección Académica, donde mi participación tuvo una

intervención referente a la detección y corrección de errores del formato de

televisión digital terrestre japonés; esencialmente me referí a la corrección de

imágenes frente a las interferencias de tipo EMI u otras que enfrenta el medio.

El día Martes 10.02.2009 en el Hotel Marriott la exposición de las delegaciones

japonesa - brasilera integrada particularmente por ingenieros especialistas en

el diseño del estándar japonés – brasileño, se hizo una explicación detallada de

su software particular que interactúa con el ISDB-T y además al tema del

sistema de codificación digital empleado y las ventajas del time interleaving de

ISDB-T 1. En los brochure y textos que se nos presentaron, la ficha técnica

refiere el código externo. [ 3 ]

En esta oportunidad añadiré que respecto de los códigos Reed - Solomon, en

general se denotan de la forma RS(n, k) con especificación de símbolos de “s”

bits.

Es decir que para efectos de codificación, se toman “k” símbolos de los

múltiplos de “s” bits, y luego se añaden símbolos de paridad para obtener una

Page 18: Indices de eficacia de la Técnica del Borrado en la

7

palabra de código de “n” bits.

Por otro lado para efectos del decodificador, se pueden corregir hasta “e”

símbolos con errores, donde 2t = n – k.

El código más común de utilizar en transmisión es RS(255, 223) con símbolos

de 8 bits, cada palabra de código contiene 255 bytes de palabra de código, de

los cuales 223 bytes son datos y 32 bytes son de paridad, y puede corregir un

máximo de 16 símbolos, es decir de 16 bytes.

Los códigos Reed - Solomon pueden a su vez corregir errores, ya sea con la

técnica convencional o con la técnica del borrado.

En este caso en particular es estrictamente para la detección de errores.

Particular es el caso del código RS(204, 188), con símbolos de 8 bits y es una

codificación muy especial pues se obtiene de añadir 51 bytes nulos delante de

188 bytes de información; de esta manera se obtienen 239 bytes.

La adición de 16 bytes de paridad hace el total de 204 bytes. [ 3 ]

Este tipo de codificación puede corregir hasta un total de 8 bytes erróneos.

x8 x4 x3 x2 1 es el polinomio generador. [ 2 ]

En realidad el código RS (204, 188) es el código abreviado y es derivado del

código RS (255, 239). Al campo de sincronización de paquete se le aplica la

codificación Reed - Solomon y puede ser invertido (0x 47) o no invertido (0x

b8).

Page 19: Indices de eficacia de la Técnica del Borrado en la

8

El código abreviado se implementa añadiendo 51 octetos todos puestos a cero

antes de los octetos de información de la fase de entrada de un codificador RS

(255, 239).

Después de la codificación se descartan dichos octetos nulos. Esta

especificación se detalla en la figura que se muestra.

Al respecto es necesario comentar que existen esquemas estandarizados para

la codificación digital utilizando Reed - Solomon, como es el caso: CCDS

(Consultative Committee for Space Data Systems) compuesta por un Reed -

Solomon (255, 223, 32), un entrelazado bloque y un código convolucional (2, 1,

7); el otro esquema es el propuesto por el estándar IEEE 802.16 compuesta por

un Reed - Solomon (204, 188, 16), un intercalador convolucional y un código

convolucional con diversas tasas (desde 1/2 a 7/8 ). [ 3 ]

La figura detalla lo especificado por ambos esquemas.

Page 20: Indices de eficacia de la Técnica del Borrado en la

9

Al esquema anterior se le conoce también sistemas de corrección de errores

concatenados, es decir se componen de una cadena de codificación

convolucional / decodificación Viterbi y una cadena de codificación /

decodificación Reed - Solomon.

Una poderosa razón por la cual se implantó este esquema es porque los

sistemas de codificación de errores trabajan bien frente a los errores aleatorios

como el ruido térmico; sin embargo no trabajan bien frente a los errores de

Bursa o el denominado error concatenado.

La aleatorización del error es la base fundamental por el cual se implanta la

tecnología Interleave.

ISDB-T tiene 4 tipos de Interleave: [ 3 ]

1. Byte Interleave. Aleatoriza el error de burst a la salida del decodificador

Viterbi.

2. Bit Interleave. Aleatoriza el error del símbolo antes del decodificador Viterbi.

3. Time Interleave. Aleatoriza el burst de error en el dominio del tiempo el cual

es causado por ruido de impulso, degradando la recepción portátil.

4. Frequency Interleave. Aleatoriza el burst de error en el dominio de la

frecuencia el cual es causado por el efecto multi-path, interferencia de

portadoras y otros efectos.

La figura describe la funcionalidad de los diversos tipos de Interleave

Page 21: Indices de eficacia de la Técnica del Borrado en la

10

El ruido de impulso es causado por motor de auto, arranques de equipo

eléctrico entre otros y en realidad son efectos causados por el ser humano.

Es conocido el esquema de codificación CIRC 4 (Cross Interleaving Reed

Solomon Code), el cual está compuesto de tres niveles de intercalado y dos

etapas de codificadores Reed - Solomon, siendo éste un código corrector de

errores. [ 3 ]

En la figura, se tiene un codificador externo RS(28, 24, 4) y un codificador

interno RS(32, 28, 4).

También es

conocida la

estructura del

codificador RS

(255, 239, 16)

que se muestra

en la figura. [ 2

].

Una palabra de

Page 22: Indices de eficacia de la Técnica del Borrado en la

11

código Reed – Solomon es generada utilizando un polinomio especial. Todas las

palabras de código validas son divisibles exactamente por el polinomio

generador representado según g(x) = ( x – α i )( x – α 1+1 )( x – α i+2t)

La palabra de código se genera del producto c(x) = g(x)*i(x), donde g(x) es el

polinomio generador, i(x) es el bloque de información, c(x) es una palabra de

código valida y el valor de α es conocido como el elemento primitivo del campo.

Utilizando la teoría de la definición del campo de Galois para la codificación, el

cual estará definido en función de la longitud del símbolo (cada símbolo tiene

“m” bits), permitiendo así conocer el polinomio irreducible del campo GF(2m) y

es conocido que para m=3, el polinomio p(x) = x3 x 1.

Las operaciones se van reduciendo conforme se alcanza el valor α3 α 1 y,

de esta manera, los valores siempre pertenecerán al campo.

La fórmula general del codificador tiene la forma

De esta manera, al expandir el polinomio se obtiene la ecuación

Donde

n = longitud de la palabra codificada en símbolos

Page 23: Indices de eficacia de la Técnica del Borrado en la

12

k = longitud del mensaje codificado en símbolos

m = longitud del símbolo en bits

Luego de ello se define al polinomio generador que se obtiene según

En ese sentido, la multiplicación en el campo GF(8) con el polinomio generador

Esta tabla y sus resultados se utilizan para generar el campo de Galois para el

código. Ingresa como un número decimal donde los bits del archivo binario

equivalente corresponden a los coeficientes del polinomio.

Analizando la siguiente muestra

es equivalente a 285 [5]

Un valor de cero causa al polinomio por defecto el ancho del símbolo dado para

ser seleccionado. Si el campo polinomial no es primitivo, la siguiente tabla

muestra el campo polinomial por defecto

Page 24: Indices de eficacia de la Técnica del Borrado en la

13

1.4 Los códigos Gray

En las aplicaciones electromecánicas de los sistemas digitales tales como

herramientas mecánicas, sistemas de frenado para automóviles y

fotocopiadoras a veces es necesario que un sensor de entrada produzca un

valor digital que indique una posición mecánica.

Estos sistemas utilizan el código Gray, que pertenece a una clase de códigos en

los cuales solo cambia un bit del grupo de código en la transición de una etapa a

la otra. Las posiciones de los bits en los grupos de código no tienen un valor

determinado.

Se utiliza en situaciones para las cuales el código binario, puede producir

Page 25: Indices de eficacia de la Técnica del Borrado en la

14

resultados incoherentes durante esas transiciones en las cuales cambia más de

un bit de código. Por ejemplo si aplicamos el código binario y pasamos de 011 a

100, los tres bits tienen que cambiar simultáneamente. Dependiendo del

dispositivo que genere los bits, existe una diferencia relevante en los tiempos

de transición de los bits. De esta manera se pueden producir estados

intermedios no deseados a la hora de interpretar y ejecutar funciones.

Para convertir el código binario a código Gray podemos seguir el siguiente

procedimiento:

1. El bit más significativo en el código Gray es el mismo que el que corresponde

al más significativo del número binario.

2. Comenzando de izquierda a derecha, se debe sumar cada par adyacente de

los bits en código binario para obtener el siguiente bit en código Gray. No

tenemos en cuenta los acarreos. [6]

Para convertir de código Gray a binario, se utiliza un método similar al descrito

anteriormente. Igual podemos seguir el siguiente procedimiento:

1. El bit más significativo en el código binario es el mismo que el que

corresponde al bit del código Gray.

2. A cada bit del código binario generado se le suma el bit en código

Gray de la siguiente posición adyacente. No tenemos en cuenta los

acarreos.

Page 26: Indices de eficacia de la Técnica del Borrado en la

15

En la codificación Gray se considera en principio el código de 1 bit, como se

aprecia en la distribución, opera como un espejo el ultimo bit

En la codificación de 2 bits,

basados en el de 1 bit y del bit

espejo, se rellenan con 0 antes del

espejo y con 1 después del espejo.

En la codificación de 3 bits,

basados en el de 2 bits y

con el bit espejo, se

determina:

En la codificación de 4 bits

se toman los antecedentes y

la generación se obtiene de

la siguiente manera, tal y

como se muestra a

continuación.

En la conversión de código

binario a código gray de 5

bits, se aplican las mismas reglas de

conversión, en consecuencia.

Page 27: Indices de eficacia de la Técnica del Borrado en la

16

Aplicando las reglas de conversión y los conceptos de simetría en la

distribución de los bits y, particularmente en el código Gray, la simetría

respecto del MSB, se obtiene la distribución:

b0 b1 b2 b3 b4 g0 g1 g2 g3 g4

0 0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0 1

0 0 0 1 0 0 0 0 1 1

0 0 0 1 1 0 0 0 1 0

0 0 1 0 0 0 0 1 1 0

0 0 1 0 1 0 0 1 1 1

0 0 1 1 0 0 0 1 0 1

0 0 1 1 1 0 0 1 0 0

0 1 0 0 0 0 1 1 0 0

0 1 0 0 1 0 1 1 0 1

0 1 0 1 0 0 1 1 1 1

0 1 0 1 1 0 1 1 1 0

0 1 1 0 0 0 1 0 1 0

0 1 1 0 1 0 1 0 1 1

Page 28: Indices de eficacia de la Técnica del Borrado en la

17

0 1 1 1 0 0 1 0 0 1

0 1 1 1 1 0 1 0 0 0

1 0 0 0 0 1 1 0 0 0

1 0 0 0 1 1 1 0 0 1

1 0 0 1 0 1 1 0 1 1

1 0 0 1 1 1 1 1 1 0

1 0 1 0 0 1 1 1 1 1

1 0 1 0 1 1 1 1 0 1

1 0 1 1 0 1 1 1 0 0

1 0 1 1 1 1 0 1 0 0

1 1 0 0 0 1 0 1 0 1

1 1 0 0 1 1 0 1 1 1

1 1 0 1 0 1 0 1 1 0

1 1 0 1 1 1 0 0 1 0

1 1 1 0 0 1 0 0 1 0

1 1 1 0 1 1 0 0 1 1

1 1 1 1 0 1 0 0 0 1

1 1 1 1 1 1 0 0 0 0

Page 29: Indices de eficacia de la Técnica del Borrado en la

18

De la distribución, sin utilizar mapas de Karnaugh,

se aprecia que:

g0 = b0

g1 =

Utilizando mapas de Karnaugh, se observa

simetría en la distribución para b0 por cada bit; en

consecuencia:

g2 =

g3 =

g4 =

La conversión de código gray a código

binario de 5 bits, se aplican las mismas

reglas de conversión, en consecuencia.

Aplicando las reglas de conversión y los

conceptos de simetría en la distribución

de los bits y, particularmente en el código Gray, la simetría respecto del MSB,

se obtiene:

b1

1 1 b2

b4

1 1

1 1

1 1

b3

LSB

MSB b0

b1

g0

g1

b2 g2

b3 g3

b4 g4

Page 30: Indices de eficacia de la Técnica del Borrado en la

19

g0 g1 g2 g3 g4 b0 b1 b2 b3 b4

0 0 0 0 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0 1

0 0 0 1 0 0 0 0 1 1

0 0 0 1 1 0 0 0 1 0

0 0 1 0 0 0 0 1 1 1

0 0 1 0 1 0 0 1 1 0

0 0 1 1 0 0 0 1 0 0

0 0 1 1 1 0 0 1 0 1

0 1 0 0 0 0 1 1 1 1

0 1 0 0 1 0 1 1 1 0

0 1 0 1 0 0 1 1 0 0

0 1 0 1 1 0 1 1 0 1

0 1 1 0 0 0 1 0 0 0

0 1 1 0 1 0 1 0 0 1

0 1 1 1 0 0 1 0 1 1

0 1 1 1 1 0 1 0 1 0

1 0 0 0 0 1 1 1 1 1

Page 31: Indices de eficacia de la Técnica del Borrado en la

20

1 0 0 0 1 1 1 1 1 0

1 0 0 1 0 1 1 1 0 0

1 0 0 1 1 1 1 1 0 1

1 0 1 0 0 1 1 0 0 0

1 0 1 0 1 1 1 0 0 1

1 0 1 1 0 1 1 0 1 1

1 0 1 1 1 1 1 0 1 0

1 1 0 0 0 1 0 0 0 0

1 1 0 0 1 1 0 0 0 1

1 1 0 1 0 1 0 0 1 1

1 1 0 1 1 1 0 0 1 0

1 1 1 0 0 1 0 1 1 1

1 1 1 0 1 1 0 1 1 0

1 1 1 1 0 1 0 1 0 0

1 1 1 1 1 1 0 1 0 1

De la distribución, sin utilizar mapas de Karnaugh, se aprecia que:

Page 32: Indices de eficacia de la Técnica del Borrado en la

21

b0 = g0

b1 =

Utilizando mapas de Karnaugh, se

observa simetría complementaria en

la distribución para g0 por cada bit;

en consecuencia:

b2 =

b3 =

b4 =

g1

1 1 g2

g4

1 1

1 1

1 1

g3

g1

1 1 g2

g4

1 1

1 1

1 1

g3

LSB

MSB g0

g1

b0

b1

g2 b2

g3 b3

g4 b4

Page 33: Indices de eficacia de la Técnica del Borrado en la

22

2. Codificación de redundancia cíclica

Comprobación de redundancia cíclica o control de redundancia cíclica (en

informática, CRC). Hace referencia a cyclic redundancy check, también llamado

polynomial code checksum. El CRC es una función diseñada para detectar

cambios accidentales en datos de computadora y es comúnmente usada en

redes digitales y dispositivos de almacenamiento (como discos duros).

El CRC fue creado por W. Wesley Peterson en 1961; el polinomio de 32 bits

usado en funciones CRC de Ethernet (y otros estándares) fue publicado en

1975. Es muy popular por su simpleza de implementación, fácil de analizar

matemáticamente y es muy bueno detectando errores causados por ruidos en

los canales de transmisión. [1]

A cada bloque de datos le corresponde una secuencia fija de números binarios

conocida como código CRC (esto se calcula con una misma función para cada

bloque). Ambos se envían o almacenan juntos. Cuando un bloque de datos es

leído o recibido, dicha función es aplicada nuevamente al bloque, si el código

CRC generado no coincide con el código CRC original, entonces significa que el

bloque contiene un error. Eso hará que el dispositivo intente solucionar el error

releyendo el bloque o requiriendo que sea enviado nuevamente.

Si coinciden ambos códigos CRC, entonces se asume que el bloque no contiene

errores (existe una remota posibilidad de que haya un error sin detectar). El

nombre "control/comprobación de redundancia cíclica" se debe a que se

Page 34: Indices de eficacia de la Técnica del Borrado en la

23

"controla" (verificación de datos) un código redundante (no agrega nueva

información, el código CRC representa el mismo bloque de datos) y el algoritmo

está basado en códigos cíclicos. Es importante destacar que el número de

caracteres de entrada a la función CRC puede tener cualquier longitud, pero

siempre producirá un código CRC de igual longitud.

2.1 Esquema CRC

Los polinomios generadores más comunes son:

CRC-12: x12 x11 x3 x2 x 1

CRC-16: x16 x15 x2 1

CRC CCITT V41: x16 x12 x5 1 (este código se utiliza en el procedimiento

HDLC)

CRC-32 (Ethernet): x32 x26 x23 x22 x16 x12 x11 x10 x8 x7 x5

x4 x2 x 1

CRC ARPA: x24 x23 x17 x16 x15 x13 x11 x10 x9 x8 x5 x3 1

2.2 Codificación CRC

Las operaciones de codificación CRC se pueden conseguir mediante la

arquitectura [4]

Page 35: Indices de eficacia de la Técnica del Borrado en la

24

La respuesta en cada Flip Flop tipo D se da conforme la siguiente distribución

la representación polinomial que esta arquitectura CRC desarrolla es

A B C D E F G

LSB x x x x

x x x x

MSB x x x x

Page 36: Indices de eficacia de la Técnica del Borrado en la

25

2.3 Decodificación CRC

Veamos las siguientes operaciones

1. Si ABCD = 1111, la división por equivale a dividirlo por 1011

genera un resto de 111 y la operación genera una palabra de código 1111111

Si en esta palabra de código en el canal, se deteriora el bit C, entonces la

operación CRC se obtendría en la posterior división, que origina como resto de

acuerdo a la arquitectura anterior, al bit C:

2. Si ABCD = 1010, la división por equivale a dividirlo por 1011

genera un resto de 011 y la operación genera una palabra de código 1010011

Page 37: Indices de eficacia de la Técnica del Borrado en la

26

Si en esta palabra de código en el canal, no se deteriora ningún bit, entonces la

operación CRC se obtendría en la posterior división, que origina como resto de

acuerdo a la arquitectura anterior, a ningún bit y por lo tanto no existe error:

[4]

Arquitectura que representa el polinomio

Page 38: Indices de eficacia de la Técnica del Borrado en la

27

3. Campo de Galois

3.1 Principios de las matemáticas discretas aplicadas

Un campo (en inglés: field), es una estructura algebraica en la cual las

operaciones llamadas adición y multiplicación se pueden realizar y cumplen las

propiedades: asociativa, conmutativa y distributiva de la multiplicación

respecto de la adición, además de la existencia de inverso aditivo, de inverso

multiplicativo y de un elemento neutro para la adición y otro para la

multiplicación, los cuales permiten efectuar las operaciones de sustracción y

división (excepto la división por cero); estas propiedades ya son familiares de la

aritmética de números ordinarios. [1]

Los campos son estructuras algebraicas importantes de estudio en diversas

ramas de la matemática: álgebra, análisis matemático, teoría de los números,

puesto que proporcionan la generalización apropiada de dominios de números

tales como los conjuntos de números racionales, de los números reales, o de los

números complejos.

Page 39: Indices de eficacia de la Técnica del Borrado en la

28

Los campos eran llamados dominios racionales.

El concepto de un campo se usa, por ejemplo, al definir el concepto de espacio

vectorial y las transformaciones en estos objetos, dadas por matrices, dos

objetos en el álgebra lineal cuyos componentes pueden ser elementos de un

campo arbitrario.

La teoría de Galois estudia las relaciones de simetría en las ecuaciones

algebraicas, desde la observación del comportamiento de sus raíces y las

extensiones de campos correspondientes y su relación con los automorfismos

de campos correspondientes. [4]

En este punto el término Campo de Galois (en inglés, Galois Field), en adelante

GF, se utilizará para el desarrollo de su aplicabilidad.

Evariste Galois resolviendo congruencias modulo un primo p, quizá sin

percibirlo de esa manera, introdujo lo que actualmente se conoce como enteros

modulares modulo p, uno de los campos finitos con p elementos más

importantes, ya que a partir de este se construyen otros campos con pn

elementos para cualquier entero n > 1. Las ideas y trabajos desarrollados por

Evariste Galois, se le conoce hoy en día como la Teoría de Galois.

Utilidades y aplicaciones en el caso de p = 2, el campo de los números binarios

son aquellas que sirven de desarrollo para lo que aplicaremos más adelante.

Page 40: Indices de eficacia de la Técnica del Borrado en la

29

El estudio de los Campos de Galois no tuvo grandes avances por mucho tiempo;

pero en las ultimas décadas debido a las aplicaciones que tienen en diversas

áreas de la matemática así como en otras de gran relevancia en nuestros días

como son las Comunicaciones digitales y Seguridad Informática, ha habido un

gran desarrollo y estudio sobre diversos aspectos de los Campos de Galois.

Es el estudio de la criptografía aplicada en donde se desarrolla muchas

aplicaciones de Galois; sin embargo se dará alcance de manera muy específica

algunas aplicaciones.

El propósito de este capítulo es destacar de manera muy singular algunas áreas

donde los campos de Galois se utilizan.[5]

3.2 Campos finitos

Campo de Galois o Campo Finito es lo que se conoce comúnmente y algunas de

las propiedades se mencionarán en esta parte [1]

Recordemos que el campo de los números binarios es (GF(2),+; *) donde

GF(2) = {0, 1} es el anillo de enteros módulo 2, con las operaciones de suma

“+” y producto “*” usuales en esos anillos.

Una de las propiedades que debe satisfacer un anillo para que sea campo es

que cualquier elemento distinto de cero tiene un inverso, cosa que sucede

(trivialmente) en este caso ya que el único elemento distinto de cero de GF(2)

es el 1, además de que este anillo es un domino entero.

Al campo de los números binarios también se acostumbra denotarlo por F2.

Page 41: Indices de eficacia de la Técnica del Borrado en la

30

Sea GF(2)[x] el anillo de polinomios en una indeterminada con coeficientes

en GF(2). Es determinante que el polinomio f(x) = x2 + x + 1 GF(2)[x] es

irreducible sobre GF(2). Considérese ahora el anillo cociente, es decir, las

clases de equivalencia de GF(2)[x] modulo el ideal < f(x) > generado por el

polinomio f(x): GF(2)[x] /< f(x) > = { a(x) + < f(x) > : a(x) GF(2)[x]}

Usando el algoritmo de la división en el anillo GF(2)[x] (recordemos que este

anillo es euclidiano y de ideales principales), se tiene que para cualquier

elemento a(x) GF(2)[x]: a(x) = f(x)q(x) + r(x); 0 gr(r(x)) 1

Por lo tanto, un representante de la clase [a(x)] = a(x) + < f(x) > de a(x) es de

la forma a0 + a1x con a0, a1 GF(2). Por consiguiente los elementos del anillo

GF(2)[x] /< f(x) > se pueden identificar con el conjunto GF(22) = {a0 + a1x : a0;

a1 GF(2)} = { 0, 1, α, 1 + α} donde α = [x] = x + < f(x),>.

Obsérvese que:

1. GF(22) tiene cardinalidad 2gr(f(x)) = 4.

2. Dado que en GF(2)

1 = -1, α GF(22) es una raiz de f(x), es decir, α2 = α + 1

3. El conjunto GF(22) es un campo. Para esto basta describir la tabla de la

suma “+” y el producto “*”.

La tabla de la suma es:

Page 42: Indices de eficacia de la Técnica del Borrado en la

31

La relación α2 = α + 1 permite realizar la

aritmética multiplicativa sobre GF(22),

como se aprecia en la siguiente tabla

De las tablas anteriores se puede observar lo siguiente:

a) La pareja (GF(22), +) es un grupo conmutativo.

b) Si GF(22)* = GF(22) \ {0}, la pareja (GF(22)*; *) es un grupo multiplicativo.

En particular todo elemento distinto de cero tiene un inverso.

c) Más aun, GF(22)* es un grupo cíclico: GF(22)* = < α > = {0; 1; α; α2 = 1 + α}

d) GF(22) es un espacio vectorial de dimensión 2 sobre GF(2).

Una base está dada por {1, α }.

De las observaciones anteriores se sigue que (GF(22),+; *) es un campo con 4

elementos, llamado de Galois o finito. [4]

Veamos ahora como se construye, en general, un campo finito. Sea p un

numero primo y Zp = GF(p) el campo de los enteros modulo p, al cual se le

llama campo primo. Sea GF(p)[x] el anillo de polinomios en la indeterminada

x con coeficientes en GF(p) y f(x) GF(p)[x] un polinomio irreducible de

grado n. Sea GF(p)[x] /< f(x) > = {a(x) + < f(x) > : a(x) GF(p)[x]} el anillo de

clases residuales de GF(p)[x] modulo el ideal < f(x) > generado por f(x).

Page 43: Indices de eficacia de la Técnica del Borrado en la

32

Dado que GF(p)[x] es un anillo euclidiano (y de ideales principales), si a(x)

GF(p)[x], por el algoritmo de la división, a(x) = q(x)f(x) + r(x); 0 gr(r(x)) n

– 1, y un representante de la clase a(x)+<f(x)>, de a(x) GF(p)[x], es de la

forma a0 + a1x + … + an-1xn-1; ai GF(p):

Por lo tanto, los elementos de GF(p)[x] /<f(x)> se pueden identificar con el

conjunto F = {a0 + a1x + … + an-1xn-1; ai GF(p)}

A continuación se mencionaran algunas de las propiedades de F

1. (F,+; *) es un campo con pn elementos, donde “+” y “*” son las operaciones

usuales del anillo cociente. A este campo se acostumbra denotarlo por GF(pn)

o bien Fpn y se le llama el campo de Galois o el campo finito con pn elementos.

2. La clase residual α GF(pn) del polinomio x es tal que f(α) = 0, es decir, α

es una raíz de f(x).

3. GF(pn)* = GF(pn) \{0} es un grupo cíclico de orden pn - 1. A un generador de

este grupo se le llama primitivo.

4. El campo GF(pn) es un GF(p)-espacio vectorial de dimensión n y una base

(natural) es: {1, α, α2 , α3 , … αn-1 }

Por consiguiente, GF(pn) es una extensión de grado n de GF(p).

5. El campo de Galois con pn elementos es único modulo isomorfismos.

El lector podrá observar que para construir un campo de Galois con pn

elementos es necesario un polinomio irreducible con coeficientes en GF(p) de

grado n 2. Es interesante preguntarse cómo obtener tales polinomios. [1]

Page 44: Indices de eficacia de la Técnica del Borrado en la

33

Algunas aplicaciones de los campos de Galois

Las matemáticas discretas abordan muchos temas y, en particular la teoría de

campos es bastante desarrollada para exponerla en este proyecto por lo que

las precisiones anteriores son algunas de las propiedades referidas a Galois.

En consecuencia algunas de las aplicaciones que se desarrollan a manera

practican no exigen conocer detalladamente las matemáticas discretas

necesariamente.

Códigos lineales detectores-correctores de errores

La codificación ha sido utilizada desde hace muchos años con la finalidad de

distinguir objetos y señalizaciones de uso diario o común. Citar el caso de

muchos de los productos que se adquieren en el mercado tienen el llamado

código de barras, cuando se viaja se asigna un código al boleto del pasajero,

actualmente todos los libros tienen asignado un código conocido como el

ISBN, en varios servicios de correspondencia también se asignan códigos a

los artículos que se desea enviar, la contraseña que se usa en una cuenta de

correo electrónico, el número de cuenta en un banco, la contraseña asignada

(“pin") y el número de tarjeta de crédito son algunos ejemplos de códigos que

se encuentran en varios y diversos contextos.

Actualmente los códigos que se usan en el manejo de la información digital,

particularmente los llamados códigos detectores-correctores de errores.

Page 45: Indices de eficacia de la Técnica del Borrado en la

34

Como su nombre lo indica, estos códigos se usan para detectar y corregir

errores que se adquieren en la transmisión de la información (digital), no

importando el medio que se use para tal propósito. Para fijar un poco las

ideas consideremos el siguiente ejemplo que estoy seguro el lector ha vivido:

en algunas ocasiones cuando se hace una llamada telefónica, ya sea por el

teléfono convencional (fijo) o el móvil (celular), se ha tenido la experiencia de

que “hay mucho ruido" y se ha pedido a la contraparte o ella nos ha solicitado

terminar la llamada y volver a comunicarnos. En general este problema se

resuelve volviendo a hacer la llamada telefónica. Otro ejemplo es cuando se

está escuchando la radio, y se tiene ruido en la señal y no es claro lo que se

escucha; o bien en el caso de la televisión.

Una situación similar, pero más complicada por sus alcances, se tiene con los

satélites, las naves espaciales, o bien, en tomografía médica.

Estos son algunos ejemplos de la siguiente situación:

Se tiene una estación emisora y una estación receptora y se envía

información de una a otra (por diversos medios). Es muy factible que en el

“camino", por diversos motivos, dicha información adquiera errores de tal

manera que la información recibida no sea la misma que la enviada

originalmente. Así, la pregunta es: ¿cómo detectar y corregir los errores

adquiridos en la transmisión de la información?

Se han estudiado diversos aspectos de este problema y uno de ellos es por

medio de los llamados códigos lineales detectores-correctores de errores.

Page 46: Indices de eficacia de la Técnica del Borrado en la

35

Una área de la matemática muy usada en esta problemática es el Algebra

Lineal pero sobre campos de Galios, GF(pn), y de particular importancia para

las aplicaciones es el caso p = 2, extensiones (finitas) del campo de los

números binarios con 2n elementos, por ejemplo n =4, 5, 6, 7.

Un código lineal detector-corrector de errores de longitud n sobre el campo

de Galois GF(q), q una potencia de un primo p, se puede definir como la

imagen de una función lineal entre los GF(q)-espacios lineales GF(q)m y

GF(q)n. La dimensión k del código es la dimensión de la imagen. Los

parámetros de un código lineal son su longitud n, dimensión k, y su distancia

mínima d (de Hamming): [n; k, d]. Desde el punto de vista de las aplicaciones

los códigos binarios (p = 2) son los más usados, pero desde un punto de vista

matemático, los códigos lineales se pueden estudiar sobre cualquier campo

de Galois GF(q). Una forma adecuada de describir estos códigos es por medio

de una matriz generadora o bien por medio de una matriz de chequeo de

paridad cuyas entradas están en el campo en cuestión (binario por ejemplo).

Son varios los códigos lineales que se han estudiado y aplicado en diversos

contextos, entre los cuales se pueden mencionar los de: Hamming, Simplex,

BCH, Reed-Solomon, Reed-Muller, Goppa, etc. Cabe recordar que los códigos

de Reed-Solomon se han usado en diversas aplicaciones siendo una de las

más cotidianas" en los aparatos reproductores de CD's y DVD's. Los códigos

de Reed-Muller se han usado en la transmisión de imágenes de cuerpos

celestes.

Otra forma como los campos de Galois se usan en los códigos lineales es la

Page 47: Indices de eficacia de la Técnica del Borrado en la

36

siguiente: el espacio lineal GF(q)n es isomorfo, como espacio vectorial, a Rn =

GF(q)[x] / < xn - 1 >, la representación polinomial de GF(q)n.

Un [n, k, d] código lineal C se dice cíclico si para cada elemento (palabra de

código) c = (c0, c1, …; cn-1) el vector (cn-1, c0, …, cn-2) es también un elemento

de C. [4]

Por medio de la representación polinomial se puede ver que un [n; k; d]

código lineal C es cíclico si y solo si su imagen bajo este isomorfismo es un

ideal del anillo Rn. Como este anillo es de ideales principales, el ideal asociado

a un código lineal cíclico esta generado por un polinomio, conocido como el

polinomio generador del código.

El código de Reed-Solomon es cíclico y gracias a esta propiedad su

implementación es muy fácil pues solo se hacen corrimientos de las

coordenadas y no consumen muchos recursos computacionales.

Un detalle interesante en los campos de Galois es realizar aritmética rápida

para ser usada en los códigos lineales, tanto en la codificación como en la

dedicación, además en otras aplicaciones como en cifrado de datos,

generación de sucesiones, etc. [5]

Es necesario mencionar que actualmente los códigos detectores-correctores

de errores no solo se estudian sobre campos de Galois, sino también sobre

otras estructuras algebraicas como son los anillos de Galois, anillos de cadena

finita, anillos de Frobenius, etc.

Page 48: Indices de eficacia de la Técnica del Borrado en la

37

El código de Reed-Solomon

Como un ejemplo de códigos lineales a continuación se presenta el código de

Reed-Solomon. La siguiente descripción de este código es básicamente la

forma original propuesta por estos autores.

Sea Fq un campo finito con q elementos donde q es una potencia de un

número primo. Sean n = q - 1, = F*q= Fq \{0} y α un elemento

primitivo, es decir, un generador del grupo multiplicativo F* q

Por consiguiente,

Fq = {0, 1, α, α2 , α3 , … αn-2 }

Sea k un entero positivo y Pk = { f(x) Fq [x]: gr(f(x)) k – 1} U {0}

Es fácil ver que Pk es un espacio vectorial sobre Fq de dimensión k y una base

natural es {1, x, x2 , x3 , … , xk-1 }

Considérese la siguiente función evaluación:

ev : Pk Fn q, ev(f(x)) = (f(1), f(α), … f(αn-1)}

Es fácil ver que esta función es Fq-lineal e inyectiva, por consiguiente su

imagen es un subespacio lineal de Fnq el cual es el código de Reed-Solomon

sobre Fq y se denota por RS(q; k). Este código es de longitud n y dimensión k

(la función ev es inyectiva). Más aun, su distancia mínima es d = n - k + 1, es

decir, RS(q; k) es un [n; k; n - k + 1] código lineal sobre Fq.

Page 49: Indices de eficacia de la Técnica del Borrado en la

38

El código de Reed-Solomon tiene varias propiedades interesantes, entre otras

es un MDS-codigo (Maximum Distance Separable) y es cíclico.

Dado que {1, x, x2 , x3 , … xk-1 } es una base (natural) de Rk, si ev (xi) =

ri = (1, αi, … , αi(q-2)) para i = 0, 1, …, k - 1, una matriz generadora de este

código es aquella cuyos renglones son r0, r1, …;rk-1. [5]

En algunos casos es importante considerar el código extendido de Reed-

Solomon:

RS(q, k) = { (f(1), f(α) … f(αn-1), f(0)) : f Rk } el cual tiene parámetros [n + 1;

k; d + 1] y es también un MDS-código sobre Fq.

Cifrado de datos

En criptógrafa, también conocida como cifrado de datos, los campos de Galois

juegan un papel muy importante. Actualmente la criptografía tiene una gran

aplicación en diversas problemáticas que incluyen el comercio y banca

electrónica, firma y factura digital, tarjetas inteligentes, votación electrónica,

entre otros. En las siguientes líneas se mencionaran algunos sistemas de

cifrado dando énfasis a los campos de Galois.

Actualmente los sistemas de cifrado de datos se dividen en tres grupos: de

clave privada, de clave pública, y de flujo o cascada. Los primeros tienen la

característica que la clave que se usa para cifrar es la misma que se usa para

descifrar; por esta razón se les llama simétricos.

Page 50: Indices de eficacia de la Técnica del Borrado en la

39

Los cifrados de clave pública tienen la característica que la clave K se

compone de dos partes, una de las cuales se hace pública, C (para cifrar,

encriptar), y la otra, D (para desencriptar), la conserva la entidad poseedora

de la clave. Una propiedad que tienen las partes C y D es que no se puede

obtener una de la otra, en particular, C D.

Por este motivo a dichos sistemas se las llama asimétricos. Estos dos tipos de

cifrado caen en la clase de cifrados de bloques. Los cifrados de flujo tienen la

característica de que la clave se va mezclando con el texto a cifrar, y no se

separan en bloques como en los otros dos sistemas.

Entre los sistemas de cifrado de llave privada más representativos

actualmente se encuentran el Data Encryption Standard (DES), Advanced

Encryption Standar (AES), SAFER, y Twofish.

En las siguientes líneas se mencionaran algunas estructuras algebraicas

relacionadas con los campos de Galois sobre las cuales se basan estos

sistemas.

El sistema de cifrado DES

Desarrollado por IBM (el reemplazo es 3DES). Este sistema maneja bloques

para cifrar y llaves de 26 = 64 bits, es decir, elementos del espacio vectorial

GF(2)6. Una forma alternativa de ver esos bloques es usando el anillo

GF(2)[x; y]=(x8 – 1, y8 – 1)

Page 51: Indices de eficacia de la Técnica del Borrado en la

40

En la construcción de este sistema intervienen varias permutaciones las

cuales se pueden ver como permutaciones en el campo de Galois

GF(2)[z]=<f(z)> donde f(z) = z8 + z4 + z3 + z2 + 1 GF(2)[z] es irreducible.

Otras estructuras algebraicas usadas en el sistema DES, basadas en el campo

de Galois GF(2), incluyen las siguientes:

GF(2)[x; y] / < x7 – 1, y4 – 1>

GF(2)[u] / < u4 + u + 1>

GF(2)[v] / (v7 + v + 1)

Una de las partes medulares de los sistemas de cifrado simétricos son las

llamadas cajas de sustitución (S-boxes). Estas cajas son básicamente

funciones sobre espacios lineales de dimensión finita sobre campos de Galois.

[5]

Por ejemplo, en el sistema DES, una caja de sustitución es una función S :

GF(2)2 x GF(2)4 GF(2)4; donde GF(2) es el campo de los números binarios

y GF(2)n es el GF(2)-espacio vectorial de dimensión n.

El sistema de cifrado AES

Desarrollado por Vincent Rijnmen y Joan Daenmen. Su nombre original fue

Rijndael. Son varias las estructuras algebraicas usadas en el diseño del

sistema de cifrado AES, en las cuales los campos de Galois juegan un papel

muy importante. A continuación se mencionaran algunas de ellas.

Page 52: Indices de eficacia de la Técnica del Borrado en la

41

La principal y básica estructura algebraica usada en el sistema AES es el

campo binario de Galois GF(2) (llamados bits). Este sistema maneja los bytes

(un byte son ocho bits) y por lo tanto estos se pueden representar como

elementos del GF(2)-espacio vectorial GF(2)8.

Si GF(2)[x] es el anillo de polinomios en una indeterminada con coeficientes

en GF(2) y < x8 - 1 > es el ideal de este anillo generado por el polinomio x8 - 1,

el anillo cociente R8 = GF(2)[x] /< x8 – 1 > es también un GF(2) espacio

vectorial de dimensión 8. Existe un isomorfismo (natural) de GF(2)-espacios

vectoriales entre GF(2)8 y R8, llamado la representación polinomial del

primero. Por consiguiente, a los bytes se les puede representar como

polinomios en una indeterminada de grado a los más 7 con coeficientes

binarios (con la aritmética dada por la relación x8 = 1).

Existe otra forma de representar a los bytes usando campos de Galois y que

es muy importante en el cifrado AES ya que sobre esta se define la caja de

sustitución. Esta estructura algebraica es la del campo finito GF(28) =

GF(2)[x] / < f(x)>; donde f(x) = x8 + x4 + x3 + x + 1 GF(2)[x] es irreducible.

[5]

Como GF(28) es un GF(2)-espacio vectorial de dimensión 8, existe un

isomorfismo (natural) entre GF(2)8 y este campo. Así, los bytes se pueden

representar como polinomios en una indeterminada con coeficientes

binarios de grado a lo mas 7, excepto que ahora su aritmética está regida por

la relación x8 = x4 + x3 + x + 1.

Page 53: Indices de eficacia de la Técnica del Borrado en la

42

Otra propiedad importante de este campo de Galois que se usa en el sistema

AES es que el grupo GF(28)* = GF(28) \{0}> es cíclico de orden 28 - 1 = 255.

Por consiguiente un byte distinto de cero se puede identificar con un

polinomio de grado a lo mas 7 o bien con una potencia de un generador de

este grupo cíclico.

El modo de operación del sistema AES es por medio de estados.

Un estado se representa como un arreglo rectangular 4 x N donde cada

entrada es un byte y N depende de la longitud del bloque a cifrar, por ejemplo

si N = 4 se tiene un arreglo de 16 bytes. Así, un estado se puede representar

como un elemento del espacio vectorial [GF(2)8]4N. Una forma algebraica de

representar un estado es por medio de la identificación del espacio vectorial

[GF(2)8]4N con el anillo de polinomios GF(28)[x; y /< x4 – 1, yN – 1 >]. Por

ejemplo, si N = 4 los estados, es decir, el espacio vectorial [GF(28)]16, se

identifican con el anillo GF(28)[x, y] / < x4 – 1, y4 – 1 >

El campo de Galois GF(28) también se usa para definir la caja de sustitución

del sistema AES de la siguiente manera: como GF(28) es un campo, todo

elemento distinto de cero tiene inverso (multiplicativo) y se tiene

naturalmente la siguiente función: : GF(28) GF(28), ( ) = - 1, (0 ) = 0

la cual es una permutación.

Dado que el grupo multiplicativo de este campo tiene orden 255, esta

permutación se puede expresar como (x) = x254, es decir, es un polinomio

de permutación.

Page 54: Indices de eficacia de la Técnica del Borrado en la

43

Otras funciones que se usan en la definición de la caja de sustitución del AES

son las siguientes:

L, : GF(28) GF(28), L(α)= αc0, (β) = d0 + β

donde c0 y d0 son elementos fijos del campo GF(28), La caja de sustitución es

la función:

S : GF(28) GF(28); S = L

El sistema de cifrado Twofish

Desarrollado por Bruce Schneier. Este es otro sistema de cifrado de llave

privada donde los campos de Galois se ponen de manifiesto. Este sistema

maneja bloques de texto y llaves formados por bytes, es decir, elementos del

espacio vectorial GF(2)8, los cuales se concatenan para formar palabras,

vistas como elementos de GF(2)32. Las cajas de sustitución de este sistema se

pueden ver como funciones S : GF(2)8 GF(2)8. Otra componente de

Twofish es una matriz de tipo MDS (Maximum Distance Separable) cuyas

entradas son bytes. Para realizar operaciones es necesario identificar a los

bytes con elementos de un campo. Este campo es GF(28) = GF(2)[x] /<v(x)>,

donde v(x) = x8 + x6 + x5 + x3 + 1 GF(2)[x] es irreducible sobre GF(2). Este

sistema además usa una matriz de tipo Reed-Solomon cuyas entradas son

también bytes. Para efectuar las operaciones se identifica el espacio GF(2)8

con el campo de Galois con 28 elementos, pero ahora descrito de la siguiente

manera:

GF(28) = GF(2)[x] /< w(x) > donde w(x) = x8 + x6 + x3 + x2 + 1. Dado que el

campo de Galois con 28 elementos es único modulo isomorfismos, estos dos

Page 55: Indices de eficacia de la Técnica del Borrado en la

44

campos son isomorfos.

El sistema de cifrado SAFER

En sistema de cifrado SAFER (Secure And Fast Encryption Routine) también

usa fuertemente los campos de Galois, particularmente el campo GF(257). El

elemento 45 GF(257) es un generador del grupo cíclico GF(257)* y este

grupo se puede identificar con Z256, con lo cual se define la permutación

exp : Z256 Z256; exp(x) = 45x

que juega un papel importante en este sistema de cifrado. La permutación

inversa de exp se denota por log. [5]

El sistema de cifrado basado en curvas elípticas

Actualmente el RSA y el basado en curvas elípticas son los sistemas de

cifrado de datos más representativos de clase de cifrados de clave pública. El

sistema RSA (por las iniciales de sus creadores: Rivest-Shamir-Adleman) está

basado en la estructura del anillo de enteros modulares donde el modulo es

un entero grande (del orden de ciento cincuenta dígitos) el cual es el

producto de dos números primos, donde se usan varios resultados de Teoría

de Números como el Teorema (pequeño) de Fermat y de Euler, entre otros.

Las curvas elípticas definidas sobre un campo algebraicamente cerrado han

sido objeto de estudio desde hace mucho tiempo por diversos motivos.

Recientemente N. Koblitz y V. Miller, en forma independiente, presentaron un

sistema de cifrado de clave pública basado en el grupo de puntos (racionales)

Page 56: Indices de eficacia de la Técnica del Borrado en la

45

de una curva elíptica definida sobre un campo de Galois, el cual, para

aplicaciones, se toma el campo de la forma GF(2n) para diversos valores de n,

por ejemplo n = 160.

En este sistema de cifrado los campos de Galois se manifiestan de varias

maneras. Para definir una curva elíptica se necesita un campo, el cual para

propósitos de cifrado debe ser de Galois, GF(q), con q = pn elementos, p un

numero primo y n > 0 un entero.

La relación que define una curva elíptica en general es un polinomio cubico

en dos indeterminadas con coeficientes en un campo, el cual bajo ciertas

condiciones se lleva a la forma normal de Weierstrass. Si el campo sobre el

cual se está trabajando es de Galois, GF(q), el polinomio que define a la curva

elíptica se puede reducir a una relación de la siguiente forma (dependiendo

de la característica del campo):

f(x, y) = y3 – ax3 –bx – c GF(q)[x, y]

y la curva elíptica, E, sobre GF(q) se define como:

E = { P = (x, y) GF(q) x GF(q) : f(x, y) = 0 }

En el conjunto E (o mejor dicho, de los GF(q)-puntos racionales de E) se

puede definir una operación que le da una estructura de grupo abeliano a

este conjunto. Si P, Q E cuyas coordenadas son elementos de GF(q), las

coordenadas de P y Q son en general funciones racionales en las coordenadas

de P y Q, las cuales a su vez son elementos del campo de Galois GF(q). En este

contexto una de las cuestiones importantes de los campos de Galois es

Page 57: Indices de eficacia de la Técnica del Borrado en la

46

realizar aritmética rápida para obtener las coordenadas explicitas del

elemento P + Q, en particular nP, donde n > 0 es un entero. En un campo de

Galois uno de los principales problemas es determinar el inverso de un

elemento (distinto de cero).

En los últimos años se han llevado a cabo investigaciones para realizar

aritmética rápida sobre campos de Galois y que no ocupe muchos recursos

computacionales, con aplicaciones a cifrados de datos, códigos detectores-

correctores de errores, generación de sucesiones, etc.

Recientemente la llamada criptografía basada en identidad ha llamado la

atención de varios grupos de trabajo, donde las formas bilineales de J. Tate y

A. Weil, asi como los campos de Galois juegan un papel importante.

Geometría algebraica sobre campos de Galois

Otra de las areas donde los campos de Galois son de gran utilidad es en la

geometría algebraica, particularmente las curvas algebraicas. A fines de la

década de los 80, V.D. Goppa, introdujo los códigos lineales geométrico-

algebraicos también conocidos como códigos de Goppa, sobre una curva

algebraica definida sobre un campo de Galois. Dada una curva algebraica no-

singular, irreducible de genero g 0 definida sobre un campo de Galois

GF(q), con divisores D y G con soporte ajeno, si L(G) es el GF(q)-espacio

vectorial de funciones racionales asociado a G, la función evaluación

evD : L(G) GF (q)n , evD (f) =(f(P1), … f(Pn)) (donde sop(D) = (P1, … Pn),

determina un código lineal sobre el campo GF(q). [1]

Page 58: Indices de eficacia de la Técnica del Borrado en la

47

El teorema de Riemann-Roch (y consecuencias) son una herramienta muy

útil en el estudio de estos códigos particularmente para determinar su

dimensión y cotas sobre la distancia mínima. Las diferenciales sobre la curva

también son de gran utilidad en el estudio del código dual de un código de

Goppa.

La geometría propia de la curva en cuestión así como los divisores que se

usen, proporcionan información más detallada sobre los códigos asociados.

Una forma alternativa del estudio de estos códigos es a través de los campos

de funciones.

Como ejemplo de códigos geométrico-algebraicos se tiene el código

extendido de Reed-Solomon

Fq (el género es g = 0), los divisores son G = P y D que es la suma de los

otros puntos de la recta proyectiva. Se puede ver que el Fq-espacio vectorial

L(G) es isomorfo a Rk y una matriz generadora de este código de Goppa es

básicamente la descrita anteriormente para el código de Reed-Solomon.

Otro problema interesante relacionado con geometría algebraica sobre

campos de Galois es determinar el número de puntos (racionales) de una

variedad algebraica de

Page 59: Indices de eficacia de la Técnica del Borrado en la

48

finida sobre uno de estos campos. Un caso particular e interesante es el de las

curvas algebraicas, en especial las elípticas, hecho que se usa en los códigos

de Goppa y cifrado de datos, respectivamente.

No solo las curvas algebraicas sobre campos de Galois han sido estudiadas

por varios grupos de investigación sino que también variedades algebraicas

de dimensión mayor sobre campos de Galois son objeto de estudio,

particularmente en conexión con áreas como teoría de códigos y criptografía

(códigos definidos sobre la variedad de Veronese o intersección completa;

cifrado sobre jacobianos, por ejemplo de curvas hiperelipticas).

Sucesiones

El estudio de sucesiones ha sido muy importante en varias áreas de

matemáticas y estas se manifiestan de diversas maneras en diferentes

contextos en la naturaleza y actividad humana, de las cuales la sucesión de

Fibonacci es un representante. Debido al desarrollo de las comunicaciones

digitales, las sucesiones sobre estructuras algebraicas finitas,

particularmente campos de Galois es un tema de gran relevancia

actualmente. [4]

Una pregunta interesante en este tema es la generación de sucesiones con

propiedades particulares que permitan su aplicación en diversos contextos.

Algunas de estas propiedades incluyen pseudoaleatoriedad, correlación,

generación rápida y eficiente, entre otras. De particular importancia son las

sucesiones binarias (por sus aplicaciones) que se obtienen por medio de

Page 60: Indices de eficacia de la Técnica del Borrado en la

49

recurrencias lineales, como es el caso de la sucesión de Fibonacci, y una

forma de generarlas es por medio de los llamados Registros de Cambio de

Retro-Alimentación Lineal (Linear Feed-back Shift Register, LFSR), los cuales

se pueden implementar en hardware para una mayor rapidez en la

generación de la sucesión y su aplicación en tiempo real. En el caso de

sucesiones binarias generadas por recurrencias lineales, estas se pueden

obtener por medio de la función traza definida sobre una extensión finita de

los números binarios, es decir, sobre un campo de Galois. [1]

De particular importancia son las sucesiones de máxima longitud, las

llamadas m-sucesiones. Aunque las sucesiones binarias son las mas

estudiadas por sus aplicaciones, desde el punto de vista matemático se

pueden usar campos de Galois mas generales y otras estructuras algebraicas

que incluyen los anillos de enteros modulares, Zm, o bien los anillos de Galois.

Cabe mencionar que el estudio de sucesiones, particularmente sobre

estructuras discretas, es de tal importancia que hay congresos

internacionales dedicados a este tema, una de ellas es la SETA (Sequences

and Their Applications).

Las sucesiones, en particular las m-sucesiones, tienen aplicación en una gran

variedad de contextos.

Page 61: Indices de eficacia de la Técnica del Borrado en la

50

A continuación se mencionan algunos de ellos.

1. Los sistemas de posicionamiento global (Global Positioning Systems, GPS)

usan un LFSR para transmitir rápidamente una sucesión que indica la

posición de un objeto.

2. Los LFSR se usan para generar números pseudoaleatorios para su uso, por

ejemplo, en cifrados de cascada como es el A5/1 y A5/2, empleados en

teléfonos celulares con GMS, y el E0 usado en Bluetooth. Sin embargo, debido

a que la sucesión es generada a base de recurrencias lineales son susceptibles

del criptoanálisis, pero se modifican para que sean más robustas y se puedan

usar en otros contextos. [5]

3. Las sucesiones obtenidas por LSFR también se usan en transmisiones y

comunicaciones digitales, por ejemplo para tener una modulación y

demodulación robusta y eficiente.

Entre las empresas transmisoras que usan LFSR se cuentan, entre otras, las

siguientes:

ATSC Standards (digital TV transmission system North America), DAB

(Digital Audio Broadcasting system for radio), DVB-T (digital TV

transmission system Europe, Australia, parts of Asia), NICAM (digital audio

system for television).

Entre las empresas de comunicacion digital que usan LFSR se pueden

mencionar: IBS (INTELSAT business service), IDR (Intermediate Data Rate

service), SDI (Serial Digital Interface transmission), Data transfer over PSTN

Page 62: Indices de eficacia de la Técnica del Borrado en la

51

(according to the ITU-T V-series recommendations), CDMA (Code Division

Multiple Access) cellular telephony, 100BASE-T2 \fast" Ethernet (scrambles

bits using an LFSR), 1000BASE-T Ethernet, the most common form of Gigabit

Ethernet, (scrambles bits using an LFSR), PCI Express 3.0, SATA, USB 3.0,

IEEE 802.11a (scrambles bits using an LFSR).

Otras aplicaciones

A continuación se mencionaran algunos otros ejemplos, sin entrar en detalle,

donde los campos de Galois juegan un papel importante.

1. Funciones especiales. El estudio de funciones sobre campos finitos ha

conducido a determinar aquellas con propiedades adecuadas para su uso en

criptografía, teoría de códigos, compartición de secretos, esquemas de

autenticación, etc., de entre las cuales se cuentan las funciones booleanas,

bent, casi-bent, perfectamente no-lineales, entre otras.

2. Esquemas de compartición de secretos. La idea de estos esquemas es que

se pueda compartir un secreto entre un numero n de entidades (personas)

asignando a cada una de ellas cierta información de tal manera que

reuniendo cualesquiera k n de esas porciones de información se pueda

recuperar el secreto, pero que con un número menor que k de personas no se

pueda recuperar dicho secreto. Uno de los primeros sistemas de esta

naturaleza fue introducido por A. Shamir usando interpolación de Lagrange,

el cual se puede realizar sobre cualquier campo, en particular sobre campos

de Galois.

Page 63: Indices de eficacia de la Técnica del Borrado en la

52

En la literatura se encuentran otros esquemas de compartición de secretos

basados en conceptos como funciones booleanas con ciertas propiedades

donde los campos de Galois se hacen presentes.

3. Esquemas de autenticación. En la actualidad es muy importante que al

establecer una conexión para la transmisión de información, las partes

involucradas se autentiquen. Para tal fin se han introducido los esquemas de

autenticación. Conceptos como campos de Galois, funciones bent,

perfectamente no-lineales, etc. son usados para la descripción de este tipo de

esquemas, pero también otras estructuras algebraicas como los anillos de

Galois han sido usados para tal propósito.

4. Polinomios de permutación. Otro tema interesante en relación con los

campos de Galois son las permutaciones sobre estos campos,

particularmente aquellas inducidas por polinomios. Este tipo de

permutaciones tiene aplicación en diversas áreas incluyendo criptografía

como es el caso de sistemas de cifrado DES y AES.

Una componente importante en los turbo códigos son los intercambiadores

(interleavers) que bajo ciertas condiciones se pueden determinar cómo

polinomios de permutación.

5. Sumas exponenciales. Las sumas exponenciales sobre campos y anillos de

Galois es otro de los temas que han llamado la atención de varios grupos de

investigación por la gran variedad de aplicaciones en teoría de códigos (cotas

sobre la distancia mínima), estudio de funciones booleanas (funciones bent),

etc.

Page 64: Indices de eficacia de la Técnica del Borrado en la

53

Otras áreas

Además de las áreas mencionadas donde los campos de Galois tienen una

gran aplicación, existen otros temas y áreas de estudio en los cuales la

influencia de las ideas de E. Galois ha prevalecido. Entre estas se cuentan, por

supuesto, la Teoria de Galois, Cohomologia de Galois, conjuntos (invariantes)

de Galois, geometrías de Galois, algunas áreas de combinatoria, sistemas

dinámicos sobre campos de Galois, matrices y grupos clásicos sobre campos

de Galois, información cuántica y su relación con campos de Galois, inclusive

biología y bioinformática, solo por nombrar algunas.

Mención especial debe darse a la demostración del Ultimo Teorema de

Fermat dada por A. Wiles, donde la teoría de Representaciones de Galois y su

conexión con curvas elípticas y formas modulares juega un papel importante.

En las últimas décadas, sobre todo con el desarrollo de las comunicaciones e

información digital, los campos de Galois han tenido, y se espera sigan

teniendo, un papel relevante en su desarrollo y aplicación a problemas en

diversas áreas del quehacer humano. Cabe señalar que desde hace varias

décadas se tienen eventos académicos y congresos dedicados al estudio de

los campos de Galois y aplicaciones, como es The International Conference on

Finite Felds and Applications, además se tienen varias revistas especializadas

donde se publica sobre diversos aspectos y aplicaciones de los campos de

Galois. Entre estas revistas se pueden mencionar por ejemplo: Finite Fields

and Their Applications; Designs, Codes and Cryptography; IEEE Transactions

Page 65: Indices de eficacia de la Técnica del Borrado en la

54

on Information Theory; Applicable Algebra in Engineering, Communication

and Computing (AAECC); Journal of Combinatorial Theory, Discrete

Mathematics; Pure and Applied Algebra; Advances in Mathematics of

Communications (AMC), entre otras.

Page 66: Indices de eficacia de la Técnica del Borrado en la

55

4. Codificación Reed – Solomon en GF(8)

El objetivo principal es estudiar los códigos Reed - Solomon.

Reed-Solomon es un código cíclico no binario y constituye una subclase de

los códigos BCH. Los códigos cíclicos son una subclase de los códigos de

bloque estándar de detección y corrección de errores que protege la

información contra errores en los datos transmitidos sobre un canal de

comunicaciones. Este tipo de código pertenece a la categoría FEC (Forward

Error Correction), es decir, corrige los datos alterados en el receptor y para

ello utiliza unos bits adicionales que permiten esta recuperación a posteriori.

[4]

El código fue inventado por Irving S. Reed y Gustave Solomon (de ahí su

nombre) en el año 1960. Este código se encuentra actualmente aplicado en

áreas como los CD, telefonía móvil y sondas espaciales (la sonda Galileo a

Júpiter en 1989, la sonda Magallanes a Venus ese mismo año o la sonda Ulises

al Sol en 1990, por citar algunos ejemplos).

También es de destacar el empleo del código Reed-Solomon en las

comunicaciones por satélite Digital Video Broadcasting (DVB), en la

transmisión digital de televisión ISDB-T, en la radio digital DAB+, así como en

los sistemas xDSL de comunicación por cable.

Page 67: Indices de eficacia de la Técnica del Borrado en la

56

Un detalle particular en este proyecto radica en el hecho de que operamos en

el sistema de numeración binario y utilizando la propiedades del campo de

Galois, es por ello que GF(8) significa operaciones en campo de Galois en el

sistema binario (el número 2 implica binario) y de tres bits por símbolo.

Antes de introducir la teoría de los códigos Reed – Solomon es necesario

analizar el diseño de arquitecturas digitales utilizando compuertas XOR

4.1 Arquitecturas digitales

Es necesario utilizar los sistemas digitales para la implementación de la

teoría de los campos de Galois y específicamente en la codificación Reed -

Solomon

Es de notar que estas arquitecturas son realizables utilizando mapas de

Karnaugh de 3 variables.

Lo que debe tenerse en consideración al efectuar los mapas de Karnaugh es

ordenar del 1 al 7; pero estimando siempre los valores respecto del elemento

“a” que equivale a 010; este elemento se le suele denominar elemento

primitivo.

De esta manera la multiplicación por a, a2, a3 e inclusive a4 deben estimarse

con su equivalente respecto del elemento primitivo. [5]

Desarrollando los mapas de Karnaugh por cada una de las multiplicaciones

Page 68: Indices de eficacia de la Técnica del Borrado en la

57

Multiplicación por a

b2 b1 b0 g2 g1 g0

0 0 0 0 0 0

0 0 1 0 1 0

0 1 0 1 0 0

0 1 1 1 1 0

1 0 0 0 1 1

1 0 1 0 0 1

1 1 0 1 1 1

1 1 1 1 0 1

b1

1

1 b0

b2

1

1

Page 69: Indices de eficacia de la Técnica del Borrado en la

58

g2 = b1

g1 =

g0 = b2

b1

1 1 b0

b2

1 1

b1

b0

b2

1 1

1 1

LSB

MSB b2

b1

g2

g1

b0 g0

Page 70: Indices de eficacia de la Técnica del Borrado en la

59

Multiplicación por a2

b2 b1 b0 g2 g1 g0

0 0 0 0 0 0

0 0 1 1 0 0

0 1 0 0 1 1

0 1 1 1 1 1

1 0 0 1 1 0

1 0 1 0 0 1

1 1 0 1 0 1

1 1 1 0 0 0

b1

1

1 b0

b2

1

1

Page 71: Indices de eficacia de la Técnica del Borrado en la

60

g2 =

g1 =

g0 = b1

b1

1

1 b0

b2

1

1

b1

1 1 b0

b2

1 1

LSB

MSB b2

b1

g2

g1

b0 g0

Page 72: Indices de eficacia de la Técnica del Borrado en la

61

Multiplicación por a3

b2 b1 b0 g2 g1 g0

0 0 0 0 0 0

0 0 1 0 1 1

0 1 0 1 1 0

0 1 1 1 0 1

1 0 0 1 1 1

1 0 1 1 0 0

1 1 0 0 0 1

1 1 1 0 1 0

b1

1 1 b0

b2

1 1

Page 73: Indices de eficacia de la Técnica del Borrado en la

62

g2 =

g1 =

g0 =

b1

1

1 b0

b2

1

1

b1

1

1 b0

b2

1

1

LSB

MSB b2

b1

g2

g1

b0 g0

Page 74: Indices de eficacia de la Técnica del Borrado en la

63

Multiplicación por a4

b2 b1 b0 g2 g1 g0

0 0 0 0 0 0

0 0 1 1 1 0

0 1 0 1 1 1

0 1 1 0 0 1

1 0 0 1 0 1

1 0 1 0 1 1

1 1 0 0 1 0

1 1 1 1 0 0

b1

1

1 b0

b2

1

1

Page 75: Indices de eficacia de la Técnica del Borrado en la

64

g2 =

g1 =

g0 =

b1

1

1 b0

b2

1

1

b1

1

1 b0

b2

1

1

LSB

MSB

b2

b1

g2

g1 b0

g0

Page 76: Indices de eficacia de la Técnica del Borrado en la

65

Multiplicación por a5

b2 b1 b0 g2 g1 g0

0 0 0 0 0 0

0 0 1 1 1 1

0 1 0 1 0 1

0 1 1 0 1 1

1 0 0 0 0 1

1 0 1 1 1 0

1 1 0 1 0 0

1 1 1 0 1 1

b1

1

1 b0

b2

1

1

Page 77: Indices de eficacia de la Técnica del Borrado en la

66

g2 =

g1 = b0

g0 =

b1

1 1 b0

b2

1 1

b1

1

1 b0

b2

1

1

LSB

MSB b2

b1

g2

g1

b0

g0

Page 78: Indices de eficacia de la Técnica del Borrado en la

67

Multiplicación por a6

b2 b1 b0 g2 g1 g0

0 0 0 0 0 0

0 0 1 1 1 1

0 1 0 1 0 1

0 1 1 0 1 1

1 0 0 0 0 1

1 0 1 1 1 0

1 1 0 1 0 0

1 1 1 0 1 1

b1

1

1 b0

b2

1

1

Page 79: Indices de eficacia de la Técnica del Borrado en la

68

g2 = b0

g1 = b2

g0 =

b1

1 1 b0

b2

1 1

b1

b0

b2

1 1

1 1

LSB

MSB b2

b1

g2

g1

b0

g0

Page 80: Indices de eficacia de la Técnica del Borrado en la

69

Un esquema para GF(16) y con multiplicación por a2 es el que se muestra a

continuación, a modo de observación:

Lo anterior puede interpretarse de la siguiente manera:

Las ecuaciones Reed-Solomon están basadas en los conceptos del campo de

Galois.

El polinomio x3 x 1 = 0 es denominado generador y el elemento primitivo

se denomina al parámetro a = 010.

Page 81: Indices de eficacia de la Técnica del Borrado en la

70

4.2 Secuencias pseudoaleatorias.

Habitualmente, toda secuencia de números posee una razón aritmética,

geométrica, de carácter analítico, es decir utilizando una serie de elementos

operacionales para determinar una posición en particular de la secuencia

dada. [4]

Sin embargo existen secuencias como la siguiente: … 1, 2, 4, 3, 6, 7, 5, 1, 2, 4,

Si bien es cierto, es definitivo determinar el número que está antes del

número 7, y el número que le sigue, estimando la siguiente equivalencia en

formato de numeración binario, de la siguiente manera [3]

Denominamos al elemento a = 010, y la operación

1 001

2 010

4 100

3 011

6 110

7 111

5 101

1 001

Page 82: Indices de eficacia de la Técnica del Borrado en la

71

Lo cual implica que , y de esta manera:

1 001 1

2 010 a

4 100 a2

3 011 a3

6 110 a4

7 111 a5

5 101 a6

1 001 a7

De esta manera las operaciones de adición, diferencia, multiplicación,

división, potenciación son ejecutables, y en este caso a7 = 1, esto implica que

citando el caso de a29 = (a7)4.a = a

1 a0

2 a1

4 a2

3 a3 = a 1

6 a4 = a.a3 = a(a 1) = a2 a

7 a5 = a.a4 = a(a2 a) = a3 a2

5 a6 = a.a5 = a(a3 a2 ) = a4 a3

1 a7 = a.a6 = a(a4 a3 ) = a5 a4

Page 83: Indices de eficacia de la Técnica del Borrado en la

72

La implementación de los circuitos que sucesivamente generan las

multiplicaciones por el elemento primitivo “a”, en todas sus potencias ya ha

sido diseñado en la sección arquitecturas digitales.

Las ecuaciones Reed – Solomon están basadas en el hecho de que bajo GF(8)

A B C D E P Q = 0

a7 A a6 B a5 C a4 D a3 E a2 P a Q = 0

Para establecer el detalle de las expresiones algebraicas, lo que se trata es

que un emisor va a transmitir una información a un receptor vía una estación

base.

Las características de la información son tales que tiene la forma

A B C D E

Pero para que la información viaje en el medio o canal hasta el receptor a

través de la estación base, la información es codificada es decir la

información se convierte de la forma

A B C D E P Q

Page 84: Indices de eficacia de la Técnica del Borrado en la

73

Reed – Solomon especifica que si la información codificada llega al receptor

sin error deben cumplirse las condiciones de sus ecuaciones.

5. Decodificación Reed Solomon en GF(8)

Es posible obtener los valores de P y Q algebraicamente

P = a6 A a B a2 C a5 D a3 E

Q = a2 A a3 B a6 C a4 D aE

Finalmente la información contiene 15 bits pues existen 5 símbolos de 3 bits

cada uno.

Ahora bien, la información codificada posee 21 bits pues son 7 símbolos de 3

bits cada uno.

5.1 Técnica convencional

Veamos:

Es necesario introducir el término de síndrome

En principio si las ecuaciones Reed-Solomon no son iguales a cero, entonces

sucede que existe un error.

Page 85: Indices de eficacia de la Técnica del Borrado en la

74

Entonces el síndrome actúa por partida doble, es decir un valor de síndrome

actúa en la primera ecuación y otro valor en la segunda ecuación

A B C D E P Q = S0

a7 A a6 B a5 C a4 D a3 E a2 P a Q = S1

El cociente

Donde el valor de k posiciona el símbolo erróneo.

Es decir lo que se debe operar cada símbolo de 3 bits equivalente al valor de

a, a2, a3 hasta a7.

Las posiciones serán desde el símbolo A hasta el símbolo Q en el orden de 7 a

1.

De esta manera a los síndromes se conocen como localizador y corrector S1 y

S0 respectivamente.

El símbolo correcto se determina según corresponda es decir, símbolo

erróneo símbolo correcto = S0

Page 86: Indices de eficacia de la Técnica del Borrado en la

75

De esta manera el receptor es capaz de detectar y corregir el error.

La desventaja es corrige 1 símbolo.

5.2 Técnica del borrado

Entonces se precisa tener la capacidad de corregir más de un símbolo y, en

este caso, la solución Reed-Solomon por la técnica del borrado puede

corregir 2 símbolos con error siempre y cuando el emisor le indique al

receptor que existen errores singulares en tales símbolos. [7]

Si consideramos la información recibida por el receptor

101100001010111100100

Y se sabe que los símbolos erróneos se ubican en los índices 4 y 5.

La técnica se procederá de la siguiente manera: primero de manera formal

sin técnica del borrado con la siguiente distribución:

7 A 101 a7 x A 101

6 B 100 a6 x B 010

5 C 001 a5 x C 111

Page 87: Indices de eficacia de la Técnica del Borrado en la

76

4 D 010 a4 x D 111

3 E 111 a3 x E 010

2 P 100 a2 x P 110

1 Q 100 a x Q 011

S0 101 S1 000

La técnica del borrado específica que los símbolos erróneos deben “borrarse”

es decir hacer equivalente a cero.

Entonces la nueva tabla de distribución quedará de esta manera:

7 A 101 a7 x A 101

6 B 100 a6 x B 010

5 C 000 a5 x C 000

4 D 000 a4 x D 000

3 E 111 a3 x E 010

2 P 100 a2 x P 110

1 Q 100 a x Q 011

S0 100 S1 000

De esta manera aplicando teoría básica de operaciones binarias con

operaciones XOR:

S0 = C D

Page 88: Indices de eficacia de la Técnica del Borrado en la

77

S1 = a5C a4D

Se obtienen los valores de C y D

C = 010

D = 100

Un conjunto de aplicaciones en las comunicaciones resulta de la siguiente

manera:

La comunicación establecida entre un emisor y tres receptores para

triangular la posición de una nave no autorizada en un área restringida,

utiliza un equipo de codificación y decodificación de señales digitales R-S,

bajo GF(8).

La turbulencia propia de la zona hace posible pronosticar que puedan

existir errores en la recepción. Cada receptor posee en su nave equipos de

decodificación de la misma naturaleza del emisor. La trama enviada por la

nave emisora desde su estación base tiene la información:

10110001010111110010010110011010011110010011110001010

0111100100

Determine la trama b1b2b3 siendo bk el bit corregido de cada trama R-S

recepcionada por cada nave receptora (k=1, 2, 3)

Una comunicación de carácter restringido debe enviar información

Page 89: Indices de eficacia de la Técnica del Borrado en la

78

utilizando codificación Reed-Solomon operado bajo GF(8).

La operación necesita de tres entidades: un emisor, una estación base y

un receptor. La característica primordial de la comunicación es que el

receptor puede corregir dos símbolos de la trama codificada. Es

justamente la estación base quien señala los símbolos que contienen

error al receptor.

Determine la trama correcta que se necesita para ser retransmitida a

otras estaciones base siendo la trama recibida

101100001010111100100

y se ha notificado que los símbolos erróneos se ubican en las posiciones 2 y 4.

5.3 Arquitecturas con flip flops

La sucesión … 1, 2, 4, 3, 6, 7, 5, 1, …

se diseñará utilizando Flip Flops

tipo D, cuya respuesta de estados

se muestra.

Q2 Q1 Q0 D2 D1 D0

0 0 1 0 1 0

0 1 0 1 0 0

1 0 0 0 1 1

0 1 1 1 1 0

1 1 0 1 1 1

1 1 1 1 0 1

1 0 1 0 0 1

Qn Qn+1 D

0 0 0

0 1 1

1 0 0

1 1 1

Page 90: Indices de eficacia de la Técnica del Borrado en la

79

D2 = Q1

D1 =

D0 = Q2

Q1

1

1 Q0

Q2

1

1

Q1

Q0

Q2

1 1

1 1

Q1

1 1 Q0

Q2

1 1

Page 91: Indices de eficacia de la Técnica del Borrado en la

80

El circuito mostrado

también opera la sucesión

R-S bajo GF(8); pero

actuando un reloj en el

strobe de cada Flip Flop.

[4]

La arquitectura mostrada permite calcular el valor del síndrome S0 para una

palabra de código R-S bajo GF(8) desde el receptor.

El circuito es un simple verificador de paridad que acumula la suma en

módulo 2 de todos los símbolos que les son introducidos.

La arquitectura que permite calcular el valor del síndrome S1 contiene un

multiplicador de Campo de Galois en un bucle de realimentación de modo

que los primeros símbolos introducidos son elevados a potencias mayores

que los símbolos introducidos posteriormente ya que han circulado por el

multiplicador GF más veces.

Page 92: Indices de eficacia de la Técnica del Borrado en la

81

Page 93: Indices de eficacia de la Técnica del Borrado en la

82

Conclusiones

La implementación de circuitos multiplicadores para generar un

codificador Reed-Solomon bajo GF(8) es válido en los laboratorios

físicos de pregrado

La codificación Reed-Solomon se viene aplicando en la actualidad en

los sistemas de comunicaciones para corrección de errores en más de

50 años, y su popularidad se hizo evidente cuando Sony y Philips

inventaron el CD en el año 1982. La técnica del borrado es la más

eficiente.

Nuevamente la importancia del uso de los códigos Reed-Solomon se

ha hecho evidente con las ediciones de video en HD tanto en televisión

como en dispositivos móviles

En la actualidad con la difusión de la televisión digital terrestre ISDB-

T en nuestro país, antes de su implantación se difundieron por parte

de la delegación japonesa así como la de sus adversarios los

norteamericanos y europeos la fortaleza de la codificación Reed-

Solomon en el denominado canal externo.

Page 94: Indices de eficacia de la Técnica del Borrado en la

83

Referencias bibliográficas

[1] Kenneth H. Rosen. Handbook of Discrete and Combinatorial Mathematics

CRC Press. 2000. [ Pages 259-289, 896-935 ]

[2] Roberto Ramirez Caicedo. Interpolación Digital y Modelado de Ruido en

Procesadores de señal D / A para audio digital. Tesis de obtención de Título

Profesional. Año 2000. [ Páginas 29, 30-37, 40, 192-221 ]

[3] DiBEG. Beneficios sin límites en una sola tecnología: ISDB-T. Manual de

exposición. Hotel Marriott, Lima Perú. 10.02.2009

[4] John Watkinson. The Art of Digital Audio. Butterworth-Heinemann. 2001.

[ Pages 313-318, 330, 337-341, -506-514 ]

[5] Niels Ferguson and Bruce Schneier. Practical Cryptography. Editorial

Wiley Publishing, Inc. 2003. [ Pages 69-69, 74, 77, 86,. 100, 236 ]

[6] Roberto Ramirez Caicedo. Seguridad en la Transmisión de Datos. Editorial

Instituto de Investigación UTP. 2003. [ Páginas 216, 219-221, 224, 230-231 ]

[7] Roberto Ramirez Caicedo. Seguridad en la Transmisión de Datos. Editorial

Instituto de Investigación UTP. 2003. [ Páginas 200-211 ]

Page 95: Indices de eficacia de la Técnica del Borrado en la

84

Glosario

Anillo Estructura algebraica en matemáticas discretas. Un anillo es un conjunto en el que podemos sumar, restar y multiplicar.

Bits Binary Digits (Dígitos Binarios en inglés) Campo En álgebra abstracta, un campo es una estructura algebraica en la cual

las operaciones llamadas adición y multiplicación se pueden realizar y cumplen las propiedades: asociativa, conmutativa y distributiva de la multiplicación respecto de la adición

CRC Cyclic Redundance Coding (Código de Redundancia Cíclica, en inglés DSP Digital Signal Processing (Procesamiento Digital de Señales en inglés) Flip Flop Un biestable (flip-flop en inglés), es un multivibrador capaz de

permanecer en uno de dos estados posibles durante un tiempo indefinido en ausencia de perturbaciones.1 Esta característica es ampliamente utilizada en electrónica digital para memorizar información.

GF Galois Field (campo de Galois en inglés). Estructura matemática vinculada a las matemáticas discretas

ISDB-T ISDB (Integrated Services Digital Broadcasting) o Radiodifusión Digital de Servicios Integrados es un conjunto de normas creado por Japón para las transmisiones de radio digital y televisión digital.

Karnaugh Un mapa de Karnaugh (también conocido como tabla de Karnaugh o diagrama de Veitch, abreviado como Mapa-K o Mapa-KV) es un diagrama utilizado para la simplificación de funciones algebraicas Booleanas. El mapa de Karnaugh fue inventado en 1950 por Maurice Karnaugh, un físico y matemático de los laboratorios Bell. Las variables de la expresión son ordenadas en función de su peso y siguiendo el código Gray,

LSB Least Significant Bit (Bit menos significativo, en inglés) MSB Most Significant Bit (Bit más significativo, en inglés) Paridad Los códigos de paridad se usan en telecomunicaciones para detectar, y

en algunos casos corregir, errores en la transmisión. Para ellos se añade en origen un bit extra llamado bit de paridad a los n bits que forman el carácter original. Este valor del bit de paridad se determina de forma que el número total de bits 1 a transmitir sea par (código de paridad par) o impar (código de paridad impar). Así, para el código de paridad par el número de unos contando el

Page 96: Indices de eficacia de la Técnica del Borrado en la

85

carácter original y el bit de paridad tiene que ser par. Por lo tanto, el bit de paridad será un 0 si el número total de unos a transmitir es par y un 1 para un número impar de unos. Por el contrario, para el código de paridad impar el número de unos contando el carácter original y el bit de paridad ha de ser impar. De esta forma, el bit de paridad será un 0 si el número total de unos es impar y un 1 para un número par de unos.

RS Reed Solomon (abreviatura) Síndrome Es un código que utiliza para detectar errores. El síndrome depende

solo del vector error y no de la palabra de código transmitida. Twofish En criptografía, Twofish es un método de criptografía simétrica con

cifrado por bloques desarrollado por Counterpane Labs y presentado al concurso del NIST que buscaba un sustituto para DES (el concurso AES). El tamaño de bloque en Twofish es de 128 bits y el tamaño de clave puede llegar hasta 256 bits. Twofish llegó a la ronda final del concurso del NIST, pero no fue elegido para la estandarización. TwoFish quedó tercero, tras Rijndael y Serpent. Twofish fue diseñado por Bruce Schneier, John Kelsey, Doug Withing, David Wagner, Chris Hall y Niels Ferguson. El Extended Twofish team, que realizó más profundos criptoanálisis de Twofish y otros participantes a AES incluyen a Stefan Lucks, Tadayoshi Kohno, y Mike Stay.

VHDL VHDL es un lenguaje de especificación definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993) utilizado para describir circuitos digitales y para la automatización de diseño electrónico . VHDL es acrónimo proveniente de la combinación de dos acrónimos: VHSIC (Very High Speed Integrated Circuit) y HDL (Hardware Description Language). Aunque puede ser usado de forma general para describir cualquier circuito digital se usa principalmente para programar PLD (Programable Logic Device - Dispositivo Lógico Programable), FPGA (Field Programmable Gate Array), ASIC y similares.

XOR Operación booleana y que es representada por su compuerta respectiva. Se le denomina también suma exclusiva y se representa mediante el símbolo

Page 97: Indices de eficacia de la Técnica del Borrado en la

86

Indice alfabético

A ADSL 5 Anillo 29, 41, 52

B

Bits 6, 73, 74

C

Campos 28, 33, 52 Codificación 4, 8, 10, 82 CRC

D

Decodificación 4, 8, 10, 82 DSP 4

E

Esquema 8, 22, 52, 69

F

Flip Flop 78, 79, 80

G

Galois 27, 28, 49, 52

H

Hamming 35

I

ISDB-T 6, 7, 8, 9, 10

P

Page 98: Indices de eficacia de la Técnica del Borrado en la

87

Paridad 5, 7, 35

R

Reed – Solomon 3, 7, 5, 55

S

Síndrome 73, 74, 75, 80

T

Twofish 39, 43

V

VHDL 3

Page 99: Indices de eficacia de la Técnica del Borrado en la

Hoy en día las comunicaciones digitales se desarrollan de manera habitual en

cada instante de nuestras vidas, desde el uso de la telefonía celular hasta las

comunicaciones satelitales inclusive.

El uso de las herramientas digitales permite la simplificación de los

procedimientos habituales para reemplazarlos de manera eficaz y veloz, en

tiempo real.

Es muy común entonces, que los errores se cometen con cierta frecuencia y, la

capacidad de determinar el error y corregirlo permite reconocer si el emisor o

el receptor son capaces de efectuar tal proceso.

Es en ese sentido que la codificación Reed – Solomon dada su simplicidad, su

capacidad de eficacia y su fortaleza en el uso de las herramientas matemáticas

hagan posible que su implementación sea posible, hasta cierto nivel que pueda

ser utilizado en los estudios de ingeniería a todo nivel, y es precisamente este

proyecto el que permite un enfoque para tal propósito.