Looking for the latest version? Download fehashmac-1.2.0.tar.gz (4.9 MB)
Home / fehashmac
Name Modified Size Downloads / Week Status
Parent folder
Totals: 9 Items   22.1 kB 2
1.2.0 2012-01-30 2 weekly downloads
1.1.7 2011-09-01 2 weekly downloads
1.1.6 2011-04-14 1 weekly downloads
1.1.5 2011-04-13 1 weekly downloads
1.1.0 2011-03-31 4 weekly downloads
1.0.4 2011-03-31 1 weekly downloads
1.0.3 2009-02-17 1 weekly downloads
1.0.2 2009-01-26 2 weekly downloads
README 2012-01-30 22.1 kB 22 weekly downloads
FEHASHMAC Version 1.2.0 28.01.2012 Download The latest and all earlier releases can be downloaded from http://fehashmac.sourceforge.net 0. New Features 28.01.2012: Multiple algorithms (including HMACs) can be specified simultaneously. The data files are read only once, and all hashes are calculated in parallel. As an option, algorithm "all" expands to the list of all known algorithms, which are thus calculated in parallel for each data file or string. Likewise, algorithm "hmac-all" expands to all known HMAC algorithms. The results of the --check option and the test cases are nicely summarized. 29.03.2011: Support for the sha512-224 sha512-256 algorithms 14.04.2011: HMAC test vectors added for MD5, SHA1, RMD128, RMD160. List of algorithms is now sorted alphabetically. 13.04.2011: Support for all SHA-3 finalists: BLAKE, GROESTL, JH, KECCAK, SKEIN for 224. 256. 384, 512 bits hash length, SKEIN also for 1024 bits. They all support bitwise operation, bitwise test vectors are included (taken from the SHA-3 submissions). HMAC support upgraded to FIPS PUB 198-1 (2008), HMAC test vectors added for sha{224, 256, 384, 512}. 1. Purpose FEHASHMAC is a collection of publicly known hash algorithms integrated into a command-line utility. FEHASHMAC also contains a set of known test vectors and results for each algorithm such that the correct implementation for each hardware platform and compiler version can directly be verified. FEHASHMAC supports bitwise hash calculation for algorithms with available bitwise test vectors. Currently this applies to the SHA algorithms: sha1, sha224, sha256, sha384, sha512, and to the SHA-3 finalists. The so-called Gillogly bitwise input has only been tested for sha1, but is also implemented in the SHA-2 hashes. Bitwise hash calculation is also supported in sha512-224, sha512-256, whirl, but there are no bitwise test vectors available. FEHASHMAC can also calculate hashed message authentication codes (HMAC) as specified in RFC 2104 and extended to arbitrary-length keys in FIPS PUB 198-1. The HMAC key can be specified as an ASCII string or as a hex string, and HMACs can be calculated for files, strings, and hex strings. To simplify usage, symbolic links with the algorithm name allow to call fehashmac without the -a option. A prepended hmac- will automatically enable HMAC mode. Hashes and HMACs of files can be verified with the --check option. Supported Algorithms (42) in 13 families: blake224 blake256 blake384 blake512 gost groestl224 groestl256 groestl384 groestl512 jh224 jh256 jh384 jh512 keccak224 keccak256 keccak384 keccak512 lash160 lash256 lash384 lash512 md2 md4 md5 rmd128 rmd160 rmd256 rmd320 sha1 sha224 sha256 sha384 sha512 sha512-224 sha512-256 skein1024 skein224 skein256 skein384 skein512 tiger2 whirl 2. Usage a. Hash of a string $ fehashmac -a md5 -s abc md5 ("abc") = 900150983cd24fb0d6963f7d28e17f72 or shorter: $ md5 -s abc b. Hash of a hex string $ fehashmac -a md5 -M 0123456789abcdef a1cd1d1fc6491068d91007283ed84489 c. Hash of one or more files $ fehashmac -a sha1 /etc/passwd /etc/group sha1 (/etc/passwd) = 1c08dd1906a9ee06ae2337080c5b276b3bab7c5b sha1 (/etc/group) = 0dd1c9c4cff81880e4c45512bb74b63104cd05cd or shorter: $ sha1 /etc/passwd /etc/group d. Verify file hashes $ fehashmac -c some.sha1 /etc/passwd: OK /etc/group: OK where some.sha1 contains the output of example c. e. HMAC of a string, key is a string $ fehashmac -a rmd256 --hmac -K Boss -s 'Yes,we can!' key (hmac) = Boss hmac-rmd256 ("Yes,we can!") = 2b2a8cf6cfd56b54d3a80a2067edff63d14ed06ef3c26b1ac972bba224274c89 or shorter: $ rmd256 --hmac -K Boss -s 'Yes,we can!' f. HMAC of one or more files, key is a hex string $ fehashmac -a tiger2 --hmac --hexkey=fedcba9876543210 /etc/passwd /etc/group hexkey (hmac) = fedcba9876543210 hmac-tiger2 (/etc/passwd) = 23426b2923cc1f7ab441a8a438ade4b0282a1a2bed3bc04f hmac-tiger2 (/etc/group) = 62cd6d1107c91b747fc5abc03c0b7dcef38ecdbb3a82d54e g. Verify file HMACs $ fehashmac --check=some.hmac-tiger2 hexkey (hmac) = fedcba9876543210 /etc/passwd: OK /etc/group: OK where some.hmac-tiger2 contains the output of example f. h. Bitwise hash $ fehashmac -a sha1 --hexstring=98 --bits=5 29826b003b906e660eff4027ce98af3531ac75ba i. Multiple hashes and/or HMACs Two hashes of some files $ fehashmac -a md5,sha256 /etc/passwd /etc/group md5 (/etc/passwd) = 06553b0854d55cef3d997f47365a66a4 sha256 (/etc/passwd) = 5e377471cd4d021a30033bcb1a1182661910b8adbd683abf180320716423b04b md5 (/etc/group) = fe0fa8b3d59225b237176a84eff22921 sha256 (/etc/group) = abde26f607c7b9543e1c819a76240ceb1da69134bc1511efd3debd74c5e55517 Hashes and HMACs of some files $ fehashmac -a md5,sha256 -a hmac-md5 -a hmac-sha256 --key="Jefe" /etc/passwd /etc/group key (hmac) = Jefe md5 (/etc/passwd) = 06553b0854d55cef3d997f47365a66a4 sha256 (/etc/passwd) = 5e377471cd4d021a30033bcb1a1182661910b8adbd683abf180320716423b04b hmac-md5 (/etc/passwd) = 3dca1895da180b660806c7a6a638afd8 hmac-sha256 (/etc/passwd) = 7231a5258a4ac533a9c009e2795d2f5628468cd4b2bceb73dc5f638000144d68 md5 (/etc/group) = fe0fa8b3d59225b237176a84eff22921 sha256 (/etc/group) = abde26f607c7b9543e1c819a76240ceb1da69134bc1511efd3debd74c5e55517 hmac-md5 (/etc/group) = 51be231554e0fd1a46608a58a238f7ce hmac-sha256 (/etc/group) = 29a76a35a254d739675c50f2dafabea65154734a66aee032034aa5a1609c7e65 All hash algorithms applied to one file: $ fehashmac -a all /etc/passwd blake224 (/etc/passwd) = 9288344ffc310050f8dae03995879347573fd85cba6acee709f8d5bb blake256 (/etc/passwd) = feefa070c9e5149c228b15c6f8cd203bf8c53a985e50e38cd89d567986b2c38c blake384 (/etc/passwd) = 71e0359a501cc9e65f146eaf42f4256dcbc7a02dbb17cd5eacf553617572f3b31ed55ab4737750fe756a378043f9ac71 blake512 (/etc/passwd) = ad38338d8f1f17bf5daaeecf833080ab2c6ee7581cc2f964698f54a124bebd7cdff54bb737a7975c2c563de8b30be89a94f33e07e19b1016a09b2ba0d5fa2d47 gost (/etc/passwd) = 48f72bccd950a321fc42783c8b94f464f71f1f8324cd7cadcda4dd219be1fc59 groestl224 (/etc/passwd) = 47860a75acdd95aae392dacccef1cb98432dcd6ab1c88d934eb805a8 groestl256 (/etc/passwd) = a7a38772e293d156297c6d3574b235c08c28050b0cf00a7d00e2a593b570495f groestl384 (/etc/passwd) = 25418b2848588b48065fff24a8b44db341eb2f505ba53bb349a07d321fc9b2ac08b29a16b1f52c4ddb183c23984891a3 groestl512 (/etc/passwd) = a64594924247b057325a3213c30d68dc372e8d9931777202f2bf102aef71cc0bd130f022cbc222970343852f5186be43b3507705c1b4571e92921b5d90f5c208 jh224 (/etc/passwd) = f87fe9f8574a1533a9be5ff8dc121bd93780804b1f8fc304fd7e4b35 jh256 (/etc/passwd) = 2c41b7614ff2c86ad743f445d44280804cc73701d2801cb5d6c5ebaacbc400fa jh384 (/etc/passwd) = 73fb7f6997c3aff35fa0e6e999d211a0d171534b698fc2f1918bee1ebc2e618e3151f3c5c70a8666e6dabfef80c97403 jh512 (/etc/passwd) = 9bd7e15587e881708f62e6a588a5b7ef7ddd291f05a7a07a6e95db28bb315f68227bbd1a66cb5fdcc1ff83c9baa49d7189d079176280574b4b2df75c30c0f2ce keccak224 (/etc/passwd) = a9893abed5290fe2ad6ec11e9facc5c2615a64ab3de4a6ce941b7796 keccak256 (/etc/passwd) = a15fa9a5226579f36a7beffc15e5add83276085877dc38ca4179879a9b3ff54e keccak384 (/etc/passwd) = 409f03f286ffa7a563a565a408ecb88978d9f1087631f1fe4ca5c7e8de7cd177f7eab8f02da119ee44e80d27a1f8d991 keccak512 (/etc/passwd) = 7bb3f5b035a96af7f7d7fcad228de55f571bb1bb32cdc9c4bdd9274da77c06678806bf220a73c28aa3707014df94eac18c48c134090b007323af3e54ee64616a lash160 (/etc/passwd) = da0432af36883afd5e524479df819ae3b8bda64c lash256 (/etc/passwd) = f419f17655773ae9fd787cb04c192f6ae2f485418710d952fa898f9b75377445 lash384 (/etc/passwd) = 66c225c6c2f30da8cff0557186ba0469b088d948c19adf7fe4edcad9a27f9d87ce7b0526a59ca48aaec63b22c8907524 lash512 (/etc/passwd) = 7e763f62a7997f99986e87e974c7ee6b9eb52748a655e84f37d80167b435cce25e04facfa9a2186a45d5ab1d8b327961ee9f9aec03a7b82edfb6abda5aa656ac md2 (/etc/passwd) = d2930200835f0b748b72699b5edad333 md4 (/etc/passwd) = 8e267a3b9a2777dac72a8756e50c9a7b md5 (/etc/passwd) = 06553b0854d55cef3d997f47365a66a4 rmd128 (/etc/passwd) = 36195a8d17b5ee6c3c70b52f896c0ed8 rmd160 (/etc/passwd) = 451f5e8d593934802df2f395586db686af20f688 rmd256 (/etc/passwd) = fb836adec01e5d73702f63e9566e64e62d0b36e09bc8ee5340289a770a71d423 rmd320 (/etc/passwd) = 277789723cb78fe8797180f5e4eecb358612ce2811d556aec2357325ac25dc67734736f43f746bb1 sha1 (/etc/passwd) = a70acfd439e3e74616da472f61a66cafeaefd0fb sha224 (/etc/passwd) = 792e0a255fd12bf9a7cdcab9efb26c73b8727a88eef0ea73b3e6b308 sha256 (/etc/passwd) = 5e377471cd4d021a30033bcb1a1182661910b8adbd683abf180320716423b04b sha384 (/etc/passwd) = 040813675fb88af0842d115626f0b383ce2a2d7afc66ad42416a73ec51b91fd8b314c6c6e3390e5235323f18872cba27 sha512 (/etc/passwd) = b44eb9c60cda503327281c9bc9747fabaee29bfc8aed618aa660b961bc311208b24c5fc81a920016baaa0468b5ba255449f19b67ee614249f6fd923be83f3881 sha512-224 (/etc/passwd) = ac27e884a707170e6102b30886334b4ee957ad620f5fd3006195d0bf sha512-256 (/etc/passwd) = 11694d9b9097e769e530f16d5cd51b84f61d200d5c125a63d1013df67985d5e4 skein1024 (/etc/passwd) = 7ecc832fa8fd9b7abd2c81eded55325fff7d1f50a07645666dee44f105ad5f9e0e9c2a4ef064520f287d4f4d155e36e4c48f2404eb092fd4e0045a119bbed565fe22f7aed33ec889cc89296f9a2ebad6318f3220117d165f944a3536ebecfaf0eb3a7934e01b67836cbb044a152c8e3b7cbbc89557b49e87217f8b15a1168aa5 skein224 (/etc/passwd) = 2b59f82774c40d80eb2fd21a935deb23686da7861e63ade0aceb50e1 skein256 (/etc/passwd) = 8b3b8a0f7287eb25dc9fc38eb795e33d0e6f3072170e0029567f7827f4d9d5fd skein384 (/etc/passwd) = 453bb25d6094e31366bed67ef1add45f872a2ba1047344fb3d06becce52de9c0335b0278200a71975e7ebf7a941bae90 skein512 (/etc/passwd) = 3cfca1e35096467171e5b6f61945b314996d912ff1a026cd619ba3e1359d66f20c62ddd16573aa4d3bc4c9b57877b07a9851d2a0a72fcb4bdda8ac332f754da7 tiger2 (/etc/passwd) = e9e8a3f808f6fb2517b33ebe3f89e2ce5c27481cf13d83c8 whirl (/etc/passwd) = f805b7f8d61de1447928a07a1feeb9e197c2ef0bb7a557dceed0a9c767bc37f97f0d100b84e430f74b53df2e0042b4e92fff2e05e24aab2d4fc85e236f7f2271 j. Test Suite sha1 has tests for byte and bit strings $ sha1 --test sha1 Test Suite: sha1 ("abc") = a9993e364706816aba3e25717850c26c9cd0d89d OK sha1 ("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") = 84983e441c3bd26ebaae4aa1f95129e5e54670f1 OK sha1 ("a") (repeated 1000000 times) = 34aa973cd4c4daa4f61eeb2bdbad27316534016f OK Tests passed: 3, tests failed: 0. sha1 Bitwise Test Suite: sha1 ("bitstring=110#148|11") = ce7387ae577337be54ea94f82c842e8be76bc3e1 OK sha1 ("bitstring=110#149") = de244f063142cb2f4c903b7f7660577f9e0d8791 OK sha1 ("bitstring=110#149|1") = a3d2982427ae39c8920ca5f499d6c2bd71ebf03c OK sha1 ("bitstring=110#149|11") = 351aab58ff93cf12af7d5a584cfc8f7d81023d10 OK sha1 ("bitstring=110#170") = 996386921e480d4e2955e7275df3522ce8f5ab6e OK sha1 ("bitstring=110#170|1") = bb5f4ad48913f51b157eb985a5c2034b8243b01b OK sha1 ("bitstring=110#170|11") = 9e92c5542237b957ba2244e8141fdb66dec730a5 OK sha1 ("bitstring=110#171") = 2103e454da4491f4e32dd425a3341dc9c2a90848 OK sha1 ("bitstring=011#490") = b4b18049de405027528cd9e74b2ec540d4e6f06b OK sha1 ("bitstring=011#490|0") = 34c63356b308742720ab966914eb0fc926e4294b OK sha1 ("bitstring=011#490|01") = 75face1802b9f84f326368ab06e73e0502e9ea34 OK sha1 ("bitstring=011#491") = 7c2c3d62f6aec28d94cdf93f02e739e7490698a1 OK sha1 ("hexstring=98, bits=5") = 29826b003b906e660eff4027ce98af3531ac75ba OK sha1 ("hexstring=5e, bits=8") = 5e6f80a34a9798cafc6a5db96cc57ba4c4db59c2 OK sha1 ("hexstring=49b2aec2 594bbe3a 3b117542 d94ac880, bits=123") = 6239781e03729919c01955b3ffa8acb60b988340 OK sha1 ("hexstring=9a7dfdf1 ecead06e d646aa55 fe757146, bits=128") = 82abff6605dbe1c17def12a394fa22a82b544a35 OK sha1 ("hexstring=65f93299 5ba4ce2c b1b4a2e7 1ae70220 aacec896 2dd4499cbd7c887a 94eaaa10 1ea5aabc 529b4e7e 43665a5a f2cd03fe678ea6a5 005bba3b 082204c2 8b9109f4 69dac92a aab3aa7c11a1b32a e0, bits=611") = 8c5b2a5ddae5a97fc7f9d85661c672adbf7933d4 OK sha1 ("hexstring=f78f9214 1bcd170a e89b4fba 15a1d59f 3fd84d22 3c9251bdacbbae61 d05ed115 a06a7ce1 17b7beea d24421de d9c32592bd57edea e39c39fa 1fe8946a 84d0cf1f 7beead17 13e2e0959897347f 67c80b04 00c20981 5d6b10a6 83836fd5 562a56cab1a28e81 b6576654 631cf165 66b86e3b 33a108b0 5307c00aff14a768 ed735060 6a0f85e6 a91d396f 5b5cbe57 7f9b38807c7d523d 6d792f6e bc24a4ec f2b3a427 cdbbfb, bits=1304") = cb0082c8f197d260991ba6a460e76e202bad27b3 OK Tests passed: 18, tests failed: 0. md5 is one of the few algorithms that have HMAC test cases. $ md5 --test md5 Test Suite: md5 ("") = d41d8cd98f00b204e9800998ecf8427e OK md5 ("a") = 0cc175b9c0f1b6a831c399e269772661 OK md5 ("abc") = 900150983cd24fb0d6963f7d28e17f72 OK md5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0 OK md5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b OK md5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f OK md5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a OK Tests passed: 7, tests failed: 0. md5 HMAC Test Suite: hexkey (hmac) = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b hmac-md5 ("Hi There") = 9294727a3638bb1c13f48ef8158bfc9d OK key (hmac) = Jefe hmac-md5 ("what do ya want for nothing?") = 750c783e6ab0b503eaa86e310a5db738 OK hexkey (hmac) = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa hmac-md5 ("dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd") = 56be34521d144c88dbb8c733f0e8b3f6 OK Tests passed: 3, tests failed: 0. Note: all test cases for all algorithms can be executed using $ fehahsmac -a all --test 3. Help Information $ fehashmac --help Usage: fehashmac [ options ] [ file ..] -or- fehashmac -c [file] -or- fehashmac -t Generic Hash and HMAC Program fehashmac V1.2.0 28.01.2012 Harald von Fellenberg (hvf at hvf dot ch) Supports HMAC (RFC 2104, FIPS PUB 198-1) for all hash algorithms. Multiple hashes can be calculated simultaneously, files are read only once. Supported hash algorithms are (42): blake224 blake256 blake384 blake512 gost groestl224 groestl256 groestl384 groestl512 jh224 jh256 jh384 jh512 keccak224 keccak256 keccak384 keccak512 lash160 lash256 lash384 lash512 md2 md4 md5 rmd128 rmd160 rmd256 rmd320 sha1 sha224 sha256 sha384 sha512 sha512-224 sha512-256 skein1024 skein224 skein256 skein384 skein512 tiger2 whirl The corresponding HMAC algorithms are (42): hmac-blake224 hmac-blake256 hmac-blake384 hmac-blake512 hmac-gost hmac-groestl224 hmac-groestl256 hmac-groestl384 hmac-groestl512 hmac-jh224 hmac-jh256 hmac-jh384 hmac-jh512 hmac-keccak224 hmac-keccak256 hmac-keccak384 hmac-keccak512 hmac-lash160 hmac-lash256 hmac-lash384 hmac-lash512 hmac-md2 hmac-md4 hmac-md5 hmac-rmd128 hmac-rmd160 hmac-rmd256 hmac-rmd320 hmac-sha1 hmac-sha224 hmac-sha256 hmac-sha384 hmac-sha512 hmac-sha512-224 hmac-sha512-256 hmac-skein1024 hmac-skein224 hmac-skein256 hmac-skein384 hmac-skein512 hmac-tiger2 hmac-whirl Options and arguments: -a algo[,algo,...] - choose algorithm(s), see list below --algorithm=algo[,algo,...] - choose algorithm(s), see list below these two arguments can be specified multiple times the files to be hashed are only read once. -a hmac-algo[,...] - choose HMAC algorithm with hash algo. Hash and HMAC algos may be freely mixed. -a all - choose all hash algorithms -a hmac-all - choose all HMAC algorithms -s string - digests string for one algorithm --string=string - digests string for one algorithm --bitstring=bitstring - digests bitstring (Jim Gillogly format, bbb#nnn|bb..) --hexstring=hexstring - digests hexstring (like -M, --M=) -t - runs time trial for all algorithms --time - runs time trial for all algorithms -x - runs test script for one algorithm --test - runs test script for one algorithm file ... - digests file(s) for one algorithm (none) - digests standard input for one algorithm -c [file] - checks digests read from file or stdin --check[=file] - checks digests read from file or stdin --bits=nn - message length in number of bits (for SHA only) -M hexstring - message in hexadecimal --M=hexstring - message in hexadecimal -h - print this text --help - print this text --list - print list of algorithms, one per line HMAC options: -K keystring - HMAC key as ASCII string --K=keystring - HMAC key as ASCII string --hexkey=hexkeystring - HMAC key in hexadecimal Algorithm Hash Size Block Size Bitwise HMAC test (bits) (bytes) Operation Vectors blake224 224 64 yes blake256 256 64 yes blake384 384 128 yes blake512 512 128 yes gost 256 32 no groestl224 224 64 yes groestl256 256 64 yes groestl384 384 128 yes groestl512 512 128 yes jh224 224 64 yes jh256 256 64 yes jh384 384 64 yes jh512 512 64 yes keccak224 224 144 yes keccak256 256 136 yes keccak384 384 104 yes keccak512 512 72 yes lash160 160 40 no lash256 256 64 no lash384 384 96 no lash512 512 128 no md2 128 16 no md4 128 64 no md5 128 64 no yes rmd128 128 64 no yes rmd160 160 64 no yes rmd256 256 64 no rmd320 320 64 no sha1 160 64 yes yes sha224 224 64 yes yes sha256 256 64 yes yes sha384 384 128 yes yes sha512 512 128 yes yes sha512-224 224 128 yes, no testvectors sha512-256 256 128 yes, no testvectors skein1024 1024 128 yes skein224 224 32 yes skein256 256 32 yes skein384 384 64 yes skein512 512 64 yes tiger2 192 64 no whirl 512 64 yes, no testvectors References: blake224 : BLAKE homepage http://www.131002.net/blake/ blake256 : BLAKE homepage http://www.131002.net/blake/ blake384 : BLAKE homepage http://www.131002.net/blake/ blake512 : BLAKE homepage http://www.131002.net/blake/ gost : GOST R 34.11-94, the Russian equivalent of SHA. http://www.autochthonous.org/crypto/gosthash.tar.gz groestl224: GROESTL homepage http://www.groestl.info/ groestl256: GROESTL homepage http://www.groestl.info/ groestl384: GROESTL homepage http://www.groestl.info/ groestl512: GROESTL homepage http://www.groestl.info/ jh224 : JH homepage http://www3.ntu.edu.sg/home/wuhj/research/jh/ jh256 : JH homepage http://www3.ntu.edu.sg/home/wuhj/research/jh/ jh384 : JH homepage http://www3.ntu.edu.sg/home/wuhj/research/jh/ jh512 : JH homepage http://www3.ntu.edu.sg/home/wuhj/research/jh/ keccak224 : KECCAK homepage http://keccak.noekeon.org/ keccak256 : KECCAK homepage http://keccak.noekeon.org/ keccak384 : KECCAK homepage http://keccak.noekeon.org/ keccak512 : KECCAK homepage http://keccak.noekeon.org/ lash160 : http://csrc.nist.gov/pki/HashWorkshop/2006/Papers/SAARINEN_lash4-1_ORIG.pdf lash256 : http://csrc.nist.gov/pki/HashWorkshop/2006/Papers/SAARINEN_lash4-1_ORIG.pdf lash384 : http://csrc.nist.gov/pki/HashWorkshop/2006/Papers/SAARINEN_lash4-1_ORIG.pdf lash512 : http://csrc.nist.gov/pki/HashWorkshop/2006/Papers/SAARINEN_lash4-1_ORIG.pdf md2 : RFC1319, http://www.ietf.org/rfc/rfc1319.txt md4 : RFC1320, http://www.ietf.org/rfc/rfc1320.txt md5 : RFC1321, http://www.ietf.org/rfc/rfc1321.txt rmd128 : http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html rmd160 : http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html rmd256 : http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html rmd320 : http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html sha1 : FIPS PUB 180-3, http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf sha224 : FIPS PUB 180-3, http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf sha256 : FIPS PUB 180-3, http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf sha384 : FIPS PUB 180-3, http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf sha512 : FIPS PUB 180-3, http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf sha512-224: DRAFT FIPS PUB 180-4, http://csrc.nist.gov/publications/drafts/fips180-4/Draft-FIPS180-4_Feb2011.pdf sha512-256: DRAFT FIPS PUB 180-4, http://csrc.nist.gov/publications/drafts/fips180-4/Draft-FIPS180-4_Feb2011.pdf skein1024 : SKEIN homepage http://www.skein-hash.info/ skein224 : SKEIN homepage http://www.skein-hash.info/ skein256 : SKEIN homepage http://www.skein-hash.info/ skein384 : SKEIN homepage http://www.skein-hash.info/ skein512 : SKEIN homepage http://www.skein-hash.info/ tiger2 : http://www.cs.technion.ac.il/~biham/Reports/Tiger/ This code implements the Tiger 2 padding (like MD5) whirl : http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html
Source: README, updated 2012-01-30