¿CRC-32 (c) está bien para archivos grandes? (hasta 100 MB)

Quiero mantener sumas de verificación para una colección de archivos para notar corrupción silenciosa / bit putrefacto, porque a mi sistema de archivos (ext4) no le importa y creo que btrfs aún no es del todo confiable.

Los archivos tienen un tamaño de hasta 100 MB cada uno, pero normalmente entre 2 y 10 MB. ¿CRC-32 (c) es adecuado para este uso? Cual es mas seguro? (¿Quizás desechar todos los CRC y usar MD4 en su lugar?) El documento "Códigos de redundancia cíclica de 32 bits para aplicaciones de Internet" que presenta CRC-32c solo considera mensajes de hasta 128 KiB:

http://www.ece.cmu.edu/~koopman/networks/dsn02/dsn02_koopman.pdf

Me gustaría evitar dividir los archivos en pequeños bloques y hacerlos hash.

preguntado el 10 de mayo de 11 a las 13:05

2 Respuestas

CRC-32 o 32c debería estar bien. Para una mejor defensa sin ser significativamente más costoso de computar (especialmente en una plataforma de 64 bits), usaría un CRC de 64 bits (CRC-64). Estos se pueden encontrar en la página de wikipedia o en Google. Si le preocupa la corrupción en lugar de la malicia, entonces MD5 y SHA512 no son mejores que los CRC, y son mucho más lentos de calcular.

Respondido el 21 de junio de 11 a las 18:06

Depende de lo que quieras decir con "más seguro" y de lo paranoico que seas.

Si quisiera hacer algo similar, elegiría md5 o sha512.

Felizmente, ya existen aplicaciones para hacer esto, como cable trampa.

contestado el 10 de mayo de 11 a las 17:05

+1. Pero no use MD5. Es vulnerable a los ataques basados ​​en colisiones. MD5 no debería usarse más. - Heisenbug

Re tripwire, estoy pensando en almacenar la suma de comprobación en un xattr y comprobar el disco con un trabajo cron de vez en cuando. - pauliq

No estoy tratando de protegerme contra interferencias maliciosas con las sumas de comprobación. - pauliq

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.