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.