lkml.org 
[lkml]   [2021]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 12/18] crypto: dh - introduce support for ephemeral key generation to qat driver
    Date
    A previous patch made the dh-generic implementation's ->set_secret() to
    generate an ephemeral key in case the input ->key_size is zero, just in
    analogy with ecdh. Make the qat crypto driver's DH implementation to
    behave consistently by doing the same.

    Signed-off-by: Nicolai Stange <nstange@suse.de>
    Reviewed-by: Hannes Reinecke <hare@suse.de>
    ---
    drivers/crypto/qat/qat_common/qat_asym_algs.c | 9 +++++++++
    1 file changed, 9 insertions(+)

    diff --git a/drivers/crypto/qat/qat_common/qat_asym_algs.c b/drivers/crypto/qat/qat_common/qat_asym_algs.c
    index b0b78445418b..e0d3a70fa6b1 100644
    --- a/drivers/crypto/qat/qat_common/qat_asym_algs.c
    +++ b/drivers/crypto/qat/qat_common/qat_asym_algs.c
    @@ -441,11 +441,20 @@ static int qat_dh_set_secret(struct crypto_kpp *tfm, const void *buf,
    struct qat_dh_ctx *ctx = kpp_tfm_ctx(tfm);
    struct device *dev = &GET_DEV(ctx->inst->accel_dev);
    struct dh params;
    + char key[CRYPTO_DH_MAX_PRIVKEY_SIZE];
    int ret;

    if (crypto_dh_decode_key(buf, len, &params) < 0)
    return -EINVAL;

    + if (!params.key_size) {
    + ret = crypto_dh_gen_privkey(params.group_id, key,
    + &params.key_size);
    + if (ret)
    + return ret;
    + params.key = key;
    + }
    +
    /* Free old secret if any */
    qat_dh_clear_ctx(dev, ctx);

    --
    2.26.2
    \
     
     \ /
      Last update: 2021-12-09 10:05    [W:2.272 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site