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: 190 microseconds per iteration md5 time: 236 microseconds per iteration rmd128 time: 337 microseconds per iteration rmd160 time: 525 microseconds per iteration sha1 time: 826 microseconds per iteration sha224 time: 1117 microseconds per iteration sha256 time: 1126 microseconds per iteration
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?
See also sha1, md4, md5, ripemd, cryptkit
[ Category Package, subset Tcllib | Category Cryptography ]