stringtranslate.com

HC-256

HC-256 es un cifrador de flujo diseñado para proporcionar cifrado masivo en software a alta velocidad y al mismo tiempo permitir una gran confianza en su seguridad. [1] Se presentó una variante de 128 bits como candidata a cifrado eSTREAM y ha sido seleccionada como una de las cuatro finalistas 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 de cada tabla mediante una función de actualización no lineal. Después de 2048 pasos, se han actualizado 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 .

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]

Actuación

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

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

Se estudia en detalle la implementación de HC-128 en varias estructuras informáticas, con importantes mejoras de rendimiento en comparación con la implementación de SW ingenua. [4] [5]

Referencias

  1. ^ ab Wu, Hongjun (2004). "Un nuevo cifrado de flujo HC-256" (PDF) . Cifrado de software rápido – FSE 2004, LNCS 3017 : 226–244.
  2. ^ ab Wu, Hongjun (2004). "El cifrado de flujo HC-128" (PDF) . Archivado desde el original (PDF) el 24 de julio de 2008. Consultado el 15 de noviembre de 2010 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  3. ^ "El proyecto eSTREAM". Archivado desde el original el 13 de febrero de 2017. Consultado el 15 de noviembre de 2010 .
  4. ^ Chattopadhyay, Anupam; Khalid, Ayesha; Maitra, Subhamoy; Raizada, Shashwat (2012). "Diseño de un acelerador de hardware de alto rendimiento para el cifrado de flujo HC-128". Simposio internacional IEEE sobre circuitos y sistemas de 2012. págs. 1448–1451. doi :10.1109/ISCAS.2012.6271518. ISBN . 978-1-4673-0219-7.S2CID5520516  .​
  5. ^ Khalid, Ayesha; Bagchi, Deblin; Paul, Goutam; Chattopadhyay, Anupam (2013). "Implementación optimizada de GPU 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 clase en informática. Vol. 7839. págs. 293–308. doi :10.1007/978-3-642-37682-5_21. ISBN 978-3-642-37681-8.

Enlaces externos