)]}'
{
  "commit": "5f43b12d52e94b50e481bae2ccb74ab95904123d",
  "tree": "830eb90f8ef0a921c92a1ab69fb6264517382e5a",
  "parents": [
    "ce1665b825f06ab0cd43f8250e3dca402f82a591"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Apr 29 17:57:20 2020 -0400"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Thu May 07 17:10:36 2020 +0000"
  },
  "message": "Use a (mostly) constant-time multi-scalar mult for Trust Tokens.\n\nWith multi-scalar multiplication, we\u0027re stuck pondering the doubling\ncase. But it\u0027s fine for trust tokens, because the points are independent\nand the scalars are uniformly generated and not under attacker control.\nThat means the probability of hitting a double is negligible. (It\u0027s\nequivalent to accidentally finding the discrete log of two independent\npoints.)\n\nBefore:\nDid 306 TrustToken-Exp0-Batch1 generate_key operations in 2000725us (152.9 ops/sec)\nDid 1428 TrustToken-Exp0-Batch1 begin_issuance operations in 2080325us (686.4 ops/sec)\nDid 105 TrustToken-Exp0-Batch1 issue operations in 2070658us (50.7 ops/sec)\nDid 88 TrustToken-Exp0-Batch1 finish_issuance operations in 2023864us (43.5 ops/sec)\nDid 12283000 TrustToken-Exp0-Batch1 begin_redemption operations in 2000063us (6141306.5 ops/sec)\nDid 315 TrustToken-Exp0-Batch1 redeem operations in 2084451us (151.1 ops/sec)\nDid 35000 TrustToken-Exp0-Batch1 finish_redemption operations in 2024388us (17289.2 ops/sec)\nDid 315 TrustToken-Exp0-Batch10 generate_key operations in 2045481us (154.0 ops/sec)\nDid 138 TrustToken-Exp0-Batch10 begin_issuance operations in 2022158us (68.2 ops/sec)\nDid 10 TrustToken-Exp0-Batch10 issue operations in 2148640us (4.7 ops/sec)\nDid 8 TrustToken-Exp0-Batch10 finish_issuance operations in 2047452us (3.9 ops/sec)\nDid 12167000 TrustToken-Exp0-Batch10 begin_redemption operations in 2000118us (6083141.1 ops/sec)\nDid 315 TrustToken-Exp0-Batch10 redeem operations in 2084853us (151.1 ops/sec)\nDid 35000 TrustToken-Exp0-Batch10 finish_redemption operations in 2014997us (17369.8 ops/sec)\n\nDid 777 TrustToken-Exp1-Batch1 generate_key operations in 2034967us (381.8 ops/sec)\nDid 3612 TrustToken-Exp1-Batch1 begin_issuance operations in 2052618us (1759.7 ops/sec)\nDid 264 TrustToken-Exp1-Batch1 issue operations in 2084327us (126.7 ops/sec)\nDid 220 TrustToken-Exp1-Batch1 finish_issuance operations in 2024603us (108.7 ops/sec)\nDid 12691000 TrustToken-Exp1-Batch1 begin_redemption operations in 2000111us (6345147.8 ops/sec)\nDid 777 TrustToken-Exp1-Batch1 redeem operations in 2070867us (375.2 ops/sec)\nDid 35000 TrustToken-Exp1-Batch1 finish_redemption operations in 2019118us (17334.3 ops/sec)\nDid 798 TrustToken-Exp1-Batch10 generate_key operations in 2090816us (381.7 ops/sec)\nDid 357 TrustToken-Exp1-Batch10 begin_issuance operations in 2032751us (175.6 ops/sec)\nDid 25 TrustToken-Exp1-Batch10 issue operations in 2046353us (12.2 ops/sec)\nDid 21 TrustToken-Exp1-Batch10 finish_issuance operations in 2015579us (10.4 ops/sec)\nDid 12695000 TrustToken-Exp1-Batch10 begin_redemption operations in 2000126us (6347100.1 ops/sec)\nDid 740 TrustToken-Exp1-Batch10 redeem operations in 2032413us (364.1 ops/sec)\nDid 35000 TrustToken-Exp1-Batch10 finish_redemption operations in 2011564us (17399.4 ops/sec)\n\nAfter:\nDid 483 TrustToken-Exp0-Batch1 generate_key operations in 2003131us (241.1 ops/sec) [+57.7%]\nDid 1449 TrustToken-Exp0-Batch1 begin_issuance operations in 2089317us (693.5 ops/sec) [+1.0%]\nDid 176 TrustToken-Exp0-Batch1 issue operations in 2094210us (84.0 ops/sec) [+65.7%]\nDid 147 TrustToken-Exp0-Batch1 finish_issuance operations in 2006750us (73.3 ops/sec) [+68.5%]\nDid 12217000 TrustToken-Exp0-Batch1 begin_redemption operations in 2000094us (6108212.9 ops/sec) [-0.5%]\nDid 483 TrustToken-Exp0-Batch1 redeem operations in 2058132us (234.7 ops/sec) [+55.3%]\nDid 35000 TrustToken-Exp0-Batch1 finish_redemption operations in 2026970us (17267.2 ops/sec) [-0.1%]\nDid 504 TrustToken-Exp0-Batch10 generate_key operations in 2086204us (241.6 ops/sec) [+56.9%]\nDid 144 TrustToken-Exp0-Batch10 begin_issuance operations in 2084670us (69.1 ops/sec) [+1.2%]\nDid 16 TrustToken-Exp0-Batch10 issue operations in 2008793us (8.0 ops/sec) [+71.1%]\nDid 14 TrustToken-Exp0-Batch10 finish_issuance operations in 2033577us (6.9 ops/sec) [+76.2%]\nDid 12026000 TrustToken-Exp0-Batch10 begin_redemption operations in 2000018us (6012945.9 ops/sec) [-1.2%]\nDid 483 TrustToken-Exp0-Batch10 redeem operations in 2056418us (234.9 ops/sec) [+55.5%]\nDid 35000 TrustToken-Exp0-Batch10 finish_redemption operations in 2046766us (17100.1 ops/sec) [-1.6%]\n\nDid 1239 TrustToken-Exp1-Batch1 generate_key operations in 2060737us (601.2 ops/sec) [+57.5%]\nDid 3675 TrustToken-Exp1-Batch1 begin_issuance operations in 2085293us (1762.3 ops/sec) [+0.1%]\nDid 420 TrustToken-Exp1-Batch1 issue operations in 2008121us (209.2 ops/sec) [+65.1%]\nDid 378 TrustToken-Exp1-Batch1 finish_issuance operations in 2077226us (182.0 ops/sec) [+67.5%]\nDid 12783000 TrustToken-Exp1-Batch1 begin_redemption operations in 2000134us (6391071.8 ops/sec) [+0.7%]\nDid 1197 TrustToken-Exp1-Batch1 redeem operations in 2056802us (582.0 ops/sec) [+55.1%]\nDid 35000 TrustToken-Exp1-Batch1 finish_redemption operations in 2030955us (17233.3 ops/sec) [-0.6%]\nDid 1260 TrustToken-Exp1-Batch10 generate_key operations in 2095507us (601.3 ops/sec) [+57.5%]\nDid 357 TrustToken-Exp1-Batch10 begin_issuance operations in 2029693us (175.9 ops/sec) [+0.2%]\nDid 42 TrustToken-Exp1-Batch10 issue operations in 2050856us (20.5 ops/sec) [+67.6%]\nDid 36 TrustToken-Exp1-Batch10 finish_issuance operations in 2027488us (17.8 ops/sec) [+70.4%]\nDid 12140000 TrustToken-Exp1-Batch10 begin_redemption operations in 2000070us (6069787.6 ops/sec) [-4.4%]\nDid 1210 TrustToken-Exp1-Batch10 redeem operations in 2079615us (581.8 ops/sec) [+59.8%]\nDid 34000 TrustToken-Exp1-Batch10 finish_redemption operations in 2052918us (16561.8 ops/sec) [-4.8%]\n\nChange-Id: Idd51d7e1d18f3b94edc4105e68fd50b5f44d87cd\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/41104\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Steven Valdez \u003csvaldez@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "79dc416ccd0381182c50deabe077744176e03b75",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/ec.c",
      "new_id": "5497aac99521ab4f7d37c8deb151ed4b48a2951a",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/ec.c"
    },
    {
      "type": "modify",
      "old_id": "de515ab6bd7a3d04fd60d6b7a126387b359a4e2e",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/ec_montgomery.c",
      "new_id": "8e94f300385ba6df8e5c144f35923213593bad0c",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/ec_montgomery.c"
    },
    {
      "type": "modify",
      "old_id": "fed81a527607bbc9320e427a1bbe8598a5f0f3a4",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/internal.h",
      "new_id": "a30af1c1f440c76802464c1b925848713b0bc25d",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/internal.h"
    },
    {
      "type": "modify",
      "old_id": "3b4a7d82f218287ca25ae9339e9135615a4795bf",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/scalar.c",
      "new_id": "e4ae9d7fcc5843e4d7bafd5cf5662837be2f92ec",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/scalar.c"
    },
    {
      "type": "modify",
      "old_id": "9a431200e004396617e8a452aa7772d9ca22bc16",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/simple_mul.c",
      "new_id": "02063dfd3854f078be19ddf8c1edd4e466360238",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/simple_mul.c"
    },
    {
      "type": "modify",
      "old_id": "f1dc39b32f4f41cd9d69187ec1cae14bb411d4ea",
      "old_mode": 33188,
      "old_path": "crypto/trust_token/pmbtoken.c",
      "new_id": "04075377c81727f623cd70815e8dc85f1e6c9133",
      "new_mode": 33188,
      "new_path": "crypto/trust_token/pmbtoken.c"
    }
  ]
}
