RC6

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Cifra de bloques

En criptografía, RC6 (Rivest cipher 6) es un cifrado de bloque 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 se presentó a los proyectos NESSIE y CRYPTREC. Era un algoritmo propietario, patentado por RSA Security.

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, como RC5, se puede parametrizar para admitir una amplia variedad de longitudes de palabra, clave tamaños y número de rondas. RC6 es muy similar a RC5 en estructura, utiliza rotaciones dependientes de datos, adición modular y operaciones XOR; de hecho, RC6 podría verse como un entrelazado de dos procesos de cifrado RC5 paralelos, aunque RC6 utiliza una operación de multiplicación adicional que no está presente en RC5 para hacer que la rotación dependa de cada bit en una palabra, y no solo de los bits menos significativos.

Cifrado/descifrado

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

/ Encryption/Decryption with RC6-w/r/b// // Entrada: Plaintext almacenado en cuatro registros de entrada w-bit A, B, C & D// r es el número de rondas// w-bit llaves redondas S[0,... 2r + 3]// // Producto: Cifertexto almacenado en A, B, C, D// // '''Encryption Procedure:' 'B = B + S[0]D = D + S[1]para i = 1 a r do{}t = ()B * ()2B + 1) c). lg wu = ()D * ()2D + 1) c). lg wA = ()A ^ t) c). u) + S[2i]C = ()C ^ u) c). t) + S[2i + 1] ()A, B, C, D) = ()B, C, D, A)}A = A + S[2r + 2]C = C + S[2r + 3]// '''' Procedimiento de desencriptación:' 'C = C - S[2r + 3]A = A - S[2r + 2]para i = r abajo 1 do{}()A, B, C, D) = ()D, A, B, C)u = ()D * ()2D + 1) c). lg wt = ()B * ()2B + 1) c). lg wC = ()C - S[2i + 1]) , titulado t) ^ uA = ()A - S[2i]) , titulado u) ^ t}D = D - S[1]B = B - S[0]

Posible uso en NSA "implantes"

En agosto de 2016, el código conocido como Equation Group o NSA "implants" para varios dispositivos de seguridad de red. Las instrucciones adjuntas revelaron que algunos de estos programas utilizan RC6 para la confidencialidad de las comunicaciones de red.

Licencias

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

"Enfatizamos que si RC6 es seleccionado para el AES, RSA Security será no requiere cualquier concesión de licencias o pagos de regalías para productos usando el algoritmo".

El énfasis en la palabra "si" sugiere que RSA Security Inc. puede haber requerido licencias y pagos de regalías para cualquier producto que utilice el algoritmo RC6. RC6 era un algoritmo de cifrado patentado (Patente de EE. UU. 5.724.428 y Patente de EE. UU. 5.835.600); sin embargo, las patentes expiraron entre 2015 y 2017.

Contenido relacionado

♯P

En la teoría de la complejidad computacional, la clase de complejidad #P es el conjunto de problemas de conteo asociados con los problemas de decisión en el...

Problema de la altura de la estrella

El problema de la altura de las estrellas en la teoría del lenguaje formal es la cuestión de si todos los lenguajes regulares pueden expresarse usando...

Código

En comunicaciones y procesamiento de información, código es un sistema de reglas para convertir información, como una letra, palabra, sonido, imagen o...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save