Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CRIPTOSISTEMAS DE CIFRADO
EN FLUJO
Algoritmo S C S Algoritmo
Determinístico Determinístico
Operaciones con
MENSAJE M bits M MENSAJE
Criptosistemas de Cifrado en Flujo
Universidad José Carlos Maríategui
A= 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 A=7; F=8
F= AC(1) = -1/15
Imprevisibilidad e implementación de Si
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.
S1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
S2 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1
Si 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Si 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Desplazamiento de un bit a la
izquierda
k=1 1 1 1 0 1 0 0 0 AC(1) = (4-4)/8 = 0
Si 0 1 1 1 0 1 0 0 Secuencia original
Si 0 1 1 1 0 1 0 0 No cumple con G3
Si 1 0 1 0 11 0 0 Sí cumple con G3
¿Qué sucede si
xi+1 = (a xi b)(mod n) Ejercicios a = 11 b=1
n = 16 x0 = 7?
Registros de desplazamiento
Generador de secuencia cifrante con registros de desplazamiento
Realimentación
g[a(t-1)a(t-2) ...a(t-n+1)] a(t-n)
Si es un bit 0 ó 1
Conexiones de puertas
?
S1 S2 S3 S4 Sn-1 Sn Si
Bit que se pierde
a(t-1) a(t-2) a(t-3) a(t-4) a(t-n+1) a(t-n)
Desplazamiento
a(i) es el contenido de la
celda i
Genera una secuencia con un período máximo 2n
NLFSR
Registros de Desplazamiento Realimentados No Linealmente
Registros de Desplazamiento Realimentados Linealmente
Por claridad se mantendrá la nomenclatura LFSR
inglesa
Criptosistemas de Cifrado en Flujo
Universidad José Carlos Maríategui
S1 S2 S3 S4 Si
Sea f(x) = x4 + x2 + 1
f(x) = x4 + x2 + 1
Sea la semilla:
S1S2S3S4 = 0111
f(x) = x4 + x2 + 1
Es imposible factorizar en
módulo 2 la función f(x)
mediante dos polinomios S1 S2 S3 S4 Si
f(x1) y f(x2) de grado menor
Problema
f(x) = x4 + x3 + x2 + x + 1
Sea la semilla:
S1S2S3S4 = 0001
S1S2S3S4 = 1001
S1 = S1
Registro Bit Si S4 Si
S11 S02 S03 S14
1001 1
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:
m-secuencia
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.
Rachas de Rachas de
Rachas de Longitud
Ceros Unos
1 2n-3 2n-3
2 2n-4 2n-4
... ... ...
p 2n-p-2 2n-p-2
... ... ...
n-2 1 1
n-1 1 0
n 0 1
TOTAL 2n-2 2n-2
Rachas de una m-secuencia
Si asignamos
C C C C4=1 valores de esos
1 2 3
S1 S2 S3 S4 Si 2 n = 8 bits
S1S2S3S4S5S6S7S8
seremos capaces
S5 = C1•S1 C2•S2 C3•S3 C4•S4
de resolver este
S6 = C1•S5 C2•S1 C3•S2 C4•S3 Primero se
sistema
S7 = C1•S6 C2•S5 C3•S1 C4•S2 transmite S4S3S2S1
(semilla) y luego
S8 = C1•S7 C2•S6 C3•S5 C4•S1 bits S5S6S7S8.
Criptosistemas de Cifrado en Flujo
Universidad José Carlos Maríategui
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.
Complejidad lineal LC
LC = n1; T = 2n1-1
Generador primitivo con n1 celdas LC = n1 + n2
Si
LC = n2 T = 2n2-1
Generador primitivo con n2 celdas T = mcm (2n1-1, 2n2-1)
Es el modelo usado por A5
LC = n1; T = 2n1-1
Generador primitivo con n1 celdas LC = n1 n2
Si
LC = n2 T = 2n2-1
Generador primitivo con n2 celdas T = mcm (2n1-1, 2n2-1)
El algoritmo de cifra A5
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.
3 registros
LFSR con R1 Una función
9: bit de reloj
mayoría entre
m-secuencia C1, C2 y C3 hace
f(x1) = x19+x18+x17+x14+1 que sólo los
22 C2 1 registros en los
Si que coincide el
R2 bit con ese valor
11: bit de reloj produzcan
desplazamiento.
R1 n1 = 19 En cada paso
f(x2) = x22+x21+1
R2 n2 = 22 habrá dos o tres
23 C3 8 1
registros en
R3 n3 = 23 R3 movimiento.
11: bit de reloj
Clave = 64 bits
f(x3) = x23+x22+x21+x8+1
F (C1,C2,C3) = C1C2 C 1C 3 C 2C 3
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.
C1 C2 C3 C1 C2 C3
0 0 0 Desplazan todos 1 0 0 No desplaza R1
0 0 1 No desplaza R3 1 0 1 No desplaza R2
0 1 0 No desplaza R2 1 1 0 No desplaza R3
0 1 1 No desplaza R1 1 1 1 Desplazan todos