EN JA
KRB5_C_MAKE_CHECKSUM(3)
KRB5_C_MAKE_CHECKSUM(3) FreeBSD Library Functions Manual KRB5_C_MAKE_CHECKSUM(3)

名称

krb5_c_block_size, krb5_c_decrypt, krb5_c_encrypt, krb5_c_encrypt_length, krb5_c_enctype_compare, krb5_c_get_checksum, krb5_c_is_coll_proof_cksum, krb5_c_is_keyed_cksum, krb5_c_keylength, krb5_c_make_checksum, krb5_c_make_random_key, krb5_c_set_checksum, krb5_c_valid_cksumtype, krb5_c_valid_enctype, krb5_c_verify_checksum, krb5_c_checksum_lengthKerberos 5 暗号 API

ライブラリ

Kerberos 5 ライブラリ (libkrb5, -lkrb5)

書式

#include < krb5.h>


krb5_error_code
krb5_c_block_size( krb5_context context, krb5_enctype enctype, size_t *blocksize);

krb5_error_code
krb5_c_decrypt( krb5_context context, const krb5_keyblock key, krb5_keyusage usage, const krb5_data *ivec, krb5_enc_data *input, krb5_data *output);

krb5_error_code
krb5_c_encrypt( krb5_context context, const krb5_keyblock *key, krb5_keyusage usage, const krb5_data *ivec, const krb5_data *input, krb5_enc_data *output);

krb5_error_code
krb5_c_encrypt_length( krb5_context context, krb5_enctype enctype, size_t inputlen, size_t *length);

krb5_error_code
krb5_c_enctype_compare( krb5_context context, krb5_enctype e1, krb5_enctype e2, krb5_boolean *similar);

krb5_error_code
krb5_c_make_random_key( krb5_context context, krb5_enctype enctype, krb5_keyblock *random_key);

krb5_error_code
krb5_c_make_checksum( krb5_context context, krb5_cksumtype cksumtype, const krb5_keyblock *key, krb5_keyusage usage, const krb5_data *input, krb5_checksum *cksum);

krb5_error_code
krb5_c_verify_checksum( krb5_context context, const krb5_keyblock *key, krb5_keyusage usage, const krb5_data *data, const krb5_checksum *cksum, krb5_boolean *valid);

krb5_error_code
krb5_c_checksum_length( krb5_context context, krb5_cksumtype cksumtype, size_t *length);

krb5_error_code
krb5_c_get_checksum( krb5_context context, const krb5_checksum *cksum, krb5_cksumtype *type, krb5_data **data);

krb5_error_code
krb5_c_set_checksum( krb5_context context, krb5_checksum *cksum, krb5_cksumtype type, const krb5_data *data);

krb5_boolean
krb5_c_valid_enctype( krb5_enctype, etype");

krb5_boolean
krb5_c_valid_cksumtype( krb5_cksumtype ctype);

krb5_boolean
krb5_c_is_coll_proof_cksum( krb5_cksumtype ctype);

krb5_boolean
krb5_c_is_keyed_cksum( krb5_cksumtype ctype);

krb5_error_code
krb5_c_keylengths( krb5_context context, krb5_enctype enctype, size_t *inlength, size_t *keylength);

解説

krb5_c で始まる関数は、MIT kerberos にある compat 関数です。

krb5_enc_data 構造体は、暗号化されたデータを保持します。 krb5_enc_data の 2 つのパブリックにアクセス可能なメンバがあります。暗号化されたデータの暗号化タイプを保持する enctype と暗号化されたデータを含むかもしれない krb5_data である ciphertext です。

krb5_c_block_size() は、暗号化タイプのブロックサイズを返します。

krb5_c_decrypt() は、 input の暗号解読をし、 output にデータを格納します。 ivecNULL であるなら、その暗号化タイプのためのデフォルトの初期化ベクトルが、使用されます。

krb5_c_encrypt() は、 input の平文 (plaintext) を暗号化し、 output に暗号文を格納します。

krb5_c_encrypt_length() は、平文の長さを前提として、暗号化されたデータを長さを返します。

krb5_c_enctype_compare() は、暗号化タイプを比較し、それらが互換性のある暗号化キータイプを使用しているなら、返ります。

krb5_c_make_checksum() は、 data のデータのチェックサムタイプ cksumtype でチェックサム cksum を作成します。 keyusage は、チェックサムがキーのあるチェックサムタイプであるなら使用されます。 0 またはエラーコードを返します。

krb5_c_verify_checksum() は、キーの使用法 usage を使用して key で作成された cksumdata のチェックサムを検証します。 verify は、チェックサムが正しく検証されるなら、0 以外に設定され、そうでなければ、0 に設定されます。 0 またはエラーコードを返します。

krb5_c_checksum_length() は、チェックサムの長さを返します。

krb5_c_set_checksum() は、 typedata を前提として、 krb5_checksum 構造体を設定します。 cksum の内容は、 krb5_c_free_checksum_contents() で解放されるべきです。

krb5_c_get_checksum() は、 krb5_checksum 構造体の構成要素を検索します。 data は、 krb5_free_data() で解放されるべきです。 data または checksum のいずれも、アプリケーションに必要としないなら、 NULL を渡すことができます。

krb5_c_valid_enctype() は、 etype が有効な暗号化タイプであるなら、真を返します。

krb5_c_valid_cksumtype() は、 ctype が有効なチェックサムタイプであるなら、真を返します。

krb5_c_is_keyed_cksum() は、 ctype がキーのあるチェックサムタイプであるなら、真を返します。

krb5_c_is_coll_proof_cksum() は、 ctype が照合検査 (collation proof) チェックサムタイプであるなら、真を返します。

krb5_c_keylengths() は、キーを作成するために必要な最小の長さ ( inlength) と enctype のための結果のキーの長さ ( keylength) を返します。

November 17, 2006 HEIMDAL