Cifrado en Flujo con Registro de Desplazamiento
Las cifras en flujo se incluyen dentro de los llamados criptosistemas de clave compartida. Los criptosistemas de clave compartida son aquellos en los que el emisor y el receptor comparten una misma clave para cifrar y descifrar mensajes.
Las cifras en flujo surgen como una aproximación optimizada del cifrado de Vernam. La idea es construir una clave lo bastante larga, cuando menos de la longitud del mensaje, a partir de una clave inicial corta mediante lo que se llama generador pseudoaleatorio. Este generador expande una clave corta, llamada semilla, para obtener una mucho más larga. Además, la operación de expansión tiene que tener unas características determinadas, ya que la secuencia que resulta se utiliza para cifrar el texto en claro.
En estos criptosistemas, la clave que se utiliza para cifrar el mensaje es la misma que se emplea para descifrarlo; por lo tanto, al utilizar siempre la misma clave, en cualquier momento el emisor puede pasar a ser receptor y a la inversa.
De una manera esquemática, un criptosistema de flujo se puede representar como muestra la figura siguiente:
Registros de desplazamiento realimentados linealmente
Un registro de desplazamiento de realimentación lineal (LFSR), de longitud n, es un dispositivo físico o lógico formado por n celdas de memoria y n puertas lógicas, tal como muestra la figura siguiente:

Al principio, las celdas contienen los valores de entrada, y a cada impulso de reloj el contenido de la celda si se desplaza a la celda si−1, y así se efectúan las operaciones asociadas. El elemento nuevo, sn+1, que se genera de este modo viene determinado por:
donde los ci ∈ {0, 1} corresponden a los valores de las puertas lógicas del esquema.
Es decir, los coeficientes serán 1 si hay una conexión, y 0 si no hay. Este nuevo elemento, sn+1, se sitúa en la celda sn, que ha quedado vacía a causa del desplazamiento.
El conjunto de valores contenidos en cada celda en un instante de tiempo se denomina estado. El estado inicial es el estado en que se halla el LFSR en el momento de empezar el proceso.
Funcionamiento de un LFSR de cuatro celdas
Veamos el funcionamiento de un LFSR de cuatro celdas:
Este registro de desplazamiento tiene como estado inicial 1010, que corresponde al impulso de reloj t=0. La evolución del estado en cada ciclo del procesador se muestra en la tabla siguiente:
En el impulso t = 1, el conjunto de celdas se desplaza pero no varía, ya que en las celdas s1 y s3 hay un 0 para t = 0. En cambio, para t = 2 ya ha habido modificaciones. En concreto, s4 = 0, ya que s4(t=2) = s1(t = 1) ! s3(t = 1) = 1 ! 1 = 0. En general, para i ≥ 1 tenemos:
- s4(t = i) = s3(t = i − 1) + s1(t = i − 1),
- s3(t = i) = s4(t = i − 1),
- s2(t = i) = s3(t = i − 1),
- s1(t = i) = s2(t = i − 1).
Observemos que en el impulso de reloj t = 6 volvemos a tener el estado inicial, y a partir de aquí la secuencia se repite. Luego, esta secuencia tiene periodo 6.
Accesado de: http://www.cleanmaster.co/contenido/pdf/modulo3.pdf





No hay comentarios:
Publicar un comentario