Version 10 of sha2

Updated 2005-02-24 03:28:15

There is no such thing as sha2. The title is intended to cover the family of hashing algorithms beyond sha1.

The sha1 secure hash algorithm produces a digest of 160 bits. This provides 80 bits of security against collisions given the birthday attack (ref). An update document from NIST [L1 ] specifies a new family of secure hashing algorithms with longer digest lengths, specifically SHA-256, SHA-384, and SHA-512. An additional update also specifies SHA-224 [L2 ].

tcllib now includes a pure-tcl implementation of SHA-224 and SHA-256. For comparison, here are some timing data for the pure-Tcl implementation of all the digests in tcllib

 md4    time: 248 microseconds per iteration using tcl
 md5    time: 275 microseconds per iteration using tcl
 sha1   time: 409 microseconds per iteration using tcl
 rmd128 time: 410 microseconds per iteration using tcl
 rmd160 time: 679 microseconds per iteration using tcl
 sha224 time: 880 microseconds per iteration using tcl
 sha256 time: 894 microseconds per iteration using tcl

RLH - I have the latest ActiveTcl 8.4.9 and I do not see anything about SHA-256/384/512 in the docs. Were those added after the 8.4.9 release? addendum: I installed 8.5 and no sign in the docs about the other SHA stuff.

PT 22-Feb-2005: When I say 'now' above I actually mean today - 22 Feb 2005. You can grab the CVS sources from

  cvs -d:pserver:[email protected]:/cvsroot/tcllib co tcllib/modules/sha1

until we create a new release.


See also sha1, md4, md5, ripemd, cryptkit

[ Category Package, subset Tcllib | Category Cryptography ]