)]}'
{
  "commit": "fa69468414cedfab3ced42426df5920f9b2c345f",
  "tree": "2aa6b40302032fb201681c27a4cdad28c59354b9",
  "parents": [
    "0436a33c875ead926d821b12075fd20d47b6bc77"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Fri Dec 13 18:13:02 2024 -0500"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Sat Dec 14 15:15:18 2024 -0800"
  },
  "message": "Always provide a ctr32_encrypt_blocks function\n\nThere were two places where the ctr32_encrypt_blocks function could be\nmissing:\n\n1. In the AES-CTR EVP_CIPHER, with aes_nohw, we forgot to fill it in but\n   we actually provide it. We don\u0027t care enough about AES-CTR to\n   benchmark it, but I expect this to be a significant perf win because\n   aes_nohw is bitsliced.\n\n2. The 32-bit x86 vpaes implementation did not have a\n   ctr32_encrypt_blocks. Just implement it in C.\n\nThis allows us to delete a ton of code for a broadly unreachable\ncodepath.\n\n32-bit x86 is not a particularly important target in 2024, but just to\nconfirm, here is the impact on AES-GCM on an Intel(R) Xeon(R) Gold 6154\nCPU @ 3.00GHz, running in 32-bit mode and with\nOPENSSL_ia32cap\u003d\u0027~0x200000000000000\u0027\n\nBefore:\nDid 5587000 AES-128-GCM (16 bytes) seal operations in 1000098us (5586452.5 ops/sec): 89.4 MB/s\nDid 1063000 AES-128-GCM (256 bytes) seal operations in 1000036us (1062961.7 ops/sec): 272.1 MB/s\nDid 225000 AES-128-GCM (1350 bytes) seal operations in 1001725us (224612.5 ops/sec): 303.2 MB/s\nDid 39000 AES-128-GCM (8192 bytes) seal operations in 1014011us (38461.1 ops/sec): 315.1 MB/s\nDid 19127 AES-128-GCM (16384 bytes) seal operations in 1009808us (18941.2 ops/sec): 310.3 MB/s\nDid 4742000 AES-256-GCM (16 bytes) seal operations in 1000051us (4741758.2 ops/sec): 75.9 MB/s\nDid 820000 AES-256-GCM (256 bytes) seal operations in 1000199us (819836.9 ops/sec): 209.9 MB/s\nDid 171000 AES-256-GCM (1350 bytes) seal operations in 1000656us (170887.9 ops/sec): 230.7 MB/s\nDid 30000 AES-256-GCM (8192 bytes) seal operations in 1034187us (29008.3 ops/sec): 237.6 MB/s\nDid 15000 AES-256-GCM (16384 bytes) seal operations in 1031233us (14545.7 ops/sec): 238.3 MB/s\nAfter:\nDid 5314000 AES-128-GCM (16 bytes) seal operations in 1000040us (5313787.4 ops/sec): 85.0 MB/s\nDid 1035000 AES-128-GCM (256 bytes) seal operations in 1000919us (1034049.7 ops/sec): 264.7 MB/s\nDid 220000 AES-128-GCM (1350 bytes) seal operations in 1001498us (219670.9 ops/sec): 296.6 MB/s\nDid 37000 AES-128-GCM (8192 bytes) seal operations in 1009332us (36657.9 ops/sec): 300.3 MB/s\nDid 19000 AES-128-GCM (16384 bytes) seal operations in 1018435us (18656.1 ops/sec): 305.7 MB/s\nDid 4512250 AES-256-GCM (16 bytes) seal operations in 1000047us (4512037.9 ops/sec): 72.2 MB/s\nDid 803000 AES-256-GCM (256 bytes) seal operations in 1000917us (802264.3 ops/sec): 205.4 MB/s\nDid 168000 AES-256-GCM (1350 bytes) seal operations in 1002181us (167634.4 ops/sec): 226.3 MB/s\nDid 29000 AES-256-GCM (8192 bytes) seal operations in 1033945us (28047.9 ops/sec): 229.8 MB/s\nDid 15000 AES-256-GCM (16384 bytes) seal operations in 1055312us (14213.8 ops/sec): 232.9 MB/s\n\nIt\u0027s a bit slower, but comparable. Any affected device should really be\nserved ChaCha20-Poly1305 anyway. (Of course, this is entirely\nunscientific because this code would never run on anything remotely like\nthis CPU.)\n\nFixed: 383994657\nChange-Id: Ifca6a6195b20497dc7053d736c61b9000d3074f9\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/74267\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f977a89546d8ded993c564a98eddc85af73362a3",
      "old_mode": 33188,
      "old_path": "crypto/cipher_extra/e_aesctrhmac.cc",
      "new_id": "be94d73796c882729bb03cad5f5c2a6f55ca71be",
      "new_mode": 33188,
      "new_path": "crypto/cipher_extra/e_aesctrhmac.cc"
    },
    {
      "type": "modify",
      "old_id": "7eab5ac9e32d3ca6bbd8172821f9ff680145c280",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/aes.cc.inc",
      "new_id": "05f7a2bfacf011709fadf73cfce6742b9ed5c488",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/aes.cc.inc"
    },
    {
      "type": "modify",
      "old_id": "75d05201e4fedadacc362d982e454dffcd478409",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/aes_test.cc",
      "new_id": "2024acd30089f6253beb8137db5df3566e137599",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/aes_test.cc"
    },
    {
      "type": "modify",
      "old_id": "170dcc6ddc5db49de8ff22ddf7708c84ea8a2870",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/internal.h",
      "new_id": "7730b0013ddcb8ebd59aa8b51fa59a8f8009025b",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/internal.h"
    },
    {
      "type": "modify",
      "old_id": "10d98a6afa93f5b7713462d3019ed6155543f372",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/mode_wrappers.cc.inc",
      "new_id": "aa76867d0be521b23f427c86aacd86fade0f79e9",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/mode_wrappers.cc.inc"
    },
    {
      "type": "modify",
      "old_id": "9774268e2604b96b7594a823d310d6b13bb1a203",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/cipher/e_aes.cc.inc",
      "new_id": "30957f0180cf670a7c449ec2476dd722a94400e0",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/cipher/e_aes.cc.inc"
    },
    {
      "type": "modify",
      "old_id": "b20690eb98728c24955bbbb4dcd186f06a77044f",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/cipher/e_aesccm.cc.inc",
      "new_id": "e1682b623ea311ca8fe8d48a83da80f828688286",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/cipher/e_aesccm.cc.inc"
    },
    {
      "type": "modify",
      "old_id": "af902e0ef0a1deb8168dd7a2db5f420351382080",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/cipher/internal.h",
      "new_id": "e9709f0a0f77d3a43d04db94c31ed51977c12538",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/cipher/internal.h"
    },
    {
      "type": "modify",
      "old_id": "8c333bb1796c4543101b4d56363a5b84b44852c2",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/modes/ctr.cc.inc",
      "new_id": "3eae8328a0b96fe061e4063387529a1c61347a98",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/ctr.cc.inc"
    },
    {
      "type": "modify",
      "old_id": "2d67eea9a49ffcf029cc0785d5124b23377ee880",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/modes/gcm.cc.inc",
      "new_id": "cbd18585f6a237457b8e05fdc9389c6f06d94c6b",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/gcm.cc.inc"
    },
    {
      "type": "modify",
      "old_id": "4cedc3953ffca2fa5cd7f575f906b735444c7902",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/modes/internal.h",
      "new_id": "263b314ab396c805c43602feb1b212f7fbfa14e7",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/internal.h"
    },
    {
      "type": "modify",
      "old_id": "239a2ecbe017e488fb17795c2883f97a2fc6ae22",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/rand/ctrdrbg.cc.inc",
      "new_id": "c60eb8d99d3fa88bad4b6f3c3015abbd73af0ddf",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/rand/ctrdrbg.cc.inc"
    }
  ]
}
