SlideShare una empresa de Scribd logo
1 de 53
Seguridad Informática y Criptografía
Material Docente de
Libre Distribución
Ultima actualización del archivo: 01/03/06
Este archivo tiene: 51 diapositivas
Dr. Jorge Ramió Aguirre
Universidad Politécnica de Madrid
Curso de Seguridad Informática y Criptografía © JRA
v 4.1
Capítulo 11
Sistemas de Cifra en Flujo
Este archivo forma parte de un curso completo sobre Seguridad Informática y Criptografía. Se autoriza el
uso, reproducción en computador y su impresión en papel, sólo con fines docentes y/o personales,
respetando los créditos del autor. Queda prohibida su comercialización, excepto la edición en venta en el
Departamento de Publicaciones de la Escuela Universitaria de Informática de la Universidad Politécnica de
Madrid, España.
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 2
• Recordando la propuesta de cifrador hecha por Vernam en 1917,
los cifradores de flujo (sistemas con clave secreta) usarán:
– Un algoritmo de cifra basado en la función XOR.
– Una secuencia cifrante binaria y pseudoaleatoria denominada
S y que se obtiene a partir una clave secreta K compartida por
emisor y receptor, y un algoritmo generador determinístico.
– El mismo algoritmo para el descifrado debido el carácter
involutivo de la función XOR.
Clave K Clave K
Algoritmo
Determinístico
Algoritmo
Determinístico⊕ ⊕
secuencia cifrante
MM
SS
MENSAJE MENSAJE
C
Cifrador de flujo básico
Operaciones ⊕ con bits
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 3
Condiciones para una clave binaria segura
• Período:
– La clave deberá ser tanto o más larga que el mensaje. En la
práctica se usará una semilla K de unos 120 a 250 bits en cada
extremo del sistema para generar períodos superiores a 1035
.
• Distribución de bits:
– La distribución de bits de unos (1s) y ceros (0s) deberá ser
uniforme para que represente a una secuencia pseudoaleatoria.
Para ello deberá cumplir los postulados de Golomb:
Rachas de dígitos: uno o más bits entre dos bits distintos.
Función de autocorrelación fuera de fase AC(k): desplazamiento de k
bits sobre la misma secuencia Si.
Características de la secuencia cifrante S
http://ee.usc.edu/faculty_staff/bios/golomb.html
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 4
Rachas de una secuencia S de período T =
15
1 1 1 1 0 1 0 1 1 0 0 1 0 0 01 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Rachas de 0s
Racha de 00s
Rachas de 1s
El próximo
bit será un 1
El bit anterior
era un 0
0 entre dos 1s
1 entre dos 0s
Racha de 1111s
11 entre dos 0s Racha de 000s
00 entre dos 1sRacha de 11s
000 entre dos 1s
1111 entre dos 0s
Rachas de dígitos en una secuencia
Esta distribución
tan particular se
comentará más
adelante...
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 5
Las rachas, es decir la secuencia de dígitos iguales entre
dos dígitos distintos, deberán seguir una distribución
estadística de forma que la secuencia cifrante Si tenga un
comportamiento de clave aleatoria o pseudoaleatoria.
Para que esto se cumpla, es obvio que habrá mayor
número de rachas cortas que de rachas largas como se
observa en el ejemplo anterior.
Como veremos más adelante, esta distribución seguirá
una progresión geométrica. Por ejemplo una secuencia Si
podría tener 8 rachas de longitud uno, 4 de longitud dos,
2 de longitud tres y 1 de longitud cuatro.
Distribución de las rachas de dígitos
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 6
Función de autocorrelación:
– Autocorrelación AC(k) fuera de fase de una secuencia
Si de período T desplazada k bits a la izquierda:
AC(k) = (A - F) / T
Aciertos ⇒ bits iguales Fallos ⇒ bits diferentes
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
1 1 1 0 1 0 1 1 0 0 1 0 0 0 1
Si k = 1
A =
F =
A=7; F=8
AC(1) = -1/15
Si
Autocorrelación fuera de fase AC(k)
Ejemplo
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 7
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Como ejercicio, compruebe que para esta secuencia cifrante Si la
autocorrelación fuera de fase AC(k) para todos los valores de k
(1 ≤ k ≤ 14) es constante e igual a -1/15. Esta característica será
importante para que la clave sea considerada buena.
Si
Autocorrelación fuera de fase constante
Es decir, para que una secuencia cifrante S podamos considerarla
segura y apropiada para una cifra, además de cumplir con la
distribución de rachas vista anteriormente, deberá presentar una
autocorrelación fuera de fase AC(k) constante.
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 8
• Imprevisibilidad:
– Aunque se conozca una parte de la secuencia Si, la
probabilidad de predecir el próximo dígito no deberá
ser superior al 50%.
– Esta característica se definirá a partir de la
denominada complejidad lineal.
• Facilidad de implementación:
– Debe ser fácil construir un generador de secuencia
cifrante con circuitos electrónicos y chips, con bajo
coste, alta velocidad, bajo consumo, un alto nivel de
integración, etc.
Imprevisibilidad e implementación de Si
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 9
Postulado G1:
– Deberá existir igual número de ceros que de unos. Se
acepta como máximo una diferencia igual a la unidad.
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
En la secuencia S1 de 15 bits, hay 8 unos y 7
ceros. Luego sí cumple con el postulado G1.
S1
0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1
En la secuencia S2 de 16 bits, hay 7 unos y 9
ceros. Luego no cumple con el postulado G1.
S2
Primer postulado de Golomb G1
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 10
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0Si
¿Qué significa esto?
Si una secuencia Si como la indicada cumple con G1, quiere
decir que la probabilidad de recibir un bit 1 es igual a la de
recibir un bit 0, es decir un 50%.
Por lo tanto, a lo largo de una secuencia Si, independientemente
de los bits recibidos con anterioridad, en media será igualmente
probable recibir un “1” que un “0”, pues en la secuencia hay una
mitad de valores “1” y otra mitad de valores “0”.
Significado del postulado G1
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 11
Postulado G2:
– En un período T, la mitad de las rachas de Si serán de
longitud 1, la cuarta parte de longitud 2, la octava
parte de longitud 3, etc.
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0Si
En la secuencia Si de 15 bits, había 4 rachas de longitud uno, 2
rachas de longitud dos, 1 racha de longitud tres y 1 racha de
longitud cuatro. Este tipo de distribución en las rachas para
períodos impares, es típica de las denominadas m-secuencias
como veremos más adelante en el apartado generadores LFSR.
Las rachas de
esta secuencia
están en una
diapositiva
anterior
Segundo postulado de Golomb G2
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 12
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0Si
¿Qué significa esto?
Si una secuencia Si como la indicada cumple con G2, quiere
decir que la probabilidad de recibir un bit 1 o un bit 0, después
de haber recibido un 1 o un 0 es la misma, es decir un 50%.
Es decir, recibido por ejemplo un “1”, la cadena “10” deberá ser
igual de probable que la cadena “11”. Lo mismo sucede con un 0
al comienzo, o bien un 00, 01, 10, 11, 000, 001, etc. Existirá así
también una equiprobabilidad en función de los bits ya recibidos.
Como comprobaremos más adelante, esto va a significar que la
secuencia pasa por todos sus estados, es decir todos sus
restos.
Significado del postulado G2
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 13
Postulado G3:
– La autocorrelación AC(k) deberá ser constante
para todo valor de desplazamiento de k bits.
1 0 0 1 1 1 0Si
0 0 1 1 1 0 1 AC(1) = (3-7)/7 = -4/7
0 1 1 1 0 1 0
k = 1
AC(2) = (3-7)/7 = -4/7k = 2
k = 3 1 1 1 0 1 0 0 AC(3) = (3-7)/7 = -4/7
Tercer postulado de Golomb G3 (1/2)
Secuencia original
Desplazamiento de un bit a la izquierda
sigue
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 14
Tercer postulado de Golomb G3 (2/2)
Secuencia original
Secuencia original en fase
La secuencia Si = 1001110 de 7 bits cumple con G3
k = 4 1 1 0 1 0 0 1 AC(4) = (3-7)/7 = -4/7
1 0 0 1 1 1 0
k = 5 1 0 1 0 0 1 1 AC(5) = (3-7)/7 = -4/7
k = 6 0 1 0 0 1 1 1 AC(6) = (3-7)/7 = -4/7
k = 7 1 0 0 1 1 1 0
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 15
0 1 1 1 0 1 0 0Si
1 1 1 0 1 0 0 0 AC(1) = (4-4)/8 = 0
1 1 0 1 0 0 0 1
k = 1
AC(2) = (4-4)/8 = 0k = 2
k = 3 1 0 1 0 0 0 1 1 AC(3) = (2-6)/8 = -1/2
k = 4 0 1 0 0 0 1 1 1 AC(4) = (4-4)/8 = 0
Autocorrelación no constante (1/2)
Secuencia original
Desplazamiento de un bit a la izquierda
sigue
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 16
0 1 1 1 0 1 0 0Si
0 0 0 1 1 1 0 1k = 6
k = 7 0 0 1 1 1 0 1 0
k = 8 0 1 1 1 0 1 0 0
Autocorrelación no constante (2/2)
Secuencia original
AC(6) = (4-4)/8 = 0
AC(7) = (4-4)/8 = 0
Secuencia original en fase
La secuencia Si = 01110100 de 8 bits no cumple con G3
1 0 0 0 1 1 1 0k = 5 AC(5) = (2-6)/8 = -1/2
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 17
Si una secuencia cumple con el postulado G3 quiere decir
que, independientemente del trozo de secuencia elegido por
el atacante, no habrá una mayor cantidad de información que
en la secuencia anterior. Así, será imposible aplicar ataques
estadísticos a la secuencia recibida u observada al igual
como operábamos, por ejemplo y guardando las debidas
distancias, con el sistema Vigenère y el ataque de Kasiski.
Significado del postulado G3
0 1 1 1 0 1 0 0Si No cumple con G3
1 0 0 1 1 1 0Si Sí cumple con G3
¿Qué significa esto?
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 18
xi+1 = (a∗xi ± b)(mod n) será la secuencia cifrante
• Los valores a, b, n caracterizan al generador y se
utilizarán como clave secreta.
• El valor x0 se conoce como semilla; es el que inicia el
proceso generador de la clave Xi.
• La secuencia se genera desde i = 0 hasta i = n-1.
• Tiene como debilidad que resulta relativamente fácil
atacar la secuencia, de forma similar al criptoanálisis
de los cifradores afines vistos en criptografía clásica.
Generador de congruencia lineal
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 19
xi+1 = (a∗xi ± b)(mod n)
x1 = (5∗10+1) mod 16 = 3 x9 = (5∗2+1) mod 16 = 11
x2 = (5∗3+1) mod 16 = 0 x10 = (5∗11+1) mod 16 = 8
x3 = (5∗0+1) mod 16 = 1 x11 = (5∗8+1) mod 16 = 9
x4 = (5∗1+1) mod 16 = 6 x12 = (5∗9+1) mod 16 = 14
x5 = (5∗6+1) mod 16 = 15 x13 = (5∗14+1) mod 16 = 7
x6 = (5∗15+1) mod 16 = 12 x14 = (5∗7+1) mod 16 = 4
x7 = (5∗12+1) mod 16 = 13 x15 = (5∗4+1) mod 16 = 5
x8 = (5∗13+1) mod 16 = 2 x16 = (5∗5+1) mod 16 = 10
Sea:
a = 5 b = 1
n = 16 x0 = 10
Sea:
a = 5 b = 1
n = 16 x0 = 10
Si = 10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5
Ejemplo generador de congruencia lineal
Pero...
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 20
¿Qué sucede si
a = 5 b = 2
n = 16 x0 = 10?
¿Qué sucede si
a = 5 b = 2
n = 16 x0 = 10?
¿Qué sucede si
a = 5 b = 2
n = 16 x0 = 1?
¿Qué sucede si
a = 5 b = 2
n = 16 x0 = 1?
Ejercicios
¿Qué sucede si
a = 4 b = 1
n = 16 x0 = 10?
¿Qué sucede si
a = 4 b = 1
n = 16 x0 = 10?
Saque sus propias conclusiones.
Como habrá comprobado, este tipo de generadores de secuencia
cifrante no son criptográficamente nada interesantes.
Una vez hecho esto personalmente, pase a la siguiente diapositiva.
¿Algo falla en este tipo de generador?
xi+1 = (a∗xi ± b)(mod n)
¿Qué sucede si
a = 11 b = 1
n = 16 x0 = 7?
¿Qué sucede si
a = 11 b = 1
n = 16 x0 = 7?
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 21
Debilidad en este tipo de generadores
Si = (5∗10 + 2) mod 16
Si = 4, 6, 0, 2, 12, 14, 8, 10
Si = (5∗1 + 2) mod 16
Si = 7, 5, 11, 9, 15, 13, 3, 1
Se obtiene un período muy
bajo y sólo valores pares e
impares. El primer caso es
igual que el de los apuntes
pero con b = 2 ...  
Si = (4∗10 + 1) mod 16
Si = 9, 5, 5, ....
Peor aún, ya no se genera
una secuencia ...   
Si = (11∗7 + 1) mod 16
Si = 15, 7
El período que se genera es
sólo de tamaño dos ... 
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 22
Generador de secuencia cifrante con registros de desplazamiento
S1 S2 S3 S4 SnSn-1
g[a(t-1)a(t-2) ...a(t-n+1)]⊕a(t-n)
Si
Bit que se pierde
Realimentación
Desplazamiento
Conexiones de puertas
Genera una secuencia con un período máximo 2n
a(t-1) a(t-2) a(t-3) a(t-4) a(t-n+1) a(t-n)
Registros de Desplazamiento Realimentados No Linealmente
Registros de Desplazamiento Realimentados Linealmente
NLFSR
LFSR
?
a(i) es el contenido de la celda i
Si es un bit 0 ó 1
Registros de desplazamiento
Por claridad se mantendrá la nomenclatura inglesa
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 23
Introducción a los autómatas celulares
• Los registros de desplazamiento son un caso especial de los
denominados autómatas celulares finitos unidimensionales.
• Este autómata celular finito es un sistema dinámico con un
total de N células, dispuestas en un espacio unidimensional.
• Cada célula tendrá en cada instante un estado E y existirá
una función de transición f que, dependiendo de una
vecindad establecida entre las células, hará que en cada
instante de tiempo dicho autómata evolucione.
• En criptografía interesan los autómatas celulares que sean
reversibles, es decir, que permitan la evolución hacia atrás.
http://www.criptored.upm.es/investigacion/tfc_m317a.htm
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 24
Un generador de cuatro celdas (n = 4)
S1 S2 S3 S4
AND
XOR
NOT
OR
Si
Sea la semilla: S1S2S3S4 = 0111
0 0
1
0
0 1 1 1
1
Este es el estado
de las celdas y
las operaciones
previas antes de
producirse el
desplazamiento
de un bit hacia a
la derecha.
Operaciones
Generadores NLFSR (1/2)
S1 S2 S3 S4
Primera
operación
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 25
S1 S2 S3 S4
AND
XOR
NOT
OR
Si
Semilla: S1S2S3S4 = 0111
0 0
1
0
0 1 1 1
1
1
Si = 1110 1100 1010 0001; su período es máximo, Tmáx = 2n
= 24
= 16.
Se conoce como secuencia de De Bruijn. El contenido de las celdas
pasará por todos los estados posibles: desde 0000 hasta 1111.
1101
Generadores NLFSR (2/2)
Observe que primero
se transmite S4S3S2S1
y luego S5S6S7 ... S12.
S1 S2 S3 S4
http://mathworld.wolfram.com/deBruijnSequence.html
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 26
a(t) = C1a(t-1) ⊕ C2a(t-2) ⊕ C3a(t-3) ⊕ ... ⊕ Cna(t-n)
Ci = {1,0} ⇒ conexión/no conexión celda Cn = 1
Función única: XOR Tmáx = 2n
- 1
Polinomio asociado:
f(x) = Cnxn
+ Cn-1xn-1
+ .... + C2x2
+ C1x + 1
S1 S2 S3 S4
XOR
Si
Generador
LFSR de 4
etapas/celdas
Generador
LFSR de 4
etapas/celdas
C1 C2 C3 C4
Generadores lineales LFSR
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 27
En función del polinomio asociado tendremos:
• LFSR con polinomios factorizables
• No serán criptográficamente interesantes.
• LFSR con polinomios irreducibles
• No serán criptográficamente interesantes.
• LFSR con polinomios primitivos
• Según los postulados de Golomb, este tipo de polinomio
que genera todos los estados lineales posibles del cuerpo
de trabajo n, será el que nos entregue una secuencia
cifrante de interés criptográfico con período T = 2n
–1.
Tipos de generadores lineales LFSR
Observación: como la única función de realimentación de un
LFSR es un XOR, no estará permitida la cadena de todos ceros.
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 28
Generador f(x) factorizable de cuatro celdas (n = 4)
S1 S2 S3 S4
⊕
Si
Sea f(x) = x4
+ x2
+ 1
f(x) es factorizable porque:
Sea f(x1) = f(x2) = (x2
+x+1)
f(x) = f(x1) • f(x2)
f(x) = (x2
+x+1) • (x2
+x+1)
f(x) = x4
+2x3
+3x2
+2x+1
Tras la reducción módulo 2
Luego f(x) = x4
+ x2
+1
T dependerá de la semilla
T ≤ 2n
- 1
Y además, habrá períodos
secundarios divisores de T.
Problema
Generador LFSR con f(x) factorizable
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 29
S1 S2 S3 S4
⊕
Si
f(x) = x4
+ x2
+ 1
0 1 1 1
Registro Bit Si
0111 1
0011 1
1001 1
1100
Ejemplo LFSR con f(x) factorizable (1/2)
0
Primer bit:
resultado de
la operación
S1 = S2 ⊕ S4
Sea la semilla:
S1S2S3S4 = 0111
Registro Bit Si
1110 0
1111 1
0111 1 semilla. . .
Si = 111001 T = 6
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 30
S1 S2 S3 S4
⊕
Si
f(x) = x4
+ x2
+ 1
1 1 0 1
Registro Bit Si
1101 1
0110 0
1011 1
1101
Ejemplo LFSR con f(x) factorizable (2/2)
1
Si = 101
T = 3
semilla. . .
Primer bit:
resultado de
la operación
S1 = S2 ⊕ S4
T es un período
secundario y en
en este caso es
incluso menor
que la semilla.
Sea ahora la semilla:
S1S2S3S4 = 1101
S1 S2 S3 S4
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 31
Generador f(x) irreducible de cuatro celdas (n = 4)
S1 S2 S3 S4
⊕
Si
Sea f(x) = x4
+ x3
+ x2
+ x + 1
Es imposible factorizar
en módulo 2 la función
f(x) mediante dos
polinomios f(x1) y f(x2)
de grado menor
Ahora T ya no depende de la semilla
pero será un factor de Tmáx = 2n
– 1 y
no obtendremos un período máximo.
Problema
Generador LFSR con f(x) irreducible
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 32
f(x) = x4
+ x3
+ x2
+ x + 1
Registro Bit Si
0001 1
1000 0
1100 0
0110
Ejemplo de LFSR con f(x) irreducible
0
Sea la semilla:
S1S2S3S4 = 0001
Registro
0011 1
0001 1 semilla. . .
Si = 100011 T = 5 siendo
Tmáx = 2n
- 1 = 24
- 1 = 15
S1 S2 S3 S4
⊕
Si0 0 0
Bit Si
1
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 33
Generador f(x) primitivo de cuatro celdas (n = 4)
S1 S2 S3 S4
⊕
Si
Sea f(x) = x4
+ x + 1
f(x) no es factorizable
como f(x1)•f(x2) en
módulo 2. Será además
un generador del grupo.
T ya no dependerá de la semilla y será
el valor máximo Tmáx = 2n
- 1. Se van a
generar así las llamadas m-secuencias.
Habrá φ(2n
- 1)/n
polinomios primitivos
Habrá φ(2n
- 1)/n
polinomios primitivos
Generador LFSR con f(x) primitivo
http://www.theory.csc.uvic.ca/~cos/gen/poly.html
http://mathworld.wolfram.com/PrimitivePolynomial.htmlPolinomios
Generación polinomios
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 34
Generador f(x) primitivo de cuatro celdas (n = 4)
S1S2S3S4 = 1001
Registro Bit Si
1001 1
0100 0
0010 0
0001 1
S1 S2 S3 S4
⊕
Si
1000 0
T = 2n
- 1
T = 24
- 1
T = 15
1100 0
1110 0
1111 1
0111 1
1011 1
0101 1
1010 0
1101 1
0110 0
0011 1
1001 T = 15
Ejemplo de LFSR con f(x) primitivo
1 0 0 1
f(x) = x4
+ x + 1
S1 = S1 ⊕ S4
Si = 100100011110101
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 35
Características
• Tendrá una secuencia máxima de 2n
- 1 bits.
• Cumplirá con G1:
– Hay 2n bits 1 y 2n-1 bits 0.
• Cumplirá con G2:
– El vector binario de las celdas pasa por todos los
estados excepto la cadena de ceros que está prohibida.
Distribución típica de rachas de una m-secuencia.
• Cumplirá con G3:
– Los aciertos (A) serán iguales a 2n-1
- 1.
Secuencias de un LFSR con f(x) primitivo
m-secuencia
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 36
Sin embargo, no es un generador ideal para la cifra
porque su Complejidad Lineal es muy baja.
Rachas de Longitud Rachas de Ceros Rachas de Unos
2
...
p
...
n-2
n-1
n
1
TOTAL
2n-4
...
2n-p-2
...
1
1
0
2n-3
2n-2
2n-4
...
2n-p-2
...
1
0
1
2n-3
2n-2
Rachas de una m-secuencia
Rachas en Si de un LFSR con f(x) primitivo
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 37
Como este tipo de LFSR genera una secuencia de longitud máxima,
ésta será previsible y se puede encontrar la secuencia completa Si
de 2n
- 1 bits ...
¡ con sólo conocer 2n bits !
Por ejemplo, si conocemos sólo 2•10 = 20 bits en un sistema de 10
celdas con un período 210
-1 = 1.023, seremos capaces de encontrar
las conexiones de las celdas o valores de Ci y generar la secuencia
completa Si. Esta debilidad es la que usa el ataque conocido como
algoritmo de Berlekamp-Massey.
Debilidad de un LFSR con f(x) primitivo
http://ihome.ust.hk/~trippen/Cryptography/BM/frameset.html
http://planetmath.org/encyclopedia/BerlekampMasseyAlgorithm.html
Algoritmo
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 38
Si conocemos 2∗n = 8 bits S1S2S3S4S5S6S7S8 de un LFSR de
4 celdas C1C2C3C4, tenemos el sistema de ecuaciones:
S5 = C1•S1⊕ C2•S2⊕ C3•S3⊕ C4•S4
S6 = C1•S5⊕ C2•S1⊕ C3•S2⊕ C4•S3
S7 = C1•S6⊕ C2•S5⊕ C3•S1⊕ C4•S2
S8 = C1•S7⊕ C2•S6⊕ C3•S5⊕ C4•S1
⊕
SiS1 S2 S3 S4
Ejemplo de ataque de Berlekamp-Massey
Primero se transmite
S4S3S2S1 (semilla) y
luego bits S5S6S7S8.
Si asignamos valores
de esos 2∗n = 8 bits
S1S2S3S4S5S6S7S8
seremos capaces de
resolver este sistema
C1 C2 C3 C4=1
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 39
S5 = C1•S1⊕ C2•S2⊕ C3•S3⊕ C4•S4
S6 = C1•S5⊕ C2•S1⊕ C3•S2⊕ C4•S3
S7 = C1•S6⊕ C2•S5⊕ C3•S1⊕ C4•S2
S8 = C1•S7⊕ C2•S6⊕ C3•S5⊕ C4•S1
Si b1b2b3b4b5b6b7b8 = 11001000
son correlativos y como hay
cuatro celdas y primero se
transmite la semilla, entonces:
1 = C1•0 ⊕ C2•0 ⊕ C3•1⊕ C4•1
0 = C1•1 ⊕ C2•0 ⊕ C3•0 ⊕ C4•1
0 = C1•0 ⊕ C2•1 ⊕ C3•0 ⊕ C4•0
0 = C1•0 ⊕ C2•0 ⊕ C3•1 ⊕ C4•0
C2 = 0
C3 = 0 C4 = 1
C1 = 1
Solución al ataque de Berlekamp-Massey
S1 = 0 S5 = 1
S2 = 0 S6 = 0
S3 = 1 S7 = 0
S4 = 1 S8 = 0
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 40
CONCLUSIONES:
• Como se conoce la configuración del generador LFSR, y
Si es una m-secuencia de período 2n
- 1, entonces por el
conjunto de n celdas pasarán todos los restos del campo de
Galois de 2n
, excepto la cadena de n ceros que sabemos
está prohibida en estos sistemas generadores lineales.
• Para el ejemplo anterior, esto quiere decir que cualquier
grupo de 2n = 8 dígitos correlativos nos permite generar la
secuencia máxima, en este caso de 2n
= 16 bits.
• La solución es aumentar la complejidad lineal del
generador por ejemplo conectando varios LFRs.
Conclusiones ataque Berlekamp-Massey
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 41
o Un LFSR con polinomio primitivo de n celdas tendrá una
complejidad lineal LC igual a n; es decir con 2n bits se
puede generar la secuencia completa como hemos visto.
o Lo ideal es que si este LFSR entrega una secuencia Si con
un período igual a 2n
– 1, su LC fuese cercana a este valor.
o Para aumentar esta LC podemos usar:
o Operaciones no lineales de las secuencias del LFSR
o Operaciones de suma
o Operaciones de multiplicación
o Filtrado no lineal de los estados del LFSR.
Complejidad lineal LC
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 42
Operaciones no lineales con dos registros
Generador primitivo con n1 celdas
Generador primitivo con n2 celdas
⊕ Si
LC = n1; T = 2n1
-1
LC = n2 T = 2n2
-1
LC = n1 + n2
T = mcm (2n1
-1, 2n2
-1)
Generador primitivo con n1 celdas
Generador primitivo con n2 celdas
⊗ Si
LC = n1; T = 2n1
-1
LC = n2 T = 2n2
-1
LC = n1 ∗ n2
T = mcm (2n1
-1, 2n2
-1)
Es el modelo usado por A5
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 43
Generadores LFSR con filtrado no lineal
Generador de Geffe
LFSR 2
LFSR 3
LFSR 1
Selector
a2
a3
a1
Si
• Si a1 es un 0 ⇒ Si es el bit de a2
• Si a1 es un 1 ⇒ Si es el bit de a3
Luego: Si = a2 ⊕ a1a2 ⊕ a1a3
0
1
LC = (n1 + 1)n2 ⊕ n1n3
T = mcm (2n1
-1, 2n2
-1, 2n3
-1)
Se mejora la LC e incluso se aumenta si ponemos más LFSRs pero este
generador es débil ante ataques por correlación de bits. Existen muchos
esquemas en esta línea: Beth-Piper, Gollmann, Massey-Rueppel, etc.,
que no serán tratados en este capítulo.
Encontrará ataques algebraicos a cifradores de flujo en la siguiente Web.
http://www.cryptosystem.net/stream
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 44
Sistemas más conocidos:
• A5:
– Algoritmo no publicado propuesto en 1994. Versiones A5/1
fuerte (Europa) y A5/2 débil (exportación).
• RC4:
– Algoritmo de RSA Corp. (Rivest Cipher #4) desarrollado en
el año 1987, usado en Lotus Notes. Posteriormente se usa
en el navegador de Netscape desde 1999 y luego en otros
navegadores más actuales. No es público.
• SEAL:
– Algoritmo propuesto por IBM en 1994.
Algoritmos de cifrado en flujo
http://www.gemplus.com/smart/rd/publications/pdf/HG97chis.pdf
http://www.wisdom.weizmann.ac.il/~itsik/RC4/rc4.html
http://www.argo.es/~jcea/artic/hispasec33.htm
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 45
 El uso habitual de este algoritmo lo encontramos en el
cifrado del enlace entre el abonado y la central de un
teléfono móvil (celular) tipo GSM.
 Cada trama de conversación entre A y B tiene 228 bits, de
los cuales 114 son en sentido A → B y otros 114 en sentido
B → A. El generador entregará los 228 bits pseudoaleatorios
para la cifra de cada trama.
 Con cerca de 130 millones de usuarios en Europa y otros
100 millones de usuarios en el resto del mundo en 1999, el
sistema A5/1 sucumbió en diciembre de ese año a un ataque
realizado por Alex Biryukov, Adi Shamir y David Wagner.
El algoritmo de cifra A5
http://www.criptored.upm.es/guiateoria/gt_m116a.htm
http://cryptome.org/a51-bsw.htm
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 46
⊕
⊕
⊕
⊕Si
3 registros
LFSR con
m-secuencia
R1 ⇒ n1 = 19
R2 ⇒ n2 = 22
R3 ⇒ n3 = 23
Clave = 64 bits
Esquema del algoritmo de cifra A5/1
f(x1) = x19
+x18
+x17
+x14
+1
f(x2) = x22
+x21
+1
f(x3) = x23
+x22
+x21
+x8
+1
C11419 1
9: bit de reloj
C222 1
11: bit de reloj
C323 8 1
11: bit de reloj
Una función
mayoría entre
C1, C2 y C3 hace
que sólo los
registros en los
que coincide el
bit con ese
valor produzcan
desplazamiento.
En cada paso
habrá dos o tres
registros en
movimiento.
R1
R2
R3
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 47
F (C1,C2,C3) = C1C2 ⊕ C1C3 ⊕ C2C3
Si el bit de la celda del registro coincide con el resultado de F,
dicho registro estará en movimiento y se desplazará, en caso
contrario no desplazará.
Esta función mayoría entre las celdas C1, C2 y C3, permite que al
menos dos de los tres registros se desplacen en cada paso.
Función mayoría y ejemplo de secuencia
C1 C2 C3
0 0 0 Desplazan todos
0 0 1 No desplaza R3
0 1 0 No desplaza R2
0 1 1 No desplaza R1
C1 C2 C3
1 0 0 No desplaza R1
1 0 1 No desplaza R2
1 1 0 No desplaza R3
1 1 1 Desplazan todos
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 48
El período T vendrá dado por el mínimo común múltiplo de los tres
períodos individuales:
T = mcm (2n1
- 1, 2n2
- 1, 2n3
- 1)
Como n1, n2 y n3 son primos entre sí, también lo serán los valores (2n1
-1), (2n2
- 1) y (2n3
- 1). Luego el período T será el producto:
T = T1∗T2∗T3
Entonces T = (219
-1)(222
-1)(223
-1) = 524.287∗4.194.303∗8.388.607
T = 18.446.702.292.280.803.327 < 264
Este valor demasiado bajo  sucumbe ante ataques distribuidos tal
como veremos cuando se estudien debilidades del algoritmo DES.
Consideraciones sobre el período de A5/1
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 49
• Usa los mismos tres registros de desplazamiento con polinomio
primitivo que A5/1:
– f(x1) = x19
+ x18
+ x17
+ x14
+ 1
– f(x2) = x22
+ x21
+ 1
– f(x3) = x23
+ x22
+ x21
+ x8
+ 1
• Además, usa un cuarto registro R4 con un polinomio primitivo:
– f(x4) = x17
+ x12
+ 1
• Usa cuatro copias de una función mayoría F para cada uno de los
cuatro registros que se define como:
– F(x1,x2,x3) = x1x2 + x1x3 + x2x3
Registros y función mayoría en A5/2
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 50
– En R1 las entradas a la función F1 son las celdas 13, 15 y 16.
– En R2 las entradas a la función F2 son las celdas 10, 14 y 17.
– En R3 las entradas a la función F3 son las celdas 14, 17 y 19.
– En R4 las entradas a la función F4 son las celdas 4, 8 y 11. La
salida de esta copia determina qué registros de R1,R2,R3 se
desplazarán en el ciclo.
• Complementación de celdas y sumas en salida de F:
– En R1 se complementa la celda 15 y se suma la celda 19 a F.
– En R2 se complementa la celda 17 y se suma la celda 22 a F.
– En R3 se complementa la celda 14 y se suma la celda 23 a F.
Otras operaciones de A5/2
Fin del capítulo
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 51
Cuestiones y ejercicios (1 de 3)
1. ¿Por qué en los sistemas de cifra en flujo se usa una función XOR
tanto en emisor como en receptor? ¿Son las claves aquí inversas?
2. Si tenemos una clave de 16 bits, ¿cuál es el período máximo que
podremos lograr en una secuencia cifrante lineal? ¿Por qué?
3. ¿Qué rachas encuentra en la secuencia 110100111010100?
4. ¿Por qué es lógico esperar más rachas cortas que rachas largas?
5. Si en una secuencia cifrante se observa una correlación fuera de
fase no constante, ¿qué significa? ¿Podríamos hacer un ataque
similar al que permite romper el sistema de cifra polialfabético de
Vigenère?
6. A nivel de probabilidades de ocurrencia de bits, ¿qué significan los
postulados de Golomb G1 y G2?
7. ¿Qué significa que una secuencia cifrante pase por todos los estados
o restos posibles? ¿Cuál sería en este caso su período?
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 52
Cuestiones y ejercicios (2 de 3)
8. ¿Qué secuencias se obtiene con un generador de congruencia lineal
en el que a = 7, b = 4 y n = 8? ¿Y si ahora hacemos a = 3?
9. ¿Qué tipo de ataque podríamos intentar para romper una secuencia
cifrante obtenida con un generador de congruencia lineal?
10. ¿Por qué en un registro de desplazamiento siempre se realimenta el
bit de la última celda, es decir bit que sale a línea?
11. En el generador NLFSR de los apuntes si se cambia la función
AND por una OR, ¿qué sucede con la secuencia? Saque
conclusiones.
12. Decimos que los generadores LFSR tienen asociado un polinomio
f(x) = anxn
+ an-1xn-1
+ an-2xn-2
+ ... + a2x2
+ a1x + 1, donde ai toma los
valores de 0 ó 1. ¿Por qué f(x) termina en 1?
13. ¿Qué polinomio elegiría para un generador con LFSR, un polinomio
factorizable, uno irreducible o uno primitivo? ¿Por qué?
© Jorge Ramió Aguirre Madrid (España) 2006
Capítulo 11: Sistemas de Cifra en Flujo Página 53
Cuestiones y ejercicios (3 de 3)
14. ¿Por qué no está permitida la cadena de n ceros en un generador
LFSR de n etapas y en cambio sí en los NLFSR?
15. En el generador LFSR con f(x) primitivo de 4 etapas, la secuencia
pasa por todos los restos excepto 0000. Si usamos hora una semilla
distinta, ¿debemos hacer otra vez todos los cálculos o no? ¿Por qué?
16. Justifique la distribución de las rachas en una m-secuencia. ¿Por
qué tiene ese comportamiento extraño al final de las rachas largas?
17. ¿Qué debilidad de los sistemas LFSR con polinomios primitivos usa
el algoritmo de Berlekamp-Massey para realizar el ataque?
18. En un ataque de Berlekamp-Massey, ¿importa en qué posición de la
secuencia se encuentran los 2n bits? ¿Por qué?
19. ¿Por qué cree que el algoritmo A5/1 es débil? ¿Cuál fue el peor
error cometido por sus creadores?
Software de laboratorio de flujo: próximamente en página web de la asignatura.

Más contenido relacionado

Similar a Sistemas de cifra en flujo y postulados de Golomb

cifra flujo
 cifra flujo cifra flujo
cifra flujoG Hoyos A
 
Criptosistemas de cifrado en flujo
Criptosistemas de cifrado en flujoCriptosistemas de cifrado en flujo
Criptosistemas de cifrado en flujoCalzada Meza
 
Common Scrambling Algorithm al descubierto
Common Scrambling Algorithm  al descubiertoCommon Scrambling Algorithm  al descubierto
Common Scrambling Algorithm al descubiertoronroneo
 
Codificación Convolucional, Decodificador de Viterbi y Turbo Código
Codificación Convolucional, Decodificador de Viterbi y Turbo CódigoCodificación Convolucional, Decodificador de Viterbi y Turbo Código
Codificación Convolucional, Decodificador de Viterbi y Turbo CódigoOscar Javier Jimenez Revelo
 
Sistemas electronicos digitales
Sistemas electronicos digitalesSistemas electronicos digitales
Sistemas electronicos digitalesFrancesc Perez
 
Ejercicios_TeoriaOCW_zuz.pdf
Ejercicios_TeoriaOCW_zuz.pdfEjercicios_TeoriaOCW_zuz.pdf
Ejercicios_TeoriaOCW_zuz.pdfMelidaCedeo1
 
Aes tipo de encriptacion ppt utp
Aes tipo de encriptacion  ppt  utp Aes tipo de encriptacion  ppt  utp
Aes tipo de encriptacion ppt utp Home
 
Taller 4 josue stanley lazo rivera
Taller 4 josue stanley lazo riveraTaller 4 josue stanley lazo rivera
Taller 4 josue stanley lazo rivera1000028858888
 
Electrónica digital: sistemas secuenciales maquina de estado
Electrónica digital: sistemas secuenciales maquina de estadoElectrónica digital: sistemas secuenciales maquina de estado
Electrónica digital: sistemas secuenciales maquina de estadoSANTIAGO PABLO ALBERTO
 
Procedimiento de diseño
Procedimiento de diseñoProcedimiento de diseño
Procedimiento de diseñoEdmary Rojas
 
Lecture 11 precodificación y ecualización
Lecture 11 precodificación y ecualizaciónLecture 11 precodificación y ecualización
Lecture 11 precodificación y ecualizaciónnica2009
 
El método del lugar de las raíces
El método del lugar de las raícesEl método del lugar de las raíces
El método del lugar de las raícesBrady Martinez
 
Circuitos lógicos secuenciales
Circuitos lógicos secuencialesCircuitos lógicos secuenciales
Circuitos lógicos secuencialesPaolo Castillo
 
Electrónica digital: Tema 10 análisis y síntesis: introducción a los sistemas...
Electrónica digital: Tema 10 análisis y síntesis: introducción a los sistemas...Electrónica digital: Tema 10 análisis y síntesis: introducción a los sistemas...
Electrónica digital: Tema 10 análisis y síntesis: introducción a los sistemas...SANTIAGO PABLO ALBERTO
 

Similar a Sistemas de cifra en flujo y postulados de Golomb (20)

cifra flujo
 cifra flujo cifra flujo
cifra flujo
 
Criptosistemas de cifrado en flujo
Criptosistemas de cifrado en flujoCriptosistemas de cifrado en flujo
Criptosistemas de cifrado en flujo
 
Common Scrambling Algorithm al descubierto
Common Scrambling Algorithm  al descubiertoCommon Scrambling Algorithm  al descubierto
Common Scrambling Algorithm al descubierto
 
Codificación Convolucional, Decodificador de Viterbi y Turbo Código
Codificación Convolucional, Decodificador de Viterbi y Turbo CódigoCodificación Convolucional, Decodificador de Viterbi y Turbo Código
Codificación Convolucional, Decodificador de Viterbi y Turbo Código
 
Sistemas electronicos digitales
Sistemas electronicos digitalesSistemas electronicos digitales
Sistemas electronicos digitales
 
Ejercicios_TeoriaOCW_zuz.pdf
Ejercicios_TeoriaOCW_zuz.pdfEjercicios_TeoriaOCW_zuz.pdf
Ejercicios_TeoriaOCW_zuz.pdf
 
Aes tipo de encriptacion ppt utp
Aes tipo de encriptacion  ppt  utp Aes tipo de encriptacion  ppt  utp
Aes tipo de encriptacion ppt utp
 
Taller 4 josue stanley lazo rivera
Taller 4 josue stanley lazo riveraTaller 4 josue stanley lazo rivera
Taller 4 josue stanley lazo rivera
 
Clase 2 cdii
Clase 2 cdiiClase 2 cdii
Clase 2 cdii
 
Clase 2 cdii
Clase 2 cdiiClase 2 cdii
Clase 2 cdii
 
Electrónica digital: sistemas secuenciales maquina de estado
Electrónica digital: sistemas secuenciales maquina de estadoElectrónica digital: sistemas secuenciales maquina de estado
Electrónica digital: sistemas secuenciales maquina de estado
 
Procedimiento de diseño
Procedimiento de diseñoProcedimiento de diseño
Procedimiento de diseño
 
Lecture 11 precodificación y ecualización
Lecture 11 precodificación y ecualizaciónLecture 11 precodificación y ecualización
Lecture 11 precodificación y ecualización
 
El método del lugar de las raíces
El método del lugar de las raícesEl método del lugar de las raíces
El método del lugar de las raíces
 
Td apunte8
Td apunte8Td apunte8
Td apunte8
 
Clase 3 cdii
Clase 3 cdiiClase 3 cdii
Clase 3 cdii
 
Circuitos lógicos secuenciales
Circuitos lógicos secuencialesCircuitos lógicos secuenciales
Circuitos lógicos secuenciales
 
Electrónica digital: Tema 10 análisis y síntesis: introducción a los sistemas...
Electrónica digital: Tema 10 análisis y síntesis: introducción a los sistemas...Electrónica digital: Tema 10 análisis y síntesis: introducción a los sistemas...
Electrónica digital: Tema 10 análisis y síntesis: introducción a los sistemas...
 
ciruitos digitales
ciruitos digitalesciruitos digitales
ciruitos digitales
 
PDH
PDHPDH
PDH
 

Más de Roberto Moreno Doñoro (20)

21 bibsw tablasyotros
21 bibsw tablasyotros21 bibsw tablasyotros
21 bibsw tablasyotros
 
20 curvaselipticas
20 curvaselipticas20 curvaselipticas
20 curvaselipticas
 
19 protocoloscripto
19 protocoloscripto19 protocoloscripto
19 protocoloscripto
 
18 correoseguro
18 correoseguro18 correoseguro
18 correoseguro
 
17 certdigitalespkcs
17 certdigitalespkcs17 certdigitalespkcs
17 certdigitalespkcs
 
16 autenticafirma
16 autenticafirma16 autenticafirma
16 autenticafirma
 
15 funcioneshash
15 funcioneshash15 funcioneshash
15 funcioneshash
 
14 cifraasimetrica
14 cifraasimetrica14 cifraasimetrica
14 cifraasimetrica
 
13 ciframochilas
13 ciframochilas13 ciframochilas
13 ciframochilas
 
12 cifrasimetrica
12 cifrasimetrica12 cifrasimetrica
12 cifrasimetrica
 
10 ciframoderna
10 ciframoderna10 ciframoderna
10 ciframoderna
 
09 cifraclasica
09 cifraclasica09 cifraclasica
09 cifraclasica
 
08 compalgoritmos
08 compalgoritmos08 compalgoritmos
08 compalgoritmos
 
07 teorianumeros
07 teorianumeros07 teorianumeros
07 teorianumeros
 
06 teoriainfo
06 teoriainfo06 teoriainfo
06 teoriainfo
 
05 gestionseg
05 gestionseg05 gestionseg
05 gestionseg
 
04 calidadinfo
04 calidadinfo04 calidadinfo
04 calidadinfo
 
02 breveintrocripto
02 breveintrocripto02 breveintrocripto
02 breveintrocripto
 
01 presentalibro
01 presentalibro01 presentalibro
01 presentalibro
 
03 introseginfo
03 introseginfo03 introseginfo
03 introseginfo
 

Último

EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 

Último (20)

EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 

Sistemas de cifra en flujo y postulados de Golomb

  • 1. Seguridad Informática y Criptografía Material Docente de Libre Distribución Ultima actualización del archivo: 01/03/06 Este archivo tiene: 51 diapositivas Dr. Jorge Ramió Aguirre Universidad Politécnica de Madrid Curso de Seguridad Informática y Criptografía © JRA v 4.1 Capítulo 11 Sistemas de Cifra en Flujo Este archivo forma parte de un curso completo sobre Seguridad Informática y Criptografía. Se autoriza el uso, reproducción en computador y su impresión en papel, sólo con fines docentes y/o personales, respetando los créditos del autor. Queda prohibida su comercialización, excepto la edición en venta en el Departamento de Publicaciones de la Escuela Universitaria de Informática de la Universidad Politécnica de Madrid, España.
  • 2. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 2 • Recordando la propuesta de cifrador hecha por Vernam en 1917, los cifradores de flujo (sistemas con clave secreta) usarán: – Un algoritmo de cifra basado en la función XOR. – Una secuencia cifrante binaria y pseudoaleatoria denominada S y que se obtiene a partir una clave secreta K compartida por emisor y receptor, y un algoritmo generador determinístico. – El mismo algoritmo para el descifrado debido el carácter involutivo de la función XOR. Clave K Clave K Algoritmo Determinístico Algoritmo Determinístico⊕ ⊕ secuencia cifrante MM SS MENSAJE MENSAJE C Cifrador de flujo básico Operaciones ⊕ con bits
  • 3. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 3 Condiciones para una clave binaria segura • Período: – La clave deberá ser tanto o más larga que el mensaje. En la práctica se usará una semilla K de unos 120 a 250 bits en cada extremo del sistema para generar períodos superiores a 1035 . • Distribución de bits: – La distribución de bits de unos (1s) y ceros (0s) deberá ser uniforme para que represente a una secuencia pseudoaleatoria. Para ello deberá cumplir los postulados de Golomb: Rachas de dígitos: uno o más bits entre dos bits distintos. Función de autocorrelación fuera de fase AC(k): desplazamiento de k bits sobre la misma secuencia Si. Características de la secuencia cifrante S http://ee.usc.edu/faculty_staff/bios/golomb.html
  • 4. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 4 Rachas de una secuencia S de período T = 15 1 1 1 1 0 1 0 1 1 0 0 1 0 0 01 1 1 1 0 1 0 1 1 0 0 1 0 0 0 Rachas de 0s Racha de 00s Rachas de 1s El próximo bit será un 1 El bit anterior era un 0 0 entre dos 1s 1 entre dos 0s Racha de 1111s 11 entre dos 0s Racha de 000s 00 entre dos 1sRacha de 11s 000 entre dos 1s 1111 entre dos 0s Rachas de dígitos en una secuencia Esta distribución tan particular se comentará más adelante...
  • 5. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 5 Las rachas, es decir la secuencia de dígitos iguales entre dos dígitos distintos, deberán seguir una distribución estadística de forma que la secuencia cifrante Si tenga un comportamiento de clave aleatoria o pseudoaleatoria. Para que esto se cumpla, es obvio que habrá mayor número de rachas cortas que de rachas largas como se observa en el ejemplo anterior. Como veremos más adelante, esta distribución seguirá una progresión geométrica. Por ejemplo una secuencia Si podría tener 8 rachas de longitud uno, 4 de longitud dos, 2 de longitud tres y 1 de longitud cuatro. Distribución de las rachas de dígitos
  • 6. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 6 Función de autocorrelación: – Autocorrelación AC(k) fuera de fase de una secuencia Si de período T desplazada k bits a la izquierda: AC(k) = (A - F) / T Aciertos ⇒ bits iguales Fallos ⇒ bits diferentes 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 Si k = 1 A = F = A=7; F=8 AC(1) = -1/15 Si Autocorrelación fuera de fase AC(k) Ejemplo
  • 7. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 7 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 Como ejercicio, compruebe que para esta secuencia cifrante Si la autocorrelación fuera de fase AC(k) para todos los valores de k (1 ≤ k ≤ 14) es constante e igual a -1/15. Esta característica será importante para que la clave sea considerada buena. Si Autocorrelación fuera de fase constante Es decir, para que una secuencia cifrante S podamos considerarla segura y apropiada para una cifra, además de cumplir con la distribución de rachas vista anteriormente, deberá presentar una autocorrelación fuera de fase AC(k) constante.
  • 8. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 8 • Imprevisibilidad: – Aunque se conozca una parte de la secuencia Si, la probabilidad de predecir el próximo dígito no deberá ser superior al 50%. – Esta característica se definirá a partir de la denominada complejidad lineal. • Facilidad de implementación: – Debe ser fácil construir un generador de secuencia cifrante con circuitos electrónicos y chips, con bajo coste, alta velocidad, bajo consumo, un alto nivel de integración, etc. Imprevisibilidad e implementación de Si
  • 9. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 9 Postulado G1: – Deberá existir igual número de ceros que de unos. Se acepta como máximo una diferencia igual a la unidad. 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 En la secuencia S1 de 15 bits, hay 8 unos y 7 ceros. Luego sí cumple con el postulado G1. S1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 En la secuencia S2 de 16 bits, hay 7 unos y 9 ceros. Luego no cumple con el postulado G1. S2 Primer postulado de Golomb G1
  • 10. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 10 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0Si ¿Qué significa esto? Si una secuencia Si como la indicada cumple con G1, quiere decir que la probabilidad de recibir un bit 1 es igual a la de recibir un bit 0, es decir un 50%. Por lo tanto, a lo largo de una secuencia Si, independientemente de los bits recibidos con anterioridad, en media será igualmente probable recibir un “1” que un “0”, pues en la secuencia hay una mitad de valores “1” y otra mitad de valores “0”. Significado del postulado G1
  • 11. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 11 Postulado G2: – En un período T, la mitad de las rachas de Si serán de longitud 1, la cuarta parte de longitud 2, la octava parte de longitud 3, etc. 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0Si En la secuencia Si de 15 bits, había 4 rachas de longitud uno, 2 rachas de longitud dos, 1 racha de longitud tres y 1 racha de longitud cuatro. Este tipo de distribución en las rachas para períodos impares, es típica de las denominadas m-secuencias como veremos más adelante en el apartado generadores LFSR. Las rachas de esta secuencia están en una diapositiva anterior Segundo postulado de Golomb G2
  • 12. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 12 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0Si ¿Qué significa esto? Si una secuencia Si como la indicada cumple con G2, quiere decir que la probabilidad de recibir un bit 1 o un bit 0, después de haber recibido un 1 o un 0 es la misma, es decir un 50%. Es decir, recibido por ejemplo un “1”, la cadena “10” deberá ser igual de probable que la cadena “11”. Lo mismo sucede con un 0 al comienzo, o bien un 00, 01, 10, 11, 000, 001, etc. Existirá así también una equiprobabilidad en función de los bits ya recibidos. Como comprobaremos más adelante, esto va a significar que la secuencia pasa por todos sus estados, es decir todos sus restos. Significado del postulado G2
  • 13. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 13 Postulado G3: – La autocorrelación AC(k) deberá ser constante para todo valor de desplazamiento de k bits. 1 0 0 1 1 1 0Si 0 0 1 1 1 0 1 AC(1) = (3-7)/7 = -4/7 0 1 1 1 0 1 0 k = 1 AC(2) = (3-7)/7 = -4/7k = 2 k = 3 1 1 1 0 1 0 0 AC(3) = (3-7)/7 = -4/7 Tercer postulado de Golomb G3 (1/2) Secuencia original Desplazamiento de un bit a la izquierda sigue
  • 14. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 14 Tercer postulado de Golomb G3 (2/2) Secuencia original Secuencia original en fase La secuencia Si = 1001110 de 7 bits cumple con G3 k = 4 1 1 0 1 0 0 1 AC(4) = (3-7)/7 = -4/7 1 0 0 1 1 1 0 k = 5 1 0 1 0 0 1 1 AC(5) = (3-7)/7 = -4/7 k = 6 0 1 0 0 1 1 1 AC(6) = (3-7)/7 = -4/7 k = 7 1 0 0 1 1 1 0
  • 15. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 15 0 1 1 1 0 1 0 0Si 1 1 1 0 1 0 0 0 AC(1) = (4-4)/8 = 0 1 1 0 1 0 0 0 1 k = 1 AC(2) = (4-4)/8 = 0k = 2 k = 3 1 0 1 0 0 0 1 1 AC(3) = (2-6)/8 = -1/2 k = 4 0 1 0 0 0 1 1 1 AC(4) = (4-4)/8 = 0 Autocorrelación no constante (1/2) Secuencia original Desplazamiento de un bit a la izquierda sigue
  • 16. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 16 0 1 1 1 0 1 0 0Si 0 0 0 1 1 1 0 1k = 6 k = 7 0 0 1 1 1 0 1 0 k = 8 0 1 1 1 0 1 0 0 Autocorrelación no constante (2/2) Secuencia original AC(6) = (4-4)/8 = 0 AC(7) = (4-4)/8 = 0 Secuencia original en fase La secuencia Si = 01110100 de 8 bits no cumple con G3 1 0 0 0 1 1 1 0k = 5 AC(5) = (2-6)/8 = -1/2
  • 17. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 17 Si una secuencia cumple con el postulado G3 quiere decir que, independientemente del trozo de secuencia elegido por el atacante, no habrá una mayor cantidad de información que en la secuencia anterior. Así, será imposible aplicar ataques estadísticos a la secuencia recibida u observada al igual como operábamos, por ejemplo y guardando las debidas distancias, con el sistema Vigenère y el ataque de Kasiski. Significado del postulado G3 0 1 1 1 0 1 0 0Si No cumple con G3 1 0 0 1 1 1 0Si Sí cumple con G3 ¿Qué significa esto?
  • 18. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 18 xi+1 = (a∗xi ± b)(mod n) será la secuencia cifrante • Los valores a, b, n caracterizan al generador y se utilizarán como clave secreta. • El valor x0 se conoce como semilla; es el que inicia el proceso generador de la clave Xi. • La secuencia se genera desde i = 0 hasta i = n-1. • Tiene como debilidad que resulta relativamente fácil atacar la secuencia, de forma similar al criptoanálisis de los cifradores afines vistos en criptografía clásica. Generador de congruencia lineal
  • 19. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 19 xi+1 = (a∗xi ± b)(mod n) x1 = (5∗10+1) mod 16 = 3 x9 = (5∗2+1) mod 16 = 11 x2 = (5∗3+1) mod 16 = 0 x10 = (5∗11+1) mod 16 = 8 x3 = (5∗0+1) mod 16 = 1 x11 = (5∗8+1) mod 16 = 9 x4 = (5∗1+1) mod 16 = 6 x12 = (5∗9+1) mod 16 = 14 x5 = (5∗6+1) mod 16 = 15 x13 = (5∗14+1) mod 16 = 7 x6 = (5∗15+1) mod 16 = 12 x14 = (5∗7+1) mod 16 = 4 x7 = (5∗12+1) mod 16 = 13 x15 = (5∗4+1) mod 16 = 5 x8 = (5∗13+1) mod 16 = 2 x16 = (5∗5+1) mod 16 = 10 Sea: a = 5 b = 1 n = 16 x0 = 10 Sea: a = 5 b = 1 n = 16 x0 = 10 Si = 10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5 Ejemplo generador de congruencia lineal Pero...
  • 20. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 20 ¿Qué sucede si a = 5 b = 2 n = 16 x0 = 10? ¿Qué sucede si a = 5 b = 2 n = 16 x0 = 10? ¿Qué sucede si a = 5 b = 2 n = 16 x0 = 1? ¿Qué sucede si a = 5 b = 2 n = 16 x0 = 1? Ejercicios ¿Qué sucede si a = 4 b = 1 n = 16 x0 = 10? ¿Qué sucede si a = 4 b = 1 n = 16 x0 = 10? Saque sus propias conclusiones. Como habrá comprobado, este tipo de generadores de secuencia cifrante no son criptográficamente nada interesantes. Una vez hecho esto personalmente, pase a la siguiente diapositiva. ¿Algo falla en este tipo de generador? xi+1 = (a∗xi ± b)(mod n) ¿Qué sucede si a = 11 b = 1 n = 16 x0 = 7? ¿Qué sucede si a = 11 b = 1 n = 16 x0 = 7?
  • 21. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 21 Debilidad en este tipo de generadores Si = (5∗10 + 2) mod 16 Si = 4, 6, 0, 2, 12, 14, 8, 10 Si = (5∗1 + 2) mod 16 Si = 7, 5, 11, 9, 15, 13, 3, 1 Se obtiene un período muy bajo y sólo valores pares e impares. El primer caso es igual que el de los apuntes pero con b = 2 ...   Si = (4∗10 + 1) mod 16 Si = 9, 5, 5, .... Peor aún, ya no se genera una secuencia ...    Si = (11∗7 + 1) mod 16 Si = 15, 7 El período que se genera es sólo de tamaño dos ... 
  • 22. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 22 Generador de secuencia cifrante con registros de desplazamiento S1 S2 S3 S4 SnSn-1 g[a(t-1)a(t-2) ...a(t-n+1)]⊕a(t-n) Si Bit que se pierde Realimentación Desplazamiento Conexiones de puertas Genera una secuencia con un período máximo 2n a(t-1) a(t-2) a(t-3) a(t-4) a(t-n+1) a(t-n) Registros de Desplazamiento Realimentados No Linealmente Registros de Desplazamiento Realimentados Linealmente NLFSR LFSR ? a(i) es el contenido de la celda i Si es un bit 0 ó 1 Registros de desplazamiento Por claridad se mantendrá la nomenclatura inglesa
  • 23. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 23 Introducción a los autómatas celulares • Los registros de desplazamiento son un caso especial de los denominados autómatas celulares finitos unidimensionales. • Este autómata celular finito es un sistema dinámico con un total de N células, dispuestas en un espacio unidimensional. • Cada célula tendrá en cada instante un estado E y existirá una función de transición f que, dependiendo de una vecindad establecida entre las células, hará que en cada instante de tiempo dicho autómata evolucione. • En criptografía interesan los autómatas celulares que sean reversibles, es decir, que permitan la evolución hacia atrás. http://www.criptored.upm.es/investigacion/tfc_m317a.htm
  • 24. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 24 Un generador de cuatro celdas (n = 4) S1 S2 S3 S4 AND XOR NOT OR Si Sea la semilla: S1S2S3S4 = 0111 0 0 1 0 0 1 1 1 1 Este es el estado de las celdas y las operaciones previas antes de producirse el desplazamiento de un bit hacia a la derecha. Operaciones Generadores NLFSR (1/2) S1 S2 S3 S4 Primera operación
  • 25. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 25 S1 S2 S3 S4 AND XOR NOT OR Si Semilla: S1S2S3S4 = 0111 0 0 1 0 0 1 1 1 1 1 Si = 1110 1100 1010 0001; su período es máximo, Tmáx = 2n = 24 = 16. Se conoce como secuencia de De Bruijn. El contenido de las celdas pasará por todos los estados posibles: desde 0000 hasta 1111. 1101 Generadores NLFSR (2/2) Observe que primero se transmite S4S3S2S1 y luego S5S6S7 ... S12. S1 S2 S3 S4 http://mathworld.wolfram.com/deBruijnSequence.html
  • 26. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 26 a(t) = C1a(t-1) ⊕ C2a(t-2) ⊕ C3a(t-3) ⊕ ... ⊕ Cna(t-n) Ci = {1,0} ⇒ conexión/no conexión celda Cn = 1 Función única: XOR Tmáx = 2n - 1 Polinomio asociado: f(x) = Cnxn + Cn-1xn-1 + .... + C2x2 + C1x + 1 S1 S2 S3 S4 XOR Si Generador LFSR de 4 etapas/celdas Generador LFSR de 4 etapas/celdas C1 C2 C3 C4 Generadores lineales LFSR
  • 27. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 27 En función del polinomio asociado tendremos: • LFSR con polinomios factorizables • No serán criptográficamente interesantes. • LFSR con polinomios irreducibles • No serán criptográficamente interesantes. • LFSR con polinomios primitivos • Según los postulados de Golomb, este tipo de polinomio que genera todos los estados lineales posibles del cuerpo de trabajo n, será el que nos entregue una secuencia cifrante de interés criptográfico con período T = 2n –1. Tipos de generadores lineales LFSR Observación: como la única función de realimentación de un LFSR es un XOR, no estará permitida la cadena de todos ceros.
  • 28. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 28 Generador f(x) factorizable de cuatro celdas (n = 4) S1 S2 S3 S4 ⊕ Si Sea f(x) = x4 + x2 + 1 f(x) es factorizable porque: Sea f(x1) = f(x2) = (x2 +x+1) f(x) = f(x1) • f(x2) f(x) = (x2 +x+1) • (x2 +x+1) f(x) = x4 +2x3 +3x2 +2x+1 Tras la reducción módulo 2 Luego f(x) = x4 + x2 +1 T dependerá de la semilla T ≤ 2n - 1 Y además, habrá períodos secundarios divisores de T. Problema Generador LFSR con f(x) factorizable
  • 29. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 29 S1 S2 S3 S4 ⊕ Si f(x) = x4 + x2 + 1 0 1 1 1 Registro Bit Si 0111 1 0011 1 1001 1 1100 Ejemplo LFSR con f(x) factorizable (1/2) 0 Primer bit: resultado de la operación S1 = S2 ⊕ S4 Sea la semilla: S1S2S3S4 = 0111 Registro Bit Si 1110 0 1111 1 0111 1 semilla. . . Si = 111001 T = 6
  • 30. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 30 S1 S2 S3 S4 ⊕ Si f(x) = x4 + x2 + 1 1 1 0 1 Registro Bit Si 1101 1 0110 0 1011 1 1101 Ejemplo LFSR con f(x) factorizable (2/2) 1 Si = 101 T = 3 semilla. . . Primer bit: resultado de la operación S1 = S2 ⊕ S4 T es un período secundario y en en este caso es incluso menor que la semilla. Sea ahora la semilla: S1S2S3S4 = 1101 S1 S2 S3 S4
  • 31. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 31 Generador f(x) irreducible de cuatro celdas (n = 4) S1 S2 S3 S4 ⊕ Si Sea f(x) = x4 + x3 + x2 + x + 1 Es imposible factorizar en módulo 2 la función f(x) mediante dos polinomios f(x1) y f(x2) de grado menor Ahora T ya no depende de la semilla pero será un factor de Tmáx = 2n – 1 y no obtendremos un período máximo. Problema Generador LFSR con f(x) irreducible
  • 32. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 32 f(x) = x4 + x3 + x2 + x + 1 Registro Bit Si 0001 1 1000 0 1100 0 0110 Ejemplo de LFSR con f(x) irreducible 0 Sea la semilla: S1S2S3S4 = 0001 Registro 0011 1 0001 1 semilla. . . Si = 100011 T = 5 siendo Tmáx = 2n - 1 = 24 - 1 = 15 S1 S2 S3 S4 ⊕ Si0 0 0 Bit Si 1
  • 33. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 33 Generador f(x) primitivo de cuatro celdas (n = 4) S1 S2 S3 S4 ⊕ Si Sea f(x) = x4 + x + 1 f(x) no es factorizable como f(x1)•f(x2) en módulo 2. Será además un generador del grupo. T ya no dependerá de la semilla y será el valor máximo Tmáx = 2n - 1. Se van a generar así las llamadas m-secuencias. Habrá φ(2n - 1)/n polinomios primitivos Habrá φ(2n - 1)/n polinomios primitivos Generador LFSR con f(x) primitivo http://www.theory.csc.uvic.ca/~cos/gen/poly.html http://mathworld.wolfram.com/PrimitivePolynomial.htmlPolinomios Generación polinomios
  • 34. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 34 Generador f(x) primitivo de cuatro celdas (n = 4) S1S2S3S4 = 1001 Registro Bit Si 1001 1 0100 0 0010 0 0001 1 S1 S2 S3 S4 ⊕ Si 1000 0 T = 2n - 1 T = 24 - 1 T = 15 1100 0 1110 0 1111 1 0111 1 1011 1 0101 1 1010 0 1101 1 0110 0 0011 1 1001 T = 15 Ejemplo de LFSR con f(x) primitivo 1 0 0 1 f(x) = x4 + x + 1 S1 = S1 ⊕ S4 Si = 100100011110101
  • 35. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 35 Características • Tendrá una secuencia máxima de 2n - 1 bits. • Cumplirá con G1: – Hay 2n bits 1 y 2n-1 bits 0. • Cumplirá con G2: – El vector binario de las celdas pasa por todos los estados excepto la cadena de ceros que está prohibida. Distribución típica de rachas de una m-secuencia. • Cumplirá con G3: – Los aciertos (A) serán iguales a 2n-1 - 1. Secuencias de un LFSR con f(x) primitivo m-secuencia
  • 36. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 36 Sin embargo, no es un generador ideal para la cifra porque su Complejidad Lineal es muy baja. Rachas de Longitud Rachas de Ceros Rachas de Unos 2 ... p ... n-2 n-1 n 1 TOTAL 2n-4 ... 2n-p-2 ... 1 1 0 2n-3 2n-2 2n-4 ... 2n-p-2 ... 1 0 1 2n-3 2n-2 Rachas de una m-secuencia Rachas en Si de un LFSR con f(x) primitivo
  • 37. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 37 Como este tipo de LFSR genera una secuencia de longitud máxima, ésta será previsible y se puede encontrar la secuencia completa Si de 2n - 1 bits ... ¡ con sólo conocer 2n bits ! Por ejemplo, si conocemos sólo 2•10 = 20 bits en un sistema de 10 celdas con un período 210 -1 = 1.023, seremos capaces de encontrar las conexiones de las celdas o valores de Ci y generar la secuencia completa Si. Esta debilidad es la que usa el ataque conocido como algoritmo de Berlekamp-Massey. Debilidad de un LFSR con f(x) primitivo http://ihome.ust.hk/~trippen/Cryptography/BM/frameset.html http://planetmath.org/encyclopedia/BerlekampMasseyAlgorithm.html Algoritmo
  • 38. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 38 Si conocemos 2∗n = 8 bits S1S2S3S4S5S6S7S8 de un LFSR de 4 celdas C1C2C3C4, tenemos el sistema de ecuaciones: S5 = C1•S1⊕ C2•S2⊕ C3•S3⊕ C4•S4 S6 = C1•S5⊕ C2•S1⊕ C3•S2⊕ C4•S3 S7 = C1•S6⊕ C2•S5⊕ C3•S1⊕ C4•S2 S8 = C1•S7⊕ C2•S6⊕ C3•S5⊕ C4•S1 ⊕ SiS1 S2 S3 S4 Ejemplo de ataque de Berlekamp-Massey Primero se transmite S4S3S2S1 (semilla) y luego bits S5S6S7S8. Si asignamos valores de esos 2∗n = 8 bits S1S2S3S4S5S6S7S8 seremos capaces de resolver este sistema C1 C2 C3 C4=1
  • 39. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 39 S5 = C1•S1⊕ C2•S2⊕ C3•S3⊕ C4•S4 S6 = C1•S5⊕ C2•S1⊕ C3•S2⊕ C4•S3 S7 = C1•S6⊕ C2•S5⊕ C3•S1⊕ C4•S2 S8 = C1•S7⊕ C2•S6⊕ C3•S5⊕ C4•S1 Si b1b2b3b4b5b6b7b8 = 11001000 son correlativos y como hay cuatro celdas y primero se transmite la semilla, entonces: 1 = C1•0 ⊕ C2•0 ⊕ C3•1⊕ C4•1 0 = C1•1 ⊕ C2•0 ⊕ C3•0 ⊕ C4•1 0 = C1•0 ⊕ C2•1 ⊕ C3•0 ⊕ C4•0 0 = C1•0 ⊕ C2•0 ⊕ C3•1 ⊕ C4•0 C2 = 0 C3 = 0 C4 = 1 C1 = 1 Solución al ataque de Berlekamp-Massey S1 = 0 S5 = 1 S2 = 0 S6 = 0 S3 = 1 S7 = 0 S4 = 1 S8 = 0
  • 40. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 40 CONCLUSIONES: • Como se conoce la configuración del generador LFSR, y Si es una m-secuencia de período 2n - 1, entonces por el conjunto de n celdas pasarán todos los restos del campo de Galois de 2n , excepto la cadena de n ceros que sabemos está prohibida en estos sistemas generadores lineales. • Para el ejemplo anterior, esto quiere decir que cualquier grupo de 2n = 8 dígitos correlativos nos permite generar la secuencia máxima, en este caso de 2n = 16 bits. • La solución es aumentar la complejidad lineal del generador por ejemplo conectando varios LFRs. Conclusiones ataque Berlekamp-Massey
  • 41. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 41 o Un LFSR con polinomio primitivo de n celdas tendrá una complejidad lineal LC igual a n; es decir con 2n bits se puede generar la secuencia completa como hemos visto. o Lo ideal es que si este LFSR entrega una secuencia Si con un período igual a 2n – 1, su LC fuese cercana a este valor. o Para aumentar esta LC podemos usar: o Operaciones no lineales de las secuencias del LFSR o Operaciones de suma o Operaciones de multiplicación o Filtrado no lineal de los estados del LFSR. Complejidad lineal LC
  • 42. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 42 Operaciones no lineales con dos registros Generador primitivo con n1 celdas Generador primitivo con n2 celdas ⊕ Si LC = n1; T = 2n1 -1 LC = n2 T = 2n2 -1 LC = n1 + n2 T = mcm (2n1 -1, 2n2 -1) Generador primitivo con n1 celdas Generador primitivo con n2 celdas ⊗ Si LC = n1; T = 2n1 -1 LC = n2 T = 2n2 -1 LC = n1 ∗ n2 T = mcm (2n1 -1, 2n2 -1) Es el modelo usado por A5
  • 43. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 43 Generadores LFSR con filtrado no lineal Generador de Geffe LFSR 2 LFSR 3 LFSR 1 Selector a2 a3 a1 Si • Si a1 es un 0 ⇒ Si es el bit de a2 • Si a1 es un 1 ⇒ Si es el bit de a3 Luego: Si = a2 ⊕ a1a2 ⊕ a1a3 0 1 LC = (n1 + 1)n2 ⊕ n1n3 T = mcm (2n1 -1, 2n2 -1, 2n3 -1) Se mejora la LC e incluso se aumenta si ponemos más LFSRs pero este generador es débil ante ataques por correlación de bits. Existen muchos esquemas en esta línea: Beth-Piper, Gollmann, Massey-Rueppel, etc., que no serán tratados en este capítulo. Encontrará ataques algebraicos a cifradores de flujo en la siguiente Web. http://www.cryptosystem.net/stream
  • 44. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 44 Sistemas más conocidos: • A5: – Algoritmo no publicado propuesto en 1994. Versiones A5/1 fuerte (Europa) y A5/2 débil (exportación). • RC4: – Algoritmo de RSA Corp. (Rivest Cipher #4) desarrollado en el año 1987, usado en Lotus Notes. Posteriormente se usa en el navegador de Netscape desde 1999 y luego en otros navegadores más actuales. No es público. • SEAL: – Algoritmo propuesto por IBM en 1994. Algoritmos de cifrado en flujo http://www.gemplus.com/smart/rd/publications/pdf/HG97chis.pdf http://www.wisdom.weizmann.ac.il/~itsik/RC4/rc4.html http://www.argo.es/~jcea/artic/hispasec33.htm
  • 45. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 45  El uso habitual de este algoritmo lo encontramos en el cifrado del enlace entre el abonado y la central de un teléfono móvil (celular) tipo GSM.  Cada trama de conversación entre A y B tiene 228 bits, de los cuales 114 son en sentido A → B y otros 114 en sentido B → A. El generador entregará los 228 bits pseudoaleatorios para la cifra de cada trama.  Con cerca de 130 millones de usuarios en Europa y otros 100 millones de usuarios en el resto del mundo en 1999, el sistema A5/1 sucumbió en diciembre de ese año a un ataque realizado por Alex Biryukov, Adi Shamir y David Wagner. El algoritmo de cifra A5 http://www.criptored.upm.es/guiateoria/gt_m116a.htm http://cryptome.org/a51-bsw.htm
  • 46. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 46 ⊕ ⊕ ⊕ ⊕Si 3 registros LFSR con m-secuencia R1 ⇒ n1 = 19 R2 ⇒ n2 = 22 R3 ⇒ n3 = 23 Clave = 64 bits Esquema del algoritmo de cifra A5/1 f(x1) = x19 +x18 +x17 +x14 +1 f(x2) = x22 +x21 +1 f(x3) = x23 +x22 +x21 +x8 +1 C11419 1 9: bit de reloj C222 1 11: bit de reloj C323 8 1 11: bit de reloj Una función mayoría entre C1, C2 y C3 hace que sólo los registros en los que coincide el bit con ese valor produzcan desplazamiento. En cada paso habrá dos o tres registros en movimiento. R1 R2 R3
  • 47. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 47 F (C1,C2,C3) = C1C2 ⊕ C1C3 ⊕ C2C3 Si el bit de la celda del registro coincide con el resultado de F, dicho registro estará en movimiento y se desplazará, en caso contrario no desplazará. Esta función mayoría entre las celdas C1, C2 y C3, permite que al menos dos de los tres registros se desplacen en cada paso. Función mayoría y ejemplo de secuencia C1 C2 C3 0 0 0 Desplazan todos 0 0 1 No desplaza R3 0 1 0 No desplaza R2 0 1 1 No desplaza R1 C1 C2 C3 1 0 0 No desplaza R1 1 0 1 No desplaza R2 1 1 0 No desplaza R3 1 1 1 Desplazan todos
  • 48. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 48 El período T vendrá dado por el mínimo común múltiplo de los tres períodos individuales: T = mcm (2n1 - 1, 2n2 - 1, 2n3 - 1) Como n1, n2 y n3 son primos entre sí, también lo serán los valores (2n1 -1), (2n2 - 1) y (2n3 - 1). Luego el período T será el producto: T = T1∗T2∗T3 Entonces T = (219 -1)(222 -1)(223 -1) = 524.287∗4.194.303∗8.388.607 T = 18.446.702.292.280.803.327 < 264 Este valor demasiado bajo  sucumbe ante ataques distribuidos tal como veremos cuando se estudien debilidades del algoritmo DES. Consideraciones sobre el período de A5/1
  • 49. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 49 • Usa los mismos tres registros de desplazamiento con polinomio primitivo que A5/1: – f(x1) = x19 + x18 + x17 + x14 + 1 – f(x2) = x22 + x21 + 1 – f(x3) = x23 + x22 + x21 + x8 + 1 • Además, usa un cuarto registro R4 con un polinomio primitivo: – f(x4) = x17 + x12 + 1 • Usa cuatro copias de una función mayoría F para cada uno de los cuatro registros que se define como: – F(x1,x2,x3) = x1x2 + x1x3 + x2x3 Registros y función mayoría en A5/2
  • 50. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 50 – En R1 las entradas a la función F1 son las celdas 13, 15 y 16. – En R2 las entradas a la función F2 son las celdas 10, 14 y 17. – En R3 las entradas a la función F3 son las celdas 14, 17 y 19. – En R4 las entradas a la función F4 son las celdas 4, 8 y 11. La salida de esta copia determina qué registros de R1,R2,R3 se desplazarán en el ciclo. • Complementación de celdas y sumas en salida de F: – En R1 se complementa la celda 15 y se suma la celda 19 a F. – En R2 se complementa la celda 17 y se suma la celda 22 a F. – En R3 se complementa la celda 14 y se suma la celda 23 a F. Otras operaciones de A5/2 Fin del capítulo
  • 51. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 51 Cuestiones y ejercicios (1 de 3) 1. ¿Por qué en los sistemas de cifra en flujo se usa una función XOR tanto en emisor como en receptor? ¿Son las claves aquí inversas? 2. Si tenemos una clave de 16 bits, ¿cuál es el período máximo que podremos lograr en una secuencia cifrante lineal? ¿Por qué? 3. ¿Qué rachas encuentra en la secuencia 110100111010100? 4. ¿Por qué es lógico esperar más rachas cortas que rachas largas? 5. Si en una secuencia cifrante se observa una correlación fuera de fase no constante, ¿qué significa? ¿Podríamos hacer un ataque similar al que permite romper el sistema de cifra polialfabético de Vigenère? 6. A nivel de probabilidades de ocurrencia de bits, ¿qué significan los postulados de Golomb G1 y G2? 7. ¿Qué significa que una secuencia cifrante pase por todos los estados o restos posibles? ¿Cuál sería en este caso su período?
  • 52. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 52 Cuestiones y ejercicios (2 de 3) 8. ¿Qué secuencias se obtiene con un generador de congruencia lineal en el que a = 7, b = 4 y n = 8? ¿Y si ahora hacemos a = 3? 9. ¿Qué tipo de ataque podríamos intentar para romper una secuencia cifrante obtenida con un generador de congruencia lineal? 10. ¿Por qué en un registro de desplazamiento siempre se realimenta el bit de la última celda, es decir bit que sale a línea? 11. En el generador NLFSR de los apuntes si se cambia la función AND por una OR, ¿qué sucede con la secuencia? Saque conclusiones. 12. Decimos que los generadores LFSR tienen asociado un polinomio f(x) = anxn + an-1xn-1 + an-2xn-2 + ... + a2x2 + a1x + 1, donde ai toma los valores de 0 ó 1. ¿Por qué f(x) termina en 1? 13. ¿Qué polinomio elegiría para un generador con LFSR, un polinomio factorizable, uno irreducible o uno primitivo? ¿Por qué?
  • 53. © Jorge Ramió Aguirre Madrid (España) 2006 Capítulo 11: Sistemas de Cifra en Flujo Página 53 Cuestiones y ejercicios (3 de 3) 14. ¿Por qué no está permitida la cadena de n ceros en un generador LFSR de n etapas y en cambio sí en los NLFSR? 15. En el generador LFSR con f(x) primitivo de 4 etapas, la secuencia pasa por todos los restos excepto 0000. Si usamos hora una semilla distinta, ¿debemos hacer otra vez todos los cálculos o no? ¿Por qué? 16. Justifique la distribución de las rachas en una m-secuencia. ¿Por qué tiene ese comportamiento extraño al final de las rachas largas? 17. ¿Qué debilidad de los sistemas LFSR con polinomios primitivos usa el algoritmo de Berlekamp-Massey para realizar el ataque? 18. En un ataque de Berlekamp-Massey, ¿importa en qué posición de la secuencia se encuentran los 2n bits? ¿Por qué? 19. ¿Por qué cree que el algoritmo A5/1 es débil? ¿Cuál fue el peor error cometido por sus creadores? Software de laboratorio de flujo: próximamente en página web de la asignatura.

Notas del editor

  1. NOTAS SOBRE EL TEMA:
  2. NOTAS SOBRE EL TEMA:
  3. NOTAS SOBRE EL TEMA:
  4. NOTAS SOBRE EL TEMA:
  5. NOTAS SOBRE EL TEMA:
  6. NOTAS SOBRE EL TEMA:
  7. NOTAS SOBRE EL TEMA:
  8. NOTAS SOBRE EL TEMA:
  9. NOTAS SOBRE EL TEMA:
  10. NOTAS SOBRE EL TEMA:
  11. NOTAS SOBRE EL TEMA:
  12. NOTAS SOBRE EL TEMA:
  13. NOTAS SOBRE EL TEMA:
  14. NOTAS SOBRE EL TEMA:
  15. NOTAS SOBRE EL TEMA:
  16. NOTAS SOBRE EL TEMA:
  17. NOTAS SOBRE EL TEMA:
  18. NOTAS SOBRE EL TEMA:
  19. NOTAS SOBRE EL TEMA:
  20. NOTAS SOBRE EL TEMA:
  21. NOTAS SOBRE EL TEMA:
  22. NOTAS SOBRE EL TEMA:
  23. NOTAS SOBRE EL TEMA:
  24. NOTAS SOBRE EL TEMA:
  25. NOTAS SOBRE EL TEMA:
  26. NOTAS SOBRE EL TEMA:
  27. NOTAS SOBRE EL TEMA:
  28. NOTAS SOBRE EL TEMA:
  29. NOTAS SOBRE EL TEMA:
  30. NOTAS SOBRE EL TEMA:
  31. NOTAS SOBRE EL TEMA:
  32. NOTAS SOBRE EL TEMA:
  33. NOTAS SOBRE EL TEMA:
  34. NOTAS SOBRE EL TEMA:
  35. NOTAS SOBRE EL TEMA:
  36. NOTAS SOBRE EL TEMA:
  37. NOTAS SOBRE EL TEMA:
  38. NOTAS SOBRE EL TEMA:
  39. NOTAS SOBRE EL TEMA:
  40. NOTAS SOBRE EL TEMA:
  41. NOTAS SOBRE EL TEMA:
  42. NOTAS SOBRE EL TEMA:
  43. NOTAS SOBRE EL TEMA:
  44. NOTAS SOBRE EL TEMA:
  45. NOTAS SOBRE EL TEMA:
  46. NOTAS SOBRE EL TEMA:
  47. NOTAS SOBRE EL TEMA:
  48. NOTAS SOBRE EL TEMA:
  49. NOTAS SOBRE EL TEMA:
  50. NOTAS SOBRE EL TEMA:
  51. NOTAS SOBRE EL TEMA:
  52. NOTAS SOBRE EL TEMA:
  53. NOTAS SOBRE EL TEMA: