Está en la página 1de 52

Seguridad Informtica y

Criptografa
Tema 3:

C R IP TO S IS TEM A S D E
C IFR A D O EN FLU JO

Alumno: Jos Antonio Calzada Meza


Especialidad: Ing. De Sistemas

C IFR A D O R ES C O N C LA V E
C O N TIN U A D E U N S O LO
U SO

Universidad Jos Carlos Marategui

Cifrador de fl
ujo bsico
Recordando la propuesta de cifrador hecha por Vernam en 1917,

los cifradores de flujo (sistemas con clave secreta) usarn:


Un algoritmo de cifra basado en la funcin 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
determinstico.
El mismo algoritmo para el descifrado debido el carcter
involutivo de la funcin XOR.

Clave K
Algoritmo
Determinstico

Clave K

secuencia cifrante

MENSAJE M

Operaciones con
bits
Criptosistemas de Cifrado en Flujo

Algoritmo
Determinstico

M MENSAJE

Universidad Jos Carlos Marategui

Caractersticas de la secuencia cifrante S

Condiciones para una clave binaria segura


Perodo:
La clave deber ser tanto o ms larga que el
mensaje. En la prctica se usar una semilla K de
unos 120 a 250 bits en cada extremo del sistema
para generar perodos superiores a 1035.
Distribucin de bits:
La distribucin 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 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 i.
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Rachas de dgitos en una secuencia


Rachas de una secuencia S de
perodo T = 15
El bit anterior
era un 0

00 00 00 11 00 00 11 11 00 11 00 11 11 11 11

Esta distribucin
tan particular se
comentar ms
...adelante

Rachas de 1s
Rachas de 0s
entre dos 1s 0

Racha de 1111s
entre dos 0s 1111

El prximo
bit ser un 1

entre dos 0s 1

Racha de 00s

Racha de 11s

entre dos 1s 00

entre dos 0s 11

Racha de 000s
entre dos 1s 000

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

D istribucin de las rachas de dgitos


Las rachas, es decir la secuencia de dgitos iguales entre dos dgitos
distintos, debern seguir una distribucin estadstica 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 nmero de
rachas cortas que de rachas largas como se observa en el ejemplo
.anterior
Como veremos ms adelante, esta distribucin seguir una
progresin geomtrica. Por ejemplo una secuencia Si podra tener 8
rachas de longitud uno, 4 de longitud dos, 2 de longitud tres y 1 de
.longitud cuatro

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Autocorrelacin fuera de fase AC(k)


Funcin de autocorrelacin:
Autocorrelacin AC(k) fuera de fase de una

secuencia Si de perodo T desplazada k bits


a la izquierda:
AC(k) = (A - F) / T
Ejemplo
Aciertos bits iguales
Fallos bits
Si k = 1
Si diferentes
0 0 0 1 0 0 1 1 0 1 0 1 1 1 1
=A

1 0 0 0 1 0 0 1 1 0 1 0 1 1 1

=F

A=7; F=8
AC(1) = -1/15

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Autocorrelacin fuera de fase


constante
Si

0 0 0 1 0 0 1 1 0 1 0 1 1 1 1

Como ejercicio, compruebe que para esta secuencia


cifrante Si la autocorrelacin fuera de fase AC(k) para
todos los valores de k (1 k 14) es constante e igual a
-1/15. Esta caracterstica ser importante para que la clave
.sea considerada buena
Es decir, para que una secuencia cifrante S podamos
considerarla segura y apropiada para una cifra, adems de
cumplir con la distribucin de rachas vista anteriormente,
deber presentar una autocorrelacin fuera de fase AC(k)
.constante
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Im previsibilidad e im plem entacin de S i


Imprevisibilidad:
Aunque se conozca una parte de la secuencia

Si, la probabilidad de predecir el prximo


dgito no deber ser superior al 50%.
Esta caracterstica se definir a partir de la
denominada 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
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Prim er postulado de G olom b G 1


Postulado G1:
Deber existir igual nmero de ceros que de

unos. Se acepta como mximo una diferencia


igual a la unidad.
S1

0 0 0 1 0 0 1 1 0 1 0 1 1 1 1
En la secuencia S1 de 15 bits, hay 8 unos y 7 ceros, luego
.cumple con el postulado G1

