48
Procedimientos de Cifrado en Flujo Amparo Fúster Sabater Instituto de Física Aplicada C.S.I.C. [email protected] A. Fúster Sabater INFOSEC-EMACOT Abril 2009

Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Procedimientos de Cifrado en Flujo

Amparo Fúster SabaterInstituto de Física Aplicada C.S.I.C.

[email protected]

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 2: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Contenido

Introducción a la criptografía

Procedimiento de cifrado en flujo

Algoritmos de cifrado en flujo (Ejemplos)

The eSTREAM Project

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 3: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

CriptologíaCriptología = Criptografía + Criptoanálisis

Criptografía: desarrolla métodos de cifrado para proteger la información.

Criptoanálisis: rompe dichos métodos para recuperar la información original.

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 4: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Procedimiento Criptográfico: Esquema General

A

Texto claro

CLAVE

descifrado

descriptado

Criptoanálisis

Texto cifradocifrado

Texto claro

CLAVE

B

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 5: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Criptografía Actual

Criptosistemas actuales

Clave secreta Clave pública

Cifrado en flujo Cifrado en bloque

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 6: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Criptografía de clave secretaMétodos de cifrado en flujoLa transformación se aplica sobre cada carácter del mensaje original

Ejemplo:

sobre cada bit

del mensaje

Métodos de cifrado en bloqueLa transformación se aplica sobre un grupo de caracteres del mensaje original

Ejemplo:

sobre grupos de 64 bits (DES)

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 7: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Principios básicos (I)

SustituciónClave:

A B C D E F G H I J K L M N O P Q R S T U V X Y Z

P L O K N M J U I B V G Y T F C X D R E S Z A Q H

Mensaje E S T O E S U N E J E M P L OCriptograma N R E F N R S T N B N Y C I F

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 8: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Principios básicos (II)

TransposiciónClave:

Mensaje S I S T E M A S C L A S I C O SCriptograma T S I S S A M E S A L C S O C I

Grupos de 4 letras Transposición: 1234 ----

4321

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 9: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Cifrado Vernam (1917)

One-time Pad (Cifrado con cinta aleatoria)Clave:

Secuencia binaria aleatoria de uso único

Cifrado:

Descifrado:

Mensaje: come soon

(Código ITA-2)

mod 2i i iY X Z= ⊕

mod 2i i iX Y Z= ⊕

Mensaje 00011 01111 01101 00101 10011 01111 01111 01110

Clave 11011 00101 01011 00110 10110 10101 01100 10010

Criptograma 11000 01010 00110 00011 00101 11010 00011 11100

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 10: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Condiciones de secreto perfecto

(Shannon)Condiciones de aplicación:

La clave se utiliza sólo una vezEl criptoanalista tiene acceso sólo al criptograma

Secreto perfecto:“El texto claro X

es estadísticamente independiente del

criptograma Y

para todos los posibles textos claros y todos los posibles criptogramas”

P(X = x | Y = y) = P(X = x)

C.E. Shannon, “Communication Theory of Secrecy Systems”, Bell. Syst. Tech. J., 28 (1949), 656-715.

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 11: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Cifrado Vernam: es viable?

Mensaje 00011 01111 01101 Criptograma 11000 01010 00110

Sec. cifrante 11011 00101 01011 Sec. cifrante 11011 00101 01011

Criptograma 11000 01010 00110 Mensaje 00011 01111 01101

Centro de distribución

de

claves

emisor receptor

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 12: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

yi

Clave

ziAlgoritmo

determinístico

xi

Clave

ziAlgoritmo

determinístico

xi

Procedimiento de Cifrado en Flujo

xi

zi

= yi yi

zi

= xi

EMISOR RECEPTOR

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 13: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Cifrado en flujo

c3

c2

c1 •

Sec. cifrante = Algoritmo + claveSec. periódicaPseudoaleatoriedadNo estamos propiamente en condiciones

de “secreto

perfecto”

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 14: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Secuencia Cifrante:

1.

¿Qué

características

generales presentan

estas

secuencias?

2.

¿Cómo

son los generadores

que

las producen?

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 15: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Secuencias Cifrantes: Características Generales (I)

Período (≈ 1038 bits)

T = 2128 - 1 ≈

3,40 x 1038

bits

Vc

= 120 x 106

bits/seg ⇒ 9,452 x 1022

años

221x109

veces la edad del universo

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 16: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Secuencias Cifrantes: Características Generales (II)

Distribución de ceros y unos

