Sucesiones recurrentes lineales sobre campos finitos binarios y su aplicación en la criptografía
Enviado por Mayara Rosa Mier Macías
RESUMEN
En el presente trabajo se expone y analiza una de las herramientas más utilizadas para la construcción de criptosistemas de cifrado en flujo, los registros de desplazamiento con retroalimentación lineal (LSFRs, siglas en inglés), los cuales están basados en el principio matemático de las sucesiones recurrentes lineales (SRL) sobre los campos finitos binarios. Se brinda la fundamentación teórica de estos mecanismos presentando las definiciones y propiedades principales, que son necesarias para comprender su funcionamiento. Además, se detallan métodos teóricos y prácticos para la obtención de los parámetros de los LSFRs.
Palabras Claves: campo finito binario, sucesión recurrente lineal, registro de desplazamiento con retroalimentación lineal, cifrado de flujo.
INTRODUCCIÓN
La teoría de los campos finitos es una rama del Álgebra moderna que se ha convertido en muy actual desde la última mitad del siglo pasado, teniendo sus múltiples aplicaciones en la combinatoria, la teoría de códigos, la teoría matemática de los esquemas de conmutación, la teoría de números, la geometría algebraica, la teoría de Galois y en particular en Criptografía, donde se utilizan en la construcción de la mayoría de los códigos conocidos y su decodificación.
Las sucesiones sobre campos finitos cuyos términos dependerán de una manera sencilla de sus predecesores son de importancia para una variedad de aplicaciones ejemplo en la criptografía. Dichas sucesiones son fáciles de generar mediante procedimientos recursivos, lo cual es sin duda una característica ventajosa desde el punto de vista computacional y también tienden a tener propiedades estructurales útiles .
En 1917, J. Mauborgne y G. Vernam inventaron un criptosistema perfecto según el criterio de Shannon. Dicho sistema consistía en emplear una sucesión aleatoria de igual longitud que el mensaje, que se usaría una única vez, combinándola mediante alguna función simple e inversible (xor) con el texto en claro bit a bit.
En este trabajo analizaremos una herramienta para la construcción de este tipo de criptosistema, denominado en la criptografía moderna como algoritmo de cifrado en flujo, sobre campos finitos específicos: los binarios, o sea, los campos finitos de característica dos. Dichos criptosistemas no son más que la especificación de un generador pseudoaleatorio, que permiten cifrar mensajes de longitud arbitraria, combinando el mensaje con la sucesión (conjunto de elementos encadenados o sucesivos) mediante la operación or exclusivo bit a bit. Los mismos no proporcionan seguridad perfecta, ya que mientras en el cifrado de Vernam el número de posibles claves es tan grande como el de posibles mensajes, cuando empleamos un generador tenemos, como mucho, tantas sucesiones distintas como posibles valores del estado inicial del registro. Una herramienta a emplear para la construcción de estos criptosistemas la constituye los registros de desplazamiento con retroalimentación lineal (LSFR, estos son un tipo especial de circuitos electrónicos de conmutación que procesan la información presentada de una manera adecuada en forma de elementos del campo), los cuales están basados en el principio matemático de las sucesiones recurrentes lineales (SRL, ecuación que define una sucesión recursiva donde cada término de la sucesión es definido como una función de términos anteriores).
Debido a que permiten generar sucesiones con períodos muy grandes y con buenas propiedades estadísticas, además de su bien conocida estructura algebraica y su facilidad para ser implementados por hardware, estos se encuentran presentes en muchos de los generadores de sucesión propuestos en la literatura.
En marzo del 2009 se inauguró en nuestra Universidad Central "Martha Abreu" de Las Villas un Laboratorio de Criptografía Académica (LCA), ubicado en la facultad de Matemática, Física y Computación. Con el objetivo de potenciar investigaciones, en el centro del país, relacionadas con el análisis y diseño de algoritmos de cifrado en flujo.
Actualmente existe una gran variedad de principios de diseño para construir algoritmos de cifrado en flujo, pero uno de los más utilizados desde hace décadas son los registros de desplazamiento con retroalimentación lineal. Hoy por hoy, se reportan algunas deficiencias de seguridad, lo cual ha limitado su utilización y han impuesto transformaciones en su estructura y funcionamiento. No obstante, muchos de estos reportes no presentan información en detalle e incluso en algunos se especula acerca de los resultados planteados.
Problema científico:
Debido a lo anterior se hace necesario realizar un estudio sobre la base matemática de este principio de diseño, específicamente de las sucesiones recurrentes lineales sobre campos finitos binarios. De manera que facilite el análisis criptográfico de estos mecanismos y de esta forma explorar y determinar las potencialidades reales de utilización de los registros de desplazamiento con retroalimentación lineal en la construcción de criptosistemas de cifrado en flujo.
Hipótesis de investigación:
El análisis criptográfico de los registros de desplazamiento con retroalimentación lineal, basado en la teoría de las sucesiones recurrentes lineales sobre campos finitos binarios, permitirá determinar las potencialidades reales de utilización de los LFSR en la construcción de criptosistemas de cifrado en flujo.
Objetivo general:
Realizar un análisis criptográfico de los registros de desplazamiento con retroalimentación lineal, basado en la teoría de las sucesiones recurrentes lineales sobre campos finitos binarios.
Para lograr dicho objetivo general, se proponen los siguientes objetivos específicos:
1. Exponer la teoría general sobre los campos finitos binarios.
2. Profundizar en el estudio de las sucesiones recurrentes lineales sobre campos finitos binarios.
3. Presentar las propiedades generales de los LFSRs.
4. Determinar la relación entre las sucesiones recurrentes lineales y los registros de desplazamiento con retroalimentación lineal.
5. Analizar el funcionamiento de los registros de desplazamiento con retroalimentación lineal.
Para dar cumplimiento a estos objetivos es necesario plantearse las siguientes interrogantes científicas:
1. ¿Cuándo un campo finito es binario?
2. ¿Qué es una sucesión recurrente lineal binaria?
3. ¿Qué es un registro de desplazamiento con retroalimentación lineal?
4. ¿Qué relación existe entre las sucesiones recurrentes lineales y los registros de desplazamientos con retroalimentación lineal?
Con el propósito de resolver las interrogantes científicas que responden a los objetivos específicos fue necesario plantearse y solucionar las siguientes tareas de investigación:
1. Revisión bibliográfica sobre la teoría de los campos finitos, particularizando en los de característica dos. Consulta de libros, artículos y páginas de internet, entre otras fuentes.
2. Estudio de las sucesiones recurrentes lineales en campos finitos binarios.
3. Profundización en el estudio de los conceptos generales y funcionamiento de los registros de desplazamiento con retroalimentación lineal.
4. Representación de las salidas de los LSFRs como sucesiones recurrentes lineales.
5. Caracterización de las salidas de los LSFRs según los postulados de Golomb.
6. Exposición de la relación entre el polinomio de conexión y los coeficientes de la recurrencia lineal.
7. Explicación de los principios básicos de los ataques con texto claro conocido.
8. Obtención de los parámetros de los registros de desplazamiento con retroalimentación lineal.
9. Recuperación del estado inicial de los LFSRs.
Métodos de investigación científica:
Método hipotético-deductivo: Al elaborar la hipótesis de investigación a partir de los resultados de la revisión bibliográfica.
Inducción – deducción: Para en el estudio de las fuentes de información, extraer de ellas regularidades y tendencias relacionadas con el tema de investigación y la lógica de pensamiento cuyas interrelaciones y generalizaciones permiten la argumentación y la coherencia de la propuesta que se realice.
Histórico-lógico: Para el análisis de la trayectoria evolutiva de la investigación a partir de su objeto, antecedente y desarrollo. En la revisión de la literatura adecuada para la determinación de las tendencias actuales de cómo son usados los campos finitos en los criptosistemas.
Aportes de la investigación:
Los principales aportes de esta investigación son fundamentalmente teóricos, debido a que se presenta un procedimiento para la determinación del polinomio de retroalimentación de los LFSRs, a partir del conocimiento de cierta cantidad de elementos de salida y se exponen métodos para la recuperación del estado inicial, basados en la teoría de las sucesiones recurrentes lineales, bajo ciertos supuestos. Como resultado práctico se propone un algoritmo para la obtención del polinomio de retroalimentación de un LFSR.
Estructura del trabajo:
La tesis está estructurada en tres capítulos:
En el primer capítulo se abordan aspectos fundamentales de la teoría de los campos finitos particularizando en los binarios que son los de interés criptográfico y sobre los que se desarrolla la investigación. Además, especifican algunos conceptos y propiedades sobre las sucesiones recurrentes lineales definidas sobre estos tipos de campos finitos.
En el segundo capítulo se brindan las principales propiedades de los registros de desplazamientos con retroalimentación lineal, así como, de las sucesiones que estos generan. También, se representa la relación existente entre los registros de desplazamientos con retroalimentación lineal y las sucesiones recurrentes lineales.
En el tercer capítulo se exponen algunos métodos para el análisis de los registros de desplazamientos con retroalimentación lineal. Se presenta un procedimiento para la obtención de algunos parámetros de estos mecanismos a partir de la sucesión de salida. Además, se proponen métodos para la recuperación del estado inicial de los registros de desplazamiento con retroalimentación lineal.
CAPÍTULO I.
SUCESIONES RECURRENTES LINEALES SOBRE CAMPOS FINITOS BINARIOS
La teoría de los campos finitos tiene sus orígenes en los siglos XVII y XVIII con el estudio de una clase especial de campos finitos, los llamados campos primos, gracias a los aportes de matemáticos tan reconocidos como Pierre de Fermat (1601-1665), Leonhard Euler (1707-1783), Joseph-Louis Lagrange (1736-1813) y Adrien-Marie Legendre (1752-1833). La teoría general sobre los campos finitos comienza con los trabajos de Carl F. Gauss y Evariste Galois a principios del siglo XIX. También conocidos como campos de Galois, los campos finitos han tenido en los últimos años muchas aplicaciones, entre las que se cuentan los códigos algébricos, los esquemas criptográficos, los generadores de números aleatorios, el procesamiento digital de señales y los códigos de corrección de errores CITATION RLi86 l 1033 (Niederreiter, 1986).
Como se dijo anteriormente las sucesiones sobre campos finitos cuyos términos dependerán de una manera sencilla en sus predecesores son de importancia para una variedad de aplicaciones. Dichas sucesiones son fáciles de generar mediante procedimientos recursivos, lo cual es sin duda una característica ventajosa desde el punto de vista computacional y también tienden a tener propiedades estructurales útiles. De particular interés es el caso en los términos dependen linealmente de un número fijo de sus predecesores, lo que resulta en una sucesión de manera lineal llamada recurrente. Estas sucesiones se emplean, por ejemplo, en la teoría de la codificación, en la criptografía (véase el Capítulo 2), y en varias ramas de la ingeniería eléctrica CITATION RLi86 l 1033 (Niederreiter, 1986). En estas aplicaciones, el campo subyacente que se toma a menudo es , pero la teoría puede ser desarrollada bastante general para cualquier campo finito.
Este capítulo está compuesto por dos epígrafes. El primero está dividido en tres secciones, en primer lugar se aborda las definiciones y propiedades de los campos, en segundo las propiedades de polinomios sobre campos finitos, haciendo énfasis en los polinomios irreducibles y la tercera sección trata la caracterización de los campos finitos y un conjunto de propiedades que estos cumplen y que son importantes para la comprensión del trabajo y la fundamentación del tema a tratar en el próximo capítulo.
El segundo epígrafe es el más importante, está divido en 4 secciones; el primero se dedica a definir los tipos sucesiones recurrentes lineales sobre campos finitos; el segundo, al período de una sucesión recurrente lineal, el tercero a los métodos básicos de representación de las SRL y el último aborda las SRL sobre campos finitos binarios.
Las definiciones, teoremas y propiedades que se enuncian en el capítulo, se pueden encontrar en CITATION RLi86 l 1033 (Niederreiter, 1986) y CITATION Gar13 l 1033 (Panario, 2013) y lo relacionado a sucesión recurrente lineal en CITATION RLi86 l 3082 (Niederreiter, 1986). Igualmente las demostraciones de todos los teoremas, lemas y definiciones correspondientes a cada epígrafe. Para profundizar en el tema de campos finitos recomendamos también CITATION JAV09 l 3082 (Mendoza, 2009)).
Conceptos básicos
1.1.1 Campos finitos
Definición 1.1
Un campo es un conjunto no vacío con dos operaciones internas
donde
es un grupo conmutativo.
es un grupo conmutativo.
Se cumple la ley distributiva del producto con respecto a la suma.
Es decir, un campo es un anillo conmutativo en el que todo elemento distinto de cero tiene inverso.
Un subcampo de
es un subanillo de
que es en sí mismo un campo.
Lema 1.2
Un anillo conmutativo es un campo, si y solo si, no contiene ideales distintos de
y
Un homomorfismo de campos no es más que un homomorfismo de anillos. Este es siempre inyectivo, porque su núcleo, siendo un ideal propio, tiene que ser cero según el lema anterior.
Es fácil comprobar que la aplicación
donde es el neutro de
para el producto, es un homomorfismo de anillos y por tanto su núcleo es un ideal de
Pueden producirse entonces dos variantes:
El núcleo es
, entonces
puede extenderse a un homomorfismo
lo que indica que
contiene una copia de
En este caso se dice que
es de característica cero.
El núcleo es
para algún
natural, que además tiene que ser primo (de lo contrario existen en
dos elementos distintos de cero cuyo producto es cero). En este caso
contiene una copia de
y se dice que
es de característica
Este último caso es el que nos interesa, pues los campos finitos tienen característica
específicamente cuando se llaman campos binarios o de característica dos. Podemos percibir que un campo finito no es más que un campo con un número finito de elementos. Y como acabamos de apreciar, su característica es un número primo. Usaremos la notación
para referirnos al campo
son los llamados campos primos. Un campo de característica
se dice que tiene a
como su subcampo primo. Para el caso que nos interesa, cuando la característica es dos, entonces se dice que tiene a
como su subcampo primo, siendo
.
1.1.2 Polinomios
Sea el anillo de polinomios con coeficientes en el campo
Definición 1.3
Un polinomio se dice irreducible sobre
si
tiene grado positivo y no puede descomponerse como el producto de dos polinomios de
ambos de grado positivo.
Es evidente que los polinomios lineales (de grado uno) son irreducibles.
Una propiedad fundamental del anillo es que es un dominio de integridad si
lo es. Así que
es un dominio de integridad, con la propiedad adicional de que se cumple la división con resto. Esto es, dados cualesquiera
existen
tales que f=gq+r
donde
grd(f) es el grado del polinomio f)
Se dice que g divide a f y se denota g/f si existe q tal que f=gq La división con resto permite probar que
es un dominio de factorización única.
Cada polinomio no nulo f sobre un campo finito además de su grado grd(f) tiene otra característica numérica entera su orden.
Lema 1.4
Si el polinomio es un polinomio de grado
que satisface la condición
entonces existe un número natural
para el cual el binomio
se divide por el polinomio
Definición 1.5
Sea un polinomio no nulo. Si
entonces el menor número natural
para el cual el polinomio
divide a
se llama orden del polinomio
y se denota por
Pero si
entonces el polinomio
se puede representar de forma única como
donde
y y
y en este caso el orden del polinomio se define como
Teorema 1.6
Si es un polinomio irreducible sobre el campo
y
entonces
divide a
Teorema 1.7
Todo polinomio se puede descomponer de manera única, salvo el orden de los factores, como producto de polinomios irreducibles.
Los polinomios irreducibles en juegan el mismo papel que los números primos en
así podemos decir que si un polinomio irreducible sobre
divide un producto de polinomios en
entonces divide al menos a uno de los factores de este producto.
Definición 1.8
Un elemento se dice que es raíz de
si se cumple que
De la definición anterior y la división con resto se deduce el siguiente teorema.
Teorema 1.9
Sea irreducible y
una raíz de
para algún
si y solo si f divide a g
En particular, si consideramos se tiene
si y solo si
Aplicando este resultado un número finito de veces obtenemos el siguiente teorema.
Teorema 1.10
Un polinomio de grado
tiene a lo sumo
raíces en
Una consecuencia del resultado anterior es que los polinomios de grado 2 y 3 son irreducibles sobre si y solo si no tienen raíces en
Para ilustrar la utilidad de algunos conceptos y propiedades enunciados hasta el momento, veamos el siguiente ejemplo: hallar los polinomios mónicos (con coeficiente principal igual a 1) irreducibles sobre de grado 4.
Notemos que un polinomio , de cuarto grado, es irreducible si no tiene divisores de grado 1 o 2 en
Por tanto podemos calcular todos los productos de las formas
y
y compararlos con la lista de los
polinomios mónicos de grado 4 en
Encontramos entonces que
y
son los polinomios irreducibles que buscamos.
1.1.3 Caracterización de los campos finitos
Por el momento sólo tenemos como ejemplo de campo finito a ( primo). A continuación denotaremos por
al campo de
elementos (no decimos "un campo de
elementos" porque un campo finito de un orden determinado es único salvo isomorfismo).
Teorema 1.11
El anillo de restos donde
es un polinomio mónico irreducible de grado
es un campo. Este será el campo
, que se llama extensión algebraica de
de grado
(y se obtiene al adjuntarle a
una raíz del polinomio irreducible
Este campo está conformado por los polinomios de de grado menor que
, por tanto tiene
elementos. Sea
una raíz de
se puede representar
como el conjunto de los polinomios en
de grado
con coeficientes en
en este caso
se llama elemento definitorio de
Es decir
Este teorema da una forma de representar los elementos del campo mediante la raíz de un polinomio
irreducible sobre
a este
se le llama polinomio característico de la extensión
Ejemplo 1.12
Siendo raíz de
, que es irreducible sobre
Entonces
puede representarse por el conjunto
con la suma y la multiplicación usuales en
y reduciendo los elementos de grado mayor que uno mediante la relación Si queremos calcular por ejemplo
se tendría
Otra forma de ver la extensión es como espacio vectorial de dimensión
sobre
La representación que acabamos de dar nos permite tomar al conjunto
donde
es el elemento definitorio de
como una base de
a esta base se le llama base polinomial. Los elementos de
quedarán representados entonces en la forma
donde
Vimos cómo se extiende el campo adjuntando la raíz de un polinomio irreducible de grado
para obtener el campo
¿Pero qué podemos decir de un campo
que contiene a
Teorema 1.13
Sea un campo finito que contiene a
entonces
tiene
elementos, para algún
La demostración se obtiene considerando a
como espacio vectorial finito dimensional sobre de dimensión
Del teorema anterior se deduce una característica esencial de los campos finitos.
Teorema 1.14
Sea un campo finito de característica
entonces
tiene
elementos, para algún
Teorema 1.15
Dado el campo finito con
elementos, todo subcampo de
tendrá entonces elementos, donde
es un divisor de
La demostración se obtiene al aplicar el teorema 1.11 considerando a como subcampo de
por tanto
tiene característica
y
es una potencia del orden de
Definición 1.16
Sean los campos y
donde
es una extensión de
Si un polinomio
tiene todas sus raíces en
, y
es la menor extensión de
con esta característica, se dice que
es el campo de descomposición de F sobre
o que
se descompone en
Teorema 1.17
Sea un campo y
un polinomio de grado positivo en
entonces existe un campo de descomposición de
sobre Dos campos de descomposición de
sobre
son isomorfos bajo un isomorfismo que deja fijos los elementos de
y deja invariante el conjunto de las raíces de
Es evidente que el campo de descomposición de un polinomio es el menor campo que contiene todas sus raíces, así que el teorema anterior se deduce del proceso de adjuntar a
las raíces de y la segunda parte de la unicidad de los campos finitos.
De lo visto sobre polinomios irreducibles y su relación con las extensiones de campos podemos deducir que un polinomio cualquiera sobre un campo
se descompone en factores lineales
con
y factores irreducibles (de grado
sobre >1 Está claro que si se adjuntan todas las raíces de se obtiene su campo de descomposición. Una pregunta interesante es la siguiente: ¿Se obtendrá el campo de descomposición de
si se extiende
adjuntándole un subconjunto de las raíces de
La respuesta yace en el siguiente teorema.
Teorema 1.18
Si es un polinomio irreducible sobre
de grado
entonces
tiene una raíz
en
Es más, todas las raíces de
se hallan en
y están dadas por los
elementos
de
Corolario 1.19
Si es irreducible sobre
de grado
entonces
es su campo de descomposición. Si
no es irreducible sobre
su campo de descomposición es el menor campo en que se descomponen todos los factores irreducibles de
Definición 1.20
Los elementos de una extensión
de
se llaman conjugados de Fq con respecto a
En el siguiente teorema veremos una propiedad útil sobre los elementos de resultado de que
sea un grupo (de orden finito) bajo la operación de multiplicación.
Teorema 1.21
Todo elemento cumple la propiedad
Del teorema anterior se deduce una característica del polinomio de particular importancia en la teoría de campos finitos.
Lema 1.22
El polinomio se descompone en
como
y
es su campo de descomposición.
Del lema anterior se deduce que todo elemento de un campo finito es raíz de un polinomio en
considerar por ejemplo
al polinomio mónico de menor grado con esta propiedad para un elemento determinado
se le llama polinomio mínimo de
sobre
y se demuestra fácilmente que dicho polinomio es irreducible.
Los teoremas 1.13, 1.14 y 1.15 ofrecen una visión más clara sobre el número de elementos en un campo finito, la que en cierto sentido se refuerza con el siguiente teorema.
Teorema 1.23
Para todo primo y natural
existe un campo finito con
elementos
Para la demostración se considera el campo de descomposición del polinomio sobre el campo primo
Siendo
dicho campo de descomposición, se considera entonces el conjunto
o sea, el conjunto de raíces de
en f se demuestra entonces que
es un subcampo de
y al contener todas las raíces de
, por la definición 1.14
Así que S=F es un campo con
elementos.
Existen además otras formas de representar un campo una muy común es como potencias de un elemento fijo. Para verlo, primero es necesario enunciar el siguiente teorema.
Teorema 1.24
El grupo multiplicativo de un campo (denotado
es cíclico. Un generador de
se llama elemento primitivo de
De este teorema se deducen conclusiones importantes.
Teorema 1.25
Toda extensión de un campo
se puede considerar como una extensión de
al adjuntarle un solo elemento (a este tipo de extensiones se les denomina simples).
Para la demostración se considera extender al adjuntarle un elemento primitivo
de
De este razonamiento se deduce también que para cualquier
natural existe un polinomio irreducible en
de grado
este será el polinomio mínimo de un elemento primitivo de
Teorema 1.26
Los elementos conjugados de un con respecto a cualquier subcampo de
tienen un mismo orden en el grupo multiplicativo
Se demuestra a partir de la relación entre el orden de un elemento en un grupo cíclico y el orden de
para lo que se tiene en cuenta que am para cualquier
El polinomio mínimo de un elemento
está dado por y su grado
es un divisor de
.
Definición 1.27
Sea una extensión de
cuyo elemento definitorio
es raíz de un polinomio irreducible
de grado
Si todo elemento de
se puede expresar como una potencia de
(equivalentemente,
es un elemento primitivo de
se dice entonces que
es un polinomio primitivo.
Al ser un grupo cíclico, siempre existe en él un elemento (y un polinomio) primitivo.
Esto nos permite plantear siempre que
sea raíz de un polinomio primitivo sobre
La definición anterior se puede transcribir como sigue:
Definición 1.28
El polinomio de grado
se llama polinomio primitivo sobre el campo
si es el polinomio mínimo sobre el campo
de cierto elemento primitivo de la extensión
del campo
Página siguiente |