Message ID | 20211201004858.19831-16-nstange@suse.de |
---|---|
State | Superseded |
Headers | show |
Series | crypto: dh - infrastructure for NVM in-band auth and FIPS conformance | expand |
On 12/1/21 1:48 AM, Nicolai Stange wrote: > A subsequent patch will make the crypto/dh's dh_is_pubkey_valid() to > calculate the Q value from the P domain parameter for safe-prime groups, > for which by definition Q = (P - 1)/2. However, dh_is_pubkey_valid() will > need to check first whether the group in question is actually a safe-prime > group. In order to make this information available, introduce a new > ->group_id member to struct dh_ctx and let dh_set_params() set it to the > value found in the struct dh as deserialized via crypto_dh_decode_key(). > > Signed-off-by: Nicolai Stange <nstange@suse.de> > --- > crypto/dh.c | 3 +++ > 1 file changed, 3 insertions(+) > Reviewed-by: Hannes Reinecke <hare@suse.de> Cheers, Hannes
diff --git a/crypto/dh.c b/crypto/dh.c index 2e49b114e038..38547c5301da 100644 --- a/crypto/dh.c +++ b/crypto/dh.c @@ -13,6 +13,7 @@ #include <linux/mpi.h> struct dh_ctx { + enum dh_group_id group_id; MPI p; /* Value is guaranteed to be set. */ MPI q; /* Value is optional. */ MPI g; /* Value is guaranteed to be set. */ @@ -55,6 +56,8 @@ static int dh_set_params(struct dh_ctx *ctx, struct dh *params) if (dh_check_params_length(params->p_size << 3)) return -EINVAL; + ctx->group_id = params->group_id; + ctx->p = mpi_read_raw_data(params->p, params->p_size); if (!ctx->p) return -EINVAL;
A subsequent patch will make the crypto/dh's dh_is_pubkey_valid() to calculate the Q value from the P domain parameter for safe-prime groups, for which by definition Q = (P - 1)/2. However, dh_is_pubkey_valid() will need to check first whether the group in question is actually a safe-prime group. In order to make this information available, introduce a new ->group_id member to struct dh_ctx and let dh_set_params() set it to the value found in the struct dh as deserialized via crypto_dh_decode_key(). Signed-off-by: Nicolai Stange <nstange@suse.de> --- crypto/dh.c | 3 +++ 1 file changed, 3 insertions(+)