No Más Secretos

97
Conferencista: Pino Caballero Gil Universidad de La Laguna Islas Canarias - España [email protected] No Más Secretos

Transcript of No Más Secretos

Page 1: No Más Secretos

Conferencista:Pino Caballero GilUniversidad de La LagunaIslas Canarias - Españ[email protected]

No Más Secretos

Page 2: No Más Secretos

2

Carl: So it's a code breaker.

Martin Bishop: No. It's THE code breaker. No more secrets...

Page 3: No Más Secretos

3

Agenda

• El Escarabajo de Oro• El Cifrado Indescifrable• Secreto Perfecto • Cifrado en Wi-Fi• Cifrado en GSM• Nuestros Criptoanálisis:

– Distancias Edit– Autómatas

Page 4: No Más Secretos

4

•Edgar Allan Poe publicó en 1843 un famoso relato titulado “El escarabajo de oro”, sobre un mensaje cifrado en el que se indica la localización de un tesoro.

•Poe, aficionado al criptoanálisis, explica con detalle cómo se puede romper un procedimiento de cifrado mediante técnicas estadísticas.

Page 5: No Más Secretos

5

El Escarabajo de OroCifrado con sustitución de letrasTexto original escrito en inglés

53‡‡†305))6*;4826)4‡.)4‡);806*;48†8¶

60))85;1‡(;:‡*8†83(88)5*†;46(;88*96*?;

8)*‡(;485);5*†2:*‡(;4956*2(5*-4)8¶8*

;4069285);)6†8)4‡‡;1(‡9;48081;8:8‡1;48

†85;4)485†528806*81(‡9;48;(88;4(‡?34

;48)4‡;161;:188;‡?;

Page 6: No Más Secretos

6

El Escarabajo de Oro

3

4

4

5

Fr.

?

3

:

2

Símbolo

.

-

Símbolo

6

5

*

Símbolo

11

12

13

16

Fr.

9

0

1

Símbolo

16

19

26

33

Fr. Fr.Fr.Símbolo

5)

164

18;

288

En inglés Fr(e) = 13%

8 → e

Page 7: No Más Secretos

7

El Escarabajo de Oro

• Criptograma

53‡‡†305))6*;4e26)4‡.)4‡);e06*;4e†e¶

60))e5;1‡(;:‡*e†e3(ee)5*†;46(;ee*96*?;

e)*‡(;4e5);5*†2:*‡(;4956*2(5*-4)e¶e*

;40692e5);)6†e)4‡‡;1(‡9;4e0e1;e:e‡1;4e

†e5;4)4e5†52ee06*e1(‡9;4e;(ee;4(‡?34

;4e)4‡;161;:1ee;‡?;

Page 8: No Más Secretos

8

El Escarabajo de Oro

the ← ;48

53‡‡†305))6* the 26)4‡.)4‡);e06* the †e¶

60))e5;1‡(;:‡*e†e3(ee)5*†;46(;ee*96*?;

e)*‡( the 5);5*†2:*‡(;4956*2(5*-4)e¶e*

;40692e5);)6†e)4‡‡;1(‡9 the 0e1;e:e‡1 the

†e5;4)4e5†52ee06*e1(‡9 the ;(ee;4(‡?34

the )4‡;161;:1ee;‡?;

Page 9: No Más Secretos

9

El Escarabajo de Oro

;(88;4(‡?34 → t(eeth(‡?3h → tree thr‡?3h → tree through†83(88 → †egree → degree;46(;88* → th6rtee* → thirteen53 ‡‡† → 5good → a good

a ← 5 n ← *

d ← † o ← ‡

e ← 8 r ← (

g ← 3 t ← ;

h ← 4 u ← ?

i ← 6

Page 10: No Más Secretos

10

Descifrado parcial:

El Escarabajo de Oro

A good g0a)) in the 2i)ho.)ho)te0 in the de¶

i0))eat1ort: one degree) and thirteen 9inut

e)northea)t and 2:north9ain2ran-h)e¶en

th0i92ea)t)ide)hoot1ro9 the 0e1te:eo1 the

death) head a2ee0ine1ro9 the tree through

the )hot1i1t:1eet out

Page 11: No Más Secretos

11

El Escarabajo de Oro

Texto descifrado:

A good glass in the bishop’s hostel in the devil’s seat forty one degrees and thirteen minutes northeast and by north main branch seventh limb east side shoot from the left eye of the death’s head a bee line from the tree through the shot fifty feet out

Page 12: No Más Secretos

12

Lt. Colonel Nicholas Kudrow:

You're telling me a kid cracked a

government super code?

Page 13: No Más Secretos

13

El Cifrado IndescifrableCifrado de Vigenere: La 1ª letra se sustituye por la que ocupa k0posiciones mas allá, la 2ª por la que está k1 posiciones mas allá,...Clave: SOS. Cifrado: DES AST RE → VSK SGL JS

YXWVUTSRQPONMLKJIHGFEDCBAZ25XWVUTSRQPONMLKJIHGFEDCBAZY24WVUTSRQPONMLKJIHGFEDCBAZYX23VUTSRQPONMLKJIHGFEDCBAZYXW22UTSRQPONMLKJIHGFEDCBAZYXWV21TSRQPONMLKJIHGFEDCBAZYXWVU20SRQPONMLKJIHGFEDCBAZYXWVUT19RQPONMLKJIHGFEDCBAZYXWVUTS18

QPONMLKJIHGFEDCBAZYXWVUTSR17

PONMLKJIHGFEDCBAZYXWVUTSRQ16ONMLKJIHGFEDCBAZYXWVUTSRQP15NMLKJIHGFEDCBAZYXWVUTSRQPO14MLKJIHGFEDCBAZYXWVUTSRQPON13LKJIHGFEDCBAZYXWVUTSRQPONM12KJIHGFEDCBAZYXWVUTSRQPONML11JIHGFEDCBAZYXWVUTSRQPONMLK10IHGFEDCBAZYXWVUTSRQPONMLKJ9HGFEDCBAZYXWVUTSRQPONMLKJI8GFEDCBAZYXWVUTSRQPONMLKJIH7FEDCBAZYXWVUTSRQPONMLKJIHG6EDCBAZYXWVUTSRQPONMLKJIHGF5DCBAZYXWVUTSRQPONMLKJIHGFE4CBAZYXWVUTSRQPONMLKJIHGFED3BAZYXWVUTSRQPONMLKJIHGFEDC2AZYXWVUTSRQPONMLKJIHGFEDCB1ZYXWVUTSRQPONMLKJIHGFEDCBA0ZYXWVUTSRQPONMLKJIHGFEDCBA

Vigenere.htm

Page 14: No Más Secretos

14

Julio Verne

Texto cifrado con Vigenere:Phyjsl yddqfd zxgasg zzqqehxgkfnd rxujug

Clave: 432513

Page 15: No Más Secretos

15

Método Kasiski•Ideado en 1863 para romper el cifrado de Vigenere.•Se basa en que ciertas secuencias de letras aparecen muchas veces en los textos originales, y consecuentemente los textos cifrados con Vigenere tienen las correspondientes secuencias de letras cifradas también muy repetidas. •Por tanto, la distancia entre las cadenas más repetidas en el texto cifrado debe ser un múltiplo de la longitud de la clave K, y un buen candidato a longitud será el producto de los factores más repetidos en las distancias encontradas.

