Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SItema 09
SItema 09
SItema 09
El cifrador de Vernam
Siguiendo las propuesta de cifrador hecha en 1917 por
Vernam, los cifradores de flujo usan:
Una cifra basada en la funcin XOR.
Una secuencia cifrante binaria aleatoria.
Un algoritmo de cifrado es igual que el de descifrado por la
involucin de la funcin XOR.
Clave K
Algoritmo
Determinstico
MENSAJE
Criptograma
Clave K
secuencia cifrante
S
M
Algoritmo
Determinstico
MENSAJE
Tema 9: Cifrado
La secuencia cifrante Si
Condiciones para una clave segura
Perodo:
La clave deber ser tanto o ms larga que el mensaje. En
la prctica se usar una semilla de unos 120 a 250 bits
para generar perodos del orden de 10 30.
Distribucin de bits:
Rachas y AC(k)
Distribucin uniforme de unos y ceros que represente
una secuencia pseudoaleatoria (Postulados Golomb).
Rachas de dgitos: uno o ms bits entre dos bits distintos.
Funcin de Autocorrelacin Fuera de Fase AC(k):
desplazamiento de k bits sobre la misma secuencia S.
Tema 9: Cifrado
Rachas de dgitos
Rachas de una secuencia S de perodo 15
Bit anterior
es un 0
11 11 11 11 00 11 00 11 11 00 00 11 00 00 00
Prximo
bit es un 1
Rachas de 1s
Rachas de 0s
Un 0 entre dos 1s
Racha de 1111s
Un 1111 entre dos 0s
Un 1 entre dos 0s
Racha de 00s
Racha de 11s
Un 11 entre dos 0s
Un 00 entre dos 1s
Racha de 000s
Un 000 entre dos 1s
Tema 9: Cifrado
Tema 9: Cifrado
Ejemplo
Si
A=
1 1 1 0 1 0 1 1 0 0 1 0 0 0 1
F=
A=7; F=8
AC(1)= -1/15
Si k = 1
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Tema 9: Cifrado
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Tema 9: Cifrado
Imprevisibilidad e implementacin de Si
Imprevisibilidad:
Aunque se conozca una parte de la secuencia Si, la
probabilidad de predecir el prximo dgito no debe ser
superior al 50%.
Esto se define a partir de la Complejidad Lineal.
Facilidad de implementacin:
Debe ser fcil construir un generador de secuencia
cifrante con circuitos electrnicos y chips, con bajo
coste, alta velocidad, bajo consumo, un alto nivel de
integracin, etc.
Curso de Seguridad Informtica.
Jorge Rami Aguirre
Tema 9: Cifrado
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 cumple con el postulado G1.
S2
1 1 0 1 0 1 0 1 0 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.
Tema 9: Cifrado
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Qu significa esto?
Si una secuencia Si 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%.
A lo largo de una secuencia Si, en media ser igualmente
probable recibir un 1 que un 0 pues hay una mitad de
valores uno y otra mitad de valores cero.
Tema 9: Cifrado
10
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
esta secuencia
estn en una
diapositiva
anterior
Tema 9: Cifrado
11
1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
Qu significa esto?
Si una secuencia Si cumple con G2, quiere decir que la
probabilidad de recibir un bit 1 0 despus 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 es
igualmente probable que la cadena 11. Lo mismo sucede
con un 0 al comienzo, un 00, 01, 10, 11, 000, 001, etc.
Comprobaremos ms adelante que la secuencia pasa por
todos sus estados, es decir todos sus restos.
Tema 9: Cifrado
12
Si
0 1 1 1 0 1 0 0
Secuencia original
k=1
1 1 1 0 1 0 0 0
AC(1) = (4-4)/8 = 0
k=2
1 1 0 1 0 0 0 1
AC(2) = (4-4)/8 = 0
k=3
1 0 1 0 0 0 1 1
k=4
0 1 0 0 0 1 1 1
Tema 9: Cifrado
13
0 1 1 1 0 1 0 0
Secuencia original
k=5
1 0 0 0 1 1 1 0
k=6
0 0 0 1 1 1 0 1
AC(6) = (4-4)/8 = 0
k=7
0 0 1 1 1 0 1 0
AC(7) = (4-4)/8 = 0
k=8
0 1 1 1 0 1 0 0
Tema 9: Cifrado
14
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 significa esto?
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 informacin que
en la secuencia anterior. Ser imposible aplicar ataques
estadsticos a la secuencia recibida u observada.
Tema 9: Cifrado
15
Tema 9: Cifrado
16
x1 = (510+1) mod 16 = 3
x3 = (50+1) mod 16 = 1
x5 = (56+1) mod 16 = 15
x7 = (512+1) mod 16 = 13
x9 = (52+1) mod 16 = 11
x11 = (58+1) mod 16 = 9
x13 = (514+1) mod 16 = 7
x15 = (54+1) mod 16 = 5
Curso de Seguridad Informtica.
Jorge Rami Aguirre
x2 = (53+1) mod 16 = 0
x4 = (51+1) mod 16 = 6
x6 = (515+1) mod 16 = 12
x8 = (513+1) mod 16 = 2
x10 = (511+1) mod 16 = 8
x12 = (59+1) mod 16 = 14
x14 = (57+1) mod 16 = 4
x16 = (55+1) mod 16 = 10
Tema 9: Cifrado
17
Qusucede
sucedesisi
Qu
aa==55 bb==22
16 xx0==10?
10?
nn==16
0
Qusucede
sucedesisi
Qu
aa==55 bb==22
16 xx0==1?
1?
nn==16
0
Qusucede
sucedesisi
Qu
aa==44 bb==11
16 xx0==10?
10?
nn==16
0
Tema 9: Cifrado
18
Registros de desplazamiento
Generador de secuencia cifrante con registros de desplazamiento
Realimentacin
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
a(t-1)
a(t-2)
a(t-3)
a(t-4)
Desplazamiento
Sn-1
Sn
Si
a(t-n+1) a(t-n)
LFSR
Curso de Seguridad Informtica.
Jorge Rami Aguirre
Tema 9: Cifrado
19
Primera
operacin
XOR
1
0
OR
AND
NOT
S01
S12
S13
S14
S1
S2
S3
S4
Este es el estado
de las celdas y
las operaciones
previas antes de
producirse el
desplazamiento
de un bit hacia a
la derecha.
Si
Operaciones
Tema 9: Cifrado
20
XOR
1
0
OR
AND
NOT
S101
S012
S13
S14
S1
S2
S3
S4
Observe que
primero se
transmite
S4S3S2S1
Si
1
Tema 9: Cifrado
21
Tmx = 2n - 1
Polinomio asociado:
S1
C2
S2
C3
S3
C4
S4
Generador
Generador
LFSRde
de44
LFSR
etapas/celdas
etapas/celdas
Si
Tema 9: Cifrado
22
Tema 9: Cifrado
23
Sea f(x) = x4 + x2 + 1
f(x) es factorizable porque:
S1 S2 S3 S4
Problema
T depender de la semilla
n T 2n - 1
Y adems, habr perodos
secundarios divisores de T
Si
Tema 9: Cifrado
24
Sea la semilla:
S1S2S3S4 = 1101
Primer bit:
resultado de
la operacin
S1 = S2 S4
Registro
Bit Si
1101
0110
1011
1101
1
0
1
1
Si = 101
T=3
. . . semilla
Si
Observe que
en este caso la
secuencia Si es
incluso menor
que la semilla.
Tema 9: Cifrado
25
Primer bit:
resultado de
la operacin
S1 = S2 S4
Registro
Bit Si
Registro
Bit Si
0111
0011
1001
1100
1
1
1
0
1110
1111
0111
1
1
Si
. . . semilla
Si = 111001 T = 6
Tema 9: Cifrado
26
Sea f(x) = x4 + x3 + x2 + x + 1
Es imposible factorizar
en mdulo 2 la funcin
f(x) mediante dos
polinomios f(x1) y f(x2)
de grado menor
S1 S2 S3 S4
Si
Problema
Tema 9: Cifrado
27
Primer bit:
resultado de
la operacin
S1 = S2 S4
Registro
Bit Si
Registro
Bit Si
0001
1000
1100
0110
1
0
0
0
0011
0001
Si
. . . semilla
Si = 100011 T = 5 siendo
Tmx = 2n - 1 = 24- 1 = 15
Tema 9: Cifrado
28
S1 S2 S3 S4
Si
T ya no depender de la
semilla y ser un valor
mximo Tmx = 2n - 1.
Se generan m-secuencias
Tema 9: Cifrado
29
Bit Si
1001
0100
0010
0001
1000
1100
1
0
0
1
0
0
S1 = S1 S4
1110
1111
0111
1011
0101
Si
0
1
1
1
1
T = 2n - 1
T = 24 - 1
T = 15
1010
1101
0110
0011
0
1
0
1
1001
T = 15
Tema 9: Cifrado
30
m-secuencia
Tema 9: Cifrado
31
1
2
...
p
...
n-2
n-1
n
TOTAL
Rachas de Ceros
Rachas de Unos
2n-3
2n-4
...
2n-p-2
...
1
1
0
2n-2
2n-3
2n-4
...
2n-p-2
...
1
0
1
2n-2
Tema 9: Cifrado
32
Tema 9: Cifrado
33
C1 C2 C3
C4=1
S1 S2 S3 S4
Si
Si asignamos valores
de esos 2n = 8 bits
S1S2S3S4S5S6S7S8
seremos capaces de
resolver este sistema
Primero se transmite
S4S3S2S1 (semilla) y
luego bits S5S6S7S8.
Tema 9: Cifrado
34
Si los 8 bits
S1S2S3S4S5S6S7S8
son 1100 1000
S1 = 0 S5 = 1
S2 = 0 S6 = 0
S4 = 1 S8 = 0
S3 = 1 S7 = 0
C1 = 1
C2 = 0
C3 = 0
C4 = 1
Tema 9: Cifrado
35
Tema 9: Cifrado
36
SEAL:
Algoritmo propuesto por IBM en 1994.
A5:
Algoritmo no publicado propuesto en 1994. Versiones
A5/1 fuerte (Europa) y A5/2 dbil (exportacin).
Tema 9: Cifrado
37
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
telfono mvil (celular) tipo GSM.
Con ms de 100 millones de usuarios en Europa y
otros 100 millones de usuarios en el resto del mundo,
el sistema ha sucumbido a un ataque en diciembre de
1999 realizado por Alex Biryukov y Adi Shamir.
... y su futuro es incierto.
Curso de Seguridad Informtica.
Jorge Rami Aguirre
Tema 9: Cifrado
38
13
C1
3 LFSR con
R1
m-secuencia
C1: bit
de reloj
Si
21
R2
C2: bit
de reloj
19
nn11==19
22
nn22==22
C2
22
C3
R3
23
nn33==23
Clave = 64 bits
C3: bit
de reloj
Tema 9: Cifrado
39
Tema 9: Cifrado
40