decrypt
UINT32 decrypt : 1;
UINT8 decrypt : 1;
(void) memset(&encr_data.decrypt, 0, sizeof (cipher_info_t));
encr_data.decrypt.state = ENCR_STATE_NOT_READY;
(void) memcpy(p, encr_data.decrypt.keyid, encr_data.decrypt.keyidlen);
p += encr_data.decrypt.keyidlen;
encr_data.decrypt.type = type;
lstate = encr_data.decrypt.state;
(void) memcpy(encr_data.decrypt.ivec, data,
encr_data.decrypt.type = type;
encr_data.decrypt.type = 0;
encr_data.decrypt.state = lstate;
encr_data.decrypt.autoflag = 0;
if (lstate == ENCR_STATE_OK && encr_data.decrypt.autoflag)
encr_data.decrypt.state);
if (encr_data.decrypt.type == ENCTYPE_NULL) {
if (encr_data.decrypt.type == TELOPT_ENCTYPE_DES_CFB64) {
"crypto_method %d\n", encr_data.decrypt.type);
encr_data.decrypt.type);
if (encr_data.decrypt.setup != cki.crypto_method) {
(void) memcpy(cki.key, (void *)encr_data.decrypt.krbdes_key,
(void) memcpy(cki.ivec, (void *)encr_data.decrypt.ivec,
encr_data.decrypt.setup = cki.crypto_method;
ENCTYPE_NAME(encr_data.decrypt.type));
(void) memcpy(encr_data.decrypt.keyid, keyid, keylen);
encr_data.decrypt.keyidlen = keylen;
encr_data.decrypt.state);
encr_data.decrypt.state = lstate;
encr_data.decrypt.state),
encr_data.decrypt.autoflag));
encr_data.decrypt.state));
encrypt_keyid(encr_data.decrypt.keyid, &encr_data.decrypt.keyidlen,
encrypt_session_key(&skey, &encr_data.decrypt);
boolean_t readonly, boolean_t decrypt, void *tag, objset_t **osp)
err = dmu_objset_own(name, type, readonly, decrypt, tag, osp);
if (decrypt && err == EACCES) {
err = dmu_objset_own(name, type, readonly, decrypt, tag, osp);
uint8_t *out_block, boolean_t decrypt)
if (decrypt == B_TRUE)
if (decrypt == B_TRUE)
uint8_t *out_block, boolean_t decrypt)
if (decrypt == B_TRUE)
if (decrypt == B_TRUE)
int (*decrypt)(const void *, const uint8_t *, uint8_t *),
decrypt(ctx->cbc_keysched, blockp,
decrypt(ctx->cbc_keysched, blockp, blockp);
int (*decrypt)(const void *, const uint8_t *, uint8_t *),
cipher_info_t decrypt;
session_p->decrypt.mech = *pMechanism;
if (INPLACE_MECHANISM(session_p->decrypt.mech.mechanism)) {
session_p->decrypt.flags |= CRYPTO_OPERATION_INPLACE_OK;
if (session_p->decrypt.mech.mechanism == CKM_AES_CCM) {
session_p->decrypt.flags &= ~CRYPTO_OPERATION_ACTIVE;
crypto_decrypt_t decrypt;
if (!(session_p->decrypt.flags & CRYPTO_OPERATION_ACTIVE)) {
if (session_p->decrypt.flags & CRYPTO_OPERATION_UPDATE) {
decrypt.cd_session = session_p->k_session;
inplace = (session_p->decrypt.flags & CRYPTO_OPERATION_INPLACE_OK) != 0;
decrypt.cd_datalen = ulEncryptedData;
decrypt.cd_datalen = *pulDataLen;
decrypt.cd_databuf = (char *)pData;
decrypt.cd_encrlen = ulEncryptedData;
decrypt.cd_encrbuf = (char *)pEncryptedData;
decrypt.cd_flags =
(decrypt.cd_datalen == decrypt.cd_encrlen) ?
while ((r = ioctl(kernel_fd, CRYPTO_DECRYPT, &decrypt)) < 0) {
rv = crypto2pkcs11_error_number(decrypt.cd_return_value);
*pulDataLen = decrypt.cd_datalen;
session_p->decrypt.flags = 0;
if (!(session_p->decrypt.flags & CRYPTO_OPERATION_ACTIVE)) {
session_p->decrypt.flags |= CRYPTO_OPERATION_UPDATE;
inplace = (session_p->decrypt.flags & CRYPTO_OPERATION_INPLACE_OK) != 0;
session_p->decrypt.flags = 0;
if (!(session_p->decrypt.flags & CRYPTO_OPERATION_ACTIVE)) {
session_p->decrypt.flags = 0;
session_p->decrypt.flags = CRYPTO_OPERATION_ACTIVE;
session_p->decrypt.flags & CRYPTO_OPERATION_ACTIVE ||
crypto_active_op_t decrypt; /* context of active decrypt op */
if (session_p->decrypt.context != NULL)
free(session_p->decrypt.context);
aes_ctx_t *aes_ctx = session_p->decrypt.context;
CK_MECHANISM_TYPE mech = session_p->decrypt.mech.mechanism;
session_p->decrypt.context = NULL;
session_p->decrypt.context = aes_ctx;
session_p->decrypt.mech.mechanism = pMechanism->mechanism;
aes_ctx_t *aes_ctx = session_p->decrypt.context;
CK_MECHANISM_TYPE mech = session_p->decrypt.mech.mechanism;
session_p->decrypt.context = NULL;
aes_ctx_t *aes_ctx = session_p->decrypt.context;
CK_MECHANISM_TYPE mech = session_p->decrypt.mech.mechanism;
active_op = (encrypt) ? &(session_p->encrypt) : &(session_p->decrypt);
(soft_blowfish_ctx_t *)session_p->decrypt.context;
freezero(session_p->decrypt.context,
session_p->decrypt.context = NULL;
session_p->decrypt.context = soft_blowfish_ctx;
session_p->decrypt.mech.mechanism = pMechanism->mechanism;
(soft_des_ctx_t *)session_p->decrypt.context;
CK_MECHANISM_TYPE mechanism = session_p->decrypt.mech.mechanism;
freezero(session_p->decrypt.context, sizeof (soft_des_ctx_t));
session_p->decrypt.context = soft_des_ctx;
session_p->decrypt.mech.mechanism = pMechanism->mechanism;
if (!(session_p->decrypt.flags & CRYPTO_OPERATION_ACTIVE)) {
if (session_p->decrypt.flags & CRYPTO_OPERATION_UPDATE) {
if (!(session_p->decrypt.flags & CRYPTO_OPERATION_ACTIVE)) {
session_p->decrypt.flags |= CRYPTO_OPERATION_UPDATE;
if (!(session_p->decrypt.flags & CRYPTO_OPERATION_ACTIVE)) {
session_p->decrypt.flags = 0;
if (session_p->decrypt.flags & CRYPTO_OPERATION_ACTIVE) {
session_p->decrypt.flags = CRYPTO_OPERATION_ACTIVE;
session_p->decrypt.flags &= ~CRYPTO_OPERATION_ACTIVE;
soft_des_ctx = (soft_des_ctx_t *)session_p->decrypt.context;
freezero(session_p->decrypt.context,
session_p->decrypt.context = NULL;
(soft_blowfish_ctx_t *)session_p->decrypt.context;
freezero(session_p->decrypt.context,
session_p->decrypt.context = NULL;
CK_MECHANISM_TYPE mechanism = session_p->decrypt.mech.mechanism;
return (soft_arcfour_crypt(&(session_p->decrypt), pEncrypted,
CK_MECHANISM_TYPE mechanism = session_p->decrypt.mech.mechanism;
CK_MECHANISM_TYPE mechanism = session_p->decrypt.mech.mechanism;
if (session_p->decrypt.context == NULL) {
soft_des_ctx = (soft_des_ctx_t *)session_p->decrypt.context;
soft_des_ctx = (soft_des_ctx_t *)session_p->decrypt.context;
(soft_blowfish_ctx_t *)session_p->decrypt.context;
ARCFour_key *key = (ARCFour_key *)session_p->decrypt.context;
free(session_p->decrypt.context);
session_p->decrypt.context = NULL;
active_op = (encrypt) ? &(session_p->encrypt) : &(session_p->decrypt);
if (session_p->decrypt.flags & CRYPTO_OPERATION_ACTIVE) {
session_p->decrypt.flags = CRYPTO_OPERATION_ACTIVE;
session_p->decrypt.flags = 0;
session_p->decrypt.context = rsa_ctx;
session_p->decrypt.mech.mechanism = pMechanism->mechanism;
soft_rsa_ctx_t *rsa_ctx = session_p->decrypt.context;
free(session_p->decrypt.context);
session_p->decrypt.context = NULL;
crypto_active_op_t decrypt; /* context of active decrypt op */
if (session_p->decrypt.context != NULL)
if (session_p->decrypt.flags & CRYPTO_OPERATION_ACTIVE) {
crypto_decrypt_t decrypt;
bzero(&decrypt, sizeof (decrypt));
decrypt.cd_session = op->hsession;
decrypt.cd_datalen = op->outlen;
decrypt.cd_databuf = op->out;
decrypt.cd_encrlen = op->inlen;
decrypt.cd_encrbuf = op->in;
return (kcf_do_ioctl(CRYPTO_DECRYPT, (uint_t *)&decrypt, "single"));
return (decrypt(dev, ARG, mode, rval));
if (cipher_ops->decrypt != NULL)
static int decrypt_error_code(int mode, int decrypt, int verify, int def);
static int decrypt_error_code(int mode, int decrypt, int verify, int def)
return (decrypt);
dmu_objset_hold_flags(const char *name, boolean_t decrypt, void *tag,
flags = (decrypt) ? DS_HOLD_FLAG_DECRYPT : DS_HOLD_FLAG_NONE;
boolean_t readonly, boolean_t decrypt, void *tag, objset_t **osp)
} else if (!readonly && decrypt &&
if (decrypt && arc_is_unauthenticated((*osp)->os_phys_buf)) {
boolean_t readonly, boolean_t decrypt, void *tag, objset_t **osp)
flags = (decrypt) ? DS_HOLD_FLAG_DECRYPT : DS_HOLD_FLAG_NONE;
err = dmu_objset_own_impl(ds, type, readonly, decrypt, tag, osp);
(ds->ds_dir->dd_crypto_obj == 0 || decrypt))
boolean_t readonly, boolean_t decrypt, void *tag, objset_t **osp)
flags = (decrypt) ? DS_HOLD_FLAG_DECRYPT : DS_HOLD_FLAG_NONE;
err = dmu_objset_own_impl(ds, type, readonly, decrypt, tag, osp);
dmu_objset_rele_flags(objset_t *os, boolean_t decrypt, void *tag)
flags = (decrypt) ? DS_HOLD_FLAG_DECRYPT : DS_HOLD_FLAG_NONE;
boolean_t decrypt, void *tag)
flags = (decrypt) ? DS_HOLD_FLAG_DECRYPT : DS_HOLD_FLAG_NONE;
dmu_objset_disown(objset_t *os, boolean_t decrypt, void *tag)
flags = (decrypt) ? DS_HOLD_FLAG_DECRYPT : DS_HOLD_FLAG_NONE;
int dmu_objset_hold_flags(const char *name, boolean_t decrypt, void *tag,
boolean_t readonly, boolean_t decrypt, void *tag, objset_t **osp);
dmu_objset_type_t type, boolean_t readonly, boolean_t decrypt,
void dmu_objset_rele_flags(objset_t *os, boolean_t decrypt, void *tag);
void dmu_objset_disown(objset_t *os, boolean_t decrypt, void *tag);
boolean_t decrypt);
zil_read_log_block(zilog_t *zilog, boolean_t decrypt, const blkptr_t *bp,
if (!decrypt)
boolean_t decrypt)
error = zil_read_log_block(zilog, decrypt, &blk, &next_blk,
(decrypt && error == EIO));
ret=(*(enc->decrypt))(context, &k3, ivec, &ciphertext, &plaintext);
return((*(krb5_enctypes_list[i].decrypt))
if ((ret = ((*(enc->decrypt))(context, derived_encr_key,
if ((ret = ((*(enc->decrypt))(context, key, ivec, input, &output))))
return((*(enc->decrypt))(context, key, ivec, input, output));
krb5_error_code (*decrypt) (
krb5_crypt_func decrypt;
(KCF_PROV_CIPHER_OPS(pd) && KCF_PROV_CIPHER_OPS(pd)->decrypt) ? \
KCF_PROV_CIPHER_OPS(pd)->decrypt(ctx, ciphertext, plaintext, req) : \
int (*decrypt)(crypto_ctx_t *,