Por último, se puede: (Idea mía,
no publicada - 19/Oct/98)
- Generar el MAC para el cero y el uno.
- Comparar ambos hasta encontrar un bit diferente.
- Enviar exclusivamente ese bit de diferencia.
- Para los siguientes bits a enviar, tomar los MAC anteriores e ir aprovechando los bits diferentes de ellos. No se calculan MACs nuevos hasta haber agotado las diferencias de los antiguos.
Aunque mis propuestas probablemente no pasasen las normas
de exportación de aplicaciones criptográficas de EE.UU.,
pretendía probar:
- Que pueden aplicar las técnicas de
Winnowing & Chaffing sin sobrecarga en la longitud
del documento.
- Que se pueden utilizar las tecnologías
de firma digital, que no están reguladas, para
proporcionar cifrado seguro.
Creo haber logrado ambos puntos.
A medida que reducimos la sobrecarga del protocolo, se va desvirtuando
sus intenciones originales, que son transmitir el texto en claro, sin cifrar,
pero sin poder leerlo a menos que se conozca la clave de autentificación.
Se puede reducir el "overhead", también, transmitiendo bloques
más grandes que un bit, sin filtrar información. Se pueden utilizar
técnicas "todo o nada" para asegurarse que el receptor sólo pueda
descifrar el mensaje si lo ha recibido completo. Una posibilidad:
- Dividir el documento original en "n" bloques.
- Elegir una clave al azar y cifrar los bloques con esa clave.
- Tomar los bloques cifrados y calcular el hash de cada uno de ellos.
- Enviar un bloque adicional formado con la clave aleatoria
elegida para el cifrado, XOR el XOR del hashing de los bloques.
Con este esquema, un receptor sólo puede descifrar el mensaje
si recibe todos los bloques. Si le falta alguno, no podrá
descifrar ninguno de ellos. Tampoco se puede considerar que esta
técnica sea un cifrado, ya que la clave de cifrado, que
protege el texto, se transmite con el propio mensaje.
|