Se sabe que SHA-1, como función hash, es "ligeramente inestable". Es una función hash de 160 bits (su salida es una secuencia de 160 bits); como tal, debería ofrecer 2 80 resistencia a las colisiones, mientras que parece que su verdadera resistencia está más cerca de 2 61 o algo así.
Sin embargo, OAEP no pide mucho de su función hash subyacente. Parece que la resistencia a la colisión no es realmente necesaria para garantizar la seguridad del sistema de encriptación. Consulte este artículo para obtener más información (es un poco técnico).
Conclusión: no sabemos de ningún ataque que funcione contra RSA-OAEP al aprovechar cualquier debilidad de SHA-1; ni siquiera estamos seguros si tal ataque puede existir en absoluto. En ese sentido, no se conoce ninguna ventaja, desde un punto de vista criptográfico, al cambiar de SHA-1 a otra función hash en el contexto de RSA-OAEP .
Sin embargo , la moda actual es disparar SHA-1 a primera vista e insistir en cambiar a una de las funciones SHA-2 (por ejemplo, SHA-256 o SHA-512) de manera sistemática. Por lo tanto, el uso de SHA-256 es bueno para las relaciones públicas y le ahorrará algo de tiempo, ya que adherirse a SHA-1 requerirá justificarse ante muchas personas.
Tenga en cuenta que SHA-256 tiene una salida más grande (256 bits), lo que impone un límite inferior en el tamaño de los datos que podrá cifrar. Si utiliza una clave pública RSA de 2048 bits (256 bytes), el tamaño máximo del mensaje con RSA-OAEP + SHA-1 será de 214 bytes (1712 bits), mientras que será de 190 bytes (1520 bits) para RSA-OAEP + SHA-256. Si todo lo que está cifrando son claves para el cifrado simétrico, esto no debería importar en la práctica.