#include <krb5/krb5.h>krb5_error_code
krb5_encrypt(krb5_context context, krb5_crypto crypto, unsigned usage, void *data, size_t len, krb5_data *result);
krb5_error_code
krb5_encrypt_EncryptedData(krb5_context context, krb5_crypto crypto, unsigned usage, void *data, size_t len, int kvno, EncryptedData *result);
krb5_error_code
krb5_encrypt_ivec(krb5_context context, krb5_crypto crypto, unsigned usage, void *data, size_t len, krb5_data *result, void *ivec);
krb5_error_code
krb5_decrypt(krb5_context context, krb5_crypto crypto, unsigned usage, void *data, size_t len, krb5_data *result);
krb5_error_code
krb5_decrypt_EncryptedData(krb5_context context, krb5_crypto crypto, unsigned usage, EncryptedData *e, krb5_data *result);
krb5_error_code
krb5_decrypt_ivec(krb5_context context, krb5_crypto crypto, unsigned usage, void *data, size_t len, krb5_data *result, void *ivec);
krb5_error_code
krb5_decrypt_ticket(krb5_context context, Ticket *ticket, krb5_keyblock *key, EncTicketPart *out, krb5_flags flags);
krb5_error_code
krb5_crypto_getblocksize(krb5_context context, size_t *blocksize);
krb5_error_code
krb5_crypto_getenctype(krb5_context context, krb5_crypto crypto, krb5_enctype *enctype);
krb5_error_code
krb5_crypto_getpadsize(krb5_context context, size_t, *padsize");
krb5_error_code
krb5_crypto_getconfoundersize(krb5_context context, krb5_crypto crypto, size_t, *confoundersize");
krb5_error_code
krb5_enctype_keysize(krb5_context context, krb5_enctype type, size_t *keysize);
krb5_error_code
krb5_crypto_overhead(krb5_context context, size_t, *padsize");
krb5_error_code
krb5_string_to_enctype(krb5_context context, const char *string, krb5_enctype *etype);
krb5_error_code
krb5_enctype_to_string(krb5_context context, krb5_enctype etype, char **string);
krb5_error_code
krb5_enctype_valid(krb5_context context, krb5_enctype etype);
void
krb5_enctype_disable(krb5_context context, krb5_enctype etype);
size_t
krb5_get_wrapped_length(krb5_context context, krb5_crypto crypto, size_t data_len);