S2

1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1
En la secuencia S2 de 16 bits, hay 7 unos y 9 ceros,
.luego no cumple con el postulado G1
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Signifi
cado delpostulado G 1
Si

0 0 0 1 0 0 1 1 0 1 0 1 1 1 1

?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

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Segundo postulado de G olom b G 2


Postulado G2:
En un perodo T, la mitad de las rachas de

Si

Si sern de longitud 1, la cuarta parte de


Las rachas
longitud 2, la octava parte de longitud
3, de
esta secuencia
etc.
0 0 0 1 0 0 1 1 0 1 0 1 1 1 1

estn en una
diapositiva
anterior

En la secuencia Si de 15 bits, hay 4 rachas de longitud uno, 2 rachas de


longitud dos, 1 racha de longitud tres y 1 racha de longitud cuatro. Este tipo
de distribucin en las rachas para perodos impares, es tpica de las
denominadas m-secuencias como veremos ms adelante en el apartado
.generadores LFSR

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Signifi
cado delpostulado G 2
Si

0 0 0 1 0 0 1 1 0 1 0 1 1 1 1

?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
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Tercer postulado de G olom b G 3 (1)


Postulado G3:
La autocorrelacin AC(k) deber ser constante
para todo valor de desplazamiento de k bits.
Si

0 0 1 0 1 1 1 0

Secuencia original

Desplazamiento de un bit a la
izquierda

k=1

0 0 0 1 0 1 1 1

AC(1) = (4-4)/8 = 0

k=2

1 0 0 0 1 0 1 1

AC(2) = (4-4)/8 = 0

k=3

1 1 0 0 0 1 0 1

AC(3) = (2-6)/8 = -1/2

k=4

1 1 1 0 0 0 1 0

AC(4) = (4-4)/8 = 0

Criptosistemas de Cifrado en Flujo

sigue

Universidad Jos Carlos Marategui

Tercer postulado de G olom b G 3 (2)


Si

0 0 1 0 1 1 1 0

Secuencia original

k=5

0 1 1 1 0 0 0 1

AC(5) = (2-6)/8 = -1/2

k=6

1 0 1 1 1 0 0 0

AC(6) = (4-4)/8 = 0

k=7

0 1 0 1 1 1 0 0

AC(7) = (4-4)/8 = 0

k=8

0 0 1 0 1 1 1 0

Secuencia original en fase

.La secuencia Si = 01110100 de 8 bits no cumple con G3


. = - Si = 10101100 s cumple. Compruebe que AC(k)

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Signifi
cado delpostulado G 3
Si

0 0 1 0 1 1 1 0

No cumple con G3

Si

0 0 11 0 1 0 1

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

Criptosistemas de Cifrado en Flujo

ESTRU CTU RAS


G EN ERAD O RAS D E
SECU EN CIAS CIFRAN TES

Universidad Jos Carlos Marategui

G enerador de congruencia lineal(1)


xi+1 = (axi b)(mod n) secuencia cifrante
Los valores a, b, n caracterizan al generador y

se utilizan 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 de i = 0 hasta i = n-1.


Tiene como debilidad que resulta relativamente

fcil atacar la secuencia, de forma similar a los


cifradores afines de la criptografa clsica.
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

G enerador de congruencia lineal


xi+1 = (axi b)(mod n)

ser la secuencia cifrante

Los valores a, b, n caracterizan al

generador y se utilizarn 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
Criptosistemas
de Cifrado
relativamente fcil
atacar
laen Flujo
secuencia, de

Universidad Jos Carlos Marategui

Ejem plo generador de congruencia


lineal :Sea
:Sea
a
=
5
a=5
bb==11
16 xx0==10
10
nn==16
0

xi+1 = (axi b)(mod n)

...Pero

Si = 10, 3, 0, 1, 6, 15, 12, 13, 2, 11, 8, 9, 14, 7, 4, 5

