1. 03 6月, 2015 1 次提交
  2. 28 5月, 2015 1 次提交
  3. 25 5月, 2015 1 次提交
  4. 22 5月, 2015 4 次提交
    • H
      crypto: seqiv - Add support for new AEAD interface · 856e3f40
      Herbert Xu 提交于
      This patch converts the seqiv IV generator to work with the new
      AEAD interface where IV generators are just normal AEAD algorithms.
      
      Full backwards compatibility is paramount at this point since
      no users have yet switched over to the new interface.  Nor can
      they switch to the new interface until IV generation is fully
      supported by it.
      
      So this means we are adding two versions of seqiv alongside the
      existing one.  The first one is the one that will be used when
      the underlying AEAD algorithm has switched over to the new AEAD
      interface.  The second one handles the current case where the
      underlying AEAD algorithm still uses the old interface.
      
      Both versions export themselves through the new AEAD interface.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      856e3f40
    • H
      crypto: aead - Add support for new AEAD implementations · 63293c61
      Herbert Xu 提交于
      This patch adds the basic structure of the new AEAD type.  Unlike
      the current version, there is no longer any concept of geniv.  IV
      generation will still be carried out by wrappers but they will be
      normal AEAD algorithms that simply take the IPsec sequence number
      as the IV.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      63293c61
    • H
      crypto: aead - Add crypto_aead_maxauthsize · f5695259
      Herbert Xu 提交于
      This patch adds the helper crypto_aead_maxauthsize to remove the
      need to directly dereference aead_alg internals by AEAD implementors.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      f5695259
    • H
      crypto: aead - Rename aead_alg to old_aead_alg · 2d0f230f
      Herbert Xu 提交于
      This patch is the first step in the introduction of a new AEAD
      alg type.  Unlike normal conversions this patch only renames the
      existing aead_alg structure because there are external references
      to it.
      
      Those references will be removed after this patch.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      2d0f230f
  5. 13 5月, 2015 2 次提交
  6. 22 4月, 2015 4 次提交
  7. 25 8月, 2014 1 次提交
    • T
      crypto: sha-mb - multibuffer crypto infrastructure · 1e65b81a
      Tim Chen 提交于
      This patch introduces the multi-buffer crypto daemon which is responsible
      for submitting crypto jobs in a work queue to the responsible multi-buffer
      crypto algorithm.  The idea of the multi-buffer algorihtm is to put
      data streams from multiple jobs in a wide (AVX2) register and then
      take advantage of SIMD instructions to do crypto computation on several
      buffers simultaneously.
      
      The multi-buffer crypto daemon is also responsbile for flushing the
      remaining buffers to complete the computation if no new buffers arrive
      for a while.
      Signed-off-by: NTim Chen <tim.c.chen@linux.intel.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      1e65b81a
  8. 20 6月, 2014 1 次提交
  9. 21 5月, 2014 1 次提交
    • H
      crypto: hash - Add real ahash walk interface · 75ecb231
      Herbert Xu 提交于
      Although the existing hash walk interface has already been used
      by a number of ahash crypto drivers, it turns out that none of
      them were really asynchronous.  They were all essentially polling
      for completion.
      
      That's why nobody has noticed until now that the walk interface
      couldn't work with a real asynchronous driver since the memory
      is mapped using kmap_atomic.
      
      As we now have a use-case for a real ahash implementation on x86,
      this patch creates a minimal ahash walk interface.  Basically it
      just calls kmap instead of kmap_atomic and does away with the
      crypto_yield call.  Real ahash crypto drivers don't need to yield
      since by definition they won't be hogging the CPU.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      75ecb231
  10. 01 8月, 2012 1 次提交
  11. 29 3月, 2012 1 次提交
  12. 29 8月, 2009 1 次提交
  13. 15 7月, 2009 1 次提交
  14. 14 7月, 2009 8 次提交
  15. 09 7月, 2009 1 次提交
  16. 08 7月, 2009 6 次提交
  17. 04 3月, 2009 1 次提交
    • G
      crypto: compress - Add pcomp interface · a1d2f095
      Geert Uytterhoeven 提交于
      The current "comp" crypto interface supports one-shot (de)compression only,
      i.e. the whole data buffer to be (de)compressed must be passed at once, and
      the whole (de)compressed data buffer will be received at once.
      In several use-cases (e.g. compressed file systems that store files in big
      compressed blocks), this workflow is not suitable.
      Furthermore, the "comp" type doesn't provide for the configuration of
      (de)compression parameters, and always allocates workspace memory for both
      compression and decompression, which may waste memory.
      
      To solve this, add a "pcomp" partial (de)compression interface that provides
      the following operations:
        - crypto_compress_{init,update,final}() for compression,
        - crypto_decompress_{init,update,final}() for decompression,
        - crypto_{,de}compress_setup(), to configure (de)compression parameters
          (incl. allocating workspace memory).
      
      The (de)compression methods take a struct comp_request, which was mimicked
      after the z_stream object in zlib, and contains buffer pointer and length
      pairs for input and output.
      
      The setup methods take an opaque parameter pointer and length pair. Parameters
      are supposed to be encoded using netlink attributes, whose meanings depend on
      the actual (name of the) (de)compression algorithm.
      Signed-off-by: NGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      a1d2f095
  18. 25 12月, 2008 3 次提交
    • H
      crypto: hash - Export shash through hash · 5f7082ed
      Herbert Xu 提交于
      This patch allows shash algorithms to be used through the old hash
      interface.  This is a transitional measure so we can convert the
      underlying algorithms to shash before converting the users across.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      5f7082ed
    • H
      crypto: hash - Add import/export interface · dec8b786
      Herbert Xu 提交于
      It is often useful to save the partial state of a hash function
      so that it can be used as a base for two or more computations.
      
      The most prominent example is HMAC where all hashes start from
      a base determined by the key.  Having an import/export interface
      means that we only have to compute that base once rather than
      for each message.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      dec8b786
    • H
      crypto: hash - Add shash interface · 7b5a080b
      Herbert Xu 提交于
      The shash interface replaces the current synchronous hash interface.
      It improves over hash in two ways.  Firstly shash is reentrant,
      meaning that the same tfm may be used by two threads simultaneously
      as all hashing state is stored in a local descriptor.
      
      The other enhancement is that shash no longer takes scatter list
      entries.  This is because shash is specifically designed for
      synchronous algorithms and as such scatter lists are unnecessary.
      
      All existing hash users will be converted to shash once the
      algorithms have been completely converted.
      
      There is also a new finup function that combines update with final.
      This will be extended to ahash once the algorithm conversion is
      done.
      
      This is also the first time that an algorithm type has their own
      registration function.  Existing algorithm types will be converted
      to this way in due course.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      7b5a080b
  19. 29 8月, 2008 1 次提交