You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If a OSSL_DIGEST_PARAM_CUSTOMIZATION string contains a null byte, the provider is truncating the string at that byte before processing.
I.e. a param like: 6FA014DA59F40032E29F171835FC6E94...
is truncated at 6FA014DA59F4.
This is occurring because cshake_set_encode_string() (providers/implementations/digests/cshake_prov.c) doesn't take the length of the customizationstring as a parameter, but instead calls strlen() to determine it's length.
NISTs ACVP server produces vector sets that do contain internal null bytes in their customization strings, so I suspect this isn't a limitation of the algorithm at the spec level at least.
If a OSSL_DIGEST_PARAM_CUSTOMIZATION string contains a null byte, the provider is truncating the string at that byte before processing.
I.e. a param like: 6FA014DA59F40032E29F171835FC6E94...
is truncated at 6FA014DA59F4.
This is occurring because cshake_set_encode_string() (providers/implementations/digests/cshake_prov.c) doesn't take the length of the customizationstring as a parameter, but instead calls strlen() to determine it's length.
NISTs ACVP server produces vector sets that do contain internal null bytes in their customization strings, so I suspect this isn't a limitation of the algorithm at the spec level at least.