stringtranslate.com

RC6

En criptografía , RC6 ( Rivest cipher 6 ) es un cifrado de bloques de clave simétrica derivado de RC5 . Fue diseñado por Ron Rivest , Matt Robshaw , Ray Sidney y Yiqun Lisa Yin para cumplir con los requisitos de la competencia Advanced Encryption Standard (AES) . El algoritmo fue uno de los cinco finalistas, y también fue presentado a los proyectos NESSIE y CRYPTREC . Era un algoritmo propietario, patentado por RSA Security .

El RC6 propiamente dicho tiene un tamaño de bloque de 128 bits y admite tamaños de clave de 128, 192 y 256 bits hasta 2040 bits, pero, al igual que el RC5, se puede parametrizar para admitir una amplia variedad de longitudes de palabra, tamaños de clave y número de rondas. El RC6 es muy similar al RC5 en cuanto a su estructura, ya que utiliza rotaciones dependientes de los datos, adición modular y operaciones XOR ; de hecho, se podría considerar que el RC6 entrelaza dos procesos de cifrado RC5 paralelos, aunque el RC6 utiliza una operación de multiplicación adicional que no está presente en el RC5 para que la rotación dependa de cada bit de una palabra, y no solo de los bits menos significativos.

Cifrado/descifrado

Tenga en cuenta que el algoritmo de expansión de claves es prácticamente idéntico al de RC5. La única diferencia es que, en el caso de RC6, se derivan más palabras de la clave proporcionada por el usuario.

// Cifrado/descifrado con RC6-w/r/b // // Entrada: Texto simple almacenado en cuatro registros de entrada de w-bit A, B, C y D // r es el número de rondas // Claves de ronda de w-bit S[0, ..., 2r + 3] // // Salida: Texto cifrado almacenado en A, B, C, D // // '''Procedimiento de cifrado:'''B = B + S [ 0 ] D = D + S [ 1 ] para i = 1 para r hacer { t = ( B * ( 2 B + 1 )) <<< lg w u = ( D * ( 2 D + 1 )) <<< lg w A = (( A ^ t ) <<< u ) + S [ 2 i ] C = (( C ^ u ) <<< t ) + S [ 2 i + 1 ] ( A , B , C , D ) = ( B , C , D , A ) } A = A + S [ 2 r + 2 ] C = C + S [ 2 r + 3 ]                                                                       // '''Procedimiento de descifrado:'''C = C - S [ 2 r + 3 ] A = A - S [ 2 r + 2 ] para i = r hasta 1 hacer { ( A , B , C , D ) = ( D , A , B , C ) u = ( D * ( 2 D + 1 )) <<< lg w t = ( B * ( 2 B + 1 )) <<< lg w C = (( C - S [ 2 i + 1 ]) >>> t ) ^ u A = (( A - S [ 2 i ]) >>> u ) ^ t } D = D - S [ 1 ] B = B - S [ 0 ]                                                                      

Posible uso en "implantes" de la NSA

En agosto de 2016 se divulgó un código supuestamente utilizado por Equation Group o NSA para "implantes" de varios dispositivos de seguridad de red. [2] Las instrucciones que lo acompañaban revelaron que algunos de estos programas utilizan RC6 para la confidencialidad de las comunicaciones de red. [3]

Licencias

Como RC6 no fue seleccionado para el AES , no se garantizó que RC6 esté libre de regalías. En enero de 2017 , una página web en el sitio web oficial de los diseñadores de RC6, RSA Laboratories, afirma lo siguiente: [4]

“Destacamos que si se selecciona RC6 para el AES, RSA Security no requerirá ningún pago de licencias o regalías para los productos que utilicen el algoritmo”.

El énfasis en la palabra "si" sugiere que RSA Security Inc. podría haber exigido el pago de licencias y regalías para cualquier producto que utilizara el algoritmo RC6. RC6 era un algoritmo de cifrado patentado ( patente estadounidense 5.724.428 y patente estadounidense 5.835.600 ); sin embargo, las patentes expiraron entre 2015 y 2017.

Referencias

  1. ^ Hoang, Viet Tung; Rogaway, Phillip (2010). "Sobre las redes Feistel generalizadas". LNCS 6223 . CRYPTO 2010. EE. UU.: Springer. págs. 613–630. doi : 10.1007/978-3-642-14623-7_33 .
  2. ^ "Confirmado: la filtración de una herramienta de piratería informática procede de un grupo "omnipotente" vinculado a la NSA". Ars Technica . 16 de agosto de 2016.
  3. ^ "Estas instrucciones guían la INSTALACIÓN de BLATSTING utilizando ELIGIBLEBACHELOR a través del túnel NOPEN". GitHub . Consultado el 16 de agosto de 2016 .
  4. ^ "3.6.4 ¿Qué son RC5 y RC6?". RSA Laboratories . Archivado desde el original el 6 de julio de 2017. Consultado el 2 de agosto de 2015 .

Bibliografía

Enlaces externos