Lines Matching refs:sctx
20 PROV_AES_CCM_CTX *sctx = (PROV_AES_CCM_CTX *)ctx;
22 sctx->ccm.s390x.fc = S390X_AES_FC(keylen);
23 memcpy(&sctx->ccm.s390x.kmac.k, key, keylen);
25 sctx->ccm.s390x.nonce.b[0] = ((ctx->l - 1) & 0x7)
27 memset(sctx->ccm.s390x.nonce.b + 1, 0, sizeof(sctx->ccm.s390x.nonce.b));
28 sctx->ccm.s390x.blocks = 0;
37 PROV_AES_CCM_CTX *sctx = (PROV_AES_CCM_CTX *)ctx;
39 sctx->ccm.s390x.nonce.b[0] &= ~S390X_CCM_AAD_FLAG;
40 sctx->ccm.s390x.nonce.g[1] = mlen;
41 memcpy(sctx->ccm.s390x.nonce.b + 1, nonce, 15 - ctx->l);
51 PROV_AES_CCM_CTX *sctx = (PROV_AES_CCM_CTX *)ctx;
58 sctx->ccm.s390x.nonce.b[0] |= S390X_CCM_AAD_FLAG;
61 ptr = sctx->ccm.s390x.buf.b;
78 sctx->ccm.s390x.buf.b[i] = *aad;
84 sctx->ccm.s390x.buf.b[i] = 0;
88 sctx->ccm.s390x.kmac.icv.g[0] = 0;
89 sctx->ccm.s390x.kmac.icv.g[1] = 0;
90 s390x_kmac(sctx->ccm.s390x.nonce.b, 32, sctx->ccm.s390x.fc,
91 &sctx->ccm.s390x.kmac);
92 sctx->ccm.s390x.blocks += 2;
97 s390x_kmac(aad, alen, sctx->ccm.s390x.fc, &sctx->ccm.s390x.kmac);
98 sctx->ccm.s390x.blocks += alen >> 4;
103 sctx->ccm.s390x.kmac.icv.b[i] ^= aad[i];
105 s390x_km(sctx->ccm.s390x.kmac.icv.b, 16,
106 sctx->ccm.s390x.kmac.icv.b, sctx->ccm.s390x.fc,
107 sctx->ccm.s390x.kmac.k);
108 sctx->ccm.s390x.blocks++;
121 PROV_AES_CCM_CTX *sctx = (PROV_AES_CCM_CTX *)ctx;
126 flags = sctx->ccm.s390x.nonce.b[0];
128 s390x_km(sctx->ccm.s390x.nonce.b, 16, sctx->ccm.s390x.kmac.icv.b,
129 sctx->ccm.s390x.fc, sctx->ccm.s390x.kmac.k);
130 sctx->ccm.s390x.blocks++;
133 sctx->ccm.s390x.nonce.b[0] = l;
141 n |= sctx->ccm.s390x.nonce.b[i];
142 sctx->ccm.s390x.nonce.b[i] = 0;
145 n |= sctx->ccm.s390x.nonce.b[15];
146 sctx->ccm.s390x.nonce.b[15] = 1;
153 sctx->ccm.s390x.blocks += (((len + 15) >> 4) << 1) + 1;
154 if (sctx->ccm.s390x.blocks > (1ULL << 61))
165 s390x_kmac(in, len, sctx->ccm.s390x.fc, &sctx->ccm.s390x.kmac);
168 sctx->ccm.s390x.kmac.icv.b[i] ^= in[len + i];
170 s390x_km(sctx->ccm.s390x.kmac.icv.b, 16,
171 sctx->ccm.s390x.kmac.icv.b,
172 sctx->ccm.s390x.fc, sctx->ccm.s390x.kmac.k);
175 CRYPTO_ctr128_encrypt_ctr32(in, out, len + rem, &sctx->ccm.ks.ks,
176 sctx->ccm.s390x.nonce.b, sctx->ccm.s390x.buf.b,
180 CRYPTO_ctr128_encrypt_ctr32(in, out, len + rem, &sctx->ccm.ks.ks,
181 sctx->ccm.s390x.nonce.b, sctx->ccm.s390x.buf.b,
185 s390x_kmac(out, len, sctx->ccm.s390x.fc, &sctx->ccm.s390x.kmac);
188 sctx->ccm.s390x.kmac.icv.b[i] ^= out[len + i];
190 s390x_km(sctx->ccm.s390x.kmac.icv.b, 16,
191 sctx->ccm.s390x.kmac.icv.b,
192 sctx->ccm.s390x.fc, sctx->ccm.s390x.kmac.k);
197 sctx->ccm.s390x.nonce.b[i] = 0;
199 s390x_km(sctx->ccm.s390x.nonce.b, 16, sctx->ccm.s390x.buf.b,
200 sctx->ccm.s390x.fc, sctx->ccm.s390x.kmac.k);
201 sctx->ccm.s390x.kmac.icv.g[0] ^= sctx->ccm.s390x.buf.g[0];
202 sctx->ccm.s390x.kmac.icv.g[1] ^= sctx->ccm.s390x.buf.g[1];
204 sctx->ccm.s390x.nonce.b[0] = flags; /* restore flags field */
212 PROV_AES_CCM_CTX *sctx = (PROV_AES_CCM_CTX *)ctx;
216 memcpy(tag, sctx->ccm.s390x.kmac.icv.b, tlen);
240 PROV_AES_CCM_CTX *sctx = (PROV_AES_CCM_CTX *)ctx;
244 if (CRYPTO_memcmp(sctx->ccm.s390x.kmac.icv.b, expected_tag, ctx->m) != 0)