Una suma de
verificación o checksum
Es una forma de control de redundancia, una medida muy simple para proteger la integridad de datos, verificando
que no hayan sido corruptos. Es empleado para comunicaciones (internet, comunicación de dispositivos, etc.)
tanto como para datos almacenados (archivos comprimidos, discos portátiles, etc.).
El proceso consiste en
sumar cada uno de los componentes básicos de un sistema (generalmente cada byte) y almacenar el valor del resultado. Posteriormente se realiza el mismo
procedimiento y se compara el resultado con el valor almacenado. Si ambas sumas
concuerdan se asume que los datos probablemente no han sido corrompidos.
La forma más simple de
checksum no detecta una variedad de corrupciones; particularmente no cambiará
si:
§
Se cambia el orden de los bytes de la
información.
§
Se agregan o eliminan bytes de valor igual
a cero.
§
Múltiples errores que se cancelan unos con
otros.
Los tipos de control de
redundancia más sofisticados, incluyendo el checksum de Fletcher, Adler-32 y el control de redundancia cíclica (CRC) son diseñados para tratar estas
deficiencias considerando no sólo el valor de cada byte sino también el de su
posición. El costo de la capacidad de detectar más tipos de error aumenta junto
con la complejidad del algoritmo de comprobación.
Estos tipos de control
por redundancia son útiles en la detección de las modificaciones accidentales
como corrupción de los datos o los errores de almacenamiento en un canal de
comunicaciones. Sin embargo, no proporcionan ninguna seguridad contra un agente
malévolo mientras que su estructura matemática sea simple. Para proveer este
tipo de integridad, es necesario el uso de una función criptográfica hash, como SHA-256. Se han encontrado colisiones en SHA-1, actualmente la opción más popular,
pero no hay evidencia en fecha de 2005que SHA-256 sufra deficiencias similares.
En UNIX hay una herramienta llamada cksum que genera un CRC-32 y un checksum para un archivo determinado
dado como parámetro.
No hay comentarios:
Publicar un comentario