E0 es un cifrado de flujo utilizado en el protocolo Bluetooth . Genera una secuencia de números pseudoaleatorios y la combina con los datos usando el operador XOR . La longitud de la clave puede variar, pero generalmente es de 128 bits.
Descripción
En cada iteración, E0 genera un bit utilizando cuatro registros de desplazamiento de diferentes longitudes (25, 31, 33, 39 bits) y dos estados internos, cada uno de 2 bits de longitud. En cada tic del reloj, los registros se desplazan y los dos estados se actualizan con el estado actual, el estado anterior y los valores en los registros de desplazamiento. A continuación, se extraen cuatro bits de los registros de desplazamiento y se suman. El algoritmo XOR que suma el valor en el registro de 2 bits. El primer bit del resultado se emite para la codificación.
E0 se divide en tres partes:
- Generación de claves de carga útil
- Generación de keystream
- Codificación
La configuración del estado inicial en Bluetooth utiliza la misma estructura que el generador de flujo de bits aleatorio. Por tanto, se trata de dos algoritmos E0 combinados. Se produce un estado inicial de 132 bits en la primera etapa utilizando cuatro entradas (la clave de 128 bits, la dirección de Bluetooth en 48 bits y el contador maestro de 26 bits). Luego, la salida se procesa mediante una operación polinomial y la clave resultante pasa por la segunda etapa, que genera la secuencia utilizada para la codificación. La clave tiene una longitud variable, pero siempre es múltiplo de 2 (entre 8 y 128 bits). Generalmente se utilizan claves de 128 bits. Estos se almacenan en los registros de desplazamiento de la segunda etapa. Luego se producen 200 bits pseudoaleatorios mediante 200 tics de reloj, y los últimos 128 bits se insertan en los registros de desplazamiento. Es el estado inicial del generador de corrientes.
Criptoanálisis
Se han realizado varios ataques e intentos de criptoanálisis de E0 y el protocolo Bluetooth, y se han encontrado varias vulnerabilidades. En 1999, Miia Hermelin y Kaisa Nyberg demostraron que E0 podría romperse en 2 64 operaciones (en lugar de 2 128 ), si se conocen 2 64 bits de salida. [1] Este tipo de ataque fue posteriormente mejorado por Kishan Chand Gupta y Palash Sarkar. Scott Fluhrer , un empleado de Cisco Systems , encontró un ataque teórico con un cálculo previo de 2 80 operaciones y una complejidad de búsqueda clave de aproximadamente 2 65 operaciones. [2] Dedujo que la seguridad máxima de E0 es equivalente a la proporcionada por las claves de 65 bits, y que las claves más largas no mejoran la seguridad. El ataque de Fluhrer es una mejora con respecto al trabajo anterior de Golic, Bagini y Morgari, quienes idearon un ataque de 2 70 operaciones en E0.
En 2000, el finlandés Juha Vainio mostró problemas relacionados con el mal uso de E0 y, en general, posibles vulnerabilidades en Bluetooth. [3]
En 2004, Yi Lu y Serge Vaudenay publicaron un ataque estadístico que requería los primeros 24 bits de 2 35 tramas de Bluetooth (una trama tiene 2745 bits de longitud). La complejidad final para recuperar la clave es de aproximadamente 2 40 operaciones. El ataque se mejoró a 2 37 operaciones para el cálculo previo y 2 39 para la búsqueda de claves real. [4] [5]
En 2005, Lu, Meier y Vaudenay publicaron un criptoanálisis de E0 basado en un ataque de correlación condicional. Su mejor resultado requirió los primeros 24 bits de 2 23,8 cuadros y 2 38 cálculos para recuperar la clave. Los autores afirman que "este es claramente el ataque de texto plano conocido más rápido y práctico en el cifrado de Bluetooth en comparación con todos los ataques existentes". [6]
Ver también
Referencias
- ^ Hermelin, Miia; Kaisa Nyberg (1999). Propiedades de correlación del Combinador de Bluetooth (PDF) . Conferencia Internacional sobre Seguridad de la Información y Criptología 1999 . Apuntes de conferencias en Ciencias de la Computación. 1787 . Helsinki, Finlandia: Nokia Research Center. págs. 17-29. CiteSeerX 10.1.1.40.9412 . doi : 10.1007 / 10719994_2 . ISBN 978-3-540-67380-4.
- ^ Fluhrer, Scott. "Recuperación de claves mejorada del nivel 1 del cifrado Bluetooth" (PostScript) . Cisco Systems, Inc.
- ^ Vainio, Juha. "Seguridad Bluetooth" (PDF) . Helsinki, Finlandia: Universidad Tecnológica de Helsinki. Cite journal requiere
|journal=
( ayuda ) - ^ Lu, Yi; Serge Vaudenay (2004). Criptoanálisis de Bluetooth Keystream Generator Two-Level E0 . Asiacrypt 2004 . Apuntes de conferencias en Ciencias de la Computación. 3329 . págs. 483–499. doi : 10.1007 / 978-3-540-30539-2_34 . ISBN 978-3-540-23975-8.
- ^ Lu, Yi; Serge Vaudenay. "Ataque de correlación más rápido en Bluetooth Keystream Generator E0" (PDF) . Crypto 2004 : 407–425.
- ^ Lu, Yi; Meier, Willi; Vaudenay, Serge (2005). El ataque de correlación condicional: un ataque práctico al cifrado de Bluetooth (PDF) . Cripto 2005 . Apuntes de conferencias en Ciencias de la Computación. 3621 . Santa Bárbara, California, Estados Unidos. págs. 97-117. CiteSeerX 10.1.1.323.9416 . doi : 10.1007 / 11535218_7 . ISBN 978-3-540-28114-6.
enlaces externos
- Vaudenay, Serge; Yi Lu. "Criptoanálisis de E0" (PDF) . EPFL. Archivado desde el original (PDF) el 29 de octubre de 2006. Diapositivas.