summaryrefslogtreecommitdiffstats
path: root/lib/libmd/mdX.3
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libmd/mdX.3')
-rw-r--r--lib/libmd/mdX.3116
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
OpenPOWER on IntegriCloud