Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Procedimientos de Cifrado en Flujo
Amparo Fúster SabaterInstituto de Física Aplicada C.S.I.C.
A. Fúster Sabater INFOSEC-EMACOT Abril
2009
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
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
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
Criptografía Actual
Criptosistemas actuales
Clave secreta Clave pública
Cifrado en flujo Cifrado en bloque
A. Fúster Sabater INFOSEC-EMACOT Abril
2009
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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= ⊕
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
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
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
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
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
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
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
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
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
Algoritmo E0Algoritmo E0
A. Fúster Sabater INFOSEC-EMACOT Abril
2009
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
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
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
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
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.
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
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
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
The eSTREAM PROJECT: Propuestas fase 3
Profile 1 (SW) Profile 2 (HW)
CryptMT (CryptMT Version 3) DECIM (DECIM v2 and DECIM- 128)
Dragon Edon80
HC (HC-128 and HC-256) F-FCSR (F-FCSR-H v2 and F-FCSR- 16)
LEX (LEX-128, LEX-192 and LEX- 256) Grain (Grain v1 and Grain-128)
NLS (NLSv2, encryption-only) MICKEY (Mickey 2.0 and Mickey- 128)
Rabbit MoustiqueSalsa20 Pomaranch (Pomaranch Version 3)
SOSEMANUK TriviumA. Fúster Sabater INFOSEC-EMACOT Abril
2009
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
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
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
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
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
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
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
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
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