panic("%s: inconsistent size for AES encrypt context", __FUNCTION__);
}
- cccbc_init(cbc, cx[0].ctx, key_len, key);
-
- return aes_good;
+ return cccbc_init(cbc, cx[0].ctx, key_len, key);
}
aes_rval
const struct ccmode_cbc *cbc = g_crypto_funcs->ccaes_cbc_encrypt;
cccbc_iv_decl(cbc->block_size, ctx_iv);
- cccbc_set_iv(cbc, ctx_iv, in_iv);
- cccbc_update(cbc, cx[0].ctx, ctx_iv, num_blk, in_blk, out_blk); //Actually cbc encrypt.
+ int rc = cccbc_set_iv(cbc, ctx_iv, in_iv);
+ if (rc) {
+ return rc;
+ }
- return aes_good;
+ return cccbc_update(cbc, cx[0].ctx, ctx_iv, num_blk, in_blk, out_blk); //Actually cbc encrypt.
}
#if defined (__i386__) || defined (__x86_64__) || defined (__arm64__)
panic("%s: inconsistent size for AES decrypt context", __FUNCTION__);
}
- cccbc_init(cbc, cx[0].ctx, key_len, key);
-
- return aes_good;
+ return cccbc_init(cbc, cx[0].ctx, key_len, key);
}
aes_rval
const struct ccmode_cbc *cbc = g_crypto_funcs->ccaes_cbc_decrypt;
cccbc_iv_decl(cbc->block_size, ctx_iv);
- cccbc_set_iv(cbc, ctx_iv, in_iv);
- cccbc_update(cbc, cx[0].ctx, ctx_iv, num_blk, in_blk, out_blk); //Actually cbc decrypt.
+ int rc = cccbc_set_iv(cbc, ctx_iv, in_iv);
+ if (rc) {
+ return rc;
+ }
- return aes_good;
+ return cccbc_update(cbc, cx[0].ctx, ctx_iv, num_blk, in_blk, out_blk); //Actually cbc decrypt.
}
#if defined (__i386__) || defined (__x86_64__) || defined (__arm64__)
return aes_error;
}
- return ccgcm_gmac(gcm, ctx, aad_bytes, aad);
+ return ccgcm_aad(gcm, ctx, aad_bytes, aad);
}
aes_rval
aes_rval
aes_encrypt_finalize_gcm(unsigned char *tag, unsigned int tag_bytes, ccgcm_ctx *ctx)
{
- int rc;
const struct ccmode_gcm *gcm = g_crypto_funcs->ccaes_gcm_encrypt;
if (!gcm) {
return aes_error;
}
- rc = ccgcm_finalize(gcm, ctx, tag_bytes, tag);
- rc |= ccgcm_reset(gcm, ctx);
- return rc;
+ int rc = ccgcm_finalize(gcm, ctx, tag_bytes, tag);
+ if (rc) {
+ return rc;
+ }
+
+ return ccgcm_reset(gcm, ctx);
}
aes_rval
aes_rval
aes_decrypt_set_iv_gcm(const unsigned char *in_iv, unsigned int len, ccgcm_ctx *ctx)
{
- int rc;
-
const struct ccmode_gcm *gcm = g_crypto_funcs->ccaes_gcm_decrypt;
if (!gcm) {
return aes_error;
}
- rc = ccgcm_reset(gcm, ctx);
- rc |= ccgcm_set_iv(gcm, ctx, len, in_iv);
- return rc;
+ int rc = ccgcm_reset(gcm, ctx);
+ if (rc) {
+ return rc;
+ }
+
+ return ccgcm_set_iv(gcm, ctx, len, in_iv);
}
aes_rval
return aes_error;
}
- return ccgcm_gmac(gcm, ctx, aad_bytes, aad);
+ return ccgcm_aad(gcm, ctx, aad_bytes, aad);
}
aes_rval
aes_rval
aes_decrypt_finalize_gcm(unsigned char *tag, unsigned int tag_bytes, ccgcm_ctx *ctx)
{
- int rc;
const struct ccmode_gcm *gcm = g_crypto_funcs->ccaes_gcm_decrypt;
if (!gcm) {
return aes_error;
}
- rc = ccgcm_finalize(gcm, ctx, tag_bytes, tag);
- rc |= ccgcm_reset(gcm, ctx);
- return rc;
+ int rc = ccgcm_finalize(gcm, ctx, tag_bytes, tag);
+ if (rc) {
+ return rc;
+ }
+
+ return ccgcm_reset(gcm, ctx);
}
unsigned