Resumen
- RFC 9861 fija cuatro funciones de salida extensible, pero cada resultado depende de los bytes y su orden, el dominio o la personalización y la longitud solicitada.
- En KangarooTwelve, la cadena codificada completa decide si se usa un nodo o un árbol de bloques de 8192 bytes; el paralelismo nunca debe alterar la salida final.
- Un RFC Informational y un código IANA coordinan significado, no certifican una biblioteca ni autorizan un uso productivo.
Un archivo histórico guardaba una huella de 32 bytes. El servicio sustituto calculaba 64 y comprobaba solo el prefijo. Ambos equipos decían utilizar la misma función. La discrepancia no estaba en el nombre, sino en una regla de aceptación que nadie había conservado junto al dato.
Ese es el tipo de error que RFC 9861 permite describir con precisión. El documento define TurboSHAKE128, TurboSHAKE256, KT128 y KT256. Fue publicado en octubre de 2025 por el flujo IRTF y su ficha oficial lo clasifica como Informational. Representa consenso del CFRG, pero no es un estándar de Internet del IETF ni una recomendación automática de despliegue.
En una XOF, pedir forma parte del resultado
TurboSHAKE recibe un mensaje M, un byte D para separar dominios y una longitud positiva L. El dominio predeterminado es 1F; los valores válidos van de 01 a 7F. Manteniendo M y D, la salida corta coincide con el prefijo de la larga.
La propiedad matemática no define la política de una aplicación. Un identificador de 32 bytes y otro de 64 no son el mismo campo por el hecho de compartir prefijo. Tampoco se puede cambiar la longitud de un tag sin revisar el protocolo, el almacenamiento, la comparación y el riesgo de truncamiento. L debe viajar en el recibo.
También debe viajar el orden exacto de entrada. Una API incremental puede recibir fragmentos, pero RFC 9861 exige que el resultado sea idéntico al de concatenarlos en el orden entregado. Una API puede devolver la salida por tramos, pero la concatenación ordenada debe coincidir con una sola petición por la longitud total. Saber que «todos los fragmentos llegaron» no dice cómo formaron el mensaje.
La personalización no está fuera de la huella
KT128 y KT256 aceptan una cadena opcional C. Para construir su entrada, concatenan el mensaje, la personalización y una codificación reversible de la longitud de C: S = M || C || length_encode(|C|). Un nombre de producto, URI o identificador de contexto colocado allí participa en la operación criptográfica.
Eso desplaza poder hacia capas que suelen parecer administrativas. El equipo que normaliza el URI, elige UTF-8, cambia mayúsculas o elimina un contexto «redundante» puede cambiar todas las salidas sin tocar el motor criptográfico. Si el inventario conserva solo el paquete y la palabra KT256, el verdadero cambio queda invisible.
Incluso el vacío requiere procedencia. Una cadena vacía puede ser una decisión del perfil, una limitación de la API o un valor perdido durante una migración. Hoy generan la misma llamada; mañana no ofrecen la misma seguridad documental.
La frontera de 8192 bytes pertenece a la prueba
KangarooTwelve divide S en trozos de 8192 bytes. Con S de hasta 8192, sigue una ruta de nodo único. Al superar el límite, calcula valores de encadenamiento para los trozos posteriores y los reúne con el primero en un nodo final. KT128 usa encadenamientos de 32 bytes y KT256, de 64.
La frontera se aplica a S, que ya incorpora la personalización y su longitud. Por eso un mensaje empresarial de tamaño constante puede cambiar de modo interno al crecer C. Las pruebas de conformidad deben cubrir justo debajo, en el límite y justo encima, tanto con C vacía como poblada.
El cálculo de ramas puede paralelizarse. El resultado no. Un backend SIMD y una ejecución serial pueden tener rendimientos distintos, pero deben producir los mismos bytes. Este informe no midió velocidad ni valida ningún procesador; solo toma de la especificación el requisito de equivalencia.
Algunos nombres fijan más que otros
El registro Named Information de IANA define k12-256 como KT128 con C vacía y 32 bytes, y k12-512 como KT256 con C vacía y 64. Son perfiles cerrados, no alias para cualquier salida posible de KT128 o KT256.
El registro de algoritmos COSE asigna valores a las cuatro funciones. Esos números evitan que dos protocolos inventen significados incompatibles para el mismo código. No demuestran que una instalación soporte todos los parámetros, ejecute los vectores, proteja claves o haya elegido una longitud adecuada.
RFC 9861 declara fuerzas de seguridad de 128 y 256 bits según la variante, basadas en el análisis de Keccak reducido a 12 rondas y en Sakura para el árbol. FIPS 202 documenta la base Keccak/SHA-3 y SP 800-185 funciones derivadas comparables. Esa genealogía respalda el diseño publicado; no es un certificado de un binario concreto ni una prueba de canal lateral.
Un detalle de los vectores revela un problema mayor
La especificación ofrece vectores con distintos mensajes, longitudes, personalizaciones y bordes de árbol. El registro de erratas muestra el informe técnico 8997, aún Reported. Señala que varias invocaciones KT presentan el primer argumento posicional sin la etiqueta M= que aparece en las demás. La corrección propuesta añade coherencia a los nombres de parámetros; no cambia los bytes de salida mostrados.
El estado importa. Un erratum comunicado no es todavía uno verificado, y un RFC publicado no se reescribe silenciosamente. La evidencia de ensayo debe guardar identificador del vector, argumentos, salida esperada y observada, versión del ejecutable, backend y fecha. Una luz verde global no permite reconstruir nada.
Ni una huella ni un MAC heredan autoridad humana
RFC 9861 incluye HopMAC y permite otras colocaciones reversibles de la clave. Por ello «MAC con KT128» no identifica por sí solo la construcción, la custodia de la clave, el contexto ni la longitud del tag. Y aunque todo coincida, el resultado solo prueba igualdad bajo ese contrato: no prueba autoría, actualidad, permiso ni éxito de una acción posterior.
La cadena de realidad debe mantenerse separada: definición, perfil, serialización, ejecución, comparación, aceptación de protocolo y efecto operativo. La organización que fusiona esas capas convierte un nombre útil en una autoridad que nunca recibió.
Fuentes
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance
