diff options
author | wollman <wollman@FreeBSD.org> | 1999-02-26 18:41:47 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1999-02-26 18:41:47 +0000 |
commit | db4b7a727b6b70ad291fe1dd62d4ce4b5ac85fcb (patch) | |
tree | 1bdd07fdb8f0374d02ad2a36e84752eb4c9babe0 /lib/libmd/ripemd.3 | |
parent | 663aa4f0a8d13099acb684f0e521bc3698ffc0b8 (diff) | |
download | FreeBSD-src-db4b7a727b6b70ad291fe1dd62d4ce4b5ac85fcb.zip FreeBSD-src-db4b7a727b6b70ad291fe1dd62d4ce4b5ac85fcb.tar.gz |
Add Eric Young's RIPEMD160 implementation as well, in case SHA-1
should prove weak. Also fix a few problems with the SHA-1 build.
Diffstat (limited to 'lib/libmd/ripemd.3')
-rw-r--r-- | lib/libmd/ripemd.3 | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/lib/libmd/ripemd.3 b/lib/libmd/ripemd.3 new file mode 100644 index 0000000..7adc021 --- /dev/null +++ b/lib/libmd/ripemd.3 @@ -0,0 +1,110 @@ +.\" +.\" ---------------------------------------------------------------------------- +.\" "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: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp +.\" $Id: sha.3,v 1.1 1999/02/26 04:24:56 wollman Exp $ +.\" +.Dd February 26, 1999 +.Dt RIPEMD 3 +.Os FreeBSD 4.0 +.Sh NAME +.Nm RIPEMD160_Init , +.Nm RIPEMD160_Update , +.Nm RIPEMD160_Final , +.Nm RIPEMD160_End , +.Nm RIPEMD160_File , +.Nm RIPEMD160_Data +.Nd calculate the RIPEMD160 message digest +.Sh SYNOPSIS +.Fd #include <sys/types.h> +.Fd #include <ripemd.h> +.Ft void +.Fn RIPEMD160_Init "RIPEMD160_CTX *context" +.Ft void +.Fn RIPEMD160_Update "RIPEMD160_CTX *context" "const unsigned char *data" "unsigned int len" +.Ft void +.Fn RIPEMD160_Final "unsigned char digest[20]" "RIPEMD160_CTX *context" +.Ft "char *" +.Fn RIPEMD160_End "RIPEMD160_CTX *context" "char *buf" +.Ft "char *" +.Fn RIPEMD160_File "const char *filename" "char *buf" +.Ft "char *" +.Fn RIPEMD160_Data "const unsigned char *data" "unsigned int len" "char *buf" +.Sh DESCRIPTION +The +.Li RIPEMD160_ +functions calculate a 160-bit cryptographic checksum (digest) +for any number of input bytes. A cryptographic checksum is a one-way +hash function; that is, it is computationally impractical to find +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 +The +.Fn RIPEMD160_Init , +.Fn RIPEMD160_Update , +and +.Fn RIPEMD160_Final +functions are the core functions. Allocate an RIPEMD160_CTX, initialize it with +.Fn RIPEMD160_Init , +run over the data with +.Fn RIPEMD160_Update , +and finally extract the result using +.Fn RIPEMD160_Final . +.Pp +.Fn RIPEMD160_End +is a wrapper for +.Fn RIPEMD160_Final +which converts the return value to a 41-character +(including the terminating '\e0') +.Tn ASCII +string which represents the 160 bits in hexadecimal. +.Pp +.Fn RIPEMD160_File +calculates the digest of a file, and uses +.Fn RIPEMD160_End +to return the result. +If the file cannot be opened, a null pointer is returned. +.Fn RIPEMD160_Data +calculates the digest of a chunk of data in memory, and uses +.Fn RIPEMD160_End +to return the result. +.Pp +When using +.Fn RIPEMD160_End , +.Fn RIPEMD160_File , +or +.Fn RIPEMD160_Data , +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 41 characters of buffer space. +.Sh SEE ALSO +.Xr md2 3 , +.Xr md4 3 , +.Xr md5 3 , +.Xr sha 3 +.Sh AUTHORS +The core hash routines were implemented by Eric Young based on the +published +.Tn RIPEMD160 +specification. +.Sh HISTORY +These functions appeared in +.Fx 4.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. |