git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3 10/12] Add a base implementation of SHA-256 support

From
Jakub Narebski <jnareb@gmail.com>
Date
Oct 27, 2018, 14:34 UTC
Message-ID
<86o9bf4fxg.fsf@gmail.com>
In-Reply-To
<20181022024342.489564-11-sandals@crustytoothpaste.net>
"brian m. carlson" <sandals@crustytoothpaste.net> writes:
> SHA-1 is weak and we need to transition to a new hash function.  For
> some time, we have referred to this new function as NewHash.  Recently,
> we decided to pick SHA-256 as NewHash.

Even if we have decided to not repeat the reasoning behind the need to switch away from SHA-1, and the choice of SHA-256 as NewHash, I think we should provide _references_ to those discussion (either to the mailing list via public-inbox, or via Git Rev News articles).

So the above paragraph would be:
  SHA-1 is weak and we need to transition to a new hash function [1].  For
  some time, we have referred to this new function as NewHash.  Recently,
  we decided to pick SHA-256 as NewHash [2].
  [1]: <some URL>
  [2]: <some URL>
Show 16 quoted lines
>
> Add a basic implementation of SHA-256 based off libtomcrypt, which is in
> the public domain.  Optimize it and restructure it to meet our coding
> standards.  Pull in the update and final functions from the SHA-1 block
> implementation, as we know these function correctly with all compilers.
> This implementation is slower than SHA-1, but more performant
> implementations will be introduced in future commits.
>
> Wire up SHA-256 in the list of hash algorithms, and add a test that the
> algorithm works correctly.
>
> Note that with this patch, it is still not possible to switch to using
> SHA-256 in Git.  Additional patches are needed to prepare the code to
> handle a larger hash algorithm and further test fixes are needed.
>
> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Best,
-- 
Jakub Narębski
Previous: brian m. carlsonNext: brian m. carlson
Message 16 of 17 in “Base SHA-256 implementation”
  1. 00/12 Base SHA-256 implementationbrian m. carlson, Oct 22, 2018
  2. 01/12 sha1-file: rename algorithm to "sha1"brian m. carlson, Oct 22, 2018
  3. 02/12 sha1-file: provide functions to look up hash algorithmsbrian m. carlson, Oct 22, 2018
  4. 03/12 hex: introduce functions to print arbitrary hashesbrian m. carlson, Oct 22, 2018
  5. 04/12 cache: make hashcmp and hasheq work with larger hashesbrian m. carlson, Oct 22, 2018
  6. 05/12 t: add basic tests for our SHA-1 implementationbrian m. carlson, Oct 22, 2018
  7. 06/12 t: make the sha1 test-tool helper genericbrian m. carlson, Oct 22, 2018
  8. 07/12 sha1-file: add a constant for hash block sizebrian m. carlson, Oct 22, 2018
  9. 09/12 commit-graph: convert to using the_hash_algobrian m. carlson, Oct 22, 2018
  10. Derrick StoleeOct 24, 2018
  11. 08/12 t/helper: add a test helper to compute hash speedbrian m. carlson, Oct 22, 2018
  12. 11/12 sha256: add an SHA-256 implementation using libgcryptbrian m. carlson, Oct 22, 2018
  13. 10/12 Add a base implementation of SHA-256 supportbrian m. carlson, Oct 22, 2018
  14. SZEDER GáborOct 22, 2018
  15. brian m. carlsonOct 23, 2018
  16. Jakub NarebskiOct 27, 2018
  17. 12/12 hash: add an SHA-256 implementation using OpenSSLbrian m. carlson, Oct 22, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.