x1 = (510+1) mod 16 = 3
x9 = (52+1) mod 16 = 11
x2 = (53+1) mod 16 = 0
x10 = (511+1) mod 16 = 8
x3 = (50+1) mod 16 = 1
x11 = (58+1) mod 16 = 9
x4 = (51+1) mod 16 = 6
x12 = (59+1) mod 16 = 14
x5 = (56+1) mod 16 = 15 x13 = (514+1) mod 16 = 7
x6 = (515+1) mod 16 = 12 x14 = (57+1) mod 16 = 4
x7 = (512+1) mod 16 = 13 x15 = (54+1) mod 16 = 5
x8 = (513+1) mod 16 = 2
x16 = (55+1) mod 16 = 10

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Algo falla en este tipo de generador?


xi+1 = (axi b)(mod n)

Qusucede
sucedesisi
Qu
11 bb==11
Ejercicios aa==11
16 xx0==77
??nn==16
0

Qusucede
sucedesisi Qu
Qusucede
sucedesisi
Qu
aa==55 bb==22
aa==55 bb==22
16 xx0==10
10
16 xx0==11
??nn==16
??nn==16
0
0

Qusucede
sucedesisi
Qu
aa==44 bb==11
16 xx0==10
10
??nn==16
0

. Saque sus propias conclusiones


Como habr comprobado, este tipo de generadores de
secuencia cifrante no son criptogrficamente nada
.interesantes
Una vez hecho esto personalmente, pase a la siguiente
.diapositiva
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

D ebilidad en este tipo de generadores


Si = (117 + 1) mod 16
Si = 15, 7
Si = (510 + 2) mod 16
Si = 4, 6, 0, 2, 12, 14, 8, 10
Si = (51 + 2) mod 16

El perodo que se genera es slo


de tamao dos ...

Se obtiene un perodo muy bajo y


slo valores pares e impares. El
primer caso es igual que el de los
apuntes pero con b = 2 ...

Si = 7, 5, 11, 9, 15, 13, 3, 1


Si = (410 + 1) mod 16
, ....Si = 9, 5, 5

Peor an, ya no se genera una


secuencia ...

Criptosistemas de Cifrado en Flujo

CIFRAD O S EN FLU JO CO N
REG ISTRO S D E
D ESPLAZAM IEN TO

Universidad Jos Carlos Marategui

Registros de desplazam iento


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)

Sn-1

Sn

Si
Bit que se pierde

a(t-n+1) a(t-n)

a(i) es el contenido de la
celda i
Genera una secuencia con un perodo mximo 2n

Desplazamiento

NLFSR

Registros de Desplazamiento Realimentados No Linealmente


Registros de Desplazamiento Realimentados Linealmente
Por claridad se mantendr la nomenclatura
inglesa
Criptosistemas de Cifrado en Flujo

LFSR

Universidad Jos Carlos Marategui

Introduccin a los autm atas celulares


Los registros de desplazamiento son un caso especial de los

denominados autmatas celulares finitos unidimensionales.


Este autmata celular finito es un sistema dinmico con un
total de N clulas, dispuestas en un espacio unidimensional.
Cada clula tendr en cada instante un estado E y existir
una funcin de transicin f que, dependiendo de una
vecindad establecida entre las clulas, har que en cada
instante de tiempo dicho autmata evolucione.
En criptografa interesan los autmatas celulares que sean
reversibles, es decir, que permitan la evolucin hacia atrs.

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

G eneradores N LFSR (1/2)


Un generador de cuatro
celdas (n = 4)
1

Primera
operaci
n
S01

S1

XOR

0 OR
0
AND
S12

S2

0
NOT
S13

S3

S14

S4

Sea la semilla: S1S2S3S4 = 0111

Criptosistemas de Cifrado en Flujo

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

Universidad Jos Carlos Marategui

G eneradores N LFSR (2/2)


1

Semilla: S1S2S3S4 = 0111

XOR

Observe que primero


se transmite S4S3S2S1
.y luego S5S6S7 ... S12

0 OR
0
AND

0
NOT

Si
S1
01

S0
12

S13

S14

S1

S2

S3

S4

Si = 1110 1100 1010 0001; su perodo es mximo, Tmx = 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

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

G eneradores lineales LFSR


a(t) = C1a(t-1) C2a(t-2) C3a(t-3) ...
Cna(t-n)
Ci = {1,0} conexin/no conexin celda
Cn = 1
Funcin nica: XOR

Tmx = 2n - 1

Polinomio asociado:
XOR

Generador

Generador
2
LFSRde
de44
LFSR
1

