Discusión:UMAC


Explicando una edición que hice: hashing (por ejemplo, mediante la evaluación de un polinomio sobre un campo finito) seguido de un solo uso no es una MAC segura. Por ejemplo, el atacante podría manipular el bit de orden más bajo de la entrada. Esto sumará (o restará) 1 a la salida, que tiene un 50 % de probabilidad de que solo cambie el bit de orden bajo allí. Eso conmutaría con el bloc de notas de una sola vez, por lo que el atacante también puede manipular el bit de orden inferior del MAC y falsificar un mensaje con una probabilidad de 1/2. Para que el MAC sea seguro, necesita una función pseudoaleatoria . -- bitwiseshiftleft

Esta es la publicación original de Carter & Wegman: [1] —Comentario anterior sin firmar agregado por Nroets ( discusióncontribuciones ) 11:12, 28 de abril de 2009 (UTC)Respuesta[ responder ]

Esta página está mal; nadie en criptografía llama "UMAC" a todos los MACS basados ​​en funciones hash universales. UMAC es uno específico de estos: http://fastcrypto.org/umac/ 128.138.242.57 ( hablar ) 05:16, 29 de abril de 2010 (UTC)Respuesta[ responder ]

Revisando la fuente - para mensajes cortos no se utilizará la clave completa. Por ejemplo, un mensaje de tres bytes solo usará los primeros tres bytes de la clave, limitando efectivamente el espacio de claves a 24 bits... Mi intuición es que siempre se deben usar todos los bytes de la clave. Rellenar el mensaje con ceros no ayudará ya que r1, r2, r3 nunca se modificarán -> es decir, se producirá el mismo resultado. El artículo debe mencionar el relleno (del mismo tamaño que la clave) y sus peligros (no use solo ceros) -- RogerJL ( discusión ) 23:57, 7 de marzo de 2011 (UTC)Respuesta[ responder ]

¡Es aún peor! Si puede interceptar dos mensajes que solo difieren en un triplete. Entonces todos los demás tripletes pueden verse como una constante. Y puede descifrar la clave secreta para la sección diferente. -- RogerJL ( discusión ) 10:50, 8 de marzo de 2011 (UTC)Respuesta[ responder ]

A menos que cambie el nonce para CADA mensaje (diferente), esta criptografía se romperá fácilmente. Tengo una fuente que lo rompe. Para romperlo, no necesita conocer los valores iniciales de la matriz de resultados. Debe asegurarse de que al menos dos cosas difieran para CADA mensaje: el valor inicial es uno, cada bloque que difiere es otro. Con dos diferencias, tiene 2 ^ 24 * 2 ^ 24 = 2 ^ 48 valores para trabajar usando la fuerza bruta. Procesar todos los 2^24 toma menos de 4 s en mi computadora, y veo mucho potencial de optimización en el código. Un segundo por grupo de 2^24 no es nada irreal, probablemente puedas hacerlo mucho mejor. — Comentario anterior sin firmar agregado por RogerJL ( discusióncontribuciones ) 08:14, 9 de marzo de 2011 (UTC)Respuesta[ responder ]