HC-256


De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

HC-256 es un cifrado de flujo diseñado para proporcionar cifrado masivo en software a altas velocidades al tiempo que permite una gran confianza en su seguridad. [1] Se presentó una variante de 128 bits como candidata a cifrado de eSTREAM y se ha seleccionado como uno de los cuatro concursantes finales en el perfil del software. [2] [3]

El algoritmo fue diseñado por Hongjun Wu y se publicó por primera vez en 2004. No está patentado.

Función

HC-256 tiene una clave de 256 bits y un vector de inicialización (nonce) de 256 bits. [1]

Internamente, consta de dos tablas secretas (P y Q). Cada tabla contiene 1024 palabras de 32 bits. Para cada actualización de estado, se actualiza una palabra de 32 bits en cada tabla mediante una función de actualización no lineal. Después de 2048 pasos, se actualizaron todos los elementos de las tablas.

Genera una palabra de 32 bits para cada paso de actualización utilizando una función de mapeo de 32 bits a 32 bits similar a la función de salida del cifrado Blowfish . Finalmente, se aplica una función de enmascaramiento de bits lineal para generar una palabra de salida. Utiliza las dos funciones de programación de mensajes en la función hash SHA-256 internamente, pero con las tablas P y Q como S-boxes .

El HC-128 tiene una función similar y reduce a la mitad la longitud de la clave, el nonce, el número de palabras en las tablas P y Q y el número de pasos de actualización de la tabla. [2]

Rendimiento

El autor estima que el rendimiento del HC-256 es de unos 4 ciclos por byte en un procesador Pentium 4 . Sin embargo, la fase de inicialización del cifrado incluye expandir la clave de 256 bits en las tablas P, Q y luego ejecutar el cifrado durante 4096 pasos. El autor de HC-256 estima que este proceso toma alrededor de 74.000 ciclos.

Para HC-128 se cita una velocidad de encriptación de aproximadamente 3 ciclos por byte en un procesador Pentium M.

La implementación de HC-128 en varias estructuras informáticas se estudia en detalle, con ganancias de rendimiento significativas en comparación con la implementación de SW ingenua. [4] [5]

Referencias

  1. a b Wu, Hongjun (2004). "Un nuevo cifrado de flujo HC-256" (PDF) . Cifrado de software rápido - FSE 2004, LNCS 3017 : 226–244.
  2. a b Wu, Hongjun (2004). "El cifrado de flujo HC-128" (PDF) . Cite journal requiere |journal=( ayuda )
  3. ^ "El proyecto eSTREAM" .
  4. ^ Chattopadhyay, Anupam; Khalid, Ayesha; Maitra, Subhamoy; Raizada, Shashwat (2012). "Diseño de acelerador de hardware de alto rendimiento para cifrado de flujo HC-128". 2012 Simposio Internacional IEEE sobre Circuitos y Sistemas . págs. 1448-1451. doi : 10.1109 / ISCAS.2012.6271518 . ISBN 978-1-4673-0219-7.
  5. ^ Khalid, Ayesha; Bagchi, Deblin; Paul, Goutam; Chattopadhyay, Anupam (2013). "Implementación de GPU optimizada y análisis de rendimiento de la serie HC de cifrados de flujo". Seguridad de la información y criptología - ICISC 2012 . Apuntes de conferencias en Ciencias de la Computación. 7839 . págs. 293-308. doi : 10.1007 / 978-3-642-37682-5_21 . ISBN 978-3-642-37681-8.

enlaces externos

  • Página eSTREAM en HC-256


Obtenido de " https://en.wikipedia.org/w/index.php?title=HC-256&oldid=1008443721 "