]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/doc/hash.txt
Daemon: Let daemon actions be numbered from 1
[libucw.git] / ucw / doc / hash.txt
index bcdbb7e389ba19c6bddaa533a2e496ff69eebac3..788a382c3730c202df7581c31ccc9d3acdac170d 100644 (file)
@@ -1,19 +1,21 @@
 Hashing routines
 ================
 
-Libucw contains two cryptographic hash algorithms: MD5 (RFC 1321) and SHA1 (RFC
-3174). A SHA1-HMAC (RFC 2104) message authentication is available.
+LibUCW contains implementations of several hash algorithms.
 
-There are non-cryptographic hashes as well.
+<<crypto,Cryptographic hashes>>:
 
-<<crypto,Cryptographic ones>>:
-
-- <<md5,MD5>>
-- <<sha1,SHA1>>
-- <<sha1:sha1_hmac(),SHA1_HMAC>>
+- <<md5,MD5>> (RFC 1321)
+- <<sha1,SHA1>> (RFC 3174)
+- <<hash:sha1_hmac(),SHA1_HMAC message authentication>> (RFC 2104)
 - <<usage,Common usage>>
 
-<<nocrypto,Non-cryptographic ones>>:
+<<checksum,Checksums>>:
+
+- <<crypto:adler,Adler-32>>
+- <<crc,CRC>>
+
+<<nocrypto,Non-cryptographic hashes>>:
 
 - <<strhash,String & block hashes>>
 - <<inthash,Integer hashes>>
@@ -63,10 +65,37 @@ SHA1 has the same interface, so the same two ways apply.
 
 See also <<string:mem_to_hex()>>.
 
+[[checksum]]
+Checksums
+---------
+
+Their purpose is checking against random data changes, hardware
+failures and alike. They are not to be used against aimed attacks.
+
+Adler-32
+~~~~~~~~
+
+The <<compress:adler,Adler-32 checksum>> is documented in the
+<<compress:,compression capter>>.
+
+CRC-32
+~~~~~~
+
+32-bit Cyclic Redundancy Check with the polynomial suggested by
+Castagnoli et al.: Optimization of Cyclic Redundancy-Check Codes
+with 24 and 32 Parity Bits", IEEE Trans. on Communications, Vol. 41,
+No. 6, 1993.
+
+The interface is similar to the one we use for the cryptographic hashes.
+
+!!ucw/crc.h
+
 [[nocrypto]]
 Non-cryptographic hashes
 ------------------------
 
+They are usually used to identify values in hash tables.
+
 All these functions expect to be moduled by the size of a hash table.
 The size should be a prime number (it gives better distribution).