)]}'
{
  "log": [
    {
      "commit": "43518407d57f1b685f5a9f1a981734ce66a21f76",
      "tree": "12186aa4d2ebb6b3c5ac583aa871a7a498340f16",
      "parents": [
        "9765d262b8230b735c4b2815b041c09a00833cf1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 16 21:28:58 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 16 21:28:58 2006 +1000"
      },
      "message": "[CRYPTO] api: Select cryptomgr where needed\n\nSince cryptomgr is the only way to construct algorithm instances\nfor now it makes sense to let the templates depend on it as\notherwise it may be left off inadvertently.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "8425165dfed27945e8509c141cea245d1739e372",
      "tree": "c2a05344993a52bb317bb320a97d0566f3d277bf",
      "parents": [
        "878b9014666217555d16073764f30e825cf18d2f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 20 15:25:22 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:46:20 2006 +1000"
      },
      "message": "[CRYPTO] digest: Remove old HMAC implementation\n\nThis patch removes the old HMAC implementation now that nobody uses it\nanymore.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0796ae061e6da5de7cfc1af57dfd42a73908b1bf",
      "tree": "83832b65f93f2979483640d994d72f8b37860701",
      "parents": [
        "055bcee3102dc35f019b69df9c2618e9d6dd1c09"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Aug 21 20:50:52 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:46:17 2006 +1000"
      },
      "message": "[CRYPTO] hmac: Add crypto template implementation\n\nThis patch rewrites HMAC as a crypto template.  This means that HMAC is no\nlonger a hard-coded part of the API.  It\u0027s now a template that generates\nstandard digest algorithms like any other.\n\nThe old HMAC is preserved until all current users are converted.\n\nThe same structure can be used by other MACs such as AES-XCBC-MAC.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "a9e62fadf0b02ba4a1d945d1a75652507da94319",
      "tree": "8e17290e66a3b0200d1a55b1798c81c9bb83e19d",
      "parents": [
        "28ce728a90cce3a0c6c0ed00354299de52db94b1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Aug 21 21:39:24 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:44:50 2006 +1000"
      },
      "message": "[CRYPTO] s390: Added block cipher versions of CBC/ECB\n\nThis patch adds block cipher algorithms for S390.  Once all users of the\nold cipher type have been converted the existing CBC/ECB non-block cipher\noperations will be removed.\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": "2b8c19dbdc692e81243a328725a02efb77b144a5",
      "tree": "f9256d5515cc315d54971f62e0e9812d5db572ba",
      "parents": [
        "2825982d9d66ebba4b532a07391dfbb357f71c5f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:31:44 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:31:44 2006 +1000"
      },
      "message": "[CRYPTO] api: Add cryptomgr\n\nThe cryptomgr module is a simple manager of crypto algorithm instances.\nIt ensures that parameterised algorithms of the type tmpl(alg) (e.g.,\ncbc(aes)) are always created.\n\nThis is meant to satisfy the needs for most users.  For more complex\ncases such as deeper combinations or multiple parameters, a netlink\nmodule will be created which allows arbitrary expressions to be parsed\nin user-space.\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": "eaf44088ff467410dd15a033fef118888002ffe6",
      "tree": "72b225b910342ae74e1b0915ceff61b4ead97883",
      "parents": [
        "b9f535ffe38f7eb61ac2219d32d97c377b69f70d"
      ],
      "author": {
        "name": "Joachim Fritschi",
        "email": "jfritschi@freenet.de",
        "time": "Tue Jun 20 21:12:02 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:16:29 2006 +1000"
      },
      "message": "[CRYPTO] twofish: x86-64 assembly version\n\nThe patch passed the trycpt tests and automated filesystem tests.\nThis rewrite resulted in some nice perfomance increase over my last patch.\n\nShort summary of the tcrypt benchmarks:\n\nTwofish Assembler vs. Twofish C (256bit 8kb block CBC)\nencrypt: -27% Cycles\ndecrypt: -23% Cycles\n\nTwofish Assembler vs. AES Assembler (128bit 8kb block CBC)\nencrypt: +18%  Cycles\ndecrypt: +15% Cycles\n\nTwofish Assembler vs. AES Assembler (256bit 8kb block CBC)\nencrypt: -9% Cycles\ndecrypt: -8% Cycles\n\nFull Output:\nhttp://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-c-x86_64.txt\nhttp://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-asm-x86_64.txt\nhttp://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-aes-asm-x86_64.txt\n\n\nHere is another bonnie++ benchmark with encrypted filesystems. Most runs maxed\nout the hd. It should give some idea what the module can do for encrypted filesystem\nperformance even though you can\u0027t see the full numbers.\n\nhttp://homepages.tu-darmstadt.de/~fritschi/twofish/output_20060610_130806_x86_64.html\n\nSigned-off-by: Joachim Fritschi \u003cjfritschi@freenet.de\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b9f535ffe38f7eb61ac2219d32d97c377b69f70d",
      "tree": "57e09481226ab5a25f3938963f8299c9f0cd8439",
      "parents": [
        "758f570ea785a5fbcdca026dfab2e9e1a3f89726"
      ],
      "author": {
        "name": "Joachim Fritschi",
        "email": "jfritschi@freenet.de",
        "time": "Tue Jun 20 20:59:16 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:16:28 2006 +1000"
      },
      "message": "[CRYPTO] twofish: i586 assembly version\n\nThe patch passed the trycpt tests and automated filesystem tests.\nThis rewrite resulted in some nice perfomance increase over my last patch.\n\nShort summary of the tcrypt benchmarks:\n\nTwofish Assembler vs. Twofish C (256bit 8kb block CBC)\nencrypt: -33% Cycles\ndecrypt: -45% Cycles\n\nTwofish Assembler vs. AES Assembler (128bit 8kb block CBC)\nencrypt: +3%  Cycles\ndecrypt: -22% Cycles\n\nTwofish Assembler vs. AES Assembler (256bit 8kb block CBC)\nencrypt: -20% Cycles\ndecrypt: -36% Cycles\n\nFull Output:\nhttp://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-asm-i586.txt\nhttp://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-c-i586.txt\nhttp://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-aes-asm-i586.txt\n\n\nHere is another bonnie++ benchmark with encrypted filesystems. All runs with\nthe twofish assembler modules max out the drivespeed. It should give some\nidea what the module can do for encrypted filesystem performance even though\nyou can\u0027t see the full numbers.\n\nhttp://homepages.tu-darmstadt.de/~fritschi/twofish/output_20060611_205432_x86.html\n\nSigned-off-by: Joachim Fritschi \u003cjfritschi@freenet.de\u003e\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"
    },
    {
      "commit": "b9d0a25a484a90c1d60b974d115eff2fe580ce16",
      "tree": "b76924924662ab1867b53001ea4a0db4a87b57ce",
      "parents": [
        "e90b1a2be6010acf01673b0625cfbf18240f7744"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jun 10 18:06:34 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 26 17:34:42 2006 +1000"
      },
      "message": "[CRYPTO] tcrypt: Forbid tcrypt from being built-in\n\nIt makes no sense to build tcrypt into the kernel.  In fact, now that\nthe driver init function\u0027s return status is being checked, it is in\nfact harmful to do so.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "c8a19c91b5b488fed8cce04200a84c6a35c0bf0c",
      "tree": "e0296c60f7601c5a1d1cf5fa9afd0e38f92e6995",
      "parents": [
        "5cb1454b862ab3040b78364d58330262fea1ddba"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Nov 05 18:06:26 2005 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jan 09 14:15:39 2006 -0800"
      },
      "message": "[CRYPTO] Allow AES C/ASM implementations to coexist\n\nAs the Crypto API now allows multiple implementations to be registered\nfor the same algorithm, we no longer have to play tricks with Kconfig\nto select the right AES implementation.\n\nThis patch sets the driver name and priority for all the AES\nimplementations and removes the Kconfig conditions on the C implementation\nfor AES.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "347a8dc3b815f0c0fa62a1df075184ffe4cbdcf1",
      "tree": "a6ec76690127e87fe6efa42b6238caadd6c07e7b",
      "parents": [
        "9bbc8346fb21fad3f678220b067450e436e45dbf"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Fri Jan 06 00:19:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:53 2006 -0800"
      },
      "message": "[PATCH] s390: cleanup Kconfig\n\nSanitize some s390 Kconfig options.  We have ARCH_S390, ARCH_S390X,\nARCH_S390_31, 64BIT, S390_SUPPORT and COMPAT.  Replace these 6 options by\nS390, 64BIT and COMPAT.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bf754ae8ef8bc443c067601d9401103e4001e7c5",
      "tree": "4241bc75205a638006f40f577e99430099bbe53e",
      "parents": [
        "0a497c17fee428604e06320272ff74415eacdc31"
      ],
      "author": {
        "name": "Jan Glauber",
        "email": "jan.glauber@de.ibm.com",
        "time": "Fri Jan 06 00:19:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:50 2006 -0800"
      },
      "message": "[PATCH] s390: aes support\n\nAdd support for the hardware accelerated AES crypto algorithm.\n\nSigned-off-by: Jan Glauber \u003cjan.glauber@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0a497c17fee428604e06320272ff74415eacdc31",
      "tree": "b7ebb455fc908489a783a32f6171a3c36ccdcc4f",
      "parents": [
        "c1e26e1ef7ab50f30e5fbf004fe96ed44321ca78"
      ],
      "author": {
        "name": "Jan Glauber",
        "email": "jan.glauber@de.ibm.com",
        "time": "Fri Jan 06 00:19:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:50 2006 -0800"
      },
      "message": "[PATCH] s390: sha256 support\n\nAdd support for the hardware accelerated sha256 crypto algorithm.\n\nSigned-off-by: Jan Glauber \u003cjan.glauber@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c1e26e1ef7ab50f30e5fbf004fe96ed44321ca78",
      "tree": "d4319a9441da5b776637945f9413e702296f5ad3",
      "parents": [
        "d0f4c16febf258ba8c0f917ac3ba935fc5459566"
      ],
      "author": {
        "name": "Jan Glauber",
        "email": "jan.glauber@de.ibm.com",
        "time": "Fri Jan 06 00:19:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:50 2006 -0800"
      },
      "message": "[PATCH] s390: in-kernel crypto rename\n\nReplace all references to z990 by s390 in the in-kernel crypto files in\narch/s390/crypto.  The code is not specific to a particular machine (z990) but\nto the s390 platform.  Big diff, does nothing..\n\nSigned-off-by: Jan Glauber \u003cjan.glauber@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fb4f10ed50f01b0f953068456bfb6e2885921b01",
      "tree": "e9eb4112522d7969fdc4bbf6455b6d0d59426121",
      "parents": [
        "75c80c382fbd08acf06fbef9d54c9844e806a8b4"
      ],
      "author": {
        "name": "Aaron Grothe",
        "email": "ajgrothe@yahoo.com",
        "time": "Thu Sep 01 17:42:46 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 17:42:46 2005 -0700"
      },
      "message": "[CRYPTO]: Fix XTEA implementation\n\nThe XTEA implementation was incorrect due to a misinterpretation of\noperator precedence.  Because of the wide-spread nature of this\nerror, the erroneous implementation will be kept, albeit under the\nnew name of XETA.\n\nSigned-off-by: Aaron Grothe \u003cajgrothe@yahoo.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2a892a236d03a6e985471a7e57d1c863de144c8",
      "tree": "33b52c87bdecf0f24936b952a565a445ce03c616",
      "parents": [
        "a61cc44812ff94793987bf43b70a3d9bc64a6820"
      ],
      "author": {
        "name": "Andreas Steinmetz",
        "email": "ast@domdv.de",
        "time": "Wed Jul 06 13:55:00 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 06 13:55:00 2005 -0700"
      },
      "message": "[CRYPTO] Add x86_64 asm AES\n\nImplementation:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThe encrypt/decrypt code is based on an x86 implementation I did a while\nago which I never published. This unpublished implementation does\ninclude an assembler based key schedule and precomputed tables. For\nsimplicity and best acceptance, however, I took Gladman\u0027s in-kernel code\nfor table generation and key schedule for the kernel port of my\nassembler code and modified this code to produce the key schedule as\nrequired by my assembler implementation. File locations and Kconfig are\nkept similar to the i586 AES assembler implementation.\nIt may seem a little bit strange to use 32 bit I/O and registers in the\nassembler implementation but this gives the best code size. My\nimplementation takes one instruction more per round compared to\nGladman\u0027s x86 assembler but it doesn\u0027t require any stack for local\nvariables or saved registers and it is less serialized than Gladman\u0027s\ncode.\nNote that all comparisons to Gladman\u0027s code were done after my code was\nimplemented. I did only use FIPS PUB 197 for the implementation so my\nimplementation is independent work.\nIf anybody has a better assembler solution for x86_64 I\u0027ll be pleased to\nhave my code replaced with the better solution.\n\nTesting:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThe implementation passes the in-kernel crypto testing module and I\u0027m\nrunning it without any problems on my laptop where it is mainly used for\ndm-crypt.\n\nMicrobenchmark:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThe microbenchmark was done in userspace with similar compile flags as\nused during kernel compile.\nEncrypt/decrypt is about 35% faster than the generic C implementation.\nAs the generic C as well as my assembler implementation are both table\nI don\u0027t really expect that there is much room for further\nimprovements though I\u0027ll be glad to be corrected here.\nThe key schedule is about 5% slower than the generic C implementation.\nThis is due to the fact that some more work has to be done in the key\nschedule routine to fit the schedule to the assembler implementation.\n\nCode Size:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nEncrypt and decrypt are together about 2.1 Kbytes smaller than the\ngeneric C implementation which is important with regard to L1 cache\nusage. The key schedule routine is about 100 bytes larger than the\ngeneric C implementation.\n\nData Size:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThere\u0027s no difference in data size requirements between the assembler\nimplementation and the generic C implementation.\n\nLicense:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nGladmans\u0027s code is dual BSD/GPL whereas my assembler code is GPLv2 only\n(I\u0027m  not going to change the license for my code). So I had to change\nthe module license for the x86_64 aes module from \u0027Dual BSD/GPL\u0027 to\n\u0027GPL\u0027 to reflect the most restrictive license within the module.\n\nSigned-off-by: Andreas Steinmetz \u003cast@domdv.de\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c45166be3cc666ce88fe623ad79276c943e74eff",
      "tree": "db59fdfb6834c112c99a5ab8692fe8372d7961ba",
      "parents": [
        "b05d85a87d9711f5f5f2eb05c79038d5d5ff1f44"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sun May 01 08:58:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:54 2005 -0700"
      },
      "message": "[PATCH] uml: support AES i586 crypto driver\n\nWe want to make possible, for the user, to enable the i586 AES implementation.\nThis requires a restructure.\n\n- Add a CONFIG_UML_X86 to notify that we are building a UML for i386.\n\n- Rename CONFIG_64_BIT to CONFIG_64BIT as is used for all other archs\n\n- Tell crypto/Kconfig that UML_X86 is as good as X86\n\n- Tell it that it must exclude not X86_64 but 64BIT, which will give the\n  same results.\n\n- Tell kbuild to descend down into arch/i386/crypto/ to build what\u0027s needed.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
