159191Skris=pod
259191Skris
359191Skris=head1 NAME
459191Skris
559191SkrisRIPEMD160, RIPEMD160_Init, RIPEMD160_Update, RIPEMD160_Final -
659191SkrisRIPEMD-160 hash function
759191Skris
859191Skris=head1 SYNOPSIS
959191Skris
1059191Skris #include <openssl/ripemd.h>
1159191Skris
1259191Skris unsigned char *RIPEMD160(const unsigned char *d, unsigned long n,
1359191Skris                  unsigned char *md);
1459191Skris
15167612Ssimon int RIPEMD160_Init(RIPEMD160_CTX *c);
16167612Ssimon int RIPEMD160_Update(RIPEMD_CTX *c, const void *data,
1759191Skris                  unsigned long len);
18167612Ssimon int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c);
1959191Skris
2059191Skris=head1 DESCRIPTION
2159191Skris
2259191SkrisRIPEMD-160 is a cryptographic hash function with a
2359191Skris160 bit output.
2459191Skris
2559191SkrisRIPEMD160() computes the RIPEMD-160 message digest of the B<n>
2659191Skrisbytes at B<d> and places it in B<md> (which must have space for
2759191SkrisRIPEMD160_DIGEST_LENGTH == 20 bytes of output). If B<md> is NULL, the digest
2859191Skrisis placed in a static array.
2959191Skris
3059191SkrisThe following functions may be used if the message is not completely
3159191Skrisstored in memory:
3259191Skris
3359191SkrisRIPEMD160_Init() initializes a B<RIPEMD160_CTX> structure.
3459191Skris
3559191SkrisRIPEMD160_Update() can be called repeatedly with chunks of the message to
3659191Skrisbe hashed (B<len> bytes at B<data>).
3759191Skris
3859191SkrisRIPEMD160_Final() places the message digest in B<md>, which must have
3959191Skrisspace for RIPEMD160_DIGEST_LENGTH == 20 bytes of output, and erases
4059191Skristhe B<RIPEMD160_CTX>.
4159191Skris
4259191SkrisApplications should use the higher level functions
4359191SkrisL<EVP_DigestInit(3)|EVP_DigestInit(3)> etc. instead of calling the
4459191Skrishash functions directly.
4559191Skris
4659191Skris=head1 RETURN VALUES
4759191Skris
4859191SkrisRIPEMD160() returns a pointer to the hash value. 
4959191Skris
50167612SsimonRIPEMD160_Init(), RIPEMD160_Update() and RIPEMD160_Final() return 1 for
51167612Ssimonsuccess, 0 otherwise.
5259191Skris
5359191Skris=head1 CONFORMING TO
5459191Skris
5559191SkrisISO/IEC 10118-3 (draft) (??)
5659191Skris
5759191Skris=head1 SEE ALSO
5859191Skris
5959191SkrisL<sha(3)|sha(3)>, L<hmac(3)|hmac(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)>
6059191Skris
6159191Skris=head1 HISTORY
6259191Skris
6359191SkrisRIPEMD160(), RIPEMD160_Init(), RIPEMD160_Update() and
6459191SkrisRIPEMD160_Final() are available since SSLeay 0.9.0.
6559191Skris
6659191Skris=cut
67