Procedimientos De Cifrado En Flujo
Total Page:16
File Type:pdf, Size:1020Kb
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 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ía Criptologí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 CLAVE CLAVE Texto claro Texto cifrado Texto claro cifrado descifrado A B Criptoanálisis descriptado 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 secreta Métodos de cifrado en flujo La transformación se aplica sobre cada carácter del mensaje original Ejemplo: sobre cada bit del mensaje Métodos de cifrado en bloque La 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ón Clave: 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 O Criptograma 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ón Clave: Grupos de 4 letras Transposición: 1234 ---- 4321 Mensaje S I S T E M A S C L A S I C O S Criptograma T S I S S A M E S A L C S O C I 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: YXii= ⊕ Zimod 2 Descifrado: XYii= ⊕ Zimod 2 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 Mensaje: come soon (Código ITA-2) A. Fúster Sabater INFOSEC-EMACOT Abril 2009 Condiciones de secreto perfecto (Shannon) Condiciones de aplicación: La clave se utiliza sólo una vez El 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? emisor receptor 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 A. Fúster Sabater INFOSEC-EMACOT Abril 2009 Procedimiento de Cifrado en Flujo Clave Clave Algoritmo Algoritmo determinístico zi zi determinístico yi EMISOR RECEPTOR xi xi xi ⊕ zi = yi yi ⊕ zi = xi A. Fúster Sabater INFOSEC-EMACOT Abril 2009 Cifrado en flujo Sec. cifrante = Algoritmo + clave c1 • Sec. periódica • c Pseudoaleatoriedad 2 No estamos propiamente en condiciones de “secreto perfecto” c • 3 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 6 22 Vc = 120 x 10 bits/seg ⇒ 9,452 x 10 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 ACk()= (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 Autocorrelación en fase: AC()k =1 Autocorrelación fuera de fase: AC()k ∈[−1,1] 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) xx4 ++1 • • 1 0 0 0 ↔ 1 0 0 0 0 0 0 1 Parámetros del registro 0 0 1 1 Longitud L (T = 2L –1) PN-secuencia 0 1 1 1 Polinomio de realimentación 1 1 1 1 Funcionamiento 1 1 1 0 Desplazamiento del contenido binario 1 1 0 1 Entra bit realimentado 1 0 1 0 Secuencia generada: 1 0 0 0 1 1 1 1 …… KKK A. Fúster Sabater INFOSEC-EMACOT Abril 2009 Registros de desplazamiento realimentados linealmente (LFSR) xx4 ++1 1 0 0 0 ↔ • • Relación de recurrencia lineal 1 0 0 0 0 0 0 1 aann++43= ⊕≥ann0 0 0 1 1 aa43= ⊕ a0 0 1 1 1 1 1 1 1 aa54= ⊕ a1 1 1 1 0 MM 1 1 0 1 Cada elemento se expresa en función de los 1 0 1 0 anteriores (relación lineal) KKK A. Fúster Sabater INFOSEC-EMACOT Abril 2009 Criptosistemas de cifrado en flujo Generadores de secuencia binaria Basados en Registros (LFSR) Clave: contenido inicial de estos registros Long. Clave = No. etapas en los LFSRs Hipótesis de partida: Conocimiento del esquema de generación Conocimiento de una cantidad de la secuencia de salida A. Fúster Sabater INFOSEC-EMACOT Abril 2009 Generador de Geffe (1973) x LFSR 1 1 0 x zi LFSR 2 2 1 x3 LFSR 3 SELECTOR F(x1, x2 , x3 ) = x1 ⊕ x1x3 ⊕ x2 x3 A. Fúster Sabater INFOSEC-EMACOT Abril 2009 Generador de Beth-Piper (1981) at2 () LFSR2 at1() XOR bt() LFSR1 AND LFSR3 at() • 3 Φ • Φ Función pulsos de reloj 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 a LFSR 1 i clock P c j b LFSR 2 i Según P, LFSR1 (registro de control) decima la secuencia producida por LFSR2 A. Fúster Sabater INFOSEC-EMACOT Abril 2009 El Generador Shrinking (Un ejemplo) LFSRs: 2 3 ¾ LFSR1: L1=3, P1(x)=1+x +x , IS1=(1,0,0) 4 ¾ LFSR2: L2=4, P2(x)=1+x+x , 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 A B 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.) A5/1 (países europeos) Doble versión: 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 tramas Trama = 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 oficialmente M. 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 Cifrado/Descifrado en A5/1 • emisor 001…10 010…11 110…01 ….. (texto claro) 011…01 000…10 010…11 ….. (sec. cifrante) 010…11 010…01 100…10 ….. (texto cifrado) • receptor 010…11 010…01 100…10 ….. (texto cifrado) 011…01 000…10 010…11 ….. (sec. cifrante) 001…10 010…11 010…11 ….. (texto claro) A5/1 es un generador de secuencia cifrante controlado por 64 bits de clave A. Fúster Sabater INFOSEC-EMACOT Abril 2009 Algoritmo A5/1 19 14 c1 1 1 0 R1 22 c2 1 1 0 1 R2 23 c3 8 1 0 0 R3 • Estado interno: 19 + 22 + 23 = 64 bits • Función mayoría (c1,c2,c3) = (0,1,0), R1 y R3 desplazan A. Fúster Sabater INFOSEC-EMACOT Abril 2009 AlgoritmoAlgoritmo E0E0 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 1 Aplicación software con alta velocidad de salida de bits cifrados (throughput) Longitud de clave: 128 bits Longitud de IV: 64 – 128 bits PERFIL 2 Aplicación hardware con recursos limitados: memoria, no.