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

Re: [PATCH v4 04/39] t3404: prepare 'short SHA-1 collision' tests for SHA-256

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Jul 26, 2020, 22:31 UTC
Message-ID
<CAPig+cS0Ap_47w+cqVipe8yD902YRO+AYStrn7mHOJQCnXuLcw@mail.gmail.com>
In-Reply-To
<20200726195424.626969-5-sandals@crustytoothpaste.net>

On Sun, Jul 26, 2020 at 3:55 PM brian m. carlson <sandals@crustytoothpaste.net> wrote:

Show 15 quoted lines
> The idea of the magic value "ac4f2ee" in this test is to make the
> reworded commit `collide2` have the same shortened ID as the commit
> `collide3`.
>
> To port the same idea to the SHA-256 version of Git, we therefore need
> another magic value that causes the same collision, but this time with
> the SHA-256 version of the commit IDs.
>
> In this patch, we add code guarded by `GIT_TEST_FIND_COLLIDER` to do
> exactly that. Essentially, a large number of integers is appended to the
> commit message "collide2" to find such a collision. To make it easier to
> find such a collision, we reduce the number of digits to 4.
>
> The `t/oid-info/oid` file now lists the values found in that way, and
> the test cases are modified to use those values.

This seems to be saying that t/oid-info/oid has been updated to contain the colliding OID's generated for this test, however, those OID's are actually specified inline in the test itself (which is the appropriate place for them since they are specific to this test). So, this paragraph/sentence probably ought to be dropped.

Show 16 quoted lines
> As the tests are no longer dependent on SHA-1, we also rename their
> titles to talk about "commit IDs" instead of "SHA-1s".
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
> ---
> diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
> @@ -1262,23 +1263,54 @@ test_expect_success SHA1 'short SHA-1 setup' '
> +test_expect_success 'short commit ID collide' '
> +       test_oid_cache <<-EOF &&
> +       # collision-related constants
> +       t3404_collision sha1:6bcd
> +       t3404_collision sha256:0161
> +       t3404_collider  sha1:ac4f2ee
> +       t3404_collider  sha256:16697
> +       EOF
Previous: brian m. carlsonNext: brian m. carlson
Message 7 of 58 in “SHA-256, part 3/3”
  1. 00/39 SHA-256, part 3/3brian m. carlson, Jul 26, 2020
  2. 01/39 t: make test-bloom initialize repositorybrian m. carlson, Jul 26, 2020
  3. 02/39 t1001: use $ZERO_OIDbrian m. carlson, Jul 26, 2020
  4. 07/39 t6301: make hash size independentbrian m. carlson, Jul 26, 2020
  5. 05/39 t6100: make hash size independentbrian m. carlson, Jul 26, 2020
  6. 04/39 t3404: prepare 'short SHA-1 collision' tests for SHA-256brian m. carlson, Jul 26, 2020
  7. Eric SunshineJul 26, 2020
  8. 15/39 t7405: make hash size independentbrian m. carlson, Jul 26, 2020
  9. 12/39 t7201: abstract away SHA-1-specific constantsbrian m. carlson, Jul 26, 2020
  10. Eric SunshineJul 26, 2020
  11. 19/39 t8003: make hash size independentbrian m. carlson, Jul 26, 2020
  12. 13/39 t7102: abstract away SHA-1-specific constantsbrian m. carlson, Jul 26, 2020
  13. 18/39 t8002: make hash size independentbrian m. carlson, Jul 26, 2020
  14. Eric SunshineJul 26, 2020
  15. 20/39 t8011: make hash size independentbrian m. carlson, Jul 26, 2020
  16. Eric SunshineJul 26, 2020
  17. 23/39 t9301: make hash size independentbrian m. carlson, Jul 26, 2020
  18. 29/39 http-fetch: set up git directory before parsing pack hashesbrian m. carlson, Jul 26, 2020
  19. Eric SunshineJul 26, 2020
  20. Eric SunshineJul 26, 2020
  21. 35/39 t: allow testing different hash algorithms via environmentbrian m. carlson, Jul 26, 2020
  22. 38/39 docs: add documentation for extensions.objectFormatbrian m. carlson, Jul 26, 2020
  23. Eric SunshineJul 26, 2020
  24. 37/39 ci: run tests with SHA-256brian m. carlson, Jul 26, 2020
  25. Eric SunshineJul 26, 2020
  26. 33/39 Enable SHA-256 support by defaultbrian m. carlson, Jul 26, 2020
  27. Eric SunshineJul 26, 2020
  28. 32/39 setup: add support for reading extensions.objectformatbrian m. carlson, Jul 26, 2020
  29. Eric SunshineJul 26, 2020
  30. brian m. carlsonJul 26, 2020
  31. 28/39 t0410: mark test with SHA1 prerequisitebrian m. carlson, Jul 26, 2020
  32. 34/39 t: add test_oid option to select hash algorithmbrian m. carlson, Jul 26, 2020
  33. 36/39 t: make SHA1 prerequisite depend on default hashbrian m. carlson, Jul 26, 2020
  34. Eric SunshineJul 26, 2020
  35. 26/39 t9700: make hash size independentbrian m. carlson, Jul 26, 2020
  36. 24/39 t9350: make hash size independentbrian m. carlson, Jul 26, 2020
  37. 25/39 t9500: ensure that algorithm info is preserved in configbrian m. carlson, Jul 26, 2020
  38. 17/39 t7508: use $ZERO_OID instead of hard-coded constantbrian m. carlson, Jul 26, 2020
  39. 06/39 t6101: make hash size independentbrian m. carlson, Jul 26, 2020
  40. 08/39 t6500: specify test values for SHA-256brian m. carlson, Jul 26, 2020
  41. 03/39 t3305: make hash agnosticbrian m. carlson, Jul 26, 2020
  42. 16/39 t7506: avoid checking for SHA-1-specific constantsbrian m. carlson, Jul 26, 2020
  43. 09/39 t6501: avoid hard-coded objectsbrian m. carlson, Jul 26, 2020
  44. 11/39 t7063: make hash size independentbrian m. carlson, Jul 26, 2020
  45. Eric SunshineJul 26, 2020
  46. 10/39 t7003: compute appropriate length constantbrian m. carlson, Jul 26, 2020
  47. 22/39 t9300: use $ZERO_OID instead of hard-coded object IDbrian m. carlson, Jul 26, 2020
  48. 14/39 t7400: make hash size independentbrian m. carlson, Jul 26, 2020
  49. 21/39 t9300: abstract away SHA-1-specific constantsbrian m. carlson, Jul 26, 2020
  50. Eric SunshineJul 26, 2020
  51. 27/39 t5308: make test work with SHA-256brian m. carlson, Jul 26, 2020
  52. 30/39 builtin/verify-pack: implement an --object-format optionbrian m. carlson, Jul 26, 2020
  53. Eric SunshineJul 26, 2020
  54. brian m. carlsonJul 26, 2020
  55. 31/39 bundle: add new version for use with SHA-256brian m. carlson, Jul 26, 2020
  56. Eric SunshineJul 26, 2020
  57. brian m. carlsonJul 26, 2020
  58. 39/39 t: remove test_oid_init in testsbrian m. carlson, Jul 26, 2020

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.