)]}'
{
  "commit": "186df3a655fcd290f7d74b5415091149cc164289",
  "tree": "f45de88910406e34b62fbe3f87508f49e9888c35",
  "parents": [
    "a7bc94489f265305dcf275fb2907f202ea8e49ce"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Tue Jan 09 10:35:50 2018 -0500"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Tue Jan 23 20:49:50 2018 +0000"
  },
  "message": "Implement fe_sq2_tt with fe_sq_tt.\n\nfiat-crypto only generates fe_mul and fe_sq, but the original Ed25519\nimplementation we had also had fe_sq2 for computing 2*f^2. Previously,\nwe inlined a version of fe_mul.\n\nInstead, we could implement it with fe_sq and fe_add. Performance-wise,\nthis seems to not regress. If anything, it makes it faster?\n\nBefore (clang, run for 10 seconds):\nDid 243000 Ed25519 key generation operations in 10025910us (24237.2 ops/sec)\nDid 250000 Ed25519 signing operations in 10035580us (24911.4 ops/sec)\nDid 73305 Ed25519 verify operations in 10071101us (7278.7 ops/sec)\nDid 184000 Curve25519 base-point multiplication operations in 10040138us (18326.4 ops/sec)\nDid 186000 Curve25519 arbitrary point multiplication operations in 10052721us (18502.5 ops/sec)\n\nAfter (clang, run for 10 seconds):\nDid 242424 Ed25519 key generation operations in 10013117us (24210.6 ops/sec)\nDid 253000 Ed25519 signing operations in 10011744us (25270.3 ops/sec)\nDid 73899 Ed25519 verify operations in 10048040us (7354.6 ops/sec)\nDid 194000 Curve25519 base-point multiplication operations in 10005389us (19389.6 ops/sec)\nDid 195000 Curve25519 arbitrary point multiplication operations in 10028443us (19444.7 ops/sec)\n\nBefore (clang + OPENSSL_SMALL, run for 10 seconds):\nDid 144000 Ed25519 key generation operations in 10019344us (14372.2 ops/sec)\nDid 146000 Ed25519 signing operations in 10011653us (14583.0 ops/sec)\nDid 74052 Ed25519 verify operations in 10005789us (7400.9 ops/sec)\nDid 150000 Curve25519 base-point multiplication operations in 10007468us (14988.8 ops/sec)\nDid 91392 Curve25519 arbitrary point multiplication operations in 10057678us (9086.8 ops/sec)\n\nAfter (clang + OPENSSL_SMALL, run for 10 seconds):\nDid 144000 Ed25519 key generation operations in 10066724us (14304.6 ops/sec)\nDid 148000 Ed25519 signing operations in 10062043us (14708.7 ops/sec)\nDid 74820 Ed25519 verify operations in 10058557us (7438.4 ops/sec)\nDid 151000 Curve25519 base-point multiplication operations in 10063492us (15004.7 ops/sec)\nDid 90402 Curve25519 arbitrary point multiplication operations in 10049141us (8996.0 ops/sec)\n\nChange-Id: I31e9f61833492c3ff2dfd78e1dee5e06f43c850f\nReviewed-on: https://boringssl-review.googlesource.com/24724\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "73d76a0247e5df9946baff09d6a7251f67a1fff4",
      "old_mode": 33188,
      "old_path": "third_party/fiat/curve25519.c",
      "new_id": "524eb3b99201d7f83553653d9a53eee521545bf4",
      "new_mode": 33188,
      "new_path": "third_party/fiat/curve25519.c"
    }
  ]
}
