On 2/21/22 13:10, Nicolai Stange wrote:
> The upcoming support for the RFC 7919 ffdhe group parameters will be
> made available in the form of templates like "ffdhe2048(dh)",
> "ffdhe3072(dh)" and so on. Template instantiations thereof would wrap the
> inner "dh" kpp_alg and also provide kpp_alg services to the outside again.
> Furthermore, it might be perhaps be desirable to provide KDF templates in
> the future, which would similarly wrap an inner kpp_alg and present
> themselves to the outside as another kpp_alg, transforming the shared
> secret on its way out.
>
> Introduce the bits needed for supporting KPP template instances. Everything
> related to inner kpp_alg spawns potentially being held by such template
> instances will be deferred to a subsequent patch in order to facilitate
> review.
>
> Define struct struct kpp_instance in close analogy to the already existing
> skcipher_instance, shash_instance and alike, but wrapping a struct kpp_alg.
> Implement the new kpp_register_instance() template instance registration
> primitive. Provide some helper functions for
> - going back and forth between a generic struct crypto_instance and the new
> struct kpp_instance,
> - obtaining the instantiating kpp_instance from a crypto_kpp transform and
> - for accessing a given kpp_instance's implementation specific context
> data.
>
> Annotate everything with proper kernel-doc comments, even though
> include/crypto/internal/kpp.h is not considered for the generated docs.
>
> Signed-off-by: Nicolai Stange <[email protected]>
> ---
> crypto/kpp.c | 20 +++++++++
> include/crypto/internal/kpp.h | 83 +++++++++++++++++++++++++++++++++++
> 2 files changed, 103 insertions(+)
>
Reviewed-by: Hannes Reinecke <[email protected]>
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
[email protected] +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer