Problema con EMSA-PSS-VERIFY

Problema con EMSA-PSS-VERIFY

de Javier Agustin Farias Gonzalez -
Número de respuestas: 1

Hola,

Estamos teniendo problemas con esta función y no le encontramos la vuelta. Probamos con los datos de pss-int.txt y nos dimos cuenta que el problema está aparentemente cuando genera dbMask con mgf1. Devuelve un string de octetos que tiene la máscara que nos sirve, más otras cosas al final. Lo que hicimos después fue:

dbMask = mgf1(H, emLen-hLen-1-s)

en vez de mgf1(H, emLen-hLen-1) según la página 38 de las especificaciones. s es la cantidad de ceros a la izquierda en maskedDB.

Con ese cambio algunos casos de prueba dan bien, pero no todos. Para los que no dan bien, el xor del byte más significativo (no nulo) de maskedDB y dbMask da algo distinto de 0x01, como debería. Qué podemos estar haciendo mal? Gracias