arch/arm64/crypto/sm4-ce-ccm-glue.c
124
if (len == SM4_BLOCK_SIZE) {
arch/arm64/crypto/sm4-ce-ccm-glue.c
125
if (n < SM4_BLOCK_SIZE) {
arch/arm64/crypto/sm4-ce-ccm-glue.c
131
nblocks = n / SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-ccm-glue.c
135
p += nblocks * SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-ccm-glue.c
136
n %= SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-ccm-glue.c
142
l = min(n, SM4_BLOCK_SIZE - len);
arch/arm64/crypto/sm4-ce-ccm-glue.c
162
u8 __aligned(8) ctr0[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-ce-ccm-glue.c
166
memcpy(ctr0, walk->iv, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-ce-ccm-glue.c
167
crypto_inc(walk->iv, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-ce-ccm-glue.c
174
unsigned int tail = walk->nbytes % SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-ccm-glue.c
195
u8 __aligned(8) mac[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-ce-ccm-glue.c
223
u8 __aligned(8) mac[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-ce-ccm-glue.c
224
u8 authtag[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-ce-ccm-glue.c
260
.ivsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-ccm-glue.c
261
.chunksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-ccm-glue.c
262
.maxauthsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-ccm-glue.c
66
memset(&req->iv[SM4_BLOCK_SIZE - l], 0, l);
arch/arm64/crypto/sm4-ce-ccm-glue.c
68
memcpy(info, req->iv, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-ce-ccm-glue.c
85
memcpy(&info[SM4_BLOCK_SIZE - l], (u8 *)&len + 4 - l, l);
arch/arm64/crypto/sm4-ce-cipher-glue.c
57
.cra_blocksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-gcm-glue.c
139
u8 __aligned(8) iv[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-ce-gcm-glue.c
142
memset(ghash, 0, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-ce-gcm-glue.c
155
unsigned int tail = walk->nbytes % SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-gcm-glue.c
178
u8 __aligned(8) ghash[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-ce-gcm-glue.c
198
u8 __aligned(8) ghash[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-ce-gcm-glue.c
199
u8 authtag[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-ce-gcm-glue.c
229
.chunksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-gcm-glue.c
230
.maxauthsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
123
nbytes -= nblks * SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-glue.c
165
nblocks = nbytes / SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-glue.c
177
err = skcipher_walk_done(&walk, nbytes % SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-ce-glue.c
211
if (req->cryptlen < SM4_BLOCK_SIZE)
arch/arm64/crypto/sm4-ce-glue.c
214
if (req->cryptlen == SM4_BLOCK_SIZE)
arch/arm64/crypto/sm4-ce-glue.c
222
cbc_blocks = DIV_ROUND_UP(req->cryptlen, SM4_BLOCK_SIZE) - 2;
arch/arm64/crypto/sm4-ce-glue.c
225
cbc_blocks * SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
240
req->cryptlen - cbc_blocks * SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
288
dst += nblks * SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-glue.c
289
src += nblks * SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-glue.c
290
nbytes -= nblks * SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-glue.c
295
u8 keystream[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-ce-glue.c
298
crypto_inc(walk.iv, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-ce-glue.c
314
int tail = req->cryptlen % SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-glue.c
323
if (req->cryptlen < SM4_BLOCK_SIZE)
arch/arm64/crypto/sm4-ce-glue.c
331
int nblocks = DIV_ROUND_UP(req->cryptlen, SM4_BLOCK_SIZE) - 2;
arch/arm64/crypto/sm4-ce-glue.c
340
nblocks * SM4_BLOCK_SIZE, req->iv);
arch/arm64/crypto/sm4-ce-glue.c
350
while ((nbytes = walk.nbytes) >= SM4_BLOCK_SIZE) {
arch/arm64/crypto/sm4-ce-glue.c
352
nbytes &= ~(SM4_BLOCK_SIZE - 1);
arch/arm64/crypto/sm4-ce-glue.c
380
SM4_BLOCK_SIZE + tail, req->iv);
arch/arm64/crypto/sm4-ce-glue.c
415
.cra_blocksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
429
.cra_blocksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
435
.ivsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
450
.ivsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
451
.chunksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
460
.cra_blocksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
466
.ivsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
467
.walksize = SM4_BLOCK_SIZE * 2,
arch/arm64/crypto/sm4-ce-glue.c
476
.cra_blocksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
482
.ivsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
483
.walksize = SM4_BLOCK_SIZE * 2,
arch/arm64/crypto/sm4-ce-glue.c
514
memset(consts, 0, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-ce-glue.c
542
u8 __aligned(8) key2[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-ce-glue.c
543
static u8 const ks[3][SM4_BLOCK_SIZE] = {
arch/arm64/crypto/sm4-ce-glue.c
544
{ [0 ... SM4_BLOCK_SIZE - 1] = 0x1},
arch/arm64/crypto/sm4-ce-glue.c
545
{ [0 ... SM4_BLOCK_SIZE - 1] = 0x2},
arch/arm64/crypto/sm4-ce-glue.c
546
{ [0 ... SM4_BLOCK_SIZE - 1] = 0x3},
arch/arm64/crypto/sm4-ce-glue.c
570
memset(ctx->digest, 0, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-ce-glue.c
579
unsigned int nblocks = len / SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-glue.c
581
len %= SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-glue.c
596
if (len != SM4_BLOCK_SIZE) {
arch/arm64/crypto/sm4-ce-glue.c
598
consts += SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-ce-glue.c
603
memcpy(out, ctx->digest, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-ce-glue.c
619
memcpy(out, ctx->digest, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-ce-glue.c
631
.cra_blocksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
633
+ SM4_BLOCK_SIZE * 2,
arch/arm64/crypto/sm4-ce-glue.c
636
.digestsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
649
.cra_blocksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
651
+ SM4_BLOCK_SIZE * 2,
arch/arm64/crypto/sm4-ce-glue.c
654
.digestsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
66
u8 digest[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-ce-glue.c
666
.cra_blocksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-ce-glue.c
670
.digestsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-neon-glue.c
101
memcpy(walk.iv, iv, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-neon-glue.c
124
nblocks = nbytes / SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-neon-glue.c
131
err = skcipher_walk_done(&walk, nbytes % SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-neon-glue.c
152
nblocks = nbytes / SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-neon-glue.c
158
dst += nblocks * SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-neon-glue.c
159
src += nblocks * SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-neon-glue.c
160
nbytes -= nblocks * SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-neon-glue.c
165
u8 keystream[SM4_BLOCK_SIZE];
arch/arm64/crypto/sm4-neon-glue.c
168
crypto_inc(walk.iv, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-neon-glue.c
185
.cra_blocksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-neon-glue.c
199
.cra_blocksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-neon-glue.c
205
.ivsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-neon-glue.c
220
.ivsize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-neon-glue.c
221
.chunksize = SM4_BLOCK_SIZE,
arch/arm64/crypto/sm4-neon-glue.c
49
nblocks = nbytes / SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-neon-glue.c
55
err = skcipher_walk_done(&walk, nbytes % SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-neon-glue.c
92
while (nbytes >= SM4_BLOCK_SIZE) {
arch/arm64/crypto/sm4-neon-glue.c
93
crypto_xor_cpy(dst, src, iv, SM4_BLOCK_SIZE);
arch/arm64/crypto/sm4-neon-glue.c
96
src += SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-neon-glue.c
97
dst += SM4_BLOCK_SIZE;
arch/arm64/crypto/sm4-neon-glue.c
98
nbytes -= SM4_BLOCK_SIZE;
arch/riscv/crypto/sm4-riscv64-glue.c
24
const u8 in[SM4_BLOCK_SIZE],
arch/riscv/crypto/sm4-riscv64-glue.c
25
u8 out[SM4_BLOCK_SIZE]);
arch/riscv/crypto/sm4-riscv64-glue.c
71
.cra_blocksize = SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx2_glue.c
19
#define SM4_CRYPT16_BLOCK_SIZE (SM4_BLOCK_SIZE * 16)
arch/x86/crypto/sm4_aesni_avx2_glue.c
53
.cra_blocksize = SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx2_glue.c
59
.walksize = 16 * SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx2_glue.c
68
.cra_blocksize = SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx2_glue.c
74
.ivsize = SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx2_glue.c
75
.walksize = 16 * SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx2_glue.c
90
.ivsize = SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx2_glue.c
91
.chunksize = SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx2_glue.c
92
.walksize = 16 * SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx_glue.c
106
while (nbytes >= SM4_BLOCK_SIZE) {
arch/x86/crypto/sm4_aesni_avx_glue.c
107
crypto_xor_cpy(dst, src, iv, SM4_BLOCK_SIZE);
arch/x86/crypto/sm4_aesni_avx_glue.c
110
src += SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
111
dst += SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
112
nbytes -= SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
115
memcpy(walk.iv, iv, SM4_BLOCK_SIZE);
arch/x86/crypto/sm4_aesni_avx_glue.c
148
while (nbytes >= SM4_BLOCK_SIZE) {
arch/x86/crypto/sm4_aesni_avx_glue.c
149
u8 keystream[SM4_BLOCK_SIZE * 8];
arch/x86/crypto/sm4_aesni_avx_glue.c
150
u8 iv[SM4_BLOCK_SIZE];
arch/x86/crypto/sm4_aesni_avx_glue.c
157
src += ((int)nblocks - 2) * SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
158
dst += (nblocks - 1) * SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
159
memcpy(iv, src + SM4_BLOCK_SIZE, SM4_BLOCK_SIZE);
arch/x86/crypto/sm4_aesni_avx_glue.c
163
&keystream[i * SM4_BLOCK_SIZE],
arch/x86/crypto/sm4_aesni_avx_glue.c
164
SM4_BLOCK_SIZE);
arch/x86/crypto/sm4_aesni_avx_glue.c
165
src -= SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
166
dst -= SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
168
crypto_xor_cpy(dst, walk.iv, keystream, SM4_BLOCK_SIZE);
arch/x86/crypto/sm4_aesni_avx_glue.c
169
memcpy(walk.iv, iv, SM4_BLOCK_SIZE);
arch/x86/crypto/sm4_aesni_avx_glue.c
170
dst += nblocks * SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
171
src += (nblocks + 1) * SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
172
nbytes -= nblocks * SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
20
#define SM4_CRYPT8_BLOCK_SIZE (SM4_BLOCK_SIZE * 8)
arch/x86/crypto/sm4_aesni_avx_glue.c
213
while (nbytes >= SM4_BLOCK_SIZE) {
arch/x86/crypto/sm4_aesni_avx_glue.c
214
u8 keystream[SM4_BLOCK_SIZE * 8];
arch/x86/crypto/sm4_aesni_avx_glue.c
219
memcpy(&keystream[i * SM4_BLOCK_SIZE],
arch/x86/crypto/sm4_aesni_avx_glue.c
220
walk.iv, SM4_BLOCK_SIZE);
arch/x86/crypto/sm4_aesni_avx_glue.c
221
crypto_inc(walk.iv, SM4_BLOCK_SIZE);
arch/x86/crypto/sm4_aesni_avx_glue.c
227
nblocks * SM4_BLOCK_SIZE);
arch/x86/crypto/sm4_aesni_avx_glue.c
228
dst += nblocks * SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
229
src += nblocks * SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
230
nbytes -= nblocks * SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
237
u8 keystream[SM4_BLOCK_SIZE];
arch/x86/crypto/sm4_aesni_avx_glue.c
239
memcpy(keystream, walk.iv, SM4_BLOCK_SIZE);
arch/x86/crypto/sm4_aesni_avx_glue.c
240
crypto_inc(walk.iv, SM4_BLOCK_SIZE);
arch/x86/crypto/sm4_aesni_avx_glue.c
269
.cra_blocksize = SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx_glue.c
275
.walksize = 8 * SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx_glue.c
284
.cra_blocksize = SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx_glue.c
290
.ivsize = SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx_glue.c
291
.walksize = 8 * SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx_glue.c
306
.ivsize = SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx_glue.c
307
.chunksize = SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx_glue.c
308
.walksize = 8 * SM4_BLOCK_SIZE,
arch/x86/crypto/sm4_aesni_avx_glue.c
58
while (nbytes >= SM4_BLOCK_SIZE) {
arch/x86/crypto/sm4_aesni_avx_glue.c
61
dst += nblocks * SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
62
src += nblocks * SM4_BLOCK_SIZE;
arch/x86/crypto/sm4_aesni_avx_glue.c
63
nbytes -= nblocks * SM4_BLOCK_SIZE;
crypto/sm4_generic.c
62
.cra_blocksize = SM4_BLOCK_SIZE,
drivers/crypto/ccree/cc_cipher.c
1289
.blocksize = SM4_BLOCK_SIZE,
drivers/crypto/ccree/cc_cipher.c
1296
.ivsize = SM4_BLOCK_SIZE,
drivers/crypto/ccree/cc_cipher.c
1306
.blocksize = SM4_BLOCK_SIZE,
drivers/crypto/ccree/cc_cipher.c
1330
.ivsize = SM4_BLOCK_SIZE,
drivers/crypto/ccree/cc_cipher.c
1340
.blocksize = SM4_BLOCK_SIZE,
drivers/crypto/ccree/cc_cipher.c
1347
.ivsize = SM4_BLOCK_SIZE,
drivers/crypto/ccree/cc_cipher.c
1358
.blocksize = SM4_BLOCK_SIZE,
drivers/crypto/ccree/cc_cipher.c
1365
.ivsize = SM4_BLOCK_SIZE,
drivers/crypto/ccree/cc_cipher.c
141
if (IS_ALIGNED(size, SM4_BLOCK_SIZE))
drivers/crypto/inside-secure/safexcel_cipher.c
3018
if (req->cryptlen & (SM4_BLOCK_SIZE - 1))
drivers/crypto/inside-secure/safexcel_cipher.c
3028
if (req->cryptlen & (SM4_BLOCK_SIZE - 1))
drivers/crypto/inside-secure/safexcel_cipher.c
3063
.cra_blocksize = SM4_BLOCK_SIZE,
drivers/crypto/inside-secure/safexcel_cipher.c
3079
ctx->blocksz = SM4_BLOCK_SIZE;
drivers/crypto/inside-secure/safexcel_cipher.c
3093
.ivsize = SM4_BLOCK_SIZE,
drivers/crypto/inside-secure/safexcel_cipher.c
3101
.cra_blocksize = SM4_BLOCK_SIZE,
drivers/crypto/inside-secure/safexcel_cipher.c
3131
ctx->blocksz = SM4_BLOCK_SIZE;
drivers/crypto/inside-secure/safexcel_cipher.c
3167
if (req->cryptlen & (SM4_BLOCK_SIZE - 1))
drivers/crypto/inside-secure/safexcel_cipher.c
3179
if ((req->cryptlen - crypto_aead_authsize(tfm)) & (SM4_BLOCK_SIZE - 1))
drivers/crypto/inside-secure/safexcel_cipher.c
3192
ctx->blocksz = SM4_BLOCK_SIZE;
drivers/crypto/inside-secure/safexcel_cipher.c
3205
.ivsize = SM4_BLOCK_SIZE,
drivers/crypto/inside-secure/safexcel_cipher.c
3214
.cra_blocksize = SM4_BLOCK_SIZE,
drivers/crypto/inside-secure/safexcel_cipher.c
3270
if (req->cryptlen & (SM4_BLOCK_SIZE - 1))
drivers/crypto/inside-secure/safexcel_cipher.c
3285
if ((req->cryptlen - crypto_aead_authsize(tfm)) & (SM4_BLOCK_SIZE - 1))
drivers/crypto/inside-secure/safexcel_cipher.c
3301
ctx->blocksz = SM4_BLOCK_SIZE;
drivers/crypto/inside-secure/safexcel_cipher.c
3315
.ivsize = SM4_BLOCK_SIZE,
drivers/crypto/inside-secure/safexcel_cipher.c
3325
.cra_blocksize = SM4_BLOCK_SIZE,