)]}'
{
  "log": [
    {
      "commit": "bf68e65ec9ea61e32ab71bef59aa5d24d255241f",
      "tree": "ead13a824617ee21e137eb3e75336891e30ed508",
      "parents": [
        "8064efb8740b8a0141d99a181cb5b9a430b1836c"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Mar 04 15:15:49 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Mar 04 15:16:19 2009 +0800"
      },
      "message": "crypto: zlib - New zlib crypto module, using pcomp\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "a1d2f09544065b60598b8167d94a6371bff3e892",
      "tree": "cd8b88e7ea0cd44e7e369f670f9fdfcba78f4326",
      "parents": [
        "e9cc8bddaea3944fabfebb968bc88d603239beed"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Mar 04 15:05:33 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Mar 04 15:05:33 2009 +0800"
      },
      "message": "crypto: compress - Add pcomp interface\n\nThe current \"comp\" crypto interface supports one-shot (de)compression only,\ni.e. the whole data buffer to be (de)compressed must be passed at once, and\nthe whole (de)compressed data buffer will be received at once.\nIn several use-cases (e.g. compressed file systems that store files in big\ncompressed blocks), this workflow is not suitable.\nFurthermore, the \"comp\" type doesn\u0027t provide for the configuration of\n(de)compression parameters, and always allocates workspace memory for both\ncompression and decompression, which may waste memory.\n\nTo solve this, add a \"pcomp\" partial (de)compression interface that provides\nthe following operations:\n  - crypto_compress_{init,update,final}() for compression,\n  - crypto_decompress_{init,update,final}() for decompression,\n  - crypto_{,de}compress_setup(), to configure (de)compression parameters\n    (incl. allocating workspace memory).\n\nThe (de)compression methods take a struct comp_request, which was mimicked\nafter the z_stream object in zlib, and contains buffer pointer and length\npairs for input and output.\n\nThe setup methods take an opaque parameter pointer and length pair. Parameters\nare supposed to be encoded using netlink attributes, whose meanings depend on\nthe actual (name of the) (de)compression algorithm.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "25c38d3fb92fc23af7730a1601bc20af8216ae44",
      "tree": "c191112a61457ecbf69d1a477705c87678a44231",
      "parents": [
        "6fe4a28d8855e072036f36ee22f0a8f43f44918f"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Thu Feb 19 14:33:40 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Feb 19 14:33:40 2009 +0800"
      },
      "message": "crypto: api - Use dedicated workqueue for crypto subsystem\n\nUse dedicated workqueue for crypto subsystem\n\nA dedicated workqueue named kcrypto_wq is created to be used by crypto\nsubsystem. The system shared keventd_wq is not suitable for\nencryption/decryption, because of potential starvation problem.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "9749598633efc2561224954217ff0d70aeed8b50",
      "tree": "dd407e285f8b91209d693f5ffde6e17fe9f01b3b",
      "parents": [
        "d7992f42c61d5dc6d164f7dddd05284485204ada"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Feb 03 12:47:44 2009 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Feb 18 16:48:06 2009 +0800"
      },
      "message": "crypto: shash - Add crypto_shash_blocksize\n\nThis function is needed by algorithms that don\u0027t know their own\nblock size, e.g., in s390 where the code is common between multiple\nversions of SHA.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "1cac2cbc76b9f3fce0d4ccc374e724e7f2533a47",
      "tree": "ea54d0d42ca3775a57620cb3c4c115e15d96d9a3",
      "parents": [
        "1693531e9ef11959300617c68a8322ad006b5475"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Sun Jan 18 16:19:46 2009 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Feb 18 16:48:05 2009 +0800"
      },
      "message": "crypto: cryptd - Add support to access underlying blkcipher\n\ncryptd_alloc_ablkcipher() will allocate a cryptd-ed ablkcipher for\nspecified algorithm name. The new allocated one is guaranteed to be\ncryptd-ed ablkcipher, so the blkcipher underlying can be gotten via\ncryptd_ablkcipher_child().\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "109568e110ed67d4be1b28609b9fa00fca97f8eb",
      "tree": "f40a1c6a35bb45abf7edcf8ab55ed75af6d405fb",
      "parents": [
        "8eb2dfac41c71701bb741f496f0cb7b7e4a3c3f6"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Jan 09 16:49:30 2009 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Feb 18 16:48:04 2009 +0800"
      },
      "message": "crypto: aes - Move key_length in struct crypto_aes_ctx to be the last field\n\nThe Intel AES-NI AES acceleration instructions need key_enc, key_dec\nin struct crypto_aes_ctx to be 16 byte aligned, it make this easier to\nmove key_length to be the last one.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "412e87ae5d852bc3d836f475c19d954b3324363d",
      "tree": "4f6a953f20f94eb076b178b3b7ac31bc5508aff9",
      "parents": [
        "7b2cd92adc5430b0c1adeb120971852b4ea1ab08"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Feb 05 16:51:25 2009 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Feb 05 16:51:25 2009 +1100"
      },
      "message": "crypto: shash - Fix tfm destruction\n\nWe were freeing an offset into the slab object instead of the\nstart.  This patch fixes it by calling crypto_destroy_tfm which\nallows the correct address to be given.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "0ee4a96902dd7858e65f378c86f428a0355bd841",
      "tree": "0f7851aa3ced0070b58c8a114904330aa4555fe7",
      "parents": [
        "ca38a814c6f86db0aa58884a31093d4f096e20aa"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:05:13 2008 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:05:13 2008 +1100"
      },
      "message": "crypto: aes - Precompute tables\n\nThe tables used by the various AES algorithms are currently\ncomputed at run-time.  This has created an init ordering problem\nbecause some AES algorithms may be registered before the tables\nhave been initialised.\n\nThis patch gets around this whole thing by precomputing the tables.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5f7082ed4f482f05db01d84dbf58190492ebf0ad",
      "tree": "34ac4dd0811731457dca0f4bcc440fafc93e517b",
      "parents": [
        "67cd080c5070b4f17520c1385f7684206f4987b3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 31 22:21:09 2008 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:33 2008 +1100"
      },
      "message": "crypto: hash - Export shash through hash\n\nThis patch allows shash algorithms to be used through the old hash\ninterface.  This is a transitional measure so we can convert the\nunderlying algorithms to shash before converting the users across.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "dec8b78606ebd5f309c38f2fb10196ce996dd18d",
      "tree": "005ef526f1b0e953a3a57e6c991e0921fcd5234b",
      "parents": [
        "3b2f6df08258e2875f42bd630eece7e7241a053b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Nov 02 21:38:11 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:30 2008 +1100"
      },
      "message": "crypto: hash - Add import/export interface\n\nIt is often useful to save the partial state of a hash function\nso that it can be used as a base for two or more computations.\n\nThe most prominent example is HMAC where all hashes start from\na base determined by the key.  Having an import/export interface\nmeans that we only have to compute that base once rather than\nfor each message.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7b5a080b3c46f0cac71c0d0262634c6517d4ee4f",
      "tree": "41ba9e7051d1ecd47eb5cd371209229db3202ab6",
      "parents": [
        "7b0bac64cd5b74d6f1147524c26216de13a501fd"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 31 15:47:27 2008 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:26 2008 +1100"
      },
      "message": "crypto: hash - Add shash interface\n\nThe shash interface replaces the current synchronous hash interface.\nIt improves over hash in two ways.  Firstly shash is reentrant,\nmeaning that the same tfm may be used by two threads simultaneously\nas all hashing state is stored in a local descriptor.\n\nThe other enhancement is that shash no longer takes scatter list\nentries.  This is because shash is specifically designed for\nsynchronous algorithms and as such scatter lists are unnecessary.\n\nAll existing hash users will be converted to shash once the\nalgorithms have been completely converted.\n\nThere is also a new finup function that combines update with final.\nThis will be extended to ahash once the algorithm conversion is\ndone.\n\nThis is also the first time that an algorithm type has their own\nregistration function.  Existing algorithm types will be converted\nto this way in due course.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7b0bac64cd5b74d6f1147524c26216de13a501fd",
      "tree": "e9163f47d583f88d35fb8e5c9ca86ed2581c6efd",
      "parents": [
        "4a7794860ba2b56693b1d89fd485fd08cdc763e3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 21 06:52:53 2008 +0900"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:24 2008 +1100"
      },
      "message": "crypto: api - Rebirth of crypto_alloc_tfm\n\nThis patch reintroduces a completely revamped crypto_alloc_tfm.\nThe biggest change is that we now take two crypto_type objects\nwhen allocating a tfm, a frontend and a backend.  In fact this\nsimply formalises what we\u0027ve been doing behind the API\u0027s back.\n\nFor example, as it stands crypto_alloc_ahash may use an\nactual ahash algorithm or a crypto_hash algorithm.  Putting\nthis in the API allows us to do this much more cleanly.\n\nThe existing types will be converted across gradually.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "4a7794860ba2b56693b1d89fd485fd08cdc763e3",
      "tree": "d97f46fe980ac79e226b429a61c5328fae9bf882",
      "parents": [
        "2566578a6feb9d9e39da41326afe8ed6022db3c5"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Sep 13 18:19:03 2008 -0700"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:23 2008 +1100"
      },
      "message": "crypto: api - Move type exit function into crypto_tfm\n\nThe type exit function needs to undo any allocations done by the type\ninit function.  However, the type init function may differ depending\non the upper-level type of the transform (e.g., a crypto_blkcipher\ninstantiated as a crypto_ablkcipher).\n\nSo we need to move the exit function out of the lower-level\nstructure and into crypto_tfm itself.\n\nAs it stands this is a no-op since nobody uses exit functions at\nall.  However, all cases where a lower-level type is instantiated\nas a different upper-level type (such as blkcipher as ablkcipher)\nwill be converted such that they allocate the underlying transform\nand use that instead of casting (e.g., crypto_ablkcipher casted\ninto crypto_blkcipher).  That will need to use a different exit\nfunction depending on the upper-level type.\n\nThis patch also allows the type init/exit functions to call (or not)\ncra_init/cra_exit instead of always calling them from the top level.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "17f0f4a47df9aea9ee26c939f8057c35e0be1847",
      "tree": "d6c7ff6c93573227a49c9e8fe06c53d97950e4e6",
      "parents": [
        "ccb778e1841ce04b4c10b39f0dd2558ab2c6dcd4"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu Aug 14 22:15:52 2008 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Aug 29 15:50:04 2008 +1000"
      },
      "message": "crypto: rng - RNG interface and implementation\n\nThis patch adds a random number generator interface as well as a\ncryptographic pseudo-random number generator based on AES.  It is\nmeant to be used in cases where a deterministic CPRNG is required.\n\nOne of the first applications will be as an input in the IPsec IV\ngeneration process.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5be5e667a9a5d8d5553e009e67bc692d95e5916a",
      "tree": "a3a64ea1ec9d303a21319ee72579522a5f42a101",
      "parents": [
        "1aa4ecd95d8d67d21731a00646326a71295dafa3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 17 18:04:30 2008 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Aug 29 15:50:00 2008 +1000"
      },
      "message": "crypto: skcipher - Move IV generators into their own modules\n\nThis patch moves the default IV generators into their own modules\nin order to break a dependency loop between cryptomgr, rng, and\nblkcipher.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "318e5313923197e71a94f7b18835151649384b7f",
      "tree": "d0ceb60fb9c5b4aacbeae3165587064e2e23c86d",
      "parents": [
        "dbaaba1d0abf6871c7db6e3d15a46206bc386db1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Aug 05 13:34:30 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Aug 13 20:08:44 2008 +1000"
      },
      "message": "crypto: hash - Add missing top-level functions\n\nThe top-level functions init/update/final were missing for ahash.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "18e33e6d5cc0495826f5245777cd267732815e01",
      "tree": "5cf0151630a63c27e06daad39556c423d4e2ef36",
      "parents": [
        "5773a3e6e396d5fd9de58372abe6a86b7e258e3e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 10 16:01:22 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 10 20:35:18 2008 +0800"
      },
      "message": "crypto: hash - Move ahash functions into crypto/hash.h\n\nAll new crypto interfaces should go into individual files as much\nas possible in order to ensure that crypto.h does not collapse under\nits own weight.\n\nThis patch moves the ahash code into crypto/hash.h and crypto/internal/hash.h\nrespectively.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "20036252fc61c624a49770fb89684ea5cfdfa05e",
      "tree": "29db0f146bab13b399d0df9e80041fc35a64fc91",
      "parents": [
        "b8454eebe380677789735fd6bad368af2e6b2d1e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 07 22:19:53 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 10 20:35:18 2008 +0800"
      },
      "message": "crypto: hash - Added scatter list walking helper\n\nThis patch adds the walking helpers for hash algorithms akin to\nthose of block ciphers.  This is a necessary step before we can\nreimplement existing hash algorithms using the new ahash interface.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "004a403c2e954734090a69aedc7f4f822bdcc142",
      "tree": "e8fadd76113132126e308e01e7cd7cdf6b9d44d6",
      "parents": [
        "534fe2c1c3ffbbc3db66dba0783c82d3b345fd33"
      ],
      "author": {
        "name": "Loc Ho",
        "email": "lho@amcc.com",
        "time": "Wed May 14 20:41:47 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 10 20:35:13 2008 +0800"
      },
      "message": "[CRYPTO] hash: Add asynchronous hash support\n\nThis patch adds asynchronous hash and digest support.\n\nSigned-off-by: Loc Ho \u003clho@amcc.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "8ec970d8561abb5645d4602433b772e268c96d05",
      "tree": "d48569fb99e2fefad3e9b89f867bc8fd194f5950",
      "parents": [
        "161613293fd4b7d5ceb1faab788f47e688e07a67"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Apr 29 21:53:52 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu May 01 18:22:28 2008 +0800"
      },
      "message": "[CRYPTO] api: Fix scatterwalk_sg_chain\n\nWhen I backed out of using the generic sg chaining (as it isn\u0027t currently\nportable) and introduced scatterwalk_sg_chain/scatterwalk_sg_next I left\nout the sg_is_last check in the latter.  This causes it to potentially\ndereference beyond the end of the sg array.\n\nAs most uses of scatterwalk_sg_next are bound by an overall length, this\nonly affected the chaining code in authenc and eseqiv. Thanks to Patrick\nMcHardy for identifying this problem.\n\nThis patch also clears the \"last\" bit on the head of the chained list as\nit\u0027s no longer last.  This also went missing in scatterwalk_sg_chain and\nis present in sg_chain.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5427663f498e19b441277de72ce7a685511f247c",
      "tree": "caebca4d656c8028780bf1d692dd325704332225",
      "parents": [
        "c3715cb90f722b1cf5f6f073be02cc8a49659b90"
      ],
      "author": {
        "name": "Sebastian Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Tue Apr 01 20:58:51 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 21 10:19:34 2008 +0800"
      },
      "message": "[CRYPTO] aes: Export generic setkey\n\nThe key expansion routine could be get little more generic, become\na kernel doc entry and then get exported.\n\nSigned-off-by: Sebastian Siewior \u003csebastian@breakpoint.cc\u003e\nTested-by: Stefan Hellermann \u003cstefan@the2masters.de\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "f13ba2f7d3a877967477ec8f64e1dae7a967c7e2",
      "tree": "58756b15c6f73a455254d45d7296e4fd46442fa2",
      "parents": [
        "2f40a178e70030c4712fe63807c883f34c3645eb"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Mar 08 20:29:43 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Mar 08 20:29:43 2008 +0800"
      },
      "message": "[CRYPTO] skcipher: Fix section mismatches\n\nThe previous patch to move chainiv and eseqiv into blkcipher created\na section mismatch for the chainiv exit function which was also called\nfrom __init.  This patch removes the __exit marking on it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "76fc60a2e3c6aa6e98cd3a5cb81a1855c637b274",
      "tree": "ab29e31b06045971853ff58bb6fabd6d40fd23c8",
      "parents": [
        "c8620c2590f43eff864fe597fcbe5b72ab7a7b94"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Feb 23 11:12:06 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Feb 23 11:12:06 2008 +0800"
      },
      "message": "[CRYPTO] skcipher: Move chainiv/seqiv into crypto_blkcipher module\n\nFor compatibility with dm-crypt initramfs setups it is useful to merge\nchainiv/seqiv into the crypto_blkcipher module.  Since they\u0027re required\nby most algorithms anyway this is an acceptable trade-off.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "1c5dfe6a959b79215c0f73d793169a7d5755900e",
      "tree": "642539aee296f6819b50d0a47d0797fb3c78e0e6",
      "parents": [
        "214dc54f6f1b71bcd895ef272c108c67ef046200"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 24 08:54:24 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:59 2008 +1100"
      },
      "message": "[CRYPTO] api: Include sched.h for cond_resched in scatterwalk.h\n\nAs Andrew Morton correctly points out, we need to explicitly include\nsched.h as we use the function cond_resched in crypto/scatterwalk.h.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e7cd2514ea506f06bd4f7b13a9b62afd60f9c73b",
      "tree": "66c46a54a2841091165a0b8083329c41f3504847",
      "parents": [
        "4726204200327c04a77b819e2c653c063f1bc6ab"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Dec 14 22:28:14 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:55 2008 +1100"
      },
      "message": "[CRYPTO] chainiv: Avoid lock spinning where possible\n\nThis patch makes chainiv avoid spinning by postponing requests on lock\ncontention if the user allows the use of asynchronous algorithms.  If\na synchronous algorithm is requested then we behave as before.\n\nThis should improve IPsec performance on SMP when two CPUs attempt to\ntransmit over the same SA.  Currently one of them will spin doing nothing\nwaiting for the other CPU to finish its encryption.  This patch makes it\npostpone the request and get on with other work.\n\nIf only one CPU is transmitting for a given SA, then we will process\nthe request synchronously as before.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "3631c650c495d61b1dabf32eb26b46873636e918",
      "tree": "b46244dc1062fbede37bff4955e205ab7d5310c3",
      "parents": [
        "93cc74e078eed8735585e5687903727bcfbcc8b4"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 13 22:28:59 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:53 2008 +1100"
      },
      "message": "[CRYPTO] null: Add null blkcipher algorithm\n\nThis patch adds a null blkcipher algorithm called ecb(cipher_null) for\nbackwards compatibility.  Previously the null algorithm when used by\nIPsec copied the data byte by byte.  This new algorithm optimises that\nto a straight memcpy which lets us better measure inherent overheads in\nour IPsec code.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "d29ce988aeb459203c74f14747f4f77e1829ef78",
      "tree": "886ec0a429c3b1b5b79f290be6b0d8383b89c30b",
      "parents": [
        "14df4d80433b8413f901e80880c39e8759b8418f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 19:24:27 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:52 2008 +1100"
      },
      "message": "[CRYPTO] aead: Create default givcipher instances\n\nThis patch makes crypto_alloc_aead always return algorithms that is\ncapable of generating their own IVs through givencrypt and givdecrypt.\nAll existing AEAD algorithms already do.  New ones must either supply\ntheir own or specify a generic IV generator with the geniv field.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5b6d2d7fdf806f2b5a9352416f9e670911fc4748",
      "tree": "d2eda87839e1b5de18c691ecff6e6074a35c09f0",
      "parents": [
        "aedb30dc49eeecd48558b601c47e0b3f9e42c602"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 19:23:36 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:51 2008 +1100"
      },
      "message": "[CRYPTO] aead: Add aead_geniv_alloc/aead_geniv_free\n\nThis patch creates the infrastructure to help the construction of IV\ngenerator templates that wrap around AEAD algorithms by adding an IV\ngenerator to them.  This is useful for AEAD algorithms with no built-in\nIV generator or to replace their built-in generator.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "3a282bd2e77966e7361fffbd5d1cea6eb0499b6c",
      "tree": "45c86e62c2212757d1553874ec916de39b375a16",
      "parents": [
        "e56dd56418fcc024683d1638564a494d9e9aab85"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Dec 08 20:13:15 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:50 2008 +1100"
      },
      "message": "[CRYPTO] aead: Add top-level givencrypt/givdecrypt calls\n\nThis patch finally makes the givencrypt/givdecrypt operations available\nto users by adding crypto_aead_givencrypt and crypto_aead_givdecrypt.\nA suite of helpers to allocate and fill in the request is also available.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "743edf57272fd420348e148bf94f9e48ed6abb70",
      "tree": "be4a96ae7f7f8a6b42bf01cc7a61cb4b5938ab50",
      "parents": [
        "03bf712fb4defc7831c727d1e32d0269f7f96de0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 10 16:18:01 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:49 2008 +1100"
      },
      "message": "[CRYPTO] aead: Add givcrypt operations\n\nThis patch adds the underlying givcrypt operations for aead and associated\nsupport elements.  The rationale is identical to that of the skcipher\ngivcrypt operations, i.e., sometimes only the algorithm knows how the\nIV should be generated.\n\nA new request type aead_givcrypt_request is added which contains an\nembedded aead_request structure with two new elements to support this\noperation.  The new elements are seq and giv.  The seq field should\ncontain a strictly increasing 64-bit integer which may be used by\ncertain IV generators as an input value.  The giv field will be used\nto store the generated IV.  It does not need to obey the alignment\nrequirements of the algorithm because it\u0027s not used during the operation.\n\nThe existing iv field must still be available as it will be used to store\nintermediate IVs and the output IV if chaining is desired.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "03bf712fb4defc7831c727d1e32d0269f7f96de0",
      "tree": "44a7c169b6988cbb86cbe93fc33692691a9f24a9",
      "parents": [
        "0a270321dbf948963aeb0e8382fe17d2c2eb3771"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Dec 01 18:35:38 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:49 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Add top-level givencrypt/givdecrypt calls\n\nThis patch finally makes the givencrypt/givdecrypt operations available\nto users by adding crypto_skcipher_givencrypt and crypto_skcipher_givdecrypt.\nA suite of helpers to allocate and fill in the request is also available.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "45d44eb56ad197cfccb8f84b5df64abff8b7cb96",
      "tree": "4e42a4531b7c581bb78942efb12386ca82555de1",
      "parents": [
        "1472e5ebaac14dafbc0f978b5e951f1e9ca0b251"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Dec 02 21:21:02 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:48 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Remove crypto_spawn_ablkcipher\n\nNow that gcm and authenc have been converted to crypto_spawn_skcipher,\nthis patch removes the obsolete crypto_spawn_ablkcipher function.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b9c55aa475599183d0eab6833ea23e70c52dd24b",
      "tree": "74e011e9b95291f230d6e7200730e3bc3b9d7153",
      "parents": [
        "806d183aa6cc565d0f6bd2fb7fc6bfb175cc4813"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Dec 04 12:46:48 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:46 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Create default givcipher instances\n\nThis patch makes crypto_alloc_ablkcipher/crypto_grab_skcipher always\nreturn algorithms that are capable of generating their own IVs through\ngivencrypt and givdecrypt.  Each algorithm may specify its default IV\ngenerator through the geniv field.\n\nFor algorithms that do not set the geniv field, the blkcipher layer will\npick a default.  Currently it\u0027s chainiv for synchronous algorithms and\neseqiv for asynchronous algorithms.  Note that if these wrappers do not\nwork on an algorithm then that algorithm must specify its own geniv or\nit can\u0027t be used at all.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "15c67286685cddce207b646306e8819ec8268ede",
      "tree": "acb9d4e4b0180857112cac88995597c9992be982",
      "parents": [
        "7f47073911f0e4384d38a0827d28305a177c8816"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 30 20:17:28 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:45 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Added skcipher_givcrypt_complete\n\nThis patch adds the helper skcipher_givcrypt_complete which should be\ncalled when an ablkcipher algorithm has completed a givcrypt request.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "ecfc43292f68566c144afca966b46b371c26d56c",
      "tree": "ef332abe1573434836a90e188257a252ca9f896a",
      "parents": [
        "927eead52c958829ef62c8aa5da2751033a2cf98"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 05 21:08:36 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:44 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Add skcipher_geniv_alloc/skcipher_geniv_free\n\nThis patch creates the infrastructure to help the construction of givcipher\ntemplates that wrap around existing blkcipher/ablkcipher algorithms by adding\nan IV generator to them.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "61da88e2b800eed2b03834a73c46cc89ad48716d",
      "tree": "00926f29041a08feefe379f2ce164099d7f82f45",
      "parents": [
        "378f4f51f9fdd8df80ea875320e2bf1d7c6e6e77"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 17 21:51:27 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:43 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Add givcrypt operations and givcipher type\n\nDifferent block cipher modes have different requirements for intialisation\nvectors.  For example, CBC can use a simple randomly generated IV while\nmodes such as CTR must use an IV generation mechanisms that give a stronger\nguarantee on the lack of collisions.  Furthermore, disk encryption modes\nhave their own IV generation algorithms.\n\nUp until now IV generation has been left to the users of the symmetric\nkey cipher API.  This is inconvenient as the number of block cipher modes\nincrease because the user needs to be aware of which mode is supposed to\nbe paired with which IV generation algorithm.\n\nTherefore it makes sense to integrate the IV generation into the crypto\nAPI.  This patch takes the first step in that direction by creating two\nnew ablkcipher operations, givencrypt and givdecrypt that generates an\nIV before performing the actual encryption or decryption.\n\nThe operations are currently not exposed to the user.  That will be done\nonce the underlying functionality has actually been implemented.\n\nIt also creates the underlying givcipher type.  Algorithms that directly\ngenerate IVs would use it instead of ablkcipher.  All other algorithms\n(including all existing ones) would generate a givcipher algorithm upon\nregistration.  This givcipher algorithm will be constructed from the geniv\nstring that\u0027s stored in every algorithm.  That string will locate a template\nwhich is instantiated by the blkcipher/ablkcipher algorithm in question to\ngive a givcipher algorithm.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "378f4f51f9fdd8df80ea875320e2bf1d7c6e6e77",
      "tree": "f38f23fa09ec7971546a0a3aa42a79cc055c455f",
      "parents": [
        "84c911523020a2e39b307a2da26ee1886b7214fe"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 17 20:07:31 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:42 2008 +1100"
      },
      "message": "[CRYPTO] skcipher: Add crypto_grab_skcipher interface\n\nNote: From now on the collective of ablkcipher/blkcipher/givcipher will\nbe known as skcipher, i.e., symmetric key cipher.  The name blkcipher has\nalways been much of a misnomer since it supports stream ciphers too.\n\nThis patch adds the function crypto_grab_skcipher as a new way of getting\nan ablkcipher spawn.  The problem is that previously we did this in two\nsteps, first getting the algorithm and then calling crypto_init_spawn.\n\nThis meant that each spawn user had to be aware of what type and mask to\nuse for these two steps.  This is difficult and also presents a problem\nwhen the type/mask changes as they\u0027re about to be for IV generators.\n\nThe new interface does both steps together just like crypto_alloc_ablkcipher.\n\nAs a side-effect this also allows us to be stronger on type enforcement\nfor spawns.  For now this is only done for ablkcipher but it\u0027s trivial\nto extend for other types.\n\nThis patch also moves the type/mask logic for skcipher into the helpers\ncrypto_skcipher_type and crypto_skcipher_mask.\n\nFinally this patch introduces the function crypto_require_sync to determine\nwhether the user is specifically requesting a sync algorithm.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5311f248b7764ba8b59e6d477355f766e5609686",
      "tree": "228910c68fc3d29a6bfe82cccfdc042e4003ebd2",
      "parents": [
        "653ebd9c8510a7d647ed23e66e1338f848ebdbab"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Dec 17 21:34:32 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:41 2008 +1100"
      },
      "message": "[CRYPTO] ctr: Refactor into ctr and rfc3686\n\nAs discussed previously, this patch moves the basic CTR functionality\ninto a chainable algorithm called ctr.  The IPsec-specific variant of\nit is now placed on top with the name rfc3686.\n\nSo ctr(aes) gives a chainable cipher with IV size 16 while the IPsec\nvariant will be called rfc3686(ctr(aes)).  This patch also adjusts\ngcm accordingly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "68b6c7d6919be7c732fc6229c55e35d0166e9258",
      "tree": "137eabe7eaf127c2f1460490733dee415aa7b339",
      "parents": [
        "551a09a7a954f720067f207657bbbd26a3fe156a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Dec 07 20:18:17 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:40 2008 +1100"
      },
      "message": "[CRYPTO] api: Add crypto_attr_alg_name\n\nThis patch adds a new helper crypto_attr_alg_name which is basically the\nfirst half of crypto_attr_alg.  That is, it returns an algorithm name\nparameter as a string without looking it up.  The caller can then look it\nup immediately or defer it until later.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b2ab4a57b018aafbba35bff088218f5cc3d2142e",
      "tree": "a46c5bd42927c24c69f0786be2651ff3fba6c10e",
      "parents": [
        "42c271c6c538857cb13c5ead5184d264d745f675"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 05 20:59:25 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:33 2008 +1100"
      },
      "message": "[CRYPTO] scatterwalk: Restore custom sg chaining for now\n\nUnfortunately the generic chaining hasn\u0027t been ported to all architectures\nyet, and notably not s390.  So this patch restores the chainging that we\u0027ve\nbeen using previously which does work everywhere.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "42c271c6c538857cb13c5ead5184d264d745f675",
      "tree": "9f6a05c756be3fc3f35ae7fe9b333a33986a2f56",
      "parents": [
        "fe70f5dfe1a7b5caab96531089dac3d8728c0ebd"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Dec 07 18:52:49 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:32 2008 +1100"
      },
      "message": "[CRYPTO] scatterwalk: Move scatterwalk.h to linux/crypto\n\nThe scatterwalk infrastructure is used by algorithms so it needs to\nmove out of crypto for future users that may live in drivers/crypto\nor asm/*/crypto.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e236d4a89a2ffbc8aa18064161f4f159c4d89b4a",
      "tree": "5688f2fd39c734c10b6d1fda791a87d7a19dee3b",
      "parents": [
        "7ba683a6deba70251756aa5a021cdaa5c875a7a2"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 22 23:11:53 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:30 2008 +1100"
      },
      "message": "[CRYPTO] authenc: Move enckeylen into key itself\n\nHaving enckeylen as a template parameter makes it a pain for hardware\ndevices that implement ciphers with many key sizes since each one would\nhave to be registered separately.\n\nSince the authenc algorithm is mainly used for legacy purposes where its\nkey is going to be constructed out of two separate keys, we can in fact\nembed this value into the key itself.\n\nThis patch does this by prepending an rtnetlink header to the key that\ncontains the encryption key length.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7613636def82092a5c7b6322078a2af832410417",
      "tree": "a05fec8d522e78d21b7b45f9ac330bcd1372e1af",
      "parents": [
        "fcd06755936d2209b69650d2a7cc99cbcd3ccc67"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Nov 20 17:26:06 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:17 2008 +1100"
      },
      "message": "[CRYPTO] api: Add crypto_inc and crypto_xor\n\nWith the addition of more stream ciphers we need to curb the proliferation\nof ad-hoc xor functions.  This patch creates a generic pair of functions,\ncrypto_inc and crypto_xor which does big-endian increment and exclusive or,\nrespectively.\n\nFor optimum performance, they both use u32 operations so alignment must be\nas that of u32 even though the arguments are of type u8 *.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "332f8840f7095d294f9bb066b175a100bcde214c",
      "tree": "fa2e610da8e943765dfdb8f23817027424a1339d",
      "parents": [
        "86f578de5ba6ea11ead9284d9f036fee01ba5893"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 15 22:36:07 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:15 2008 +1100"
      },
      "message": "[CRYPTO] ablkcipher: Add distinct ABLKCIPHER type\n\nUp until now we have ablkcipher algorithms have been identified as\ntype BLKCIPHER with the ASYNC bit set.  This is suboptimal because\nablkcipher refers to two things.  On the one hand it refers to the\ntop-level ablkcipher interface with requests.  On the other hand it\nrefers to and algorithm type underneath.\n\nAs it is you cannot request a synchronous block cipher algorithm\nwith the ablkcipher interface on top.  This is a problem because\nwe want to be able to eventually phase out the blkcipher top-level\ninterface.\n\nThis patch fixes this by making ABLKCIPHER its own type, just as\nwe have distinct types for HASH and DIGEST.  The type it associated\nwith the algorithm implementation only.\n\nWhich top-level interface is used for synchronous block ciphers is\nthen determined by the mask that\u0027s used.  If it\u0027s a specific mask\nthen the old blkcipher interface is given, otherwise we go with the\nnew ablkcipher interface.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "cd12fb906d2591e80da9edcbd4794b9b916d7489",
      "tree": "312f7ff32b70a1c093fd3d45e6f2a0715008f22b",
      "parents": [
        "cd7c3bfe54270f41ac52be6b725a7194d99175b4"
      ],
      "author": {
        "name": "Jonathan Lynch",
        "email": "jonathan.lynch@intel.com",
        "time": "Sat Nov 10 20:08:25 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:12 2008 +1100"
      },
      "message": "[CRYPTO] sha256-generic: Extend sha256_generic.c to support SHA-224\n\nResubmitting this patch which extends sha256_generic.c to support SHA-224 as\ndescribed in FIPS 180-2 and RFC 3874. HMAC-SHA-224 as described in RFC4231\nis then supported through the hmac interface.\n\nPatch includes test vectors for SHA-224 and HMAC-SHA-224.\n\nSHA-224 chould be chosen as a hash algorithm when 112 bits of security\nstrength is required.\n\nPatch generated against the 2.6.24-rc1 kernel and tested against\n2.6.24-rc1-git14 which includes fix for scatter gather implementation for HMAC.\n\nSigned-off-by: Jonathan Lynch \u003cjonathan.lynch@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "96e82e4551d38e0863b366a7b61185bc4a9946cc",
      "tree": "514e38d847cb09c55230ceb3088329ed4175c55c",
      "parents": [
        "be5fb270125729b7bca7879967f1dfadff0d9841"
      ],
      "author": {
        "name": "Sebastian Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Thu Nov 08 21:20:30 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:09 2008 +1100"
      },
      "message": "[CRYPTO] aes-generic: Make key generation exportable\n\nThis patch exports four tables and the set_key() routine. This ressources\ncan be shared by other AES implementations (aes-x86_64 for instance).\nThe decryption key has been turned around (deckey[0] is the first piece\nof the key instead of deckey[keylen+20]). The encrypt/decrypt functions\nare looking now identical (except they are using different tables and\nkey).\n\nSigned-off-by: Sebastian Siewior \u003csebastian@breakpoint.cc\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "89e12654312dddbbdbf17b5adc95b22cb672f947",
      "tree": "b6c90424ece4dae2178c3b3843e37ebf41c8286b",
      "parents": [
        "f1901f1fc710ec0fc482a7c98ee4552874139f39"
      ],
      "author": {
        "name": "Sebastian Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Wed Oct 17 23:18:57 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:04 2008 +1100"
      },
      "message": "[CRYPTO] aes: Move common defines into a header file\n\nThis three defines are used in all AES related hardware.\n\nSigned-off-by: Sebastian Siewior \u003csebastian@breakpoint.cc\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "16d004a2eda7be2c6a2de63eca2ad3c6b57307b3",
      "tree": "dc7036038de0252cec24d0b073e3bfc6920f8218",
      "parents": [
        "f7d0561ea1dadec5462846520b1f4fb304294fd5"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Thu Oct 11 19:48:58 2007 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 08:16:02 2008 +1100"
      },
      "message": "[CRYPTO] des: Create header file for common macros\n\nThis patch creates include/crypto/des.h for common macros shared between\nDES implementations.\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5265eeb2b036835021591173ac64e624baaff55c",
      "tree": "0263f8e8db4ead27b6e02f3200e3a1305bbf2080",
      "parents": [
        "ad5d27899fdbe7a66e57fdf1af883dbd7ff88dac"
      ],
      "author": {
        "name": "Jan Glauber",
        "email": "jang@de.ibm.com",
        "time": "Tue Oct 09 22:43:13 2007 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:50 2007 -0700"
      },
      "message": "[CRYPTO] sha: Add header file for SHA definitions\n\nThere are currently several SHA implementations that all define their own\ninitialization vectors and size values. Since this values are idential\nmove them to a header file under include/crypto.\n\nSigned-off-by: Jan Glauber \u003cjang@de.ibm.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7607bd8ff03b8af5af887931318cb2bb20361856",
      "tree": "f714390d344511d65f7b866857102fbeb1d13741",
      "parents": [
        "2614de1b9af5a9e49cda64b394e1348159565bd5"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Oct 04 15:24:05 2007 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:48 2007 -0700"
      },
      "message": "[CRYPTO] blkcipher: Added blkcipher_walk_virt_block\n\nThis patch adds the helper blkcipher_walk_virt_block which is similar to\nblkcipher_walk_virt but uses a supplied block size instead of the block\nsize of the block cipher.  This is useful for CTR where the block size is\n1 but we still want to walk by the block size of the underlying cipher.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "f19f5111c94053ba4931892f5c01c806de33942e",
      "tree": "b40dfae8fa170ebdc92fdcfeb3000c84d6203645",
      "parents": [
        "5aaff0c8f7dd3515c9f1ca57f86463f30779acc7"
      ],
      "author": {
        "name": "Rik Snel",
        "email": "rsnel@cube.dyndns.org",
        "time": "Wed Sep 19 20:23:13 2007 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:45 2007 -0700"
      },
      "message": "[CRYPTO] xts: XTS blockcipher mode implementation without partial blocks\n\nXTS currently considered to be the successor of the LRW mode by the IEEE1619\nworkgroup. LRW was discarded, because it was not secure if the encyption key\nitself is encrypted with LRW.\n\nXTS does not have this problem. The implementation is pretty straightforward,\na new function was added to gf128mul to handle GF(128) elements in ble format.\nFour testvectors from the specification\n\thttp://grouper.ieee.org/groups/1619/email/pdf00086.pdf\nwere added, and they verify on my system.\n\nSigned-off-by: Rik Snel \u003crsnel@cube.dyndns.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "3c09f17c3d11f3e98928f55b600e6de22f58017a",
      "tree": "1c707e78054804fba65719a6dc87bc555fe9566b",
      "parents": [
        "b16c3a2e2c0307f5370b2b5e18bcbe1437b5f3d8"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Aug 30 16:24:15 2007 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:43 2007 -0700"
      },
      "message": "[CRYPTO] aead: Add authenc\n\nThis patch adds the authenc algorithm which constructs an AEAD algorithm\nfrom an asynchronous block cipher and a hash.  The construction is done\nby concatenating the encrypted result from the cipher with the output\nfrom the hash, as is used by the IPsec ESP protocol.\n\nThe authenc algorithm exists as a template with four parameters:\n\n\tauthenc(auth, authsize, enc, enckeylen).\n\nThe authentication algorithm, the authentication size (i.e., truncating\nthe output of the authentication algorithm), the encryption algorithm,\nand the encryption key length.  Both the size field and the key length\nfield are in bytes.  For example, AES-128 with SHA1-HMAC would be\nrepresented by\n\n\tauthenc(hmac(sha1), 12, cbc(aes), 16)\n\nThe key for the authenc algorithm is the concatenation of the keys for\nthe authentication algorithm with the encryption algorithm.  For the\nabove example, if a key of length 36 bytes is given, then hmac(sha1)\nwould receive the first 20 bytes while the last 16 would be given to\ncbc(aes).\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "2de98e75449fc1c43d2fbb857668ae62d4f5eece",
      "tree": "da472cafdc8688664011cf05b655db55a051b4e7",
      "parents": [
        "791b4d5f73cbc16ee532ebac5bd82d51524d4f99"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 26 19:12:47 2007 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:41 2007 -0700"
      },
      "message": "[CRYPTO] ablkcipher: Remove queue pointer from common alg object\n\nSince not everyone needs a queue pointer and those who need it can\nalways get it from the context anyway the queue pointer in the\ncommon alg object is redundant.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "1ae978208e2ee9ba1b01d309164bc5e590cd242d",
      "tree": "89dac5bceddd383836de9a4da6cc7d381f374e3f",
      "parents": [
        "e2ee95b8c69e542d6afef3f6f38ea598cc146ba7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Aug 30 15:36:14 2007 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:39 2007 -0700"
      },
      "message": "[CRYPTO] api: Add aead crypto type\n\nThis patch adds crypto_aead which is the interface for AEAD\n(Authenticated Encryption with Associated Data) algorithms.\n\nAEAD algorithms perform authentication and encryption in one\nstep.  Traditionally users (such as IPsec) would use two\ndifferent crypto algorithms to perform these.  With AEAD\nthis comes down to one algorithm and one operation.\n\nOf course if traditional algorithms were used we\u0027d still\nbe doing two operations underneath.  However, real AEAD\nalgorithms may allow the underlying operations to be\noptimised as well.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "aa379a6ab17ff5b06552c52360ce6d9f8c7c209a",
      "tree": "d82d4dc09f362d7f23c277ac5b1ee15ce8fcd6f0",
      "parents": [
        "44db25ca127281036817f861593389d7cfe950f5"
      ],
      "author": {
        "name": "Sebastian Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Thu Aug 02 20:41:53 2007 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:37 2007 -0700"
      },
      "message": "[CRYPTO] api: Add crypto_ablkcipher_ctx_aligned\n\nThis is function does the same thing for ablkcipher that is done for\nblkcipher by crypto_blkcipher_ctx_aligned(): it returns an aligned\naddress of the private ctx.\n\nSigned-off-by: Sebastian Siewior \u003csebastian@breakpoint.cc\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "124b53d020622ffa24e27406f2373d5a3debd0d3",
      "tree": "e1a89ac6745ce9afea6fd2ea358ebd40e60abb76",
      "parents": [
        "a73e69965fa2647faa36caf40f4132b9c99d61fd"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 16 20:49:20 2007 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 02 14:38:32 2007 +1000"
      },
      "message": "[CRYPTO] cryptd: Add software async crypto daemon\n\nThis patch adds the cryptd module which is a template that takes a\nsynchronous software crypto algorithm and converts it to an asynchronous\none by executing it in a kernel thread.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "a73e69965fa2647faa36caf40f4132b9c99d61fd",
      "tree": "8c138eaeb2daeb58d5634961607d37d258729349",
      "parents": [
        "cf02f5da9437201d57d93f529839dd40aac8b5f9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 08 21:31:36 2007 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 02 14:38:32 2007 +1000"
      },
      "message": "[CRYPTO] api: Do not remove users unless new algorithm matches\n\nAs it is whenever a new algorithm with the same name is registered\nusers of the old algorithm will be removed so that they can take\nadvantage of the new algorithm.  This presents a problem when the\nnew algorithm is not equivalent to the old algorithm.  In particular,\nthe new algorithm might only function on top of the existing one.\n\nHence we should not remove users unless they can make use of the\nnew algorithm.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b5b7f08869340aa8cfa23303f7d195f161479592",
      "tree": "dd1f3f00165e7ca31e29a52d64909439cdfab8fd",
      "parents": [
        "ebc610e5bc76df073221e64e86c3f7533a09ea40"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 16 20:48:54 2007 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 02 14:38:31 2007 +1000"
      },
      "message": "[CRYPTO] api: Add async blkcipher type\n\nThis patch adds the mid-level interface for asynchronous block ciphers.\nIt also includes a generic queueing mechanism that can be used by other\nasynchronous crypto operations in future.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "ebc610e5bc76df073221e64e86c3f7533a09ea40",
      "tree": "d53f4fa3da412f6df4b5891e23ca7c7607a3a5ce",
      "parents": [
        "6158efc09016d3186263f6fd3a50667446ec4008"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jan 01 18:37:02 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 02 14:38:31 2007 +1000"
      },
      "message": "[CRYPTO] templates: Pass type/mask when creating instances\n\nThis patch passes the type/mask along when constructing instances of\ntemplates.  This is in preparation for templates that may support\nmultiple types of instances depending on what is requested.  For example,\nthe planned software async crypto driver will use this construct.\n\nFor the moment this allows us to check whether the instance constructed\nis of the correct type and avoid returning success if the type does not\nmatch.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "27d2a3300755387d2fec231d37944907ff992ce8",
      "tree": "c42138c0160b8f0aa3d79860557514e73577e885",
      "parents": [
        "2e306ee016fd4750289e65c3b1856db569f1f3f2"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jan 24 20:50:26 2007 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Feb 07 09:21:01 2007 +1100"
      },
      "message": "[CRYPTO] api: Allow multiple frontends per backend\n\nThis patch adds support for multiple frontend types for each backend\nalgorithm by passing the type and mask through to the backend type\ninit function.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "2e306ee016fd4750289e65c3b1856db569f1f3f2",
      "tree": "53ace6081967c640f052d53397250657af855c25",
      "parents": [
        "f1ddcaf3393b7a3871809b97fae90fac841a1f39"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Dec 17 10:05:58 2006 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Feb 07 09:21:01 2007 +1100"
      },
      "message": "[CRYPTO] api: Add type-safe spawns\n\nThis patch allows spawns of specific types (e.g., cipher) to be allocated.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "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"
    },
    {
      "commit": "aec3694b987900de7ab789ea5749d673e0d634c4",
      "tree": "533c7c9fa8ee1733dbd21ce0386898297562dc4b",
      "parents": [
        "cc44215eaaa5e4032946b962353526ae6c370c0e"
      ],
      "author": {
        "name": "Rik Snel",
        "email": "rsnel@cube.dyndns.org",
        "time": "Sun Oct 29 11:02:07 2006 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 06 18:38:55 2006 -0800"
      },
      "message": "[CRYPTO] lib: some common 128-bit block operations, nicely centralized\n\n128bit is a common blocksize in linux kernel cryptography, so it helps to\ncentralize some common operations.\n\nThe code, while mostly trivial, is based on a header file mode_hdr.h in\nhttp://fp.gladman.plus.com/AES/modes.vc8.19-06-06.zip\n\nThe original copyright (and GPL statement) of the original author,\nDr Brian Gladman, 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"
    },
    {
      "commit": "055bcee3102dc35f019b69df9c2618e9d6dd1c09",
      "tree": "3f7c68abbbb5041d570e4cb8588f3943530bc0b7",
      "parents": [
        "7226bc877a22244e8003924031435a4bffd52654"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Aug 19 22:24:23 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:46:17 2006 +1000"
      },
      "message": "[CRYPTO] digest: Added user API for new hash type\n\nThe existing digest user interface is inadequate for support asynchronous\noperations.  For one it doesn\u0027t return a value to indicate success or\nfailure, nor does it take a per-operation descriptor which is essential\nfor the issuing of requests while other requests are still outstanding.\n\nThis patch is the first in a series of steps to remodel the interface\nfor asynchronous operations.\n\nFor the ease of transition the new interface will be known as \"hash\"\nwhile the old one will remain as \"digest\".\n\nThis patch also changes sg_next to allow chaining.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "db131ef9084110d9e82549c0a627e157e8bb99d7",
      "tree": "65330d3557a7dda47fa48876b7ea9cac1461301d",
      "parents": [
        "5cde0af2a9825dd1edaca233bd9590566579ef21"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:44:08 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:44:08 2006 +1000"
      },
      "message": "[CRYPTO] cipher: Added block ciphers for CBC/ECB\n\nThis patch adds two block cipher algorithms, CBC and ECB.  These\nare implemented as templates on top of existing single-block cipher\nalgorithms.  They invoke the single-block cipher through the new\nencrypt_one/decrypt_one interface.\n\nThis also optimises the in-place encryption and decryption to remove\nthe cost of an IV copy each round.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5cde0af2a9825dd1edaca233bd9590566579ef21",
      "tree": "e396297e3a2436d4a6ac77de63f95f2328c7a0fe",
      "parents": [
        "5c64097aa0f6dc4f27718ef47ca9a12538d62860"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Aug 22 00:07:53 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:41:52 2006 +1000"
      },
      "message": "[CRYPTO] cipher: Added block cipher type\n\nThis patch adds the new type of block ciphers.  Unlike current cipher\nalgorithms which operate on a single block at a time, block ciphers\noperate on an arbitrarily long linear area of data.  As it is block-based,\nit will skip any data remaining at the end which cannot form a block.\n\nThe block cipher has one major difference when compared to the existing\nblock cipher implementation.  The sg walking is now performed by the\nalgorithm rather than the cipher mid-layer.  This is needed for drivers\nthat directly support sg lists.  It also improves performance for all\nalgorithms as it reduces the total number of indirect calls by one.\n\nIn future the existing cipher algorithm will be converted to only have\na single-block interface.  This will be done after all existing users\nhave switched over to the new block cipher type.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5c64097aa0f6dc4f27718ef47ca9a12538d62860",
      "tree": "d8c0cd3358464f589c9f2778b7be348f73db6950",
      "parents": [
        "f28776a369b12f9a03a822a8e1090ed670a41f4f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Aug 12 21:56:17 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:41:52 2006 +1000"
      },
      "message": "[CRYPTO] scatterwalk: Prepare for block ciphers\n\nThis patch prepares the scatterwalk code for use by the new block cipher\ntype.\n\nFirstly it halves the size of scatter_walk on 32-bit platforms.  This\nis important as we allocate at least two of these objects on the stack\nfor each block cipher operation.\n\nIt also exports the symbols since the block cipher code can be built as\na module.\n\nFinally there is a hack in scatterwalk_unmap that relies on progress\nbeing made.  Unfortunately, for hardware crypto we can\u0027t guarantee\nprogress to be made since the hardware can fail.\n\nSo this also gets rid of the hack by not advancing the address returned\nby scatterwalk_map.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "f28776a369b12f9a03a822a8e1090ed670a41f4f",
      "tree": "b1eb08db2d7ad5c83a4b2784aea3af0502d127b3",
      "parents": [
        "e853c3cfa8cc24869ecd2526e589bcb176bc12e9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 13 20:58:18 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:41:51 2006 +1000"
      },
      "message": "[CRYPTO] cipher: Added encrypt_one/decrypt_one\n\nThis patch adds two new operations for the simple cipher that encrypts or\ndecrypts a single block at a time.  This will be the main interface after\nthe existing block operations have moved over to the new block ciphers.\n\nIt also adds the crypto_cipher type which is currently only used on the\nnew operations but will be extended to setkey as well once existing users\nhave been converted to use block ciphers where applicable.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e853c3cfa8cc24869ecd2526e589bcb176bc12e9",
      "tree": "24ad223420bdea868e891676ebb7285e3c477a05",
      "parents": [
        "8f21cf0d2bae04ece761595036c9da8328b279aa"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Aug 22 00:06:54 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:41:51 2006 +1000"
      },
      "message": "[CRYPTO] api: Added crypto_type support\n\nThis patch adds the crypto_type structure which will be used for all new\ncrypto algorithm types, beginning with block ciphers.\n\nThe primary purpose of this abstraction is to allow different crypto_type\nobjects for crypto algorithms of the same type, in particular, there will\nbe a different crypto_type objects for asynchronous algorithms.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7fed0bf271b374be4c98a5880faed4b1128e78e9",
      "tree": "29a1244ed286c500bf64afcef0c571e771ed0cd5",
      "parents": [
        "df89820ebd5bbf4f3c6b5f8ee7d9e983107f6a91"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 06 23:10:45 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:41:04 2006 +1000"
      },
      "message": "[CRYPTO] api: Add common instance initialisation code\n\nThis patch adds the helpers crypto_get_attr_alg and crypto_alloc_instance\nwhich can be used by simple one-argument templates like hmac to process\ninput parameters and allocate instances.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "560c06ae1ab7c677002ea3b6ac83521bf12ee07d",
      "tree": "374ed69a7e23ba9d07458d20672aac6ae552ae51",
      "parents": [
        "25cdbcd9e5d20e431f829cafce48a418830011f4"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 13 14:16:39 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:41:02 2006 +1000"
      },
      "message": "[CRYPTO] api: Get rid of flags argument to setkey\n\nNow that the tfm is passed directly to setkey instead of the ctx, we no\nlonger need to pass the \u0026tfm-\u003ecrt_flags pointer.\n\nThis patch also gets rid of a few unnecessary checks on the key length\nfor ciphers as the cipher layer guarantees that the key length is within\nthe bounds specified by the algorithm.\n\nRather than testing dia_setkey every time, this patch does it only once\nduring crypto_alloc_tfm.  The redundant check from crypto_digest_setkey\nis also removed.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "6bfd48096ff8ecabf955958b51ddfa7988eb0a14",
      "tree": "813799f00d8402348ba6817953b1c631541be66c",
      "parents": [
        "492e2b63eb10c28f4f0b694264d74a8755cd1be0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:39:29 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:39:29 2006 +1000"
      },
      "message": "[CRYPTO] api: Added spawns\n\nSpawns lock a specific crypto algorithm in place.  They can then be used\nwith crypto_spawn_tfm to allocate a tfm for that algorithm.  When the base\nalgorithm of a spawn is deregistered, all its spawns will be automatically\nremoved.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4cc7720cd165273b08a72b4193146dffee58e34b",
      "tree": "19c49af8a8195624ae101f665a05efc086c7f53b",
      "parents": [
        "cce9e06d100df19a327b19f23adad76e7bf63edd"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 06 21:16:34 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:17:12 2006 +1000"
      },
      "message": "[CRYPTO] api: Add template registration\n\nA crypto_template generates a crypto_alg object when given a set of\nparameters.  this patch adds the basic data structure fo templates\nand code to handle their registration/deregistration.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cce9e06d100df19a327b19f23adad76e7bf63edd",
      "tree": "ce10f50679db9ed8db92912c104eef1f05efc3c5",
      "parents": [
        "9409f38a0c8773c04bff8dda8c552d7ea013d956"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Aug 21 21:08:13 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:16:30 2006 +1000"
      },
      "message": "[CRYPTO] api: Split out low-level API\n\nThe crypto API is made up of the part facing users such as IPsec and the\nlow-level part which is used by cryptographic entities such as algorithms.\nThis patch splits out the latter so that the two APIs are more clearly\ndelineated.  As a bonus the low-level API can now be modularised if all\nalgorithms are built as modules.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "2729bb427f686e47970406d6bde6b11892885f29",
      "tree": "6c17bab6970fc4bcc92c0de76d174e35d8043844",
      "parents": [
        "799111020c66c41aef621a3b53ad112543754124"
      ],
      "author": {
        "name": "Joachim Fritschi",
        "email": "jfritschi@freenet.de",
        "time": "Tue Jun 20 20:37:23 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:16:27 2006 +1000"
      },
      "message": "[CRYPTO] twofish: Split out common c code\n\nThis patch splits up the twofish crypto routine into a common part ( key\nsetup  ) which will be uses by all twofish crypto modules ( generic-c , i586\nassembler and x86_64 assembler ) and generic-c part. It also creates a new\nheader file which will be used by all 3 modules.\n\nThis eliminates all code duplication.\n\nCorrectness was verified with the tcrypt module and automated test scripts.\n\nSigned-off-by: Joachim Fritschi \u003cjfritschi@freenet.de\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    }
  ]
}
