 879fc6b8bc
			
		
	
	879fc6b8bc
	
	
	
		
			
			git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@11176 ec53bebd-3082-4978-b11e-865c3cabbd6b
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\" Copyright (c) 1999 Kungliga Tekniska Högskolan
 | |
| .\" $Id$
 | |
| .Dd April  7, 1999
 | |
| .Dt NAME 3
 | |
| .Os HEIMDAL
 | |
| .Sh NAME
 | |
| .Nm krb5_checksum_is_collision_proof ,
 | |
| .Nm krb5_checksum_is_keyed ,
 | |
| .Nm krb5_checksumsize ,
 | |
| .Nm krb5_create_checksum ,
 | |
| .Nm krb5_verify_checksum
 | |
| .Nd creates and verifies checksums
 | |
| .Sh SYNOPSIS
 | |
| .Fd #include <krb5.h>
 | |
| .Ft krb5_error_code
 | |
| .Fn krb5_create_checksum "krb5_context context" "krb5_crypto crypto" "unsigned usage_or_type" "void *data" "size_t len" "Checksum *result"
 | |
| .Ft krb5_error_code
 | |
| .Fn krb5_verify_checksum "krb5_context context" "krb5_crypto crypto" "krb5_key_usage usage" "void *data" "size_t len" "Checksum *cksum"
 | |
| .Ft krb5_boolean
 | |
| .Fn krb5_checksum_is_collision_proof "krb5_context context" "krb5_cksumtype type"
 | |
| .Ft krb5_boolean
 | |
| .Fn krb5_checksum_is_keyed "krb5_context context" "krb5_cksumtype type"
 | |
| .Sh DESCRIPTION
 | |
| These functions are used to create and verify checksums.
 | |
| .Fn krb5_create_checksum
 | |
| creates a checksum of the specified data, and puts it in
 | |
| .Fa result .
 | |
| If
 | |
| .Fa crypto
 | |
| is
 | |
| .Dv NULL ,
 | |
| .Fa usage_or_type
 | |
| specifies the checksum type to use; it must not be keyed. Otherwise
 | |
| .Fa crypto
 | |
| is an encryption context created by
 | |
| .Fn krb5_crypto_init ,
 | |
| and
 | |
| .Fa usage_or_type
 | |
| specifies a key-usage.
 | |
| .Pp
 | |
| .Fn krb5_verify_checksum
 | |
| verifies the
 | |
| .Fa checksum ,
 | |
| against the provided data.
 | |
| .Pp
 | |
| .Fn krb5_checksum_is_collision_proof
 | |
| returns true is the specified checksum is collision proof (that it's
 | |
| very unlikely that two strings has the same hash value, and that it's
 | |
| hard to find two strings that has the same hash). Examples of
 | |
| collision proof checksums are MD5, and SHA1, while CRC32 is not.
 | |
| .Pp
 | |
| .Fn krb5_checksum_is_keyed
 | |
| returns true if the specified checksum type is keyed (that the hash
 | |
| value is a function of both the data, and a separate key). Examples of
 | |
| keyed hash algorithms are HMAC-SHA1-DES3, and RSA-MD5-DES. The
 | |
| .Dq plain
 | |
| hash functions MD5, and SHA1 are not keyed.
 | |
| .\" .Sh EXAMPLE
 | |
| .\" .Sh BUGS
 | |
| .Sh SEE ALSO
 | |
| .Xr krb5_crypto_init 3 ,
 | |
| .Xr krb5_encrypt 3
 |