diff options
author | phk <phk@FreeBSD.org> | 1994-07-24 03:29:56 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1994-07-24 03:29:56 +0000 |
commit | 8a6db7e780b8a8d557ccb4cdc93063a3e97615e4 (patch) | |
tree | b7f9b24556c4de513f7a823cae043af2e8d5a72d /lib/libmd/mdX.3 | |
download | FreeBSD-src-8a6db7e780b8a8d557ccb4cdc93063a3e97615e4.zip FreeBSD-src-8a6db7e780b8a8d557ccb4cdc93063a3e97615e4.tar.gz |
Reviewed by: phk
Imported libmd. This library contains MD2, MD4 and MD5.
These three boggers pop up all over the place all of the time, so I
decided we needed a library with them. In general they are used for
security checks, so if you use them you want to link them static.
Diffstat (limited to 'lib/libmd/mdX.3')
-rw-r--r-- | lib/libmd/mdX.3 | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/lib/libmd/mdX.3 b/lib/libmd/mdX.3 new file mode 100644 index 0000000..41c0efb --- /dev/null +++ b/lib/libmd/mdX.3 @@ -0,0 +1,116 @@ +.\" +.\" ---------------------------------------------------------------------------- +.\" "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 +.\" ---------------------------------------------------------------------------- +.\" +.\" $FreeBSD$ +.\" +.Dd July 14, 1994 +.Dt MDX 3 +.Os FreeBSD 2 +.Sh NAME +.Nm MDXInit , +.Nm MDXUpdate , +.Nm MDXFinal , +.Nm MDXEnd , +.Nm MDXFile , +.Nm MDXData . +.Nd calculate ``MDX'' cryptographic checksum +.Sh SYNOPSIS +.Fd #include <mdX.h> +.Ft void +.Fn MDXInit "MDX_CTX *context" +.Ft void +.Fn MDXUpdate "MDX_CTX *context" "unsigned char *data" "unsigned int len" +.Ft void +.Fn MDXFinal "unsigned char digest[16]" "MDX_CTX *context" +.Ft "char *" +.Fn MDXEnd "MDX_CTX *context" +.Ft "char *" +.Fn MDXFile "char *filename" +.Ft "char *" +.Fn MDXData "unsigned char *data" "unsigned int len" +.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. + +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 critizised for being to weak, and MD5 was developed as a +response to this as ``MD4 with safety-belts''. If in doubt, use MD5. + +The +.Fn MDXInit , +.Fn MDXUpdate +and +.Fn MDXFinal +functions are the core functions. Allocate a MDX_CTX, initialize it with +.Fn MDXInit +run over the data with +.Fn MDXUpdate +and finally extract the result using +.Fn MDXFinal . + +.Fn MDXEnd +is identical to +.Fn MDXFinal , +except the return is in ASCII-HEX in a +string allocated with +.Xr malloc 3 . + +.Fn MDXFile +calculates the digest of a file, and returns the ASCII-HEX result. +In case the file cannot be opened, NULL is returned. + +.Fn MDXData +calculates the digest of a chunk of data in memory, and returns the ASCII-HEX +result. + +When using +.Fn MDXEnd , +.Fn MDXFile +and +.Fn MDXData , +the returned string must be explicitly deallocated using +.Xr free 3 +after use. +.Sh SEE ALSO +.Xr md2 3 , +.Xr md4 3 , +.Xr md5 3 +.Pp +ISOC +Internet Request For Comments +.%T RFC1319 , +.%T RFC1320 +and +.%T RFC1321 . +.Pp +RSA Laboratories +.%T Frequently Asked Questions About today's Cryptography . +.Sh AUTHOR +The MD2, MD4 and MD5 is designed and written by Ron Rivest and published in +the above RFC's, including a reference implementation of each algorithm. + +This code is derived directly from these implementations by Poul-Henning Kamp +<phk@login.dkuug.dk> + +Phk ristede runen. +.Sh HISTORY +These functions appeared in +.Em FreeBSD-2.0 +.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. + +MD2 can only be used for Privacy Enhanced Mail. +Use MD4 or MD5 if that isn't what you're doing. +.Sh COPYRIGHT |