 b6cbf7203b
			
		
	
	
		b6cbf7203b
		
	
	
	
	
		
			
			This patch imports the unmodified current version of NetBSD libc. The NetBSD includes are in /nbsd_include, while the libc code itself is split between lib/nbsd_libc and common/lib/libc.
		
			
				
	
	
		
			144 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\"	$NetBSD: mdX.3,v 1.10 2003/06/13 01:28:41 lukem Exp $
 | |
| .\"
 | |
| .\" ----------------------------------------------------------------------------
 | |
| .\" "THE BEER-WARE LICENSE" (Revision 42):
 | |
| .\" <phk@login.dkuug.dk> wrote this file.  As long as you retain this notice you
 | |
| .\" can do whatever you want with this stuff. If we meet some day, and you think
 | |
| .\" this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
 | |
| .\" ----------------------------------------------------------------------------
 | |
| .\"
 | |
| .\"	from FreeBSD Id: mdX.3,v 1.7 1996/10/22 16:28:56 phk Exp
 | |
| .\"
 | |
| .Dd June 13, 2003
 | |
| .Dt MDX 3
 | |
| .Os
 | |
| .Sh NAME
 | |
| .Nm MDXInit ,
 | |
| .Nm MDXUpdate ,
 | |
| .Nm MDXFinal ,
 | |
| .Nm MDXEnd ,
 | |
| .Nm MDXFile ,
 | |
| .Nm MDXData
 | |
| .Nd calculate the RSA Data Security, Inc.,
 | |
| .Dq MDX
 | |
| message digest
 | |
| .Sh LIBRARY
 | |
| .Lb libc
 | |
| .Sh SYNOPSIS
 | |
| .In sys/types.h
 | |
| .In mdX.h
 | |
| .Ft void
 | |
| .Fn MDXInit "MDX_CTX *context"
 | |
| .Ft void
 | |
| .Fn MDXUpdate "MDX_CTX *context" "const unsigned char *data" "unsigned int len"
 | |
| .Ft void
 | |
| .Fn MDXFinal "unsigned char digest[16]" "MDX_CTX *context"
 | |
| .Ft "char *"
 | |
| .Fn MDXEnd "MDX_CTX *context" "char *buf"
 | |
| .Ft "char *"
 | |
| .Fn MDXFile "const char *filename" "char *buf"
 | |
| .Ft "char *"
 | |
| .Fn MDXData "const unsigned char *data" "unsigned int len" "char *buf"
 | |
| .Sh DESCRIPTION
 | |
| The MDX functions calculate a 128-bit cryptographic checksum (digest)
 | |
| for any number of input bytes.
 | |
| A cryptographic checksum is a one-way
 | |
| hash-function, that is, you cannot find (except by exhaustive search)
 | |
| the input corresponding to a particular output.
 | |
| This net result is
 | |
| a ``fingerprint'' of the input-data, which doesn't disclose the actual
 | |
| input.
 | |
| .Pp
 | |
| MD2 is the slowest, MD4 is the fastest and MD5 is somewhere in the middle.
 | |
| MD2 can only be used for Privacy-Enhanced Mail.
 | |
| MD4 has been criticized for being too weak, so MD5 was developed in
 | |
| response as ``MD4 with safety-belts''.
 | |
| When in doubt, use MD5.
 | |
| .Pp
 | |
| The
 | |
| .Fn MDXInit ,
 | |
| .Fn MDXUpdate ,
 | |
| and
 | |
| .Fn MDXFinal
 | |
| functions are the core functions.
 | |
| Allocate an MDX_CTX, initialize it with
 | |
| .Fn MDXInit ,
 | |
| run over the data with
 | |
| .Fn MDXUpdate ,
 | |
| and finally extract the result using
 | |
| .Fn MDXFinal .
 | |
| .Pp
 | |
| .Fn MDXEnd
 | |
| is a wrapper for
 | |
| .Fn MDXFinal
 | |
| which converts the return value to a 33-character
 | |
| (including the terminating '\e0')
 | |
| .Tn ASCII
 | |
| string which represents the 128 bits in hexadecimal.
 | |
| .Pp
 | |
| .Fn MDXFile
 | |
| calculates the digest of a file, and uses
 | |
| .Fn MDXEnd
 | |
| to return the result.
 | |
| If the file cannot be opened, a null pointer is returned.
 | |
| .Fn MDXData
 | |
| calculates the digest of a chunk of data in memory, and uses
 | |
| .Fn MDXEnd
 | |
| to return the result.
 | |
| .Pp
 | |
| When using
 | |
| .Fn MDXEnd ,
 | |
| .Fn MDXFile ,
 | |
| or
 | |
| .Fn MDXData ,
 | |
| the
 | |
| .Ar buf
 | |
| argument can be a null pointer, in which case the returned string
 | |
| is allocated with
 | |
| .Xr malloc 3
 | |
| and subsequently must be explicitly deallocated using
 | |
| .Xr free 3
 | |
| after use.
 | |
| If the
 | |
| .Ar buf
 | |
| argument is non-null it must point to at least 33 characters of buffer space.
 | |
| .Sh SEE ALSO
 | |
| .Xr md2 3 ,
 | |
| .Xr md4 3 ,
 | |
| .Xr md5 3
 | |
| .Rs
 | |
| .%A B. Kaliski
 | |
| .%T The MD2 Message-Digest Algorithm
 | |
| .%O RFC 1319
 | |
| .Re
 | |
| .Rs
 | |
| .%A R. Rivest
 | |
| .%T The MD4 Message-Digest Algorithm
 | |
| .%O RFC 1186
 | |
| .Re
 | |
| .Rs
 | |
| .%A R. Rivest
 | |
| .%T The MD5 Message-Digest Algorithm
 | |
| .%O RFC 1321
 | |
| .Re
 | |
| .Rs
 | |
| .%A RSA Laboratories
 | |
| .%T Frequently Asked Questions About today's Cryptography
 | |
| .Re
 | |
| .Sh HISTORY
 | |
| These functions appeared in
 | |
| .Nx 1.3 .
 | |
| .Sh AUTHORS
 | |
| The original MDX routines were developed by
 | |
| .Tn RSA
 | |
| Data Security, Inc., and published in the above references.
 | |
| This code is derived directly from these implementations by Poul-Henning Kamp
 | |
| .Aq Li phk@login.dkuug.dk
 | |
| .Pp
 | |
| Phk ristede runen.
 | |
| .Sh BUGS
 | |
| No method is known to exist which finds two files having the same hash value,
 | |
| nor to find a file with a specific hash value.
 | |
| There is on the other hand no guarantee that such a method doesn't exist.
 | |
| .Sh COPYRIGHT
 |