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
Currently, the FIPS-202 API has a fairly standard naming, shake128_absorb_once, shake128_squeezeblocks, shake128_init, shake128_release, shake256, sha3_256, sha3_512. If an external FIPS-202 implementation is to be used, this can be convenient if there already happen to exist functions of the required name and semantics in the external implementation. But, if they exist and have a different semantics, then it's an issue (note that one cannot assume any isolation here since some libraries like AWS-LC use single-compilation-unit builds).
I am thus considering to namespace the FIPS-202 API (perhaps even all functions in this repository -- but this is TBD) by mlk_*, to avoid this issue.
This means one will always need some wrapper defining (as a function or at least macro) mlk_shake_.... For example, the libOQS integration will need this to bind the mlk_xxx API to the fips202.h glue code.
The text was updated successfully, but these errors were encountered:
Hm, I don't see how one could do this -- it's about the name before macro-namespacing. But I might miss something.
For LibOQS, I think all we'd need is a bunch of #define mlk_FOO FOO -- or potentially a static inline wrapper. This would be separate from your fixed glue code. If it helps, we could have this wrapper inside this repository, under integration/oqs. Would that be a possibility?
Currently, the FIPS-202 API has a fairly standard naming,
shake128_absorb_once
,shake128_squeezeblocks
,shake128_init
,shake128_release
,shake256
,sha3_256
,sha3_512
. If an external FIPS-202 implementation is to be used, this can be convenient if there already happen to exist functions of the required name and semantics in the external implementation. But, if they exist and have a different semantics, then it's an issue (note that one cannot assume any isolation here since some libraries like AWS-LC use single-compilation-unit builds).I am thus considering to namespace the FIPS-202 API (perhaps even all functions in this repository -- but this is TBD) by
mlk_*
, to avoid this issue.This means one will always need some wrapper defining (as a function or at least macro)
mlk_shake_...
. For example, the libOQS integration will need this to bind themlk_xxx
API to thefips202.h
glue code.The text was updated successfully, but these errors were encountered: