ripemd(3)

NAME

RIPEMD160_Init, RIPEMD160_Update, RIPEMD160_Final,

RIPEMD160_End

RIPEMD160_File, RIPEMD160_FileChunk, RIPEMD160_Data - calcu
late the
RIPEMD160 message digest

LIBRARY

library ``libmd''

SYNOPSIS

#include <sys/types.h>
#include <ripemd.h>
void
RIPEMD160_Init(RIPEMD160_CTX *context);
void
RIPEMD160_Update(RIPEMD160_CTX *context, const unsigned char
*data,
        unsigned int len);
void
RIPEMD160_Final(unsigned   char   digest[20],  RIPEMD160_CTX
*context);
char *
RIPEMD160_End(RIPEMD160_CTX *context, char *buf);
char *
RIPEMD160_File(const char *filename, char *buf);
char *
RIPEMD160_FileChunk(const char *filename, char  *buf,  off_t
offset,
        off_t length);
char *
RIPEMD160_Data(const  unsigned char *data, unsigned int len,
char *buf);

DESCRIPTION

The 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 im
practical to find
the input corresponding to a particular output. This net
result is a
``fingerprint'' of the input-data, which does not disclose
the actual
input.
The RIPEMD160_Init(), RIPEMD160_Update(), and

RIPEMD160_Final

are the core functions. Allocate an RIPEMD160_CTX, initial
ize it with
RIPEMD160_Init(), run over the data with RIPEMD160_Update(),
and finally
extract the result using RIPEMD160_Final().
The RIPEMD160_End() function is a wrapper for

RIPEMD160_Final

converts the return value to a 41-character (including the
terminating
' ') ASCII string which represents the 160 bits in hexadeci
mal.
The RIPEMD160_File() function calculates the digest of a
file, and uses
RIPEMD160_End() to return the result. If the file cannot be
opened, a
null pointer is returned. The RIPEMD160_FileChunk() func
tion is similar
to RIPEMD160_File(), but it only calculates the digest over
a byte-range
of the file specified, starting at offset and spanning
length bytes. If
the length parameter is specified as 0, or more than the
length of the
remaining part of the file, RIPEMD160_FileChunk() calculates
the digest
from offset to the end of file. The RIPEMD160_Data() func
tion calculates
the digest of a chunk of data in memory, and uses

RIPEMD160_End

return the result.

When using RIPEMD160_End(), RIPEMD160_File(), or

RIPEMD160_Data

buf argument can be a null pointer, in which case the re
turned string is
allocated with malloc(3) and subsequently must be explicitly
deallocated
using free(3) after use. If the buf argument is non-null it
must point
to at least 41 characters of buffer space.

SEE ALSO

md2(3), md4(3), md5(3), sha(3)

HISTORY

These functions appeared in FreeBSD 4.0.

AUTHORS

The core hash routines were implemented by Eric Young based
on the published RIPEMD160 specification.

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 does not exist.
BSD February 26, 1999
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout