)]}'
{
  "commit": "ab40ca0df79631519ecf664c8612d23a74734e05",
  "tree": "84bffd0ce13f87f268664f4114d2380ffe189df6",
  "parents": [
    "bac13ba1f658a1e742b9ceb958e670086affebe7"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Fri Jan 19 12:36:11 2024 +0000"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Fri Jan 19 12:40:42 2024 +0000"
  },
  "message": "[crypto] Add X25519 key exchange algorithm\n\nAdd an implementation of the X25519 key exchange algorithm as defined\nin RFC7748.\n\nThis implementation is inspired by and partially based upon the paper\n\"Implementing Curve25519/X25519: A Tutorial on Elliptic Curve\nCryptography\" by Martin Kleppmann, available for download from\nhttps://www.cl.cam.ac.uk/teaching/2122/Crypto/curve25519.pdf\n\nThe underlying modular addition, subtraction, and multiplication\noperations are completely redesigned for substantially improved\nefficiency compared to the TweetNaCl implementation studied in that\npaper (approximately 5x-10x faster and with 70% less memory usage).\n\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "750a2a71c43935e1632d459edd9c9e74bf0d9387",
      "new_mode": 33188,
      "new_path": "src/crypto/x25519.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7a86c11347e34096f72e04454b3a21e8a8d5ff0e",
      "new_mode": 33188,
      "new_path": "src/include/ipxe/x25519.h"
    },
    {
      "type": "modify",
      "old_id": "fbdf562c6d6d23ebc7a054c8dd8ba6f1bb4345db",
      "old_mode": 33188,
      "old_path": "src/tests/tests.c",
      "new_id": "41c199c0bbef9b8ba90094f999b71d898d97a2ad",
      "new_mode": 33188,
      "new_path": "src/tests/tests.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f9e6874bfdb6c5d8359b38e381eefe2a5de6e866",
      "new_mode": 33188,
      "new_path": "src/tests/x25519_test.c"
    }
  ]
}
