1krb5_c_decrypt - Decrypt data using a key (operates on keyblock). 2=================================================================== 3 4.. 5 6.. c:function:: krb5_error_code krb5_c_decrypt(krb5_context context, const krb5_keyblock * key, krb5_keyusage usage, const krb5_data * cipher_state, const krb5_enc_data * input, krb5_data * output) 7 8.. 9 10 11:param: 12 13 **[in]** **context** - Library context 14 15 **[in]** **key** - Encryption key 16 17 **[in]** **usage** - Key usage (see KRB5_KEYUSAGE macros) 18 19 **[inout]** **cipher_state** - Cipher state; specify NULL if not needed 20 21 **[in]** **input** - Encrypted data 22 23 **[out]** **output** - Decrypted data 24 25 26.. 27 28 29:retval: 30 - 0 Success; otherwise - Kerberos error codes 31 32 33.. 34 35 36 37 38 39 40 41This function decrypts the data block *input* and stores the output into *output* . The actual decryption key will be derived from *key* and *usage* if key derivation is specified for the encryption type. If non-null, *cipher_state* specifies the beginning state for the decryption operation, and is updated with the state to be passed as input to the next operation. 42 43 44 45 46 47 48 49 50 51 52.. 53 54 55 56 57 58 59.. note:: 60 61 The caller must initialize *output* and allocate at least enough space for the result. The usual practice is to allocate an output buffer as long as the ciphertext, and let krb5_c_decrypt() trim *output->length* . For some enctypes, the resulting *output->length* may include padding bytes. 62 63 64 65 66