)]}'
{
  "commit": "be5be0a4f5ebf00da151a06860deb11a0ffb609f",
  "tree": "9193350447c2a6b910a7a5a64c9d38ad5eb93a55",
  "parents": [
    "78b48c1f2a973ff0a4ed18b9618d533101bd4144"
  ],
  "author": {
    "name": "Andres Erbsen",
    "email": "andreser@google.com",
    "time": "Tue Jun 17 20:45:32 2025 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Jun 30 13:33:16 2025 -0700"
  },
  "message": "Import Bedrock code for P-256 point double, add\n\nThis code is currently only used in the p256.cc.inc (not nistz), but it\nuses formulas similar to the nistz implementation. In particular, point\ndoubling is implemented using coordinate halving instead of multiplying\ndenominators by powers of two.\n\nThis change also removes the affine-addition optimization, counteracting\nsome of the efficiency gains but still resulting in an overall speedup\nfor client-side usage. This removal is intended to be temporary. The\nverified affine-addition function uses a slightly different (nistz-like)\ncalling convention. Later work will unify the p256 and p256-nistz\nfiles behind the new calling convention and restore the optimization\nfor both small and large tables.\n\nBenchmarks on Zen 4:\n\n../main/build-small/bssl.json\nDid 14400 ECDH P-256 operations in 1000289us (14395.8 ops/sec)\nDid 37000 ECDSA P-256 signing operations in 1009883us (36637.9 ops/sec)\nDid 16000 ECDSA P-256 verify operations in 1003734us (15940.5 ops/sec)\n\nbuild-small/bssl.json\nDid 15886 ECDH P-256 operations in 1000894us (15871.8 ops/sec) [+10.3%]\nDid 36000 ECDSA P-256 signing operations in 1017983us (35364.0 ops/sec) [-3.5%]\nDid 18000 ECDSA P-256 verify operations in 1045215us (17221.3 ops/sec) [+8.0%]\n\nP-256 ECDH is still ~40% slower in the small build than full build.\nEstimating with double \u003d 0.6 add, table size alone would yield ~30%.\n\nChange-Id: Ide90296f9e14bf543df4e397f088602942c0b658\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/79787\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nAuto-Submit: Andres Erbsen \u003candreser@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "152a9915ee2dbb08449d82ff489754e03b9f4350",
      "old_mode": 33188,
      "old_path": "build.json",
      "new_id": "39ed1199eba02ded0c5b16d41f308e0e76eadb3b",
      "new_mode": 33188,
      "new_path": "build.json"
    },
    {
      "type": "modify",
      "old_id": "6a5f2d3a5abdbfbe40ebf3241193659a797dbc0a",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/p256.cc.inc",
      "new_id": "6a8abcdbfb645ff3e303d9cea5fab7c468e346e1",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/p256.cc.inc"
    },
    {
      "type": "modify",
      "old_id": "88dc81e22cb6ac020ee0dccea07bca9d9ed059ae",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/p256_test.cc",
      "new_id": "3ebe85488015119380686f16f97972d8e153ee08",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/p256_test.cc"
    },
    {
      "type": "modify",
      "old_id": "9f976f0c374adb54227832b66dba44d7f2a581d5",
      "old_mode": 33188,
      "old_path": "gen/sources.bzl",
      "new_id": "57bd2175a95b9b90f9dcba7193aed22d19bc0685",
      "new_mode": 33188,
      "new_path": "gen/sources.bzl"
    },
    {
      "type": "modify",
      "old_id": "978ada96b18c45bf25696be1f1badca716946be8",
      "old_mode": 33188,
      "old_path": "gen/sources.cmake",
      "new_id": "5adf810003a778e4015cba4a684bbb9a3bb5fdb9",
      "new_mode": 33188,
      "new_path": "gen/sources.cmake"
    },
    {
      "type": "modify",
      "old_id": "4a7947c167e48b1d329a26635508b63dd539d397",
      "old_mode": 33188,
      "old_path": "gen/sources.gni",
      "new_id": "37761d85002d2e2910cf2e07f9b5e96909af25be",
      "new_mode": 33188,
      "new_path": "gen/sources.gni"
    },
    {
      "type": "modify",
      "old_id": "6284d04bf4deefe393e161d2aded4ac646c08606",
      "old_mode": 33188,
      "old_path": "gen/sources.json",
      "new_id": "da10b20a7aa2b8a5a8fff5fc6d301fb5c6cb8ff5",
      "new_mode": 33188,
      "new_path": "gen/sources.json"
    },
    {
      "type": "modify",
      "old_id": "944b9dc32f9ac6807bb326aadbb3fe2ba221d759",
      "old_mode": 33188,
      "old_path": "gen/sources.mk",
      "new_id": "2d9339c5fd30b00cc57ffbde0b75372a0f1027dc",
      "new_mode": 33188,
      "new_path": "gen/sources.mk"
    },
    {
      "type": "modify",
      "old_id": "4595ba67ab705f2363ddb400d97ac891c115a2db",
      "old_mode": 33188,
      "old_path": "third_party/fiat/README.md",
      "new_id": "3f981553b1041e27c267f14e919aaf3dc15c6d13",
      "new_mode": 33188,
      "new_path": "third_party/fiat/README.md"
    },
    {
      "type": "modify",
      "old_id": "fbfe90f9dc188e20c60b38770b3a14b70b746060",
      "old_mode": 33188,
      "old_path": "third_party/fiat/bedrock_unverified_platform.c.inc",
      "new_id": "89fe7d05d4be54f01a8d783ae915d2e6383feadc",
      "new_mode": 33188,
      "new_path": "third_party/fiat/bedrock_unverified_platform.c.inc"
    },
    {
      "type": "modify",
      "old_id": "21f7a98d032cfc0dd5c1c883cf42ef31b7966b77",
      "old_mode": 33188,
      "old_path": "third_party/fiat/p256_64.h",
      "new_id": "437066a910be73c19076fcf8b250b80233dc82ab",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_64.h"
    },
    {
      "type": "modify",
      "old_id": "0e568679224b2b077a07f9a7f43659d4396b44af",
      "old_mode": 33188,
      "old_path": "third_party/fiat/p256_64_msvc.h",
      "new_id": "aff43d3599e34ab3150388e895e0858b100f79da",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_64_msvc.h"
    },
    {
      "type": "delete",
      "old_id": "fb8c3de2ca5b96998f7b88fe79bea69935766039",
      "old_mode": 33188,
      "old_path": "third_party/fiat/p256_bedrock.c.inc",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bbd25de846ec7c6ce60be6f7f81901cc428e1f3c",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_field.c.inc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4fe7c1a3806d2be1dedafafbc161cc81cfe8bdf5",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_field_32.br.c.inc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "756d23734982dbcbbdee522ad96be084611eda0a",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_field_64.br.c.inc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "84c873a4eb91a408d6e9895946c5f81a915883a4",
      "new_mode": 33188,
      "new_path": "third_party/fiat/p256_point.br.c.inc"
    }
  ]
}