Texto original: TOBEORNOTTOBE Clave: NOWNOWNOWNOWN Texto cifrado: GCXRCNACPGCXR

Page 16: No Más Secretos

16

Secreto Perfecto

La clave debe ser aleatoria, usarse una única vez y tener al menos la misma longitud que el texto original

SECU EN C IA A LEATO R IA

0 1 1 0 1 0 0 1

T E X T O O R IG IN A L

1 1 0 1 0 0 1 1

X O R

1 0 1 1 1 0 1 0

Cifrado de Vernam

Page 17: No Más Secretos

17

Cifrado en Flujo

SECU EN CIA PSEU D O ALEATO R IA

0 1 1 0 1 0 0 1

T E X T O O R IG IN A L

1 1 0 1 0 0 1 1

X O R

1 0 1 1 1 0 1 0

Page 18: No Más Secretos

18

Ataques a Cifrados en Flujo

Con texto original conocido: El atacante tiene

acceso a secuencia en claro y correspondiente

secuencia cifrada

Búsqueda exhaustiva: El atacante sólo tiene acceso

a la secuencia cifrada, y comprueba una a una

cada una de las posibles claves secretas.

Page 19: No Más Secretos

19

RC4

•De implementación sencilla y rápida, y orientado a operaciones

con bytes, por lo que es muy rápido en software

•Permite claves de diferentes longitudes de 1 a 256 bytes

•Diseñado por Rivest en 1987

•El algoritmo no fue publicado, pero en

1994 apareció en Internet una descripción

•Se usa en SSL (navegadores de Internet) y en redes inalámbricas Wi-Fi (WEP y WPA)

Page 20: No Más Secretos

20

RC4

•La clave secreta se usa para inicializar un vector de

estado S= {Si}i=0,1,…,255. Después no se vuelve a usar.

•El vector de estado S contiene siempre una

permutación de todos los números enteros de 1 byte.

•Cada vez que se va a cifrar/descifrar un byte de texto,

se genera un byte de secuencia cifrante St y después se

vuelven a permutar los bytes de S.

•Las permutaciones en S se hacen mediante sucesivos

intercambios

Page 21: No Más Secretos

21

RC4

Inicialización:1. Si = i, i=0,1,...,2552. Rellenar el array Semi i=0,1,...,255 repitiendo la semilla de clave secreta3. j=04. Desde i = 0 hasta 255 hacer:

j = (j + Si + Semi) (mod 256)Intercambiar Si y Sj

Generación de secuencia cifrante:Inicializar i y j a 0, y calcular cada byte de la secuencia cifrante mediante St:

1. i = (i + 1) (mod 256); j = (j + Si) (mod 256)2. Intercambiar Si y Sj

3. t = (Si + Sj) (mod 256)

RC4.exe

Page 22: No Más Secretos

22

Ejemplo de RC4

Clave secreta = K= 01 23 45 67 89 AB CD EFInicializacion:S= 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F…

f=(0+S[0]+K[0])=1 (mod 256)Swap 01 <--> 00 01 00 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F…

f=(1+S[1]+K[1])=36 (mod 256)Swap 24 <--> 00 01 24 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F20 21 22 23 00 25 26 27 28 29 2A 2B 2C 2D 2E 2F…

f=(36+S[2]+K[2])=36+02+69=107 (mod 256)Swap 6B <--> 02 01 24 6B 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F20 21 22 23 00 25 26 27 28 29 2A 2B 2C 2D 2E 2F30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F60 61 62 63 64 65 66 67 68 69 6A 02 6C 6D 6E 6F…

Page 23: No Más Secretos

23

Ejemplo de RC4S final tras inicialización

01 38 6B 3D AC 47 E5 1B 8B 10 E8 D1 66 26 F9 E7C9 35 7B 0E 55 4A 2A 4F E1 94 48 22 D2 21 43 6023 15 14 EB 68 6D 33 82 F1 77 0C F8 AD 93 80 CFC5 56 8C 92 E3 9F 40 CE 09 B8 99 C8 5A 5C 50 7D13 74 4C A6 73 DD 59 0B 1C 52 41 C7 9C 19 AF EDEF 81 27 D5 E0 54 D3 E4 07 9D FC FE 91 20 45 F76E 03 08 DB 61 62 FB B2 BA 9B 72 39 1E 46 70 BECA 25 17 CC 1F 2D 31 B6 28 B3 1D 7F 3F F5 44 8A0D 84 BD FD B4 00 8F 58 02 5F CD BF 63 2E 6F 36A8 34 6C 85 53 C4 71 3A 05 95 4E A5 7E 30 B1 9E86 5E A4 AE 2C D0 CB B5 5D 1A E9 5B 8D 65 9A 1178 C0 7A D4 06 83 B0 E2 D6 75 37 4B 49 DC DF 8E16 69 29 18 76 AA 67 EA A9 24 A3 D9 98 2F 3B D879 12 EE C2 B9 F4 E6 F6 3E BC BB 3C A0 88 DE 5796 87 C1 04 DA C6 97 0A 2B 51 4D D7 B7 7C F3 FFF0 F2 AB FA 64 90 EC C3 89 A2 32 A1 42 A7 0F 6A

Generación de 1º byte de secuencia cifrantei=f=0,

