The initial commit
5d018dc03549c1ee4958364712fb0c94e1bf2741
in 2007 had a comment in sha256.c that the code is based on
Crypto++ Library 5.5.1. In 2009 the Authors list in sha256.c
and the AUTHORS file was updated with information that the
code had come from Crypto++ but via 7-Zip. I know I had viewed
7-Zip's SHA-256 code but back then the C code has been identical
enough with Crypto++, so I don't why I thought the author info
would need that extra step via 7-Zip for this single file.
Another error is that I had mixed sha.* and shacal2.* files
when checking for author info in Crypto++. The shacal2.* files
aren't related to liblzma's sha256.c and thus Kevin Springle's
code in Crypto++ isn't either.
(cherry picked from commit
76946dc4336c831fe2cc26696a035d807dd3cf13)
(cherry picked from commit
402fb45c743b736fa033b4b04881f6d1098581fd)
specifically the LZMA SDK <https://7-zip.org/sdk.html>. Without
this code, XZ Utils wouldn't exist.
- The SHA-256 implementation in liblzma is based on the code found from
- 7-Zip <https://7-zip.org/>, which has a modified version of the SHA-256
- code found from Crypto++ <https://www.cryptopp.com/>. The SHA-256 code
- in Crypto++ was written by Kevin Springle and Wei Dai.
+ The SHA-256 implementation in liblzma is based on code written by
+ Wei Dai in Crypto++ Library <https://www.cryptopp.com/>.
Some scripts have been adapted from gzip. The original versions
were written by Jean-loup Gailly, Charles Levert, and Paul Eggert.
//
/// \file sha256.c
/// \brief SHA-256
-///
-/// \todo Crypto++ has x86 ASM optimizations. They use SSE so if they
-/// are imported to liblzma, SSE instructions need to be used
-/// conditionally to keep the code working on older boxes.
//
-// This code is based on the code found from 7-Zip, which has a modified
-// version of the SHA-256 found from Crypto++ <https://www.cryptopp.com/>.
-// The code was modified a little to fit into liblzma.
+// The C code is based on the public domain SHA-256 code found from
+// Crypto++ Library 5.5.1 released in 2007: https://www.cryptopp.com/
+// A few minor tweaks have been made in liblzma.
//
-// Authors: Kevin Springle
-// Wei Dai
-// Igor Pavlov
+// Authors: Wei Dai
// Lasse Collin
//
// This file has been put into the public domain.