提交 4505bb02 编写于 作者: A Antoine Tenart 提交者: Herbert Xu

crypto: inside-secure - the context ipad/opad should use the state sz

This patches uses the state size of the algorithms instead of their
digest size to copy the ipad and opad in the context. This doesn't fix
anything as the state and digest size are the same for many algorithms,
and for all the hmac currently supported by this driver. However
hmac(sha224) use the sha224 hash function which has a different digest
and state size. This commit prepares the addition of such algorithms.
Signed-off-by: NAntoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
上级 15f64ee0
...@@ -120,11 +120,11 @@ static void safexcel_context_control(struct safexcel_ahash_ctx *ctx, ...@@ -120,11 +120,11 @@ static void safexcel_context_control(struct safexcel_ahash_ctx *ctx,
ctx->base.ctxr->data[i] = cpu_to_le32(req->processed / blocksize); ctx->base.ctxr->data[i] = cpu_to_le32(req->processed / blocksize);
} }
} else if (req->digest == CONTEXT_CONTROL_DIGEST_HMAC) { } else if (req->digest == CONTEXT_CONTROL_DIGEST_HMAC) {
cdesc->control_data.control0 |= CONTEXT_CONTROL_SIZE(10); cdesc->control_data.control0 |= CONTEXT_CONTROL_SIZE(2 * req->state_sz / sizeof(u32));
memcpy(ctx->base.ctxr->data, ctx->ipad, digestsize); memcpy(ctx->base.ctxr->data, ctx->ipad, req->state_sz);
memcpy(ctx->base.ctxr->data + digestsize / sizeof(u32), memcpy(ctx->base.ctxr->data + req->state_sz / sizeof(u32),
ctx->opad, digestsize); ctx->opad, req->state_sz);
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册