f(x) = CCnx +
Cn-1xC + ....
+ C2x + C x +
C
C
1
2
3
4
etapas/celdas
etapas/celdas
1
n

S1

n-1

S2

S3

S4

Criptosistemas de Cifrado en Flujo

Si

Universidad Jos Carlos Marategui

Tipos de generadores lineales LFSR


Observacin: como la nica funcin de realimentacin de
un
LFSR es un XOR, no estar permitida la cadena de
.todos ceros
:En funcin del polinomio asociado tendremos
LFSR con polinomios factorizables
. No sern criptogrficamente interesantes
LFSR con polinomios irreducibles
.No sern criptogrficamente interesantes
LFSR con polinomios primitivos
Segn 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 inters criptogrfico con
.perodo T = 2n 1

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

G enerador LFSR con f(x) factorizable


Generador f(x) factorizable de cuatro celdas (n = 4)

Sea f(x) = x + x + 1
4

:f(x) es factorizable porque


Sea f(x1) = f(x2) = (x2+x+1)

S1

S2

S3

Problema

f(x) = f(x1) f(x2)


f(x) = (x2+x+1) (x2+x+1)
f(x) = x4+2x3+3x2+2x+1
Tras la reduccin mdulo 2
Luego f(x) = x4 + x2 +1

S4

T depender de la semilla
T 2n - 1
Y adems, habr perodos
.secundarios divisores de T

Criptosistemas de Cifrado en Flujo

Si

Universidad Jos Carlos Marategui

Ejem plo LFSR con f(x)factorizable (1/2)


f(x) = x4 + x2 + 1

: Sea la semilla
S1S2S3S4 = 0111
S01

Registro
Primer bit:
resultado de la
operacin S1 =
S2 S 4

Bit Si

S12

Registro

S13

S14

Si

Bit Si

0111

1110

0011

1111

1001

0111

1100

Si = 111001

Criptosistemas de Cifrado en Flujo

...
T=6

semilla

Universidad Jos Carlos Marategui

Ejem plo LFSR con f(x) factorizable (2/2)


f(x) = x4 + x2 + 1

: Sea ahora la semilla


S1S2S3S4 = 1101
S11

Registro
Primer bit:
resultado de la
operacin S1 =
S2 S 4

1101

Bit Si

S12

S03

S14

S1 S2 S3 S4

0110

1011

1101

Si

Si = 101
T=3

...

semilla

Criptosistemas de Cifrado en Flujo

T es un
perodo
secundario y
en en este
caso es
incluso menor
.que la semilla

Universidad Jos Carlos Marategui

G enerador LFSR con f(x) irreducible


Generador f(x) irreducible de cuatro celdas (n = 4)
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

Problema
Ahora T ya no depende de la semilla
pero ser un factor de Tmx = 2n 1 y no
.obtendremos un perodo mximo

Criptosistemas de Cifrado en Flujo

Si

Universidad Jos Carlos Marategui

Ejem plo de LFSR con f(x) irreducible


f(x) = x4 + x3 + x2 + x + 1

: Sea la semilla
S1S2S3S4 = 0001
S01

Registro

Bit Si

S02

S03

Registro

S14

Si

Bit Si

0001

0011

1000

0001

1100

0110

...

semilla

Si = 100011 T = 5 siendo
Tmx = 2n - 1 = 24- 1 = 15

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

G enerador LFSR con f(x) prim itivo


Generador f(x) primitivo de cuatro
celdas
Sea
f(x) = x + x(n
+ 1= 4)
4

f(x) no es factorizable como


f(x1)f(x2) en mdulo 2. Ser
adems un generador del
.grupo

T ya no depender de la semilla y
ser el valor mximo Tmx = 2n - 1.
Se van a generar as las llamadas
.m-secuencias

Si
S1

S2

S3

S4

Habr(2
(2nn--1)/n
1)/n
Habr
polinomiosprimitivos
primitivos
polinomios

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Ejem plo de LFSR con f(x) prim itivo


Generador f(x) primitivo de cuatro celdas (n = 4)
f(x) = x4 + x + 1

S1S2S3S4 = 1001

Si = 100100011110101
S1 = S1 S4

Registro

Bit Si

1001

0100

1110

1010

0010

1111

1101

0001

0111

0110

1000

1011

0011

1100