0100110100111010110010010

rachas de ceros (gaps)

rachas de unos (blocks)

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 17: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Secuencias Cifrantes: Características Generales (III)Autocorrelación

Autocorrelación en fase:

Autocorrelación fuera de fase:

( ) ( ) /AC k A D T= −

Sec.original 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1

Sec. desplazada 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 1

( ) 1AC k =

( ) [ 1,1]AC k ∈ −

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 18: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Postulados de pseudoaleatoriedad

de Golomb

G1: En cada período de la secuencia considerada el número de 1’s tiene que ser aproximadamente igual al número de 0’s.

G2: En cada período de la secuencia considerada la mitad de las rachas, del número total de rachas observadas, tiene longitud 1, la cuarta parte longitud 2, la octava parte longitud 3 … etc. Para cada longitud habrá el mismo número de blocks que de gaps.

G3: La autocorrelación AC(k) fuera de fase tiene que ser constante para todo valor de k.

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 19: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Registros de desplazamiento realimentados linealmente (LFSR)

4 1x x+ +

Parámetros del registroLongitud L (T = 2L – 1) PN-secuenciaPolinomio de realimentación

FuncionamientoDesplazamiento del contenido binarioEntra bit realimentado

Secuencia generada: 1 0 0 0 1 1 1 1 ……

↔0001• •

1 0 0 00 0 0 10 0 1 10 1 1 11 1 1 11 1 1 01 1 0 11 0 1 0KKK

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 20: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Registros de desplazamiento realimentados linealmente (LFSR)

4 3 0n n na a a n+ += ⊕ ≥

4 1x x+ +

Relación de recurrencia lineal

Cada elemento se expresa en función de los anteriores (relación lineal)

↔0001

• •

1 0 0 00 0 0 10 0 1 10 1 1 11 1 1 11 1 1 01 1 0 11 0 1 0KKK

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

5 4 1a a a= ⊕M M

4 3 0a a a= ⊕

Page 21: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Criptosistemas de cifrado en flujo

Generadores de secuencia binariaBasados en Registros (LFSR)Clave: contenido inicial de estos registrosLong. Clave = No. etapas en los LFSRsHipótesis de partida:

Conocimiento del esquema de generaciónConocimiento de una cantidad de la secuencia de salida

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 22: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