i = (i + 1)=1 (mod 256), f = (f + S1)=38(hxswap S[01] <--> S[38]

09 <--> 38 t = (S[1] + S[38])= 09(hx+38(hx =41(hx (mod 256)

1º byte de secuencia cifrante= 74(hx = 0111 0100

01 38 6B 3D AC 47 E5 1B 8B 10 E8 D1 66 26 F9 E7C9 35 7B 0E 55 4A 2A 4F E1 94 48 22 D2 21 43 6023 15 14 EB 68 6D 33 82 F1 77 0C F8 AD 93 80 CFC5 56 8C 92 E3 9F 40 CE 09 B8 99 C8 5A 5C 50 7D

13 74 4C A6 73 DD 59 0B 1C 52 41 C7 9C 19 AF EDEF 81 27 D5 E0 54 D3 E4 07 9D FC FE 91 20 45 F76E 03 08 DB 61 62 FB B2 BA 9B 72 39 1E 46 70 BECA 25 17 CC 1F 2D 31 B6 28 B3 1D 7F 3F F5 44 8A0D 84 BD FD B4 00 8F 58 02 5F CD BF 63 2E 6F 36A8 34 6C 85 53 C4 71 3A 05 95 4E A5 7E 30 B1 9E

86 5E A4 AE 2C D0 CB B5 5D 1A E9 5B 8D 65 9A 1178 C0 7A D4 06 83 B0 E2 D6 75 37 4B 49 DC DF 8E16 69 29 18 76 AA 67 EA A9 24 A3 D9 98 2F 3B D879 12 EE C2 B9 F4 E6 F6 3E BC BB 3C A0 88 DE 5796 87 C1 04 DA C6 97 0A 2B 51 4D D7 B7 7C F3 FFF0 F2 AB FA 64 90 EC C3 89 A2 32 A1 42 A7 0F 6A

Page 24: No Más Secretos

24

Seguridad de RC4

• No se recomienda su uso en nuevos sistemas, pero algunos sistemas actualmente basados en RC4, como SSL, sí son seguros.

• Un ataque propuesto por Fluhrer y McGrew, basado en el sesgo de las secuencias de salida, distingue entre una salida de RC4 y una secuencia aleatoria usando un gigabyte de salida.

• Es necesario refrescar la semilla mediante un nonce para evitar que el cifrado del mismo mensaje dos veces produzca el mismo cifrado. Sin embargo, muchas veces simplemente se concatena la semilla y el noncecomo entrada al generador, lo que produce serios problemas de seguridad.

• Fluhrer, Mantin y Shamir publicaron en 2001 un trabajo en el que demostraron que las estadísticas de los primeros bytes de salida no son aleatorios y proporcionan información sobre la semilla.

• Este resultado, si la semilla y el nonce se concatenan como entrada al RC4, puede usarse para lanzar un ataque exitoso.

Page 25: No Más Secretos

25

Criptoanálisis

Michael Kitz: Your having sent this announcement all over the world may

well constitute a breach of national security.

Ellie Arroway: This isn't a person-to-person call. You can't possibly think that

a civilization sending this kind of message would intend it just for Americans.

Michael Kitz: I'm saying you might have consulted us; obviously, the contents of

this message could be extremely sensitive.

Ellie Arroway: You want to classify prime numbers now?

Page 26: No Más Secretos

26

Cifrado en WEP

Mensaje ICV

Secuencia Cifrante = RC4(IV,k)

Texto cifrado

xor

IV

Protocolo usado en redes inalámbricas Wi-Fi con protocolo IEEE 802.11• Se obtiene el Integrity Check Value ICV del mensaje M haciendo un

Chequeo de Redundancia Cíclica de 32 bits CRC32 del mensaje M, y se concatena con M

• Se genera la secuencia cifrante con RC4 usando vector de inicialización IV y semilla secreta compartida k

• Se calcula el texto cifrado medianteC = (M,ICV) XOR RC4(IV,k)

3. Se transmite (IV,C)

Page 27: No Más Secretos

27

Inseguridad de WEP•El estándar no especifica cómo se establece la clave secreta compartida. En la práctica la misma clave es compartida entre todos los nodos y el Punto de Acceso de una misma red, y es usada tanto para cifrado como para autenticación.

•El estándar define una longitud de clave de 64 bits en la versión débil, y de 256 bits en la versión fuerte (802.11b), pero en realidad son de 40 y 232 bits, ya que los otros 24 bits son del IV.

•La implementación práctica es mala ya que se suele reutilizar el IVpara diferentes transmisiones, lo que permite no sólo criptoanalizarinformación enviada, sino inyectar nuevos mensajes cifrados.

•En la autenticación mediante clave compartida, un atacante que capture el reto y respuesta de una autenticación, puede deducir la secuencia cifrante y colarse en la red

Page 28: No Más Secretos

28

Ataques a WEP

• Cryptology ePrint Archive 2007: Breaking 104 bit WEP in less than 60 seconds. Erik Tews, Ralf-Philipp Weinmann, andAndrei Pyshkin. Technische Universität Darmstadt, Alemania.

• Se puede romper WEP con 104 bits (802.11b/g/n) en 1 minuto con una probabilidad del 95 % usando un Pentium-M 1.7GHz.

• El ataque se basa en la generación de paquetes ya que con 40.000 paquetes la probabilidad de éxito es del 50%, con 20.000 más, la probabilidad sube al 80%, y el 95% se consigue con 85.000 paquetes, que han logrado mediante la generación 764 paquetes por segundo.

Page 29: No Más Secretos

29

WPA-WPA2

En 2003 se lanzó WPA como esquema de transición con distribución dinámica y automática de claves, uso más robusto del vector de inicialización de doble longitud y nuevas técnicas de integridad y autentificación. WPA fue diseñado para utilizar un servidor de autenticación (normalmente un servidor RADIUS), que distribuye claves diferentes a cada usuario (a través del protocolo 802.1x ). Sin embargo, también se puede utilizar en un modo menos seguro de clave pre-compartida (PSK) para casas o pequeñas oficinas. WPA cifra con RC4, semilla de 128 bits e IV de 48 bits.Una de las mejoras de WPA es el Protocolo de Integridad de Clave Temporal (TKIP -Temporal Key Integrity Protocol), que cambia las claves dinámicamente a medida que el sistema es utilizado.WPA mejora la integridad con un nuevo código de integridad del mensaje no lineal (MIC - Message Integrity Code), también conocido como "Michael". WPA2 (IEEE802.11i, 2005) usa el cifrado en bloque Rijndael en vez de RC4

Page 30: No Más Secretos

30

Cifrado en GSM

•El generador de secuencia cifrante A5 es

–De implementación muy eficiente en hardware

–Su diseño nunca fue publicado, pero por ingeniería inversa se sabe que esun combinador no lineal (http://cryptome.org/gsm-a512.htm)

–Se usa para cifrar la transmisión aérea entre la terminal móvil y la estación base.

•Variantes

A5/1 : versión fuerte (usada en Europa)

A5/2 : versión débil (usada fuera de Europa)

A5/3 : versión para la 3G de telefonía móvil: UMTS basada en el cifrado en bloque Kasumi

Page 31: No Más Secretos

31

Generador A5/1 de GSM

0101011010110111101

1001110101010010011101

10100110111011001010101

clock control

18 17 16 0

21 20 0

02122 20

C3

C2

C1

R2

R1

R3

1

0

0

1010101101011011110

100111010101001001110

1010011011101100101010

101010110101101111

1

0

0

111

Page 32: No Más Secretos

32

Generador A5/2 de GSM

19 1423

1719

1022

1417

1319

1516

11 8 4

R3

R1

R2

F

FF

F

R4

C1

C2

C3

Page 33: No Más Secretos

33

Inseguridad de los Generadores A5

•1991 •Primera implementación GSM.

•Agosto 1999•La versión débil A5/2 fue rota con un simple PC en segundos, ya que sólo requiere realizar unas 216

operaciones.•Diciembre 1999

•Biryukov, Shamir y Wagner publicaron un criptoanálisis de la versión fuerte A5/1. Con dos minutos de llamada interceptada fueron capaces de llevar a cabo un ataque exitoso en sólo un segundo.

Page 34: No Más Secretos

34

Helinger: Mathematicians won the war. Mathematicians broke the Japanese

codes... and built the A-bomb.

Page 35: No Más Secretos

35

Generador Shrinking

LFSR - B

LFSR - A

bi

ai bi = 1 emitir ai

bi = 0 descartar ai( )12

1

222)12(

1,gcd

−−

⋅<<⋅⋅−=

⇒=

SS

SA

LA

LA

LLAs

LCLLT

LLsi

Shrinking.exe

Page 36: No Más Secretos

36

Generador Shrinking

LFSR1: L1=3, P1(D)=1+D2+D3, IS1=(1,0,0)LFSR2: L2=4, P2(D)=1+D+D4, IS2=(1,0,0,0)

Ley de decimación P:

•{ai}= 0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 …•{bi}= 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 …•{cj}= 0 1 0 1 1 0 1 1 …

Los bits subrayados (1 y 0) se eliminan

Page 37: No Más Secretos

37

Seguridad del Generador Shrinking• Fue diseñado en 1993 por Don Coppersmith, Hugo Krawczyk y Yishay Mansour.• Tiene el inconveniente de que la tasa de salida varía de forma irregular, lo que puede

dar pistas sobre la semilla de S. Esto se resuelve en la práctica utilizando un buffer para la salida.

• A pesar de su simplicidad, sigue siendo considerado resistente al criptoanálisis ya que no hay ataques factibles cuando los polinomios de realimentación son secretos y de grado suficientemente grande como para una búsqueda exhaustiva.

• Los ataques encontrados en la bibliografía son:– un ataque básico del tipo divide-y-vencerás propuesto por Simpson, Golic y

Dawson en 1998, que requiere una búsqueda exhaustiva a través de todos los posibles estados iniciales y polinomios de realimentación del registro selector

– un ataque por correlación propuesto por Golic y O'Connor en 1995 con objetivo centrado en el segundo LFSR

– un ataque por correlación descrito por Johansson en 1998, basado en la búsqueda de subsecuencias específicas de la secuencia de salida.

– un ataque por distinción de Ekdahl, Meier y Johansson en 2004, aplicable cuando el polinomio de realimentación del segundo LFSR tiene de poco peso.

Page 38: No Más Secretos

38

Ataque Divide-y-Venceras

Idea General:1. Suponer el estado inicial de un LFSR

componente del generador, y entonces2. Tratar de determinar las otras variables del

cifrado basándose en la secuencia cifrante interceptada.

Golic, J.D., Petrovic, S.: A Generalized Correlation Attack with a Probabilistic Constrained Edit Distance, Eurocrypt'92, LNCS 658 Springer (1993).

Page 39: No Más Secretos

39

Ataque Divide-y-Vencerás

LFSR1

LFSR2

LFSR3

f

Ruido

Page 40: No Más Secretos

40

Ataques por Distancia Edit

Sec. golpes reloj

1 0 1 0 1 1 01 0 0 1 1 0 1 0 0 1 1 0LFSR

Sub-generador

•Contra Generadores con Velocidad Irregular

•Idea : Transformar una secuencia en otra

•Operaciones elementales

–Borrado de un símbolo

–Sustitución de un símbolo

•Distancia de Levenshtein: Menor número de operacioneselementales necesarias para transformar una secuencia en otra.

Strings.shtml

Page 41: No Más Secretos

41

Motivación

Golic,J.: Recent Advances in Stream Cipher Cryptanalysis. Publication de l'Institut Mathematique, 1998:

“The correlation attack described above require the exhaustive search over the initial states of the involved LFSRs and are hence feasible only if the effective secret key controlling these initial states is short. One of the most interesting problems in the cryptanalysis of stream ciphers is to develop faster correlation attacks on irregularly clocked shift registers.”

Page 42: No Más Secretos

42

Ataques por Distancia EditIdea General:1.Adivinar el estado inicial de un LFSR componente

del generador, y 2.Tratar de determinar el resto de variables del

cifrado basándose en la secuencia cifrante interceptada.

Golic, J.D., Petrovic, S.: A Generalized Correlation

Attack with a Probabilistic Constrained Edit

Distance, Eurocrypt'92, LNCS 658 Springer (1993).

Page 43: No Más Secretos

43

Ataques por Distancia Edit

8

7

6

5

4

3

2

1

i

10

9

8

6

5

4

2

1

j

0

S

1

2

0

B

7

6

5

4

3

2

1

i

11

10

8

7

5

3

1

j

2

1

0

S

3

2

4

1

0

B

Algoritmo para calcular un nº operaciones elementales que permiten generar Z a partir de X mediante borrados y sustituciones (cuando el nº de borrados sucesivos<2):i=1; j=1; B=0; S=0;while j<=N

if xj=zi then begin i++; j++ endelse if xj+1=zi; then begin i++; j=j+2; B++ end

else begin B++; S++; i++; j=j+2 endreturn B,S

Ejemplo:X: 1010110111 N = 10Z: 1_101_0111

Ejemplo:X: 10010000001 N = 11Z: _0_1_10_101

Page 44: No Más Secretos

44

Ataques por Distancia Edit

•Se utiliza la distancia de Levenshtein entre la secuencia Z y la secuencia X del modelo: zk=ek+yk, con p(ek)>0, yk=xf(k) siendo f(k)=k+a1+a2+...+ak, X={xk} y A={ak} secuencias producidas por 2 RDRL.

•Se trata de descubrir los estados iniciales de X y A, conocidos sus polinomios y la secuencia Z

decimaciónLFSR decimaciónLFSR decimaciónLFSR{xn} {yk}

{ek} Sec. deruido

Decimación f

decimaciónLFSR{zk}{xk}

Page 45: No Más Secretos

45

Distancia Edit Restringida

–Dependiendo del diseño del generador, pueden

restringirse algunas operaciones edit

Sólo es posible un borrado cada vez

La longitud de las rachas de unos en la secuencia

decimación {dn} es uno

Petrovic,S., Fúster,A.: The Use of Edit-Distances

in Cryptanalysis. Proc. of ICICS, LNCS (2004).

Page 46: No Más Secretos

46

Matriz de Distancia Edit Restringida•W=(wi,j) de dimensión (N-M+1) x (M+1)

i=0,1,…,N-M, j=0,1,…,M

•Interpretación:

wN-M,M : distancia edit entre X e Y

wi,j : distancia edit entre prefijos

x1,x2 ,…,xi+j and y1,y2,…,yj

No es necesario calcular (N-M)(N-M+1) elementos

de ambos triangulos:

{wi,j /i=1,…,N-M, j=0,…,i-1} y

{wi,j /i=0,…,N-M-1, j=2M-N+1+i,…,M}

Page 47: No Más Secretos

47

Matriz de Distancia Edit Restringida

≠=

=+

++

jji

jjijjis yxi1

yxi0 ,)y ,(xP

ss

•Construcción Recursiva :

w0,0=0

wi,j=min{wi,j-1 +Ps(xi+j, yj), wi-1,j-1+Pd(xi+j,yj)}

where

≠=

=+

++

jji

jjijjid yxi2

yxi1 ,)y ,(xP

ss

Page 48: No Más Secretos

48

Ejemplo

X: 1 0 1 0 1 1 0 1 1 1 N = 10Y: 1 1 0 1 0 1 1 M = 7

i j 0 1 2 3 4 5 6 7

0

1

2

3

0 0 1 2 3 x x x

X 2 1 1 1 2 x x

X X 4 3 2 2 2 x

X X X 6 5 4 3 3

Page 49: No Más Secretos

49

“Columna de Parada”

x10x9x8x7x6

x8x7x6x5x4

x6x5x4x3x2

x4x3x2x1

y7y6y5y4y3y2y1

0

1

2

3

i j

Page 50: No Más Secretos

50

“Columna de Parada”

0 1 2 3 4 5 6 7

0

1

2

3

0 1 1 1>0 2 x x x

X 1 2 3>1 3 3 x x

X X 2 3>2 3 3 3 x

X X X 4>3 5 5 4 4

i j

Con respecto a un umbral mínimo de distancia edit T:

Columna j0 in W talq ue ∀i, wi,j0 > T-(N-M-i)

X: 0 1 0 1 1 1 0 1 1 1 N = 10

Y: 1 1 0 1 0 1 1 M = 7

•Ejemplo: T=3

Page 51: No Más Secretos

51

“Columna de Parada”•Ejemplo:

Y: 1 1 0 1 0 1 1 M=7 N=10 T=3

L=4 C(x)=1+x+x4

IS: 0 0 0 0 X=0000000000

0 1>0

x 2>1

x x

x x

descarta IS: 0001, 0010, 0011

Page 52: No Más Secretos

52

Motivación

•Según el método original, el atacante tiene que

atravesar un árbol de búsqueda que contiene

todos los posibles estados iniciales.

•Hemos mejorado dicho ataque simplificando el

árbol de búsqueda de forma que sólo se

mantienen las ramas más eficientes mientras que

el resto se desecha.

Page 53: No Más Secretos

53

Caminos Óptimos1. Elementos de la matriz = costes de caminos óptimos desde la fuente2. Grafo donde los arcos tienen costes 0,1 o 2 que dependen de la

coincidencia entre los correspondientes bits de Y y de X

1/11/12/12/02/1

0/10/00/11/1

0/10/11/11/0

1/11/01/12/12/0

1/10/10/00/1

2/11/11/01/12/0

1/01/11/00/1source

1101011Y:

X : 1 0 1 0 1 1 0 1 1 1sinksink

Page 54: No Más Secretos

54

Caminos Óptimos

1/11/10/10/0

0/1

1/01/10/10/0

1/10/1

X: 1 0 1 0 1 1 0 1 1 1

Y: 1 D 1 0 1 D 0 1 D 1

Y: 1 D 1 0 1 D 0 D 1 1

Y: 1 D 1 0 D 1 0 1 D 1

Y: 1 D 1 0 D 1 0 D 1 1

d: 0 1 0 0 0 1 0 0 1 0

d: 0 1 0 0 0 1 0 1 0 0

d: 0 1 0 0 1 0 0 0 1 0

d: 0 1 0 0 1 0 0 1 0 0

Page 55: No Más Secretos

55

Conjuntos de Corte

x10x9x8x7x6

x8x7x6x5

x10x9x8x7

x8x7x6x5x4

x6x5x4x3

x6x5x4x3x2

x4x3x2x1

y7y6y5y4y3y2y1Y:

Page 56: No Más Secretos

56

Condiciones para Mínimo

y6 = x9

y5= y6 = x8 = x9entoncesy5= y6Si y4 = y5= y6 = x7 = x8entoncesy4 = y5= y6Si

y3 = y4 = y5= x6 = x7entoncesy3 = y4 = y5Si

y7 = x10

y3 = y4 = y5= x5 = x6 entoncesy3 = y4 = y5Si

y2= y3 = y4 = x4 = x5entoncesy2= y3 = y4 Si

y2= y3 = x3 = x4entoncesy2= y3Si

y1= y2 = x2 = x3entoncesy1= y2Si

y1= x1 = x2

Page 57: No Más Secretos

57

Patrones Derivados de los Conjuntos de Corte

Y: 1 1 0 1 0 1 1X: 1 1 1 … 1 1

Y: 0 1 1 0 1 1 0X: 0 0 1 1… 1 1 0

Y: 1 1 1 0 0 0 1X: 1 1 1 1… 0 0 0 1

Page 58: No Más Secretos

58

Rachas de Longitud 2 en Y

x10x9x8x7x6

x8x7x6x5

x10x9x8x7

x8x7x6x5x4

x6x5x4x3

x6x5x4x3x2

x4x3x2x1

y7y6y5y4y3y2y1Y:

Page 59: No Más Secretos

59

Condiciones para Mínimo

y4 = y5= x6= x7 = x8 theny4 = y5If

y1= y2 = x2 = x3theny1= y2If

y2= y3 = x3 = x4theny2= y3If

y6 = x9

y5= y6 = x8 = x9theny5= y6If

y7 = x10

y4 = y5= x5 = x6= x7theny4 = y5If

y3 = y4 = x4 = x5 = x6theny3 = y4 If

Page 60: No Más Secretos

60

Ejemplos de Resultados Empíricos exe

L: 7 C(x)=1+x+x7 N. Estados Iniciales:128

11110…10000011-4002030

111010…0010012131022233

1010110…0101111220162030

111110…1000110-2002030

010001…11001111101422331010…000001118171013045101011…0110029290145075

11111011…110770111520

58

65

DistanciaEdit

4

28

N. Secuenciaspatrón

4

41

N. Solucionesno-patrón

59

65

Umbral

101101…100110100150

11101110100121218

101011001111015

YN. SolucionesPatrónMN

Page 61: No Más Secretos

61

Ataques por Distancia Edit Sin Restricciones

Page 62: No Más Secretos

62

Ataques por Distancia Edit Sin Restricciones

Page 63: No Más Secretos

63

Ataques por Distancia Edit Sin RestriccionesUsando la longitud del LFSR

Page 64: No Más Secretos

64

Conclusiones Sobre Distancias Edit

•Hemos propuesto dos formas diferentes de mejorar el ataque original de distancia edit evitando la búsqueda exhaustiva sobre todos los estados iniciales de los LFSRs implicados.

•Los resultados empíricos han mostrado que tanto cuando la secuencia no tiene rachas demasiado largas al principio y al final, como cuando la diferencia entre las longitudes de ambas secuencias (interceptadas y del LFSR) no es demasiado grande, la mejora en la complejidad tiempo del ataque es mayor.

•Las ideas generales propuestas pueden aplicarse a cualquier ataque teórico por distancia edit sobre cualquier cifrado en flujo basado en LFSRs controlados por reloj.

Page 65: No Más Secretos

65

Dr. Larry Fleinhardt: Okay, well, Charles, you are a mathematician,

you're always looking for the elegant solution.

Page 66: No Más Secretos

66

Autómata Celular Autómatas Celulares (CA) son máquinas de estados finitos que consisten en arrays de n celdas.

La notación que se usa con CA proviene del nº decimal que, en binario, refleja todas las posibles situaciones de actualización de una celda a partir de los valores previos en su vecindario:

111 110 101 100 011 010 001 000

Regla 90: 0 1 0 1 1 0 1 0

Regla 150: 1 0 0 1 0 1 1 0

Autómata Celular Nulo es aquél en el que se suponen celdas con contenido permanente nulo adyacentes a los extremos del CA.

El CA Binario en el que la dependencia del vecindario corresponde a la combinación de las reglas lineales 90 y 150 se llama Autómata Celular Lineal Híbrido (Linear Hybrid Cellular Automata, LHCA).

Page 67: No Más Secretos

67

LHCA versus LFSR

•Los LHCA generan exactamente las mismas secuencias que los LFSRs.

•Las secuencias binarias generadas por celdas adyacentes en el LHCA

son no correladas.

•Los LHCA son isomorfos a los LFSRs.

•Los LFSRs pueden ser sustituidos por LHCA.

•Los generadores diseñados en términos de LFSRs como estructuras no

lineales preservan la linealidad cuando se expresan en forma de LHCA.

Amplias clases de generadores no lineales basados en LFSRs puedeAmplias clases de generadores no lineales basados en LFSRs pueden n

ser modelizadas en tser modelizadas en téérminos de LHCA.rminos de LHCA.

Page 68: No Más Secretos

68

Secuencias Interleaved•Secuencias seudoaleatorias tales que cada secuencia puede descomponerse como una colección de desplazamientos de una única PN-secuencia y secuencias nulas.

•Objetivos:

1.Analizar ciertos LHCA prestando atención a los parámetros criptográficos de las secuencias generadas (periodo, complejidad lineal, polinomio característico, número de secuencias salida diferentes, etc. )

2.Modelizar las secuencias interleaved en términos de ciertos LHCA.

Page 69: No Más Secretos

69

CA Multiplicativo Polinomial

•CA construido a partir de una estructura básica

concatenada un nº de veces.

•Su polinomio característico es de la forma

PM(X) =(P(X))p

donde p es un entero positivo.

•Si P(X) es un polinomio primitivo, entonces el

autómata se llama Autómata Celular Multiplicativo

Polinomial Primitivo

Page 70: No Más Secretos

70

Relación Lineal•La Complejidad Lineal (LC) de una secuencia es la recursión lineal más corta satisfecha por dicha secuencia.•Para una secuencia binaria, la relación de recurrencia lineal

•Esta recursión lineal puede expresarse como una ecuacióndiferencial lineal:

•Todas las secuencias binarias generadas por un autómata celularmultiplicativo polinomial primitivo satisface:

Page 71: No Más Secretos

71

Secuencias Binarias•Las soluciones de la última ecuación son combinaciones

lineales de p*r soluciones de la forma:

donde Ai ∈ GF(2r)

La secuencia binaria puede escribirse como la

suma de p veces la misma PN-secuencia

ponderada por un coeficiente binario

Page 72: No Más Secretos

72

Periodo

•La secuencia es la suma de p secuencias de distintos periodos, y el periodo de la secuencia total es:

Todas las secuencias generadas en el mismo ciclo tienen el mismo periodo.

El mismo autómata puede producir secuencias con distintos periodos dependiendo del ciclo.

Page 73: No Más Secretos

73

Complejidad Lineal•La LC de una secuencia es igual al nº y multiplicidad de las raíces

del polinomio característico que aparecen en la relación de

recurrencia lineal. Por tanto, la LC es:

donde imax es el mayor valor de i (i = 0,…, p-1), para el

que Ai≠0

Todas las secuencias generadas en el mismo ciclo tienen

la misma LC.

El mismo autómata puede producir secuencias con

distintas LC dependiendo del ciclo.

Page 74: No Más Secretos

74

Número de SecuenciasLa elección de los coeficientes Ai debe ser considerada:

Si Ai = 0 ∀i, entonces todas las celdas del CA genera la secuencia nula.

Si A0 ≠0 y Ai = 0 ∀i > 0, entonces todas las celdas del CA genera un única PN-secuencias

Si A0 ∈ GF(2r), A1 ≠0 y Ai = 0 ∀i > 1, entonces hay 2r (2r -1) posibles elecciones de (A0,A1), y el nº de secuencias distintas es:

Si A0, A1,…, Ai-1 ∈ GF(2r), Ai ≠0 y Aj = 0 ∀j > i, entonces hay 2ir(2r-1) posibles elecciones de (A0,A1,…, Ai), y el nº de secuencias distintas es:

El nº total de secuencias no nulas es:

Page 75: No Más Secretos

75

EjemploConsideremos un CA multiplicativo polinomial primitivo

10001100000000110001 de longitud L=20, y polinomio

característico PM(X)=(P(X))p con P(X)=X5+X4+X2+X+1, p=4.

Diferentes elecciones de Ai (no todas nulas) se pueden considerar:

1. Si A0≠0 y Ai=0 ∀i>0, entonces todas las celdas del CA generan

una única PN-secuencia de periodo T0=31, complejidad lineal

LC0=5 y polinomio característico P(X).

El autómata se cicla a través de estados doblemente simétricos:

(a0;a1;a2;a3;a4;a4;a3;a2;a1;a0;a0;a1;a2;a3;a4;a4;a3;a2;a1;a0)

con ai∈GF(2).

Page 76: No Más Secretos

76

Ejemplo

2. Si A0∈GF(25), A1≠0 y Ai=0 ∀i>1, entonces el CA

produce N1=16 secuencias diferentes de periodo

T1=62, complejidad lineal LC1=10 y polinomio

característico (P(X))2.

El autómata se cicla a través de estados simétricos:

(a0;a1;a2;a3;a4;a5;a6;a7;a8;a9;a9;a8;a7;a6;a5;a4;a3;a2;a1;a0)

con ai∈GF(2).

Page 77: No Más Secretos

77

Ejemplo

3. Si A0,A1∈GF(25), A2 ≠0 y Ai = 0 ∀i>2, entonces el CA

produce N2=256 secuencias diferentes de periodo T2=124,

complejidad lineal LC2=15 y polinomio característico (P(X))3.

El autómata se cicla a través de estados repetitivos:

(a0;a1;a2;a3;a4;a5;a6;a7;a8;a9;a0;a1;a2;a3;a4;a5;a6;a7;a8;a9)

con ai∈GF(2).

4. Si A0,A1,A2∈GF(25) y A3 ≠0, entonces el CA produce

N3=8192 secuencias diferentes de periodo T3=124, complejidad lineal LC3=20 y polinomio característico

(P(X))4.

El autómata se cicla a través de los estados no incluidos en los

ciclos previos.

Page 78: No Más Secretos

78

Modelización Lineal por Concatenación de CA Primitivos

Construcción de un CA primitivo mediante la concatenación p veces del autómata básico (o la versión inversa). •Entrada: Los parámetros de un generador no lineal que produce secuencias interleaved.1.Determinar el factor irreducible P(X) del polinomio característico de la secuencia interleaved.2.Calcular el par de CA básicos cuyo polinomio característico es el factor irreducible P(X).3.Para cada uno de estos CA básicos, construir mediante sucesivas concatenaciones el CA mayor, que es capaz de generar la secuencia interleaved original•Salida: Dos CA lineales que producen las mismas secuencias interleaved

Page 79: No Más Secretos

79

Generador Shrinking

LFSR - S

LFSR - A

si

ai si = 1 produce ai

si = 0 descarta ai

Su polinomio característico es de la forma (P(x))p, donde P(X) es un polinomio primitivo de grado r=LA y 2L

S-2<p≤2L

S-1

El SG puede expresarse en términos de un modelo lineal basado en CA

Page 80: No Más Secretos

80

Modelo Basado en CA Para el SG

El polinomio característico de los CA equivalentes es el mismo que el del SG original, (P(x))N.

La longitud de ambos CA equivalentes es L tal que

LA 2LS-2 < L ≤ LA 2L

S-2

Para generar la secuencia shrunken en una de las celdas extremas de un CA equivalente es necesario calcular el estado inicial de dicho CA equivalente, lo que implica interceptar L bits shrunken.

Proporcionamos una forma eficiente para usar el modelo basado enCA para el SG para adivinar bits de la secuencia shrunken a partir de la intercepción de un nº de bits menor que la LC.

Page 81: No Más Secretos

81

Algoritmos Básicos

Dado un polinomio irreducible, un algoritmo que usa el algoritmode Euclides permite calcular los correspondientes CA en tºpolinomial.El Algoritmo de Síntesis del Polinomio, basado también en el algoritmo de Euclides, permite calcular en tº lineal el polinomio característico para un dado CA. El Algoritmo de Síntesis de CA permite obtener para cualquier SG los CA equivalentes concatenando CA primitivos básicos y sus imágenes espejo, con una o dos modificaciones en cada CA componente. Las salidas del Algoritmo de Síntesis de CA son dos CA equivalentes para cualquier SG con LFSR selector de longitud LSy secuencia LFSR decimada producida por A

Page 82: No Más Secretos

82

Notación

•Se usan strings binarios R1 R2 ... Rn para representar CA de

n celdas, donde Ri es 0 si la celda i usa la regla 90, o 1 si la

celda i usa la regla 150.

•Z = Z0 = z0, z1, z2, ... es la secuencia SG cuyo polinomio

característico PN(x) ∈ GF(2)[x] tiene grado L.

•Zt = zt, zt+1, zt+2, ... es la fase t de Z

•α ∈ GF(2LA) es una raíz de P(x).

Page 83: No Más Secretos

83

EjemploEntrada: SG con LS=3, LA=5, PA(x)=1+x + x2 + x4 + x5. p=4,

r=5

1. P(x) = 1+ x2 + x5

2. El par de CA básicos: 01111 y 11110

3. Los dos CA equivalentes son:0 1 1 1 1

0 1 1 1 0 0 1 1 1 0

CA1: 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 01 1 1 1 0

1 1 1 1 1 1 1 1 1 1

CA2: 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1

Salida: CA1 y CA2

Page 84: No Más Secretos

84

Sub-triángulos Encadenados

•Dada una secuencia shrunken z0, z1, z2, ... zr suponemos que su generación se produce en la celda extrema izquierda de un CA equivalente.•A partir del conocimiento de r bits de la secuencia shrunken, podemos reconstruir r sub-secuencias de longitud r − i + 1 para cada regla Ri (1<i ≤r) mediante las sumas de algunos bits de la secuencia shrunken correspondientes a los exponentes del polinomio característico del sub-automata R1 R2 ... Ri-1. •Si estas sub-secuencias se usan recursivamente como secuencias extremas izquierdas del CA equivalente para reconstruir r−i+1 sub-secuencias de longitud r−2i+2 para la regla Ri (1<i≤r−i+1) obtenemos en la misma celda i el elemento zt+2k1+ zt+2k2 + • • • + zt+2kri.•La hipótesis Zd = Z2k1 + Z2k2 + • • • + Z2kri (1) garantizaría la reaparición de un desplazamiento de fase d de la secuencia shrunken en la celda i en cada 2l-ésimo sub-triángulo encadenado

Page 85: No Más Secretos

85

Cuerpo Finito GF.exe•Si {sn} se produce mediante un LFSR cuyo polinomio característico es irreducible, y α es una de sus raíces, sn puede escribirse como la trazade la n-ésima potencia de α.

•Como P(x) es de grado LA y primitivo, las potencias sucesivas αi

(0≤ i<2LA-1) generan el cuerpo finito GF(2LA ) y sus trazas respectivas son iguales a los elementos si de la PN-secuencia asociada a P(x).

•La asociación entre las potencias de α y los elementos de la PN-secuencia puede ser transferida a relaciones lineales entre diferentes desplazamientos de fase de la PN-secuencia y los primeros LA -1 desplazamientos de fase.

•La secuencia shrunken está compuesta de interpolaciones de diferentes desplazamientos de fase de la PN-secuencia asociada al polinomio P(x).

Page 86: No Más Secretos

86

Algoritmo Propuesto

Basado en la generación del cuerpo finito GF(2LA), lo que permite comprobar la generalización de la hipótesis (1) en tº lineal con el Algoritmo de Síntesis del polinomio.

Requiere como entrada un secuencia shrunken interceptada producida por un SG cuya estructura debe ser conocida, y proporciona como salida un nº variable de bits shrunken desconocidos.

Entrada: Las longitudes LS y LA, y el polinomio característico de A, PA(x) correspondiente a los LFSRs S y A componentes del SG.

Salida: Un nº variable de bits de diferentes desplazamientos de fase de la secuencia shrunken

Page 87: No Más Secretos

87

Algoritmo Propuesto

Fase Off-line :

Paso 1: Calcular los CA equivalentes para cualquier SG con selector LFSR de longitud LS y decimación LFSR A.

Paso 2: Usando el polinomio de grado LA, P(x) asociado al CA básico, generar GF(2LA) a partir de la exponenciación de una raíz de P(x), α, y expresar cada elemento αe como un array de longitud LA, E=[e0,...,eLA-2,eLA-1] donde ei=i sii αi está en la expresión de αe.

Paso 3: Para ambos LHCA, buscar sub-autómatas de la forma R1R2 … Ri/2Ri/2 … R2R1 or R1R2 …R(i-1)/2 0 R(i-1)/2 … R2R1 y para cada uno calcular los 2 ∗ r polinomios característicos y expresarlos como 2∗r arrays diferentes de longitud (L+1), D = [d0, d1,…, dL−1, dL] donde di = 1 sii i es un exponente de la variable. Usando el cuerpo finito, descomponer D como una expresión lineal equivalente aB+C donde a es una potencia de 2, y B y C son dos arrays tales que B=[0,b1,..., bLA-2,bLA-1] y C=[c,c,... ,c].

Paso 4: Buscar cada array B=[0, b1, ... ,bLA-2,bLA-1] entre los arrays de longitud LA obtenidos en el Paso 2, y si se encuentra, asociar a la regla correspondiente el desplazamiento de fase (N/a)(ae+c) para el triángulo N/a-ésimo.

Euclidepoliauto.exe

Page 88: No Más Secretos

88

Algoritmo Propuesto

Fase On-line :

Paso 5: Una vez interceptados r bits shrunken,

proceder con ellos generando los sub-triángulos

encadenados, tal y como indique el Paso 4, para

obtener para cada regla exitosa, un nº variable de

bits de diferentes desplazamientos de fase de la

secuencia shrinking.

Page 89: No Más Secretos

89

EjemploEntrada: SG con LS=3, LA=5, PA(x) = 1+x + x2 + x3 + x5.

Fase Off-line :Paso 1: P(x) = 1+x + x2 + x4 + x5

Los dos CA equivalentes son:

CA1: 10001100000000110001 y

CA2: 00000000011000000000

Paso 2: Se calcula el cuerpo finito GF(25) asociado a P(x). Sólo las potencias con el término 1 en sus expresiones se muestran:

E5 : [0124] E6 : [034] E7 : [02]

E10 : [01234] E11 : [03] E13 : [014]

E14 : [04] E15 : [024] E16 : [0234]

E17 : [023] E19 : [01] E23 : [012]

E26 : [0123] E28 : [013] E30 : [0134] E31 : [0]

exe

Page 90: No Más Secretos

90

EjemploPasos 3 y 4: Para CA1 el sub-autómata útil corresponde a la regla 5. Para CA2 encontramos

sub-autómatas útiles desde la regla 2 hasta la regla 9.

Para CA1: 10001100000000110001

D15:[1 3 5]:2*[0 1 2]+1→2(2*23+1)=94-ésimo desplazamiento, 2-ésimos

triángulos

Para CA2: 00000000011000000000

D22:[0 2]:2*[0 1]→ 76º desplazamiento, 2ºs triángulos

D23:[3]:[0]+3→ 3º desplazamiento, 1ºs triángulos

D24:[0 2 4]:2*[0 1 2]→ 92º desplazamiento, 2ºs triángulos

D25:[1 5]:4*[0 1]+1→= 77º desplazamiento, 1ºs triángulos

D26:[0 4 6]:2*[0 2 3]→ 68º desplazamiento, 2ºs triángulos

D27:[7]: [0]+7→ 7º desplazamiento, 1ºs triángulos

D28:[0 4 6 8]:2*[0 2 3 4]→ 64º desplazamiento, 2ºs triángulos

D29:[ 1 5 9]:4*[0 1 2]+1→ 93º desplazamiento, 1ºs triángulos

Page 91: No Más Secretos

91

EjemploFase On-line :

Paso 5: Después de interceptar 10 bits shrunken : 0011101011, generamos 4 sub-triángulos encadenados para CA2 y regla R2

R1 R2 R3 cadena R1 R2 R3 cadena R1 R2 R3 cadena R1 R2 R390 90 90 90 90 90 90 90 90 90 90 900 0 1 1 1 1 1 0 0 0 1 10 1 1 1 0 0 0 0 1 1 0 11 1 0 0 1 0 0 1 0 0 01 1 1 1 0 1 1 0 1 11 0 0 0 0 0 0 00 1 0 0 0 1 11 0 0 0 10 1 1 11 11

Obtenemos 6 bits del desplazamiento 76º y 2 bits del desplazamiento 28º. Podemos también usar R2 de CA1 para generar con el triángulo 4º, 2 nuevos bits: z92:0, z93:1.En resumen, a partir del conocimiento de 10 bits shrunken hemos descubierto otros 10 bits shrunken desconocidos

automata.exe

Page 92: No Más Secretos

92

Análisis del Algoritmo

Todos los cálculos hechos para cualquier CA son útiles para cualquier otro CA con el mismo CA básico y más concatenaciones, e.d., las salidas de los pasos 2, 3 y 4 obtenidos para un CA equivalente con polinomio característico (P(x))N1 siguen siendo correctos para cualquier otro CA equivalente con polinomio característico (P(x))N2, con N1|N2

Page 93: No Más Secretos

93

Análisis del Algoritmo

A medida que las longitudes de los LFSRs crecen, el ataque propuesto, de forma natural, necesita una secuencia interceptada más larga.

La complejidad computacional es exponencial en LS, igual que los demás ataques conocidos, pero dos importantes aspectos del algoritmo merecen ser destacados:

1. Sólo hay que ejecutar la fase off-line antes de interceptar secuencia, y consecuentemente, su complejidad computacional no debería ser considerada de la misma forma que los cálculos on-line (después de la intercepción).

2. El ataque propuesto es determinístico ya que los bits obtenidos son conocidos con absoluta certidumbre

Page 94: No Más Secretos

94

Conclusiones Sobre Autómatas

•Hemos propuesto una mejora de un ataque con texto original

conocido sobre el SG, que requiere un nºbits interceptados menor que

la LC, y predice con absoluta certidumbre un nº de bits desconocidos

que depende del nº de bits interceptados.

•Las dos principales ventajas del criptoanálisis descrito son el

deteminismo de la predicción de bits y la aplicación de los resultados

obtenidos a diferentes generadores Shrinking.

•Uno de los temas que están siendo actualmente objeto de trabajo es

la modelización de otros generadores de secuencia interleaved

mediante concatenaciones concretas de CA.

Page 95: No Más Secretos

95

Nuestras Publicaciones

Ataques por Distancia Edit:1. P. Caballero Gil, A. Fúster-Sabater. Improvement of the Edit Distance

Attack to Clock-Controlled LFSR-Based Stream Ciphers. Cast and Tools for Robotics, Vehicular and Communication Systems. Las Palmas deGran Canaria. ISBN: 84-689-0432-5 pp. 184-186. 2005.

2. P. Caballero Gil, A. Fúster-Sabater. Improvement of the Edit DistanceAttack to Clock-Controlled LFSR-Based Stream Ciphers. Lecture Notes in Computer Science. Springer-Verlag Vol.3643. pp.355-364. 2005.

3. P. Caballero Gil, A. Fúster Sabater. Criptoanálisis eficiente de algunos cifrados en flujo usados en MANETs. Simposio sobre Seguridad Informática dentro del Primer Congreso Espanol de Informática CEDI. Granada. 13-14 Septiembre 2005.

4. P. Caballero-Gil, A. Fúster-Sabater. Un Ataque Efectivo Contra Cifrados en Flujo Basados en LFSRs. IX Reunión Española sobre Criptología y Seguridad de la Información. Barcelona. 7-9 Sept 2006.

Page 96: No Más Secretos

96

Nuestras PublicacionesAtaques Basados en Autómatas:1. A. Fúster Sabater, D. de la Guía Martínez, P. Caballero Gil. Analysis of Structural Properties of Shrinking Generators

as a Subset of Cellular Automata. Proceedings of The 6th World Multiconference on Systemics, Cybernetics andInformatics, SCI 2002. Orlando, Florida, USA. ISBN-980-07-8150-1.Volumen: I, pp. 466-470. 2002.

2. P. Caballero-Gil, A. Fúster-Sabater. An Improved Attack on the Shrinking Generator. 4th WSEAS International Conference on Information Security, Communications and Computers (ISCOCO 2005). Special Session Trust, Access, Privacy and Security (TAPAS). Tenerife. Dec. 16-18, 2005

3. P. Caballero-Gil, A. Fúster-Sabater. Using Linear Hybrid Cellular Automata to Attack the Shrinking Generator. IEICE Transactions on Fundamentals of Electronics Communications and Computer. Special Section on Discrete Mathematics and Its Applications. Paper. May 2006.

4. P. Caballero-Gil, A. Fúster-Sabater. An Improved Attack on the Shrinking Generator. WSEAS Transactions on Communications. ISSN 1109-2742. Issue 2, Volume 5, pp. 172-180. Feb. 2006.

5. A. Fúster-Sabater, P. Caballero-Gil and M.E. Pazo-Robles. Modelling of Complex Cryptographic Tools in Terms of Simple Cellular Automata. Lecture Notes in Computer Science, Springer-Verlag. University of Reading, UK. May 28-31. ICCS 2006

6. P. Caballero-Gil, A. Fúster-Sabater. Practical Attack on the Shrinking Generator. Lecture Notes in ComputerScience, Springer-Verlag. Glasgow, Scotland, 8-11 May ICCSA 2006.

7. A. Fúster-Sabater, P. Caballero-Gil and M.E. Pazo-Robles. Modelling of Complex Cryptographic Systems in Terms of Simple Cellular Automata. Lecture Notes in Computer Science, Springer-Verlag. Glasgow, Scotland, 8-11 May ICCSA 2006.

8. A. Fuster-Sabater & P. Caballero-Gil. Linear modelling of stream ciphers by concatenation of cellular automata. ECT2006: The Fifth International Conference on Engineering Computational Technology. Civil-Comp Press. Las Palmas de Gran Canaria. 12-15 September 2006

9. A. Fúster-Sabater, P. Caballero-Gil. Deterministic Alternatives to Statistical Test in Binary Pattern Generators. Far East Journal of Applied Mathematics. Nº:1 Volume 27 pp. 1-23. 2007

10. A. Fúster-Sabater, P. Caballero-Gil and M.E. Pazo-Robles. Application of Linear Hybrid Cellular Automata to StreamCiphers. EUROCAST 2007

11. A. Fúster-Sabater, P. Caballero-Gil. Linear Solutions for Cryptographic Nonlinear Sequence Generators. Aceptado en Physics Letters A. 2007

Page 97: No Más Secretos

97

Conclusión Final

•Cada procedimiento de cifrado requiere un criptoanálisis específico.

•“… realmente dudo que la inteligencia humana pueda concebir un enigma que la inteligencia de otro humano no sea capaz de resolver”

El escarabajo de oroEdgar Allan Poe