131 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\"
 | |
| .\" ----------------------------------------------------------------------------
 | |
| .\" "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
 | |
| .\" ----------------------------------------------------------------------------
 | |
| .\"
 | |
| .\" 	$OpenBSD: md5.3,v 1.10 2007/05/31 19:19:29 jmc Exp $
 | |
| .\"
 | |
| .Dd $Mdocdate: May 31 2007 $
 | |
| .Dt MD5 3
 | |
| .Os
 | |
| .Sh NAME
 | |
| .Nm MD5Init ,
 | |
| .Nm MD5Update ,
 | |
| .Nm MD5Final ,
 | |
| .Nm MD5End ,
 | |
| .Nm MD5File ,
 | |
| .Nm MD5Data
 | |
| .Nd calculate the RSA Data Security, Inc., ``MD5'' message digest
 | |
| .Sh SYNOPSIS
 | |
| .Fd #include <sys/types.h>
 | |
| .Fd #include <minix/md5.h>
 | |
| .Ft void
 | |
| .Fn MD5Init "MD5_CTX *context"
 | |
| .Ft void
 | |
| .Fn MD5Update "MD5_CTX *context" "const u_int8_t *data" "size_t len"
 | |
| .Ft void
 | |
| .Fn MD5Final "u_int8_t digest[MD5_DIGEST_LENGTH]" "MD5_CTX *context"
 | |
| .Ft "char *"
 | |
| .Fn MD5End "MD5_CTX *context" "char *buf"
 | |
| .Ft "char *"
 | |
| .Fn MD5File "const char *filename" "char *buf"
 | |
| .Ft "char *"
 | |
| .Fn MD5Data "const u_int8_t *data" "size_t len" "char *buf"
 | |
| .Sh DESCRIPTION
 | |
| The MD5 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
 | |
| .Dq fingerprint
 | |
| of the input-data, which doesn't disclose the actual input.
 | |
| .Pp
 | |
| The
 | |
| .Fn MD5Init ,
 | |
| .Fn MD5Update ,
 | |
| and
 | |
| .Fn MD5Final
 | |
| functions are the core functions.
 | |
| Allocate an MD5_CTX, initialize it with
 | |
| .Fn MD5Init ,
 | |
| run over the data with
 | |
| .Fn MD5Update ,
 | |
| and finally extract the result using
 | |
| .Fn MD5Final .
 | |
| .Pp
 | |
| .Fn MD5End
 | |
| is a wrapper for
 | |
| .Fn MD5Final
 | |
| which converts the return value to an MD5_DIGEST_STRING_LENGTH-character
 | |
| (including the terminating '\e0')
 | |
| .Tn ASCII
 | |
| string which represents the 128 bits in hexadecimal.
 | |
| .Pp
 | |
| .Fn MD5File
 | |
| calculates the digest of a file, and uses
 | |
| .Fn MD5End
 | |
| to return the result.
 | |
| If the file cannot be opened, a null pointer is returned.
 | |
| .Pp
 | |
| .Fn MD5Data
 | |
| calculates the digest of a chunk of data in memory, and uses
 | |
| .Fn MD5End
 | |
| to return the result.
 | |
| .Pp
 | |
| When using
 | |
| .Fn MD5End ,
 | |
| .Fn MD5File ,
 | |
| or
 | |
| .Fn MD5Data ,
 | |
| 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 MD5_DIGEST_STRING_LENGTH
 | |
| characters of buffer space.
 | |
| .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
 | |
| .%O \&<http://www.rsa.com/rsalabs/faq/>
 | |
| .Re
 | |
| .Rs
 | |
| .%A H. Dobbertin
 | |
| .%T Alf Swindles Ann
 | |
| .%J CryptoBytes
 | |
| .%N 1(3):5
 | |
| .%D 1995
 | |
| .Re
 | |
| .Rs
 | |
| .%A MJ. B. Robshaw
 | |
| .%T On Recent Results for MD4 and MD5
 | |
| .%J RSA Laboratories Bulletin
 | |
| .%N 4
 | |
| .%D November 12, 1996
 | |
| .Re
 | |
| .Rs
 | |
| .%A Hans Dobbertin
 | |
| .%T Cryptanalysis of MD5 Compress
 | |
| .Re
 | |
| .Sh BUGS
 | |
| Collisions have been found for the full version of MD5.
 | 
