Un hash criptográfico fuerte hace que las colisiones sean improbables. Muchos protocolos criptográficos se basan en ese hecho. Pero Git está utilizando hash SHA-1 como identificadores de objetos. Así que hay muchos de hashes ya computados en los repositorios públicos de Git de la web, junto con detalles sobre cómo reproducirlos.
¿Hay algún ataque conocido en algún protocolo donde se pueda aprovechar? Algo así como "bueno, puedo hacer algo malo si sustituyo este texto simple desconocido con algún otro texto simple con el mismo hash SHA-1, así que en lugar de calcular una colisión lo buscaré en Google". Por supuesto, el espacio de todos los hashes aún están lejos de estar cubiertos por las confirmaciones de Git, pero, sin embargo, creo que todas las confirmaciones de Git que hay por ahí pueden equivaler a algunas horas de CPU de cómputo de hashes SHA-1. Sin embargo, no estoy seguro de que esa suposición esté justificada.
Por lo que puedo ver, tal ataque solo funcionaría si el hash es visible, el texto sin formato desde el que se generó no lo es, pero parte del texto generado por el cifrado es, y también se puede cifrar un texto diferente . Así que parece que podría aplicarse a algunos protocolos basados en clave pública, donde puede cifrar pero no descifrar. Además, no tiene control sobre el texto sin formato en conflicto, por lo que las cosas obvias como poner su propio nombre como beneficiario de alguna transacción financiera no funcionarán. ¿Hay escenarios en los que una colisión de hachís de este tipo pueda causar serios problemas con una probabilidad no despreciable?