openssl/doc/crypto/mdc2.pod
Rich Salz c7497f34fb RT1665,2300: Crypto doc cleanups
RT1665: aes documentation.

Paul Green wrote a nice aes.pod file.
But we now encourage the EVP interface.
So I took his RT item and used it as impetus to add
the AES modes to EVP_EncryptInit.pod
I also noticed that rc4.pod has spurious references to some other
cipher pages, so I removed them.

RT2300: Clean up MD history (merged into RT1665)

Put HISTORY section only in EVP_DigestInit.pod. Also add words
to discourage use of older cipher-specific API, and remove SEE ALSO
links that point to them.

Make sure digest pages have a NOTE that says use EVP_DigestInit.

Review feedback:
More cleanup in EVP_EncryptInit.pod
Fixed SEE ALSO links in ripemd160.pod, sha.pod, mdc2.pod, blowfish.pod,
rc4.d, and des.pod.  Re-order sections in des.pod for consistency

Reviewed-by: Matt Caswell <matt@openssl.org>
2014-08-28 18:55:50 -04:00

59 lines
1.5 KiB
Text

=pod
=head1 NAME
MDC2, MDC2_Init, MDC2_Update, MDC2_Final - MDC2 hash function
=head1 SYNOPSIS
#include <openssl/mdc2.h>
unsigned char *MDC2(const unsigned char *d, unsigned long n,
unsigned char *md);
int MDC2_Init(MDC2_CTX *c);
int MDC2_Update(MDC2_CTX *c, const unsigned char *data,
unsigned long len);
int MDC2_Final(unsigned char *md, MDC2_CTX *c);
=head1 DESCRIPTION
MDC2 is a method to construct hash functions with 128 bit output from
block ciphers. These functions are an implementation of MDC2 with
DES.
MDC2() computes the MDC2 message digest of the B<n>
bytes at B<d> and places it in B<md> (which must have space for
MDC2_DIGEST_LENGTH == 16 bytes of output). If B<md> is NULL, the digest
is placed in a static array.
The following functions may be used if the message is not completely
stored in memory:
MDC2_Init() initializes a B<MDC2_CTX> structure.
MDC2_Update() can be called repeatedly with chunks of the message to
be hashed (B<len> bytes at B<data>).
MDC2_Final() places the message digest in B<md>, which must have space
for MDC2_DIGEST_LENGTH == 16 bytes of output, and erases the B<MDC2_CTX>.
Applications should use the higher level functions
L<EVP_DigestInit(3)|EVP_DigestInit(3)> etc. instead of calling the
hash functions directly.
=head1 RETURN VALUES
MDC2() returns a pointer to the hash value.
MDC2_Init(), MDC2_Update() and MDC2_Final() return 1 for success, 0 otherwise.
=head1 CONFORMING TO
ISO/IEC 10118-2, with DES
=head1 SEE ALSO
L<EVP_DigestInit(3)|EVP_DigestInit(3)>
=cut