 0caadd8b18
			
		
	
	0caadd8b18
	
	
	
		
			
			git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@12329 ec53bebd-3082-4978-b11e-865c3cabbd6b
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\" Copyright (c) 1999 Kungliga Tekniska Högskolan
 | |
| .\" (Royal Institute of Technology, Stockholm, Sweden).
 | |
| .\" All rights reserved.
 | |
| .\"
 | |
| .\" Redistribution and use in source and binary forms, with or without
 | |
| .\" modification, are permitted provided that the following conditions
 | |
| .\" are met:
 | |
| .\"
 | |
| .\" 1. Redistributions of source code must retain the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer.
 | |
| .\"
 | |
| .\" 2. Redistributions in binary form must reproduce the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer in the
 | |
| .\"    documentation and/or other materials provided with the distribution.
 | |
| .\"
 | |
| .\" 3. Neither the name of the Institute nor the names of its contributors
 | |
| .\"    may be used to endorse or promote products derived from this software
 | |
| .\"    without specific prior written permission.
 | |
| .\"
 | |
| .\" THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
 | |
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | |
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | |
| .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
 | |
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | |
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 | |
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | |
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | |
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 | |
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | |
| .\" SUCH DAMAGE.
 | |
| .\"
 | |
| .\" $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 LIBRARY
 | |
| Kerberos 5 Library (libkrb5, -lkrb5)
 | |
| .Sh SYNOPSIS
 | |
| .In 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
 |