Lines Matching +full:mac +full:- +full:s

1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * aesce-ccm-core.S - AES-CCM transform for ARMv8 with Crypto Extensions
5 * Copyright (C) 2013 - 2017 Linaro Ltd <ard.biesheuvel@linaro.org>
12 .arch armv8-a+crypto
15 * u32 ce_aes_ccm_auth_data(u8 mac[], u8 const in[], u32 abytes,
19 ld1 {v0.16b}, [x0] /* load mac */
31 1: ld1 {v3.4s}, [x4] /* load first round key */
41 ld1 {v5.4s}, [x6], #16 /* load 2nd round key */
44 4: ld1 {v3.4s}, [x6], #16 /* load next round key */
47 5: ld1 {v4.4s}, [x6], #16 /* load next round key */
51 ld1 {v5.4s}, [x6], #16 /* load next round key */
58 eor v0.16b, v0.16b, v1.16b /* xor with mac */
60 6: st1 {v0.16b}, [x0] /* store mac */
71 ext v0.16b, v0.16b, v0.16b, #1 /* rotate out the mac bytes */
86 * void ce_aes_ccm_final(u8 mac[], u8 const ctr[], u8 const rk[],
90 ld1 {v3.4s}, [x2], #16 /* load first round key */
91 ld1 {v0.16b}, [x0] /* load mac */
100 1: ld1 {v5.4s}, [x2], #16 /* load next round key */
105 2: ld1 {v3.4s}, [x2], #16 /* load next round key */
110 3: ld1 {v4.4s}, [x2], #16 /* load next round key */
120 eor v0.16b, v0.16b, v1.16b /* en-/decrypt the mac */
128 ld1 {v0.16b}, [x5] /* load mac */
138 ld1 {v3.4s}, [x3] /* load first round key */
145 ld1 {v5.4s}, [x10], #16 /* load 2nd round key */
151 3: ld1 {v3.4s}, [x10], #16 /* load next round key */
156 4: ld1 {v4.4s}, [x10], #16 /* load next round key */
162 ld1 {v5.4s}, [x10], #16 /* load next round key */
170 eor v2.16b, v2.16b, v5.16b /* final round enc+mac */
176 eor v0.16b, v0.16b, v2.16b /* xor mac with pt ^ rk[last] */
180 st1 {v0.16b}, [x5] /* store mac */
184 6: eor v0.16b, v0.16b, v5.16b /* final round mac */
186 st1 {v0.16b}, [x5] /* store mac */
190 umov w7, v0.b[0] /* get top mac byte */
199 strb w7, [x5], #1 /* store mac byte */
202 ext v0.16b, v0.16b, v0.16b, #1 /* shift out mac byte */
209 * u8 const rk[], u32 rounds, u8 mac[],
212 * u8 const rk[], u32 rounds, u8 mac[],