)]}'
{
  "commit": "b628f8721e7e67302b0e26c92e0108a31066194e",
  "tree": "e5a210922e67567710692e25ff001242e82ee627",
  "parents": [
    "9206d7ca41065a0e3c7cf0ba64f3bf496665770a"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Sat Jan 13 17:47:14 2024 -0500"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Sun Jan 14 01:54:27 2024 +0000"
  },
  "message": "Clear some false positives in constant-time validation\n\nThese were flagged when patching the PRNG to return data marked secret.\nThis CL doesn\u0027t include that part (I didn\u0027t run all tests, and other\ntests likely require further annotations), but it does include some of\nthe declassifications necessary to do that later.\n\nBroadly:\n\n- Whenever we compute public keys from private keys, we must tell\n  valgrind the public key is now public. (Valgrind does not know\n  that cryptography works.)\n\n- Whenever we compute signatures from private keys, we must tell\n  valgrind the signature is now public. (Ditto.)\n\n- Whenever we pass a secret value but check it is fully reduced, we must\n  tell valgrind the comparison may be leaked. (Valgrind doesn\u0027t know\n  these values are always within range... that we have to check at all\n  is a consequence of OpenSSL\u0027s API and/or defensive coding.)\n\n- Valgrind does not know about the randomizing properties of blinding.\n  We actually aim to be constant-time without RSA blinding, so that\n  doesn\u0027t need an annotation, but the blinded inversion step in the\n  process of computing the RSA blinding factor does.\n\nBug: 676\nChange-Id: Ic3a47adddb23a61fe452b9be27b214eec2ea5235\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/65367\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d1677a69fb6610950106be5bc35a896f9839f1de",
      "old_mode": 33188,
      "old_path": "crypto/curve25519/curve25519.c",
      "new_id": "581d74084e6abb797eaa9a5f3ecb5a5cd3747580",
      "new_mode": 33188,
      "new_path": "crypto/curve25519/curve25519.c"
    },
    {
      "type": "modify",
      "old_id": "632771eb9553b904352cea7d5d7c041d12dba82e",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/bn/exponentiation.c",
      "new_id": "7b24d8950953d86c6e11d7238f7bd718238bcc7c",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/bn/exponentiation.c"
    },
    {
      "type": "modify",
      "old_id": "df12569a719384a66c0a280ce89435624583e3bc",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/bn/gcd.c",
      "new_id": "7aa004335e82aeefc566d7e14b95c2430ebb793d",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/bn/gcd.c"
    },
    {
      "type": "modify",
      "old_id": "06ebe1607503f027d9b474077049d953ceb3b448",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/bn/internal.h",
      "new_id": "a2292b4376102febf81f941eb3a4dbf1ac735907",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/bn/internal.h"
    },
    {
      "type": "modify",
      "old_id": "2500cc1ad4a101f125b7747d63579a4733660c57",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/bn/random.c",
      "new_id": "06de274a6e38f291cd361fb36e0cf15f0bab93c0",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/bn/random.c"
    },
    {
      "type": "modify",
      "old_id": "d42566aef48ae48415933a242b825af08a128706",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ec/ec_key.c",
      "new_id": "c75d90be39c1874afc6c51ec16ecde37a6c51301",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ec/ec_key.c"
    },
    {
      "type": "modify",
      "old_id": "39ad0a2f889ee58f0541d2a288fbfac36b63764f",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/ecdsa/ecdsa_test.cc",
      "new_id": "58769359a114b569b20be130db1a8768a1163c44",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/ecdsa/ecdsa_test.cc"
    },
    {
      "type": "modify",
      "old_id": "e847f9355c0196c585ec10e6cf2c07a7356a0d34",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/rsa/rsa_impl.c",
      "new_id": "f2dc7fe609005cfc40221663fe65a596195a562d",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/rsa/rsa_impl.c"
    },
    {
      "type": "modify",
      "old_id": "c9d29fc170195bd997a5d2d67f9a180f49e91ab4",
      "old_mode": 33188,
      "old_path": "crypto/rsa_extra/rsa_crypt.c",
      "new_id": "742284d8d8a89f7f750bf0ad708869aa2f4a5d2c",
      "new_mode": 33188,
      "new_path": "crypto/rsa_extra/rsa_crypt.c"
    }
  ]
}