0101

1001

S11

S02

S03

Criptosistemas de Cifrado en Flujo

Si

S14

T = 2n - 1
T = 24 - 1
T = 15

T = 15

Universidad Jos Carlos Marategui

Secuencias de un LFSR con f(x) prim itivo


Caractersticas
Tendr una secuencia mxima 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. Distribucin tpica de rachas de una
m-secuencia.

Cumplir con G3:


Los aciertos (A) sern iguales a 2 n-1 - 1.

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Rachas en S i de un LFSR con f(x) prim itivo


Rachas de Longitud

1
2
...
p
...
n-2
n-1
n
TOTAL

Rachas de
Ceros

2n-3
2n-4
...
2n-p-2
...
1
1
0
2n-2

Rachas de
Unos

2n-3
2n-4
...
2n-p-2
...
1
0
1
2n-2

Rachas de una m-secuencia

Sin embargo, no es un generador ideal


para la cifra porque su Complejidad
Lineal es muy baja.
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

D ebilidad de un LFSR con f(x)


prim itivo
Como este tipo de LFSR genera una secuencia de longitud
mxima, sta ser previsible y se puede encontrar la
secuencia completa Si de 2n - 1 bits ...
con slo conocer 2n bits !
Por ejemplo, si conocemos slo 210 = 20 bits en un
sistema de 10 celdas con un perodo 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.

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Ejem plo de ataque de Berlekam pM assey

Si conocemos 2n = 8 bits S1S2S3S4S5S6S7S8 de


un LFSR de 4 celdas C1C2C3C4, tenemos el
sistema de ecuaciones:

Si asignamos
C1 C2 C3
C4=1
valores de esos
Si
2n = 8 bits
S1 S2 S3 S4
S1S2S3S4S5S6S7S8
seremos capaces
de resolver este
Primero
se
S5 = C1S1 C2S2 C3S3 C4S4
sistema
transmite S4S3S2S1
S6 = C1S5 C2S1 C3S2 C4S3
(semilla) y luego
S7 = C1S6 C2S5 C3S1 C4S2 .bits S5S6S7S8
Flujo
S8 = C1S7 C2S6Criptosistemas
C3S5deCifrado
C4enS
1

Universidad Jos Carlos Marategui

Solucin alataque de Berlekam p-M assey


S5 = C1S1 C2S2 C3S3 C4S4 Si b1b2b3b4b5b6b7b8 =
11001000 son correlativos y
S6 = C1S5 C2S1 C3S2 C4S
3

como hay cuatro celdas y


S1 = 0 S5 =
S7 = C1S6 C2S5 C3S1 C4S2primero se
transmite la
1 entonces
:
semilla,
S8 = C1S7 C2S6 C3S5 C4S1
S2 = 0 S6 =
0
C10 C20 C31 C41 = 1
S3 = 1 S7 =
0
C11 C20 C30 C41 = 0
S4 = 1 S8 =
C
C2 = 0
01 = 1
C10 C21 C30 C40 = 0
C10 C20 C31 C40 = 0
Criptosistemas de Cifrado en Flujo

C3 = 0

C4 = 1

Universidad Jos Carlos Marategui

Conclusiones ataque Berlekam p-M assey


CONCLUSIONES:
Como se conoce la configuracin del generador LFSR,

y Si es una m-secuencia de perodo 2n - 1, entonces por


el conjunto de n celdas pasarn 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 dgitos correlativos nos
permite generar la secuencia mxima, en este caso de
2n = 16 bits.
La solucin es aumentar la complejidad lineal del
generador por ejemplo conectando varios LFRs.
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Com plejidad linealLC


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.
Lo ideal es que si este LFSR entrega una
secuencia Si con un perodo igual a 2n 1, su
LC fuese cercana a este valor.
Para aumentar esta LC podemos usar:
Operaciones no lineales de las secuencias
del LFSR
Operaciones de suma
Operaciones
de multiplicacin
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

O peraciones no lineales con dos registros


LC = n1; T = 2n1-1
Generador primitivo con n1 celdas

LC = n2 T = 2n2-1
Generador primitivo con n2 celdas

LC = n1 + n2
Si

T = mcm (2n1-1, 2n2-1)

Es el modelo usado por A5

