Hi Herbert, > the following patchset introduces a new API for abstracting key-agreement > protocols such as DH and ECDH. It provides the primitives required for implementing > the protocol, thus the name KPP (Key-agreement Protocol Primitives). > > Regards, > Salvatore > > Changes from v5: > * Fix ecdh loading in fips mode. > > Changes from v4: > * If fips_enabled is set allow only P256 (or higher) as Stephan suggested > * Pass ndigits as argument to ecdh_make_pub_key and ecdh_shared_secret > so that VLA can be used like in the rest of the module > > Changes from v3: > * Move curve ID definition to public header ecdh.h as users need to > have access to those ids when selecting the curve > > Changes from v2: > * Add support for ECDH (curve P192 and P256). I reused the ecc module > already present in net/bluetooth and extended it in order to select > different curves at runtime. Code for P192 was taken from tinycrypt. > > Changes from v1: > * Change check in dh_check_params_length based on Stephan review > > > Salvatore Benedetto (3): > crypto: Key-agreement Protocol Primitives API (KPP) > crypto: kpp - Add DH software implementation > crypto: kpp - Add ECDH software support we have tested this with the Bluetooth subsystem to use ECDH for key generation and shared secret generation. This seems to work as expected. Feel free to merge this patchset. Acked-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html