stringtranslate.com

E0 (cifrado)

E0 es un cifrado de flujo utilizado en el protocolo Bluetooth . Genera una secuencia de números pseudoaleatorios y la combina con los datos mediante 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. Luego se extraen cuatro bits de los registros de desplazamiento y se suman. El algoritmo realiza una operación XOR que suma con el valor en el registro de 2 bits. El primer bit del resultado se envía para la codificación.

E0 se divide en tres partes:

  1. Generación de claves de carga útil
  2. Generación de flujo de claves
  3. Codificación

La configuración del estado inicial en Bluetooth utiliza la misma estructura que el generador de flujo de bits aleatorios. Por lo tanto, se trata de dos algoritmos E0 combinados. En la primera etapa se produce un estado inicial de 132 bits utilizando cuatro entradas (la clave de 128 bits, la dirección Bluetooth en 48 bits y el contador maestro de 26 bits). A continuación, la salida se procesa mediante una operación polinómica y la clave resultante pasa por la segunda etapa, que genera el flujo utilizado para la codificación. La clave tiene una longitud variable, pero siempre es un múltiplo de 2 (entre 8 y 128 bits). Generalmente se utilizan claves de 128 bits. Estas se almacenan en los registros de desplazamiento de la segunda etapa. A continuación, se producen 200 bits pseudoaleatorios mediante 200 ticks de reloj y los últimos 128 bits se insertan en los registros de desplazamiento. Es el estado inicial del generador de flujo.

Criptoanálisis

Se han realizado varios ataques e intentos de criptoanálisis de E0 y del protocolo Bluetooth, y se han encontrado varias vulnerabilidades. En 1999, Miia Hermelin y Kaisa Nyberg demostraron que E0 podía ser violado en 2 64 operaciones (en lugar de 2 128 ), si se conocen 2 64 bits de salida. [1] Este tipo de ataque fue mejorado posteriormente por Kishan Chand Gupta y Palash Sarkar. Scott Fluhrer, un empleado de Cisco Systems , encontró un ataque teórico con un precálculo de 2 80 operaciones y una complejidad de búsqueda de clave de aproximadamente 2 65 operaciones. [2] Dedujo que la seguridad máxima de E0 es equivalente a la proporcionada por 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 sobre E0.

En 2000, el finlandés Juha Vainio mostró problemas relacionados con el mal uso de E0 y, de manera más general, posibles vulnerabilidades en Bluetooth. [3]

En 2004, Yi Lu y Serge Vaudenay publicaron un ataque estadístico que requería los 24 primeros bits de 2,35 tramas Bluetooth (una trama tiene una longitud de 2745 bits). La complejidad final para recuperar la clave es de aproximadamente 2,40 operaciones . El ataque se mejoró a 2,37 operaciones para el precálculo y 2,39 para la búsqueda de la clave 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 tramas y 2 38 cálculos para recuperar la clave. Los autores afirman que "este es claramente el ataque de texto plano más rápido y práctico conocido contra el cifrado de Bluetooth en comparación con todos los ataques existentes". [6]

Véase también

Referencias

  1. ^ Hermelin, Miia; Kaisa Nyberg (1999). "Propiedades de correlación del combinador Bluetooth". Seguridad de la información y criptología - ICISC'99 (PDF) . Apuntes de clase en informática. Vol. 1787. Helsinki, Finlandia: Nokia Research Centre. págs. 17–29. CiteSeerX  10.1.1.40.9412 . doi :10.1007/10719994_2. ISBN 978-3-540-67380-4. {{cite book}}: |journal=ignorado ( ayuda )
  2. ^ Fluhrer, Scott. "Recuperación de clave mejorada del nivel 1 del cifrado Bluetooth" (PostScript) . Cisco Systems, Inc.
  3. ^ Vainio, Juha. "Seguridad de Bluetooth" (PDF) . Helsinki, Finlandia: Universidad Tecnológica de Helsinki. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  4. ^ Lu, Yi; Serge Vaudenay (2004). "Criptoanálisis del generador de flujo de claves Bluetooth de dos niveles E0". Avances en criptología - ASIACRYPT 2004. Apuntes de clase en informática. Vol. 3329. págs. 483–499. doi :10.1007/978-3-540-30539-2_34. ISBN 978-3-540-23975-8. {{cite book}}: |journal=ignorado ( ayuda )
  5. ^ Lu, Yi; Serge Vaudenay. "Ataque de correlación más rápido en el generador de flujo de claves E0 de Bluetooth" (PDF) . Crypto 2004 : 407–425. Archivado desde el original (PDF) el 2006-10-02 . Consultado el 2005-06-29 .
  6. ^ Lu, Yi; Meier, Willi; Vaudenay, Serge (2005). "El ataque de correlación condicional: un ataque práctico al cifrado Bluetooth". Avances en criptología – CRYPTO 2005 (PDF) . Apuntes de clase en informática. Vol. 3621. Santa Bárbara, California, EE. UU. pp. 97–117. CiteSeerX 10.1.1.323.9416 . doi :10.1007/11535218_7. ISBN  978-3-540-28114-6. {{cite book}}: |journal=ignorado ( ayuda )Mantenimiento de CS1: falta la ubicación del editor ( enlace )

Enlaces externos