LC = n1; T = 2n1-1
Generador primitivo con n1 celdas

LC = n2 T = 2n2-1
Generador primitivo con n2 celdas

LC = n1 n2
Si

T = mcm (2n1-1, 2n2-1)

Criptosistemas de Cifrado en Flujo

ALG O RITM O S D E CIFRA A5 Y RC4

Universidad Jos Carlos Marategui

Algoritm os de cifrado en fl
ujo
Sistemas ms conocidos:
A5:
Algoritmo no publicado propuesto en 1994. Versiones

A5/1 fuerte (Europa) y A5/2 dbil (exportacin).

RC4:
Algoritmo de RSA Corp. (Rivest Cipher #4)

desarrollado en el ao 1987, usado en Lotus Notes.


Posteriormente se usa en el navegador de Netscape
desde 1999 y luego en otros navegadores ms
actuales. No es pblico.

SEAL:
Algoritmo propuesto por IBM en 1994.

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Elalgoritm o 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
Cada trama de conversacin 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 ao a un ataque realizado por Alex Biryukov, Adi
.Shamir y David Wagner

Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Esquem a delalgoritm o de cifra A5/1


19

registros 3
LFSR con
m-secuencia

Si

R1

22

Clave = 64 bits

f(x1) = x19+x18+x17+x14+1
1

C2

R2

bit de reloj: 11

R2 n2 = 22

C1

bit de reloj: 9

R1 n1 = 19
R3 n3 = 23

14

23

f(x2) = x22+x21+1
C3

R3

bit de reloj: 11

f(x3) = x23+x22+x21+x8+1
Criptosistemas de Cifrado en Flujo

Una funcin
mayora entre
C1, C2 y C3 hace
que slo los
registros en los
que coincide el
bit con ese valor
produzcan
desplazamiento.
En cada paso
habr dos o tres
registros en
.movimiento

Universidad Jos Carlos Marategui

Funcin m ayora y ejem plo de secuencia


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 funcin mayora entre las celdas C 1, C2 y C3, permite
que al menos dos de los tres registros se desplacen en cada
paso.
C1
Desplazan todos 0
No desplaza R3 1
No desplaza R2 0
No desplaza R1 1

C2
0
0
1
1

C3
0
0
0
0

C1
No desplaza R1 0
No desplaza R2 1
No desplaza R3 0
Desplazan todos 1

Criptosistemas de Cifrado en Flujo

C2
0
0
1
1

C3
1
1
1
1

Universidad Jos Carlos Marategui

Consideraciones sobre elperodo de A5/1


El perodo T vendr dado por el mnimo comn mltiplo de los
tres perodos individuales:
T = mcm (2n1 - 1, 2n2 - 1, 2n3 - 1)
Como n1, n2 y n3 son primos entre s, tambin lo sern los
valores (2n1 -1), (2n2 - 1) y (2n3 - 1). Luego el perodo T ser el
producto:
T = T1T2T3
Entonces T = (219-1)(222-1)(223-1) =
524.2874.194.3038.388.607
T = 18.446.702.292.280.803.327 < 2 64
Este valor demasiado bajo sucumbe ante ataques
distribuidos tal como veremos cuando se estudien
debilidades del algoritmo DES.
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

Registros y funcin m ayora en A5/2


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

Adems, usa un cuarto registro R4 con un polinomio

primitivo:

f(x4) = x17 + x12 + 1

Usa cuatro copias de una funcin mayora F para

cada uno de los cuatro registros que se define


como:
F(x1,x2,x3) = x1x2 + x1x3 + x2x3
Criptosistemas de Cifrado en Flujo

Universidad Jos Carlos Marategui

O tras operaciones de A5/2


En R1 las entradas a la funcin F1 son las celdas

13, 15 y 16.
En R2 las entradas a la funcin F2 son las celdas
10, 14 y 17.
En R3 las entradas a la funcin F3 son las celdas
14, 17 y 19.
En R4 las entradas a la funcin F4 son las celdas
4, 8 y 11. La salida de esta copia determina qu
registros de R1,R2,R3 se desplazarn en el ciclo.
Complementacin de celdas y sumas en salida de

F:

En R1 se complementa la celda 15 y se suma la

celda 19 a F.

Criptosistemas de Cifrado en Flujo

También podría gustarte