32311321 ),,( xxxxxxxxF ⊕⊕=

LFSR 1

LFSR 2

LFSR 3

1x

2x

3x

0

1

SELECTOR

iz

Generador de Geffe (1973)

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 23: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Generador de Beth-Piper

(1981)

LFSR1

LFSR2

LFSR3

•Φ

1( )a t

2 ( )a t

3( )a t

( )b t

Función

pulsos

de relojΦ

ANDXOR

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 24: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

El Generador Shrinking (1993)Generador binario muy sencillo (Crypto’93)

Compuesto de dos LFSRs: LFSR1 y LFSR2

Según P, LFSR1 (registro de control) decima la secuencia producida por LFSR2

LFSR 1

LFSR 2

P

ia

ibjcclock

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 25: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

El Generador Shrinking (Un ejemplo)

LFSRs:LFSR1: L1=3, P1(x)=1+x2+x3, IS1=(1,0,0)LFSR2: L2=4, P2(x)=1+x+x4, IS2=(1,0,0,0)

Ley de decimación P:{ai}= 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 …{bi}= 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 …{cj}= 1 0 1 1 1 0 1 0 0 …

Los bits subrayados (1

y 0)

se eliminan

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 26: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Algoritmos de cifrado A5

Algoritmo A5: generador de secuencia pseudoaleatoria

Uso: cifrado del enlace entre el teléfono móvil y la estación base (Telefonía G.S.M.)

Doble versión:

A B

A5/1 (países europeos)

A5/2 (fuera de Europa)

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 27: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Telefonía G.S.M. (Global System for Mobile Communications)

Conversación G.S.M. = secuencia de tramasTrama = 228 bits enviada cada 4,6 milisegundos

Cifrado de la conversación:

0 0 0 0 1 1 0 1 … texto claro (conversación digitalizada)

1 0 1 1 0 1 0 1 … sec. cifrante (producida por algoritmo A5)

1 0 1 1 1 0 0 0 … sec. cifrada (conversación cifrada)

Algoritmos criptográficos G.S.M. : A5/1, A5/2 (cifrado)

Estos algoritmos nunca fueron publicados oficialmenteM. Briceno esquemas funcionales del A5/1 y A5/2(ingeniería inversa) (http://cryptome.org/gsm-a512.htm)

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 28: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

001…10 010…11 110…01 ….. (texto claro)011…01 000…10 010…11 ….. (sec. cifrante)

010…11 010…01 100…10 ….. (texto cifrado)

• emisor

011…01 000…10 010…11 ….. (sec. cifrante)010…11 010…01 100…10 ….. (texto cifrado)

001…10 010…11 010…11 ….. (texto claro)

• receptor

Cifrado/Descifrado en A5/1

A5/1 es un generador de secuencia cifrante controladopor 64 bits de clave

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 29: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Algoritmo A5/1

• Estado interno: 19 + 22 + 23 = 64 bits• Función mayoría (c1,c2,c3) = (0,1,0), R1 y R3 desplazan

1

1 0

0 0

0

c1

c2

c3

119

1

1

R1

22

8

14

23

R2

R3

1

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 30: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Algoritmo E0Algoritmo E0

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 31: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Generalidades

Iniciativa de la Universidad de Lovaina en 2004

En el marco del SASC’04 (the State of the Art of

Stream Cipher)

Finalidad: Convocatoria para la presentación de

primitivas criptográficas de cifrado en flujo

“Standard” de Cifrado en Flujo

Dirección Web:http://www.ecrypt.eu.org/stream/index.html

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 32: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Requerimientos

PERFIL 1Aplicación software con alta velocidad de salida de bits cifrados (throughput)Longitud de clave: 128 bitsLongitud de IV: 64 – 128 bits

PERFIL 2Aplicación hardware con recursos limitados: memoria, no. puertas, consumo de potenciaLongitud de clave: 80 bitsLongitud de IV: 32 – 64 bits

Seguridad, criptoanálisis/búsqueda exhaustiva, eficiencia, claridad de diseño, superior al AES (counter mode)

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 33: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Panel de expertos:S. Babbage, C. de Cannière, A. Canteaut, C. Cid, N. Courtois, H. Gilbert, T. Johansson, J. Lano, C. Paar, M. Parker, B. Preneel, V. Rijmen, M. Robshaw+Toda la Comunidad Criptográfica Internacional !!!

Selección de algoritmos basada en sucesivas cribas(fases)

Algunos pasan a la siguiente faseOtros se archivan definitivamente

The eSTREAM PROJECT: Planificación

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 34: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Propuestas

Se presentaron 34 primitivas criptográficasDoble clasificación:

Cifradores orientados a su implementación softwareCifradores orientados a su implementación hardware

Algunos de ellos verificaban los requerimientos de ambas categorías

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 35: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Calendario

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

October 14-15, 2004, A workshop is hosted by ECRYPT in Bruges : SASC - The State of the Art of Stream Ciphers. Discussion at this workshop leads to the ECRYPT Call for Primitives.November 2004, ECRYPT launches its Call for Primitives.April 29, 2005, The deadline of submission to ECRYPT. 34 primitives have been submitted to ECRYPT. June 13, 2005, This website is launched, to promote the public evaluation of the primitives. February 2006, The end of the first evaluation phase of eSTREAM.July 2006, The beginning of the second evaluation phase of eSTREAM. April 2007, The beginning of the third evaluation phase of eSTREAM. February 2008, Workshop SASC 2008May 2008, The final report of the eSTREAM.

Page 36: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Propuestas (SW)Profile 1 (SW)

Phase 3Archived

Phase 2 Archived Phase 1 ArchivedCryptMT ABC F-FCSRDragon DICING FubukiHC Phelix FrogbitLEX Polar Bear HermesNLS Py MAG

Rabbit Mir-1

Salsa20 Pomaranch

SOSEMANUK SSS

TRBDK3 YAEA

YambA. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 37: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Propuestas (HW)Profile 2 (HW)

Phase 3Archived

Phase 2 Archived Phase 1 ArchivedDECIM Achterbahn MAGEdon80 Hermes SfinksF-FCSR LEX SSSGrain NLS TRBDK3 YAEAMICKEY Phelix YambMoustique Polar BearPomaranch RabbitTrivium Salsa20

TSC-3VESTWGZk-CryptA. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 38: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT:Rabbit (Phase 3 Profile 1)This is the archived eSTREAM Phase 3 page of Rabbit. For the latest information on Rabbit, please go to the eSTREAM portfolio page on Rabbit hereAlgorithm Name: Rabbit Submitters : Martin Boesgaard, Mette Vesterager, Thomas Christensen and Erik ZennerType of Algorithm : Synchronous Stream Cipher Proposed Environment : Profile 1 (SW) and 2 (HW) Intellectual Property : Patented, but free for non-commercial use. statementsAlgorithm Description :

Article : The Stream Cipher Rabbit, pdfSubmitted C code: zipAPI-compliant C code: link

Archived Pages: Phase 2 page and Phase 1 pageCryptanalysis:

Jean-Philippe Aumasson, "On a bias of Rabbit", pdf.Software Performance : link

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 40: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Finalistas

Profile 1 (SW) Profile 2 (HW)

HC (HC-128 and HC-256) MICKEY (Mickey 2.0 and Mickey-128)

Rabbit F-FCSR (F-FCSR-H v2)Salsa20 Grain (Grain v1 and Grain-128)

SOSEMANUK Trivium

4 propuestas (perfil SW): HC, Rabbit, Salsa20, Sosemanuk.4 propuestas (perfil HW): Mickey, FCSR, Grain, Trivium

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 41: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Ganadores

Contra todo pronóstico salen 7 algoritmos ganadores !!!!!!!!!!

Profile 1 (SW) Profile 2 (HW)HC (HC-128 and HC-256) Grain (Grain-128)

Rabbit MICKEY (MICKEY 2.0)Salsa20 Trivium

SOSEMANUK

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 42: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Trivium (HW)

Trivium: generador de secuencia síncrono orientado al hardware.Autores: C. de Cannière and B. PreneelConjuga : simplicidad, seguridad y velocidadConsta de:

CLAVE: K de 80 bitsVEC. INIC. : IV de 80 bitsGenera hasta 264 bits consecutivos

Dos Fases:Fase de inicializaciónFase de generación

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 43: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Trivium (HW)

Estado interno de 288 bits(s1

, s2

, s3

, ….., s288

)

Maneja 15 bits en cada iteración

Todo gira en torno al número 3(Trivium)

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 44: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Trivium (HW)

}Fase de Generación:

93661 sst ⊕←1771622 sst ⊕←2882433 sst ⊕←

321 tttzi ⊕⊕←

171929111 ssstt ⊕⋅⊕←

26417617522 ssstt ⊕⋅⊕←6928728633 ssstt ⊕⋅⊕←

),,,,(),,,( 922139321 ssstsss KK ←

Actualización

),,,,(),,,( 176959411779594 ssstsss KK ←),,,,(),,,( 2871791782288179178 ssstsss KK ←

Rotación

Bit calculado

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 45: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Trivium (HW)

Fase de Inicialización:

for i = 1 to 4 · 288 do171939291661 ssssst ⊕⊕⋅⊕←

2641771761751622 ssssst ⊕⊕⋅⊕←692882872862433 ssssst ⊕⊕⋅⊕←

),,,,(),,,( 922139321 ssstsss KK ←),,,,(),,,( 176959411779594 ssstsss KK ←

),,,,(),,,( 2871791782288179178 ssstsss KK ←

)0,,0,,,(),,,( 8019321 KKK KKsss ←)0,,0,,,(),,,( 8011779594 KKK IVIVsss ←

)1,1,1,0,,0(),,,( 288179178 KK ←sss

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 46: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

The eSTREAM PROJECT: Sosemanuk (SW)

LFSR: un registro de 10 etapasContenido de cada etapa es un elemento de

palabra de 32 bits)2( 32GF

1)( 7110 +++=Π − XXXX αα

tttt ssss αα ⊕⊕← +−

++ 31

910

its +

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

Page 47: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Algoritmo RC4

A. Fúster Sabater INFOSEC-EMACOT Abril

2009

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

f = (f + Si + Ki ) mod 256 Intercambiar Si y Sf

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

mediante:1. i = (i + 1) mod 256; f = (f + Si ) mod 256;2. Intercambiar Si y Sf

3. t = (Si + Sf ) mod 256

Page 48: Procedimientos de Cifrado en Flujo - Digital CSICdigital.csic.es/bitstream/10261/24551/1/INFOSEC_2009.pdf · Introducción a la criptografía Procedimiento de cifrado en flujo Algoritmos

Conclusiones

eSTREAM ha devuelto el interés por el cifrado en flujotras varios años de innactividad.

Hay muchos y buenos cifradores en flujo para su posiblecriptoanálisis.

A. Fúster Sabater INFOSEC-EMACOT Abril

2009