Estoy trabajando con este cifrado PHP clase usando MCRYPT_RIJNDAEL_256
y MCRYPT_MODE_CBC
con un fijo de 32 bytes ( 64 caracteres) clave HMAC, como mi base.
La clase es el resultado de discusiones y comentarios anteriores realizados sobre este página del blog . y parece una implementación sólida como tal. Sin embargo, hay algunos aspectos discutidos que aún no tengo claro:
Lo único que agrega son las posiciones predecibles de texto plano que serán Ayudar a un criptoanalista. Recomiendo eliminar la serialización y usar Relleno PKCS7.
Ahora que el método de cifrado utiliza HMAC y que la serialización evita el problema de relleno '\ 0' . ¿Sigue siendo una buena idea usar un relleno PKCS incluso cuando se usa el HMAC (y se mantiene la serialización)?
O en otras palabras, ¿el HMAC por sí solo resuelve la "posición predecible de texto sin formato"?
Mis suposiciones acerca de los productos para la serialización, es que parece hacer que la longitud del texto sea menos predecible, incluso si el mensaje es una cadena de texto sin formato, por ejemplo, para una longitud predecible corta, especialmente para un número de tamaño fijo. Sin embargo, solo quiero asegurarme de que la serialización no sea un contra negativo.