mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-01 02:33:57 +00:00
crypto: arm/nhpoly1305 - implement ->digest
Implement the ->digest method to improve performance on single-page messages by reducing the number of indirect calls. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
dadf5e56c9
commit
5f929b4e69
@ -34,6 +34,14 @@ static int nhpoly1305_neon_update(struct shash_desc *desc,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int nhpoly1305_neon_digest(struct shash_desc *desc,
|
||||||
|
const u8 *src, unsigned int srclen, u8 *out)
|
||||||
|
{
|
||||||
|
return crypto_nhpoly1305_init(desc) ?:
|
||||||
|
nhpoly1305_neon_update(desc, src, srclen) ?:
|
||||||
|
crypto_nhpoly1305_final(desc, out);
|
||||||
|
}
|
||||||
|
|
||||||
static struct shash_alg nhpoly1305_alg = {
|
static struct shash_alg nhpoly1305_alg = {
|
||||||
.base.cra_name = "nhpoly1305",
|
.base.cra_name = "nhpoly1305",
|
||||||
.base.cra_driver_name = "nhpoly1305-neon",
|
.base.cra_driver_name = "nhpoly1305-neon",
|
||||||
@ -44,6 +52,7 @@ static struct shash_alg nhpoly1305_alg = {
|
|||||||
.init = crypto_nhpoly1305_init,
|
.init = crypto_nhpoly1305_init,
|
||||||
.update = nhpoly1305_neon_update,
|
.update = nhpoly1305_neon_update,
|
||||||
.final = crypto_nhpoly1305_final,
|
.final = crypto_nhpoly1305_final,
|
||||||
|
.digest = nhpoly1305_neon_digest,
|
||||||
.setkey = crypto_nhpoly1305_setkey,
|
.setkey = crypto_nhpoly1305_setkey,
|
||||||
.descsize = sizeof(struct nhpoly1305_state),
|
.descsize = sizeof(struct nhpoly1305_state),
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user