Supported Checksum Types

IBMJGSS supports the checksum algorithms defined in RFC-1510 and RFC-3961. It also supports the checksum algorithm hmac-md5 defined in draft-brezak-win2k-krb-rc4-hmac-04.txt (Expired) for use with the rc4-hmac and rc4-hmac-exp encryption systems. A client specifies a desired checksum algorithm as the value of the default_checksum field in their Kerberos configuration file. Here are the possible values with brief descriptions:
hmac-sha1-96-aes128/hmac-sha1-96-aes256
Keyed SHA1 hashes in HMAC mode computed over the message and then truncated to 96 bits.
hmac-sha1-des3
The checksum used with the des3-cbc-hmac-sha1 encryption system. A key is derived from a base key using the defined usage number for checksum. The derived key is then used to compute an HMAC SHA1 hash over the data to be checksumed. The result is a 20-byte checksum.
rsa-md5-des
Combines the RSA MD5 checksum algorithm with DES CBC encryption to generate a 24-byte keyed checksum which is believed to be tamper-proof and collision-proof. It is used with the des-cbc-md5, des-cbc-md4 and des-cbc-crc encryption systems.
des-mac
Uses DES in CBC mode to generate a 16-byte checksum 64 bits of which are redundant. The checksum is believed to be both collision-proof and tamper-proof. Associated encryption systems are des-cbc-md5, des-cbc-md4 and des-cbc-crc.
hmac-md5
The checksum used with the rc4-hmac and rc4-hmac-exp encryption systems. It is essentially an HMAC hash over the ASCII string "signaturekey" (including the terminating null), a usage number and the data to be checksumed.
The following checksum types are supported but not recommended for use:
des-mac-k
Uses DES in CBC mode to create an 8-byte checksum. Although the resulting checksum is both tamper-proof and collision-proof, this algorithm is the obsolete way of computing des-mac checksum and its use is no longer recommended.
rsa-md5
Uses the RSA MD5 checksum algorithm to generate a 16-byte digest over the data to be checksumed. It is believed to be collision-proof, but is not keyed and its use is not recommended.
crc32
Generates a 4-byte cyclic redundancy check (CRC-32) checksum. The checksum is neither keyed nor collision-proof and its use is not recommended.