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

名称

krb5_checksum, krb5_checksum_disable, krb5_checksum_is_collision_proof, krb5_checksum_is_keyed, krb5_checksumsize, krb5_cksumtype_valid, krb5_copy_checksum, krb5_create_checksum, krb5_crypto_get_checksum_type krb5_free_checksum, krb5_free_checksum_contents, krb5_hmac, krb5_verify_checksumチェックサムを作成して、検証する

ライブラリ

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

書式

#include < krb5.h>

typedef Checksum krb5_checksum;
void
krb5_checksum_disable( krb5_context context, krb5_cksumtype type);

krb5_boolean
krb5_checksum_is_collision_proof( krb5_context context, krb5_cksumtype type);

krb5_boolean
krb5_checksum_is_keyed( krb5_context context, krb5_cksumtype type);

krb5_error_code
krb5_cksumtype_valid( krb5_context context, krb5_cksumtype ctype);

krb5_error_code
krb5_checksumsize( krb5_context context, krb5_cksumtype type, size_t *size);

krb5_error_code
krb5_create_checksum( krb5_context context, krb5_crypto crypto, krb5_key_usage usage, int type, void *data, size_t len, Checksum *result);

krb5_error_code
krb5_verify_checksum( krb5_context context, krb5_crypto crypto, krb5_key_usage usage, void *data, size_t len, Checksum *cksum);

krb5_error_code
krb5_crypto_get_checksum_type( krb5_context context, krb5_crypto crypto, krb5_cksumtype *type);

void
krb5_free_checksum( krb5_context context, krb5_checksum *cksum);

void
krb5_free_checksum_contents( krb5_context context, krb5_checksum *cksum);

krb5_error_code
krb5_hmac( krb5_context context, krb5_cksumtype cktype, const void *data, size_t len, unsigned usage, krb5_keyblock *key, Checksum *result);

krb5_error_code
krb5_copy_checksum( krb5_context context, const krb5_checksum *old, krb5_checksum **new);

解説

krb5_checksum 構造体は、Kerberos チェックサムを保持します。直接参照可能である krb5_checksum の内側にコンポーネントはありません。

関数は、チェックサムを作成して、検証するために使用されます。 krb5_create_checksum() は指定されたデータのチェックサムを作成して、 result にそれを入れます。 cryptoNULL であるなら、 usage_or_type は使用するチェックサムのタイプを指定します。それはキー付きであってはなりません。そうでなければ、 cryptokrb5_crypto_init() で作成された暗号化されたコンテキストで、 usage_or_type はキーの使用法 (key-usage) を指定します。

krb5_verify_checksum() は提供されたデータに対して checksum を検証します。

krb5_checksum_is_collision_proof() は指定されたチェックサムがコリジョンプルーフ (衝突保証) (2 つの文字列が同じハッシュ値である可能性が極めて低いこと、 2 つの文字列が同じハッシュであることを見つけづらいこと) であるなら、真を返します。コリジョンプルーフのチェックサムの例は、MD5 と SHA1 ですが、CRC32 はそうではありません。

krb5_checksum_is_keyed() は指定されたチェックサムのタイプがキー付き (それはハッシュ値が、データと分離キーの両方の関数です) であるなら、真を返します。キー付きハッシュアルゴリズムの例は HMAC-SHA1-DES3 と RSA-MD5-DES です。“plain”ハッシュ関数 MD5 と SHA1 はキー付きではありません。

krb5_crypto_get_checksum_type() は、与えられた crypto コンテキストのためにチェックサムを作成するとき使用されるチェックサムのタイプを返します。この関数は、チェックサムを作成するとき、チェックサムが使用する、サイズを知りたとき、 krb5_checksumsize() と組み合わせて役に立ちます。

krb5_cksumtype_valid() は、0 を返すか、または checksumtype が実装されて、現在この kerberos ライブラリで無効にされないなら、エラーを返します。

krb5_checksumsize() は、チェックサム関数の outdata のサイズを返します。

krb5_copy_checksum() は、チェックサムのコーピーを返し、 krb5_free_checksum() は、 new (新しい) チェックサムを解放するために使用すべきです。

krb5_free_checksum() は、チェックサムとチェックサムの内容を解放します。

krb5_free_checksum_contents() は、 cksum のチェックサムの内容を解放します。

krb5_hmac() は、keyusage usage と keyblock key を使用して (長さ len の) data を超える HMAC を計算します。 keyusage が常にチェックサムで使用されるわけではないことに注意してください。

krb5_checksum_disable は、チェックサムのタイプをグローバルに無効にします。

August 12, 2005 HEIMDAL