)]}'
{
  "log": [
    {
      "commit": "c494e0705d670c51ac736c8c4d92750705fe3187",
      "tree": "9f00826afc317f976c03ef4e77284b13204c0c9d",
      "parents": [
        "aec3694b987900de7ab789ea5749d673e0d634c4"
      ],
      "author": {
        "name": "Rik Snel",
        "email": "rsnel@cube.dyndns.org",
        "time": "Wed Nov 29 18:59:44 2006 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 06 18:38:55 2006 -0800"
      },
      "message": "[CRYPTO] lib: table driven multiplications in GF(2^128)\n\nA lot of cypher modes need multiplications in GF(2^128). LRW, ABL, GCM...\nI use functions from this library in my LRW implementation and I will\nalso use them in my ABL (Arbitrary Block Length, an unencumbered (correct\nme if I am wrong, wide block cipher mode).\n\nElements of GF(2^128) must be presented as u128 *, it encourages automatic\nand proper alignment.\n\nThe library contains support for two different representations of GF(2^128),\nsee the comment in gf128mul.h. There different levels of optimization\n(memory/speed tradeoff).\n\nThe code is based on work by Dr Brian Gladman. Notable changes:\n- deletion of two optimization modes\n- change from u32 to u64 for faster handling on 64bit machines\n- support for \u0027bbe\u0027 representation in addition to the, already implemented,\n  \u0027lle\u0027 representation.\n- move \u0027inline void\u0027 functions from header to \u0027static void\u0027 in the\n  source file\n- update to use the linux coding style conventions\n\nThe original can be found at:\nhttp://fp.gladman.plus.com/AES/modes.vc8.19-06-06.zip\n\nThe copyright (and GPL statement) of the original author is preserved.\n\nSigned-off-by: Rik Snel \u003crsnel@cube.dyndns.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    }
  ]
}
