)]}'
{
  "commit": "b8f14b7d5357f7a3490bb66d3dc9d83671ae5908",
  "tree": "a973435e782652b6ee1562d200edfaa9d8f7f595",
  "parents": [
    "364a51ec3abeea5aa7a1b93020627baab1cd4753"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Fri Apr 06 19:58:46 2018 -0400"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "alangley@gmail.com",
    "time": "Tue Apr 24 16:14:57 2018 +0000"
  },
  "message": "Add dedicated scalar inversion code to p256-x86_64.c.\n\nThis is adapted from upstream\u0027s\neb7916960bf50f436593abe3d5f2e0592d291017.\n\nThis gives a 22% win for ECDSA signing. (Upstream cites 30-40%, but they\nare unnecessarily using BN_mod_exp_mont_consttime in their generic path.\nThe exponent is public. I expect part of their 30-40% is just offsetting\nthis.)\n\nDid 506000 ECDSA P-256 signing operations in 25044595us (20204.0 ops/sec)\nDid 170506 ECDSA P-256 verify operations in 25033567us (6811.1 ops/sec)\n\nDid 618000 ECDSA P-256 signing operations in 25031294us (24689.1 ops/sec)\nDid 182240 ECDSA P-256 verify operations in 25006918us (7287.6 ops/sec)\n\nMost of the performance win appears to be from the assembly operations\nand not the addition chain. I have a CL to graft the addition chain onto\nthe C implementation, but it did not show measurable improvement in\nECDSA verify. ECDSA sign gets 2-4% faster, but we\u0027re more concerned\nabout ECDSA verify in the OPENSSL_SMALL builds.\n\nChange-Id: Ide166f98b146c025f7f80ed7906336c16818540a\nReviewed-on: https://boringssl-review.googlesource.com/27593\nReviewed-by: Adam Langley \u003calangley@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "459f2249c605c21a32b547384763a2ffefc4f06a",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/p256-x86_64.c",
      "new_id": "d8d3a399123c71a01bc6f0da4b875f24f5386441",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/p256-x86_64.c"
    }
  ]
}
