From 4facdbb5fa9d791fc72dc78b9c3512ea1384df33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulf=20M=C3=B6ller?= Date: Sun, 6 Feb 2000 23:26:31 +0000 Subject: [PATCH] Refer to EVP_DigestInit() in the hash function descriptions. --- doc/crypto/BN_set_bit.pod | 2 ++ doc/crypto/EVP_DigestInit.pod | 47 ++++++++++++++++++++--------------- doc/crypto/md5.pod | 5 +++- doc/crypto/mdc2.pod | 5 +++- doc/crypto/ripemd.pod | 5 +++- doc/crypto/sha.pod | 5 +++- 6 files changed, 45 insertions(+), 24 deletions(-) diff --git a/doc/crypto/BN_set_bit.pod b/doc/crypto/BN_set_bit.pod index bc581e701f..4b7aa2aa1a 100644 --- a/doc/crypto/BN_set_bit.pod +++ b/doc/crypto/BN_set_bit.pod @@ -44,6 +44,8 @@ BN_rshift() shifts B right by B bits and places the result in B (C). BN_rshift1() shifts B right by one and places the result in B (C). +For the shift functions, B and B may be the same variable. + =head1 RETURN VALUES BN_is_bit_set() returns 1 if the bit is set, 0 otherwise. diff --git a/doc/crypto/EVP_DigestInit.pod b/doc/crypto/EVP_DigestInit.pod index 337ffb7930..b21e1013b3 100644 --- a/doc/crypto/EVP_DigestInit.pod +++ b/doc/crypto/EVP_DigestInit.pod @@ -43,60 +43,60 @@ EVP_DigestInit, EVP_DigestUpdate, EVP_DigestFinal - EVP digest routines The EVP digest routines are a high level interface to message digests. -B initialises a digest context B to use a digest +EVP_DigestInit() initialises a digest context B to use a digest B: this will typically be supplied by a function such as -B. +EVP_sha1(). -B hashes B bytes of data at B into the +EVP_DigestUpdate() hashes B bytes of data at B into the digest context B. This funtion can be called several times on the same B to hash additional data. -B retrieves the digest value from B and places +EVP_DigestFinal() retrieves the digest value from B and places it in B. If the B parameter is not NULL then the number of bytes of data written (i.e. the length of the digest) will be written to the integer at B, at most B bytes will be written. -After calling B no additional calls to B -can be made, but B can be called to initialiase a new +After calling EVP_DigestFinal() no additional calls to EVP_DigestUpdate() +can be made, but EVP_DigestInit() can be called to initialiase a new digest operation. -B can be used to copy the message digest state from +EVP_MD_CTX_copy() can be used to copy the message digest state from B to B. This is useful if large amounts of data are to be hashed which only differ in the last few bytes. -B and B return the size of the message digest +EVP_MD_size() and EVP_MD_CTX_size() return the size of the message digest when passed an B or an B structure, i.e. the size of the hash. -B and B return the block size of the +EVP_MD_block_size() and EVP_MD_CTX_block_size() return the block size of the message digest when passed an B or an B structure. -B and B return the NID of the OBJECT IDENTIFIER +EVP_MD_type() and EVP_MD_CTX_type() return the NID of the OBJECT IDENTIFIER representing the given message digest when passed an B structure. -For example B returns B. This function is +For example EVP_MD_type(EVP_sha1()) returns B. This function is normally used when setting ASN1 OIDs. -B return the B structure corresponding to the passed +EVP_MD_CTX_type() returns the B structure corresponding to the passed B. -B returns the NID of the public key signing algorithm associated -with this digest. For example B is associated with RSA so this will +EVP_MD_pkey_type() returns the NID of the public key signing algorithm associated +with this digest. For example EVP_sha1() is associated with RSA so this will return B. This "link" between digests and signature algorithms may not be retained in future versions of OpenSSL. -B, B, B, B, B and B +EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_mdc2() and EVP_ripemd160() return B structures for the MD2, MD5, SHA, SHA1, MDC2 and RIPEMD160 digest algorithms respectively. The associated signature algorithm is RSA in each case. -B and B return B structures for SHA and SHA1 digest +EVP_dss() and EVP_dss1() return B structures for SHA and SHA1 digest algorithms but using DSS (DSA) for the signature algorithm. -B is a "null" message digest that does nothing: i.e. the hash it +EVP_md_null() is a "null" message digest that does nothing: i.e. the hash it returns is of zero length. -B, B and B +EVP_get_digestbyname(), EVP_get_digestbynid() and EVP_get_digestbyobj() return an B structure when passed a digest name, a digest NID or and ASN1_OBJECT structure respectively. The digest table must be initialised -using, for example, B for these functions to work. +using, for example, OpenSSL_add_all_digests() for these functions to work. =head1 RETURN VALUES @@ -178,7 +178,7 @@ internal digest operations will never fail some future hardware based operations might. The link between digests and signing algorithms results in a situation where -B must be used with RSA and B must be used with DSS +EVP_sha1() must be used with RSA and EVP_dss1() must be used with DSS even though they are identical digests. The size of an B structure is determined at compile time: this results @@ -186,6 +186,13 @@ in code that must be recompiled if the size of B increases. =head1 SEE ALSO +L, L, L, +L, L, L, +L + =head1 HISTORY +EVP_DigestInit(), EVP_DigestUpdate() and EVP_DigestFinal() are +available in all versions of SSLeay and OpenSSL. + =cut diff --git a/doc/crypto/md5.pod b/doc/crypto/md5.pod index 2a039a0df7..81c014feaa 100644 --- a/doc/crypto/md5.pod +++ b/doc/crypto/md5.pod @@ -51,6 +51,9 @@ for MD2_DIGEST_LENGTH == 16 bytes of output, and erases the B. MD5_Init(), MD5_Update() and MD5_Final() are analogous using an B structure. +Applications should use the higher level functions EVP_DigestInit(3) etc. +instead of calling the hash functions directly. + =head1 NOTE MD2 and MD5 are recommended only for compatibility with existing @@ -70,7 +73,7 @@ RFC 1319, RFC 1321 =head1 SEE ALSO -L, L +L, L, L =head1 HISTORY diff --git a/doc/crypto/mdc2.pod b/doc/crypto/mdc2.pod index 1deeb7f582..d991a05972 100644 --- a/doc/crypto/mdc2.pod +++ b/doc/crypto/mdc2.pod @@ -44,13 +44,16 @@ MDC2() returns a pointer to the hash value. MDC2_Init(), MDC2_Update() and MDC2_Final() do not return values. +Applications should use the higher level functions EVP_DigestInit(3) etc. +instead of calling the hash functions directly. + =head1 CONFORMING TO ISO/IEC 10118-2, with DES =head1 SEE ALSO -L +L, L =head1 HISTORY diff --git a/doc/crypto/ripemd.pod b/doc/crypto/ripemd.pod index 4a6a7e1b4a..d6ad561598 100644 --- a/doc/crypto/ripemd.pod +++ b/doc/crypto/ripemd.pod @@ -39,6 +39,9 @@ RIPEMD160_Final() places the message digest in B, which must have space for RIPEMD160_DIGEST_LENGTH == 20 bytes of output, and erases the B. +Applications should use the higher level functions EVP_DigestInit(3) etc. +instead of calling the hash functions directly. + =head1 RETURN VALUES RIPEMD160() returns a pointer to the hash value. @@ -52,7 +55,7 @@ ISO/IEC 10118-3 (draft) (??) =head1 SEE ALSO -L, L +L, L, L =head1 HISTORY diff --git a/doc/crypto/sha.pod b/doc/crypto/sha.pod index 39ceb5c679..c164c47608 100644 --- a/doc/crypto/sha.pod +++ b/doc/crypto/sha.pod @@ -37,6 +37,9 @@ be hashed (B bytes at B). SHA1_Final() places the message digest in B, which must have space for SHA_DIGEST_LENGTH == 20 bytes of output, and erases the B. +Applications should use the higher level functions EVP_DigestInit(3) etc. +instead of calling the hash functions directly. + The predecessor of SHA-1, SHA, is also implemented, but it should be used only when backward compatibility is required. @@ -56,7 +59,7 @@ ANSI X9.30 =head1 SEE ALSO -L, L +L, L, L =head1 HISTORY -- GitLab