mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +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;
|
||||
}
|
||||
|
||||
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 = {
|
||||
.base.cra_name = "nhpoly1305",
|
||||
.base.cra_driver_name = "nhpoly1305-neon",
|
||||
@ -44,6 +52,7 @@ static struct shash_alg nhpoly1305_alg = {
|
||||
.init = crypto_nhpoly1305_init,
|
||||
.update = nhpoly1305_neon_update,
|
||||
.final = crypto_nhpoly1305_final,
|
||||
.digest = nhpoly1305_neon_digest,
|
||||
.setkey = crypto_nhpoly1305_setkey,
|
||||
.descsize = sizeof(struct nhpoly1305_state),
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user