Lines Matching +full:x +full:- +full:-

1 // SPDX-License-Identifier: GPL-2.0-or-later
18 u32 *x = state->x; in chacha_permute() local
25 x[0] += x[4]; x[12] = rol32(x[12] ^ x[0], 16); in chacha_permute()
26 x[1] += x[5]; x[13] = rol32(x[13] ^ x[1], 16); in chacha_permute()
27 x[2] += x[6]; x[14] = rol32(x[14] ^ x[2], 16); in chacha_permute()
28 x[3] += x[7]; x[15] = rol32(x[15] ^ x[3], 16); in chacha_permute()
30 x[8] += x[12]; x[4] = rol32(x[4] ^ x[8], 12); in chacha_permute()
31 x[9] += x[13]; x[5] = rol32(x[5] ^ x[9], 12); in chacha_permute()
32 x[10] += x[14]; x[6] = rol32(x[6] ^ x[10], 12); in chacha_permute()
33 x[11] += x[15]; x[7] = rol32(x[7] ^ x[11], 12); in chacha_permute()
35 x[0] += x[4]; x[12] = rol32(x[12] ^ x[0], 8); in chacha_permute()
36 x[1] += x[5]; x[13] = rol32(x[13] ^ x[1], 8); in chacha_permute()
37 x[2] += x[6]; x[14] = rol32(x[14] ^ x[2], 8); in chacha_permute()
38 x[3] += x[7]; x[15] = rol32(x[15] ^ x[3], 8); in chacha_permute()
40 x[8] += x[12]; x[4] = rol32(x[4] ^ x[8], 7); in chacha_permute()
41 x[9] += x[13]; x[5] = rol32(x[5] ^ x[9], 7); in chacha_permute()
42 x[10] += x[14]; x[6] = rol32(x[6] ^ x[10], 7); in chacha_permute()
43 x[11] += x[15]; x[7] = rol32(x[7] ^ x[11], 7); in chacha_permute()
45 x[0] += x[5]; x[15] = rol32(x[15] ^ x[0], 16); in chacha_permute()
46 x[1] += x[6]; x[12] = rol32(x[12] ^ x[1], 16); in chacha_permute()
47 x[2] += x[7]; x[13] = rol32(x[13] ^ x[2], 16); in chacha_permute()
48 x[3] += x[4]; x[14] = rol32(x[14] ^ x[3], 16); in chacha_permute()
50 x[10] += x[15]; x[5] = rol32(x[5] ^ x[10], 12); in chacha_permute()
51 x[11] += x[12]; x[6] = rol32(x[6] ^ x[11], 12); in chacha_permute()
52 x[8] += x[13]; x[7] = rol32(x[7] ^ x[8], 12); in chacha_permute()
53 x[9] += x[14]; x[4] = rol32(x[4] ^ x[9], 12); in chacha_permute()
55 x[0] += x[5]; x[15] = rol32(x[15] ^ x[0], 8); in chacha_permute()
56 x[1] += x[6]; x[12] = rol32(x[12] ^ x[1], 8); in chacha_permute()
57 x[2] += x[7]; x[13] = rol32(x[13] ^ x[2], 8); in chacha_permute()
58 x[3] += x[4]; x[14] = rol32(x[14] ^ x[3], 8); in chacha_permute()
60 x[10] += x[15]; x[5] = rol32(x[5] ^ x[10], 7); in chacha_permute()
61 x[11] += x[12]; x[6] = rol32(x[6] ^ x[11], 7); in chacha_permute()
62 x[8] += x[13]; x[7] = rol32(x[7] ^ x[8], 7); in chacha_permute()
63 x[9] += x[14]; x[4] = rol32(x[4] ^ x[9], 7); in chacha_permute()
68 * chacha_block_generic - generate one keystream block and increment block counter
73 * This is the ChaCha core, a function from 64-byte strings to 64-byte strings.
85 for (i = 0; i < ARRAY_SIZE(state->x); i++) in chacha_block_generic()
86 put_unaligned_le32(permuted_state.x[i] + state->x[i], in chacha_block_generic()
89 state->x[12]++; in chacha_block_generic()
94 * hchacha_block_generic - abbreviated ChaCha core, for XChaCha
100 * towards XChaCha (see https://cr.yp.to/snuffle/xsalsa-20081128.pdf). HChaCha
111 memcpy(&out[0], &permuted_state.x[0], 16); in hchacha_block_generic()
112 memcpy(&out[4], &permuted_state.x[12], 16); in hchacha_block_generic()