From 402fb45c743b736fa033b4b04881f6d1098581fd Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Fri, 9 Feb 2024 17:20:31 +0200 Subject: [PATCH] Fix SHA-256 authors. 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) --- AUTHORS | 6 ++---- src/liblzma/check/sha256.c | 14 ++++---------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/AUTHORS b/AUTHORS index 69bbfc3e..c4fbdc0b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -9,10 +9,8 @@ Authors of XZ Utils specifically the LZMA SDK . Without this code, XZ Utils wouldn't exist. - The SHA-256 implementation in liblzma is based on the code found from - 7-Zip , which has a modified version of the SHA-256 - code found from Crypto++ . 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 . Some scripts have been adapted from gzip. The original versions were written by Jean-loup Gailly, Charles Levert, and Paul Eggert. diff --git a/src/liblzma/check/sha256.c b/src/liblzma/check/sha256.c index 6feb3425..9247fa32 100644 --- a/src/liblzma/check/sha256.c +++ b/src/liblzma/check/sha256.c @@ -2,18 +2,12 @@ // /// \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++ . -// 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.