Miércoles, 20 de Agosto de 2008
Chaffing & Winnowing: Chaffing & Winnowing (2/4)
· Chaffing & Winnowing (1/4)
· Chaffing & Winnowing (2/4)
· Chaffing & Winnowing (3/4)
· Chaffing & Winnowing (4/4)

Volver al indice de articulos

El sistema, como puede verse, es francamente sencillo. Su problema es que para transmitir un único bit es preciso enviar dos paquetes, cada uno de ellos con un tamaño de cientos de bits. Ante este problema existen varias soluciones.

  • Una posibilidad es negociar un número de secuencia inicial (es importante que no se repita) y confiar en la entrega secuencial de protocolos como el TCP, lo que nos evita tener que enviar el número de secuencia en cada paquete, ya que pasa a ser implícito.

  • Otra posibilidad es no enviar dos paquetes, sino sólo un único MAC. En el receptor se calculará el MAC correspondiente a los bits "0" y "1", y se tomará el que coincida.

  • Se puede enviar sólo el número de bits del MAC necesarios para resolver la ambigüedad entre cero y uno. Bastará con un bit en la mitad de los casos, con dos bits en la cuarta parte, etc. Idea mía, desarrollada en privado.

  • También se puede: (Idea mía, publicada en Internet - 11/May/98)

    • Generar el MAC para el cero y el uno.
    • Comparar ambos hasta encontrar un bit diferente.
    • Enviar exclusivamente ese bit de diferencia.

    Basádose en esa idea, Bill Stewart ha propuesto una pequeña diferencia, que consiste en decidir el bit a enviar en función de qué MAC sera numéricamente mayor o menor, no en el primer bit diferente. La implementación resulta más rápida, aunque el 99.995% del tiempo de CPU se invierte en el cálculo de los MAC, y ese paso no se puede eliminar...